溢出上不完全伽马函数

计算科学 C++ 浮点 特殊功能
2021-12-18 12:02:11

我想计算以下等式:

θΓ(κ+1,oθ)oΓ(κ,oθ)Γ(κ)+o+s
s>0,o>0,κ>0,θ>0并且在其中Γ(κ,x)表示上不完全伽马函数和Γ(κ)(真)伽马函数。

我目前在 c++ 中使用 boost tgamma实现这个等式 返回一个大的溢出κ价值观。有没有办法改变这个方程?

2个回答

这应该很明显,但是您应该尝试的第一件事是使用 归一化的不完全伽马函数 Q(a,x)=Γ(a,x)Γ(a) 对于分数分子中的两个和(对于第一个,您必须为k+1)。在升压Q(a,x)称为gamma_q

使用递归步骤和归一化不完全伽马函数定义,我将公式简化为:

θeklog(oθ)oθlnΓ(κ)+θκQ(κ,oθ)oQ(κ,oθ)+o+s

在这个等式中Q代表归一化的上不完全伽马函数(升压中的gamma_q):

Qκ,x=Γ(κ,x)Γ(κ)

ln(Γ(κ))可以通过在 boost 中使用lgamma来实现,到目前为止,我没有大的溢出错误κ价值观。

感谢您的支持