Package edu.jas.gbufd
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 edu.jas.gb.SolvableReductionAbstract
isLeftReductionNF, isNormalform, isReducible, isRightReductionNF, isTopReducible, leftIrreducibleSet, leftNormalform, leftNormalform, leftNormalform, leftSPolynomial, leftSPolynomial, normalform, rightSPolynomial, rightSPolynomial
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
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:
leftNormalform
in 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:
leftNormalformRecursive
in 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 factormf
with(nf,mf) = normalformfactor(Pp,Ap)
, then call this method withnormalform(row,Pp,mf*Ap)
.- Specified by:
leftNormalform
in 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:
leftNormalformFactor
in 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:
rightNormalform
in 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:
rightNormalformRecursive
in 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 factormf
with(nf, mf) = normalformfactor(Pp,Ap)
, then call this method withnormalform(row,Pp,mf*Ap)
.- Specified by:
rightNormalform
in 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:
rightNormalformFactor
in 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.
-