Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
ICopula.h
Go to the documentation of this file.
1#ifndef ICOPULA_H
2#define ICOPULA_H
3
4#include "Math.h"
5
11
33class ICopula {
34public:
38 virtual ~ICopula() = default;
39
49 virtual std::vector<std::vector<double>> sample_u(std::size_t n) = 0;
50
56 virtual std::vector<double> sample_u() = 0;
57
64 virtual double log_density(std::vector<double> u) = 0;
65
72 virtual RealMatrix dlog_density(std::vector<double> u) = 0;
73
80 virtual RealMatrix ddlog_density(std::vector<double> u) = 0;
81
88 virtual LogDensityDiff log_c_dc_ddc(std::vector<double> u) = 0;
89};
90
91#endif // ICOPULA_H
virtual RealMatrix ddlog_density(std::vector< double > u)=0
Evaluates the hessian of the log-density of the copula at a point in the unit cube.
virtual LogDensityDiff log_c_dc_ddc(std::vector< double > u)=0
Evaluates the value, gradient and hessian of the log-density of the copula at a point in the unit cub...
virtual RealMatrix dlog_density(std::vector< double > u)=0
Evaluates the gradient of the log-density of the copula at a point in the unit cube.
virtual std::vector< std::vector< double > > sample_u(std::size_t n)=0
Draws multiple samples from the copula.
virtual std::vector< double > sample_u()=0
Draws a single sample from the copula.
virtual ~ICopula()=default
Virtual destructor.
virtual double log_density(std::vector< double > u)=0
Evaluates the log-density of the copula at a point in the unit cube.
RealMatrix dlog_c
Definition ICopula.h:8
double log_c
Definition ICopula.h:7
RealMatrix ddlog_c
Definition ICopula.h:9