rxmc.config.ParameterConfig#

class rxmc.config.ParameterConfig(params: List[Parameter], prior, initial_proposal_distribution)[source]#

Bases: object

Configuration for a single sector of parameters.

Bundles a list of Parameter objects with a prior distribution and an initial-proposal distribution. Instances are passed to CalibrationConfig to describe the model-parameter sector and each likelihood-parameter sector.

Parameters:
  • params (list of Parameter) – Ordered list of parameters in this sector.

  • prior (prior object or list of rv_continuous) – Prior distribution. May be any object that exposes logpdf and rvs (e.g. a frozen scipy.stats multivariate distribution, TruncatedNormalPrior, or any user-defined class with the same interface), or a list of frozen univariate scipy.stats distributions — one per parameter.

  • initial_proposal_distribution (prior object or list of rv_continuous) – Starting-location proposal distribution. Accepts the same forms as prior.

Raises:
  • ValueError – If params is empty.

  • ValueError – If the dimensionality implied by prior or initial_proposal_distribution does not match len(params).

__init__(params: List[Parameter], prior, initial_proposal_distribution)[source]#

Methods

__init__(params, prior, ...)

prior_logpdf(x)

Evaluate the log prior density at a parameter vector.

prior_transform(u)

Map unit-cube coordinates to physical parameters for this sector.

x0(nwalkers)

Draw initial walker positions from the proposal distribution.

x0(nwalkers: int) ndarray[source]#

Draw initial walker positions from the proposal distribution.

Parameters:

nwalkers (int) – Number of walkers (rows) to generate.

Returns:

ndarray, shape (nwalkers, ndim) – One initial position per walker.

prior_logpdf(x: ndarray) float[source]#

Evaluate the log prior density at a parameter vector.

Parameters:

x (ndarray, shape (ndim,)) – Parameter vector for this sector.

Returns:

float – Log prior probability at x.

prior_transform(u: ndarray) ndarray[source]#

Map unit-cube coordinates to physical parameters for this sector.

Supports two forms:

  • List prior — each element must expose a ppf method (all frozen scipy.stats univariate distributions do).

  • Joint prior with ``prior_transform`` — the prior object must implement prior_transform(u) -> ndarray itself (e.g. TruncatedNormalPrior).

Parameters:

u (ndarray, shape (ndim,)) – Unit-cube coordinates, each in [0, 1).

Returns:

ndarray, shape (ndim,) – Physical parameter vector for this sector.

Raises:

NotImplementedError – If the prior is neither a list nor exposes prior_transform.