Class ReductionAbstract<C extends RingElem<C>>
java.lang.Object
edu.jas.gb.ReductionAbstract<C>
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
Reduction<C>, Serializable
- Direct Known Subclasses:
DReductionSeq, PseudoReductionPar, PseudoReductionSeq, ReductionPar, ReductionSeq, RReductionSeq
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancriterion4(ExpVector ei, ExpVector ej, ExpVector e) GB criterium 4.booleancriterion4(GenPolynomial<C> A, GenPolynomial<C> B) GB criterium 4.booleancriterion4(GenPolynomial<C> A, GenPolynomial<C> B, ExpVector e) GB criterium 4.irreducibleSet(List<GenPolynomial<C>> Pp) Irreducible set.booleanisNormalform(List<GenPolynomial<C>> Pp) Is in Normalform.booleanisNormalform(List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap) Is in Normalform.booleanisReducible(List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap) Is reducible.booleanisReductionNF(List<GenPolynomial<C>> row, List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap, GenPolynomial<C> Np) Is reduction of normal form.booleanisTopReducible(List<GenPolynomial<C>> P, GenPolynomial<C> A) Is top reducible.booleanmoduleCriterion(int modv, ExpVector ei, ExpVector ej) Module criterium.booleanmoduleCriterion(int modv, GenPolynomial<C> A, GenPolynomial<C> B) Module criterium.normalform(ModuleList<C> Pp, ModuleList<C> Ap) Module normalform set.normalform(ModuleList<C> Pp, ModuleList<C> Ap, boolean top) Module normalform set.normalform(List<GenPolynomial<C>> Pp, List<GenPolynomial<C>> Ap) Normalform Set.normalformMarked(List<Monomial<C>> Mp, List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap) Normalform with respect to marked head terms.SPolynomial(GenPolynomial<C> A, GenPolynomial<C> B) S-Polynomial.SPolynomial(List<GenPolynomial<C>> S, int i, GenPolynomial<C> A, int j, GenPolynomial<C> B) S-Polynomial with recording.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Reduction
normalform, normalform
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug
-
-
Constructor Details
-
ReductionAbstract
public ReductionAbstract()Constructor.
-
-
Method Details
-
SPolynomial
S-Polynomial.- Specified by:
SPolynomialin interfaceReduction<C extends RingElem<C>>- Parameters:
A- polynomial.B- polynomial.- Returns:
- spol(A,B) the S-polynomial of A and B.
-
SPolynomial
public GenPolynomial<C> SPolynomial(List<GenPolynomial<C>> S, int i, GenPolynomial<C> A, int j, GenPolynomial<C> B) S-Polynomial with recording.- Specified by:
SPolynomialin interfaceReduction<C extends RingElem<C>>- Parameters:
S- recording matrix, is modified. Note the negative S-polynomial is recorded as required by all applications.i- index of A in basis list.A- a polynomial.j- index of B in basis list.B- a polynomial.- Returns:
- Spol(A, B), the S-Polynomial for A and B.
-
moduleCriterion
Module criterium.- Specified by:
moduleCriterionin interfaceReduction<C extends RingElem<C>>- Parameters:
modv- number of module variables.A- polynomial.B- polynomial.- Returns:
- true if the module S-polynomial(i,j) is required.
-
moduleCriterion
Module criterium.- Specified by:
moduleCriterionin interfaceReduction<C extends RingElem<C>>- Parameters:
modv- number of module variables.ei- ExpVector.ej- ExpVector.- Returns:
- true if the module S-polynomial(i,j) is required.
-
criterion4
GB criterium 4. Use only for commutative polynomial rings.- Specified by:
criterion4in interfaceReduction<C extends RingElem<C>>- Parameters:
A- polynomial.B- polynomial.e- = lcm(ht(A),ht(B))- Returns:
- true if the S-polynomial(i,j) is required, else false.
-
criterion4
GB criterium 4. Use only for commutative polynomial rings.- Specified by:
criterion4in interfaceReduction<C extends RingElem<C>>- Parameters:
ei- exponent vector.ej- exponent vector.e- = lcm(ei,ej)- Returns:
- true if the S-polynomial(i,j) is required, else false.
-
criterion4
GB criterium 4.- Specified by:
criterion4in interfaceReduction<C extends RingElem<C>>- Parameters:
A- polynomial.B- polynomial.- Returns:
- true if the S-polynomial(i,j) is required, else false.
-
normalformMarked
public GenPolynomial<C> normalformMarked(List<Monomial<C>> Mp, List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap) Normalform with respect to marked head terms.- Parameters:
Mp- leading monomial list.Pp- polynomial list.Ap- polynomial.- Returns:
- nf(Ap) with respect to Mp+Pp.
-
normalform
Normalform Set.- Specified by:
normalformin interfaceReduction<C extends RingElem<C>>- Parameters:
Pp- polynomial list.Ap- polynomial list.- Returns:
- list of nf(a) with respect to Pp for all a in Ap.
-
normalform
Module normalform set.- Parameters:
Pp- module list.Ap- module list.- Returns:
- list of nf(a) with respect to Pp for all a in Ap.
-
normalform
Module normalform set.- Parameters:
Pp- module list.Ap- module list.top- true for TOP term order, false for POT term order.- Returns:
- list of nf(a) with respect to Pp for all a in Ap.
-
isTopReducible
Is top reducible.- Specified by:
isTopReduciblein interfaceReduction<C extends RingElem<C>>- Parameters:
P- polynomial list.A- polynomial.- Returns:
- true if A is top reducible with respect to P.
-
isReducible
Is reducible.- Specified by:
isReduciblein interfaceReduction<C extends RingElem<C>>- Parameters:
Pp- polynomial list.Ap- polynomial.- Returns:
- true if Ap is reducible with respect to Pp.
-
isNormalform
Is in Normalform.- Specified by:
isNormalformin interfaceReduction<C extends RingElem<C>>- Parameters:
Pp- polynomial list.Ap- polynomial.- Returns:
- true if Ap is in normalform with respect to Pp.
-
isNormalform
Is in Normalform.- Specified by:
isNormalformin interfaceReduction<C extends RingElem<C>>- Parameters:
Pp- polynomial list.- Returns:
- true if each Ap in Pp is in normalform with respect to Pp\{Ap}.
-
irreducibleSet
Irreducible set.- Specified by:
irreducibleSetin interfaceReduction<C extends RingElem<C>>- Parameters:
Pp- polynomial list.- Returns:
- a list P of monic polynomials which are in normalform wrt. P and with ideal(Pp) = ideal(P).
-
isReductionNF
public boolean isReductionNF(List<GenPolynomial<C>> row, List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap, GenPolynomial<C> Np) Is reduction of normal form.- Specified by:
isReductionNFin interfaceReduction<C extends RingElem<C>>- Parameters:
row- recording matrix.Pp- a polynomial list for reduction.Ap- a polynomial.Np- = nf(Pp,Ap), a normal form of Ap wrt. Pp.- Returns:
- true, if Ap == sum( row[i]*Pp[i] ) + Np, else false. //??
-