Class GroebnerBaseFGLM<C extends GcdRingElem<C>>

java.lang.Object
edu.jas.gb.GroebnerBaseAbstract<C>
edu.jas.gbufd.GroebnerBaseFGLM<C>
Type Parameters:
C - coefficient type
All Implemented Interfaces:
GroebnerBase<C>, Serializable

public class GroebnerBaseFGLM<C extends GcdRingElem<C>> extends GroebnerBaseAbstract<C>
Groebner Base sequential FGLM algorithm. Implements Groebner base computation via FGLM algorithm.
Author:
Jan Suess
See Also:
  • Constructor Details

    • GroebnerBaseFGLM

      public GroebnerBaseFGLM()
      Constructor.
    • GroebnerBaseFGLM

      public GroebnerBaseFGLM(Reduction<C> red)
      Constructor.
      Parameters:
      red - Reduction engine
    • GroebnerBaseFGLM

      public GroebnerBaseFGLM(Reduction<C> red, PairList<C> pl)
      Constructor.
      Parameters:
      red - Reduction engine
      pl - pair selection strategy
    • GroebnerBaseFGLM

      public GroebnerBaseFGLM(Reduction<C> red, PairList<C> pl, GroebnerBaseAbstract<C> gb)
      Constructor.
      Parameters:
      red - Reduction engine
      pl - pair selection strategy
      gb - backing GB algorithm.
    • GroebnerBaseFGLM

      public GroebnerBaseFGLM(GroebnerBaseAbstract<C> gb)
      Constructor.
      Parameters:
      gb - backing GB algorithm.
  • Method Details

    • toString

      public String toString()
      Get the String representation with GB engine.
      Overrides:
      toString in class GroebnerBaseAbstract<C extends GcdRingElem<C>>
      See Also:
    • GB

      public List<GenPolynomial<C>> GB(int modv, List<GenPolynomial<C>> F)
      Groebner base using FGLM algorithm.
      Parameters:
      modv - module variable number.
      F - polynomial list.
      Returns:
      GB(F) a inv lex term order Groebner base of F.
    • convGroebnerToLex

      public List<GenPolynomial<C>> convGroebnerToLex(List<GenPolynomial<C>> groebnerBasis)
      Algorithm CONVGROEBNER: Converts Groebner bases w.r.t. total degree termorder into Groebner base w.r.t to inverse lexicographical term order
      Returns:
      Groebner base w.r.t to inverse lexicographical term order
    • lMinterm

      public GenPolynomial<C> lMinterm(List<GenPolynomial<C>> G, GenPolynomial<C> t)
      Algorithm lMinterm: MINTERM algorithm for inverse lexicographical term order.
      Parameters:
      G - Groebner basis
      t - Term
      Returns:
      Term that specifies condition (D) or null (Condition (D) in "A computational approach to commutative algebra", Becker, Weispfenning, Kredel 1993, p. 427)
    • redTerms

      public List<GenPolynomial<C>> redTerms(List<GenPolynomial<C>> groebnerBasis)
      Compute the residues to given polynomial list.
      Returns:
      List of reduced terms
    • terminate

      public void terminate()
      Cleanup and terminate ThreadPool.
      Overrides:
      terminate in class GroebnerBaseAbstract<C extends GcdRingElem<C>>
    • cancel

      public int cancel()
      Cancel ThreadPool.
      Overrides:
      cancel in class GroebnerBaseAbstract<C extends GcdRingElem<C>>