Одним из самых распространенных итерационных методов, отличающийся простотой и легкостью программирования, является метод Гаусса — Зейделя.
Проиллюстрируем сначала этот метод на примере решения системы
(5)
Предположим, что диагональные элементы отличны от нуля (в противном случае можно переставить уравнения). Выразим неизвестные соответственно из первого, второго и третьего уравнений системы (5):
(6)
(7)
(8)
Зададим некоторые начальные (нулевые) приближения значений неизвестных:, , . Подставляя эти значения в правую часть выражения (6), получаем новое (первое) приближение для :
.
Используя это значение для и приближение для , находим из (7) первое приближение для :
.
И наконец, используя вычисленные значения , , находим с помощью выражения (8) первое приближение для :
.
На этом заканчивается первая итерация решения системы (6-8). Используя теперь значения можно таким же способом провести вторую итерацию, в результате которой будут найдены вторые приближения к решению: , , и т. д. Приближение с номером можно представить в виде
,
,
.
Итерационный процесс продолжается до тех пор, пока значения не станут близкими с заданной погрешностью к значениям .
Итерационный процесс можно продолжать до получения малой разности между значениями неизвестных в двух последовательных итерациях.
Рассмотрим систему линейных уравнений с неизвестными. Запишем её в виде
,
Здесь также будем предполагать, что все диагональные элементы отличны от нуля. Тогда в соответствии с методом Гаусса — Зейделя -е приближение к решению можно представить в виде
, (9)
Итерационный процесс продолжается до тех пор, пока все значения не станут близкими . Близость этих значений можно характеризовать максимальной абсолютной величиной их разности . Тогда при заданной допустимой погрешности критерий окончания итерационного процесса можно записать в виде
(10).
Это критерий по абсолютным отклонениям.
При выполнении условия (10) итерационный процесс Гаусса — Зейделя называется сходящимся. В этом случае максимальные разности между значениями переменных в двух последовательных итерациях убывают, а сами эти значения стремятся к решению системы уравнений.
Для сходимости итерационного процесса достаточно, чтобы модули диагональных коэффициентов для каждого уравнения системы были не меньше сумм модулей всех остальных коэффициентов:
, (11)
При этом хотя бы для одного уравнения неравенство должно выполняться строго. Эти условия являются достаточными для сходимости метода, но они не являются необходимыми, т. е. для некоторых систем итерации сходятся и при нарушении условий (11).
Блок-схема алгоритма решения системы линейных уравнений методом Гаусса — Зейделя. В качестве исходных данных вводятся коэффициенты и правые части уравнений системы, погрешность , допустимое число итераций , а также начальные приближения переменных (). Начальные приближения можно не вводить в ЭВМ, а полагать их равными некоторым значениям (например, нулю).
Обозначения: - порядковый номер итерации; - номер уравнения, а также переменного, которое вычисляется в данном цикле; - номер члена вида в правой части соотношения (9). Итерации прекращаются либо после выполнения условия (10), либо при . В последнем случае итерации не сходятся, и после итераций счет прекращается без выдачи результатов. Можно предусмотреть в этом случае также и вывод на печать некоторой поясняющей информации.