Занятие № 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)

где

А = Занятие № 8. Метод итераций для систем уравнений - student2.ru , B= Занятие № 8. Метод итераций для систем уравнений - student2.ru , x= Занятие № 8. Метод итераций для систем уравнений - student2.ru

Итерационные методы решения СЛАУ используются для решения СЛАУ большой размерности с разреженными матрицами, а также для уточнения решения СЛАУ, полученного с помощью прямого метода. Формулировка и применение итерационных методов требует определенных знаний и определенного опыта. Выбор эффективного итерационного метода решения конкретной задачи существенно зависит от ее характерных свойств и от архитектуры вычислительной машины, на которой будет решаться задача. Поэтому никаких общих правил выбора наилучшего итерационного метода решения не существует. Метод простой итерации приведен здесь как иллюстрация действия механизма вычисления решения на основе итерационной процедуры.

Суть метода состоит в следующем. От системы уравнений вида (1) переходят к системе уравнений

x=Dх + С (2)

Например, от системы уравнений

а11х112х213х31

а21х1+ а22х223х32 (3)

а31х132х233х33

можно перейти к виду (2), выразив из первого уравнения х1, из второго - х2, из третьего - х3:

х1= - а1211х2 - а1311х3111

х2= - а2122х1 - а2322х3222 (4)

х3= - а3133х1 - а3233х2+ в333

Приведение исходной системы уравнений в виду (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) = - а1211х (0) - а1311х3 (0) 111

х2 (1) = - а2122х1 (0) - а2322х3 (0) 222

х3 (1) = - а3133х1 (0) - а3233х2 (0) 333.

Далее вычисляем:

х (2) = Dx (1) +C

х (к) =Dх (к-1)

и т.д.

Достаточное условие сходимости метода итерации заключается в следующем, если норма матрицы D (обозначается ║D║) меньше 1, то система уравнений (2) имеет единственное решение х* и итерации сходятся к этому решению со скоростью геометрической прогрессии. Иными словами, если

║D║<1, (5)

то

Занятие № 8. Метод итераций для систем уравнений - student2.ru = 0

и выполняется тождество

х*=Dх*+С.

В качестве нормы матрицы D используются нормы ║D║1 или ║D║:

║D║1 = Занятие № 8. Метод итераций для систем уравнений - student2.ru ,

║D║= Занятие № 8. Метод итераций для систем уравнений - student2.ru |.

Аналогично вводятся нормы вектора х:

║х║1 = Занятие № 8. Метод итераций для систем уравнений - student2.ru

║х║= Занятие № 8. Метод итераций для систем уравнений - student2.ru |xi|.

Из условия сходимости (5) ясно, что не всякое преобразование исходной системы к виду (2) позволит получить решение уравнения на основе итерационного процесса, а только такое, которое обеспечит выполнение условия ║D║<1. Важно иметь в виду, что при выполнении этого условия итерационный процесс сходится для любого начального приближения х (0) и выбор х (0) =O диктуется просто соображениями удобства назначения х (0).

Условие (5) выполняется, если модули диагональных коэффициентов для каждого уравнения системы больше суммы модулей недиагональных коэффициентов, т. е.

Занятие № 8. Метод итераций для систем уравнений - student2.ru

Если задана допустимая погрешность вычислений Δ, то для оценки погрешности к - го приближения широко используется следующее неравенство:

║х (к) - х*║≤║D║ ∕ (1-║D║) •║х (к) - х (к-1) ║<Δ (6)

Из этого неравенства следует критерий окончания итерационного процесса

║х (к) - х (к-1) ║ < (1-║ D║) •∆ ∕ ║D║ (7)

Каждый раз при вычислении очередного приближения х (k) проверяется выполнение неравенства (7).

Выполнение неравенства (7) означает выполнение неравенства

║х (к) - х*║ < ∆

и, следовательно, прекращение итерационного процесса.

Метод Зейделя.

Метод Зейделя представляет собой некоторую модификацию метода итераций. Основная его идея заключается в том, что при вычислении (k + 1)-го приближения неизвестной xi учитываются уже вычисленные ранее (k + 1)-е приближения неизвестных x1, x2, …, xi - 1.

