|
Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
|
Student-t copula with correlation matrix and degrees of freedom. More...
#include <StudentTCopula.h>


Public Member Functions | |
| StudentTCopula (unsigned int seed, RealMatrix R, int nu) | |
| Constructs a Student-t copula. | |
| std::vector< std::vector< double > > | sample_u (std::size_t n) override |
| Draws multiple samples from the copula. | |
| std::vector< double > | sample_u () override |
| Draws a single sample from the copula. | |
| double | log_density (std::vector< double > u) override |
| Evaluates the log-density of the copula at a point in the unit cube. | |
| RealMatrix | dlog_density (std::vector< double > u) override |
| Computes the gradient of the Student-t copula log-density. | |
| RealMatrix | ddlog_density (std::vector< double > u) override |
| Computes the Hessian of the Student-t copula log-density. | |
| LogDensityDiff | log_c_dc_ddc (std::vector< double > u) override |
| Computes the log-density and derivative bundle. | |
Public Member Functions inherited from GenericCopula | |
| GenericCopula (unsigned int seed=std::random_device{}()) | |
| Constructs the copula base with a seeded random engine. | |
Public Member Functions inherited from ICopula | |
| virtual | ~ICopula ()=default |
| Virtual destructor. | |
Additional Inherited Members | |
Protected Attributes inherited from GenericCopula | |
| const gsl_rng_type * | rng_tp {gsl_rng_mt19937} |
| gsl_rng_sptr | eng_ {nullptr, &gsl_rng_free} |
| GSL RNG type used by the copula. | |
Student-t copula with correlation matrix and degrees of freedom.
Internally, the copula stores:
Sampling:
Density evaluation uses the usual Student-t copula formula based on:
Definition at line 62 of file StudentTCopula.h.
|
explicit |
Constructs a Student-t copula.
The correlation matrix is projected to the nearest PSD correlation matrix.
| seed | Seed for the RNG. |
| R | Correlation matrix. |
| nu | Degrees of freedom. Must be at least 2. |
| std::invalid_argument | if nu < 2. |
Definition at line 3 of file StudentTCopula.cpp.
|
overridevirtual |
Computes the Hessian of the Student-t copula log-density.
| u | Uniform vector in ![]() |
u. Implements ICopula.
Definition at line 70 of file StudentTCopula.cpp.
|
overridevirtual |
Computes the gradient of the Student-t copula log-density.
| u | Uniform vector in ![]() |

Implements ICopula.
Definition at line 64 of file StudentTCopula.cpp.
|
inlineoverridevirtual |
Computes the log-density and derivative bundle.
| u | Uniform vector in ![]() |
Implements ICopula.
Definition at line 123 of file StudentTCopula.h.
|
overridevirtual |
Evaluates the log-density of the copula at a point in the unit cube.
| u | Point in ![]() |


The implementation:

Implements ICopula.
Definition at line 44 of file StudentTCopula.cpp.
|
overridevirtual |
Draws a single sample from the copula.
![$[0,1]^d$](form_34.png)
Implements ICopula.
Definition at line 24 of file StudentTCopula.cpp.
|
overridevirtual |
Draws multiple samples from the copula.
Each sample is a vector of uniform variates on ![$[0,1]$](form_35.png)
| n | Number of samples to generate. |
Implements ICopula.
Definition at line 14 of file StudentTCopula.cpp.