edu.jas.gb
Interface Reduction<C extends RingElem<C>>

Type Parameters:
C - coefficient type
All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
DReduction<C>, EReduction<C>, PseudoReduction<C>, RPseudoReduction<C>, RReduction<C>
All Known Implementing Classes:
DReductionSeq, EReductionSeq, PseudoReductionSeq, ReductionAbstract, ReductionPar, ReductionSeq, RPseudoReductionSeq, RReductionSeq

public interface Reduction<C extends RingElem<C>>
extends java.io.Serializable

Polynomial Reduction interface. Defines S-Polynomial, normalform, criterion 4, module criterion and irreducible set.

Author:
Heinz Kredel

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.
 java.util.List<GenPolynomial<C>> irreducibleSet(java.util.List<GenPolynomial<C>> Pp)
          Irreducible set.
 boolean isNormalform(java.util.List<GenPolynomial<C>> Pp)
          Is in Normalform.
 boolean isNormalform(java.util.List<GenPolynomial<C>> P, GenPolynomial<C> A)
          Is in Normalform.
 boolean isReducible(java.util.List<GenPolynomial<C>> P, GenPolynomial<C> A)
          Is reducible.
 boolean isReductionNF(java.util.List<GenPolynomial<C>> row, java.util.List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap, GenPolynomial<C> Np)
          Is reduction of normal form.
 boolean isTopReducible(java.util.List<GenPolynomial<C>> P, GenPolynomial<C> A)
          Is top reducible.
 boolean moduleCriterion(int modv, ExpVector ei, ExpVector ej)
          Module criterium.
 boolean moduleCriterion(int modv, GenPolynomial<C> A, GenPolynomial<C> B)
          Module criterium.
 GenPolynomial<C> normalform(java.util.List<GenPolynomial<C>> P, GenPolynomial<C> A)
          Normalform.
 java.util.List<GenPolynomial<C>> normalform(java.util.List<GenPolynomial<C>> Pp, java.util.List<GenPolynomial<C>> Ap)
          Normalform Set.
 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.
 GenPolynomial<C> SPolynomial(java.util.List<GenPolynomial<C>> S, int i, GenPolynomial<C> Ap, int j, GenPolynomial<C> Bp)
          S-Polynomial with recording.
 

Method Detail

SPolynomial

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

Parameters:
Ap - polynomial.
Bp - polynomial.
Returns:
spol(Ap,Bp) the S-polynomial of Ap and Bp.

SPolynomial

GenPolynomial<C> SPolynomial(java.util.List<GenPolynomial<C>> S,
                             int i,
                             GenPolynomial<C> Ap,
                             int j,
                             GenPolynomial<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:
Spol(Ap, Bp), the S-Polynomial for Ap and Bp.

moduleCriterion

boolean moduleCriterion(int modv,
                        GenPolynomial<C> A,
                        GenPolynomial<C> B)
Module criterium.

Parameters:
modv - number of module variables.
A - polynomial.
B - polynomial.
Returns:
true if the module S-polynomial(i,j) is required.

moduleCriterion

boolean moduleCriterion(int modv,
                        ExpVector ei,
                        ExpVector ej)
Module criterium.

Parameters:
modv - number of module variables.
ei - ExpVector.
ej - ExpVector.
Returns:
true if the module S-polynomial(i,j) is required.

criterion4

boolean criterion4(GenPolynomial<C> A,
                   GenPolynomial<C> B,
                   ExpVector e)
GB criterium 4. Use only for commutative polynomial rings.

Parameters:
A - polynomial.
B - polynomial.
e - = lcm(ht(A),ht(B))
Returns:
true if the S-polynomial(i,j) is required, else false.

criterion4

boolean criterion4(GenPolynomial<C> A,
                   GenPolynomial<C> B)
GB criterium 4. Use only for commutative polynomial rings.

Parameters:
A - polynomial.
B - polynomial.
Returns:
true if the S-polynomial(i,j) is required, else false.

isTopReducible

boolean isTopReducible(java.util.List<GenPolynomial<C>> P,
                       GenPolynomial<C> A)
Is top reducible. Condition is lt(B) | lt(A) for some B in F.

Parameters:
A - polynomial.
P - polynomial list.
Returns:
true if A is top reducible with respect to P.

isReducible

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

Parameters:
A - polynomial.
P - polynomial list.
Returns:
true if A is reducible with respect to P.

isNormalform

boolean isNormalform(java.util.List<GenPolynomial<C>> P,
                     GenPolynomial<C> A)
Is in Normalform.

Parameters:
A - polynomial.
P - polynomial list.
Returns:
true if A is in normalform with respect to P.

isNormalform

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

Parameters:
Pp - polynomial list.
Returns:
true if each A in Pp is in normalform with respect to Pp\{A}.

normalform

GenPolynomial<C> normalform(java.util.List<GenPolynomial<C>> P,
                            GenPolynomial<C> A)
Normalform.

Parameters:
A - polynomial.
P - polynomial list.
Returns:
nf(A) with respect to P.

normalform

java.util.List<GenPolynomial<C>> normalform(java.util.List<GenPolynomial<C>> Pp,
                                            java.util.List<GenPolynomial<C>> Ap)
Normalform Set.

Parameters:
Ap - polynomial list.
Pp - polynomial list.
Returns:
list of nf(a) with respect to Pp for all a in Ap.

normalform

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

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

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

Parameters:
Pp - polynomial list.
Returns:
a list P of polynomials which are in normalform wrt. P and with ideal(Pp) = ideal(P).

isReductionNF

boolean isReductionNF(java.util.List<GenPolynomial<C>> row,
                      java.util.List<GenPolynomial<C>> Pp,
                      GenPolynomial<C> Ap,
                      GenPolynomial<C> Np)
Is reduction of normal form.

Parameters:
row - recording matrix, is modified.
Pp - a polynomial list for reduction.
Ap - a polynomial.
Np - nf(Pp,Ap), a normal form of Ap wrt. Pp.
Returns:
true, if Np + sum( row[i]*Pp[i] ) == Ap, else false.