knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(HypergeoMat3)

Let $(a_1, \ldots, a_p)$ and $(b_1, \ldots, b_q)$ be two vectors of real or complex numbers, possibly empty, $\alpha > 0$ and $X$ a real symmetric or a complex Hermitian matrix. The corresponding hypergeometric function of a matrix argument is defined by $$ {}pF_q^{(\alpha)} \left(\begin{matrix} a_1, \ldots, a_p \ b_1, \ldots, b_q\end{matrix}; X\right) = \sum{k=0}^\infty\sum_{\kappa \vdash k} \frac{{(a_1)}\kappa^{(\alpha)} \cdots {(a_p)}\kappa^{(\alpha)}} {{(b_1)}\kappa^{(\alpha)} \cdots {(b_q)}\kappa^{(\alpha)}} \frac{C_\kappa^{(\alpha)}(X)}{k!}. $$ The inner sum is over the integer partitions $\kappa$ of $k$ (which we also denote by $|\kappa| = k$). The symbol ${(\cdot)}\kappa^{(\alpha)}$ is the generalized Pochhammer symbol, defined by $$ {(c)}\kappa^{(\alpha)} = \prod_{i=1}^\ell\prod_{j=1}^{\kappa_i} \left(c - \frac{i-1}{\alpha} + j-1\right) $$ when $\kappa = (\kappa_1, \ldots, \kappa_\ell)$. Finally, $C_\kappa^{(\alpha)}$ is a Jack function. Given an integer partition $\kappa$ and $\alpha > 0$, and a real symmetric or complex Hermitian matrix $X$ of order $n$, the Jack function $$ C_\kappa^{(\alpha)}(X) = C_\kappa^{(\alpha)}(x_1, \ldots, x_n) $$ is a symmetric homogeneous polynomial of degree $|\kappa|$ in the eigenvalues $x_1$, $\ldots$, $x_n$ of $X$.

The series defining the hypergeometric function does not always converge. See the references for a discussion about the convergence.

The inner sum in the definition of the hypergeometric function is over all partitions $\kappa \vdash k$ but actually $C_\kappa^{(\alpha)}(X) = 0$ when $\ell(\kappa)$, the number of non-zero entries of $\kappa$, is strictly greater than $n$.

For $\alpha=1$, $C_\kappa^{(\alpha)}$ is a Schur polynomial and it is a zonal polynomial for $\alpha = 2$. In random matrix theory, the hypergeometric function appears for $\alpha=2$ and $\alpha$ is omitted from the notation, implicitely assumed to be $2$. This is the default value of $\alpha$ in the HypergeoMat package.

Koev and Eldeman (2006) provided an efficient algorithm for the evaluation of the truncated series $$ {{}{p!!!!!}}^m! F_q^{(\alpha)} \left(\begin{matrix} a_1, \ldots, a_p \ b_1, \ldots, b_q\end{matrix}; X\right) = \sum{k=0}^m\sum_{\kappa \vdash k} \frac{{(a_1)}\kappa^{(\alpha)} \cdots {(a_p)}\kappa^{(\alpha)}} {{(b_1)}\kappa^{(\alpha)} \cdots {(b_q)}\kappa^{(\alpha)}} \frac{C_\kappa^{(\alpha)}(X)}{k!}. $$

In the HypergeoMat package, $m$ is called the truncation weight of the summation (because $|\kappa|$ is called the weight of $\kappa$), the vector $(a_1, \ldots, a_p)$ is called the vector of upper parameters while the vector $(b_1, \ldots, b_q)$ is called the vector of lower parameters. The user can enter either the matrix $X$ or the vector $(x_1, \ldots, x_n)$ of the eigenvalues of $X$.

For example, to compute $$ {{}_{2!!!!!}}^{15}! F_3^{(2)} \left(\begin{matrix} 3, 4 \ 5, 6, 7\end{matrix}; \begin{pmatrix} 0.1 && 0.4 \ 0.4 && 0.1 \end{pmatrix}\right) $$ you have to enter (recall that $\alpha=2$ is the default value)

hypergeomPFQ(m = 15, a = c(3,4), b = c(5,6,7), x = cbind(c(0.1,0.4),c(0.4,0.1)))

We said that the hypergeometric function is defined for a real symmetric matrix or a complex Hermitian matrix $X$. However we do not impose this restriction in the HypergeoMat package. The user can enter any real or complex square matrix, or a real or complex vector of eigenvalues.

References



stla/HypergeoMat3 documentation built on Nov. 5, 2019, 9:39 a.m.