SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.analysis.differentiation.multivariate
Class GradientFunction

java.lang.Object
  extended by com.numericalmethod.suanshu.analysis.differentiation.multivariate.GradientFunction
All Implemented Interfaces:
Function, RealVectorFunction

public class GradientFunction
extends java.lang.Object
implements RealVectorFunction

Compute the gradient function, g(x), for a real scalar function f(x).

The gradient function evaluates the gradient at a point using a numerical method, e.g., finite difference. g(x) has the same domain as f(x). Its range dimension is the same as the domain dimension.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.numericalmethod.suanshu.analysis.function.Function
Function.EvaluationException
 
Field Summary
 RealScalarFunction f
          the real scalar function to compute the gradient for
 
Constructor Summary
GradientFunction(RealScalarFunction f)
          Construct a GradientFunction to compute the gradient numerically.
 
Method Summary
 int dimension4Domain()
          Get the number of variables of the function.
 int dimension4Range()
          Get the dimension of the range space the function.
 Vector evaluate(double... x)
          Compute g(x).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

f

public final RealScalarFunction f
the real scalar function to compute the gradient for

Constructor Detail

GradientFunction

public GradientFunction(RealScalarFunction f)
Construct a GradientFunction to compute the gradient numerically.

Parameters:
f - a real scalar function
Method Detail

evaluate

public Vector evaluate(double... x)
Compute g(x). A real function, f, takes a double array double[],
{x0, x1, ..., xn}
and maps it to a Vector,
f(x0, x1, ..., xn)

Specified by:
evaluate in interface RealVectorFunction
Parameters:
x - a point x
Returns:
g(x)

dimension4Domain

public int dimension4Domain()
Description copied from interface: Function
Get the number of variables of the function.

For example, for a univariate function, the domain dimension is 1. For a bivariate function, the domain dimension is 2.

Specified by:
dimension4Domain in interface Function
Returns:
the number of variables

dimension4Range

public int dimension4Range()
Description copied from interface: Function
Get the dimension of the range space the function.

For example, for a Rn->Rm function, the dimension of the range is m.

Specified by:
dimension4Range in interface Function
Returns:
the dimension of the range

SuanShu, a Java numerical and statistical library

Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.