XSModel¶
-
class
sherpa.astro.xspec.
XSModel
(name, pars=())[source] [edit on github]¶ Bases:
sherpa.models.model.RegriddableModel1D
The base class for XSPEC models.
It is expected that sub-classes are used to represent the five different types of XSPEC model (additive, multiplicative, convolution, pile up, mixing, and tables), although not all are currently supported in Sherpa.
Notes
The XSPEC models are evaluated on a one-dimensional, integrated, contiguous grid. When the
calc
method is called with both low and high bin values, the arrays are converted into a single array matching the XSPEC calling convention - that is elo_0, elo_1, …, elo_n for n bins (so the last value is the upper edge of the last bin) - adding in any bins to account for a non-contiguous input. This array is used to evaluate the model, and then the return value is created by removing any extra bins that had to be added to account for non-contiguous input values.If used on an unbinned dataset, so only one array is sent to
calc
, then the input values are taken to match the XSPEC calling convention - i.e. a contiguous grid where the last element represents the upper edge of the last bin. This means that for an input grid ofn
points, the returned array will containn
values, but the last element will be zero.Attributes Summary
The hard maximum values for the thawed parameters.
The hard minimum values for the thawed parameters.
Access to the maximum limits for the thawed parameters
Access to the minimum limits for the thawed parameters
Access to the thawed parameters of the model
Methods Summary
apply
(outer, *otherargs, **otherkwargs)calc
(pars, xlo, *args, **kwargs)Evaluate the model on a grid.
guess
(dep, *args, **kwargs)Set an initial guess for the parameter values.
regrid
(*args, **kwargs)The class RegriddableModel1D allows the user to evaluate in the requested space then interpolate onto the data space.
reset
()Reset the parameter values.
set_center
(*args, **kwargs)startup
([cache])Called before a model may be evaluated multiple times.
teardown
()Called after a model may be evaluated multiple times.
Attributes Documentation
-
ndim
= 1¶
-
thawedparhardmaxes
¶ The hard maximum values for the thawed parameters.
-
thawedparhardmins
¶ The hard minimum values for the thawed parameters.
-
thawedparmaxes
¶ Access to the maximum limits for the thawed parameters
-
thawedparmins
¶ Access to the minimum limits for the thawed parameters
-
thawedpars
¶ Access to the thawed parameters of the model
-
version_enabled
= True¶
Methods Documentation
-
apply
(outer, *otherargs, **otherkwargs) [edit on github]¶
-
calc
(pars, xlo, *args, **kwargs) [edit on github]¶ Evaluate the model on a grid.
- Parameters
p (sequence of numbers) – The parameter values to use. The order matches the
pars
field.*args – The model grid. The values can be scalar or arrays, and the number depends on the dimensionality of the model and whether it is being evaluated over an integrated grid or at a point (or points).
-
get_center
() [edit on github]¶
-
guess
(dep, *args, **kwargs) [edit on github]¶ Set an initial guess for the parameter values.
Attempt to set the parameter values, and ranges, for the model to match the data values. This is intended as a rough guess, so it is expected that the model is only evaluated a small number of times, if at all.
-
regrid
(*args, **kwargs) [edit on github]¶ The class RegriddableModel1D allows the user to evaluate in the requested space then interpolate onto the data space. An optional argument ‘interp’ enables the user to change the interpolation method.
Examples
>>> import numpy as np >>> from sherpa.models.basic import Box1D >>> mybox = Box1D() >>> request_space = np.arange(1, 10, 0.1) >>> regrid_model = mybox.regrid(request_space, interp=linear_interp)
-
reset
() [edit on github]¶ Reset the parameter values.
-
set_center
(*args, **kwargs) [edit on github]¶
-
startup
(cache=False) [edit on github]¶ Called before a model may be evaluated multiple times.
- Parameters
cache (bool, optional) – Should a cache be used when evaluating the models.
See also
-
teardown
() [edit on github]¶ Called after a model may be evaluated multiple times.
See also
setup()
-