Package edu.jas.gb
Class GroebnerBaseSigSeqIter<C extends RingElem<C>>
java.lang.Object
edu.jas.gb.GroebnerBaseAbstract<C>
edu.jas.gb.GroebnerBaseSigSeqIter<C>
- Type Parameters:
C
- coefficient type
- All Implemented Interfaces:
GroebnerBase<C>
,Serializable
- Direct Known Subclasses:
GroebnerBaseArriSigSeqIter
,GroebnerBaseF5zSigSeqIter
,GroebnerBaseGGVSigSeqIter
Groebner Base signature based sequential iterative algorithm. Implements
Groebner bases after the paper "Signature-based Algorithms to Compute Gröbner
Bases" by Christian Eder and John Perry, ISSAC 2011. Compare the jython+JAS
code in examples/basic_sigbased_gb.py. Originally the Python+Sage code is
from http://www.math.usm.edu/perry/Research/basic_sigbased_gb.py
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final boolean
private static final org.apache.logging.log4j.Logger
(package private) final SigReductionSeq
<C> Fields inherited from class edu.jas.gb.GroebnerBaseAbstract
blas, red, strategy
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor.Constructor. -
Method Summary
Modifier and TypeMethodDescriptionGB
(int modv, List<GenPolynomial<C>> F) Groebner base signature iterative algorithm.GB
(int modv, List<GenPolynomial<C>> G, GenPolynomial<C> f) Groebner base iterated.initializeSyz
(List<GenPolynomial<C>> F, List<SigPoly<C>> G) Initializes syzygy list.Pair with signature.Pair with signature.Prune total pair list P.Prune pair list of degree d.sigNormalform
(List<GenPolynomial<C>> F, List<SigPoly<C>> G, SigPoly<C> A) Top normalform.(package private) GenPolynomial
<C> SPolynomial
(SigPair<C> P) S-Polynomial.(package private) GenPolynomial
<C> SPolynomial
(SigPoly<C> A, SigPoly<C> B) S-Polynomial.(package private) GenPolynomial<C>[]
SPolynomialFactors
(SigPoly<C> A, SigPoly<C> B) S-Polynomial polynomial factors.(package private) void
Update syzygy list.Methods inherited from class edu.jas.gb.GroebnerBaseAbstract
cancel, commonZeroTest, constructUnivariate, criterion3, 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 -
debug
private static final boolean debug -
sred
-
-
Constructor Details
-
GroebnerBaseSigSeqIter
public GroebnerBaseSigSeqIter()Constructor. -
GroebnerBaseSigSeqIter
Constructor.- Parameters:
red
- Reduction engine
-
-
Method Details
-
GB
Groebner base signature iterative algorithm.- Parameters:
modv
- module variable number.F
- polynomial list.- Returns:
- GB(F) a Groebner base of F.
-
GB
Groebner base iterated.- Parameters:
modv
- module variable number.G
- polynomial list of a Groebner base.f
- polynomial.- Returns:
- GB(G,f) a Groebner base of G+(f).
-
SPolynomial
S-Polynomial.- Parameters:
A
- monic polynomial.B
- monic polynomial.- Returns:
- spol(A,B) the S-polynomial of the A and B.
-
SPolynomial
S-Polynomial.- Parameters:
P
- pair.- Returns:
- spol(A,B) the S-polynomial of the pair (A,B).
-
SPolynomialFactors
S-Polynomial polynomial factors.- Parameters:
A
- monic polynomial.B
- monic polynomial.- Returns:
- polynomials [e,f] such that spol(A,B) = e*a - f*B.
-
newPair
Pair with signature.- Parameters:
A
- polynomial with signature.B
- polynomial with signature.G
- polynomial ith signature list.- Returns:
- signature pair according to algorithm.
-
newPair
Pair with signature.- Parameters:
s
- signature for pair.A
- polynomial with signature.B
- polynomial with signature.G
- polynomial ith signature list.- Returns:
- signature pair according to algorithm.
-
sigNormalform
Top normalform.- Parameters:
F
- polynomial list.G
- polynomial list.A
- polynomial.- Returns:
- nf(A) with respect to F and G.
-
pruneP
Prune total pair list P.- Parameters:
P
- pair list.syz
- list of exponent vectors representing syzygies.- Returns:
- updated pair list.
-
pruneS
List<SigPair<C>> pruneS(List<SigPair<C>> S, List<ExpVector> syz, List<SigPoly<C>> done, List<SigPoly<C>> G) Prune pair list of degree d.- Parameters:
S
- pair list.syz
- list of exponent vectors representing syzygies.done
- list of treated polynomials.G
- polynomial with signature list.- Returns:
- updated pair list.
-
initializeSyz
Initializes syzygy list.- Parameters:
F
- polynomial list.G
- polynomial with signature list.- Returns:
- list of exponent vectors representing syzygies.
-
updateSyz
Update syzygy list.- Parameters:
syz
- list of exponent vectors representing syzygies.r
- polynomial. Note: szy is modified to represent updated list of exponent vectors.
-