В R неполная гамма-функция со сложным вводом?
Неполные гамма-функции могут быть вычислены в R с помощью pgamma, или с помощью gamma_inc_Q из библиотеки (gsl), или с помощью gammainc из библиотеки (expint). Однако все эти функции требуют только реального ввода.
Мне нужна реализация неполной гамма-функции, которая будет принимать сложный ввод. В частности, у меня есть целое число для первого аргумента и комплексное число для второго аргумента (предел в интеграле).
Эта функция четко определена для сложных входных данных (см. Википедия), и я вычислял ее в Mathematica. Кажется, он не встроен в R, и я не вижу его ни в каких библиотеках.
Итак, может ли кто-нибудь предложить более короткий путь для выполнения этих вычислений, чем поиск алгоритма, его реализация в C и написание интерфейса R?
(Если мне нужно реализовать это самостоятельно, вот единственный алгоритм для сложных входных данных, который я нашел: Kostlan & Gokhman 1987)
1 ответ
Вот реализация, предполагающая, что вам нужна нижняя неполная гамма-функция. Я сравнил пару значений с Вольфрамом, и они совпадают.
library(CharFun)
incgamma <- function(s,z){
z^s * exp(-z) * hypergeom1F1(z, 1, s+1) / s
}
Возможно, оценка не удается для большого s
,