Package edu.jas.gbufd

Class GroebnerBaseFGLM<C extends GcdRingElem<C>>

    • Field Detail

      • logger

        private static final org.apache.logging.log4j.Logger logger
    • Constructor Detail

      • 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 Detail

      • GB

        public java.util.List<GenPolynomial<C>> GB​(int modv,
                                                   java.util.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 java.util.List<GenPolynomial<C>> convGroebnerToLex​(java.util.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​(java.util.List<GenPolynomial<C>> G,
                                         GenPolynomial<C> t)
        Algorithm lMinterm: MINTERM algorithm for inverse lexicographical term order.
        Parameters:
        t - Term
        G - Groebner basis
        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 java.util.List<GenPolynomial<C>> redTerms​(java.util.List<GenPolynomial<C>> groebnerBasis)
        Compute the residues to given polynomial list.
        Returns:
        List of reduced terms
      • createRingOfIndeterminates

        GenPolynomialRing<C> createRingOfIndeterminates​(GenPolynomialRing<C> ring,
                                                        int i)
        Internal method to create a polynomial ring in i indeterminates. Create new ring over coefficients of ring with i variables Y1,...,Yi (indeterminate)
        Returns:
        polynomial ring with variables Y1...Yi and coefficient of ring.
      • addIndeterminate

        GenPolynomialRing<C> addIndeterminate​(GenPolynomialRing<C> ring)
        Internal method to add new indeterminates. Add another variable (indeterminate) Y_{i+1} to existing ring
        Returns:
        polynomial ring with variables Y1,..,Yi,Yi+1 and coefficients of ring.
      • maxArray

        long maxArray​(long[] t)
        Maximum of an array.
        Returns:
        maximum of an array