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.
| 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.