Class Condition<C extends GcdRingElem<C>>

java.lang.Object
edu.jas.application.Condition<C>
Type Parameters:
C - coefficient type
All Implemented Interfaces:
Serializable

public class Condition<C extends GcdRingElem<C>> extends Object implements Serializable
Condition. Container for an ideal of polynomials considered to be zero and a multiplicative set of polynomials considered to be non-zero.
See Also:
  • Field Details

    • logger

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

      public final Ideal<C extends GcdRingElem<C>> zero
      Data structure for condition zero.
    • nonZero

      public final MultiplicativeSet<C extends GcdRingElem<C>> nonZero
      Data structure for condition non-zero.
  • Constructor Details

    • Condition

      public Condition(GenPolynomialRing<C> ring)
      Condition constructor. Constructs an empty condition with squarefree multiplicative set.
      Parameters:
      ring - polynomial ring factory for coefficients.
    • Condition

      public Condition(Ideal<C> z)
      Condition constructor. Constructs a condition with squarefree multiplicative set.
      Parameters:
      z - an ideal of zero polynomials.
    • Condition

      public Condition(MultiplicativeSet<C> nz)
      Condition constructor.
      Parameters:
      nz - a list of non-zero polynomials.
    • Condition

      public Condition(Ideal<C> z, MultiplicativeSet<C> nz)
      Condition constructor.
      Parameters:
      z - an ideal of zero polynomials.
      nz - a list of non-zero polynomials.
  • Method Details

    • toString

      public String toString()
      toString.
      Overrides:
      toString in class Object
      See Also:
    • toScript

      public String toScript()
      toScript.
      See Also:
    • equals

      public boolean equals(Object ob)
      equals.
      Overrides:
      equals in class Object
      Parameters:
      ob - an Object.
      Returns:
      true if this is equal to o, else false.
    • hashCode

      public int hashCode()
      Hash code for this condition.
      Overrides:
      hashCode in class Object
      See Also:
    • isEmpty

      public boolean isEmpty()
      Is empty condition.
      Returns:
      true if this is the empty condition, else false.
    • isContradictory

      public boolean isContradictory()
      Is contradictory.
      Returns:
      true if this condition is contradictory, else false.
    • extendZero

      public Condition<C> extendZero(GenPolynomial<C> z)
      Extend condition with zero polynomial.
      Parameters:
      z - a polynomial to be treated as zero.
      Returns:
      new condition.
    • extendNonZero

      public Condition<C> extendNonZero(GenPolynomial<C> nz)
      Extend condition with non-zero polynomial.
      Parameters:
      nz - a polynomial to be treated as non-zero.
      Returns:
      new condition.
    • simplify

      public Condition<C> simplify()
      Simplify zero and non-zero polynomial conditions.
      Returns:
      new simplified condition.
    • color

      public Condition.Color color(GenPolynomial<C> c)
      Determine color of polynomial.
      Parameters:
      c - polynomial to be colored.
      Returns:
      color of c.
    • determine

      public ColorPolynomial<C> determine(GenPolynomial<GenPolynomial<C>> A)
      Determine polynomial. If this condition does not determine the polynomial, then a run-time exception is thrown.
      Parameters:
      A - polynomial.
      Returns:
      new determined colored polynomial.
    • determine

      public List<ColorPolynomial<C>> determine(List<GenPolynomial<GenPolynomial<C>>> L)
      Determine list of polynomials. If this condition does not determine all polynomials, then a run-time exception is thrown. The returned list does not contain polynomials with all green terms.
      Parameters:
      L - list of polynomial.
      Returns:
      new determined list of colored polynomials.
    • reDetermine

      public ColorPolynomial<C> reDetermine(ColorPolynomial<C> s)
      Re determine colored polynomial.
      Parameters:
      s - colored polynomial.
      Returns:
      determined colored polynomial wrt. this.conditions.
    • reDetermine

      public List<ColorPolynomial<C>> reDetermine(List<ColorPolynomial<C>> S)
      Re determine list of colored polynomials.
      Parameters:
      S - list of colored polynomials.
      Returns:
      list of determined colored polynomials wrt. this.conditions.
    • isDetermined

      public boolean isDetermined(ColorPolynomial<C> s)
      Is determined colored polynomial.
      Parameters:
      s - colored polynomial.
      Returns:
      true if the colored polynomial is correctly determined wrt. this.condition.
    • isDetermined

      public boolean isDetermined(List<ColorPolynomial<C>> S)
      Is determined list of colored polynomial.
      Parameters:
      S - list of colored polynomials.
      Returns:
      true if the colored polynomials in S are correctly determined wrt. this.condition.