Занятие № 8. Метод итераций для систем уравнений
Цель - ознакомить студентов с методом итераций решения систем линейных алгебраических уравнений.
Рассмотрим систему линейных алгебраических уравнений (СЛАУ):
a11 x1 + a12 x2 + … + a1n xn = b1
a21 x1 + a22 x2 + … + a21 xn = b2
……………………………………. .
an1 x1 + an1 x2 +… + ann xn = bn,
или в векторно-матричном виде:
Ax = B, (1)
где
А = , B= , x=
Итерационные методы решения СЛАУ используются для решения СЛАУ большой размерности с разреженными матрицами, а также для уточнения решения СЛАУ, полученного с помощью прямого метода. Формулировка и применение итерационных методов требует определенных знаний и определенного опыта. Выбор эффективного итерационного метода решения конкретной задачи существенно зависит от ее характерных свойств и от архитектуры вычислительной машины, на которой будет решаться задача. Поэтому никаких общих правил выбора наилучшего итерационного метода решения не существует. Метод простой итерации приведен здесь как иллюстрация действия механизма вычисления решения на основе итерационной процедуры.
Суть метода состоит в следующем. От системы уравнений вида (1) переходят к системе уравнений
x=Dх + С (2)
Например, от системы уравнений
а11х1+а12х2+а13х3=в1
а21х1+ а22х2+а23х3=в2 (3)
а31х1+а32х2+а33х3=в3
можно перейти к виду (2), выразив из первого уравнения х1, из второго - х2, из третьего - х3:
х1= - а12/а11х2 - а13/а11х3+в1/а11
х2= - а21/а22х1 - а23/а22х3+в2/а22 (4)
х3= - а31/а33х1 - а32/а33х2+ в3/а33
Приведение исходной системы уравнений в виду (2) можно осуществить различными способами. Например, в СЛАУ (3) из первого уравнения можно выразить х2, из второго - х1, из третьего - х3 и, переставив уравнения для сохранения порядка следования переменных в векторе решения х, снова прийти к виду (2). Естественно, что матрица D и вектор с будут уже иными. Возможны и другие способы преобразования исходных уравнений.
После преобразования (1) к виду (2) назначается нулевое приближение решения х (0):
х1 (0)
х (0) = х2 (0)
х3 (0).
Если приблизительно известны значения хi вектора решения х, то они выбираются в качестве нулевого приближения, если нет, то в качестве вектора х (0) выбирается любой вектор, например х (0) =О.
Первый шаг итерационного процесса состоит в вычислении приближения х(1):
х (1) = Dx (0) +С.
Например, назначив х (0) и подставив его в систему уравнений (4), получим:
х1 (1) = - а12/а11х (0) - а13/а11х3 (0) +в1/а11
х2 (1) = - а21/а22х1 (0) - а23/а22х3 (0) +в2/а22
х3 (1) = - а31/а33х1 (0) - а32/а33х2 (0) +в3/а33.
Далее вычисляем:
х (2) = Dx (1) +C
х (к) =Dх (к-1) +С
и т.д.
Достаточное условие сходимости метода итерации заключается в следующем, если норма матрицы D (обозначается ║D║) меньше 1, то система уравнений (2) имеет единственное решение х* и итерации сходятся к этому решению со скоростью геометрической прогрессии. Иными словами, если
║D║<1, (5)
то
= 0
и выполняется тождество
х*=Dх*+С.
В качестве нормы матрицы D используются нормы ║D║1 или ║D║∞:
║D║1 = ,
║D║∞= |.
Аналогично вводятся нормы вектора х:
║х║1 =
║х║∞= |xi|.
Из условия сходимости (5) ясно, что не всякое преобразование исходной системы к виду (2) позволит получить решение уравнения на основе итерационного процесса, а только такое, которое обеспечит выполнение условия ║D║<1. Важно иметь в виду, что при выполнении этого условия итерационный процесс сходится для любого начального приближения х (0) и выбор х (0) =O диктуется просто соображениями удобства назначения х (0).
Условие (5) выполняется, если модули диагональных коэффициентов для каждого уравнения системы больше суммы модулей недиагональных коэффициентов, т. е.
Если задана допустимая погрешность вычислений Δ, то для оценки погрешности к - го приближения широко используется следующее неравенство:
║х (к) - х*║≤║D║ ∕ (1-║D║) •║х (к) - х (к-1) ║<Δ (6)
Из этого неравенства следует критерий окончания итерационного процесса
║х (к) - х (к-1) ║ < (1-║ D║) •∆ ∕ ║D║ (7)
Каждый раз при вычислении очередного приближения х (k) проверяется выполнение неравенства (7).
Выполнение неравенства (7) означает выполнение неравенства
║х (к) - х*║ < ∆
и, следовательно, прекращение итерационного процесса.
Метод Зейделя.
Метод Зейделя представляет собой некоторую модификацию метода итераций. Основная его идея заключается в том, что при вычислении (k + 1)-го приближения неизвестной xi учитываются уже вычисленные ранее (k + 1)-е приближения неизвестных x1, x2, …, xi - 1.
Пусть для системы (1) получена эквивалентная система
Выберем произвольно начальные приближения корней . Далее, предполагая, что k-ые приближения корней известны, согласно Зейделю будем строить (k + 1)-е приближения корней по формулам:
Метод прогонки.
Метод прогонки является модификацией метода Гаусса для частного случая разреженных систем - системы уравнений с трёхдиагональной матрицей. Такие системы получаются при моделировании некоторых инженерных задач, а также при численном решении краевых задач для дифференциальных уравнений.
Запишем систему уравнений в виде:
На главной диагонали матрицы этой системы стоят элементы над ней - элементыпод ней - элементы При этом обычно все коэффициенты bi не равны нулю.
Метод прогонки состоит из двух этапов - прямой прогонки (аналога прямого хода метода Гаусса) и обратной прогонки (аналога обратного хода метода Гаусса). Прямая прогонка состоит в том, что каждое неизвестное хi выражается через xi+1 с помощью прогоночных коэффициентов AAi, ВВi:
(1)
Из первого уравнения системы найдём
С другой стороны, по формуле (1) Приравнивая коэффициенты в обоих выражениях для х1, получаем
(2)
Из второго уравнения системы выразим х2через х3,заменяя xiпо формуле (1):
Отсюда найдём
или
Аналогично можно вычислить прогоночные коэффициенты для любого
номера i:
(3)
Обратная прогонка состоит в последовательном вычислении неизвестных xi.Сначала нужно найти хn.Для этого воспользуемся выражением (1) при i=n-1и последним уравнением системы. Запишем их:
Отсюда
Далее, используя формулы (1) и выражения для прогоночных коэффициентов (2), (3), последовательно вычисляем все неизвестные xiдля i=n-1, n-2,.. .,1.
При анализе алгоритма метода прогонки надо учитывать возможность деления на нуль в формулах (3). Можно показать, что при выполнении условия преобладания диагональных элементов, т.е. если
причём хотя бы для одного значения iимеет место строгое неравенство, деления на нуль не возникает, и система имеет единственное решение.
Приведённое условие преобладания диагональных элементов обеспечивает также устойчивость метода прогонки относительно погрешностей округлений. Последнее обстоятельство позволяет использовать метод прогонки для решения больших систем уравнений. Заметим, что данное условие устойчивости прогонки является достаточным, но не необходимым. В ряде случаев для хорошо обусловленных систем метод прогонки оказывается устойчивым даже при нарушении условия преобладания диагональных элементов.
Задания: выполнить задание 5 ИДЗ№1.