![]() |
Гамма-функция является обобщением факториала на случай вещественных чисел. В точках x=0 или в отрицательных целочисленных значениях x гамма-функция имеет полюса. Для положительного вещественного x или отрицательного нецелого x гамма-функция определяется формулой

Для целочисленных положительных значений аргумента верно следующее равенство: Γ(n)=(n-1)!
Следует отметить, что приведенная выше формула применима и для комплексного аргумента. Но гамма-функция комплексного аргумента используется сравнительно редко и алгоритм, представленный в этом модуле, принимает только вещественные аргументы. Разумеется, взятие интеграла не является эффективным способом для вычисления значения гамма-функции. Вместо него используется ряд формул для приведения значения аргумента к диапазону [2,3], на котором построена рациональная аппроксимация. Для больших значений x (больше 33) используется формула Стирлинга. Этот алгоритм реализован в подпрограмме Gamma.
Поскольку гамма-функция очень часто принимает большие значения, которые могут привести к переполнению, вместо значения гамма-функции часто используется её логарифм, который может быть вычислен при помощи подпрограммы LnGamma.
This article is intended for personal use only.
Исходный код на C#
Исходный код на C++
Исходный код на C++, использующий библиотеки MPFR/GMP.
Исходный код GMP доступен на сайте gmplib.org. Исходный код MPFR доступен на сайте www.mpfr.org.
Исходный код на Free Pascal.
Исходный код на Delphi.
Исходный код на VB.NET.
Исходный код на VBA.
Исходный код на Python (CPython и IronPython).
|
ALGLIB® - numerical analysis library, 1999-2012. |