Interface IMonomialAlgebra<Term extends AMonomial<Term>>

All Superinterfaces:
Serializable
All Known Implementing Classes:
IMonomialAlgebra.MonomialAlgebra, IMonomialAlgebra.MonomialAlgebraZp64

public interface IMonomialAlgebra<Term extends AMonomial<Term>>
extends Serializable
Algebraic operations (multiplication, division) and utility methods for monomials.
Since:
2.3
  • Method Details

    • multiply

      Term multiply​(Term a, Term b)
      Multiplies two terms
    • multiply

      Term multiply​(Term a, BigInteger b)
      Multiplies term by a number
    • divideOrNull

      Term divideOrNull​(Term dividend, Term divider)
      Gives quotient dividend / divider or null if exact division is not possible
    • divideExact

      default Term divideExact​(Term dividend, Term divider)
      Gives quotient dividend / divider or throws ArithmeticException if exact division is not possible
    • divideExact

      default Term divideExact​(DegreeVector dividend, Term divider)
      Gives quotient dividend / divider or throws ArithmeticException if exact division is not possible
    • pow

      Term pow​(Term term, int exponent)
      Raise term in a power of exponent
      Parameters:
      term - the term
      exponent - the exponent
      Returns:
      term^exponent
    • negate

      Term negate​(Term term)
      Negates term
    • isZero

      boolean isZero​(Term term)
      Whether term is zero
    • isOne

      boolean isOne​(Term term)
      Whether term is one
    • isUnit

      boolean isUnit​(Term term)
      Whether term is unit
    • isConstant

      default boolean isConstant​(Term term)
      Whether term is constant
    • isPureDegreeVector

      boolean isPureDegreeVector​(Term term)
      Whether term has unit coefficient
    • create

      Term create​(int[] exponents)
      creates term with specified exponents and unit coefficient
    • create

      Term create​(DegreeVector degreeVector)
      creates term with specified exponents and unit coefficient
    • createArray

      Term[] createArray​(int length)
      creates generic array of specified length
    • getUnitTerm

      Term getUnitTerm​(int nVariables)
      creates a unit term
    • getZeroTerm

      Term getZeroTerm​(int nVariables)
      creates a zero term
    • haveSameCoefficients

      boolean haveSameCoefficients​(Term a, Term b)
      whether two terms have the same coefficients