Текст подпрограммы и версий ( Фортран )
sf16r.zip  sf16d.zip 
Тексты тестовых примеров ( Фортран )
tsf16r.zip  tsf16d.zip 
Текст подпрограммы и версий ( Си )
sf16r_c.zip  sf16d_c.zip 
Тексты тестовых примеров ( Си )
tsf16r_c.zip  tsf16d_c.zip 
Текст подпрограммы и версий ( Паскаль )
sf16r_p.zip , sf16e_p.zip
Тексты тестовых примеров ( Паскаль )
tsf16r_p.zip , tsf16e_p.zip

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

Назначение

Вычисление функций Кельвина нулевого порядка.

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

SF16R вычисляет функции Кельвина первого рода (ber (x) и bei (x)) и второго рода (ker (x) и kei (x)) нулевого порядка.

J.F.Hart, E.W.Cheney, C.L.Lawson et al, Computer Approximations, Wiley, New York, 1968.

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

    SUBROUTINE  SF16R (X, BER, BEI, AKER, AKEI, IERR) 

Параметры

X - заданное значение аргумента x (тип: вещественный);
            BER -
            BEI  
         AKER  
         AKEI  
вычисленные значения функций ber (x), bei (x), ker (x) и kei (x) соответственно (тип: вещественный);
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом:
IERR= 1 - когда значение аргумента меньше 0.; значения AKER и AKEI полагаются равными 3.4E38;
IERR=66 - когда абсолютное значение аргумента больше 57.58; значения BER и BEI полагаются равными 0.; в случае, когда аргумент неотрицателен, AKER и AKEI также полагаются равными 0.; иначе AKER и AKEI полагаются равными 3.4E38.

Версии

SF16D - вычисление функций Кельвина нулевого порядка с повышенной точностью.

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

UTSF10 - подпрограмма выдачи диагностических сообщений при работе подпрограммы SF16R.
UTSF11 - подпрограмма выдачи диагностических сообщений при работе подпрограммы SF16D.

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

 

Для подпрограммы SF16D параметры X, BER, BEI, AKER, AKEI имеют тип DOUBLE PRECISION и абсолютное значение аргумента X не должно превосходить 2.04E03. При нарушении этого условия значение IERR полагается равным 66 и для отрицательного X значения AKER и AKEI полагаются равными 1.7D308.

При X = 0, BER = 1., AKEI = - π / 4, AKER = 3.4E38 (для SF16R) или 1.7D308 (для SF16D).

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

         X = 0.4
         CALL  SF16R (X, BER, BEI, AKER, AKEI, IERR)

Результаты:

       BER     =  0.999600004442, 
       BEI      =  0.039998222229, 
       AKER  =  1.06262390276, 
       AKEI   = -0.703800212017, 
       IERR   =  0