Текст подпрограммы и версий ( Фортран ) sfa1r.zip sfa1d.zip |
Тексты тестовых примеров ( Фортран ) tsfa1r.zip tsfa1d.zip |
Текст подпрограммы и версий ( Си ) sfa1r_c.zip sfa1d_c.zip |
Тексты тестовых примеров ( Си ) tsfa1r_c.zip tsfa1d_c.zip |
Текст подпрограммы и версий ( Паскаль ) sfa1r_p.zip sfa1e_p.zip |
Тексты тестовых примеров ( Паскаль ) tsfa1r_p.zip tsfa1e_p.zip |
Вычисление комплексной интегральной показательной функции.
Подпрограмма SFA1R вычисляет значение комплексной интегральной показательной функции
W(k, z) = Re W + i Im W = ∞ = zk ez ∫ e - t / zk dt , z
где z = x + i y, а k - вещественный параметр.
Вычисления проводятся по следующим рекуррентным формулам для n = 2, 3, 4, ...
Dn = z / (z + m Dn - 1) , Rn = (Dn - 1) Rn-1 , Cn = Cn-1 + Rn , где D1 = R1 = C1 = 1 , m = k - 1 + (n - 2)/2 , если n - четное m = (n + 2)/2 , если n - нечетное
Вычисления прекращаются, когда модуль разности между Cn и Cn - 1 становится меньше заданной точности EPS.
Сходимость имеет место на всей комплексной плоскости, за исключением начала координат и отрицательной вещественной оси. Сходимость замедляется для | z | < 0.05 и для некоторой области, зависящей от k, внутри полосы | y | < 2, x < 0
Абрамовиц M., Стиган И. Справочник по специальным функциям. М.: Наука, 1979
SUBROUTINE SFA1R (X, Y, RK, EPS, REW, RIMW, N)
Параметры
X, Y - | вещественная и мнимая части заданного значения аргумента z (тип: вещественный); |
RK - | заданное значение параметра k (тип: вещественный); |
EPS - | заданная точность вычисления комплексной интегральной показательной функции (тип: вещественный); |
REW - RIMW | вещественные переменные, которым присваиваются вычисленные вещественная и мнимая части комплексной интегральной показательной функции; |
N - | целая переменная, значение которой полагается равным количеству итераций по рекуррентным расчетным формулам, выполненным для достижения заданной точности EPS. |
Версии
SFA1D - | вычисление комплексной интегральной показательной функции в режиме удвоенной точности; при этом параметры X, Y, RK, EPS, REW, RIMW должны иметь тип DOUBLE PRECISION. |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
X = 1.0 Y = 1.0 RK = 1.0 EPS = 0.000001 CALL SFA1R (X, Y, RK, EPS, REW, RIMW, N) Результаты: REW = 0.6733211 RIMW = 0.1478637 N = 34