Package edu.jas.application
Class WordIdeal<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.application.WordIdeal<C>
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable<WordIdeal<C>>
public class WordIdeal<C extends GcdRingElem<C>> extends java.lang.Object implements java.lang.Comparable<WordIdeal<C>>, java.io.Serializable
Word Ideal implements some methods for ideal arithmetic, for example containment, sum or product. Note: only two-sided ideals.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected WordGroebnerBaseAbstract<C>bbGroebner base engine.protected booleanisGBIndicator if list is a Groebner Base.protected java.util.List<GenWordPolynomial<C>>listThe data structure is a list of word polynomials.protected WordReduction<C>redReduction engine.protected GenWordPolynomialRing<C>ringReference to the word polynomial ring.protected booleantestGBIndicator if test has been performed if this is a Groebner Base.
-
Constructor Summary
Constructors Constructor Description WordIdeal(GenWordPolynomialRing<C> ring)Constructor.WordIdeal(GenWordPolynomialRing<C> ring, java.util.List<GenWordPolynomial<C>> list)Constructor.WordIdeal(GenWordPolynomialRing<C> ring, java.util.List<GenWordPolynomial<C>> list, boolean gb)Constructor.WordIdeal(GenWordPolynomialRing<C> ring, java.util.List<GenWordPolynomial<C>> list, boolean gb, WordGroebnerBaseAbstract<C> bb)Constructor.WordIdeal(GenWordPolynomialRing<C> ring, java.util.List<GenWordPolynomial<C>> list, boolean gb, WordGroebnerBaseAbstract<C> bb, WordReduction<C> red)Constructor.WordIdeal(GenWordPolynomialRing<C> ring, java.util.List<GenWordPolynomial<C>> list, WordGroebnerBaseAbstract<C> bb, WordReduction<C> red)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcommonZeroTest()Ideal common zero test.intcompareTo(WordIdeal<C> L)WordIdeal comparison.booleancontains(WordIdeal<C> B)Word ideal containment.booleancontains(GenWordPolynomial<C> b)Word ideal containment.booleancontains(java.util.List<GenWordPolynomial<C>> B)Word ideal containment.WordIdeal<C>copy()Clone this.voiddoGB()Do Groebner Base.WordIdeal<C>eliminate(GenWordPolynomialRing<C> R)booleanequals(java.lang.Object b)Comparison with any other object.WordIdeal<C>GB()Groebner Base.java.util.List<GenWordPolynomial<C>>getList()Get the List of GenWordPolynomials.WordIdeal<C>getONE()Get the one ideal.GenWordPolynomialRing<C>getRing()Get the GenWordPolynomialRing.WordIdeal<C>getZERO()Get the zero ideal.inthashCode()Hash code for this word ideal.WordIdeal<C>intersect(WordIdeal<C> B)WordIdeal<C>intersect(GenWordPolynomialRing<C> R)WordIdeal<C>intersect(java.util.List<WordIdeal<C>> Bl)GenWordPolynomial<C>inverse(GenWordPolynomial<C> h)Inverse for element modulo this ideal.booleanisGB()Test if this is a twosided Groebner base.booleanisMaximal()Test if this ideal is maximal.booleanisONE()Test if ONE is contained in the ideal.booleanisUnit(GenWordPolynomial<C> h)Test if element is a unit modulo this ideal.booleanisZERO()Test if ZERO ideal.GenWordPolynomial<C>normalform(GenWordPolynomial<C> h)Normalform for element.java.util.List<GenWordPolynomial<C>>normalform(java.util.List<GenWordPolynomial<C>> L)Normalform for list of word elements.WordIdeal<C>power(int d)Power.WordIdeal<C>product(WordIdeal<C> B)Product.WordIdeal<C>product(GenWordPolynomial<C> b)Left product.WordIdeal<C>sum(WordIdeal<C> B)Word ideal summation.WordIdeal<C>sum(GenWordPolynomial<C> b)Word summation.WordIdeal<C>sum(java.util.List<GenWordPolynomial<C>> L)Word summation.java.lang.StringtoScript()Get a scripting compatible string representation.java.lang.StringtoString()String representation of the word ideal.java.util.List<java.lang.Long>univariateDegrees()Univariate head term degrees.
-
-
-
Field Detail
-
list
protected java.util.List<GenWordPolynomial<C extends GcdRingElem<C>>> list
The data structure is a list of word polynomials.
-
ring
protected GenWordPolynomialRing<C extends GcdRingElem<C>> ring
Reference to the word polynomial ring.
-
isGB
protected boolean isGB
Indicator if list is a Groebner Base.
-
testGB
protected boolean testGB
Indicator if test has been performed if this is a Groebner Base.
-
bb
protected final WordGroebnerBaseAbstract<C extends GcdRingElem<C>> bb
Groebner base engine.
-
red
protected final WordReduction<C extends GcdRingElem<C>> red
Reduction engine.
-
-
Constructor Detail
-
WordIdeal
public WordIdeal(GenWordPolynomialRing<C> ring)
Constructor.- Parameters:
ring- word polynomial ring
-
WordIdeal
public WordIdeal(GenWordPolynomialRing<C> ring, java.util.List<GenWordPolynomial<C>> list)
Constructor.- Parameters:
ring- word polynomial ringlist- word polynomial list
-
WordIdeal
public WordIdeal(GenWordPolynomialRing<C> ring, java.util.List<GenWordPolynomial<C>> list, WordGroebnerBaseAbstract<C> bb, WordReduction<C> red)
Constructor.- Parameters:
ring- word polynomial ringlist- word polynomial listbb- Groebner Base enginered- Reduction engine
-
WordIdeal
public WordIdeal(GenWordPolynomialRing<C> ring, java.util.List<GenWordPolynomial<C>> list, boolean gb)
Constructor.- Parameters:
ring- word polynomial ringlist- word polynomial listgb- true if list is known to be a Groebner Base, else false
-
WordIdeal
public WordIdeal(GenWordPolynomialRing<C> ring, java.util.List<GenWordPolynomial<C>> list, boolean gb, WordGroebnerBaseAbstract<C> bb)
Constructor.- Parameters:
ring- word polynomial ringlist- word polynomial listgb- true if list is known to be a Groebner Base, else falsebb- Groebner Base engine
-
WordIdeal
public WordIdeal(GenWordPolynomialRing<C> ring, java.util.List<GenWordPolynomial<C>> list, boolean gb, WordGroebnerBaseAbstract<C> bb, WordReduction<C> red)
Constructor.- Parameters:
ring- word polynomial ringlist- word polynomial listgb- true if list is known to be a Groebner Base, else falsebb- Groebner Base enginered- Reduction engine
-
-
Method Detail
-
getList
public java.util.List<GenWordPolynomial<C>> getList()
Get the List of GenWordPolynomials.- Returns:
- (cast) list.list
-
getRing
public GenWordPolynomialRing<C> getRing()
Get the GenWordPolynomialRing.- Returns:
- (cast) list.ring
-
toString
public java.lang.String toString()
String representation of the word ideal.- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
toScript
public java.lang.String toScript()
Get a scripting compatible string representation.- Returns:
- script compatible representation for this Element.
- See Also:
Element.toScript()
-
equals
public boolean equals(java.lang.Object b)
Comparison with any other object. Note: If not both ideals are Groebner Bases, then false may be returned even the ideals are equal.- Overrides:
equalsin classjava.lang.Object- See Also:
Object.equals(java.lang.Object)
-
compareTo
public int compareTo(WordIdeal<C> L)
WordIdeal comparison.- Specified by:
compareToin interfacejava.lang.Comparable<C extends GcdRingElem<C>>- Parameters:
L- other word ideal.- Returns:
- compareTo() of polynomial lists.
-
hashCode
public int hashCode()
Hash code for this word ideal.- Overrides:
hashCodein classjava.lang.Object- See Also:
Object.hashCode()
-
isZERO
public boolean isZERO()
Test if ZERO ideal.- Returns:
- true, if this is the 0 ideal, else false
-
isONE
public boolean isONE()
Test if ONE is contained in the ideal. To test for a proper ideal use! id.isONE().- Returns:
- true, if this is the 1 ideal, else false
-
isGB
public boolean isGB()
Test if this is a twosided Groebner base.- Returns:
- true, if this is a twosided Groebner base, else false
-
doGB
public void doGB()
Do Groebner Base. Compute the Groebner Base for this ideal.
-
GB
public WordIdeal<C> GB()
Groebner Base. Get a Groebner Base for this ideal.- Returns:
- twosidedGB(this)
-
contains
public boolean contains(WordIdeal<C> B)
Word ideal containment. Test if B is contained in this ideal. Note: this is eventually modified to become a Groebner Base.- Parameters:
B- word ideal- Returns:
- true, if B is contained in this, else false
-
contains
public boolean contains(GenWordPolynomial<C> b)
Word ideal containment. Test if b is contained in this ideal. Note: this is eventually modified to become a Groebner Base.- Parameters:
b- word polynomial- Returns:
- true, if b is contained in this, else false
-
contains
public boolean contains(java.util.List<GenWordPolynomial<C>> B)
Word ideal containment. Test if each b in B is contained in this ideal. Note: this is eventually modified to become a Groebner Base.- Parameters:
B- list of word polynomials- Returns:
- true, if each b in B is contained in this, else false
-
sum
public WordIdeal<C> sum(WordIdeal<C> B)
Word ideal summation. Generators for the sum of ideals. Note: if both ideals are Groebner bases, a Groebner base is returned.- Parameters:
B- word ideal- Returns:
- ideal(this+B)
-
sum
public WordIdeal<C> sum(GenWordPolynomial<C> b)
Word summation. Generators for the sum of ideal and a polynomial. Note: if this ideal is a Groebner base, a Groebner base is returned.- Parameters:
b- word polynomial- Returns:
- ideal(this+{b})
-
sum
public WordIdeal<C> sum(java.util.List<GenWordPolynomial<C>> L)
Word summation. Generators for the sum of this ideal and a list of polynomials. Note: if this ideal is a Groebner base, a Groebner base is returned.- Parameters:
L- list of word polynomials- Returns:
- ideal(this+L)
-
product
public WordIdeal<C> product(WordIdeal<C> B)
Product. Generators for the product of ideals. Note: if both ideals are Groebner bases, a Groebner base is returned.- Parameters:
B- word ideal- Returns:
- ideal(this*B)
-
product
public WordIdeal<C> product(GenWordPolynomial<C> b)
Left product. Generators for the product this by a polynomial.- Parameters:
b- word polynomial- Returns:
- ideal(this*b)
-
intersect
public WordIdeal<C> intersect(GenWordPolynomialRing<C> R)
-
eliminate
public WordIdeal<C> eliminate(GenWordPolynomialRing<C> R)
-
power
public WordIdeal<C> power(int d)
Power. Generators for the power of this word ideal. Note: if this ideal is a Groebner base, a Groebner base is returned.- Parameters:
d- integer- Returns:
- ideal(this^d)
-
normalform
public GenWordPolynomial<C> normalform(GenWordPolynomial<C> h)
Normalform for element.- Parameters:
h- word polynomial- Returns:
- left normalform of h with respect to this
-
normalform
public java.util.List<GenWordPolynomial<C>> normalform(java.util.List<GenWordPolynomial<C>> L)
Normalform for list of word elements.- Parameters:
L- word polynomial list- Returns:
- list of left normalforms of the elements of L with respect to this
-
inverse
public GenWordPolynomial<C> inverse(GenWordPolynomial<C> h)
Inverse for element modulo this ideal.- Parameters:
h- word polynomial- Returns:
- inverse of h with respect to this, if defined
-
isUnit
public boolean isUnit(GenWordPolynomial<C> h)
Test if element is a unit modulo this ideal.- Parameters:
h- word polynomial- Returns:
- true if h is a unit with respect to this, else false
-
commonZeroTest
public int commonZeroTest()
Ideal common zero test.- Returns:
- -1, 0 or 1 if dimension(this) &eq; -1, 0 or ≥ 1.
-
isMaximal
public boolean isMaximal()
Test if this ideal is maximal.- Returns:
- true, if this is certainly maximal and not one, false, if this is one, has dimension ≥ 1 or it is not jet determined if it is maximal.
-
univariateDegrees
public java.util.List<java.lang.Long> univariateDegrees()
Univariate head term degrees.- Returns:
- a list of the degrees of univariate head terms.
-
-