Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
ICopula Class Referenceabstract

#include <ICopula.h>

Inheritance diagram for ICopula:

Public Member Functions

virtual ~ICopula ()=default
 Virtual destructor.
 
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 double log_density (std::vector< double > u)=0
 Evaluates the log-density of the copula at a point in the unit cube.
 
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 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 cube.
 

Detailed Description

Definition at line 33 of file ICopula.h.

Constructor & Destructor Documentation

◆ ~ICopula()

virtual ICopula::~ICopula ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ ddlog_density()

virtual RealMatrix ICopula::ddlog_density ( std::vector< double >  u)
pure virtual

Evaluates the hessian of the log-density of the copula at a point in the unit cube.

Parameters
uPoint in $[0,1]^d$.
Returns
$\nabla^2\log c(u)$, where $c$ is the copula density.

Implemented in GaussianCopula, and StudentTCopula.

◆ dlog_density()

virtual RealMatrix ICopula::dlog_density ( std::vector< double >  u)
pure virtual

Evaluates the gradient of the log-density of the copula at a point in the unit cube.

Parameters
uPoint in $[0,1]^d$.
Returns
$\nabla\log c(u)$, where $c$ is the copula density.

Implemented in GaussianCopula, and StudentTCopula.

◆ log_c_dc_ddc()

virtual LogDensityDiff ICopula::log_c_dc_ddc ( std::vector< double >  u)
pure virtual

Evaluates the value, gradient and hessian of the log-density of the copula at a point in the unit cube.

Parameters
uPoint in $[0,1]^d$.
Returns
$\log c(u)$, $\nabla\log c(u)$, $\nabla^2\log c(u)$, where $c$ is the copula density.

Implemented in GaussianCopula, and StudentTCopula.

◆ log_density()

virtual double ICopula::log_density ( std::vector< double >  u)
pure virtual

Evaluates the log-density of the copula at a point in the unit cube.

Parameters
uPoint in $[0,1]^d$.
Returns
$\log c(u)$, where $c$ is the copula density.

Implemented in StudentTCopula, and GaussianCopula.

◆ sample_u() [1/2]

virtual std::vector< double > ICopula::sample_u ( )
pure virtual

Draws a single sample from the copula.

Returns
One dependent uniform sample in $[0,1]^d$.

Implemented in GaussianCopula, and StudentTCopula.

◆ sample_u() [2/2]

virtual std::vector< std::vector< double > > ICopula::sample_u ( std::size_t  n)
pure virtual

Draws multiple samples from the copula.

Each sample is a vector of uniform variates on $[0,1]$ whose dependence is governed by the copula.

Parameters
nNumber of samples to generate.
Returns
A vector of samples, each of dimension equal to the copula dimension.

Implemented in GaussianCopula, and StudentTCopula.


The documentation for this class was generated from the following file: