Package edu.jas.poly

Interface Polynomial<C extends RingElem<C>>

Type Parameters:
C - ring element type
All Superinterfaces:
AbelianGroupElem<Polynomial<C>>, Comparable<Polynomial<C>>, Element<Polynomial<C>>, MonoidElem<Polynomial<C>>, RingElem<Polynomial<C>>, Serializable

public interface Polynomial<C extends RingElem<C>> extends RingElem<Polynomial<C>>
Polynomial interface. Adds methods specific to polynomials.
  • Method Details

    • leadingMonomial

      Map.Entry<ExpVector,C> leadingMonomial()
      Leading monomial.
      Returns:
      first map entry.
    • leadingExpVector

      ExpVector leadingExpVector()
      Leading exponent vector.
      Returns:
      first exponent.
    • leadingBaseCoefficient

      C leadingBaseCoefficient()
      Leading base coefficient.
      Returns:
      first coefficient.
    • trailingBaseCoefficient

      C trailingBaseCoefficient()
      Trailing base coefficient.
      Returns:
      coefficient of constant term.
    • reductum

      Polynomial<C> reductum()
      Reductum.
      Returns:
      this - leading monomial.
    • extend

      Polynomial<C> extend(PolynomialRing<C> pfac, int j, long k)
      Extend variables. Used e.g. in module embedding. Extend all ExpVectors by i elements and multiply by x_j^k.
      Parameters:
      pfac - extended polynomial ring factory (by i variables).
      j - index of variable to be used for multiplication.
      k - exponent for x_j.
      Returns:
      extended polynomial.
    • contract

      Contract variables. Used e.g. in module embedding. remove i elements of each ExpVector.
      Parameters:
      pfac - contracted polynomial ring factory (by i variables).
      Returns:
      Map of exponents and contracted polynomials. Note: could return SortedMap
    • reverse

      Polynomial<C> reverse(PolynomialRing<C> oring)
      Reverse variables. Used e.g. in opposite rings.
      Returns:
      polynomial with reversed variables.
    • coefficientIterator

      Iterator<C> coefficientIterator()
      Iterator over coefficients.
      Returns:
      val.values().iterator().
    • exponentIterator

      Iterator<ExpVector> exponentIterator()
      Iterator over exponents.
      Returns:
      val.keySet().iterator().
    • monomialIterator

      Iterator<Monomial<C>> monomialIterator()
      Iterator over monomials.
      Returns:
      a PolyIterator.