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>
,java.io.Serializable
- Direct Known Subclasses:
SolvablePseudoReductionSeq
,SolvableReductionPar
,SolvableReductionSeq
public abstract class SolvableReductionAbstract<C extends RingElem<C>> extends java.lang.Object implements SolvableReduction<C>
Solvable polynomial Reduction abstract class. Implements common left, right S-Polynomial, left normalform and left irreducible set.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SolvableReductionAbstract()
Constructor.
-
Method Summary
-
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
-
-
-
-
Constructor Detail
-
SolvableReductionAbstract
public SolvableReductionAbstract()
Constructor.
-
-
Method Detail
-
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(java.util.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 java.util.List<GenSolvablePolynomial<C>> leftNormalform(java.util.List<GenSolvablePolynomial<C>> Pp, java.util.List<GenSolvablePolynomial<C>> Ap)
Left Normalform Set.- Specified by:
leftNormalform
in interfaceSolvableReduction<C extends RingElem<C>>
- Parameters:
Ap
- solvable polynomial list.Pp
- solvable polynomial list.- Returns:
- list of left-nf(a) with respect to Pp for all a in Ap.
-
leftNormalform
public ModuleList<C> leftNormalform(ModuleList<C> Pp, ModuleList<C> Ap)
Module left normalform set.- Parameters:
Ap
- module list.Pp
- module list.- Returns:
- list of left-nf(a) with respect to Pp for all a in Ap.
-
leftNormalform
public ModuleList<C> leftNormalform(ModuleList<C> Pp, ModuleList<C> Ap, boolean top)
Module left normalform set.- Parameters:
Ap
- module list.Pp
- 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
public java.util.List<GenSolvablePolynomial<C>> leftIrreducibleSet(java.util.List<GenSolvablePolynomial<C>> Pp)
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(java.util.List<GenSolvablePolynomial<C>> row, java.util.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(java.util.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
public boolean isTopReducible(java.util.List<GenSolvablePolynomial<C>> P, GenSolvablePolynomial<C> A)
Is top reducible. Is left right symmetric.- Specified by:
isTopReducible
in interfaceSolvableReduction<C extends RingElem<C>>
- Parameters:
A
- solvable polynomial.P
- solvable polynomial list.- Returns:
- true if A is top reducible with respect to P.
-
isReducible
public boolean isReducible(java.util.List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap)
Is reducible. Is left right symmetric.- Specified by:
isReducible
in interfaceSolvableReduction<C extends RingElem<C>>
- Parameters:
Ap
- solvable polynomial.Pp
- solvable polynomial list.- Returns:
- true if Ap is reducible with respect to Pp.
-
isNormalform
public boolean isNormalform(java.util.List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap)
Is in Normalform. Is left right symmetric.- Specified by:
isNormalform
in interfaceSolvableReduction<C extends RingElem<C>>
- Parameters:
Ap
- polynomial.Pp
- polynomial list.- Returns:
- true if Ap is in normalform with respect to Pp.
-
isRightReductionNF
public boolean isRightReductionNF(java.util.List<GenSolvablePolynomial<C>> row, java.util.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(java.util.List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap)
Two-sided Normalform.- Specified by:
normalform
in interfaceSolvableReduction<C extends RingElem<C>>
- Parameters:
Ap
- solvable polynomial.Pp
- solvable polynomial list.- Returns:
- two-sided-nf(Ap) with respect to Pp.
-
-