Текст подпрограммы и версий ( Фортран ) zp55r.zip zp55d.zip |
Тексты тестовых примеров ( Фортран ) tzp55r.zip tzp55d.zip |
Текст подпрограммы и версий ( Си ) zp55r_c.zip zp55d_c.zip |
Тексты тестовых примеров ( Си ) tzp55r_c.zip tzp55d_c.zip |
Текст подпрограммы и версий ( Паскаль ) zp55r_p.zip zp55e_p.zip |
Тексты тестовых примеров ( Паскаль ) tzp55r_p.zip tzp55e_p.zip |
Вычисление неполного частного и остатка при делении двух полиномов с вещественными коэффициентами
Пусть заданы два полинома с вещественными коэффициентами A (X) и B (X) степени NP и MP соответственно
A(X) = A(1) + A(2)*X + A(3)*X2 + ... + A(NP + 1)*XNP B(X) = B(1) + B(2)*X + B(3)*X2 + ... + B(MP + 1)*XMP
Подпрограмма ZP55R вычисляет неполное частное Q (X) и остаток R (X) при делении полинома A (X) на B (X), т.е. такие полиномы Q (X) и R (X), что
A(X) = Q(X) B(X) + R(X)
Если MP > NP, то Q (X) є 0 и R (X) є A (X). Если MP ≤ NP, то полином Q (X) имеет степень NP - MP, а R (X) является полиномом степени не выше MP - 1. При этом элемент массива R (MP + 1) полагается равным нулю
SUBROUTINE ZP55R (NP, A, MP, B, Q, R)
Параметры
NP - | заданная степень полинома A (X) (тип: целый); |
A - | вещественный вектор длины NP + 1, содержащий коэффициенты полинома A (X) в порядке возрастания степеней; |
MP - | заданная степень полинома B (X) (тип: целый); |
B - | вещественный вектор длины MP + 1, содержащий коэффициенты полинома B (X) в порядке возрастания степеней; |
Q - | вещественный вектор длины NP + 1, содержащий в первых NP - MP + 1 элементах вычисленные коэффициенты неполного частного Q (X) в порядке возрастания степеней; |
R - | вещественный вектор длины NP + 1, содержащий в первых MP элементах вычисленные коэффициенты остатка R (X) в порядке возрастания степеней; элемент R (MP + 1) полагается равным нулю |
Версии
ZP55D - | вычисление неполного частного и остатка при делении двух полиномов с вещественными коэффициентами в режиме удвоенной точности; при этом параметры A, B, Q и R должны иметь тип DOUBLE PRECISION |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
DIMENSION A(7), B(5), Q(7), R(7) DATA A /- 10., 30., - 50., 40., - 20., 8., 8./ DATA B /- 8., 6., - 4., 3., 2./ NP = 6 MP = 4 CALL ZP55R (NP, A, MP, B, Q, R) Результаты: Q = ( 1.,- 2.,4. ) R = ( - 2., 8., - 2., 5. ) R(5) = R(MP + 1) = 0.0