Class SolvableIdeal<C extends GcdRingElem<C>>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<SolvableIdeal<C>>

    public class SolvableIdeal<C extends GcdRingElem<C>>
    extends java.lang.Object
    implements java.lang.Comparable<SolvableIdeal<C>>, java.io.Serializable
    Solvable Ideal implements some methods for ideal arithmetic, for example sum, intersection, quotient. Note: only left ideals at the moment.
    Author:
    Heinz Kredel
    See Also:
    Serialized Form
    • Method Detail

      • toString

        public java.lang.String toString()
        String representation of the solvable 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​(SolvableIdeal<C> L)
        SolvableIdeal comparison.
        Specified by:
        compareTo in interface java.lang.Comparable<C extends GcdRingElem<C>>
        Parameters:
        L - other solvable ideal.
        Returns:
        compareTo() of polynomial lists.
      • hashCode

        public int hashCode()
        Hash code for this solvable 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 left Groebner base.
        Returns:
        true, if this is a left/right/twosided Groebner base, else false
      • doGB

        public void doGB()
        Do Groebner Base. compute the left Groebner Base for this ideal.
      • GB

        public SolvableIdeal<CGB()
        Groebner Base. Get a left Groebner Base for this ideal.
        Returns:
        leftGB(this)
      • isTwosidedGB

        public boolean isTwosidedGB()
        Test if this is a twosided Groebner base.
        Returns:
        true, if this is a twosided Groebner base, else false
      • twosidedGB

        public SolvableIdeal<CtwosidedGB()
        Groebner Base. Get a twosided Groebner Base for this ideal.
        Returns:
        twosidedGB(this)
      • isRightGB

        public boolean isRightGB()
        Test if this is a right Groebner base.
        Returns:
        true, if this is a right Groebner base, else false
      • rightGB

        public SolvableIdeal<CrightGB()
        Groebner Base. Get a right Groebner Base for this ideal.
        Returns:
        rightGB(this)
      • contains

        public boolean contains​(SolvableIdeal<C> B)
        Solvable ideal containment. Test if B is contained in this ideal. Note: this is eventually modified to become a Groebner Base.
        Parameters:
        B - solvable ideal
        Returns:
        true, if B is contained in this, else false
      • contains

        public boolean contains​(GenSolvablePolynomial<C> b)
        Solvable ideal containment. Test if b is contained in this left/right/twosided ideal. Note: this is eventually modified to become a Groebner Base.
        Parameters:
        b - solvable polynomial
        Returns:
        true, if b is contained in this, else false
      • contains

        public boolean contains​(java.util.List<GenSolvablePolynomial<C>> B)
        Solvable ideal containment. Test if each b in B is contained in this left/right/twosided ideal. Note: this is eventually modified to become a Groebner Base.
        Parameters:
        B - list of solvable polynomials
        Returns:
        true, if each b in B is contained in this, else false
      • sum

        public SolvableIdeal<Csum​(SolvableIdeal<C> B)
        Solvable ideal summation. Generators for the sum of ideals. Note: if both ideals are Groebner bases, a Groebner base is returned.
        Parameters:
        B - solvable ideal
        Returns:
        ideal(this+B)
      • sum

        public SolvableIdeal<Csum​(GenSolvablePolynomial<C> b)
        Solvable 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 - solvable polynomial
        Returns:
        ideal(this+{b})
      • sum

        public SolvableIdeal<Csum​(java.util.List<GenSolvablePolynomial<C>> L)
        Solvable 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 solvable polynomials
        Returns:
        ideal(this+L)
      • product

        public SolvableIdeal<Cproduct​(SolvableIdeal<C> B)
        Product. Generators for the product of ideals. Note: if both ideals are Groebner bases, a Groebner base is returned.
        Parameters:
        B - solvable ideal
        Returns:
        ideal(this*B)
      • intersect

        public SolvableIdeal<Cintersect​(java.util.List<SolvableIdeal<C>> Bl)
        Intersection. Generators for the intersection of ideals. Using an iterative algorithm.
        Parameters:
        Bl - list of solvable ideals
        Returns:
        ideal(cap_i B_i), a Groebner base
      • intersect

        public SolvableIdeal<Cintersect​(SolvableIdeal<C> B)
        Intersection. Generators for the intersection of ideals.
        Parameters:
        B - solvable ideal
        Returns:
        ideal(this \cap B), a Groebner base
      • intersect

        public SolvableIdeal<Cintersect​(GenSolvablePolynomialRing<C> R)
        Intersection. Generators for the intersection of a ideal with a polynomial ring. The polynomial ring R must be a contraction of this ideal and the TermOrder must be an elimination order.
        Parameters:
        R - solvable polynomial ring
        Returns:
        ideal(this \cap R)
      • eliminate

        public SolvableIdeal<Celiminate​(GenSolvablePolynomialRing<C> R)
        Eliminate. Generators for the intersection of this ideal with a solvable polynomial ring. The solvable polynomial ring of this ideal must be a contraction of R and the TermOrder must be an elimination order.
        Parameters:
        R - solvable polynomial ring
        Returns:
        ideal(this \cap R)
      • quotient

        public SolvableIdeal<Cquotient​(SolvableIdeal<C> H)
        Quotient. Generators for the solvable ideal quotient.
        Parameters:
        H - solvable ideal
        Returns:
        ideal(this : H), a Groebner base
      • isRadicalMember

        public boolean isRadicalMember​(GenSolvablePolynomial<C> h)
        Radical membership test.
        Parameters:
        h - solvable polynomial
        Returns:
        true if h is contained in the radical of ideal(this), else false.
      • infiniteQuotient

        public SolvableIdeal<CinfiniteQuotient​(SolvableIdeal<C> H)
        Infinite Quotient. Generators for the solvable ideal infinite quotient.
        Parameters:
        H - solvable ideal
        Returns:
        ideal(this : Hs), a Groebner base
      • infiniteQuotientRab

        public SolvableIdeal<CinfiniteQuotientRab​(SolvableIdeal<C> H)
        Infinite Quotient. Generators for the solvable ideal infinite quotient.
        Parameters:
        H - solvable ideal
        Returns:
        ideal(this : Hs), a Groebner base
      • power

        public SolvableIdeal<Cpower​(int d)
        Power. Generators for the power of this solvable 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<GenSolvablePolynomial<C>> normalform​(java.util.List<GenSolvablePolynomial<C>> L)
        Normalform for list of solvable elements.
        Parameters:
        L - solvable polynomial list
        Returns:
        list of left normalforms of the elements of L with respect to this
      • isAnnihilator

        public boolean isAnnihilator​(GenSolvablePolynomial<C> h,
                                     SolvableIdeal<C> A)
        Test for annihilator of element modulo this ideal.
        Parameters:
        h - solvable polynomial
        A - solvable ideal
        Returns:
        true, if A is the annihilator of h with respect to this
      • isAnnihilator

        public boolean isAnnihilator​(SolvableIdeal<C> H,
                                     SolvableIdeal<C> A)
        Test for annihilator of ideal modulo this ideal.
        Parameters:
        H - solvable ideal
        A - solvable ideal
        Returns:
        true, if A is the annihilator of H with respect to this
      • isUnit

        public boolean isUnit​(GenSolvablePolynomial<C> h)
        Test if element is a unit modulo this ideal.
        Parameters:
        h - solvable 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.
      • dimension

        public Dimension dimension()
        Ideal dimension.
        Returns:
        a dimension container (dim,maxIndep,list(maxIndep),vars).
      • constructUnivariate

        public java.util.List<GenSolvablePolynomial<C>> constructUnivariate()
        Construct univariate polynomials of minimal degree in all variables in zero dimensional ideal(G).
        Returns:
        list of univariate solvable polynomial of minimal degree in each variable in ideal(G)
      • constructUnivariate

        public GenSolvablePolynomial<CconstructUnivariate​(int i)
        Construct univariate polynomial of minimal degree in variable i in zero dimensional ideal(G).
        Parameters:
        i - variable index.
        Returns:
        univariate solvable polynomial of minimal degree in variable i in ideal(G)