Package edu.jas.gb

Class GroebnerBaseAbstract<C extends RingElem<C>>

    • Method Detail

      • toString

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

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

        public boolean isGB​(java.util.List<GenPolynomial<C>> F)
        Groebner base test.
        Specified by:
        isGB in interface GroebnerBase<C extends RingElem<C>>
        Parameters:
        F - polynomial list.
        Returns:
        true, if F is a Groebner base, else false.
      • isGB

        public boolean isGB​(int modv,
                            java.util.List<GenPolynomial<C>> F)
        Groebner base test.
        Specified by:
        isGB in interface GroebnerBase<C extends RingElem<C>>
        Parameters:
        modv - module variable number.
        F - polynomial list.
        Returns:
        true, if F is a Groebner base, else false.
      • isGB

        public boolean isGB​(java.util.List<GenPolynomial<C>> F,
                            boolean b)
        Groebner base test.
        Parameters:
        F - polynomial list.
        b - true for simple test, false for GB test.
        Returns:
        true, if F is a Groebner base, else false.
      • isGB

        public boolean isGB​(int modv,
                            java.util.List<GenPolynomial<C>> F,
                            boolean b)
        Groebner base test.
        Parameters:
        modv - module variable number.
        F - polynomial list.
        b - true for simple test, false for GB test.
        Returns:
        true, if F is a Groebner base, else false.
      • isGBsimple

        public boolean isGBsimple​(int modv,
                                  java.util.List<GenPolynomial<C>> F)
        Groebner base simple test.
        Parameters:
        modv - module variable number.
        F - polynomial list.
        Returns:
        true, if F is a Groebner base, else false.
      • isGBidem

        public boolean isGBidem​(int modv,
                                java.util.List<GenPolynomial<C>> F)
        Groebner base idempotence test.
        Parameters:
        modv - module variable number.
        F - polynomial list.
        Returns:
        true, if F is equal to GB(F), else false.
      • commonZeroTest

        public int commonZeroTest​(java.util.List<GenPolynomial<C>> F)
        Common zero test.
        Parameters:
        F - polynomial list.
        Returns:
        -1, 0 or 1 if dimension(ideal(F)) &eq; -1, 0 or ≥ 1.
      • isGB

        public boolean isGB​(ModuleList<C> M)
        isGB.
        Specified by:
        isGB in interface GroebnerBase<C extends RingElem<C>>
        Parameters:
        M - a module basis.
        Returns:
        true, if M is a Groebner base, else false.
      • isGB

        public boolean isGB​(ModuleList<C> M,
                            boolean top)
        isGB.
        Parameters:
        M - a module basis.
        top - true for TOP term order, false for POT term order.
        Returns:
        true, if M is a Groebner base, else false.
      • GB

        public ModuleList<CGB​(ModuleList<C> M,
                                boolean top)
        GB.
        Parameters:
        M - a module basis.
        top - true for TOP term order, false for POT term order.
        Returns:
        GB(M), a Groebner base of M wrt. TOP or POT.
      • extGB

        public ExtendedGB<CextGB​(java.util.List<GenPolynomial<C>> F)
        Extended Groebner base using critical pair class.
        Specified by:
        extGB in interface GroebnerBase<C extends RingElem<C>>
        Parameters:
        F - polynomial list.
        Returns:
        a container for a Groebner base G of F together with back-and-forth transformations.
      • extGB

        public ExtendedGB<CextGB​(int modv,
                                   java.util.List<GenPolynomial<C>> F)
        Extended Groebner base using critical pair class.
        Specified by:
        extGB in interface GroebnerBase<C extends RingElem<C>>
        Parameters:
        modv - module variable number.
        F - polynomial list.
        Returns:
        a container for a Groebner base G of F together with back-and-forth transformations.
      • isMinimalGB

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

        public boolean isMinReductionMatrix​(ExtendedGB<C> exgb)
        Test if minimal reduction matrix.
        Parameters:
        exgb - an ExtendedGB container.
        Returns:
        true, if exgb contains a minimal reduction matrix, else false.
      • isReductionMatrix

        public boolean isReductionMatrix​(java.util.List<GenPolynomial<C>> F,
                                         java.util.List<GenPolynomial<C>> G,
                                         java.util.List<java.util.List<GenPolynomial<C>>> Mf,
                                         java.util.List<java.util.List<GenPolynomial<C>>> Mg)
        Test if reduction matrix.
        Specified by:
        isReductionMatrix in interface GroebnerBase<C extends RingElem<C>>
        Parameters:
        F - a polynomial list.
        G - a Groebner base, G starting with +/- elements of F.
        Mf - a possible reduction matrix.
        Mg - a possible reduction matrix.
        Returns:
        true, if Mg and Mf are reduction matrices, else false.
      • isMinReductionMatrix

        public boolean isMinReductionMatrix​(java.util.List<GenPolynomial<C>> F,
                                            java.util.List<GenPolynomial<C>> G,
                                            java.util.List<java.util.List<GenPolynomial<C>>> Mf,
                                            java.util.List<java.util.List<GenPolynomial<C>>> Mg)
        Test if minimal reduction matrix.
        Parameters:
        F - a polynomial list.
        G - a minimal Groebner base of F.
        Mf - a possible reduction matrix.
        Mg - a possible reduction matrix.
        Returns:
        true, if Mg and Mf are reduction matrices, else false.
      • normalizeMatrix

        public java.util.List<java.util.List<GenPolynomial<C>>> normalizeMatrix​(int flen,
                                                                                java.util.List<java.util.List<GenPolynomial<C>>> M)
        Normalize M. Scale and shift right triangular matrix (new G elements) to left and make all right column elements zero. Then truncate all rows to the size of F.
        Parameters:
        flen - length of rows.
        M - a reduction matrix.
        Returns:
        normalized M.
      • minimalExtendedGB

        public ExtendedGB<CminimalExtendedGB​(int flen,
                                               java.util.List<GenPolynomial<C>> Gp,
                                               java.util.List<java.util.List<GenPolynomial<C>>> M)
        Minimal extended groebner basis.
        Parameters:
        flen - length of rows.
        Gp - a Groebner base.
        M - a reduction matrix, is modified.
        Returns:
        a (partially) reduced Groebner base of Gp in a (fake) container.
      • univariateDegrees

        public java.util.List<java.lang.Long> univariateDegrees​(java.util.List<GenPolynomial<C>> A)
        Univariate head term degrees.
        Parameters:
        A - list of polynomials.
        Returns:
        a list of the degrees of univariate head terms.
      • constructUnivariate

        public GenPolynomial<CconstructUnivariate​(int i,
                                                    java.util.List<GenPolynomial<C>> G)
        Construct univariate polynomial of minimal degree in variable i of a zero dimensional ideal(G).
        Parameters:
        i - variable index.
        G - list of polynomials, a monic reduced Gröbner base of a zero dimensional ideal.
        Returns:
        univariate polynomial of minimal degree in variable i in ideal(G)
      • terminate

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

        public int cancel()
        Cancel ThreadPool.