Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
StudentTCopula.h
Go to the documentation of this file.
1#ifndef STUDENTTCOPULA_H
2#define STUDENTTCOPULA_H
3
4#include <gsl/gsl_sf.h>
5
6#include "GenericCopula.h"
7#include "Math.h"
8#include "AbstractConfig.h"
9
40
63public:
75 explicit StudentTCopula(unsigned int seed, RealMatrix R, int nu);
76
80 std::vector<std::vector<double>> sample_u(std::size_t n) override;
81
85 std::vector<double> sample_u() override;
86
96 double log_density(std::vector<double> u) override;
97
104 RealMatrix dlog_density(std::vector<double> u) override;
105
112 RealMatrix ddlog_density(std::vector<double> u) override;
113
123 LogDensityDiff log_c_dc_ddc(std::vector<double> u) override { return LogDensityDiff(); }
124
125private:
126 int nu;
127 RealMatrix R;
128 RealMatrix R_inv;
129 RealMatrix L;
130 double logdet;
131};
132
133#endif // STUDENTTCOPULA_H
Base type for lightweight configuration structures.
Base class providing RNG infrastructure for concrete copulas.
Partial base implementation of a copula with RNG support.
Student-t copula with correlation matrix and degrees of freedom.
RealMatrix dlog_density(std::vector< double > u) override
Computes the gradient of the Student-t copula log-density.
std::vector< double > sample_u() override
Draws a single sample from the copula.
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.
double log_density(std::vector< double > u) override
Evaluates the log-density of the copula at a point in the unit cube.
Polymorphic base class for configuration types.
Configuration object for a Student-t copula.
int nu
Correlation matrix of the latent Student-t vector.