Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
CopulaConfig Namespace Reference

Classes

class  CopulaKind
 
class  GaussianCopulaConfigPy
 
class  StudentTCopulaConfigPy
 

Functions

Matrix _to_matrix (MatrixLike obj)
 
CopulaConfigPy _config_from_cpp (Any cpp_cfg)
 

Variables

 NestedList = Sequence[Sequence[float]]
 
 MatrixLike = Union[Matrix, NestedList]
 
 CopulaConfigPy = Union[GaussianCopulaConfigPy, StudentTCopulaConfigPy]
 

Detailed Description

Configuration objects used to build statistical copulas.

This module contains small Python dataclasses mirroring the C++ copula
configuration structs exposed through the ``statistic`` binding. They are meant
for user-facing Python code and convert themselves to the bound C++ objects when
calling factories such as :class:`~pyhyperiso.core.Statistic.Copula.CopulaFactoryWrapper`.

A copula models dependence between marginal distributions in a joint law. In the
C++ backend, the Gaussian and Student-t copulas are parameterized by a
correlation matrix ``R``. The Student-t copula additionally uses a number of
degrees of freedom ``nu``.

Function Documentation

◆ _config_from_cpp()

CopulaConfigPy CopulaConfig._config_from_cpp ( Any  cpp_cfg)
protected
Dispatch a bound C++ copula config to the matching Python wrapper.

Args:
    cpp_cfg: Bound C++ copula configuration object.

Returns:
    A ``GaussianCopulaConfigPy`` or ``StudentTCopulaConfigPy`` instance.

Raises:
    TypeError: If the C++ object type is not recognized.

Definition at line 160 of file CopulaConfig.py.

◆ _to_matrix()

Matrix CopulaConfig._to_matrix ( MatrixLike  obj)
protected
Normalize a Python matrix-like object into a ``Matrix`` wrapper.

Args:
    obj: Either an existing ``Matrix`` instance or a nested sequence of
        numbers with shape ``d x d``.

Returns:
    A ``Matrix`` instance ready to be converted to C++.

Raises:
    Exception: Propagates validation errors raised by ``Matrix`` when the
        nested sequence cannot be interpreted as a numeric matrix.

Definition at line 27 of file CopulaConfig.py.

Variable Documentation

◆ CopulaConfigPy

CopulaConfig.CopulaConfigPy = Union[GaussianCopulaConfigPy, StudentTCopulaConfigPy]

Definition at line 157 of file CopulaConfig.py.

◆ MatrixLike

CopulaConfig.MatrixLike = Union[Matrix, NestedList]

Definition at line 24 of file CopulaConfig.py.

◆ NestedList

CopulaConfig.NestedList = Sequence[Sequence[float]]

Definition at line 23 of file CopulaConfig.py.