autofit.LogGaussianPrior#

class LogGaussianPrior[source]#

Bases: Prior

A prior for a variable whose logarithm is gaussian distributed. Work in natural log.

The conversion of an input unit value, u, to a physical value, p, via the prior is as follows:

\[p = \mu + (\sigma * sqrt(2) * erfcinv(2.0 * (1.0 - u))\]

For example for prior = LogGaussianPrior(mean=1.0, sigma=2.0), an input prior.value_for(unit=0.5) is equal to 1.0.

[Rich describe how this is done via message]

Parameters:
  • mean (float) – The natural log of the distribution’s mean.

  • sigma (float) – The spread of this distribution in natural log space, e.g. sigma=1.0 means P(ln x) has a standard deviation of 1.

  • lower_limit (float) – A lower limit in real space (not log); physical values below this are rejected.

  • upper_limit (float) – A upper limit in real space (not log); physical values above this are rejected.

Examples

prior = af.LogGaussianPrior(mean=1.0, sigma=2.0, lower_limit=0.0, upper_limit=2.0)

physical_value = prior.value_for(unit=0.5)

Methods

assert_within_limits

dict

A dictionary representation of this prior

for_class_and_attribute_name

from_dict

Returns a prior from a JSON representation.

gaussian_prior_model_for_arguments

has

Does this instance have an attribute which is of type cls?

instance_for_arguments

log_prior_from_value

make_indexes

rtype:

Tuple[ndarray, ...]

name_of_class

A string name for the class, with the prior suffix removed.

new

Returns a copy of this prior with a new id assigned making it distinct

next_id

project

random

A random value sampled from this prior

replacing_for_path

Create a new model replacing the value for a given path with a new value

tree_unflatten

Create a prior from a flattened PyTree

unit_value_for

Compute the unit value between 0 and 1 for the physical value.

value_for

Return a physical value for a value between 0 and 1 with the transformation described by this prior.

with_limits

Create a new instance of the same prior class with the passed limits.

with_message

Attributes

component_number

factor

A callable PDF used as a factor in factor graphs

identifier

label

limits

rtype:

Tuple[float, float]

lower_unit_limit

The lower limit for this prior in unit vector space

ndim

How many dimensions does this variable have?

parameter_string

rtype:

str

upper_unit_limit

The upper limit for this prior in unit vector space

width

value_for(unit, ignore_prior_limits=False)[source]#

Return a physical value for a value between 0 and 1 with the transformation described by this prior.

Parameters:

unit (float) – A unit value between 0 and 1.

Return type:

A physical value, mapped from the unit value accoridng to the prior.