Package edu.jas.gbufd
Class RReductionSeq<C extends RegularRingElem<C>>
- java.lang.Object
-
- edu.jas.gb.ReductionAbstract<C>
-
- 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
Constructors Constructor Description RReductionSeq()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
criterion4, isNormalform, isReducible, isReductionNF, moduleCriterion, moduleCriterion, normalform, normalform, normalform, normalformMarked, 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
criterion4, 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 interfaceReduction<C extends RegularRingElem<C>>
- Overrides:
isTopReducible
in classReductionAbstract<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 interfaceRReduction<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 interfaceReduction<C extends RegularRingElem<C>>
- Overrides:
isNormalform
in classReductionAbstract<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 interfaceReduction<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 interfaceReduction<C extends RegularRingElem<C>>
- Overrides:
criterion4
in classReductionAbstract<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 interfaceReduction<C extends RegularRingElem<C>>
- Overrides:
criterion4
in classReductionAbstract<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 interfaceReduction<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 interfaceReduction<C extends RegularRingElem<C>>
- Overrides:
irreducibleSet
in classReductionAbstract<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 interfaceRReduction<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 interfaceRReduction<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 interfaceRReduction<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 interfaceRReduction<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 interfaceRReduction<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 interfaceRReduction<C extends RegularRingElem<C>>
- Parameters:
A
- polynomial.F
- polynomial list.- Returns:
- red(bc(A)).
-
-