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.