Hypergeom1F1MatApprox: Computes the approximation of the confluent hypergeometric...

View source: R/Hypergeom1F1MatApprox.R

Hypergeom1F1MatApproxR Documentation

Computes the approximation of the confluent hypergeometric function 1F1(a,b,X) of a matrix argument

Description

Hypergeom1F1MatApprox(a, b, X) computes the approximation of the confluent hypergeometric function 1F1(a,b,X) of a matrix argument, defined for the complex parameters a and b, with Re(a) > (p-1)/2 and Re(b-a) > (p-1)/2, and a REAL symmetric (p x p)-matrix argument X.

In fact, 1F1(a,b,X) depends only on the eigenvalues of X, so X could be specified as a (p x p)-diagonal matrix or a p-dimensional vector of eigenvalues of the original matrix X, say x.

Based on heuristic arguments (not formally proved yet), the value of the confluent hypergeometric function 1F1(a,b,X) of a matrix argument is calculated as 1F1(a;b;X) ~ 1F1(a;b;x(1)) * ... * 1F1(a;b;x(p)), where 1F1(a;b;x(1)) is the scalar value confluent hypergeometric function 1F1(a,b,x(i)) with [x(1),...,x(p)] = eig(X).

Here the confluent hypergeometric function 1F1(a;b;z) is evaluated for the vector parameters a and b and the scalar argument z by using the simple (4-step) series expansion.

Usage

Hypergeom1F1MatApprox(a, b, X)

Arguments

a

complex vector of parameters of the hypergeometric function 1F1(a;b;X).

b

complex vector of parameters of the hypergeometric function 1F1(a;b;X).

X

real symmetric (p x p)-matrix argument (alternatively can be specified as a (p x p)-diagonal matrix or a p-vector of the eigenvalues of X), i.e. x = eig(X).

Value

(Approximate) value of the confluent hypergeometric function 1F1(a;b;X), of a matrix argument X.

Note

Ver.: 06-Oct-2018 18:45:44 (consistent with Matlab CharFunTool v1.3.0, 19-Jul-2018 16:11:57).

See Also

Other Utility Function: ChebCoefficients(), ChebPoints(), ChebPolyValues(), ChebPoly(), ChebValues(), GammaLog(), GammaMultiLog(), GammaMulti(), GammaZX(), Hypergeom1F1Mat(), Hypergeom2F1Mat(), Hypergeom2F1(), HypergeompFqMat(), InterpChebValues(), hypergeom1F1(), interpBarycentric()

Examples

## EXAMPLE 1
a <- 3
b <- 5
c <-
X <- c(1, 2)
f <- Hypergeom1F1MatApprox(a, b, X)

## EXAMPLE 2
# PDF/CDF of minus log Wilks Lambda RV (p=10, n=30, q=5) from its CF
# Here, cf_LogRV_WilksLambdaNC id based on using Hypergeom1F1MatApprox
p <- 10
n <- 30
q <- 5
Delta <- c(1, 2, 3, 10, 50) # nonzero eigenvalues of non-centrality matrix
coef <- -1
cf <- function(t) cf_LogRV_WilksLambdaNC(t, p, n, q, Delta, coef)
prob <- c(0.9, 0.95, 0.99)
options <- list()
options$xMin <- 0
result <- cf2DistGP(cf, prob = prob, options = options)

gajdosandrej/CharFunToolR documentation built on June 3, 2024, 7:46 p.m.