Class SolvablePseudoReductionSeq<C extends GcdRingElem<C>>
java.lang.Object
edu.jas.gb.SolvableReductionAbstract<C>
edu.jas.gbufd.SolvablePseudoReductionSeq<C>
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
SolvableReduction<C>, SolvablePseudoReduction<C>, Serializable
public class SolvablePseudoReductionSeq<C extends GcdRingElem<C>>
extends SolvableReductionAbstract<C>
implements SolvablePseudoReduction<C>
Polynomial pseudo reduction sequential use algorithm. Coefficients of
polynomials must not be from a field, i.e. the fraction free reduction is
implemented. Implements normalform.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionleftNormalform(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Left normalform.leftNormalform(List<GenSolvablePolynomial<C>> row, List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Left normalform with recording.Left normalform with factor.leftNormalformRecursive(List<GenSolvablePolynomial<GenPolynomial<C>>> Pp, GenSolvablePolynomial<GenPolynomial<C>> Ap) Left normalform recursive.rightNormalform(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Right normalform.rightNormalform(List<GenSolvablePolynomial<C>> row, List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Right normalform with recording.Right normalform with multiplication factor.rightNormalformRecursive(List<GenSolvablePolynomial<GenPolynomial<C>>> Pp, GenSolvablePolynomial<GenPolynomial<C>> Ap) Right normalform recursive.Methods inherited from class SolvableReductionAbstract
isLeftReductionNF, isNormalform, isReducible, isRightReductionNF, isTopReducible, leftIrreducibleSet, leftNormalform, leftNormalform, leftNormalform, leftSPolynomial, leftSPolynomial, normalform, rightSPolynomial, rightSPolynomialMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface SolvableReduction
isLeftReductionNF, isNormalform, isReducible, isRightReductionNF, isTopReducible, leftIrreducibleSet, leftNormalform, leftSPolynomial, leftSPolynomial, normalform, rightSPolynomial
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug
-
-
Constructor Details
-
SolvablePseudoReductionSeq
public SolvablePseudoReductionSeq()Constructor.
-
-
Method Details
-
leftNormalform
public GenSolvablePolynomial<C> leftNormalform(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Left normalform.- Specified by:
leftNormalformin interfaceSolvableReduction<C extends GcdRingElem<C>>- Parameters:
Pp- polynomial list.Ap- polynomial.- Returns:
- nf(Ap) with respect to Pp.
-
leftNormalformRecursive
public GenSolvablePolynomial<GenPolynomial<C>> leftNormalformRecursive(List<GenSolvablePolynomial<GenPolynomial<C>>> Pp, GenSolvablePolynomial<GenPolynomial<C>> Ap) Left normalform recursive.- Specified by:
leftNormalformRecursivein interfaceSolvablePseudoReduction<C extends GcdRingElem<C>>- Parameters:
Pp- recursive polynomial list.Ap- recursive polynomial.- Returns:
- nf(Ap) with respect to Pp.
-
leftNormalform
public GenSolvablePolynomial<C> leftNormalform(List<GenSolvablePolynomial<C>> row, List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Left normalform with recording. Note: Only meaningful if all divisions are exact. Compute first the multiplication factormfwith(nf,mf) = normalformfactor(Pp,Ap), then call this method withnormalform(row,Pp,mf*Ap).- Specified by:
leftNormalformin interfaceSolvableReduction<C extends GcdRingElem<C>>- Parameters:
row- recording matrix, is modified.Pp- a polynomial list for reduction.Ap- a polynomial.- Returns:
- nf(Pp,Ap), the normal form of Ap wrt. Pp.
-
leftNormalformFactor
public PseudoReductionEntry<C> leftNormalformFactor(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Left normalform with factor.- Specified by:
leftNormalformFactorin interfaceSolvablePseudoReduction<C extends GcdRingElem<C>>- Parameters:
Pp- polynomial list.Ap- polynomial.- Returns:
- ( nf(Ap), mf ) with respect to Pp and mf as multiplication factor for Ap.
-
rightNormalform
public GenSolvablePolynomial<C> rightNormalform(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Right normalform.- Specified by:
rightNormalformin interfaceSolvableReduction<C extends GcdRingElem<C>>- Parameters:
Pp- polynomial list.Ap- polynomial.- Returns:
- nf(Ap) with respect to Pp.
-
rightNormalformRecursive
public GenSolvablePolynomial<GenPolynomial<C>> rightNormalformRecursive(List<GenSolvablePolynomial<GenPolynomial<C>>> Pp, GenSolvablePolynomial<GenPolynomial<C>> Ap) Right normalform recursive.- Specified by:
rightNormalformRecursivein interfaceSolvablePseudoReduction<C extends GcdRingElem<C>>- Parameters:
Pp- recursive polynomial list.Ap- recursive polynomial.- Returns:
- nf(Ap) with respect to Pp.
-
rightNormalform
public GenSolvablePolynomial<C> rightNormalform(List<GenSolvablePolynomial<C>> row, List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Right normalform with recording. Note: Only meaningful if all divisions are exact. Compute first the multiplication factormfwith(nf, mf) = normalformfactor(Pp,Ap), then call this method withnormalform(row,Pp,mf*Ap).- Specified by:
rightNormalformin interfaceSolvableReduction<C extends GcdRingElem<C>>- Parameters:
row- recording matrix, is modified.Pp- a polynomial list for reduction.Ap- a polynomial.- Returns:
- nf(Pp,Ap), the normal form of Ap wrt. Pp.
-
rightNormalformFactor
public PseudoReductionEntry<C> rightNormalformFactor(List<GenSolvablePolynomial<C>> Pp, GenSolvablePolynomial<C> Ap) Right normalform with multiplication factor.- Specified by:
rightNormalformFactorin interfaceSolvablePseudoReduction<C extends GcdRingElem<C>>- Parameters:
Pp- polynomial list.Ap- polynomial.- Returns:
- ( nf(Ap), mf ) with respect to Pp and mf as multiplication factor for Ap.
-