Next: Nonlinear Least-Squares Weighted Overview, Previous: Nonlinear Least-Squares Overview, Up: Nonlinear Least-Squares Fitting [Index]
Below we describe the methods available for solving the trust region
subproblem. The methods available provide either exact or approximate
solutions to the trust region subproblem. In all algorithms below,
the Hessian matrix B_k is approximated as B_k \approx J_k^T J_k,
where J_k = J(x_k). In all methods, the solution of the TRS
involves solving a linear least squares system involving the Jacobian
matrix. For small to moderate sized problems (gsl_multifit_nlinear
interface),
this is accomplished by factoring the full Jacobian matrix, which is provided
by the user, with the Cholesky, QR, or SVD decompositions. For large systems
(gsl_multilarge_nlinear
interface), the user has two choices. One
is to solve the system iteratively, without needing to store the full
Jacobian matrix in memory. With this method, the user must provide a routine
to calculate the matrix-vector products J u or J^T u for a given vector u.
This iterative method is particularly useful for systems where the Jacobian has
sparse structure, since forming matrix-vector products can be done cheaply. The
second option for large systems involves forming the normal equations matrix
J^T J and then factoring it using a Cholesky decomposition. The normal
equations matrix is p-by-p, typically much smaller than the full
n-by-p Jacobian, and can usually be stored in memory even if the full
Jacobian matrix cannot. This option is useful for large, dense systems, or if the
iterative method has difficulty converging.