### 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\times n}$
and $J={\left\{\partial {f}_{i}\u2215\partial {x}_{j}\right\}}_{m\times 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$.