Простое приближение обратной неполной гамма-функции - PullRequest
3 голосов
/ 15 июля 2011

Как можно приблизить обратную Неполную гамма-функцию Г (s, x) какой-нибудь простой аналитической функцией f (s, Г)? Это означает, что напишите что-то вроде x = f (s, Г) = 12 * log (123.45 * Г) + Г + 123.4 ^ s.

(мне нужны хотя бы идеи или ссылки.)

Ответы [ 3 ]

5 голосов
/ 15 июля 2011

Вы можете посмотреть код в Boost: http://www.boost.org/doc/libs/1_35_0/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma.html и посмотреть, что они используют.

РЕДАКТИРОВАТЬ: У них также есть обратные: http://www.boost.org/doc/libs/1_35_0/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma_inv.html

1 голос
/ 20 июля 2011

Я обнаружил, что x = f (s, Г) с заданными s можно хорошо аппроксимировать как x = p0 * (1-Г) ^ p1 * ln (Г * p2). По крайней мере, у меня это сработало с s <= 15 в области 0,001 <Г <0,999. </p>

Здесь p0, p1, p2 - это константы, которые выбираются аппроксимацией f (s, Г) после того, как вы выбрали s.

0 голосов
/ 15 июля 2011

В Cephes есть довольно хорошая реализация.Есть также D перевод , который, я думаю, исправляет несколько ошибок в версии Cephes.

...