Version 1.2.0

10th April 2013

Recent Changes

• Single
• Double

NS23 Sparse nonlinear over-determined equations: Marquardt method

To solve a system of $m$ nonlinear equations in $n$ unknowns, $x={x}_{1},{x}_{2},\dots ,{x}_{n}$ of the form

${r}_{i}\left(x\right)={f}_{i}\left(x\right)+\sum _{j=1}^{n}{a}_{ij}{x}_{j}=0\phantom{\rule{2em}{0ex}}i=1,2,...,m\phantom{\rule{2em}{0ex}}m\ge n$

where the matrices $A={\left\{{a}_{ij}\right\}}_{m×n}$ and $J={\left\{\partial {f}_{i}∕\partial {x}_{j}\right\}}_{m×n}$ are sparse.

The over-determined case, $m>n$, is handled by taking the solution to be that which minimizes the sum of squares

$S=\sum _{i=1}^{m}{{r}_{i}\left(x\right)}^{2}.$

his makes the routine suitable for the nonlinear data ﬁtting problem and parameter variances and covariances can be generated. Derivatives are optional and when not provided by the user are estimated using a deﬁnite diﬀerence approximation.

The algorithm is based on Fletcher’s version of the Marquardt method.

The user must supply the matrix $A$ in a condensed form, an initial estimate of $x$, and code to calculate ${f}_{i}\left(x\right)$ and optionally the matrix $J$.