Итерационные методы решения СЛАУ
Напомним, что достоинством итерационных методов является их применимость к плохо обусловленным системам и системам высоких порядков, их самоисправляемость и простота реализации на ЭВМ. Итерационные методы для начала вычисления требуют задания какого-либо начального приближения к искомому решению.
Следует заметить, что условия и скорость сходимости итерационного процесса существенно зависят от свойств матрицы А системы и от выбора начальных приближений.
Для применения метода итераций исходную систему (1) или (2) необходимо привести к виду
(25)
и затем итерационный процесс выполняется по рекуррентным формулам
, k = 0, 1, 2, ... . (25*)
Матрица G и вектор получены в результате преобразования системы (1).
Для сходимости (25*) необходимо и достаточно, чтобы |li(G)| < 1, где li(G) – все собственные значения матрицы G. Сходимость будет также и в случае, если ||G|| < 1, ибо |li(G)| < " ||G|| (" – любой).
Символ || ... || означает норму матрицы. При определении ее величины чаще всего останавливаются на проверке двух условий:
||G|| = , или ||G|| = , (26)
где . Сходимость гарантирована также, если исходная матрица А имеет диагональное преобладание, т.е.
. (27)
Если (26) или (27) выполняются, метод итерации сходится при любом начальном приближении . Чаще всего вектор берут или нулевым, или единичным, или сам вектор из (25).
Имеется много подходов к преобразованию исходной системы (2) с матрицей А для обеспечения вида (25) или условий сходимости (26) и (27).
Например, (25) можно получить следующим образом.
Пусть А = В + С, det В ¹ 0;
тогда (B+С) = Þ B = −C + Þ B–1B = − B–1 C + B–1 ,
откуда = − B–1 C + B–1 .
Положив –B–1 C = G, B–1 = и получим (25).
Из условий сходимости (26) и (27) видно, что представление А = В + С не может быть произвольным.
Если матрица А удовлетворяет требованиям (27), то в качестве матрицы В можно выбрать нижнюю треугольную
, aii ¹ 0.
Или
; Þ ; Þ ; Þ
.
Подбирая параметр a можно добиться, чтобы ||G|| = ||E + aA|| < 1.
Если имеет место преобладание (27), тогда преобразование к (25) можно осуществить просто, решая каждое i-е уравнение системы (1) относительно xi по следующим рекуррентным формулам:
gij = − aij / aii ; gii = 0; fi = bi / aii , (27*)
т.е. .
Если же в матрице А нет диагонального преобладания, его нужно добиться посредством каких-либо ее линейных преобразований, не нарушающих их равносильности.
Для примера рассмотрим систему
(28)
Как видно в уравнениях (I) и (II) нет диагонального преобладания, а в (III) есть, поэтому его оставляем неизменным.
Добьемся диагонального преобладания в уравнении (I). Умножим (I) на a, (II) на b, сложим оба уравнения и в полученном уравнении выберем a и b так, чтобы имело место диагональное преобладание:
(2a + 3b) х1 + (–1,8a + 2b) х2 +(0,4a – 1,1b)х3 = a .
Взяв a = b = 5, получим 25х1 + х2 – 3,5х3 = 5.
Для преобразования второго уравнения (II) с преобладанием, (I) умножим на g, (II) умножим на d, и из (II) вычтем (I). Получим
(3d – 2g) х1 + (2d + 1,8g) х2 +(–1,1d – 0,4g)х3 = −g .
Положим d = 2, g = 3, получим 0х1 + 9,4х2 – 3,4х3 = −3. В результате получим систему:
(29)
Такой прием можно применять для широкого класса матриц.
Далее разделим в (29) каждое уравнение на диагональный элемент, получим
или
Взяв в качестве начального приближения, например, вектор = (0,2; –0,32; 0)Т. Будем решать эту систему по технологии (25*):
k = 0, 1, 2, ...
Процесс вычисления прекращается, когда два соседних приближения вектора решения совпадают по точности, т.е.
.