Что такое логарифм гамма-функции?
Логарифм гамма-функции, который обозначают lnГамма(a) или ln(Гамма(a)), — это натуральный логарифм гамма-функции Гамма(a). Сама гамма-функция обобщает понятие факториала на вещественные и комплексные числа: для целого положительного n справедливо равенство \(\Gamma(n) = (n-1)!\). Поскольку Гамма(a) растёт чрезвычайно быстро, в научных и статистических расчётах почти всегда работают именно с её логарифмом — это позволяет избежать переполнения при вычислениях. Функция lnГамма встречается повсюду в теории вероятностей (бета- и гамма-распределения, критерий хи-квадрат), комбинаторике и численном анализе.
Как пользоваться калькулятором
Введите аргумент a (любое вещественное число) и нажмите «Рассчитать». Калькулятор выдаёт lnГамма(a) в виде натурального логарифма, а также значение по основанию 10 (Log10 Гамма). При a больше 0 результат — вещественное число. В точках a = 0, −1, −2, −3, … гамма-функция имеет полюсы, поэтому lnГамма там не определена, и калькулятор сообщает об этом. Для отрицательных нецелых a значение Гамма может быть отрицательным; в этом случае калькулятор показывает вещественное главное значение, вычисленное по формуле отражения.
Разбор формулы
Калькулятор использует приближение Ланцоша (g = 7, девять коэффициентов) — быстрый и очень точный метод в замкнутой форме. Полагая \(x = a - 1\) и \(t = x + 7.5\), он вычисляет взвешенную сумму A коэффициентов Ланцоша и находит $$\ln\Gamma(a) = 0.5\ln(2\pi) + (x + 0.5)\ln(t) - t + \ln(A).$$ При a меньше или равном 0.5 применяется формула отражения $$\Gamma(a)\cdot\Gamma(1-a) = \frac{\pi}{\sin(\pi a)},$$ которая сводит задачу к значению, где ряд Ланцоша сходится хорошо.
Пример расчёта
Возьмём a = 3.5: $$\Gamma(3.5) = 2.5 \times 1.5 \times 0.5 \times \sqrt{\pi} = 1.875 \times 1.7724538509 = 3.32335097045.$$ Следовательно, $$\ln\Gamma(3.5) = \ln(3.32335097045) = 1.20097360234707.$$ Для проверки рассмотрим a = 5: здесь \(\Gamma(5) = 4! = 24\), поэтому $$\ln\Gamma(5) = \ln(24) = 3.17805383034795.$$
Частые вопросы
Почему берут логарифм гамма-функции, а не саму функцию? Уже при умеренных значениях a величина Гамма(a) выходит за пределы стандартных чисел с плавающей точкой (например, Гамма(171) превышает диапазон типа double), тогда как lnГамма остаётся в разумных пределах, поэтому логарифмическая форма практичнее.
Чему равны lnГамма(1) и lnГамма(2)? Оба значения равны 0, потому что \(\Gamma(1) = \Gamma(2) = 1\), а \(\ln(1) = 0\). Минимум функции достигается вблизи a = 1.4616.
Точен ли результат? Приближение Ланцоша обеспечивает точность примерно до 15 значащих цифр для типичных аргументов, что соответствует двойной точности с плавающей точкой.