Class NumericalJacobianFB
java.lang.Object
org.ddogleg.optimization.derivative.NumericalJacobianFB
- All Implemented Interfaces:
FunctionInOut,FunctionNtoMxN<DMatrixRMaj>
Finite difference numerical jacobian calculation using the forward+backwards equation.
Difference equation, f'(x) = (f(x+h)-f(x-h))/(2*h). Scaling is taken in account by h based
upon the magnitude of the elements in variable x.
NOTE: If multiple input parameters are modified by the function when a single one is changed numerical derivatives aren't reliable.
-
Constructor Summary
ConstructorsConstructorDescriptionNumericalJacobianFB(FunctionNtoM function) NumericalJacobianFB(FunctionNtoM function, double differenceScale) -
Method Summary
Modifier and TypeMethodDescriptionCreates a matrix which can store the jacobian.intNumber of input elements.intNumber of output elements.voidprocess(double[] input, DMatrixRMaj jacobian) Processes the input vector to output a 2D a matrix.
-
Constructor Details
-
NumericalJacobianFB
-
NumericalJacobianFB
-
-
Method Details
-
getNumOfInputsN
public int getNumOfInputsN()Description copied from interface:FunctionInOutNumber of input elements. Typically, the parameters you are optimizing.- Specified by:
getNumOfInputsNin interfaceFunctionInOut- Returns:
- number of input elements
-
getNumOfOutputsM
public int getNumOfOutputsM()Description copied from interface:FunctionInOutNumber of output elements. Typically, the functions that are being optimized.- Specified by:
getNumOfOutputsMin interfaceFunctionInOut- Returns:
- number of output elements
-
process
Description copied from interface:FunctionNtoMxNProcesses the input vector to output a 2D a matrix. The matrix has a dimension of M rows and N columns and is formatted as a row major 1D-array.
The user can modify the input parameters here and the optimizer must use those changes.
- Specified by:
processin interfaceFunctionNtoMxN<DMatrixRMaj>- Parameters:
input- Vector with input parameters.jacobian- Row major array with M rows and N columns.
-
declareMatrixMxN
Description copied from interface:FunctionNtoMxNCreates a matrix which can store the jacobian. Size is set by M and N- Specified by:
declareMatrixMxNin interfaceFunctionNtoMxN<DMatrixRMaj>- Returns:
- new instance of a matrix
-