Package 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
,PseudoReductionPar
,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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
criterion4(ExpVector ei, ExpVector ej, ExpVector e)
GB criterium 4.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.
-
criterion4
boolean criterion4(ExpVector ei, ExpVector ej, ExpVector e)
GB criterium 4.- Parameters:
ei
- exponent vector.ej
- exponent vector.e
- = lcm(ei,ej)- 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.
-
-