File Exchange

image thumbnail


version 1.0 (2.35 KB) by

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



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 (12)


kewin (view profile)

very useful,thank you very much!!!


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?


Thank you!

Thanks. Very useful!


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)

Inspired: Variable Order Derivatives

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

» Watch video