View source: R/Hypergeom1F1MatApprox.R
| Hypergeom1F1MatApprox | R Documentation |
1F1(a,b,X) of a matrix argumentHypergeom1F1MatApprox(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.
Hypergeom1F1MatApprox(a, b, X)
a |
complex vector of parameters of the hypergeometric function |
b |
complex vector of parameters of the hypergeometric function |
X |
real symmetric |
(Approximate) value of the confluent hypergeometric function 1F1(a;b;X), of a matrix argument X.
Ver.: 06-Oct-2018 18:45:44 (consistent with Matlab CharFunTool v1.3.0, 19-Jul-2018 16:11:57).
Other Utility Function:
ChebCoefficients(),
ChebPoints(),
ChebPolyValues(),
ChebPoly(),
ChebValues(),
GammaLog(),
GammaMultiLog(),
GammaMulti(),
GammaZX(),
Hypergeom1F1Mat(),
Hypergeom2F1Mat(),
Hypergeom2F1(),
HypergeompFqMat(),
InterpChebValues(),
hypergeom1F1(),
interpBarycentric()
## 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.