| java.lang.Object org.jscience.mathematics.function.Function
Function | abstract public class Function implements Serializable,Realtime(Code) | | This abstract class represents a mapping between two sets such that
there is a unique element in the second set assigned to each element
in the first set.
Functions can be discrete or continuous and multivariate functions
(functions with multiple variables) are also supported as illustrated
below:[code]
// Defines local variables.
Variable.Local varX = new Variable.Local("x");
Variable.Local varY = new Variable.Local("y");
// f(x, y) = x² + x·y + 1;
Polynomial x = Polynomial.valueOf(Rational.ONE, varX);
Polynomial y = Polynomial.valueOf(Rational.ONE, varY);
Polynomial fx_y = x.pow(2).plus(x.times(y)).plus(Rational.ONE);
System.out.println("f(x,y) = " + fx_y);
// Evaluates f(1,0)
System.out.println("f(1,0) = " + fx_y.evaluate(Rational.ONE, Rational.ZERO));
// Calculates df(x,y)/dx
System.out.println("df(x,y)/dx = " + fx_y.differentiate(varX));
> f(x,y) = [1/1]x^2 + [1/1]xy + [1/1]
> f(1,0) = 2/1
> df(x,y)/dx = [2/1]x + [1/1]y
[/code]
Functions are often given by formula (e.g. f(x) = x²-x+1,
f(x,y)= x·y ) but the general function instance might tabulate
the values, solve an equation, etc.
author: Jean-Marie Dautelle version: 3.1, April 1, 2006 See Also:
* Wikipedia: Functions (mathematics) |
Constructor Summary | |
protected | Function() Default constructor. |
Method Summary | |
public Function<Z, Y> | compose(Function<Z, X> that) Returns the composition of this function with the one specified.
Parameters: that - the function for which the return value is passed asargument to this function. | public Function<X, Y> | differentiate(Variable<X> v) Returns the first derivative of this function with respect to
the specified variable. | public Function<X, Y> | divide(Function<X, Y> that) Returns the quotient of this function with the one specified.
Evaluation of this function may raise an exception if the
function result is not a {
Parameters: that - the function divisor. | public boolean | equals(Object obj) Indicates if this function is equals to the specified object.
Parameters: obj - the object to be compared with. | abstract public Y | evaluate() Evaluates this function using its
Variable variables current
values. | final public Y | evaluate(X arg) Evaluates this function for the specified argument value
(convenience method). | final public Y | evaluate(X... args) Evaluates this function for the specified arguments values
(convenience method). | final public Variable<X> | getVariable(String symbol) Retrieves the variable from this function having the specified
symbol (convenience method). | abstract public List<Variable<X>> | getVariables() Returns a lexically ordered list of the variables (or arguments)
for this function (empty list for constant functions). | public int | hashCode() Returns the hash code for this function (consistent with
Function.equals(Object) . | public Function<X, Y> | integrate(Variable<X> v) Returns an integral of this function with respect to
the specified variable. | final static List | merge(List left, List right) | public Function<X, Y> | minus(Function<X, Y> that) Returns the difference of this function with the one specified.
Parameters: that - the function to be subtracted. | public Function<X, Y> | plus(Function<X, Y> that) Returns the sum of this function with the one specified.
Parameters: that - the function to be added. | public Function<X, Y> | pow(int n) Returns this function raised at the specified exponent.
Parameters: n - the exponent. | public Function<X, Y> | times(Function<X, Y> that) Returns the product of this function with the one specified.
Parameters: that - the function multiplier. | final public String | toString() Returns the text representation of this function as a
java.lang.String . | abstract public Text | toText() Returns the textual representation of this real-time object
(equivalent to toString except that the returned value
can be allocated from the local context space). |
Function | protected Function()(Code) | | Default constructor.
|
compose | public Function<Z, Y> compose(Function<Z, X> that)(Code) | | Returns the composition of this function with the one specified.
Parameters: that - the function for which the return value is passed asargument to this function. the function (this o that) throws: FunctionException - if this function is not monovariate. |
divide | public Function<X, Y> divide(Function<X, Y> that)(Code) | | Returns the quotient of this function with the one specified.
Evaluation of this function may raise an exception if the
function result is not a {
Parameters: that - the function divisor. this / that . |
equals | public boolean equals(Object obj)(Code) | | Indicates if this function is equals to the specified object.
Parameters: obj - the object to be compared with. true if this function and the specified argumentrepresent the same function; false otherwise. |
evaluate | abstract public Y evaluate()(Code) | | Evaluates this function using its
Variable variables current
values.
the evaluation of this function. throws: FunctionException - if any of this function's variable is not set. |
evaluate | final public Y evaluate(X arg)(Code) | | Evaluates this function for the specified argument value
(convenience method). The evaluation is performed
in a
javolution.context.LocalContext LocalContext and
can safely be called upon functions with
Variable.Global globalvariables .
Parameters: arg - the single variable value used for the evaluation. the evaluation of this function. throws: FunctionException - if getVariables().size() != 1 |
evaluate | final public Y evaluate(X... args)(Code) | | Evaluates this function for the specified arguments values
(convenience method). The evaluation is performed
in a
javolution.context.LocalContext LocalContext and
can safely be called upon functions with
Variable.Global globalvariables .
Parameters: args - the variables values used for the evaluation. the evaluation of this function. throws: IllegalArgumentException - if args.length != getVariables().size()) |
getVariable | final public Variable<X> getVariable(String symbol)(Code) | | Retrieves the variable from this function having the specified
symbol (convenience method).
the variable having the specified symbol or null if none. |
getVariables | abstract public List<Variable<X>> getVariables()(Code) | | Returns a lexically ordered list of the variables (or arguments)
for this function (empty list for constant functions).
this function current unset variables (sorted). |
integrate | public Function<X, Y> integrate(Variable<X> v)(Code) | | Returns an integral of this function with respect to
the specified variable.
Parameters: v - the variable for which the integral is calculated. S[this·dv] See Also:
* Integral -- from MathWorld |
minus | public Function<X, Y> minus(Function<X, Y> that)(Code) | | Returns the difference of this function with the one specified.
Parameters: that - the function to be subtracted. this - that . |
plus | public Function<X, Y> plus(Function<X, Y> that)(Code) | | Returns the sum of this function with the one specified.
Parameters: that - the function to be added. this + that . |
times | public Function<X, Y> times(Function<X, Y> that)(Code) | | Returns the product of this function with the one specified.
Parameters: that - the function multiplier. this · that . |
toString | final public String toString()(Code) | | Returns the text representation of this function as a
java.lang.String .
toText().toString() |
toText | abstract public Text toText()(Code) | | Returns the textual representation of this real-time object
(equivalent to toString except that the returned value
can be allocated from the local context space).
this object's textual representation. |
|
|