Вычислительная математика и программирование - Боглаев Ю.П.
ISBN 5-06-00623-9
Скачать (прямая ссылка):
W —вещественный одномерный массив, размерность N, рабочий массив,
I —индекс ошибки, до обращения положить 1 = 0;
выходные:
D — значение det А;
467
О—нет ошибок, т J 1—матрица А особенная, полагается D = О,
— j 2—определитель слишком велик,
3 — определитель слишком мал.
12.3.10. Решение систем линейных алгебраических уравнений.
Программы этого пункта вычисляют приближенные решения системы линейных уравнений
АХ=В,
где матрица А—матрица системы. Матрица В образована набором векторов npanibix частей систем, в простейшем случае В есть один вектор b, матрица X образуется из решений х систем
; Ах = Ь
с правыми частями, входящими в Д в простейшем случае X есть один вектор х.
Алгоритмы основаны на различных вариантах метода исключения Гаусса.
А9А0: решение вещественной системы линейных уравнений с симметричной положительно определенной матрицей
SUBROUTINE A9A0(A,K,B,L,N,M,X,J,W,W1 ,L1,1)
Параметры входные:
А —вещественный двумерный массив, размерность (К, Р), где содержит матрицу А, используется только
верхняя треугольная часть,
К —целое, число строк массива А, описанное в вызывающей программе, в простом варианте положить
P—K=N,
В —вещественный двумерный массив, размерность (L, Р), где Р^М, содержит элементы М векторов Ъ, записанные по столбцам,
L —целое, число строк массива Р, описанное в вызывающей программе, L^N; в простом варианте положить L = N,
N —целое, порядок матрицы А,
М —целое, число векторов В,
J —целЪе, число строк массива X, описанное в вызывающей программе, J^N; в простом варианте положить J=N,
W —вещественный одномерный массив, размерность N, L1 —целое, число строк массива W1, описанное в вызывающей программе, L1 ^ N,
I —индекс ошибки, до обращения положить 1 = 0;
\
468
выходные:
X —вещественный двумерный массив, размерность (/, Р), где Р^М; содержит М векторов решений системы,
W1—вещественный двумерный массив, размерность LxP, Р^М; содержит матрицу невязок В—АХ;
Г0 — нет ошибок,
1= < 1—матрица А не положительно определена,
|^2—матрица А плохо обусловлена.
А9А1: решение вещественной системы линейных уравнений SUBROUTINE A9A1(A,K,B,L,N,M,X,J,W,I) Параметры входные:
А —вещественный двумерный массив, размерность (X, Р), где P^N; содержит матрицу А,
К —целое, число строк А, описанное в вызывающей программе, Х>А; в простом варианте положить P=K=N,
В —вещественный двумерный массив, размерность (L, Р), где Р^М; содержит элементы М векторов b, записанных по столбцам,
L —целое, число строк Р, описанное в вызывающей программе, L^N; в простом варианте положить L = N,
N —целое, порядок матрицы А,
М —целое, число векторов Р,
J —целое, число строк массива X, описанное в вызывающей программе, J^N; в простом варианте положить J=N,
W —вещественный одномерный массив, размерность А,
I —индекс ошибок; до обращения положить 1 = 0;
выходные:
X —вещественный двумерный массив, размерность JxP, где Р^М; содержит М векторов решений системы;
ГО — нет ошибок,
[ 1 —матрица А — особенная.
12.3.11. Вычисление собственных значений и векторов. В настоящем пункте представлены программы, определяющие собственные значения матрицы А, т. е. ненулевые X, удовлетворяющие равенству Ах = Хх, и соответствующие X—векторы л;—собственные векторы матрицы А. В основе алгоритмов лежит: приведение исходной марицы к трехдиагональной (симметричные матрицы) или к почти треугольной (в общем случае) и применение QL- или (^-алгоритмов.
469
ВОАО: вычисление собственных значений вещественной симметричной матрицы
SUBROUTINE B0A0(A,K,N,G,W,I)
Параметры входные:
А —вещественный двумерный массив, размерность (К, Р), где P^N; содержит матрицу А, для вычислений нужна нижняя треугольная часть,
К —целое, число строк А, описанное в вызывающей программе, Х>ЛГ; в простом варианте положить , P=K=N,
N —целое, порядок матрицы А,
W -вещественный одномерный массив, размерность N, рабочий массив,
I —индекс ошибки, до обращения положить 1 = 0;
выходные:
G —вещественный одномерный массив, размерность N, содержит Хи Х2, ..., Хп в порядке возрастания;
{0—нет ошибок,
1—алгоритм медленно сходится из-за близости собственных значений.
В0А1: вычисление собственных значений и собственных векторов вещественной симметричной матрицы
SUBROUTINE BOA 1 (A,K,N,G,X,L,W,I)
Параметры входные:
А —вещественный двумерный массив, размерность {К, Р), где P^N; содержит матрицу А, для вычислений нужна нижняя треугольная часть,
К —целое, число строк А, описанное в вызывающей программе, Х>А; в простом варианте положить P=K=N,
N —целое, порядок матрицы А,
L —целое, число строк массива X; описанное в вызывающей программе, L^N,
W —вещественный одномерный массив, размерность N, рабочий массив,
I —индекс ошибки, до обращения положить 1 = 0;
выходные:
G —вещественный одномерный массив, размерность N, содержит Х2, Хп в порядке возрастания,
X —вещественный двумерный массив, размерность (L, 5), где N; содержит нормированные собственные вектора
470 \
V. •
(в евклидовой норме), расположенные по столбцам с соответствием
X(J,I)<->G(I), J=l, 2, N;