Levenberg-Marquardt nonlinear least squares algorithm
