Численные методы для решения систем линейных уравнений играют важную роль во многих областях науки и техники, таких как физика, инженерия, экономика и другие. Два из наиболее распространенных методов для решения систем линейных уравнений - метод Гаусса-Зейделя и метод Якоби - представляют собой эффективные алгоритмы, которые могут быть использованы для поиска численных решений систем линейных уравнений.
Метод Якоби
Метод Якоби - является итерационным методом для решения систем линейных уравнений. Он основан на принципе последовательного обновления значений неизвестных переменных с использованием предыдущих значений.
Описание метода
Пусть требуется численно решить систему линейных уравнений:
(1)
Предполагается, что Выразим через первое уравнение, через второе и т.д.:
(2)
В методе Якоби последовательность приближений строится следующим образом. Выбирается первое приближение , формула для остальных приближений имеет вид:
(3)
Достаточное условие сходимости
Пусть Тогда при любом выборе начального приближения
1.Метод сходится;
2.Скорость сходимости метода равна скорости сходимости геометрической прогрессии со знаменателем ;
3.Верна оценка погрешности:
(4)
На рис. 1 показан пример реализации метода Якоби на языке С++ для решения следующий системы линейных уравнений:
Рис. 1. Алгоритм метода Якоби
В этой программе мы также сначала задаем систему уравнений в виде матрицы a, затем инициализируем начальное приближение x и устанавливаем точность eps. Затем мы выполняем итерации метода Якоби до тех пор, пока не достигнем заданной точности или максимального количества итераций. В конце программы выводим найденное решение или сообщение о том, что метод не сошелся.
Каждая итерация метода Якоби вычисляет новые значения переменных x на основе предыдущих значений, затем проверяет разницу между новыми и старыми значениями для определения сходимости.
В результате работы, алгоритм выдал следующие ответы:
Метод Гаусса-Зейделя
Метод Гаусса-Зейделя - это итерационный метод, который применяется для решения систем линейных уравнений. Он является модификацией метода Якоби и обладает более быстрой сходимостью. В основе метода Гаусса-Зейделя лежит идея последовательного обновления значений неизвестных переменных на каждой итерации. Этот процесс продолжается до тех пор, пока не будет достигнута заданная точность или установленное количество итераций.
Описание метода
Перепишем систему уравнений (1) в следующий вид
(5)
Эта запись может быть представлена как
где в принятых обозначениях D означает матрицу, у которой на главной диагонали стоят соответствующие элементы матрицы A, а все остальные нули; тогда как матрицы U и L содержат верхнюю и нижнюю треугольные части A, на главной диагонали которых нули.
Итерационный процесс в методе Гаусса — Зейделя строится по формуле
(6)
После выбора соответствующего начального приближения
Достаточное условие сходимости
Пусть Тогда при любом выборе начального приближения
1.метод Гаусса-Зейделя сходится;
2.скорость сходимости метода равна скорости сходимости геометрической прогрессии со знаменателем
3.верна оценка погрешности:
(7)
Решим ту же систему линейных уравнений методом Гаусса-Зейделя.
Пример реализации алгоритма на языке C++ показан на рис. 2.
В этой программе мы сначала задаем систему уравнений в виде матрицы a, затем инициализируем начальное приближение x и устанавливаем точность eps. Далее мы выполняем итерации метода Гаусса-Зейделя до тех пор, пока не достигнем заданной точности или максимального количества итераций. В конце программы выводим найденное решение или сообщение о том, что метод не сошелся.
В результате работы, алгоритм выдал следующие ответы:
Как можно заметить оба алгоритма подходят для решения системы линейных уравнений и выдают приблизительно равные ответы. Заметным различием между этими двумя методами является то, что в отличие от метода Гаусса-Зейделя мы не можем заменять на в процессе итерационной процедуры, так как эти значения понадобятся для остальных вычислений. Это наиболее значимое различие между методом Якоби и методом Гаусса-Зейделя решения СЛАУ. Таким образом на каждой итерации придётся хранить оба вектора приближений: старый и новый. В результате чего метод Гаусса-Зейделя будет работать быстрее.
Рис. 2. Алгоритм метода Гаусса-Зейделя
Заключение:
Выбор между методом Якоби и методом Гаусса-Зейделя зависит от конкретной задачи, требуемой точности решения и особенностей системы линейных уравнений. Оба этих метода имеют свое место в практике численного анализа и могут быть эффективно применены в различных областях науки и техники.
Список литературы:
1. Квартерони А., Сакко Р. и Салери Ф. Численная математика (2-е изд.). – 2007.
2. Берден, Р. Л., и Фейрс, Дж. Д. Численный анализ (10-е изд.). Углубленное обучение. – 2016.
3. Трефетен, Л. Н., & Бау, Д. Численная линейная алгебра. – 1997.
4. Саад, Ю. Итерационные методы для разреженных линейных систем (2-е изд.). – 2003.