edu.jas.gbufd
Class RReductionSeq<C extends RegularRingElem<C>>

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

public class RReductionSeq<C extends RegularRingElem<C>>
extends ReductionAbstract<C>
implements RReduction<C>

Polynomial Regular ring Reduction sequential use algorithm. Implements normalform and boolean closure stuff.

Author:
Heinz Kredel
See Also:
Serialized Form

Constructor Summary
RReductionSeq()
          Constructor.
 
Method Summary
 GenPolynomial<C> booleanClosure(GenPolynomial<C> A)
          Boolean closure, compute idempotent(ldcf(A)) A.
 java.util.List<GenPolynomial<C>> booleanClosure(java.util.List<GenPolynomial<C>> F)
          Boolean closure, compute BC(A) for all A in F.
 GenPolynomial<C> booleanRemainder(GenPolynomial<C> A)
          Boolean remainder, compute idemComplement(ldcf(A)) A.
 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 isBooleanClosed(GenPolynomial<C> A)
          Is boolean closed, test if A == idempotent(ldcf(A)) A.
 boolean isBooleanClosed(java.util.List<GenPolynomial<C>> F)
          Is boolean closed, test if all A in F are boolean closed.
 boolean isNormalform(java.util.List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap)
          Is in Normalform.
 boolean isReducedBooleanClosed(java.util.List<GenPolynomial<C>> F)
          Is reduced boolean closed, test if all A in F are boolean closed or br(A) reduces to zero.
 boolean isStrongTopReducible(java.util.List<GenPolynomial<C>> P, GenPolynomial<C> A)
          Is strong top reducible.
 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 r-reduction.
 GenPolynomial<C> normalform(java.util.List<GenPolynomial<C>> row, java.util.List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap)
          Normalform with recording.
 java.util.List<GenPolynomial<C>> reducedBooleanClosure(java.util.List<GenPolynomial<C>> F)
          Reduced boolean closure, compute BC(A) for all A in F.
 java.util.List<GenPolynomial<C>> reducedBooleanClosure(java.util.List<GenPolynomial<C>> F, GenPolynomial<C> A)
          Reduced boolean closure, compute BC(A) modulo F.
 
Methods inherited from class edu.jas.gb.ReductionAbstract
isNormalform, isReducible, isReductionNF, moduleCriterion, moduleCriterion, normalform, SPolynomial, 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, SPolynomial
 

Constructor Detail

RReductionSeq

public RReductionSeq()
Constructor.

Method Detail

isTopReducible

public boolean isTopReducible(java.util.List<GenPolynomial<C>> P,
                              GenPolynomial<C> A)
Is top reducible. Condition is a b != 0, for a=ldcf(A) and b=ldcf(B) and lt(B) | lt(A) for some B in F.

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

isStrongTopReducible

public boolean isStrongTopReducible(java.util.List<GenPolynomial<C>> P,
                                    GenPolynomial<C> A)
Is strong top reducible. Condition is idempotent(a) == idempotent(b), for a=ldcf(A) and b=ldcf(B) and lt(B) | lt(A) for some B in F.

Specified by:
isStrongTopReducible in interface RReduction<C extends RegularRingElem<C>>
Parameters:
A - polynomial.
P - polynomial list.
Returns:
true if A is string 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 RegularRingElem<C>>
Overrides:
isNormalform in class ReductionAbstract<C extends RegularRingElem<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 r-reduction.

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

criterion4

public boolean criterion4(GenPolynomial<C> A,
                          GenPolynomial<C> B,
                          ExpVector e)
GB criterium 4. Use only for commutative polynomial rings. Note: Experimental version for r-Groebner bases.

Specified by:
criterion4 in interface Reduction<C extends RegularRingElem<C>>
Overrides:
criterion4 in class ReductionAbstract<C extends RegularRingElem<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. Note: Experimental version for r-Groebner bases.

Specified by:
criterion4 in interface Reduction<C extends RegularRingElem<C>>
Overrides:
criterion4 in class ReductionAbstract<C extends RegularRingElem<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 RegularRingElem<C>>
Parameters:
row - recording matrix, is modified.
Pp - a polynomial list for reduction.
Ap - a polynomial.
Returns:
Ap - row*Pp = 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. May not be boolean closed.

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

isBooleanClosed

public boolean isBooleanClosed(GenPolynomial<C> A)
Is boolean closed, test if A == idempotent(ldcf(A)) A.

Specified by:
isBooleanClosed in interface RReduction<C extends RegularRingElem<C>>
Parameters:
A - polynomial.
Returns:
true if A is boolean closed, else false.

isBooleanClosed

public boolean isBooleanClosed(java.util.List<GenPolynomial<C>> F)
Is boolean closed, test if all A in F are boolean closed.

Specified by:
isBooleanClosed in interface RReduction<C extends RegularRingElem<C>>
Parameters:
F - polynomial list.
Returns:
true if F is boolean closed, else false.

isReducedBooleanClosed

public boolean isReducedBooleanClosed(java.util.List<GenPolynomial<C>> F)
Is reduced boolean closed, test if all A in F are boolean closed or br(A) reduces to zero.

Parameters:
F - polynomial list.
Returns:
true if F is boolean closed, else false.

booleanClosure

public GenPolynomial<C> booleanClosure(GenPolynomial<C> A)
Boolean closure, compute idempotent(ldcf(A)) A.

Specified by:
booleanClosure in interface RReduction<C extends RegularRingElem<C>>
Parameters:
A - polynomial.
Returns:
bc(A).

booleanRemainder

public GenPolynomial<C> booleanRemainder(GenPolynomial<C> A)
Boolean remainder, compute idemComplement(ldcf(A)) A.

Specified by:
booleanRemainder in interface RReduction<C extends RegularRingElem<C>>
Parameters:
A - polynomial.
Returns:
br(A).

booleanClosure

public java.util.List<GenPolynomial<C>> booleanClosure(java.util.List<GenPolynomial<C>> F)
Boolean closure, compute BC(A) for all A in F.

Parameters:
F - polynomial list.
Returns:
bc(F).

reducedBooleanClosure

public java.util.List<GenPolynomial<C>> reducedBooleanClosure(java.util.List<GenPolynomial<C>> F)
Reduced boolean closure, compute BC(A) for all A in F.

Specified by:
reducedBooleanClosure in interface RReduction<C extends RegularRingElem<C>>
Parameters:
F - polynomial list.
Returns:
red(bc(F)) = bc(red(F)).

reducedBooleanClosure

public java.util.List<GenPolynomial<C>> reducedBooleanClosure(java.util.List<GenPolynomial<C>> F,
                                                              GenPolynomial<C> A)
Reduced boolean closure, compute BC(A) modulo F.

Specified by:
reducedBooleanClosure in interface RReduction<C extends RegularRingElem<C>>
Parameters:
A - polynomial.
F - polynomial list.
Returns:
red(bc(A)).