Вычислительная математика: Методические указания к практическим и лабораторным работам, страница 10

          AI(NA) – NA–мерный вещественный массив коэффициентов алгебраического уравнения.

          В подпрограмме N1YFU производится обращение к подпрограммам N1YRPD и N1YRNG.

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

SUBROUTINE N1YRPD (N, AL, BE, P, NA, A)

реализует алгоритм вычисления коэффициентов полинома по его корням, заданным в виде вещественных и мнимых частей.

          Входные параметры подпрограммы:

          N – степень  полинома;

          AL(N) – N–мерный вещественный массив действительных частей корней полинома;

          BE(N) – N–мерный вещественный массив мнимых частей корней полинома.

          Промежуточные параметры:

          P(N,N) – (N´N)–мерный вспомогательный комплексный массив.

          Выходные параметры подпрограммы:

          NA – параметр, определяющий количество коэффициентов полинома
(NA = N + 1);

          A(NA) – NA–мерный вещественный массив коэффициентов полинома.

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

SUBROUTINE N1YRNG (N,Z)

производит группирование и ранжирование комплексных корней.

          Входные параметры подпрограммы:

          N – порядок  уравнения;

          Z(N) – N–мерный комплексный массив корней уравнения.

          Выходные параметры подпрограммы:

          Z(N) – N–мерный комплексный, упорядоченный (от минимума, с учетом знака действительной части, до максимума) массив корней уравнения.

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

SUBROUTINE N1YMSD (N, NA, AI, A, B, ZK, EPS, KMO, KM)

реализует алгоритм вычисления всех корней алгебраического уравнения методом спуска.

          Входные параметры подпрограммы:

          N – порядок  уравнения;

          NA – параметр, определяющий количество коэффициентов алгебраического уравнения (NA = N + 1);

          AI(NA) – NA–мерный вещественный массив коэффициентов алгебраического уравнения;

          EPS – параметр e, посредством которого производится останов итерационной процедуры метода спуска.

          Промежуточные параметры:

          A(NA) – NA–мерный вспомогательный вещественный массив;

          B(NA) – NA–мерный вспомогательный вещественный массив;

          Выходные параметры подпрограммы:

          ZK(N) – N–мерный комплексный массив оценок корней уравнения;

          KMO  – общее количество итераций, полученное при выделении всех корней уравнения;

          KM – максимальное количество итераций, полученное при выделении одного из корней уравнения.

          В подпрограмме N1YMSD производится обращение к подпрограммам N1YOPP, N1YD2D и N1YRNG.

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

SUBROUTINE  N1YOPP (A, NA, XO, PP)

реализует алгоритм вычисления производной полинома для задаваемого значения комплексного аргумента.

          Входные параметры подпрограммы:

          A(NA) – NA–мерный вещественный массив коэффициентов полинома;

          NA – количество коэффициентов полинома;

          XO(2) – вещественный массив из двух элементов, в котором хранятся действительная (XO(1)) и мнимая (XO(2)) части комплексного аргумента.

          Выходные параметры подпрограммы:

          PP(2) – двухмерный вещественный массив, в котором хранятся действительная (PP(1)) и мнимая (PP(2)) части комплексного значения производной полинома.

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

SUBROUTINE  N1YD2D (A, M, C, L, D, DL, DEL)

реализует алгоритм деления двух полиномов.

          Входные параметры подпрограммы:

          A(M)– M–мерный вещественный массив коэффициентов полинома делимого;

          M   – степень полинома делимого;

          C(L) – L–мерный вещественный массив коэффициентов полинома делителя;

          L   – степень полинома делителя.

          Выходные параметры подпрограммы:

D(M) – M–мерный вещественный массив коэффициентов полинома частного;

          DL(L) – L–мерный вещественный массив коэффициентов полинома остатка;

          DEL – параметр, определяющий погрешность деления.

          Описание подпрограммы N1YRNG приведено выше.

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

SUBROUTINE  N1YEM (PI, P, N, EM, EMO, ESO)