public class Ideal<C extends GcdRingElem<C>> extends java.lang.Object implements java.lang.Comparable<Ideal<C>>, java.io.Serializable
Modifier and Type | Field and Description |
---|---|
protected GroebnerBaseAbstract<C> |
bb
Groebner base engine.
|
protected SquarefreeAbstract<C> |
engine
Squarefree decomposition engine.
|
protected boolean |
isGB
Indicator if list is a Groebner Base.
|
protected boolean |
isTopt
Indicator if list has optimized term order.
|
protected PolynomialList<C> |
list
The data structure is a PolynomialList.
|
protected Reduction<C> |
red
Reduction engine.
|
protected boolean |
testGB
Indicator if test has been performed if this is a Groebner Base.
|
Constructor and Description |
---|
Ideal(GenPolynomialRing<C> ring)
Constructor.
|
Ideal(GenPolynomialRing<C> ring,
java.util.List<GenPolynomial<C>> F)
Constructor.
|
Ideal(GenPolynomialRing<C> ring,
java.util.List<GenPolynomial<C>> F,
boolean gb)
Constructor.
|
Ideal(GenPolynomialRing<C> ring,
java.util.List<GenPolynomial<C>> F,
boolean gb,
boolean topt)
Constructor.
|
Ideal(PolynomialList<C> list)
Constructor.
|
Ideal(PolynomialList<C> list,
boolean gb)
Constructor.
|
Ideal(PolynomialList<C> list,
boolean gb,
boolean topt)
Constructor.
|
Ideal(PolynomialList<C> list,
boolean gb,
boolean topt,
GroebnerBaseAbstract<C> bb)
Constructor.
|
Ideal(PolynomialList<C> list,
boolean gb,
boolean topt,
GroebnerBaseAbstract<C> bb,
Reduction<C> red)
Constructor.
|
Ideal(PolynomialList<C> list,
boolean gb,
GroebnerBaseAbstract<C> bb)
Constructor.
|
Ideal(PolynomialList<C> list,
boolean gb,
GroebnerBaseAbstract<C> bb,
Reduction<C> red)
Constructor.
|
Ideal(PolynomialList<C> list,
GroebnerBaseAbstract<C> bb,
Reduction<C> red)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
int |
commonZeroTest()
Ideal common zero test.
|
int |
compareTo(Ideal<C> L)
Ideal list comparison.
|
java.util.List<GenPolynomial<C>> |
constructUnivariate()
Construct univariate polynomials of minimal degree in all variables in
zero dimensional ideal(G).
|
GenPolynomial<C> |
constructUnivariate(int i)
Construct univariate polynomial of minimal degree in variable i in zero
dimensional ideal(G).
|
boolean |
contains(GenPolynomial<C> b)
Ideal containment.
|
boolean |
contains(Ideal<C> B)
Ideal containment.
|
protected boolean |
contains(int[] v,
java.util.Set<java.lang.Integer> H)
Set containment. is v \subset H.
|
boolean |
contains(java.util.List<GenPolynomial<C>> B)
Ideal containment.
|
protected boolean |
containsHT(java.util.Set<java.lang.Integer> H,
java.util.List<GenPolynomial<C>> G)
Ideal head term containment test.
|
static <C extends GcdRingElem<C>> |
contraction(IdealWithUniv<Quotient<C>> eid)
Ideal contraction.
|
Ideal<C> |
copy()
Clone this.
|
java.util.List<IdealWithUniv<C>> |
decomposition()
Ideal irreducible decompostition.
|
Dimension |
dimension()
Ideal dimension.
|
protected java.util.Set<java.util.Set<java.lang.Integer>> |
dimension(java.util.Set<java.lang.Integer> S,
java.util.Set<java.lang.Integer> U,
java.util.Set<java.util.Set<java.lang.Integer>> M)
Ideal dimension.
|
void |
doGB()
Do Groebner Base. compute the Groebner Base for this ideal.
|
void |
doToptimize()
Optimize the term order.
|
Ideal<C> |
eliminate(GenPolynomialRing<C> R)
Eliminate.
|
Ideal<C> |
eliminate(java.lang.String... ename)
Eliminate.
|
boolean |
equals(java.lang.Object b)
Comparison with any other object.
|
IdealWithUniv<Quotient<C>> |
extension(GenPolynomialRing<C> efac)
Ideal extension.
|
IdealWithUniv<Quotient<C>> |
extension(QuotientRing<C> qfac)
Ideal extension.
|
IdealWithUniv<Quotient<C>> |
extension(java.lang.String... vars)
Ideal extension.
|
Ideal<C> |
GB()
Groebner Base.
|
java.util.List<GenPolynomial<C>> |
getList()
Get the List of GenPolynomials.
|
Ideal<C> |
getONE()
Get the one ideal.
|
GenPolynomialRing<C> |
getRing()
Get the GenPolynomialRing.
|
Ideal<C> |
getZERO()
Get the zero ideal.
|
int |
hashCode()
Hash code for this ideal.
|
Ideal<C> |
infiniteQuotient(GenPolynomial<C> h)
Infinite quotient.
|
Ideal<C> |
infiniteQuotient(Ideal<C> H)
Infinite Quotient.
|
int |
infiniteQuotientExponent(GenPolynomial<C> h,
Ideal<C> Q)
Infinite quotient exponent.
|
Ideal<C> |
infiniteQuotientOld(GenPolynomial<C> h)
Infinite quotient.
|
Ideal<C> |
infiniteQuotientRab(GenPolynomial<C> h)
Infinite quotient.
|
Ideal<C> |
infiniteQuotientRab(Ideal<C> H)
Infinite Quotient.
|
Ideal<C> |
intersect(GenPolynomialRing<C> R)
Intersection.
|
Ideal<C> |
intersect(Ideal<C> B)
Intersection.
|
Ideal<C> |
intersect(java.util.List<Ideal<C>> Bl)
Intersection.
|
GenPolynomial<C> |
inverse(GenPolynomial<C> h)
Inverse for element modulo this ideal.
|
boolean |
isDecomposition(java.util.List<IdealWithUniv<C>> L)
Test for ideal decompostition.
|
boolean |
isGB()
Test if this is a Groebner base.
|
boolean |
isMaximal()
Test if this ideal is maximal.
|
boolean |
isNormalPositionFor(int i,
int j)
Test if this ideal is in normal position for variables i and j.
|
boolean |
isONE()
Test if ONE is contained in the ideal.
|
boolean |
isPrimaryDecomposition(java.util.List<PrimaryComponent<C>> L)
Test for primary ideal decompostition.
|
boolean |
isRadicalMember(GenPolynomial<C> h)
Radical membership test.
|
boolean |
isUnit(GenPolynomial<C> h)
Test if element is a unit modulo this ideal.
|
boolean |
isZERO()
Test if ZERO ideal.
|
boolean |
isZeroDimDecomposition(java.util.List<IdealWithUniv<C>> L)
Test for zero dimensional ideal decompostition.
|
boolean |
isZeroDimRadical()
Test for Zero dimensional radical.
|
GenPolynomial<C> |
normalform(GenPolynomial<C> h)
Normalform for element.
|
java.util.List<GenPolynomial<C>> |
normalform(java.util.List<GenPolynomial<C>> L)
Normalform for list of elements.
|
IdealWithUniv<C> |
normalPositionFor(int i,
int j,
java.util.List<GenPolynomial<C>> og)
Compute normal position for variables i and j.
|
int[] |
normalPositionIndex2Vars()
Normal position index, separate for polynomials with more than 2
variables.
|
int[] |
normalPositionIndexUnivars()
Normal position index, separate multiple univariate polynomials.
|
IdealWithUniv<C> |
permContraction(IdealWithUniv<Quotient<C>> eideal)
Ideal contraction and permutation.
|
static <C extends GcdRingElem<C>> |
permutation(GenPolynomialRing<C> oring,
IdealWithUniv<C> Cont)
Ideal permutation.
|
Ideal<C> |
power(int d)
Power.
|
java.util.List<PrimaryComponent<C>> |
primaryDecomposition()
Ideal primary decompostition.
|
Ideal<C> |
primaryIdeal(Ideal<C> P)
Zero dimensional ideal associated primary ideal.
|
java.util.List<IdealWithUniv<C>> |
primeDecomposition()
Ideal prime decompostition.
|
Ideal<C> |
product(Ideal<C> B)
Product.
|
Ideal<C> |
quotient(GenPolynomial<C> h)
Quotient.
|
Ideal<C> |
quotient(Ideal<C> H)
Quotient.
|
Ideal<C> |
radical()
Ideal radical.
|
java.util.List<IdealWithUniv<C>> |
radicalDecomposition()
Ideal radical decompostition.
|
Ideal<C> |
squarefree()
Radical approximation.
|
Ideal<C> |
sum(GenPolynomial<C> b)
Summation.
|
Ideal<C> |
sum(Ideal<C> B)
Summation.
|
Ideal<C> |
sum(java.util.List<GenPolynomial<C>> L)
Summation.
|
java.lang.String |
toScript()
Get a scripting compatible string representation.
|
java.lang.String |
toString()
String representation of the ideal.
|
java.util.List<java.lang.Long> |
univariateDegrees()
Univariate head term degrees.
|
java.util.List<IdealWithUniv<C>> |
zeroDimDecomposition()
Zero dimensional ideal irreducible decompostition.
|
java.util.List<IdealWithUniv<C>> |
zeroDimDecompositionExtension(java.util.List<GenPolynomial<C>> upol,
java.util.List<GenPolynomial<C>> og)
Zero dimensional ideal irreducible decompostition extension.
|
java.util.List<IdealWithUniv<C>> |
zeroDimElimination(java.util.List<IdealWithUniv<C>> pdec)
Zero dimensional ideal elimination to original ring.
|
java.util.List<PrimaryComponent<C>> |
zeroDimPrimaryDecomposition()
Zero dimensional ideal primary decompostition.
|
java.util.List<PrimaryComponent<C>> |
zeroDimPrimaryDecomposition(java.util.List<IdealWithUniv<C>> pdec)
Zero dimensional ideal primary decompostition.
|
java.util.List<IdealWithUniv<C>> |
zeroDimPrimeDecomposition()
Zero dimensional ideal prime decompostition.
|
java.util.List<IdealWithUniv<C>> |
zeroDimPrimeDecompositionFE()
Zero dimensional ideal prime decompostition, with field extension.
|
java.util.List<IdealWithUniv<C>> |
zeroDimRadicalDecomposition()
Zero dimensional radical decompostition.
|
java.util.List<IdealWithUniv<C>> |
zeroDimRootDecomposition()
Zero dimensional ideal decompostition for real roots.
|
protected PolynomialList<C extends GcdRingElem<C>> list
protected boolean isGB
protected boolean testGB
protected boolean isTopt
protected final GroebnerBaseAbstract<C extends GcdRingElem<C>> bb
protected final Reduction<C extends GcdRingElem<C>> red
protected final SquarefreeAbstract<C extends GcdRingElem<C>> engine
public Ideal(GenPolynomialRing<C> ring)
ring
- polynomial ringpublic Ideal(GenPolynomialRing<C> ring, java.util.List<GenPolynomial<C>> F)
ring
- polynomial ringF
- list of polynomialspublic Ideal(GenPolynomialRing<C> ring, java.util.List<GenPolynomial<C>> F, boolean gb)
ring
- polynomial ringF
- list of polynomialsgb
- true if F is known to be a Groebner Base, else falsepublic Ideal(GenPolynomialRing<C> ring, java.util.List<GenPolynomial<C>> F, boolean gb, boolean topt)
ring
- polynomial ringF
- list of polynomialsgb
- true if F is known to be a Groebner Base, else falsetopt
- true if term order is optimized, else falsepublic Ideal(PolynomialList<C> list)
list
- polynomial listpublic Ideal(PolynomialList<C> list, GroebnerBaseAbstract<C> bb, Reduction<C> red)
list
- polynomial listbb
- Groebner Base enginered
- Reduction enginepublic Ideal(PolynomialList<C> list, boolean gb)
list
- polynomial listgb
- true if list is known to be a Groebner Base, else falsepublic Ideal(PolynomialList<C> list, boolean gb, boolean topt)
list
- polynomial listgb
- true if list is known to be a Groebner Base, else falsetopt
- true if term order is optimized, else falsepublic Ideal(PolynomialList<C> list, boolean gb, GroebnerBaseAbstract<C> bb, Reduction<C> red)
list
- polynomial listgb
- true if list is known to be a Groebner Base, else falsebb
- Groebner Base enginered
- Reduction enginepublic Ideal(PolynomialList<C> list, boolean gb, GroebnerBaseAbstract<C> bb)
list
- polynomial listgb
- true if list is known to be a Groebner Base, else falsebb
- Groebner Base enginepublic Ideal(PolynomialList<C> list, boolean gb, boolean topt, GroebnerBaseAbstract<C> bb)
list
- polynomial listgb
- true if list is known to be a Groebner Base, else falsetopt
- true if term order is optimized, else falsebb
- Groebner Base enginepublic Ideal(PolynomialList<C> list, boolean gb, boolean topt, GroebnerBaseAbstract<C> bb, Reduction<C> red)
list
- polynomial listgb
- true if list is known to be a Groebner Base, else falsetopt
- true if term order is optimized, else falsebb
- Groebner Base enginered
- Reduction enginepublic java.util.List<GenPolynomial<C>> getList()
public GenPolynomialRing<C> getRing()
public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
public java.lang.String toScript()
Element.toScript()
public boolean equals(java.lang.Object b)
equals
in class java.lang.Object
Object.equals(java.lang.Object)
public int compareTo(Ideal<C> L)
compareTo
in interface java.lang.Comparable<Ideal<C extends GcdRingElem<C>>>
L
- other Ideal.public int hashCode()
hashCode
in class java.lang.Object
Object.hashCode()
public boolean isZERO()
public boolean isONE()
! id.isONE()
.public void doToptimize()
public boolean isGB()
public void doGB()
public boolean contains(Ideal<C> B)
B
- idealpublic boolean contains(GenPolynomial<C> b)
b
- polynomialpublic boolean contains(java.util.List<GenPolynomial<C>> B)
B
- list of polynomialspublic Ideal<C> sum(Ideal<C> B)
B
- idealpublic Ideal<C> sum(GenPolynomial<C> b)
b
- polynomialpublic Ideal<C> sum(java.util.List<GenPolynomial<C>> L)
L
- list of polynomialspublic Ideal<C> product(Ideal<C> B)
B
- idealpublic Ideal<C> intersect(java.util.List<Ideal<C>> Bl)
Bl
- list of idealspublic Ideal<C> intersect(Ideal<C> B)
B
- idealpublic Ideal<C> intersect(GenPolynomialRing<C> R)
R
- polynomial ringpublic Ideal<C> eliminate(GenPolynomialRing<C> R)
R
- polynomial ringpublic Ideal<C> eliminate(java.lang.String... ename)
ename
- variables for the elimination ring.public Ideal<C> quotient(GenPolynomial<C> h)
h
- polynomialpublic Ideal<C> quotient(Ideal<C> H)
H
- idealpublic Ideal<C> infiniteQuotientRab(GenPolynomial<C> h)
h
- polynomialpublic int infiniteQuotientExponent(GenPolynomial<C> h, Ideal<C> Q)
h
- polynomialQ
- quotient this : h^\infinitypublic Ideal<C> infiniteQuotient(GenPolynomial<C> h)
h
- polynomialpublic boolean isRadicalMember(GenPolynomial<C> h)
h
- polynomialpublic Ideal<C> infiniteQuotientOld(GenPolynomial<C> h)
h
- polynomialpublic Ideal<C> infiniteQuotient(Ideal<C> H)
H
- idealpublic Ideal<C> infiniteQuotientRab(Ideal<C> H)
H
- idealpublic Ideal<C> power(int d)
d
- integerpublic GenPolynomial<C> normalform(GenPolynomial<C> h)
h
- polynomialpublic java.util.List<GenPolynomial<C>> normalform(java.util.List<GenPolynomial<C>> L)
L
- polynomial listpublic GenPolynomial<C> inverse(GenPolynomial<C> h)
h
- polynomialpublic boolean isUnit(GenPolynomial<C> h)
h
- polynomialpublic Ideal<C> squarefree()
public int commonZeroTest()
public boolean isMaximal()
public java.util.List<java.lang.Long> univariateDegrees()
public Dimension dimension()
protected java.util.Set<java.util.Set<java.lang.Integer>> dimension(java.util.Set<java.lang.Integer> S, java.util.Set<java.lang.Integer> U, java.util.Set<java.util.Set<java.lang.Integer>> M)
S
- is a set of independent variables.U
- is a set of variables of unknown status.M
- is a list of maximal sets of independent variables.protected boolean containsHT(java.util.Set<java.lang.Integer> H, java.util.List<GenPolynomial<C>> G)
G
- list of polynomials.H
- index set.protected boolean contains(int[] v, java.util.Set<java.lang.Integer> H)
v
- index array.H
- index set.public java.util.List<GenPolynomial<C>> constructUnivariate()
public GenPolynomial<C> constructUnivariate(int i)
i
- variable index.public java.util.List<IdealWithUniv<C>> zeroDimRadicalDecomposition()
public boolean isZeroDimRadical()
public java.util.List<IdealWithUniv<C>> zeroDimDecomposition()
public java.util.List<IdealWithUniv<C>> zeroDimDecompositionExtension(java.util.List<GenPolynomial<C>> upol, java.util.List<GenPolynomial<C>> og)
upol
- list of univariate polynomialsog
- list of other generators for the idealpublic boolean isZeroDimDecomposition(java.util.List<IdealWithUniv<C>> L)
L
- intersection of ideals G_i with ideal(G) subseteq cap_i(
ideal(G_i) ) and all minimal univariate polynomials of all G_i
are irreduciblepublic IdealWithUniv<C> normalPositionFor(int i, int j, java.util.List<GenPolynomial<C>> og)
i
- first variable indexj
- second variable indexog
- other generators for the idealpublic boolean isNormalPositionFor(int i, int j)
i
- first variable indexj
- second variable indexpublic int[] normalPositionIndex2Vars()
public int[] normalPositionIndexUnivars()
public java.util.List<IdealWithUniv<C>> zeroDimRootDecomposition()
public java.util.List<IdealWithUniv<C>> zeroDimPrimeDecomposition()
public java.util.List<IdealWithUniv<C>> zeroDimPrimeDecompositionFE()
public Ideal<C> primaryIdeal(Ideal<C> P)
P
- prime ideal associated to thispublic java.util.List<PrimaryComponent<C>> zeroDimPrimaryDecomposition()
public java.util.List<IdealWithUniv<C>> zeroDimElimination(java.util.List<IdealWithUniv<C>> pdec)
pdec
- list of prime ideals G_ipublic java.util.List<PrimaryComponent<C>> zeroDimPrimaryDecomposition(java.util.List<IdealWithUniv<C>> pdec)
pdec
- list of prime ideals G_i with no field extensionspublic boolean isPrimaryDecomposition(java.util.List<PrimaryComponent<C>> L)
L
- list of primary components G_ipublic IdealWithUniv<Quotient<C>> extension(java.lang.String... vars)
vars
- list of variables for a polynomial ring for extensionpublic IdealWithUniv<Quotient<C>> extension(GenPolynomialRing<C> efac)
efac
- polynomial ring for extensionpublic IdealWithUniv<Quotient<C>> extension(QuotientRing<C> qfac)
qfac
- quotient polynomial ring for extensionpublic IdealWithUniv<C> permContraction(IdealWithUniv<Quotient<C>> eideal)
eideal
- extension ideal of this.public static <C extends GcdRingElem<C>> IdealWithUniv<C> contraction(IdealWithUniv<Quotient<C>> eid)
eid
- extension ideal of this.public static <C extends GcdRingElem<C>> IdealWithUniv<C> permutation(GenPolynomialRing<C> oring, IdealWithUniv<C> Cont)
oring
- polynomial ring to which variables are back permuted.Cont
- ideal to be permutedpublic java.util.List<IdealWithUniv<C>> radicalDecomposition()
public java.util.List<IdealWithUniv<C>> decomposition()
public java.util.List<IdealWithUniv<C>> primeDecomposition()
public boolean isDecomposition(java.util.List<IdealWithUniv<C>> L)
L
- intersection of ideals G_i with ideal(G) eq cap_i(ideal(G_i) )public java.util.List<PrimaryComponent<C>> primaryDecomposition()