ряде задач вычислительной математики, связанных с моделированием физических процессов, приходится решать системы линейных алгебраических уравнений с трехдиагональной матрицей. В этом случае вместо методов Гаусса или LU-разложения более рационально использовать специальный метод - прогонки, который также изучается в данной работе.
Метод
Гаусса основан на замене исходной системы (1) на эквивалентную (т.е. имеющую
то же решение ), но с матрицей U верхней
треугольной формы:
(2)
или в развернутом виде:
(2а)
Матрица
U получается путем преобразования исходной матрицы A, а вектор - из вектора
. Так
как матрица U - треугольная, все компоненты вектора
,
начиная с
, легко находятся последовательно.
Алгоритм метода Гаусса состоит из двух этапов:
Преобразование
A à U и . à
- прямой ход;
Последовательное
вычисление (i = n, n-1, ..., 1) – обратный ход.
Далее приводится словесно-формульное описание алгоритмов прямого и обратного хода метода Гаусса. Обоснование проводимых операций можно найти в соответствующей литературе /1,2/.
Процедура
прямого хода осуществляется за n шагов (n - порядок СЛАУ). На k-том шаге
формируется k-тая строка матрицы U и k-тый компонент вектора .
Каждый
шаг состоит из двух частей. На первой вычисляются искомые элементы матрицы U и
компоненты вектора :
(3)
Примечание:
Индекс вверху (в скобках) означает индекс шага, от которого следует взять соответствующие
значения элементов и компонентов. Он необходим, так как на каждом шаге матрица
A и вектор преобразуются. Индекс k = 0
соответствует исходным элементам и компонентам. В дальнейшем будет видно, что
этот индекс является фиктивным, т.е. при программировании не порождает соответствующий
индекс массивов. Но при алгебраической записи формул в литературе он обычно
приводится.
На
второй части шага оставшаяся часть матрицы A (ниже k-той строки и правее k-того
столбца) и вектора (ниже k-того компонента)
пересчитываются по формулам:
(4)
При k = n вторая часть шага не выполняется, т.к. пересчитывать больше нечего.
Обратный
ход начинается с определения , которое следует из
(2а):
(5)
Затем
последовательно находятся по формуле:
(6)
Эта
формула следует из обобщения уравнений, которые получаются при умножении
матрицы U на вектор из (2а) и рассмотрении их в
последовательности снизу вверх.
Действия
с компонентами векторов и
в (3) и (4) совпадают с аналогичными действиями
над элементами матриц A и U, поэтому в алгоритме Гаусса часто присоединяют эти
вектора в качестве дополнительного (n+1)-го столбца соответствующих матриц.
При этом алгоритм и реализующая его программа становятся более компактными и
красивыми.
Метод LU-разложения основан на том, что матрица A может быть представлена в виде произведения двух матриц:
(7)
где L - нижняя треугольная матрица,
U - верхняя треугольная матрица с единичной главной диагональю.
При этом разложении исходная система (1) разлагается на две, но с треугольными матрицами:
(8а)
(8б)
которые легко
решаются последовательно, т.е. сначала из решения системы (8a) находится
вектор промежуточных неизвестных , а затем, используя
найденный вектор
в качестве вектора свободных
членов, решается система (8b) и находится искомый вектор неизвестных
.
Алгоритм разложения (факторизации) матрицы A на две треугольных также
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.