Minpack interface



After looking this over a bit, and looking at lbfgs, I think the right
interface to minpack's least squares solver is this:

minpack_lsquares(vars, initpt, fcns, [jacobian = matrix], [tolerance =
1d-8])

where vars is a list of the variable names, initpt is the initial guess,
and fcns is a list of the functions.

If jacobian is given, it is assumed to the Jacobian matrix.  If jacobian
is true, Maxima will compute the Jacobian from fcns.  If jacobian is
false, a difference method will be used to compute the Jacobian.

So, if the Jacobian is given, minpack routine lmder1 is called.  Without
a jacobian, lmdif1 is called.

A similar interface could be used for Minpack's hybrd function which
computes the solution of n non-linear equations in n unknowns.

Ray