我需要计算

∫ [x₁ to x₂] 1/√(1-k² sinh²(x)) dx

在我的程序中。这可以使用在复杂参数中评估的第一类不完全椭圆积分来表示:
-i (F(ix₂ | -k²) - F(ix₁ | -k²)).

我发现GSL提供了椭圆积分F,但对于复数似乎并没有过载。是否有一些可用的扩展名或我可以使用的其他库?

最佳答案

好的,这是一个紧急问题。但是,如果将来可能有人对此感兴趣,那么自我回答可能会有所帮助。

查看GSL的源代码,我发现F(φ,k)被减小(只要φ∈[-π,π])为

sin(φ) RF(1-sin²(φ), 1-k²sin²(φ), 1),

其中RF是另一个GSL功能。没有F(iφ,k),但是我们可以安全地在上面插入纯虚数φ,因为所有三个参数都保持为实:
sin(iφ) = i sinh(φ)
=>
F(iφ,k) = sin(iφ) RF(1+sinh²(φ), 1+k²sinh²(φ), 1)
=>
-i F(iφ | -k^2) = sinh(φ) RF(1+sinh²(φ), 1-k²sinh²(φ), 1)

09-30 14:05