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:
“His character as one of the fathers of the English language would alone make his works important, even those which have little poetical merit. He was as simple as Wordsworth in preferring his homely but vigorous Saxon tongue, when it was neglected by the court, and had not yet attained to the dignity of a literature, and rendered a similar service to his country to that which Dante rendered to Italy.”
—Henry David Thoreau (18171862)