public interface MultivariateFunction
The dimension d can be fixed or variable. When d is fixed, the methods specified by this interface always take the same number of arguments. This is the case, for example, with a ratio of two variables. When d is variable, the implementation can compute the function for a vector x of any length. This can happen for a product or sum of variables.
The methods of this interface take a variable number of arguments to accomodate the common case of fixed dimension with more convenience; the programmer can call the method without creating an array. For the generic case, however, one can replace the arguments with an array.
| Modifier and Type | Method and Description |
|---|---|
double |
evaluate(double... x)
Computes the function
g(x)
for the vector x.
|
double |
evaluateGradient(int i,
double... x)
Computes
∂g(x)/∂xi,
the derivative of
g(x)
with respect to xi.
|
int |
getDimension()
Returns d, the dimension of the function computed
by this implementation.
|
int getDimension()
double evaluate(double... x)
x - a vector
x.java.lang.NullPointerException - if x is null.java.lang.IllegalArgumentException - if x.length
does not correspond to the dimension of this function.double evaluateGradient(int i,
double... x)
i - the variable to derive with respect to.x - a vector
x.java.lang.NullPointerException - if x is null.java.lang.IllegalArgumentException - if x.length
does not correspond to the dimension of this function.java.lang.IndexOutOfBoundsException - if i is negative
or greater than or equal to the dimension of this function.To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.