Текст подпрограммы и версий ( Фортран )
sf14r.zip  sf14d.zip 
Тексты тестовых примеров ( Фортран )
tsf14r.zip  tsf14d.zip 
Текст подпрограммы и версий ( Си )
sf14r_c.zip  sf14d_c.zip 
Тексты тестовых примеров ( Си )
tsf14r_c.zip  tsf14d_c.zip 
Текст подпрограммы и версий ( Паскаль )
sf14r_p.zip , sf14e_p.zip
Тексты тестовых примеров ( Паскаль )
tsf14r_p.zip , tsf14e_p.zip

Функция:  SF14R

Назначение

Вычисление полных эллиптических интегралов первого рода.

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

Функция SF14R производит вычисление следующих интегралов

                  π/2
 (1)      y =  ∫ (1 - x sin2 t) -1/2 dt             для    0 ≤ x < 1
                  0
                  π/2
 (2)      y =  ∫ (1 - x2 sin2 t) -1/2 dt            для    -1 < x < 1
                  0
                  π/2
 (3)      y =  ∫ (1 - (1 - x) sin2 t) -1/2 dt       для     0 < x ≤ 1
                  0

Алгоритм реализованный в функции, изложен в статье

W.J.Cody, Chebyshev Approximations for the Complete Elliptic Integrals K and E, Math. Comp., 19, 1965.

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

    FUNCTION  SF14R (X, L, IERR) 

Параметры

X - заданное значение аргумента x (тип: вещественный);
L - задает режим работы функции (тип: целый); при этом: если
L = 1 - вычисляется интеграл (1);
L = 2 - вычисляется интеграл (2);
L = 3 - вычисляется интеграл (3);
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы функции; при этом:
IERR=65 - когда значение L меньше 1 или больше 3; значение функции полагается равным 3.4E38;
IERR=66 - когда значение аргумента меньше 0. При L = 1; значение функции полагается pавным 3.4E38;
IERR=67 - когда значение аргумента больше или pавно 1. При L = 1 и L = 2; значение функции полагается равным 3.4E38;
IERR=68 - когда значение аргумента больше 1. При L = 3; значение функции полагается pавным 3.4E38;
IERR=69 - когда значение аргумента меньше или pавно 0. При L = 3; значение функции полагается равным 3.4E38.

Версии

SF14D - вычисление полных эллиптических интегралов первого рода с повышенной точностью.

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

UTSF10 - подпрограмма выдачи диагностических сообщений при работе функции SF14R.
UTSF11 - подпрограмма выдачи диагностических сообщений при работе функции SF14D.

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

 

Область допустимых значений аргумента для функции SF14R и SF14D указана выше при описании параметра IERR. Для функции SF14D аргумент  x  имеет тип двойной точности и при нарушении области допустимых значений функция SF14D полагается равной 1.7D308.

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

         X = 0.0
         L = 1
         Y = SF14R (X, L, IERR)

Результаты:

       Y  =  1.57079632679,     IERR = 0