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>
bb
Groebner base engine.protected boolean
isGB
Indicator if list is a Groebner Base.protected java.util.List<GenWordPolynomial<C>>
list
The data structure is a list of word polynomials.protected WordReduction<C>
red
Reduction engine.protected GenWordPolynomialRing<C>
ring
Reference to the word polynomial ring.protected boolean
testGB
Indicator 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 int
commonZeroTest()
Ideal common zero test.int
compareTo(WordIdeal<C> L)
WordIdeal comparison.boolean
contains(WordIdeal<C> B)
Word ideal containment.boolean
contains(GenWordPolynomial<C> b)
Word ideal containment.boolean
contains(java.util.List<GenWordPolynomial<C>> B)
Word ideal containment.WordIdeal<C>
copy()
Clone this.void
doGB()
Do Groebner Base.WordIdeal<C>
eliminate(GenWordPolynomialRing<C> R)
boolean
equals(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.int
hashCode()
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.boolean
isGB()
Test if this is a twosided Groebner base.boolean
isMaximal()
Test if this ideal is maximal.boolean
isONE()
Test if ONE is contained in the ideal.boolean
isUnit(GenWordPolynomial<C> h)
Test if element is a unit modulo this ideal.boolean
isZERO()
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.String
toScript()
Get a scripting compatible string representation.java.lang.String
toString()
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:
toString
in 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:
equals
in classjava.lang.Object
- See Also:
Object.equals(java.lang.Object)
-
compareTo
public int compareTo(WordIdeal<C> L)
WordIdeal comparison.- Specified by:
compareTo
in 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:
hashCode
in 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.
-
-