Package edu.jas.gb

Interface Reduction<C extends RingElem<C>>

Type Parameters:
C - coefficient type
All Superinterfaces:
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 Serializable
Polynomial Reduction interface. Defines S-Polynomial, normalform, criterion 4, module criterion and irreducible set.
  • Method Details

    • 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(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(List<GenPolynomial<C>> P, GenPolynomial<C> A)
      Is top reducible. Condition is lt(B) | lt(A) for some B in F.
      Parameters:
      P - polynomial list.
      A - polynomial.
      Returns:
      true if A is top reducible with respect to P.
    • isReducible

      boolean isReducible(List<GenPolynomial<C>> P, GenPolynomial<C> A)
      Is reducible.
      Parameters:
      P - polynomial list.
      A - polynomial.
      Returns:
      true if A is reducible with respect to P.
    • isNormalform

      boolean isNormalform(List<GenPolynomial<C>> P, GenPolynomial<C> A)
      Is in Normalform.
      Parameters:
      P - polynomial list.
      A - polynomial.
      Returns:
      true if A is in normalform with respect to P.
    • isNormalform

      boolean isNormalform(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

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

      List<GenPolynomial<C>> normalform(List<GenPolynomial<C>> Pp, List<GenPolynomial<C>> Ap)
      Normalform Set.
      Parameters:
      Pp - polynomial list.
      Ap - polynomial list.
      Returns:
      list of nf(a) with respect to Pp for all a in Ap.
    • normalform

      GenPolynomial<C> normalform(List<GenPolynomial<C>> row, 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

      List<GenPolynomial<C>> irreducibleSet(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(List<GenPolynomial<C>> row, 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.