Documentation of 'org.ddogleg.optimization.impl.NumericalJacobianFB' Java class
NumericalJacobianFB
org.ddogleg.optimization.impl

Class 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 Detail

      • NumericalJacobianFB

        public NumericalJacobianFB(FunctionNtoM function,
                                   double differenceScale)
      • NumericalJacobianFB

        public NumericalJacobianFB(FunctionNtoM function)
    • Method Detail

      • getNumOfInputsN

        public int getNumOfInputsN()
        Description copied from interface: FunctionNtoMxN
        Number of input parameters and columns in output matrix. Typically the parameters you are optimizing.
        Specified by:
        getNumOfInputsN in interface FunctionNtoMxN
        Returns:
        Number of input parameters
      • getNumOfOutputsM

        public int getNumOfOutputsM()
        Description copied from interface: FunctionNtoMxN
        Number of rows in output matrix. Typically the functions that are being optimized.
        Specified by:
        getNumOfOutputsM in interface FunctionNtoMxN
        Returns:
        Number of rows in output matrix.
      • process

        public void process(double[] input,
                            double[] jacobian)
        Description copied from interface: FunctionNtoMxN

        Processes 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:
        process in interface FunctionNtoMxN
        Parameters:
        input - Vector with input parameters.
        jacobian - Row major array with M rows and N columns.

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.