edu.jas.gb
Class SolvableReductionAbstract<C extends RingElem<C>>

java.lang.Object
  extended by edu.jas.gb.SolvableReductionAbstract<C>
Type Parameters:
C - coefficient type
All Implemented Interfaces:
SolvableReduction<C>
Direct Known Subclasses:
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

Constructor Summary
SolvableReductionAbstract()
          Constructor.
 
Method Summary
 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.
 java.util.List<GenSolvablePolynomial<C>> leftIrreducibleSet(java.util.List<GenSolvablePolynomial<C>> Pp)
          Left irreducible set.
 java.util.List<GenSolvablePolynomial<C>> leftNormalform(java.util.List<GenSolvablePolynomial<C>> Pp, java.util.List<GenSolvablePolynomial<C>> Ap)
          Left Normalform Set.
 GenSolvablePolynomial<C> leftSPolynomial(GenSolvablePolynomial<C> Ap, GenSolvablePolynomial<C> Bp)
          Left S-Polynomial.
 GenSolvablePolynomial<C> leftSPolynomial(java.util.List<GenSolvablePolynomial<C>> S, int i, GenSolvablePolynomial<C> Ap, int j, GenSolvablePolynomial<C> Bp)
          S-Polynomial with recording.
 GenSolvablePolynomial<C> rightSPolynomial(GenSolvablePolynomial<C> Ap, GenSolvablePolynomial<C> Bp)
          Right S-Polynomial.
 
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
 

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 interface SolvableReduction<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 interface SolvableReduction<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 interface SolvableReduction<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.

leftIrreducibleSet

public java.util.List<GenSolvablePolynomial<C>> leftIrreducibleSet(java.util.List<GenSolvablePolynomial<C>> Pp)
Left irreducible set.

Specified by:
leftIrreducibleSet in interface SolvableReduction<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 interface SolvableReduction<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 interface SolvableReduction<C extends RingElem<C>>
Parameters:
Ap - solvable polynomial.
Bp - solvable polynomial.
Returns:
right-spol(Ap,Bp) the right S-polynomial of Ap and Bp.