Lorentz1D#
- class astropy.modeling.functional_models.Lorentz1D(amplitude=1, x_0=0, fwhm=1, **kwargs)[source]#
Bases:
Fittable1DModel
One dimensional Lorentzian model.
- Parameters:
- Other Parameters:
- fixed
dict
, optional A dictionary
{parameter_name: boolean}
of parameters to not be varied during fitting. True means the parameter is held fixed. Alternatively thefixed
property of a parameter may be used.- tied
dict
, optional A dictionary
{parameter_name: callable}
of parameters which are linked to some other parameter. The dictionary values are callables providing the linking relationship. Alternatively thetied
property of a parameter may be used.- bounds
dict
, optional A dictionary
{parameter_name: value}
of lower and upper bounds of parameters. Keys are parameter names. Values are a list or a tuple of length 2 giving the desired range for the parameter. Alternatively, themin
andmax
properties of a parameter may be used.- eqcons
list
, optional A list of functions of length
n
such thateqcons[j](x0,*args) == 0.0
in a successfully optimized problem.- ineqcons
list
, optional A list of functions of length
n
such thatieqcons[j](x0,*args) >= 0.0
is a successfully optimized problem.
- fixed
See also
Notes
The
x
,x_0
, andfwhm
inputs must have compatible units or be unitless numbers.Model formula:
\[f(x) = \frac{A \gamma^{2}}{\gamma^{2} + \left(x - x_{0}\right)^{2}}\]where \(\gamma\) is the half width at half maximum (HWHM), which is half the FWHM.
Examples
import numpy as np import matplotlib.pyplot as plt from astropy.modeling.models import Lorentz1D plt.figure() s1 = Lorentz1D() r = np.arange(-5, 5, .01) for factor in range(1, 4): s1.amplitude = factor plt.plot(r, s1(r), lw=2, label=f'Amplitude={factor}') plt.axis([-5, 5, -1, 4]) plt.legend() plt.show()
Attributes Summary
This property is used to indicate what units or sets of units the evaluate method expects, and returns a dictionary mapping inputs to units (or
None
if any units are accepted).Names of the parameters that describe models of this type.
Methods Summary
evaluate
(x, amplitude, x_0, fwhm)One dimensional Lorentzian model function.
fit_deriv
(x, amplitude, x_0, fwhm)One dimensional Lorentzian model derivative with respect to parameters.
Attributes Documentation
- amplitude = Parameter('amplitude', value=1.0)#
- fwhm = Parameter('fwhm', value=1.0)#
- input_units#
- param_names = ('amplitude', 'x_0', 'fwhm')#
Names of the parameters that describe models of this type.
The parameters in this tuple are in the same order they should be passed in when initializing a model of a specific type. Some types of models, such as polynomial models, have a different number of parameters depending on some other property of the model, such as the degree.
When defining a custom model class the value of this attribute is automatically set by the
Parameter
attributes defined in the class body.
- x_0 = Parameter('x_0', value=0.0)#
Methods Documentation