Interface UnconstrainedLeastSquaresSchur<S extends DMatrix>

All Superinterfaces:
IterativeOptimization, Serializable
All Known Implementing Classes:
UnconLeastSqLevenbergMarquardtSchur_F64, UnconLeastSqTrustRegionSchur_F64

public interface UnconstrainedLeastSquaresSchur<S extends DMatrix> extends IterativeOptimization

A variant on UnconstrainedLeastSquares for solving large scale systems which can be simplified using the Schur Complement. The approximate Hessian matrix (J'*J) is assumed to have the following block triangle form: [A B;C D]. The system being solved for is as follows: [A B;C D] [x_1;x_2] = [b_1;b_2]. See HessianSchurComplement_DSCC for more details.

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Returns the value of the objective function being evaluated at the current parameters value.
    double[]
    After each iteration this function can be called to get the current best set of parameters.
    void
    initialize(double[] initial, double ftol, double gtol)
    Specify the initial set of parameters from which to start from.
    void
    setFunction(FunctionNtoM function, SchurJacobian<S> jacobian)
    Specifies a set of functions and their Jacobian.

    Methods inherited from interface org.ddogleg.optimization.IterativeOptimization

    isConverged, isUpdated, iterate, setVerbose
  • Method Details

    • setFunction

      void setFunction(FunctionNtoM function, SchurJacobian<S> jacobian)
      Specifies a set of functions and their Jacobian. See class description for documentation on output data format.
      Parameters:
      function - Computes the output of M functions fi(x) which take in N fit parameters as input.
      jacobian - Computes the Jacobian of the M functions and breaks it up into left and right components.
    • initialize

      void initialize(double[] initial, double ftol, double gtol)
      Specify the initial set of parameters from which to start from. Call after setFunction(org.ddogleg.optimization.functions.FunctionNtoM, org.ddogleg.optimization.functions.SchurJacobian<S>) has been called.
      Parameters:
      initial - Initial parameters or guess with N elements..
      ftol - Relative threshold for change in function value between iterations. 0 ≤ ftol ≤ 1. Try 1e-12
      gtol - Absolute threshold for convergence based on the gradient's norm. 0 disables test. 0 ≤ gtol. Try 1e-12
    • getParameters

      double[] getParameters()
      After each iteration this function can be called to get the current best set of parameters.
      Returns:
      parameters
    • getFunctionValue

      double getFunctionValue()
      Returns the value of the objective function being evaluated at the current parameters value. If not supported then an exception is thrown.
      Returns:
      Objective function's value.