org.ddogleg.optimization.impl
Class NumericalJacobianFB
- java.lang.Object
-
- org.ddogleg.optimization.impl.NumericalJacobianFB
-
- All Implemented Interfaces:
- FunctionNtoMxN
public class NumericalJacobianFB extends java.lang.Object implements FunctionNtoMxN
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
Constructors Constructor and Description NumericalJacobianFB(FunctionNtoM function)NumericalJacobianFB(FunctionNtoM function, double differenceScale)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description intgetNumOfInputsN()Number of input parameters and columns in output matrix.intgetNumOfOutputsM()Number of rows in output matrix.voidprocess(double[] input, double[] jacobian)Processes the input vector to output a 2D a matrix.
-
-
-
Constructor Detail
-
NumericalJacobianFB
public NumericalJacobianFB(FunctionNtoM function, double differenceScale)
-
NumericalJacobianFB
public NumericalJacobianFB(FunctionNtoM function)
-
-
Method Detail
-
getNumOfInputsN
public int getNumOfInputsN()
Description copied from interface:FunctionNtoMxNNumber of input parameters and columns in output matrix. Typically the parameters you are optimizing.- Specified by:
getNumOfInputsNin interfaceFunctionNtoMxN- Returns:
- Number of input parameters
-
getNumOfOutputsM
public int getNumOfOutputsM()
Description copied from interface:FunctionNtoMxNNumber of rows in output matrix. Typically the functions that are being optimized.- Specified by:
getNumOfOutputsMin interfaceFunctionNtoMxN- Returns:
- Number of rows in output matrix.
-
process
public void process(double[] input, double[] jacobian)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. EJML can be used to provide a matrix wrapper around the output array: DenseMatrix J = DenseMatrix.wrap(m,n,output);
The user can modify the input parameters here and the optimizer must use those changes.
- Specified by:
processin interfaceFunctionNtoMxN- Parameters:
input- Vector with input parameters.jacobian- Row major array with M rows and N columns.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG