Package edu.jas.gb

Class WordGroebnerBaseAbstract<C extends RingElem<C>>

java.lang.Object
edu.jas.gb.WordGroebnerBaseAbstract<C>
Type Parameters:
C - coefficient type
All Implemented Interfaces:
WordGroebnerBase<C>, Serializable
Direct Known Subclasses:
WordGroebnerBasePseudoRecSeq, WordGroebnerBasePseudoSeq, WordGroebnerBaseSeq

public abstract class WordGroebnerBaseAbstract<C extends RingElem<C>> extends Object implements WordGroebnerBase<C>
Non-commutative Groebner Bases abstract class. Implements common Groebner bases and GB test methods.
See Also:
  • Field Details

    • logger

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

      private static final boolean debug
    • red

      public final WordReduction<C extends RingElem<C>> red
      Reduction engine.
    • strategy

      public final WordPairList<C extends RingElem<C>> strategy
      Strategy for pair selection.
  • Constructor Details

    • WordGroebnerBaseAbstract

      public WordGroebnerBaseAbstract()
      Constructor.
    • WordGroebnerBaseAbstract

      public WordGroebnerBaseAbstract(WordReduction<C> red)
      Constructor.
      Parameters:
      red - Word Reduction engine
    • WordGroebnerBaseAbstract

      public WordGroebnerBaseAbstract(WordReduction<C> red, WordPairList<C> pl)
      Constructor.
      Parameters:
      red - Word Reduction engine
      pl - Word pair selection strategy
  • Method Details

    • toString

      public String toString()
      Get the String representation with GB engines.
      Overrides:
      toString in class Object
      See Also:
    • normalizeZerosOnes

      public List<GenWordPolynomial<C>> normalizeZerosOnes(List<GenWordPolynomial<C>> A)
      Normalize polynomial list.
      Parameters:
      A - list of polynomials.
      Returns:
      list of polynomials with zeros removed and ones/units reduced.
    • commonZeroTest

      public int commonZeroTest(List<GenWordPolynomial<C>> F)
      Common zero test, test if univariate leading words exist for all variables.
      Parameters:
      F - polynomial list.
      Returns:
      -1, 0 or 1 if "dimension"(ideal(F)) &eq; -1, 0 or ≥ 1.
    • univariateDegrees

      public List<Long> univariateDegrees(List<GenWordPolynomial<C>> A)
      Univariate head term degrees.
      Parameters:
      A - list of polynomials.
      Returns:
      a list of the degrees of univariate head terms.
    • isGB

      public boolean isGB(List<GenWordPolynomial<C>> F)
      Word Groebner base test.
      Specified by:
      isGB in interface WordGroebnerBase<C extends RingElem<C>>
      Parameters:
      F - Word polynomial list.
      Returns:
      true, if F is a Groebner base, else false.
    • GB

      public abstract List<GenWordPolynomial<C>> GB(List<GenWordPolynomial<C>> F)
      Groebner base using pairlist class.
      Specified by:
      GB in interface WordGroebnerBase<C extends RingElem<C>>
      Parameters:
      F - polynomial list.
      Returns:
      GB(F) a Groebner base of F.
    • minimalGB

      public List<GenWordPolynomial<C>> minimalGB(List<GenWordPolynomial<C>> Gp)
      Minimal ordered Groebner basis.
      Specified by:
      minimalGB in interface WordGroebnerBase<C extends RingElem<C>>
      Parameters:
      Gp - a Groebner base.
      Returns:
      a reduced Groebner base of Gp.
    • isMinimalGB

      public boolean isMinimalGB(List<GenWordPolynomial<C>> Gp)
      Test for minimal ordered Groebner basis.
      Parameters:
      Gp - an ideal base.
      Returns:
      true, if Gp is a reduced minimal Groebner base.
    • terminate

      public void terminate()
      Cleanup and terminate ThreadPool.
    • cancel

      public int cancel()
      Cancel ThreadPool.