R: Coefficients of Polynomial used for Gumbel Copula

coeffG {copula} | R Documentation

## Coefficients of Polynomial used for Gumbel Copula

### Description

Compute the coefficients a[d,k](θ) 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/θ 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

a_k(θ, d) = (-1)^(d-k) Sum(j=k..d; α^j * s(d,j) * S(j,k)), k in 1..d.

### Note

There are still known numerical problems (with non-"Rmpfr" methods; and those are slow), e.g., for d=100, alpha=0.8 and sign(s(n,k)) = (-1)^(n-k).

As a consequence, the `method`s and its defaults may change in the future, and so the exact implementation of `coeffG()` is still considered somewhat experimental.

### Examples

    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)

[Package copula version 1.0-1 Index]