Package edu.jas.gbufd

Class GroebnerBasePartial<C extends GcdRingElem<C>>

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

    public class GroebnerBasePartial<C extends GcdRingElem<C>>
    extends GroebnerBaseAbstract<C>
    Partial Groebner Bases for subsets of variables. Let pvars be a subset of variables vars of the polynomial ring K[vars]. Methods compute Groebner bases with coefficients from K[vars \ pvars] in the polynomial ring K[vars \ pvars][pvars].
    Author:
    Heinz Kredel
    See Also:
    Serialized Form
    • Method Detail

      • GB

        public java.util.List<GenPolynomial<C>> GB​(int modv,
                                                   java.util.List<GenPolynomial<C>> F)
        Groebner base using pairlist class.
        Parameters:
        modv - module variable number.
        F - polynomial list.
        Returns:
        GB(F) a Groebner base of F.
      • isGBrec

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

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

        public static java.util.List<java.lang.Integer> partialPermutation​(java.lang.String[] vars,
                                                                           java.lang.String[] pvars)
        Partial permutation for specific variables. Computes a permutation perm for the variables vars, such that perm(vars) == pvars ... (vars \ pvars). Uses internal (reversed) variable sorting.
        Parameters:
        vars - names for all variables.
        pvars - names for main variables, pvars subseteq vars.
        Returns:
        permutation for vars, such that perm(vars) == pvars ... (vars \ pvars).
      • getPermutation

        public static java.util.List<java.lang.Integer> getPermutation​(java.lang.String[] aname,
                                                                       java.lang.String[] ename)
        Permutation of variables for elimination.
        Parameters:
        aname - variables for the full polynomial ring.
        ename - variables for the elimination ring, subseteq aname.
        Returns:
        perm({vars \ ename},ename)
      • indexOf

        public static int indexOf​(java.lang.String s,
                                  java.lang.String[] A)
        Index of s in A.
        Parameters:
        s - search string
        A - string array
        Returns:
        i if s == A[i] for some i, else -1.
      • partialPermutation

        public static java.util.List<java.lang.Integer> partialPermutation​(java.lang.String[] vars,
                                                                           java.lang.String[] pvars,
                                                                           java.lang.String[] rvars)
        Partial permutation for specific variables. Computes a permutation perm for the variables vars, such that perm(vars) == pvars ... (vars \ pvars). Uses internal (reversed) variable sorting.
        Parameters:
        vars - names for all variables.
        pvars - names for main variables, pvars subseteq vars.
        rvars - names for remaining variables, rvars eq { vars \ pvars }.
        Returns:
        permutation for vars, such that perm(vars) == (pvars, {vars \ pvars}).
      • partialPermutation

        public static java.util.List<java.lang.Integer> partialPermutation​(java.lang.String[] vars,
                                                                           java.lang.String[] evars,
                                                                           java.lang.String[] pvars,
                                                                           java.lang.String[] rvars)
        Partial permutation for specific variables. Computes a permutation perm for the variables vars, such that perm(vars) == (evars, pvars, (vars \ { evars, pvars }). Uses internal (reversed) variable sorting.
        Parameters:
        vars - names for all variables.
        evars - names for elimination variables, evars subseteq vars.
        pvars - names for main variables, pvars subseteq vars.
        rvars - names for remaining variables, rvars eq {vars \ { evars, pvars } }.
        Returns:
        permutation for vars, such that perm(vars) == (evars,pvars, {vars \ {evars,pvars}}.
      • remainingVars

        public static java.lang.String[] remainingVars​(java.lang.String[] vars,
                                                       java.lang.String[] pvars)
        Remaining variables vars \ pvars. Uses internal (reversed) variable sorting, original order is preserved.
        Parameters:
        vars - names for all variables.
        pvars - names for main variables, pvars subseteq vars.
        Returns:
        remaining vars = (vars \ pvars).
      • partialGBrec

        public OptimizedPolynomialList<GenPolynomial<C>> partialGBrec​(java.util.List<GenPolynomial<C>> F,
                                                                      java.lang.String[] pvars)
        Partial recursive Groebner base for specific variables. Computes Groebner base in K[vars \ pvars][pvars] with coefficients from K[vars \ pvars].
        Parameters:
        F - polynomial list.
        pvars - names for main variables of partial Groebner base computation.
        Returns:
        a container for a partial Groebner base of F wrt pvars.
      • partialGB

        public OptimizedPolynomialList<CpartialGB​(java.util.List<GenPolynomial<C>> F,
                                                    java.lang.String[] pvars)
        Partial Groebner base for specific variables. Computes Groebner base in K[vars \ pvars][pvars] with coefficients from K[vars \ pvars] but returns polynomials in K[vars \ pvars, pvars].
        Parameters:
        F - polynomial list.
        pvars - names for main variables of partial Groebner base computation.
        Returns:
        a container for a partial Groebner base of F wrt pvars.
      • elimPartialGB

        public OptimizedPolynomialList<CelimPartialGB​(java.util.List<GenPolynomial<C>> F,
                                                        java.lang.String[] evars,
                                                        java.lang.String[] pvars)
        Partial Groebner base for specific variables. Computes Groebner base with coefficients from K[pvars] but returns polynomials in K[pvars, evars].
        Parameters:
        F - polynomial list.
        evars - names for upper main variables of partial Groebner base computation.
        pvars - names for lower main variables of partial Groebner base computation.
        Returns:
        a container for a partial Groebner base of F wrt (pvars,evars).