Skip to content

Conventions

Data orientation

VineCopulas.jl uses p × n matrices for observations:

  • rows are variables/dimensions;

  • columns are observations;

  • a single observation is a vector of length p.

This is consistent with many Distributions.jl multivariate conventions.

Edge orientation

The edge array is triangular. For a full vine in dimension , tree contains   pair-copulas. In code:

julia
edges[k][i]

represents the th pair-copula in tree .

Conditional convention

For a bivariate copula and coordinates , the package uses

The ASCII API is:

julia
hfunc1(C, u, v)
hfunc2(C, u, v)
hinv1(C, q, v)
hinv2(C, q, u)

The Unicode aliases are also exported:

julia
h₁(C, u, v)
h₂(C, u, v)
h₁⁻¹(C, q, v)
h₂⁻¹(C, q, u)

Probability boundaries

Copulas are defined on , but densities and conditional inverses are often singular or undefined exactly at the boundary. The implementation clamps exact boundary values only when necessary to avoid invalid evaluations.

Truncation

For C-vines and D-vines, trunc controls the number of active trees. A truncation level of p - 1 corresponds to the full vine. A truncation level of q < p - 1 omits higher-order trees.