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_infopython:dict

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.

maxiterpython:int

maximum number of iterations

accpython:float

Relative error desired in the approximate solution

epsilonpython:float

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.

equivalenciespython:list or python: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:
fpspython:list

parameters returned by the fitter

argspython:list

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