gov.sandia.cognition.math.matrix
Class NumericalDifferentiator.VectorJacobian

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.math.matrix.NumericalDifferentiator<Vector,Double,Vector>
          extended by gov.sandia.cognition.math.matrix.NumericalDifferentiator.VectorJacobian
All Implemented Interfaces:
Evaluator<Vector,Double>, DifferentiableEvaluator<Vector,Double,Vector>, CloneableSerializable, Serializable, Cloneable
Enclosing class:
NumericalDifferentiator<InputType,OutputType,DerivativeType>

public static class NumericalDifferentiator.VectorJacobian
extends NumericalDifferentiator<Vector,Double,Vector>

Numerical differentiator based on a Vector Jacobian.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class gov.sandia.cognition.math.matrix.NumericalDifferentiator
NumericalDifferentiator.DoubleJacobian, NumericalDifferentiator.MatrixJacobian, NumericalDifferentiator.VectorJacobian
 
Constructor Summary
NumericalDifferentiator.VectorJacobian()
          Default constructor
NumericalDifferentiator.VectorJacobian(Evaluator<Vector,Double> internalFunction)
          Creates a new instance of VectorJacobian
NumericalDifferentiator.VectorJacobian(Evaluator<Vector,Double> internalFunction, double delta)
          Create a new instance of VectorJacobian
 
Method Summary
 Vector differentiate(Vector input)
          Differentiates the output with respect to the input
static Vector differentiate(Vector input, Evaluator<Vector,Double> f)
          Static access to the numerical differentiation procedure.
static Vector differentiate(Vector input, Evaluator<Vector,Double> f, double h)
          Static access to the numerical differentiation procedure.
 
Methods inherited from class gov.sandia.cognition.math.matrix.NumericalDifferentiator
clone, evaluate, getDelta, getInternalFunction, setDelta, setInternalFunction
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NumericalDifferentiator.VectorJacobian

public NumericalDifferentiator.VectorJacobian()
Default constructor


NumericalDifferentiator.VectorJacobian

public NumericalDifferentiator.VectorJacobian(Evaluator<Vector,Double> internalFunction)
Creates a new instance of VectorJacobian

Parameters:
internalFunction - Internal function to numerically differencing.

NumericalDifferentiator.VectorJacobian

public NumericalDifferentiator.VectorJacobian(Evaluator<Vector,Double> internalFunction,
                                              double delta)
Create a new instance of VectorJacobian

Parameters:
internalFunction - Internal function to numerically differencing.
delta - Value for x-value differencing
Method Detail

differentiate

public static Vector differentiate(Vector input,
                                   Evaluator<Vector,Double> f)
Static access to the numerical differentiation procedure.

Parameters:
input - Input about which to approximate the derivative.
f - Function of which to approximate the derivative.
Returns:
Approximated Jacobian, of the same dimension as input

differentiate

public static Vector differentiate(Vector input,
                                   Evaluator<Vector,Double> f,
                                   double h)
Static access to the numerical differentiation procedure.

Parameters:
input - Input about which to approximate the derivative.
f - Function of which to approximate the derivative.
h - Value for x-value differencing
Returns:
Approximated Jacobian, of the same dimension as input

differentiate

public Vector differentiate(Vector input)
Description copied from interface: DifferentiableEvaluator
Differentiates the output with respect to the input

Parameters:
input - Input about which to compute the derivative
Returns:
Derivative of the output with respect to the given input