开发者

Simple approximation of Inverse Incomplete gamma function

开发者 https://www.devze.com 2023-03-21 00:44 出处:网络
How could one approximate Inverse Incomplete gamma function Г(s,x) by some simple analytical function f(s,Г)?

How could one approximate Inverse Incomplete gamma function Г(s,x) by some simple analytical function f(s,Г)? That means write something like x = f(s,Г) = 12*log(123.45*Г) + Г + 123.4^s .

(I need at least ideas or 开发者_如何学编程references.)


You can look at the code in Boost: http://www.boost.org/doc/libs/1_35_0/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma.html and see what they're using.

EDIT: They also have inverses: http://www.boost.org/doc/libs/1_35_0/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma_inv.html


I've found out that x = f(s,Г) with given s can be nicely approximated by x = p0*(1-Г)^p1*ln(Г*p2). At least it worked for me with s <= 15 in region 0.001 < Г < 0.999.

Here p0,p1,p2 - is constants, which are chosen by approximation of f(s,Г) after you have chosen s.


There's a pretty good implementation in Cephes. There's also a D translation that I think fixes a few bugs in the Cephes version.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号