Model

class sherpa.models.model.Model(name, pars=())[source] [edit on github]

Bases: sherpa.utils.NoNewAttributesAfterInit

The base class for Sherpa models.

A model contains zero or more parameters that control the predictions of the model when given one or more coordinates. These parameters may represent some variable that describes the model, such as the temperature of a black body, or the computation, such as what form of interpolation to use.

Parameters
  • name (str) – A label for the model instance.

  • pars (sequence of sherpa.parameter.Parameter objects) – The parameters of the model.

Notes

Parameters can be accessed via the pars attribute, but it is expected that they will generally be accessed directly, as the class provides case-insensitive access to the parameter names as object attributes. That is, if the model contains parameters called breakFreq and norm, and the instance is stored in the variable mdl, then the following can be used to access the parameters:

print(f"Break frequency = {mdl.breakfreq.val}")
mdl.norm = 1.2e-3

Attributes Summary

ndim

The dimensionality of the model, if defined, or None.

thawedparhardmaxes

The hard maximum values for the thawed parameters.

thawedparhardmins

The hard minimum values for the thawed parameters.

thawedparmaxes

The maximum limits of the thawed parameters.

thawedparmins

The minimum limits of the thawed parameters.

thawedpars

The thawed parameters of the model.

Methods Summary

calc(p, *args, **kwargs)

Evaluate the model on a grid.

freeze()

Freeze any thawed parameters of the model.

get_center()

guess(dep, *args, **kwargs)

Set an initial guess for the parameter values.

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.

thaw()

Thaw any frozen parameters of the model.

Attributes Documentation

ndim = None

The dimensionality of the model, if defined, or None.

thawedparhardmaxes

The hard maximum values for the thawed parameters.

The minimum and maximum range of the parameters can be changed with thawedparmins and thawedparmaxes but only within the range given by thawedparhardmins to thawparhardmaxes.

thawedparhardmins

The hard minimum values for the thawed parameters.

The minimum and maximum range of the parameters can be changed with thawedparmins and thawedparmaxes but only within the range given by thawedparhardmins to thawparhardmaxes.

thawedparmaxes

The maximum limits of the thawed parameters.

Get or set the maximum limits of the thawed parameters of the model as a list of numbers. If there are no thawed parameters then [] is used. The ordering matches that of the pars attribute.

See also

thawedpars, thawedarhardmaxes, thawedparmins

thawedparmins

The minimum limits of the thawed parameters.

Get or set the minimum limits of the thawed parameters of the model as a list of numbers. If there are no thawed parameters then [] is used. The ordering matches that of the pars attribute.

See also

thawedpars, thawedarhardmins, thawedparmaxes

thawedpars

The thawed parameters of the model.

Get or set the thawed parameters of the model as a list of numbers. If there are no thawed parameters then [] is used. The ordering matches that of the pars attribute.

Methods Documentation

calc(p, *args, **kwargs)[source] [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).

freeze()[source] [edit on github]

Freeze any thawed parameters of the model.

get_center()[source] [edit on github]
guess(dep, *args, **kwargs)[source] [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.

reset()[source] [edit on github]

Reset the parameter values.

Restores each parameter to the last value it was set to. This allows the parameters to be easily reset after a fit.

set_center(*args, **kwargs)[source] [edit on github]
startup(cache=False)[source] [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

teardown()[source] [edit on github]

Called after a model may be evaluated multiple times.

See also

startup

thaw()[source] [edit on github]

Thaw any frozen parameters of the model.

Those parameters that are marked as “always frozen” are skipped.