Class SolvableReductionAbstract<C extends RingElem<C>>
java.lang.Object
edu.jas.gb.SolvableReductionAbstract<C>
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
SolvableReduction<C>, Serializable
- Direct Known Subclasses:
SolvablePseudoReductionSeq, SolvableReductionPar, SolvableReductionSeq
public abstract class SolvableReductionAbstract<C extends RingElem<C>>
extends Object
implements SolvableReduction<C>
Solvable polynomial Reduction abstract class. Implements common left, right
S-Polynomial, left normalform and left irreducible set.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanisLeftReductionNF(List<GenSolvablePolynomial<C>> row, List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap, GenSolvablePolynomial<C> Np) Is reduction of normal form.booleanisNormalform(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Is in Normalform.booleanisReducible(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Is reducible.booleanisRightReductionNF(List<GenSolvablePolynomial<C>> row, List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap, GenSolvablePolynomial<C> Np) Is right reduction of normal form.booleanIs top reducible.Left irreducible set.leftNormalform(ModuleList<C> Pp, ModuleList<C> Ap) Module left normalform set.leftNormalform(ModuleList<C> Pp, ModuleList<C> Ap, boolean top) Module left normalform set.leftNormalform(List<GenSolvablePolynomial<C>> Pp, List<GenSolvablePolynomial<C>> Ap) Left Normalform Set.Left S-Polynomial.leftSPolynomial(List<GenSolvablePolynomial<C>> S, int i, GenSolvablePolynomial<C> Ap, int j, GenSolvablePolynomial<C> Bp) S-Polynomial with recording.normalform(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Two-sided Normalform.Right S-Polynomial.rightSPolynomial(List<GenSolvablePolynomial<C>> S, int i, GenSolvablePolynomial<C> Ap, int j, GenSolvablePolynomial<C> Bp) S-Polynomial with recording.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface SolvableReduction
leftNormalform, leftNormalform, rightNormalform, rightNormalform
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug
-
-
Constructor Details
-
SolvableReductionAbstract
public SolvableReductionAbstract()Constructor.
-
-
Method Details
-
leftSPolynomial
public GenSolvablePolynomial<C> leftSPolynomial(GenSolvablePolynomial<C> Ap, GenSolvablePolynomial<C> Bp) Left S-Polynomial.- Specified by:
leftSPolynomialin interfaceSolvableReduction<C extends RingElem<C>>- Parameters:
Ap- solvable polynomial.Bp- solvable polynomial.- Returns:
- left-spol(Ap,Bp) the left S-polynomial of Ap and Bp.
-
leftSPolynomial
public GenSolvablePolynomial<C> leftSPolynomial(List<GenSolvablePolynomial<C>> S, int i, GenSolvablePolynomial<C> Ap, int j, GenSolvablePolynomial<C> Bp) S-Polynomial with recording.- Specified by:
leftSPolynomialin interfaceSolvableReduction<C extends RingElem<C>>- Parameters:
S- recording matrix, is modified.i- index of Ap in basis list.Ap- a polynomial.j- index of Bp in basis list.Bp- a polynomial.- Returns:
- leftSpol(Ap, Bp), the left S-Polynomial for Ap and Bp.
-
leftNormalform
public List<GenSolvablePolynomial<C>> leftNormalform(List<GenSolvablePolynomial<C>> Pp, List<GenSolvablePolynomial<C>> Ap) Left Normalform Set.- Specified by:
leftNormalformin interfaceSolvableReduction<C extends RingElem<C>>- Parameters:
Pp- solvable polynomial list.Ap- solvable polynomial list.- Returns:
- list of left-nf(a) with respect to Pp for all a in Ap.
-
leftNormalform
Module left normalform set.- Parameters:
Pp- module list.Ap- module list.- Returns:
- list of left-nf(a) with respect to Pp for all a in Ap.
-
leftNormalform
Module left normalform set.- Parameters:
Pp- module list.Ap- module list.top- true for TOP term order, false for POT term order.- Returns:
- list of left-nf(a) with respect to Pp for all a in Ap.
-
leftIrreducibleSet
Left irreducible set.- Specified by:
leftIrreducibleSetin interfaceSolvableReduction<C extends RingElem<C>>- Parameters:
Pp- solvable polynomial list.- Returns:
- a list P of solvable polynomials which are in normalform wrt. P.
-
isLeftReductionNF
public boolean isLeftReductionNF(List<GenSolvablePolynomial<C>> row, List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap, GenSolvablePolynomial<C> Np) Is reduction of normal form.- Specified by:
isLeftReductionNFin interfaceSolvableReduction<C extends RingElem<C>>- Parameters:
row- recording matrix.Pp- a solvable polynomial list for reduction.Ap- a solvable polynomial.Np- nf(Pp,Ap), a left normal form of Ap wrt. Pp.- Returns:
- true, if Np + sum( row[i]*Pp[i] ) == Ap, else false.
-
rightSPolynomial
public GenSolvablePolynomial<C> rightSPolynomial(GenSolvablePolynomial<C> Ap, GenSolvablePolynomial<C> Bp) Right S-Polynomial.- Specified by:
rightSPolynomialin interfaceSolvableReduction<C extends RingElem<C>>- Parameters:
Ap- solvable polynomial.Bp- solvable polynomial.- Returns:
- right-spol(Ap,Bp) the right S-polynomial of Ap and Bp.
-
rightSPolynomial
public GenSolvablePolynomial<C> rightSPolynomial(List<GenSolvablePolynomial<C>> S, int i, GenSolvablePolynomial<C> Ap, int j, GenSolvablePolynomial<C> Bp) S-Polynomial with recording.- Parameters:
S- recording matrix, is modified.i- index of Ap in basis list.Ap- a polynomial.j- index of Bp in basis list.Bp- a polynomial.- Returns:
- rightSpol(Ap, Bp), the right S-Polynomial for Ap and Bp.
-
isTopReducible
Is top reducible. Is left right symmetric.- Specified by:
isTopReduciblein interfaceSolvableReduction<C extends RingElem<C>>- Parameters:
P- solvable polynomial list.A- solvable polynomial.- Returns:
- true if A is top reducible with respect to P.
-
isReducible
Is reducible. Is left right symmetric.- Specified by:
isReduciblein interfaceSolvableReduction<C extends RingElem<C>>- Parameters:
Pp- solvable polynomial list.Ap- solvable polynomial.- Returns:
- true if Ap is reducible with respect to Pp.
-
isNormalform
Is in Normalform. Is left right symmetric.- Specified by:
isNormalformin interfaceSolvableReduction<C extends RingElem<C>>- Parameters:
Pp- polynomial list.Ap- polynomial.- Returns:
- true if Ap is in normalform with respect to Pp.
-
isRightReductionNF
public boolean isRightReductionNF(List<GenSolvablePolynomial<C>> row, List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap, GenSolvablePolynomial<C> Np) Is right reduction of normal form.- Specified by:
isRightReductionNFin interfaceSolvableReduction<C extends RingElem<C>>- Parameters:
row- recording matrix.Pp- a solvable polynomial list for reduction.Ap- a solvable polynomial.Np- nf(Pp,Ap), a left normal form of Ap wrt. Pp.- Returns:
- true, if Np + sum( Pp[i]*row[i] ) == Ap, else false.
-
normalform
public GenSolvablePolynomial<C> normalform(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Two-sided Normalform.- Specified by:
normalformin interfaceSolvableReduction<C extends RingElem<C>>- Parameters:
Pp- solvable polynomial list.Ap- solvable polynomial.- Returns:
- two-sided-nf(Ap) with respect to Pp.
-