LevMarLSQFitter#

class astropy.modeling.fitting.LevMarLSQFitter(calc_uncertainties=False)[source]#

Bases: _NonLinearLSQFitter

Levenberg-Marquardt algorithm and least squares statistic.

Parameters:
calc_uncertaintiesbool

If the covarience matrix should be computed and set in the fit_info. Default: False

Notes

The fit_info dictionary contains the values returned by scipy.optimize.leastsq for the most recent fit, including the values from the infodict dictionary it returns. See the scipy.optimize.leastsq documentation for details on the meaning of these values. Note that the x return value is not included (as it is instead the parameter values of the returned model). Additionally, one additional element of fit_info is computed whenever a model is fit, with the key ‘param_cov’. The corresponding value is the covariance matrix of the parameters as a 2D numpy array. The order of the matrix elements matches the order of the parameters in the fitted model (i.e., the same order as model.param_names).

Attributes:
fit_infodict

The scipy.optimize.leastsq result for the most recent fit (see notes).

Attributes Summary

supported_constraints

The constraint types supported by this fitter type.

Methods Summary

__call__(model, x, y[, z, weights, maxiter, ...])

Fit data to this model.

objective_function(fps, *args)

Function to minimize.

Attributes Documentation

supported_constraints = ['fixed', 'tied', 'bounds']#

The constraint types supported by this fitter type.

Methods Documentation

__call__(model, x, y, z=None, weights=None, maxiter=100, acc=1e-07, epsilon=1.4901161193847656e-08, estimate_jacobian=False, filter_non_finite=False)#

Fit data to this model.

Parameters:
modelFittableModel

model to fit to x, y, z

xarray

input coordinates

yarray

input coordinates

zarray, optional

input coordinates

weightsarray, optional

Weights for fitting. For data with Gaussian uncertainties, the weights should be 1/sigma.

Changed in version 5.3: Calculate parameter covariances while accounting for weights as “absolute” inverse uncertainties. To recover the old behavior, choose weights=None.

maxiterint

maximum number of iterations

accfloat

Relative error desired in the approximate solution

epsilonfloat

A suitable step length for the forward-difference approximation of the Jacobian (if model.fjac=None). If epsfcn is less than the machine precision, it is assumed that the relative errors in the functions are of the order of the machine precision.

estimate_jacobianbool

If False (default) and if the model has a fit_deriv method, it will be used. Otherwise the Jacobian will be estimated. If True, the Jacobian will be estimated in any case.

equivalencieslist or None, optional, keyword-only

List of additional equivalencies that are should be applied in case x, y and/or z have units. Default is None.

filter_non_finitebool, optional

Whether or not to filter data with non-finite values. Default is False

Returns:
model_copyFittableModel

a copy of the input model with parameters set by the fitter

objective_function(fps, *args)#

Function to minimize.

Parameters:
fpslist

parameters returned by the fitter

argslist

[model, [weights], [input coordinates]]