MATLAB/C Code for the Hypergeometric Function (for α = 1) of One or Two Matrix Arguments

Page under construction

Source: Download here [tgz, zip].

Compilation of mex files: Run compileScript.m. Alternatively, select binaries are available here.

Usage in MATLAB: [result, byPartitionSize] = computeHG(mode, N, a, b, x, y)

This will compute pFq(1)(a1,..., ap; b1,..., bq; X, Y), which is the hypergeometric function (for the complex case, α = 1)
of two matrices X and Y with real eigenvalues in arrays x and y (must be the same length). The function is truncated to
sum over partitions up to size (weight) N. Omit y to compute the hypergeometric function of the single matrix argument x.

The argument mode = [0, 1, 2] specifices how much precomputation to do to speed up execution. Higher values
of mode require more memory for precomputed data, but lead to greater speed up. Precomputed data is saved in
persistent memory so that future calls using the same parameters (N and n) can be evaluated more quickly.

Example: Run example.m for a timing comparison between modes and some graphs of function convergence
for n = 30, 35, 40, 45 (n is the order of the matrix inputs).

Usage in C: You can call the functions in the .c files directly and manage the precomputed data yourself.

Please email me any questions or comments.

Home