- •4.2. Метод Гаусса
- •4.3 Метод прогонки
- •3.4. Итерационные методы решения систем линейных уравнений. Общие положения. Метод простой итерации
- •4.4.1. Алгоритм метода простой итерации
- •4.5. Метод Зейделя
- •4.5.1. Геометрическая интерпретация метода Зейделя
- •5.3. Вычисление обратной матрицы
- •5.1. Вычисление определителя. Общие положения
- •5.1.1. Вычисление определителя по методу Гаусса
- •5.1.2. Вычисление определителя по схеме Халецкого
- •5.3. Решение системы линейных уравнений по обратной матрице
4.3 Метод прогонки
Пусть имеется разреженная система с трехдиагональной матрицей, т.е. ненулевые элементы находятся лишь на главной и двух соседней с ней диагоналях, расположенных сверху и снизу (см.(4.5)):
![]()
+
![]()
+![]()
=
,
(4.21)
i
= 1, 2, …, n;
=
0,
=0,
=
0,
=0,
0, (4.22)
тогда данная система, , например из пяти уравненй (n = 5), запишется так:
-

+

=
,
+
+

=
,
+
+

=
,
(4.23)
+
+

=
,
+

=
.
Замечание. В дальнейшем, при выводе рабочих формул, ссылку будем делать в основном на систему (4.23), предполагая, что последнее (пятое) уравнение имеет порядковый номер п.
Такие системы получаются при моделировании некоторых инженерных задач, а также при численном решении краевых задач для дифференциальных уравнений. Для решения системы (4.21) – (4.22) обычно применяется метод прогонки, который является частным случаем метода Гаусса, и состоит из двух этапов – прямой прогонки (аналог прямого хода) и обратной прогонки (аналог обратного хода метода Гаусса).
Прямая
прогонка
состоит в том, что каждое неизвестное
выражается через
с помощью прогоночных
коэффициентов
и
:
=
![]()
+
,
i
= 1, 2, …, n
– 1. (4.24)
Коэффициенты
и
вычисляются следующим образом.
Первое уравнение
системы (4.23) разрешим относительно
,
а уравнение (4.21) запишем для i
= 1:
=(–
/
)
+
(
/
),
=
![]()
+
.
(4.25)
Приравнивая
коэффициенты при неизвестных
и
,
получаем:
= –
/
,
=
/
.
(4.26)
Второе уравнение
системы (4.23) запишем, заменяя
по формуле (4.25):
(![]()
+
)
+
![]()
+
![]()
=
.
Отсюда находим:
= [–
/(![]()
+
)]
+
(
–![]()
)/(![]()
+
)
Но, с другой стороны (см. (4.24)),
=
![]()
+
.
Сравнивая последнее уравнение с предшествующим, определяем:
= –
/(![]()
+
),
= (
–![]()
)/(![]()
+
).
То есть, формулы
для вычисления
и
(i = 2, 3,…, n – 1) будут следующие:
=
,
=
,
(4.27)
Таким образом, в
результате выполнения первого этапа
(проведения прямой прогонки), последовательно
применяя формулы (4.26) и (4.27), вычисляем
все значения
и
(i
= 1, 2, …, n
– 1).
Обратная
прогонка
заключается в последовательном вычислении
неизвестных
.
С этой целью сначала нужно найти
.
Если воспользоваться выражениями (4.24)
при i
= n
– 1 и последним уравнением системы
(4.23) (учитывая замечание к этой системе),
получим:
=
![]()
+
,
![]()
+
![]()
=
.
Исключая
из последних двух выражений, находим
=
.
(4.28)
Далее, используя
вычисленные значения
и
,
по формуле (4.24) последовательно вычисляем
,
,
…,
.
Метод прогонки из-за его устойчивости можно применять для решения больших систем уравнений.
