Package edu.jas.application
Class WordIdeal<C extends GcdRingElem<C>>
java.lang.Object
edu.jas.application.WordIdeal<C>
- All Implemented Interfaces:
Serializable
,Comparable<WordIdeal<C>>
public class WordIdeal<C extends GcdRingElem<C>>
extends Object
implements Comparable<WordIdeal<C>>, Serializable
Word Ideal implements some methods for ideal arithmetic, for example
containment, sum or product. Note: only two-sided ideals.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final WordGroebnerBaseAbstract
<C> Groebner base engine.private static final boolean
protected boolean
Indicator if list is a Groebner Base.protected List
<GenWordPolynomial<C>> The data structure is a list of word polynomials.private static final org.apache.logging.log4j.Logger
protected final WordReduction
<C> Reduction engine.protected GenWordPolynomialRing
<C> Reference to the word polynomial ring.protected boolean
Indicator if test has been performed if this is a Groebner Base. -
Constructor Summary
ConstructorsConstructorDescriptionWordIdeal
(GenWordPolynomialRing<C> ring) Constructor.WordIdeal
(GenWordPolynomialRing<C> ring, List<GenWordPolynomial<C>> list) Constructor.WordIdeal
(GenWordPolynomialRing<C> ring, List<GenWordPolynomial<C>> list, boolean gb) Constructor.WordIdeal
(GenWordPolynomialRing<C> ring, List<GenWordPolynomial<C>> list, boolean gb, WordGroebnerBaseAbstract<C> bb) Constructor.WordIdeal
(GenWordPolynomialRing<C> ring, List<GenWordPolynomial<C>> list, boolean gb, WordGroebnerBaseAbstract<C> bb, WordReduction<C> red) Constructor.WordIdeal
(GenWordPolynomialRing<C> ring, List<GenWordPolynomial<C>> list, WordGroebnerBaseAbstract<C> bb, WordReduction<C> red) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionint
Ideal common zero test.int
WordIdeal comparison.boolean
Word ideal containment.boolean
Word ideal containment.boolean
contains
(List<GenWordPolynomial<C>> B) Word ideal containment.copy()
Clone this.void
doGB()
Do Groebner Base.boolean
Comparison with any other object.GB()
Groebner Base.getList()
Get the List of GenWordPolynomials.getONE()
Get the one ideal.getRing()
Get the GenWordPolynomialRing.getZERO()
Get the zero ideal.int
hashCode()
Hash code for this word ideal.Inverse for element modulo this ideal.boolean
isGB()
Test if this is a twosided Groebner base.boolean
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.Normalform for element.normalform
(List<GenWordPolynomial<C>> L) Normalform for list of word elements.power
(int d) Power.Product.Left product.Word ideal summation.sum
(GenWordPolynomial<C> b) Word summation.sum
(List<GenWordPolynomial<C>> L) Word summation.toScript()
Get a scripting compatible string representation.toString()
String representation of the word ideal.Univariate head term degrees.
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug -
list
The data structure is a list of word polynomials. -
ring
Reference to the word polynomial ring. -
isGB
protected boolean isGBIndicator if list is a Groebner Base. -
testGB
protected boolean testGBIndicator if test has been performed if this is a Groebner Base. -
bb
Groebner base engine. -
red
Reduction engine.
-
-
Constructor Details
-
WordIdeal
Constructor.- Parameters:
ring
- word polynomial ring
-
WordIdeal
Constructor.- Parameters:
ring
- word polynomial ringlist
- word polynomial list
-
WordIdeal
public WordIdeal(GenWordPolynomialRing<C> ring, 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
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, 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, 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 Details
-
copy
Clone this.- Returns:
- a copy of this.
-
getList
Get the List of GenWordPolynomials.- Returns:
- (cast) list.list
-
getRing
Get the GenWordPolynomialRing.- Returns:
- (cast) list.ring
-
getZERO
Get the zero ideal.- Returns:
- ideal(0)
-
getONE
Get the one ideal.- Returns:
- ideal(1)
-
toString
String representation of the word ideal. -
toScript
Get a scripting compatible string representation.- Returns:
- script compatible representation for this Element.
- See Also:
-
equals
Comparison with any other object. Note: If not both ideals are Groebner Bases, then false may be returned even the ideals are equal. -
compareTo
WordIdeal comparison.- Specified by:
compareTo
in interfaceComparable<C extends GcdRingElem<C>>
- Parameters:
L
- other word ideal.- Returns:
- compareTo() of polynomial lists.
-
hashCode
public int hashCode()Hash code for this word ideal. -
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
Groebner Base. Get a Groebner Base for this ideal.- Returns:
- twosidedGB(this)
-
contains
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
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
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
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
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
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
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
Left product. Generators for the product this by a polynomial.- Parameters:
b
- word polynomial- Returns:
- ideal(this*b)
-
intersect
-
intersect
-
intersect
-
eliminate
-
power
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
Normalform for element.- Parameters:
h
- word polynomial- Returns:
- left normalform of h with respect to this
-
normalform
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
Inverse for element modulo this ideal.- Parameters:
h
- word polynomial- Returns:
- inverse of h with respect to this, if defined
-
isUnit
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
Univariate head term degrees.- Returns:
- a list of the degrees of univariate head terms.
-