Пусть для системы (1) получена эквивалентная система

Занятие № 8. Метод итераций для систем уравнений - student2.ru

Выберем произвольно начальные приближения корней Занятие № 8. Метод итераций для систем уравнений - student2.ru . Далее, предполагая, что k-ые приближения Занятие № 8. Метод итераций для систем уравнений - student2.ru корней известны, согласно Зейделю будем строить (k + 1)-е приближения корней по формулам:

Занятие № 8. Метод итераций для систем уравнений - student2.ru

Метод прогонки.

Метод прогонки является модификацией метода Гаусса для частного случая разреженных систем - системы уравнений с трёхдиагональной матрицей. Такие системы получаются при моделировании некоторых инженерных задач, а также при численном решении краевых задач для дифференциальных уравнений.

Запишем систему уравнений в виде:

Занятие № 8. Метод итераций для систем уравнений - student2.ru

На главной диагонали матрицы этой системы стоят элементы Занятие № 8. Метод итераций для систем уравнений - student2.ru над ней - элементыЗанятие № 8. Метод итераций для систем уравнений - student2.ruпод ней - элементы Занятие № 8. Метод итераций для систем уравнений - student2.ru При этом обычно все коэффициенты bi не равны нулю.

Метод прогонки состоит из двух этапов - прямой прогонки (аналога прямого хода метода Гаусса) и обратной прогонки (аналога обратного хода метода Гаусса). Прямая прогонка состоит в том, что каждое неизвестное хi выражается через xi+1 с помощью прогоночных коэффициентов AAi, ВВi:

Занятие № 8. Метод итераций для систем уравнений - student2.ru (1)

Из первого уравнения системы найдём

Занятие № 8. Метод итераций для систем уравнений - student2.ru

С другой стороны, по формуле (1) Занятие № 8. Метод итераций для систем уравнений - student2.ru Приравнивая коэффициенты в обоих выражениях для х1, получаем

Занятие № 8. Метод итераций для систем уравнений - student2.ru (2)

Из второго уравнения системы выразим х2через х3,заменяя xiпо формуле (1):

Занятие № 8. Метод итераций для систем уравнений - student2.ru

Отсюда найдём

Занятие № 8. Метод итераций для систем уравнений - student2.ru

или Занятие № 8. Метод итераций для систем уравнений - student2.ru

Занятие № 8. Метод итераций для систем уравнений - student2.ru

Аналогично можно вычислить прогоночные коэффициенты для любого
номера i:

Занятие № 8. Метод итераций для систем уравнений - student2.ru (3)

Обратная прогонка состоит в последовательном вычислении неизвестных xi.Сначала нужно найти хn.Для этого воспользуемся выражением (1) при i=n-1и последним уравнением системы. Запишем их:

Занятие № 8. Метод итераций для систем уравнений - student2.ru

Отсюда

Занятие № 8. Метод итераций для систем уравнений - student2.ru

Далее, используя формулы (1) и выражения для прогоночных коэффициентов (2), (3), последовательно вычисляем все неизвестные xiдля i=n-1, n-2,.. .,1.

При анализе алгоритма метода прогонки надо учитывать возможность деления на нуль в формулах (3). Можно показать, что при выполнении условия преобладания диагональных элементов, т.е. если

Занятие № 8. Метод итераций для систем уравнений - student2.ru

причём хотя бы для одного значения iимеет место строгое неравенство, деления на нуль не возникает, и система имеет единственное решение.

Приведённое условие преобладания диагональных элементов обеспечивает также устойчивость метода прогонки относительно погрешностей округлений. Последнее обстоятельство позволяет использовать метод прогонки для решения больших систем уравнений. Заметим, что данное условие устойчивости прогонки является достаточным, но не необходимым. В ряде случаев для хорошо обусловленных систем метод прогонки оказывается устойчивым даже при нарушении условия преобладания диагональных элементов.

Задания: выполнить задание 5 ИДЗ№1.

Наши рекомендации