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 0.999-15 Index]