Parameter

class gammapy.modeling.Parameter(name, value, unit='', scale=1, min=nan, max=nan, frozen=False, error=0)[source]

Bases: object

A model parameter.

Note that the parameter value has been split into a factor and scale like this:

value = factor x scale

Users should interact with the value, quantity or min and max properties and consider the fact that there is a factor` and scale an implementation detail.

That was introduced for numerical stability in parameter and error estimation methods, only in the Gammapy optimiser interface do we interact with the factor, factor_min and factor_max properties, i.e. the optimiser “sees” the well-scaled problem.

Parameters
namestr

Name

valuefloat or Quantity

Value

scalefloat, optional

Scale (sometimes used in fitting)

unitUnit or str, optional

Unit

minfloat, optional

Minimum (sometimes used in fitting)

maxfloat, optional

Maximum (sometimes used in fitting)

frozenbool, optional

Frozen? (used in fitting)

Attributes Summary

error

factor

Factor (float).

factor_max

Factor max (float).

factor_min

Factor min (float).

frozen

Frozen? (used in fitting) (bool).

max

Maximum (float).

min

Minimum (float).

name

Name (str).

quantity

Value times unit (Quantity).

scale

Scale (float).

unit

Unit (Unit).

value

Value = factor x scale (float).

Methods Summary

autoscale(self[, method])

Autoscale the parameters.

copy(self)

A deep copy

to_dict(self)

Convert to dict.

Attributes Documentation

error
factor

Factor (float).

factor_max

Factor max (float).

This factor_max = max / scale is for the optimizer interface.

factor_min

Factor min (float).

This factor_min = min / scale is for the optimizer interface.

frozen

Frozen? (used in fitting) (bool).

max

Maximum (float).

min

Minimum (float).

name

Name (str).

quantity

Value times unit (Quantity).

scale

Scale (float).

unit

Unit (Unit).

value

Value = factor x scale (float).

Methods Documentation

autoscale(self, method='scale10')[source]

Autoscale the parameters.

Set factor and scale according to method

Available methods:

  • scale10 sets scale to power of 10, so that abs(factor) is in the range 1 to 10

  • factor1 sets factor, scale = 1, value

In both cases the sign of value is stored in factor, i.e. the scale is always positive.

Parameters
method{‘factor1’, ‘scale10’}

Method to apply

copy(self)[source]

A deep copy

to_dict(self)[source]

Convert to dict.