计算Gamma(x + 1/2)/ Gamma(x)

2 python math scipy

我需要为相当大的x计算Gamma(x + 1/2)/ Gamma(x).如果我只是使用http://docs.scipy.org/doc/scipy/reference/generated/scipy.special.gamma.html它会失败,因为分母和分子是巨大的.然而,分数本身大约是sqrt(x).如何准确计算这个分数?

HYR*_*YRY 7

您可以使用 beta(a, b) = gamma(a) * gamma(b) / gamma(a+b)

from scipy.special import gamma, beta
x = 10
print gamma(x+0.5)/gamma(x)
print gamma(0.5)/beta(x, 0.5)
Run Code Online (Sandbox Code Playgroud)