Package edu.jas.gbufd

Class GroebnerBaseWalk<C extends GcdRingElem<C>>

  • Type Parameters:
    C - coefficient type
    All Implemented Interfaces:
    GroebnerBase<C>, java.io.Serializable

    public class GroebnerBaseWalk<C extends GcdRingElem<C>>
    extends GroebnerBaseAbstract<C>
    Groebner Base sequential Groebner Walk algorithm. Implements Groebner base computation via Groebner Walk algorithm. See "The generic Groebner walk" by Fukuda, Jensen, Lauritzen, Thomas, 2005. The start term order t1 can be set by a constructor. The target term order t2 is taken from the input polynomials term order.
    Author:
    Heinz Kredel
    See Also:
    GBAlgorithmBuilder, GBFactory, Serialized Form
    • Method Detail

      • GB

        public java.util.List<GenPolynomial<C>> GB​(int modv,
                                                   java.util.List<GenPolynomial<C>> F)
        Groebner base using Groebner Walk algorithm.
        Parameters:
        modv - module variable number.
        F - polynomial list in target term order.
        Returns:
        GB(F) a INVLEX / target term order Groebner base of F.
      • walkGroebnerToTarget

        public java.util.List<GenPolynomial<C>> walkGroebnerToTarget​(int modv,
                                                                     java.util.List<GenPolynomial<C>> Gl,
                                                                     GenPolynomialRing<C> ufac)
        Converts Groebner bases w.r.t. total degree / start term order to Groebner base w.r.t to inverse lexicographical / target term order.
        Parameters:
        modv - module variable number.
        Gl - Groebner base with respect to graded / start term order.
        ufac - target polynomial ring and term order.
        Returns:
        Groebner base w.r.t inverse lexicographical / target term order
      • facetNormal

        public ExpVector facetNormal​(TermOrder t1,
                                     TermOrder t2,
                                     java.util.Set<ExpVector> delta,
                                     ExpVector zero,
                                     long[][] t2weight)
        Determine new facet normal.
        Parameters:
        t1 - old term order.
        t2 - new term order.
        delta - exponent vectors deltas.
        zero - exponent vector.
        t2weight - weight representation of t2.
        Returns:
        new facet normal v or null if no new facet normal exists.
      • liftReductas

        public java.util.List<GenPolynomial<C>> liftReductas​(java.util.List<Monomial<C>> M,
                                                             java.util.List<Monomial<C>> Mp,
                                                             java.util.List<GenPolynomial<C>> G,
                                                             java.util.List<GenPolynomial<C>> A)
        Lift leading polynomials to full Groebner base with respect to term order.
        Parameters:
        M - new leading monomial list of polynomials as marks.
        Mp - old leading monomial list of polynomials as marks.
        G - Groebner base polynomials for lift.
        A - polynomial list of leading omega polynomials to lift.
        Returns:
        lift(A) a Groebner base wrt M of ideal(G).