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

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

public static class NumericalDifferentiator.DoubleJacobian
extends NumericalDifferentiator<Double,Double,Double>

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

public NumericalDifferentiator.DoubleJacobian()
Default constructor


NumericalDifferentiator.DoubleJacobian

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

Parameters:
internalFunction - Internal function to numerically differencing.

NumericalDifferentiator.DoubleJacobian

public NumericalDifferentiator.DoubleJacobian(Evaluator<Double,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 Double differentiate(double input,
                                   Evaluator<Double,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 Double differentiate(double input,
                                   Evaluator<Double,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 Double differentiate(Double 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