Parameter¶
-
class
astropy.modeling.
Parameter
(name='', description='', default=None, unit=None, getter=None, setter=None, fixed=False, tied=False, min=None, max=None, bounds=None)[source]¶ Bases:
astropy.utils.misc.OrderedDescriptor
Wraps individual parameters.
Since 4.0 Parameters are no longer descriptors (despite the fact that it inherits from OrderedDescriptor) and are based on a new implementation of the Parameter class. Parameters now (as of 4.0) store values locally (as instead previously in the associated model)
This class represents a model’s parameter (in a somewhat broad sense). It serves a number of purposes:
1) A type to be recognized by models and treated specially at class initialization (i.e., if it is found that there is a class definition of a Parameter, the model initializer makes a copy at the instance level).
2) Managing the handling of allowable parameter values and once defined, ensuring updates are consistent with the Parameter definition. This includes the optional use of units and quantities as well as tranforming values to an internally consistent representation (e.g., from degrees to radians through the use of getters and setters).
3) Holding attributes of parameters relevant to fitting, such as whether the parameter may be varied in fitting, or whether there are constraints that must be satisfied.
See Parameters for more details.
Parameters: - name : str
parameter name
- description : str
parameter description
- default : float or array
default value to use for this parameter
- unit :
Unit
if specified, the parameter will be in these units, and when the parameter is updated in future, it should be set to a
Quantity
that has equivalent units.- getter : callable
a function that wraps the raw (internal) value of the parameter when returning the value through the parameter proxy (eg. a parameter may be stored internally as radians but returned to the user as degrees)
- setter : callable
a function that wraps any values assigned to this parameter; should be the inverse of getter
- fixed : bool
if True the parameter is not varied during fitting
- tied : callable or False
if callable is supplied it provides a way to link the value of this parameter to another parameter (or some other arbitrary function)
- min : float
the lower bound of a parameter
- max : float
the upper bound of a parameter
- bounds : tuple
specify min and max as a single tuple–bounds may not be specified simultaneously with min or max
Attributes Summary
bounds
The minimum and maximum values of a parameter as a tuple constraints
Types of constraints a parameter can have. default
Parameter default value fixed
Boolean indicating if the parameter is kept fixed during fitting. max
A value used as an upper bound when fitting a parameter min
A value used as a lower bound when fitting a parameter name
Parameter name posterior
prior
quantity
This parameter, as a Quantity
instance.shape
The shape of this parameter’s value array. size
The size of this parameter’s value array. tied
Indicates that this parameter is linked to another one. unit
The unit attached to this parameter, if any. validator
Used as a decorator to set the validator method for a Parameter
.value
The unadorned value proxied by this parameter. Methods Summary
copy
([name, description, default, unit, …])Make a copy of this Parameter
, overriding any of its core attributes in the process (or an exact copy).Attributes Documentation
-
bounds
¶ The minimum and maximum values of a parameter as a tuple
-
constraints
= ('fixed', 'tied', 'bounds')¶ Types of constraints a parameter can have. Excludes ‘min’ and ‘max’ which are just aliases for the first and second elements of the ‘bounds’ constraint (which is represented as a 2-tuple). ‘prior’ and ‘posterior’ are available for use by user fitters but are not used by any built-in fitters as of this writing.
-
default
¶ Parameter default value
-
fixed
¶ Boolean indicating if the parameter is kept fixed during fitting.
-
max
¶ A value used as an upper bound when fitting a parameter
-
min
¶ A value used as a lower bound when fitting a parameter
-
name
¶ Parameter name
-
posterior
¶
-
prior
¶
-
shape
¶ The shape of this parameter’s value array.
-
size
¶ The size of this parameter’s value array.
-
tied
¶ Indicates that this parameter is linked to another one.
A callable which provides the relationship of the two parameters.
-
unit
¶ The unit attached to this parameter, if any.
On unbound parameters (i.e. parameters accessed through the model class, rather than a model instance) this is the required/ default unit for the parameter.
-
validator
¶ Used as a decorator to set the validator method for a
Parameter
. The validator method validates any value set for that parameter. It takes two arguments–self
, which refers to theModel
instance (remember, this is a method defined on aModel
), and the value being set for this parameter. The validator method’s return value is ignored, but it may raise an exception if the value set on the parameter is invalid (typically anInputParameterError
should be raised, though this is not currently a requirement).
-
value
¶ The unadorned value proxied by this parameter.
Methods Documentation
-
copy
(name=None, description=None, default=None, unit=None, getter=None, setter=None, fixed=False, tied=False, min=None, max=None, bounds=None, prior=None, posterior=None)[source]¶ Make a copy of this
Parameter
, overriding any of its core attributes in the process (or an exact copy).The arguments to this method are the same as those for the
Parameter
initializer. This simply returns a newParameter
instance with any or all of the attributes overridden, and so returns the equivalent of:Parameter(self.name, self.description, ...)