Simple Implementation
The following implementation in the Python programming language works for complex arguments and typically gives 15 correct decimal places:
from cmath import * # Coefficients used by the GNU Scientific Library g = 7 p = [0.99999999999980993, 676.5203681218851, -1259.1392167224028, 771.32342877765313, -176.61502916214059, 12.507343278686905, -0.13857109526572012, 9.9843695780195716e-6, 1.5056327351493116e-7] def gamma(z): z = complex(z) # Reflection formula if z.real < 0.5: return pi / (sin(pi*z)*gamma(1-z)) else: z -= 1 x = p for i in range(1, g+2): x += p/(z+i) t = z + g + 0.5 return sqrt(2*pi) * t**(z+0.5) * exp(-t) * xRead more about this topic: Lanczos Approximation
Famous quotes containing the word simple:
“The real drawback to the simple life is that it is not simple. If you are living it, you positively can do nothing else. There is not time.”
—Katharine Fullerton Gerould (18791944)