Class NumericalJacobianForward_DSCC

All Implemented Interfaces:
FunctionInOut, FunctionNtoMxN<DMatrixSparseCSC>

public class NumericalJacobianForward_DSCC
extends Object
implements FunctionNtoMxN<DMatrixSparseCSC>
Finite difference numerical gradient calculation using forward equation. Forward difference equation, f'(x) = f(x+h)-f(x)/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 Details

    • NumericalJacobianForward_DSCC

      public NumericalJacobianForward_DSCC​(FunctionNtoM function, double differenceScale)
    • NumericalJacobianForward_DSCC

      public NumericalJacobianForward_DSCC​(FunctionNtoM function)
  • Method Details

    • getNumOfInputsN

      public int getNumOfInputsN()
      Description copied from interface: FunctionInOut
      Number of input elements. Typically the parameters you are optimizing.
      Specified by:
      getNumOfInputsN in interface FunctionInOut
      number of input elements
    • getNumOfOutputsM

      public int getNumOfOutputsM()
      Description copied from interface: FunctionInOut
      Number of output elements. Typically the functions that are being optimized.
      Specified by:
      getNumOfOutputsM in interface FunctionInOut
      number of output elements
    • process

      public void process​(double[] input, DMatrixSparseCSC 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.

      The user can modify the input parameters here and the optimizer must use those changes.

      Specified by:
      process in interface FunctionNtoMxN<DMatrixSparseCSC>
      input - Vector with input parameters.
      jacobian - Row major array with M rows and N columns.
    • declareMatrixMxN

      public DMatrixSparseCSC declareMatrixMxN()
      Description copied from interface: FunctionNtoMxN
      Creates a matrix which can store the jacobian. Size is set by M and N
      Specified by:
      declareMatrixMxN in interface FunctionNtoMxN<DMatrixSparseCSC>
      new instance of a matrix
    • setZeroTolerance

      public void setZeroTolerance​(double zeroTolerance)