JScience v4.3

org.jscience.mathematics.function
Class Term

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

public final class Term
extends java.lang.Object
implements java.io.Serializable, java.lang.Comparable<Term>, javolution.lang.ValueType, javolution.lang.Realtime

This class represents the term of a polynomial such as x·y².

Version:
3.0, February 13, 2006
Author:
Jean-Marie Dautelle
See Also:
Serialized Form

Field Summary
static Term ONE
          Holds the multiplicative identity.
 
Method Summary
 int compareTo(Term that)
          Compares this term with the one specified for order.
 Term copy()
          Returns an entierely new copy of this term allocated by the calling thread (possibly on the stack).
 Term divide(Term that)
          Return the division of this term with the one specified.
 boolean equals(java.lang.Object obj)
          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 getPower(Variable<?> v)
          Returns the power of the specified variable.
 Variable<?> getVariable(int index)
          Returns the variable at the specified index (variables are lexically ordered).
 int hashCode()
          Returns a hash code for this term.
 int size()
          Returns the number of variables for this term.
 Term times(Term that)
          Return the product of this term with the one specified.
 java.lang.String toString()
          Returns the text representation of this term as a java.lang.String.
 javolution.text.Text toText()
          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 Detail

ONE

public static Term ONE
Holds the multiplicative identity.

Method Detail

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:
java.lang.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:
java.lang.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:
java.lang.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:
java.lang.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:
java.lang.UnsupportedOperationException - if this division would result in negative power.
java.lang.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(java.lang.Object obj)
Indicates if this term is equal to the object specified.

Overrides:
equals in class java.lang.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 java.lang.Object
Returns:
a hash code value for this object.

toString

public final java.lang.String toString()
Returns the text representation of this term as a java.lang.String.

Overrides:
toString in class java.lang.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 java.lang.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.

JScience v4.3

Copyright © 2006 JScience.