DGAMMA Библиотека "JINRLIB" C322 Автор: H.H.Stassen Язык: Фортран ГАММА-ФУНКЦИЯ ДЕЙСТВИТЕЛЬНОГО АРГУМЕНТА Программа вычисляет значение гамма-функции Г(x) для действительного аргумента x с двойной точностью. Структура: ---------- Тип: FUNCTION Имена входа для пользователя: DGAMMA Обращение: ---------- Y = DGAMMA(X) В любом арифметическом выражении DGAMMA(x) вычисляет значение Г(х) с двойной точностью. Х и DGAMMA должны быть описаны оператором DOUBLE PRECISION. Метод: ------ Для вычисления логарифма гамма-функции используются ассимптотические ряды Стирлинга: --- 2i-1 Ln(Г(X)) прибл.= (X-1/2)*Ln(X)-X+Ln(SQRT(2Pi)) + > C / X , --- i i где коэффициенты C = B / (2i(2i-1)), B - числа Бернулли. i 2i 2i Если аргумент Х меньше Х , то аргумент в начале будет увеличен на min целое число. Используется следующая формула: k-1 --- Ln(Г(X)) = Ln(Г(X+K))- Ln [ I I (X+i) ] i=0 Ограничения: ------------ Вблизи полюса точность вычисления ухудшается. Ошибки исполнения: ------------------ Функция DGAMMA выдает сообщение: ***DGAMMA: ARGUMENT IS NON-POSITIVE INTEGER OR ZERO: ..., если аргумент X равен целому отрицательному числу или нулю. Пpимеp: ------- . . . DOUBLE PRECISION DGAMMA . . . X=0.5D0 Y=DGAMMA(X) WRITE(*,*) X,Y . . . Результат: ---------- 5.000000000000000E-001 1.772453850905516 |