Class CReductionSeq<C extends GcdRingElem<C>>

java.lang.Object
edu.jas.application.CReductionSeq<C>
Type Parameters:
C - coefficient type
All Implemented Interfaces:
Serializable

public class CReductionSeq<C extends GcdRingElem<C>> extends Object implements Serializable
Polynomial parametric ring reduction sequential use algorithm. Implements normalform, condition construction and polynomial determination.
See Also:
  • Field Details

    • logger

      private static final org.apache.logging.log4j.Logger logger
    • info

      private final boolean info
    • engine

      protected final GreatestCommonDivisor<C extends GcdRingElem<C>> engine
      Greatest common divisor engine.
    • cofac

      protected final RingFactory<C extends GcdRingElem<C>> cofac
      Polynomial coefficient ring factory.
    • top

      protected boolean top
      Flag if top-reduction only should be used.
  • Constructor Details

    • CReductionSeq

      public CReductionSeq(RingFactory<C> rf)
      Constructor.
      Parameters:
      rf - coefficient factory.
  • Method Details

    • SPolynomial

      public ColorPolynomial<C> SPolynomial(ColorPolynomial<C> Ap, ColorPolynomial<C> Bp)
      S-Polynomial.
      Parameters:
      Ap - polynomial.
      Bp - polynomial.
      Returns:
      spol(Ap,Bp) the S-polynomial of Ap and Bp.
    • isTopReducible

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

      public boolean isReducible(List<ColorPolynomial<C>> Pp, ColorPolynomial<C> Ap)
      Is reducible.
      Parameters:
      Pp - polynomial list.
      Ap - polynomial.
      Returns:
      true if Ap is reducible with respect to Pp.
    • isNormalform

      public boolean isNormalform(List<ColorPolynomial<C>> Pp, ColorPolynomial<C> Ap)
      Is in Normalform.
      Parameters:
      Pp - polynomial list.
      Ap - polynomial.
      Returns:
      true if Ap is in normalform with respect to Pp.
    • isNormalform

      public boolean isNormalform(List<ColorPolynomial<C>> Pp)
      Is in Normalform.
      Parameters:
      Pp - polynomial list.
      Returns:
      true if each Ap in Pp is in normalform with respect to Pp\{Ap}.
    • normalform

      public ColorPolynomial<C> normalform(Condition<C> cond, List<ColorPolynomial<C>> Pp, ColorPolynomial<C> Ap)
      Normalform.
      Parameters:
      cond - condition for these polynomials.
      Pp - polynomial list.
      Ap - polynomial.
      Returns:
      nf(Ap) with respect to Pp.
    • caseDistinction

      public List<Condition<C>> caseDistinction(List<GenPolynomial<GenPolynomial<C>>> L)
      Case distinction conditions of parametric polynomial list. The returned condition determines the polynomial list.
      Parameters:
      L - list of parametric polynomials.
      Returns:
      list of conditions as case distinction.
    • caseDistinction

      public List<Condition<C>> caseDistinction(List<Condition<C>> cd, GenPolynomial<GenPolynomial<C>> A)
      Case distinction conditions of parametric polynomial list.
      Parameters:
      cd - a list of conditions.
      A - a parametric polynomial.
      Returns:
      list of conditions as case distinction extending the conditions in cd.
    • caseDistinction

      public List<Condition<C>> caseDistinction(Condition<C> cond, GenPolynomial<GenPolynomial<C>> A)
      Case distinction conditions of parametric polynomial list.
      Parameters:
      cond - a condition.
      A - a parametric polynomial.
      Returns:
      list of case distinction conditions.
    • determine

      public List<ColoredSystem<C>> determine(List<GenPolynomial<GenPolynomial<C>>> H)
      Determine polynomial list.
      Parameters:
      H - polynomial list.
      Returns:
      new determined list of colored systems.
    • determine

      public List<ColoredSystem<C>> determine(List<Condition<C>> cd, List<GenPolynomial<GenPolynomial<C>>> H)
      Determine polynomial list.
      Parameters:
      cd - case distinction, a condition list.
      H - polynomial list.
      Returns:
      new determined list of colored systems.