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>,java.io.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 java.lang.Object implements GroebnerBase<C>
Groebner Bases abstract class. Implements common Groebner bases and GB test methods.- Author:
- Heinz Kredel
- See Also:
GBAlgorithmBuilder,GBFactory, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description BasicLinAlg<GenPolynomial<C>>blaslinear algebra engine.Reduction<C>redReduction engine.PairList<C>strategyStrategy for pair selection.
-
Constructor Summary
Constructors Constructor Description GroebnerBaseAbstract()Constructor.GroebnerBaseAbstract(PairList<C> pl)Constructor.GroebnerBaseAbstract(Reduction<C> red)Constructor.GroebnerBaseAbstract(Reduction<C> red, PairList<C> pl)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcancel()Cancel ThreadPool.intcommonZeroTest(java.util.List<GenPolynomial<C>> F)Common zero test.GenPolynomial<C>constructUnivariate(int i, java.util.List<GenPolynomial<C>> G)Construct univariate polynomial of minimal degree in variable i of a zero dimensional ideal(G).ExtendedGB<C>extGB(int modv, java.util.List<GenPolynomial<C>> F)Extended Groebner base using critical pair class.ExtendedGB<C>extGB(java.util.List<GenPolynomial<C>> F)Extended Groebner base using critical pair class.ModuleList<C>GB(ModuleList<C> M)GB.ModuleList<C>GB(ModuleList<C> M, boolean top)GB.java.util.List<GenPolynomial<C>>GB(java.util.List<GenPolynomial<C>> F)Groebner base using pairlist class.booleanisGB(int modv, java.util.List<GenPolynomial<C>> F)Groebner base test.booleanisGB(int modv, java.util.List<GenPolynomial<C>> F, boolean b)Groebner base test.booleanisGB(ModuleList<C> M)isGB.booleanisGB(ModuleList<C> M, boolean top)isGB.booleanisGB(java.util.List<GenPolynomial<C>> F)Groebner base test.booleanisGB(java.util.List<GenPolynomial<C>> F, boolean b)Groebner base test.booleanisGBidem(int modv, java.util.List<GenPolynomial<C>> F)Groebner base idempotence test.booleanisGBsimple(int modv, java.util.List<GenPolynomial<C>> F)Groebner base simple test.booleanisMinimalGB(java.util.List<GenPolynomial<C>> Gp)Test for minimal ordered Groebner basis.booleanisReductionMatrix(ExtendedGB<C> exgb)Test if reduction matrix.booleanisReductionMatrix(java.util.List<GenPolynomial<C>> F, java.util.List<GenPolynomial<C>> G, java.util.List<java.util.List<GenPolynomial<C>>> Mf, java.util.List<java.util.List<GenPolynomial<C>>> Mg)Test if reduction matrix.ExtendedGB<C>minimalExtendedGB(int flen, java.util.List<GenPolynomial<C>> Gp, java.util.List<java.util.List<GenPolynomial<C>>> M)Minimal extended groebner basis.java.util.List<GenPolynomial<C>>minimalGB(java.util.List<GenPolynomial<C>> Gp)Minimal ordered Groebner basis.java.util.List<java.util.List<GenPolynomial<C>>>normalizeMatrix(int flen, java.util.List<java.util.List<GenPolynomial<C>>> M)Normalize M.java.util.List<GenPolynomial<C>>normalizeZerosOnes(java.util.List<GenPolynomial<C>> A)Normalize polynomial list.voidterminate()Cleanup and terminate ThreadPool.java.lang.StringtoString()Get the String representation with GB engines.java.util.List<java.lang.Long>univariateDegrees(java.util.List<GenPolynomial<C>> A)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
-
-
-
-
Constructor Detail
-
GroebnerBaseAbstract
public GroebnerBaseAbstract()
Constructor.
-
GroebnerBaseAbstract
public GroebnerBaseAbstract(Reduction<C> red)
Constructor.- Parameters:
red- Reduction engine
-
GroebnerBaseAbstract
public GroebnerBaseAbstract(PairList<C> pl)
Constructor.- Parameters:
pl- pair selection strategy
-
GroebnerBaseAbstract
public GroebnerBaseAbstract(Reduction<C> red, PairList<C> pl)
Constructor.- Parameters:
red- Reduction enginepl- pair selection strategy
-
-
Method Detail
-
toString
public java.lang.String toString()
Get the String representation with GB engines.- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
normalizeZerosOnes
public java.util.List<GenPolynomial<C>> normalizeZerosOnes(java.util.List<GenPolynomial<C>> A)
Normalize polynomial list.- Parameters:
A- list of polynomials.- Returns:
- list of polynomials with zeros removed and ones/units reduced.
-
isGB
public boolean isGB(java.util.List<GenPolynomial<C>> F)
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
public boolean isGB(int modv, java.util.List<GenPolynomial<C>> F)
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
public boolean isGB(java.util.List<GenPolynomial<C>> F, boolean b)
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
public boolean isGB(int modv, java.util.List<GenPolynomial<C>> F, boolean b)
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
public boolean isGBsimple(int modv, java.util.List<GenPolynomial<C>> F)
Groebner base simple test.- Parameters:
modv- module variable number.F- polynomial list.- Returns:
- true, if F is a Groebner base, else false.
-
isGBidem
public boolean isGBidem(int modv, java.util.List<GenPolynomial<C>> F)
Groebner base idempotence test.- Parameters:
modv- module variable number.F- polynomial list.- Returns:
- true, if F is equal to GB(F), else false.
-
commonZeroTest
public int commonZeroTest(java.util.List<GenPolynomial<C>> F)
Common zero test.- Parameters:
F- polynomial list.- Returns:
- -1, 0 or 1 if dimension(ideal(F)) &eq; -1, 0 or ≥ 1.
-
GB
public java.util.List<GenPolynomial<C>> GB(java.util.List<GenPolynomial<C>> F)
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
public boolean isGB(ModuleList<C> M)
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
public boolean isGB(ModuleList<C> M, boolean top)
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
public ModuleList<C> GB(ModuleList<C> M)
GB.- Specified by:
GBin interfaceGroebnerBase<C extends RingElem<C>>- Parameters:
M- a module basis.- Returns:
- GB(M), a Groebner base of M.
-
GB
public ModuleList<C> GB(ModuleList<C> M, boolean top)
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
public ExtendedGB<C> extGB(java.util.List<GenPolynomial<C>> F)
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
public ExtendedGB<C> extGB(int modv, java.util.List<GenPolynomial<C>> F)
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
public java.util.List<GenPolynomial<C>> minimalGB(java.util.List<GenPolynomial<C>> Gp)
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
public boolean isMinimalGB(java.util.List<GenPolynomial<C>> Gp)
Test for minimal ordered Groebner basis.- Parameters:
Gp- an ideal base.- Returns:
- true, if Gp is a reduced minimal Groebner base.
-
isReductionMatrix
public boolean isReductionMatrix(ExtendedGB<C> exgb)
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.
-
isReductionMatrix
public boolean isReductionMatrix(java.util.List<GenPolynomial<C>> F, java.util.List<GenPolynomial<C>> G, java.util.List<java.util.List<GenPolynomial<C>>> Mf, java.util.List<java.util.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.Mf- a possible reduction matrix.Mg- a possible reduction matrix.- Returns:
- true, if Mg and Mf are reduction matrices, else false.
-
normalizeMatrix
public java.util.List<java.util.List<GenPolynomial<C>>> normalizeMatrix(int flen, java.util.List<java.util.List<GenPolynomial<C>>> M)
Normalize M. Make all rows the same size and make certain column elements zero.- Parameters:
M- a reduction matrix.- Returns:
- normalized M.
-
minimalExtendedGB
public ExtendedGB<C> minimalExtendedGB(int flen, java.util.List<GenPolynomial<C>> Gp, java.util.List<java.util.List<GenPolynomial<C>>> M)
Minimal extended groebner basis.- Parameters:
Gp- a Groebner base.M- a reduction matrix, is modified.- Returns:
- a (partially) reduced Groebner base of Gp in a container.
-
univariateDegrees
public java.util.List<java.lang.Long> univariateDegrees(java.util.List<GenPolynomial<C>> A)
Univariate head term degrees.- Parameters:
A- list of polynomials.- Returns:
- a list of the degrees of univariate head terms.
-
constructUnivariate
public GenPolynomial<C> constructUnivariate(int i, java.util.List<GenPolynomial<C>> G)
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.
-
-