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 Details

    • logger

      private static final org.apache.logging.log4j.Logger logger
    • debug

      private static final boolean debug
    • list

      protected 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 Details

  • Method Details

    • copy

      public WordIdeal<C> copy()
      Clone this.
      Returns:
      a copy of this.
    • getList

      public 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
    • getZERO

      public WordIdeal<C> getZERO()
      Get the zero ideal.
      Returns:
      ideal(0)
    • getONE

      public WordIdeal<C> getONE()
      Get the one ideal.
      Returns:
      ideal(1)
    • toString

      public String toString()
      String representation of the word ideal.
      Overrides:
      toString in class Object
      See Also:
    • toScript

      public String toScript()
      Get a scripting compatible string representation.
      Returns:
      script compatible representation for this Element.
      See Also:
    • equals

      public boolean equals(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 class Object
      See Also:
    • compareTo

      public int compareTo(WordIdeal<C> L)
      WordIdeal comparison.
      Specified by:
      compareTo in interface 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 class Object
      See Also:
    • 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(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(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(List<WordIdeal<C>> Bl)
    • intersect

      public WordIdeal<C> intersect(WordIdeal<C> 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 List<GenWordPolynomial<C>> normalform(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 List<Long> univariateDegrees()
      Univariate head term degrees.
      Returns:
      a list of the degrees of univariate head terms.