Class GroebnerBaseAbstract<C extends RingElem<C>>
java.lang.Object
edu.jas.gb.GroebnerBaseAbstract<C>
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
GroebnerBase<C>, Serializable
- Direct Known Subclasses:
DGroebnerBaseSeq, GBOptimized, GBProxy, GroebnerBaseDistributedEC, GroebnerBaseDistributedHybridEC, GroebnerBaseFGLM, GroebnerBaseParallel, GroebnerBaseParIter, GroebnerBasePartial, GroebnerBasePseudoParallel, GroebnerBasePseudoRecParallel, GroebnerBasePseudoRecSeq, GroebnerBasePseudoSeq, GroebnerBaseQuotient, GroebnerBaseRational, GroebnerBaseSeq, GroebnerBaseSeqIter, GroebnerBaseSeqPairDistributed, GroebnerBaseSeqPairParallel, GroebnerBaseSeqPairSeq, GroebnerBaseSigSeqIter, GroebnerBaseWalk, RGroebnerBaseSeq
public abstract class GroebnerBaseAbstract<C extends RingElem<C>>
extends Object
implements GroebnerBase<C>
Groebner Bases abstract class. Implements common Groebner bases and GB test
methods.
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.Constructor.GroebnerBaseAbstract(Reduction<C> red) Constructor.GroebnerBaseAbstract(Reduction<C> red, PairList<C> pl) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionintcancel()Cancel ThreadPool.intcommonZeroTest(List<GenPolynomial<C>> F) Common zero test.constructUnivariate(int i, List<GenPolynomial<C>> G) Construct univariate polynomial of minimal degree in variable i of a zero dimensional ideal(G).(package private) booleancriterion3(int i, int j, ExpVector eij, List<GenPolynomial<C>> P) GB criterium 3.extGB(int modv, List<GenPolynomial<C>> F) Extended Groebner base using critical pair class.extGB(List<GenPolynomial<C>> F) Extended Groebner base using critical pair class.GB(ModuleList<C> M) GB.GB(ModuleList<C> M, boolean top) GB.GB(List<GenPolynomial<C>> F) Groebner base using pairlist class.booleanisGB(int modv, List<GenPolynomial<C>> F) Groebner base test.booleanisGB(int modv, List<GenPolynomial<C>> F, boolean b) Groebner base test.booleanisGB(ModuleList<C> M) isGB.booleanisGB(ModuleList<C> M, boolean top) isGB.booleanisGB(List<GenPolynomial<C>> F) Groebner base test.booleanisGB(List<GenPolynomial<C>> F, boolean b) Groebner base test.booleanisGBidem(int modv, List<GenPolynomial<C>> F) Groebner base idempotence test.booleanisGBsimple(int modv, List<GenPolynomial<C>> F) Groebner base simple test.booleanisMinimalGB(List<GenPolynomial<C>> Gp) Test for minimal ordered Groebner basis.booleanisMinReductionMatrix(ExtendedGB<C> exgb) Test if minimal reduction matrix.booleanisMinReductionMatrix(List<GenPolynomial<C>> F, List<GenPolynomial<C>> G, List<List<GenPolynomial<C>>> Mf, List<List<GenPolynomial<C>>> Mg) Test if minimal reduction matrix.booleanisReductionMatrix(ExtendedGB<C> exgb) Test if reduction matrix.booleanisReductionMatrix(List<GenPolynomial<C>> F, List<GenPolynomial<C>> G, List<List<GenPolynomial<C>>> Mf, List<List<GenPolynomial<C>>> Mg) Test if reduction matrix.minimalExtendedGB(int flen, List<GenPolynomial<C>> Gp, List<List<GenPolynomial<C>>> M) Minimal extended groebner basis.minimalGB(List<GenPolynomial<C>> Gp) Minimal ordered Groebner basis.List<List<GenPolynomial<C>>> normalizeMatrix(int flen, List<List<GenPolynomial<C>>> M) Normalize M.Normalize polynomial list.voidCleanup and terminate ThreadPool.toString()Get the String representation with GB engines.Univariate head term degrees.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface GroebnerBase
GB
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug -
red
-
strategy
-
blas
linear algebra engine.
-
-
Constructor Details
-
GroebnerBaseAbstract
public GroebnerBaseAbstract()Constructor. -
GroebnerBaseAbstract
-
GroebnerBaseAbstract
-
GroebnerBaseAbstract
-
-
Method Details
-
toString
-
normalizeZerosOnes
Normalize polynomial list.- Parameters:
A- list of polynomials.- Returns:
- list of polynomials with zeros removed and ones/units reduced.
-
isGB
Groebner base test.- Specified by:
isGBin interfaceGroebnerBase<C extends RingElem<C>>- Parameters:
F- polynomial list.- Returns:
- true, if F is a Groebner base, else false.
-
isGB
Groebner base test.- Specified by:
isGBin interfaceGroebnerBase<C extends RingElem<C>>- Parameters:
modv- module variable number.F- polynomial list.- Returns:
- true, if F is a Groebner base, else false.
-
isGB
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
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
Groebner base simple test.- Parameters:
modv- module variable number.F- polynomial list.- Returns:
- true, if F is a Groebner base, else false.
-
criterion3
GB criterium 3.- Returns:
- true if the S-polynomial(i,j) is required.
-
isGBidem
Groebner base idempotence test.- Parameters:
modv- module variable number.F- polynomial list.- Returns:
- true, if F is equal to GB(F), else false.
-
commonZeroTest
Common zero test.- Parameters:
F- polynomial list.- Returns:
- -1, 0 or 1 if dimension(ideal(F)) &eq; -1, 0 or ≥ 1.
-
GB
Groebner base using pairlist class.- Specified by:
GBin interfaceGroebnerBase<C extends RingElem<C>>- Parameters:
F- polynomial list.- Returns:
- GB(F) a Groebner base of F.
-
isGB
isGB.- Specified by:
isGBin interfaceGroebnerBase<C extends RingElem<C>>- Parameters:
M- a module basis.- Returns:
- true, if M is a Groebner base, else false.
-
isGB
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
GB.- Specified by:
GBin interfaceGroebnerBase<C extends RingElem<C>>- Parameters:
M- a module basis.- Returns:
- GB(M), a Groebner base of M.
-
GB
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
Extended Groebner base using critical pair class.- Specified by:
extGBin interfaceGroebnerBase<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
Extended Groebner base using critical pair class.- Specified by:
extGBin interfaceGroebnerBase<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.
-
minimalGB
Minimal ordered Groebner basis.- Specified by:
minimalGBin interfaceGroebnerBase<C extends RingElem<C>>- Parameters:
Gp- a Groebner base.- Returns:
- a reduced Groebner base of Gp.
-
isMinimalGB
Test for minimal ordered Groebner basis.- Parameters:
Gp- an ideal base.- Returns:
- true, if Gp is a reduced minimal Groebner base.
-
isReductionMatrix
Test if reduction matrix.- Specified by:
isReductionMatrixin interfaceGroebnerBase<C extends RingElem<C>>- Parameters:
exgb- an ExtendedGB container.- Returns:
- true, if exgb contains a reduction matrix, else false.
-
isMinReductionMatrix
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(List<GenPolynomial<C>> F, List<GenPolynomial<C>> G, List<List<GenPolynomial<C>>> Mf, List<List<GenPolynomial<C>>> Mg) Test if reduction matrix.- Specified by:
isReductionMatrixin interfaceGroebnerBase<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(List<GenPolynomial<C>> F, List<GenPolynomial<C>> G, List<List<GenPolynomial<C>>> Mf, List<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
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<C> minimalExtendedGB(int flen, List<GenPolynomial<C>> Gp, List<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
Univariate head term degrees.- Parameters:
A- list of polynomials.- Returns:
- a list of the degrees of univariate head terms.
-
constructUnivariate
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.
-