copula (version 0.999-19)

coeffG: Coefficients of Polynomial used for Gumbel Copula

Description

Compute the coefficients \(a_{d,k}(\theta)\) involved in the generator (psi) derivatives and the copula density of Gumbel copulas.

For non-small dimensions \(d\), these are numerically challenging to compute accurately.

Usage

coeffG(d, alpha,
       method = c("sort", "horner", "direct", "dsumSibuya",
                  paste("dsSib", eval(formals(dsumSibuya)$method), sep = ".")),
       log = FALSE, verbose = FALSE)

Arguments

d

number of coefficients, (the copula dimension), d >= 1.

alpha

parameter \(1/\theta\) in \((0,1]\); you may use mpfr(alph, precBits = <n_prec>) for higher precision methods ("Rmpfr*") from package Rmpfr.

method

a character string, one of

"sort":

compute coefficients via \(exp(log())\) pulling out the maximum, and sort.

"horner":

uses polynomial evaluation, our internal polynEval().

"direct":

brute force approach.

"dsSib.<FOO>":

uses dsumSibuya(..., method= "<FOO>").

log

logical determining if the logarithm (log) is to be returned.

verbose

logical indicating if some information should be shown, currently for method == "sort" only.

Value

a numeric vector of length d, of values $$% latex a_k(\theta, d) = (-1)^{d-k}\sum_{j=k}^d \alpha^j * s(d,j) * S(j,k), k \in \{1,\ldots,d\}.$$

Examples

Run this code
# NOT RUN {
a.k  <- coeffG(16, 0.55)
plot(a.k, xlab = quote(k), ylab = quote(a[k]),
     main = "coeffG(16, 0.55)", log = "y", type = "o", col = 2)
a.kH <- coeffG(16, 0.55, method = "horner")
stopifnot(all.equal(a.k, a.kH, tol = 1e-11))# 1.10e-13 (64-bit Lnx, nb-mm4)
# }
# NOT RUN {
<!-- %% maybe more from ../demo/G_ak.R -->
# }

Run the code above in your browser using DataCamp Workspace