Package edu.jas.gbufd
Class GroebnerBasePartial<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.gb.GroebnerBaseAbstract<C>
-
- edu.jas.gbufd.GroebnerBasePartial<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. Letpvars
be a subset of variablesvars
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
-
-
Field Summary
Fields Modifier and Type Field Description protected GroebnerBaseAbstract<C>
bb
Backing Groebner base engine.protected GroebnerBaseAbstract<GenPolynomial<C>>
rbb
Backing recursive Groebner base engine.-
Fields inherited from class edu.jas.gb.GroebnerBaseAbstract
blas, red, strategy
-
-
Constructor Summary
Constructors Constructor Description GroebnerBasePartial()
Constructor.GroebnerBasePartial(GroebnerBaseAbstract<C> bb, GroebnerBaseAbstract<GenPolynomial<C>> rbb)
Constructor.GroebnerBasePartial(RingFactory<GenPolynomial<C>> rf)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description OptimizedPolynomialList<C>
elimPartialGB(java.util.List<GenPolynomial<C>> F, java.lang.String[] evars, java.lang.String[] pvars)
Partial Groebner base for specific variables.java.util.List<GenPolynomial<C>>
GB(int modv, java.util.List<GenPolynomial<C>> F)
Groebner base using pairlist class.static java.util.List<java.lang.Integer>
getPermutation(java.lang.String[] aname, java.lang.String[] ename)
Permutation of variables for elimination.static int
indexOf(java.lang.String s, java.lang.String[] A)
Index of s in A.boolean
isGBrec(int modv, java.util.List<GenPolynomial<GenPolynomial<C>>> F)
Groebner base test.boolean
isGBrec(java.util.List<GenPolynomial<GenPolynomial<C>>> F)
Groebner base test.OptimizedPolynomialList<C>
partialGB(java.util.List<GenPolynomial<C>> F, java.lang.String[] pvars)
Partial Groebner base for specific variables.OptimizedPolynomialList<GenPolynomial<C>>
partialGBrec(java.util.List<GenPolynomial<C>> F, java.lang.String[] pvars)
Partial recursive Groebner base for specific variables.static java.util.List<java.lang.Integer>
partialPermutation(java.lang.String[] vars, java.lang.String[] pvars)
Partial permutation for specific variables.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.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.static java.lang.String[]
remainingVars(java.lang.String[] vars, java.lang.String[] pvars)
Remaining variables vars \ pvars.-
Methods inherited from class edu.jas.gb.GroebnerBaseAbstract
cancel, commonZeroTest, constructUnivariate, extGB, extGB, GB, GB, GB, isGB, isGB, isGB, isGB, isGB, isGB, isGBidem, isGBsimple, isMinimalGB, isMinReductionMatrix, isMinReductionMatrix, isReductionMatrix, isReductionMatrix, minimalExtendedGB, minimalGB, normalizeMatrix, normalizeZerosOnes, terminate, toString, univariateDegrees
-
-
-
-
Field Detail
-
bb
protected GroebnerBaseAbstract<C extends GcdRingElem<C>> bb
Backing Groebner base engine.
-
rbb
protected GroebnerBaseAbstract<GenPolynomial<C extends GcdRingElem<C>>> rbb
Backing recursive Groebner base engine.
-
-
Constructor Detail
-
GroebnerBasePartial
public GroebnerBasePartial()
Constructor.
-
GroebnerBasePartial
public GroebnerBasePartial(RingFactory<GenPolynomial<C>> rf)
Constructor.- Parameters:
rf
- coefficient ring factory.
-
GroebnerBasePartial
public GroebnerBasePartial(GroebnerBaseAbstract<C> bb, GroebnerBaseAbstract<GenPolynomial<C>> rbb)
Constructor.- Parameters:
bb
- Groebner base enginerbb
- recursive Groebner base engine
-
-
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 stringA
- 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<C> partialGB(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<C> elimPartialGB(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).
-
-