File Exchange

image thumbnail

Gamma

version 1.0 (2.35 KB) by

Compute a very accurate Gamma function over the entire complex plane.

25 Downloads

Updated

No License

A very accurate complex Gamma function valid over the entire complex plane. This function is more accurate than MATLAB's own real only Gamma function.

Comments and Ratings (11)

Feng

Feng (view profile)

Karan Gill

Also worth mentioning that if you have the Symbolic Math Toolbox, you calculate the complex gamma function in double using it. Example:

>> double(gamma(sym(1+1i)))
ans =
   0.4980 - 0.1549i

G. Merchant

Loss of accuracy in complex plane:

Using this routine:
gamma(-2-2e-7 i)=0.462366678321968 + 2499999.99999981i

Using backwards recursion:
gamma(0-2e-7 i)=-0.577215664901504 + 4999999.99999981i
gamma(-1-2e-7i)=gamma(-2e-7i)/(-1-2e-7i) =-0.577215664901504 + 4999999.99999981i
gamma(-2-2e-7i)=gamma(-1-2e-7i)/(-2-2e-7i)=0.461392167549202 + 2499999.99999982i

Note that the real part agree for only 2 digits. The second calculation based on backwards recursion agrees Mathematica and Fortran. Look for discussion on Google Groups by Krishna Myneni.
Is it possible to fix this issue?

Marzieh

Thank you!

Thanks. Very useful!

Deepak

Deepak (view profile)

Its so lovely to see this function on the first search.
Extremely handy.
Please post some references as well for the theory.

Matteo Borghi

Rudi Fruehwirth

Very useful!

Bill Davidson

Thank you. Excellent. It is a handy function to have around.

hugues de chatellus

MATLAB Release
MATLAB 6.0 (R12)
Acknowledgements

Inspired: Variable Order Derivatives

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video