Optimization Toolbox    

Nonlinear Equations Implementation

Both the Gauss-Newton and trust-region dogleg methods are implemented in the Optimization Toolbox. Details of their implementations are discussed below.

Gauss-Newton Implementation

The Gauss-Newton implementation is the same as that for least-squares optimization. It is described in Gauss-Newton Implementation.

Trust-Region Dogleg Implementation

The key feature of this algorithm is the use of the Powell dogleg procedure for computing the step , which minimizes Eq. 3-25. For a detailed description, see Powell [36].

The step is constructed from a convex combination of a Cauchy step (a step along the steepest descent direction) and a Gauss-Newton step for . The Cauchy step is calculated as

where is chosen to minimize Eq. 3-24.

The Gauss-Newton step is calculated by solving

using the MATLAB \ (matrix left division) operator.

The step is chosen so that

where is the largest value in the interval [0,1] such that . If is (nearly) singular, is just the Cauchy direction.

The dogleg algorithm is efficient since it requires only one linear solve per iteration (for the computation of the Gauss-Newton step). Additionally, it can be more robust than using the Gauss-Newton method with a line search.


  Nonlinear Systems of Equations Constrained Optimization