Package edu.jas.gb
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 TypeMethodDescriptionboolean
isLeftReductionNF
(List<GenSolvablePolynomial<C>> row, List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap, GenSolvablePolynomial<C> Np) Is reduction of normal form.boolean
isNormalform
(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Is in Normalform.boolean
isReducible
(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Is reducible.boolean
isRightReductionNF
(List<GenSolvablePolynomial<C>> row, List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap, GenSolvablePolynomial<C> Np) Is right reduction of normal form.boolean
Is 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface edu.jas.gb.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:
leftSPolynomial
in 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:
leftSPolynomial
in 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:
leftNormalform
in 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:
leftIrreducibleSet
in 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:
isLeftReductionNF
in 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:
rightSPolynomial
in 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:
isTopReducible
in 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:
isReducible
in 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:
isNormalform
in 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:
isRightReductionNF
in 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:
normalform
in interfaceSolvableReduction<C extends RingElem<C>>
- Parameters:
Pp
- solvable polynomial list.Ap
- solvable polynomial.- Returns:
- two-sided-nf(Ap) with respect to Pp.
-