LMLSQFitter#

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

Bases: _NLLSQFitter

scipy.optimize.least_squares Levenberg-Marquardt algorithm and least squares statistic.

Parameters:
calc_uncertaintiesbool

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

Attributes:
fit_info

A scipy.optimize.OptimizeResult class which contains all of the most recent fit information

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=np.float64(1.4901161193847656e-08), estimate_jacobian=False, filter_non_finite=False, inplace=False)[source]#

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

inplacebool, optional

If False (the default), a copy of the model with the fitted parameters set will be returned. If True, the returned model will be the same instance as the model passed in, and the parameter values will be changed inplace.

Returns:
fitted_modelFittableModel

If inplace is False (the default), this is a copy of the input model with parameters set by the fitter. If inplace is True, this is the same model as the input model, with parameters updated to be those set by the fitter.

objective_function(fps, *args, fit_param_indices=None)#

Function to minimize.

Parameters:
fpslist

parameters returned by the fitter

argslist

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

fit_param_indiceslist, optional

The fit_param_indices as returned by model_to_fit_params. This is a list of the parameter indices being fit, so excluding any tied or fixed parameters. This can be passed in to the objective function to prevent it having to be computed on every call. This must be optional as not all fitters support passing kwargs to the objective function.