Программа вычисляет значение гамма-функции Г(X) для
действительного аргумента X с двойной точностью.
Структура:
Тип: |
- |
FUNCTION |
Имена входа для пользователя: |
- |
DGAMMA |
Обращение:
Y = DGAMMA(X)
В любом арифметическом выражении DGAMMA(X) вычисляет значение
Г(X) с двойной точностью.
Х и DGAMMA должны быть описаны оператором DOUBLE PRECISION.
Метод:
Для вычисления логарифма гамма-функции используются ассимптотические
ряды Стирлинга:
где коэффициенты , - числа Бернулли.
Если аргумент Х меньше Хmin , то аргумент в начале будет увеличен на
целое число. Используется следующая формула:
Ограничения:
Вблизи полюса точность вычисления ухудшается.
Ошибки исполнения:
Функция DGAMMA выдает сообщение:
***DGAMMA: ARGUMENT IS NON-POSITIVE INTEGER OR ZERO: ...,
если аргумент X равен целому отрицательному числу или нулю.
Пример:
. . .
DOUBLE PRECISION DGAMMA
. . .
X=0.5D0
Y=DGAMMA(X)
WRITE(*,*) X,Y
. . .
Результат:
5.000000000000000E-001 1.772453850905516