Текст подпрограммы и версий ( Фортран )
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 

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

Назначение

Вычисление неполного частного и остатка при делении двух полиномов с вещественными коэффициентами

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

Пусть заданы два полинома с вещественными коэффициентами  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