Текст подпрограммы и версий ( Фортран )
sf87r.zip  sf87d.zip  sf87c.zip 
Тексты тестовых примеров ( Фортран )
tsf87r.zip  tsf87d.zip  tsf87c.zip 
Текст подпрограммы и версий ( Си )
sf87r_c.zip  sf87d_c.zip  sf87c_c.zip 
Тексты тестовых примеров ( Си )
tsf87r_c.zip  tsf87d_c.zip  tsf87c_c.zip 
Текст подпрограммы и версий ( Паскаль )
sf87r_p.zip  sf87e_p.zip  sf87c_p.zip 
Тексты тестовых примеров ( Паскаль )
tsf87r_p.zip  tsf87e_p.zip  tsf87c_p.zip 

Подпрограмма:  SF87R

Назначение

Вычисление гипергеометрической функции 2F1 (a, b; c; z) вещественного переменного  z  с вещественными параметрами  a, b, c

Математическое описание

Подпрограмма SF87R вычисляет значение гипергеометрической функции(ряда)  2F1 (a, b; c; z)  при заданных значениях вещественного переменного  z  и вещественных параметров  a, b, c посредством суммирования соответствующего ряда. Если прибавление нового члена ряда к накопленной его частичной сумме не изменяет ее значения, то вычисления заканчиваются, т.к. в этом случае достигнута машинная точность. Если после заданного заранее количества ITMAX таких итераций машинная точность не достигается, то выдается соответствующее диагностическое сообщение. В этом случае подпрограмма получает результат без гарантированной точности. Повторным обращением к подпрограмме с увеличенным значением ITMAX можно попытаться повысить точность результата. Выполненное количество итераций присваивается переменной ITER

Абрамовиц М., Стиган И. Справочник по специальным функциям. М.: Наука, 1979

Использование

    SUBROUTINE  SF87R (A, B, C, Z, ITMAX, S, ITER, IERR) 

Параметры

A,B,C - заданные значения параметров гипергеометрической функции (тип: вещественный);
Z - заданное значение переменной, для которой требуется вычислить гипергеометрическую функцию (тип: вещественный);
ITMAX - заданное максимально допустимое количество итераций при суммировании ряда;
S - вещественная переменная, значение которой на выходе полагается равным вычисленному значению функции;
ITER - целая переменная, значение которой на выходе полагается равным выполненному количеству итераций, требуемых для достижения машинной точности;
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в процессе счета; при этом:
IERR=65 - когда машинная точность не достигается за заданное максимальное количество итераций ITMAX

Версии

SF87D - вычисление гипергеометрической функции 2F1 (a, b; c; z) вещественного переменного  z с вещественными параметрами  a, b, c в режиме удвоенной точности; при этом параметры A, B, C, Z и S должны иметь тип DOUBLE PRECISION;
SF87C - вычисление гипергеометрической функции 2F1 (a, b; c; z) комплексного переменного  z с комплексными параметрами  a, b, c; при этом параметры A, B, C, Z и S должны иметь тип COMPLEX

Вызываемые подпрограммы:

      UTSF12 -
      UTSF13  
подпрограммы выдачи диагностических сообщений при работе SF87R и SF87D соответственно

Замечания по использованию: нет

Пример использования

       A = 1.0 
       B = 1.0 
       C = 1.0 
       Z = 0.5 
       ITMAX = 100 
       CALL  SF87R (A, B, C, Z, ITMAX, S, ITER, IERR) 

Результаты:

        S = 2.0 
        ITER = 62 
        IERR = 0