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