Package edu.jas.gb
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 TypeMethodDescriptionint
cancel()
Cancel ThreadPool.int
commonZeroTest
(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) boolean
criterion3
(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.boolean
isGB
(int modv, List<GenPolynomial<C>> F) Groebner base test.boolean
isGB
(int modv, List<GenPolynomial<C>> F, boolean b) Groebner base test.boolean
isGB
(ModuleList<C> M) isGB.boolean
isGB
(ModuleList<C> M, boolean top) isGB.boolean
isGB
(List<GenPolynomial<C>> F) Groebner base test.boolean
isGB
(List<GenPolynomial<C>> F, boolean b) Groebner base test.boolean
isGBidem
(int modv, List<GenPolynomial<C>> F) Groebner base idempotence test.boolean
isGBsimple
(int modv, List<GenPolynomial<C>> F) Groebner base simple test.boolean
isMinimalGB
(List<GenPolynomial<C>> Gp) Test for minimal ordered Groebner basis.boolean
isMinReductionMatrix
(ExtendedGB<C> exgb) Test if minimal reduction matrix.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.boolean
isReductionMatrix
(ExtendedGB<C> exgb) Test if reduction matrix.boolean
isReductionMatrix
(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.void
Cleanup and terminate ThreadPool.toString()
Get the String representation with GB engines.Univariate head term degrees.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface edu.jas.gb.GroebnerBase
GB
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug -
red
Reduction engine. -
strategy
Strategy for pair selection. -
blas
linear algebra engine.
-
-
Constructor Details
-
GroebnerBaseAbstract
public GroebnerBaseAbstract()Constructor. -
GroebnerBaseAbstract
Constructor.- Parameters:
red
- Reduction engine
-
GroebnerBaseAbstract
Constructor.- Parameters:
pl
- pair selection strategy
-
GroebnerBaseAbstract
Constructor.- Parameters:
red
- Reduction enginepl
- pair selection strategy
-
-
Method Details
-
toString
Get the String representation with GB engines. -
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:
isGB
in 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:
isGB
in 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:
GB
in interfaceGroebnerBase<C extends RingElem<C>>
- Parameters:
F
- polynomial list.- Returns:
- GB(F) a Groebner base of F.
-
isGB
isGB.- Specified by:
isGB
in 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:
GB
in 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:
extGB
in 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:
extGB
in 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:
minimalGB
in 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:
isReductionMatrix
in 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:
isReductionMatrix
in 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.
-