Code covered by the BSD License  

4.2

4.2 | 5 ratings Rate this file 27 Downloads (last 30 days) File Size: 52 KB File ID: #5616

Generalized Hypergeometric Function

by

 

02 Aug 2004 (Updated )

Calculates the Generalized Hypergeometric Function at the desired accuracy.

| Watch this File

File Information
Description

A numerical evaluator for the generalized hypergeometric function for complex arguments with large magnitudes using a direct summation of the Gauss series.

pFq isdefined by (borrowed from Maple):
 pFq = sum(z^k / k! * product(pochhammer(n[i], k), i=1..p) / product(pochhammer(d[j], k), j=1..q), k=0..infinity )

The desired accuracy (number of digits) can be specified as a parameter.

This function is a translation from the original fortran77 source code written by W. F. Perger from the Michigan Technological University.

Acknowledgements

This file inspired Generation Of Random Variates.

MATLAB release MATLAB 7 (R14)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (6)
04 Aug 2008 James B

In general, this function works just fine. However, a word of warning. If you plan on executing the function more than 8,192 times in any given MATLAB session, you will need to either a) run MATLAB -nojvm from Cygwin, or comment out ALL of the write statements in the Fortran code. Evidently all of these write statements fill up some kind of buffer in the desktop implementation that is bypassed when you run MATLAB from Cygwin. This behavior is present in 2007a Student Version and 2008a full version. I compiled the code using MINGW and the GNUMEX kit.

Other issues include the STOP statements in the code that will cause MATLAB to exit erroneously. I had to replace all of the STOP statements with the appropriate MATLAB MEX error statement.

06 Oct 2007 tassaddaq hussain

it is fair software and fullfill my requirement to a great extent

13 Sep 2007 Huynh Hieu

It is good. But do you do about Meijer G function? Could you help me? Thank

23 Oct 2006 Jia Chen

Very good code!

18 Apr 2005 Matt Nunes  
05 Jan 2005 Wang Xudong

Why the program does not operate with Matlab 6.5 ? It occurs some errors as follow--- ??? Error: File: D:\MATLAB6p5p1\stbc\genHyper.m Line: 332 Column: 15
Expected a variable, function, or constant, found ")".I think it may be the "bits()", I don't know how to deal with it.

Updates
05 Oct 2004

Updating so works with MATLAB < 7.0.
bits calls => bits() in two places.

Also including a mex function which does the same thing but much faster.

Contact us