Решение систем линейных алгебраических уравнений (СЛАУ)
Дана система линейных алгебраических уравнений
Ax = B
Необходимо найти из этого уравнения вектор х.
Методы решения СЛАУ делятся на прямые и итерационные.
Прямые методы дают точное решение за конечное число арифметических операций. Недостатком прямых методов является то, что на ЭВМ вычисления делаются с погрешностью, а это может привести к тому, что полученное решение будет неверным. При хорошо обусловленной матрице А прямые методы необходимо использовать при размерности матрицы А n <= 200.
Итерационные методы основаны на построении сходящейся к точному решению рекуррентной последовательности. В отличие от прямых методов итерационные дают решение с заданной погрешностью за неизвестное заранее число действий.
Метод исключения Гаусса
Метод исключения Гаусса является прямым методом, суть которого основана к сведению исходной СЛАУ к СЛАУ с верхней треугольной матрицей.
На первом шаге комбинацией 1-й строки и i-й строки (i=2..n) обнуляется 1-й столбец матрицы, начиная со второго элемента. Для этого 1-я строка A и 1-й элемент B делятся на a11 и умножается на ai1 для соответственно i-й строки. Далее из получившейся 1-й строки вычитается i-я:
…………………………………
На втором шаге аналогичными преобразованиями обнуляется второй столбец матрицы А начиная с 3-го элемента. Аналогичные действия проводятся для всех столбцов до (n – 1)-го. В результате этих преобразований получается система с верхней треугольной матрицей:
Эта система решается с конца:
xn = dn / cnn
Подставная xn в предпоследнее уравнение легко найти xn–1 и т. д. до получения x1.
Метод Зейделя
Метод является итерационным. В качестве начального приближения задается вектор решения x0.
В основе метода Зейделя лежит последовательное вычисление x1, x2 и т. д. из соответственно 1-го, 2-го и т. д. уравнений системы.
Первый шаг итерации начинается тем, что из первого уравнения вычисляется x11:
Далее определяется погрешность E=|x11 – x10| и полагается x10 = x11.
Из второго уравнения аналогичным образом вычисляется x21:
По x21 и x20 определяется очередное значение погрешности E=max(E,|x21- x20|) и полагается x20 = x21. Процесс вычисления xj1 по аналогии с x21 продолжается до вычисления xN1. Первый шаг итерации заканчивается проверкой Е на допустимую погрешность. Ели Е больше допустимой погрешности, то выполняется очередной шаг итерации начиная с вычисления x11. Если Е окажется меньше допустимой погрешности, то итерационный процесс завершается с решением в векторе x0.
Метод простой итерации
Сутьметода основана на сведении исходного уравнения
Аx = В
к виду
x = x + u(Ax – B),
где u — произвольная константа, подбираемая индивидуально для каждого уравнения из условия наилучшей сходимости итерационного процесса.
В качестве начального приближения в методе задается вектор x0. Затем вычисляется новое приближение вектора x
x1 = x0 + u(Ax0 – B)
и погрешность E= . Если Е окажется меньше погрешности, то решение в x1. В противном случае полагается x0 = x1 и итерационный процесс продолжается с вычисления очередного x1.