Class WordIdeal<C extends GcdRingElem<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
    • Method Detail

      • copy

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

        public java.util.List<GenWordPolynomial<C>> getList()
        Get the List of GenWordPolynomials.
        Returns:
        (cast) list.list
      • toString

        public java.lang.String toString()
        String representation of the word ideal.
        Overrides:
        toString in class java.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 class java.lang.Object
        See Also:
        Object.equals(java.lang.Object)
      • compareTo

        public int compareTo​(WordIdeal<C> L)
        WordIdeal comparison.
        Specified by:
        compareTo in interface java.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 class java.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<CGB()
        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<Csum​(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<Csum​(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<Csum​(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<Cproduct​(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<Cproduct​(GenWordPolynomial<C> b)
        Left product. Generators for the product this by a polynomial.
        Parameters:
        b - word polynomial
        Returns:
        ideal(this*b)
      • power

        public WordIdeal<Cpower​(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 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
      • 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.