Class Term

java.lang.Object
org.jscience.mathematics.function.Term
All Implemented Interfaces:
Serializable, Comparable<Term>, javolution.lang.Immutable, javolution.lang.Realtime, javolution.lang.ValueType

public final class Term extends Object implements Serializable, Comparable<Term>, javolution.lang.ValueType, javolution.lang.Realtime
This class represents the term of a polynomial such as x·y².
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static Term
    Holds the multiplicative identity.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Compares this term with the one specified for order.
    Returns an entierely new copy of this term allocated by the calling thread (possibly on the stack).
    divide(Term that)
    Return the division of this term with the one specified.
    boolean
    Indicates if this term is equal to the object specified.
    int
    getPower(int index)
    Returns the power of the variable at the specified position.
    int
    Returns the power of the specified variable.
    getVariable(int index)
    Returns the variable at the specified index (variables are lexically ordered).
    final int
    Returns a hash code for this term.
    int
    Returns the number of variables for this term.
    times(Term that)
    Return the product of this term with the one specified.
    final String
    Returns the text representation of this term as a java.lang.String.
    javolution.text.Text
    Returns the text representation of this term.
    static Term
    valueOf(Variable<?> v, int n)
    Return the term corresponding to the specified variable raised to the specified power.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • ONE

      public static Term ONE
      Holds the multiplicative identity.
  • Method Details

    • valueOf

      public static Term valueOf(Variable<?> v, int n)
      Return the term corresponding to the specified variable raised to the specified power.
      Parameters:
      v - the variable.
      n - the power.
      Returns:
      the term for vn
      Throws:
      IllegalArgumentException - if n < 0
    • size

      public int size()
      Returns the number of variables for this term.
      Returns:
      the number of variables.
    • getVariable

      public Variable<?> getVariable(int index)
      Returns the variable at the specified index (variables are lexically ordered).
      Parameters:
      index - the variable index.
      Returns:
      this term variables at specified position.
      Throws:
      IndexOutOfBoundsException - if (index < 0) || (index >= size())
    • getPower

      public int getPower(int index)
      Returns the power of the variable at the specified position.
      Parameters:
      index - the variable index.
      Returns:
      the power of the variable at the specified index.
      Throws:
      IndexOutOfBoundsException - if (index < 0) || (index >= size())
    • getPower

      public int getPower(Variable<?> v)
      Returns the power of the specified variable.
      Parameters:
      v - the variable for which the power is returned.
      Returns:
      the power of the corresponding variable or 0 if this term does not hold the specified variable.
    • times

      public Term times(Term that)
      Return the product of this term with the one specified.
      Parameters:
      that - the term multiplier.
      Returns:
      this · that
      Throws:
      IllegalArgumentException - if the specified term holds a variable having the same symbol as one of the variable of this term; but both variables are distinct.
    • divide

      public Term divide(Term that)
      Return the division of this term with the one specified.
      Parameters:
      that - the term divisor.
      Returns:
      this / that
      Throws:
      UnsupportedOperationException - if this division would result in negative power.
      IllegalArgumentException - if the specified term holds a variable having the same symbol as one of the variable of this term; but both variables are distinct.
    • equals

      public boolean equals(Object obj)
      Indicates if this term is equal to the object specified.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to compare for equality.
      Returns:
      true if this term and the specified object are considered equal; false otherwise.
    • hashCode

      public final int hashCode()
      Returns a hash code for this term.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this object.
    • toString

      public final String toString()
      Returns the text representation of this term as a java.lang.String.
      Overrides:
      toString in class Object
      Returns:
      toText().toString()
    • toText

      public javolution.text.Text toText()
      Returns the text representation of this term.
      Specified by:
      toText in interface javolution.lang.Realtime
    • copy

      public Term copy()
      Returns an entierely new copy of this term allocated by the calling thread (possibly on the stack).
      Specified by:
      copy in interface javolution.lang.ValueType
      Returns:
      an identical and independant copy of this term.
    • compareTo

      public int compareTo(Term that)
      Compares this term with the one specified for order.
      Specified by:
      compareTo in interface Comparable<Term>
      Parameters:
      that - the term to be compared to.
      Returns:
      a negative integer, zero, or a positive integer as this term is less than, equal to, or greater than the specified term.