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

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

public static class NumericalDifferentiator.MatrixJacobian
extends NumericalDifferentiator<Vector,Vector,Matrix>

Numerical differentiator based on a Matrix 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.MatrixJacobian()
          Default constructor
NumericalDifferentiator.MatrixJacobian(Evaluator<Vector,Vector> internalFunction)
          Creates a new instance of VectorJacobian
NumericalDifferentiator.MatrixJacobian(Evaluator<Vector,Vector> internalFunction, double delta)
          Create a new instance of VectorJacobian
 
Method Summary
 Matrix differentiate(Vector input)
          Differentiates the output with respect to the input
static Matrix differentiate(Vector input, Evaluator<Vector,Vector> f)
          Static access to the numerical differentiation procedure.
static Matrix differentiate(Vector input, Evaluator<Vector,Vector> 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.MatrixJacobian

public NumericalDifferentiator.MatrixJacobian()
Default constructor


NumericalDifferentiator.MatrixJacobian

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

Parameters:
internalFunction - Internal function to numerically differencing.

NumericalDifferentiator.MatrixJacobian

public NumericalDifferentiator.MatrixJacobian(Evaluator<Vector,Vector> 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 Matrix differentiate(Vector input,
                                   Evaluator<Vector,Vector> 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 Matrix differentiate(Vector input,
                                   Evaluator<Vector,Vector> 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 Matrix 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