Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
JointDistribution.JointDistributionFactory Class Reference

Static Public Member Functions

JointDistribution create (Sequence[MarginalKind] marginal_types, Sequence[MarginalConfig] marginal_configs, CopulaKind copula_type, CopulaConfig copula_config, *Optional[int] seed=None)
 
JointDistribution create_with_seeds (Sequence[MarginalKind] marginal_types, Sequence[MarginalConfig] marginal_configs, Sequence[int] marginal_seeds, CopulaKind copula_type, CopulaConfig copula_config, *int copula_seed)
 

Detailed Description

Factory helpers for C++ joint distributions.

The factory receives Python marginal and copula configurations, converts
them to C++ objects and returns a :class:`JointDistribution` wrapper.

Definition at line 174 of file JointDistribution.py.

Member Function Documentation

◆ create()

JointDistribution JointDistribution.JointDistributionFactory.create ( Sequence[MarginalKind]  marginal_types,
Sequence[MarginalConfig marginal_configs,
CopulaKind  copula_type,
CopulaConfig  copula_config,
*Optional[int]   seed = None 
)
static
Create a joint distribution with a shared optional seed.

Args:
    marginal_types: Marginal distribution family for each dimension.
    marginal_configs: Configuration object for each marginal.
    copula_type: Copula family encoding dependence.
    copula_config: Copula configuration, typically a correlation matrix.
    seed: Optional seed passed to the C++ factory.

Returns:
    A ``JointDistribution`` wrapper.

Raises:
    ValueError: If marginal type/config lengths differ or no marginal is
        provided.

Examples:
    >>> jd = JointDistributionFactory.create(
    ...     [MarginalKind.GAUSSIAN, MarginalKind.FLAT],
    ...     [GaussianMarginalConfig(0.0, 1.0), FlatMarginalConfig(-1.0, 1.0)],
    ...     CopulaKind.GAUSSIAN,
    ...     GaussianCopulaConfig(R=[[1.0, 0.2], [0.2, 1.0]]),
    ...     seed=123,
    ... )
    >>> jd.ndim
    2

Definition at line 182 of file JointDistribution.py.

◆ create_with_seeds()

JointDistribution JointDistribution.JointDistributionFactory.create_with_seeds ( Sequence[MarginalKind]  marginal_types,
Sequence[MarginalConfig marginal_configs,
Sequence[int]  marginal_seeds,
CopulaKind  copula_type,
CopulaConfig  copula_config,
*int  copula_seed 
)
static
Create a joint distribution with explicit marginal and copula seeds.

Args:
    marginal_types: Marginal distribution family for each dimension.
    marginal_configs: Configuration object for each marginal.
    marginal_seeds: Seed used for each marginal RNG.
    copula_type: Copula family encoding dependence.
    copula_config: Copula configuration.
    copula_seed: Seed used for the copula RNG.

Returns:
    A ``JointDistribution`` wrapper.

Raises:
    ValueError: If input sequence lengths differ or no marginal is
        provided.

Definition at line 232 of file JointDistribution.py.


The documentation for this class was generated from the following file: