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

java.lang.Object
  extended by edu.jas.gb.ReductionAbstract<C>
      extended by edu.jas.gb.DReductionSeq<C>
Type Parameters:
C - coefficient type
All Implemented Interfaces:
DReduction<C>, Reduction<C>, java.io.Serializable
Direct Known Subclasses:
EReductionSeq

public class DReductionSeq<C extends RingElem<C>>
extends ReductionAbstract<C>
implements DReduction<C>

Polynomial D-Reduction sequential use algorithm. Implements normalform.

Author:
Heinz Kredel
See Also:
Serialized Form

Constructor Summary
DReductionSeq()
          Constructor.
 
Method Summary
 boolean criterion4(GenPolynomial<C> A, GenPolynomial<C> B)
          GB criterium 4.
 boolean criterion4(GenPolynomial<C> A, GenPolynomial<C> B, ExpVector e)
          GB criterium 4.
 GenPolynomial<C> GPolynomial(GenPolynomial<C> Ap, GenPolynomial<C> Bp)
          G-Polynomial.
 GenPolynomial<C> GPolynomial(java.util.List<GenPolynomial<C>> S, int i, GenPolynomial<C> Ap, int j, GenPolynomial<C> Bp)
          D-Polynomial with recording.
 java.util.List<GenPolynomial<C>> irreducibleSet(java.util.List<GenPolynomial<C>> Pp)
          Irreducible set.
 boolean isNormalform(java.util.List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap)
          Is in Normalform.
 boolean isTopReducible(java.util.List<GenPolynomial<C>> P, GenPolynomial<C> A)
          Is top reducible.
 GenPolynomial<C> normalform(java.util.List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap)
          Normalform using d-reduction.
 GenPolynomial<C> normalform(java.util.List<GenPolynomial<C>> row, java.util.List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap)
          Normalform with recording.
 GenPolynomial<C> SPolynomial(GenPolynomial<C> Ap, GenPolynomial<C> Bp)
          S-Polynomial.
 
Methods inherited from class edu.jas.gb.ReductionAbstract
isNormalform, isReducible, isReductionNF, moduleCriterion, moduleCriterion, normalform, SPolynomial
 
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.Reduction
isNormalform, isReducible, isReductionNF, moduleCriterion, moduleCriterion, normalform, SPolynomial
 

Constructor Detail

DReductionSeq

public DReductionSeq()
Constructor.

Method Detail

isTopReducible

public boolean isTopReducible(java.util.List<GenPolynomial<C>> P,
                              GenPolynomial<C> A)
Is top reducible.

Specified by:
isTopReducible in interface Reduction<C extends RingElem<C>>
Overrides:
isTopReducible in class ReductionAbstract<C extends RingElem<C>>
Parameters:
A - polynomial.
P - polynomial list.
Returns:
true if A is top reducible with respect to P.

isNormalform

public boolean isNormalform(java.util.List<GenPolynomial<C>> Pp,
                            GenPolynomial<C> Ap)
Is in Normalform.

Specified by:
isNormalform in interface Reduction<C extends RingElem<C>>
Overrides:
isNormalform in class ReductionAbstract<C extends RingElem<C>>
Parameters:
Ap - polynomial.
Pp - polynomial list.
Returns:
true if Ap is in normalform with respect to Pp.

normalform

public GenPolynomial<C> normalform(java.util.List<GenPolynomial<C>> Pp,
                                   GenPolynomial<C> Ap)
Normalform using d-reduction.

Specified by:
normalform in interface Reduction<C extends RingElem<C>>
Parameters:
Ap - polynomial.
Pp - polynomial list.
Returns:
d-nf(Ap) with respect to Pp.

SPolynomial

public GenPolynomial<C> SPolynomial(GenPolynomial<C> Ap,
                                    GenPolynomial<C> Bp)
S-Polynomial.

Specified by:
SPolynomial in interface Reduction<C extends RingElem<C>>
Overrides:
SPolynomial in class ReductionAbstract<C extends RingElem<C>>
Parameters:
Ap - polynomial.
Bp - polynomial.
Returns:
spol(Ap,Bp) the S-polynomial of Ap and Bp.

GPolynomial

public GenPolynomial<C> GPolynomial(GenPolynomial<C> Ap,
                                    GenPolynomial<C> Bp)
G-Polynomial.

Specified by:
GPolynomial in interface DReduction<C extends RingElem<C>>
Parameters:
Ap - polynomial.
Bp - polynomial.
Returns:
gpol(Ap,Bp) the g-polynomial of Ap and Bp.

GPolynomial

public GenPolynomial<C> GPolynomial(java.util.List<GenPolynomial<C>> S,
                                    int i,
                                    GenPolynomial<C> Ap,
                                    int j,
                                    GenPolynomial<C> Bp)
D-Polynomial with recording.

Specified by:
GPolynomial in interface DReduction<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:
gpol(Ap, Bp), the g-Polynomial for Ap and Bp.

criterion4

public boolean criterion4(GenPolynomial<C> A,
                          GenPolynomial<C> B,
                          ExpVector e)
GB criterium 4. Use only for commutative polynomial rings. This version works also for d-Groebner bases.

Specified by:
criterion4 in interface Reduction<C extends RingElem<C>>
Overrides:
criterion4 in class ReductionAbstract<C extends RingElem<C>>
Parameters:
A - polynomial.
B - polynomial.
e - = lcm(ht(A),ht(B))
Returns:
true if the S-polynomial(i,j) is required, else false.

criterion4

public boolean criterion4(GenPolynomial<C> A,
                          GenPolynomial<C> B)
GB criterium 4. Use only for commutative polynomial rings. This version works also for d-Groebner bases.

Specified by:
criterion4 in interface Reduction<C extends RingElem<C>>
Overrides:
criterion4 in class ReductionAbstract<C extends RingElem<C>>
Parameters:
A - polynomial.
B - polynomial.
Returns:
true if the S-polynomial(i,j) is required, else false.

normalform

public GenPolynomial<C> normalform(java.util.List<GenPolynomial<C>> row,
                                   java.util.List<GenPolynomial<C>> Pp,
                                   GenPolynomial<C> Ap)
Normalform with recording.

Specified by:
normalform in interface Reduction<C extends RingElem<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.

irreducibleSet

public java.util.List<GenPolynomial<C>> irreducibleSet(java.util.List<GenPolynomial<C>> Pp)
Irreducible set.

Specified by:
irreducibleSet in interface Reduction<C extends RingElem<C>>
Overrides:
irreducibleSet in class ReductionAbstract<C extends RingElem<C>>
Parameters:
Pp - polynomial list.
Returns:
a list P of polynomials which are in normalform wrt. P.