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>
,Serializable
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].- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected GroebnerBaseAbstract
<C> Backing Groebner base engine.private static final org.apache.logging.log4j.Logger
protected GroebnerBaseAbstract
<GenPolynomial<C>> Backing recursive Groebner base engine.Fields inherited from class edu.jas.gb.GroebnerBaseAbstract
blas, red, strategy
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor.Constructor.Constructor. -
Method Summary
Modifier and TypeMethodDescriptionelimPartialGB
(List<GenPolynomial<C>> F, String[] evars, String[] pvars) Partial Groebner base for specific variables.GB
(int modv, List<GenPolynomial<C>> F) Groebner base using pairlist class.getPermutation
(String[] aname, String[] ename) Permutation of variables for elimination.static int
Index of s in A.boolean
isGBrec
(int modv, List<GenPolynomial<GenPolynomial<C>>> F) Groebner base test.boolean
isGBrec
(List<GenPolynomial<GenPolynomial<C>>> F) Groebner base test.partialGB
(List<GenPolynomial<C>> F, String[] pvars) Partial Groebner base for specific variables.partialGBrec
(List<GenPolynomial<C>> F, String[] pvars) Partial recursive Groebner base for specific variables.partialPermutation
(String[] vars, String[] pvars) Partial permutation for specific variables.partialPermutation
(String[] vars, String[] pvars, String[] rvars) Partial permutation for specific variables.partialPermutation
(String[] vars, String[] evars, String[] pvars, String[] rvars) Partial permutation for specific variables.static String[]
remainingVars
(String[] vars, 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 Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
bb
Backing Groebner base engine. -
rbb
Backing recursive Groebner base engine.
-
-
Constructor Details
-
GroebnerBasePartial
public GroebnerBasePartial()Constructor. -
GroebnerBasePartial
Constructor.- Parameters:
rf
- coefficient ring factory.
-
GroebnerBasePartial
Constructor.- Parameters:
bb
- Groebner base enginerbb
- recursive Groebner base engine
-
-
Method Details
-
GB
Groebner base using pairlist class.- Parameters:
modv
- module variable number.F
- polynomial list.- Returns:
- GB(F) a Groebner base of F.
-
isGBrec
Groebner base test.- Parameters:
F
- polynomial list.- Returns:
- true, if F is a partial Groebner base, else false.
-
isGBrec
Groebner base test.- Parameters:
modv
- module variable number.F
- polynomial list.- Returns:
- true, if F is a partial Groebner base, else false.
-
partialPermutation
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
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
Index of s in A.- Parameters:
s
- search stringA
- string array- Returns:
- i if s == A[i] for some i, else -1.
-
partialPermutation
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 List<Integer> partialPermutation(String[] vars, String[] evars, String[] pvars, 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
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(List<GenPolynomial<C>> F, 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
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(List<GenPolynomial<C>> F, String[] evars, 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).
-