- •Общая характеристика методов решения систем линейных уравнений.
- •2.2 Вывод расчётных формул для решения слау методом Гаусса.
- •Обратный ход
- •Уточнение значений корней слау, полученных методом Гаусса.
- •Применение метода Гаусса к вычислению определителей и обращению матриц.
- •Вычисление обратной матрицы методом Гаусса.
- •Литература
Уточнение значений корней слау, полученных методом Гаусса.
При использовании метода Гаусса в результате конечного числа арифметических действий получается «формально» точное решение СЛАУ. Однако, вследствие погрешностей округления результатов (получающихся при делении коэффициентов системы друг на друга на каждом шаге прямого и обратного хода) и при решении задачи на ЭВМ полученный вектор корней системы x = (xi) (i = 1, 2,…, n) является приближённым. Вследствие этого, при подстановке значения полученного решения x = (xi) (i = 1, 2,…, n) в исходную систему (1), она, как правило, не обращается в тождество.
Итак, решение системы (1), полученное методом Гаусса, может быть искажено вычислительной погрешностью, являющейся следствием округлений при вычислениях. Поэтому актуальным является вопрос об уточнении корней СЛАУ. Если можно считать, что ожидаемые поправки корней малы по абсолютной величине, то можно рекомендовать способ уточнения корней, представленный ниже.
Пусть для системы A x = b найдено решение x1, которое по сути является приближённым и отличается на величину 1 от точного решения x системы (т.е. от решения x, подстановка которого в левую часть системы (2) превращает её в тождество). Тогда полагая, что x = x1 + 1 для определения поправки 1 корня x1 системы (2) будем иметь уравнение:
A (x1 + 1) = b (13)
Если через 1 = b A x1 обозначить невязку для полученного приближённого решения x1, то уравнение (13) можно переписать в виде:
A 1 = 1 (14)
где A исходная матрица коэффициентов, а 1, 1, x1, b – вектор-столбцы:
A
=
;
1
=
; 1
=
; x1
=
; b
=
;
Таким образом, чтобы найти вектор поправок 1, нужно решить СЛАУ (14) с прежней матрицей A и новым столбцом свободных членов 1, компоненты которого могут быть вычислены по формуле 1 = b A x1 после получения приближённого решения x1.
Далее решаем систему (14) и в качестве уточнённого решения системы (1) принимаем вектор: x2 = x1 + 1.
Если точность нового приближения x2 = x1 + 1 представляется неудовлетворительной, то повторяем эту операцию.
При решении системы (14) над компонентами правой части производятся те же линейные операции, что и над компонентами правой части при решении системы (2). Поэтому при вычислениях на ЭВМ с плавающей точкой естественно ожидать, что относительные погрешности решений систем (1) и (14) будут одинаковы. Поскольку, как правило, погрешности округлений обычно малы, то можно считать, что:
<<
(i
= 1,2,…, n),
тогда
<<
(i
= 1,2,…, n)
и, по-видимому, решение системы (14) характеризуется существенно меньшей абсолютной погрешностью, чем решение системы (1). Таким образом, применение описанного приёма приводит к повышению точности приближенного решения.
Применение метода Гаусса к вычислению определителей и обращению матриц.
Вычисление определителей. В большинстве существующих стандартных программ для ЭВМ одновременно с решением системы линейных алгебраических уравнений (1) вычисляется определитель матрицы А. Определитель полученной в результате прямого хода треугольной матрицы (как известно из линейной алгебры) равен произведению её диагональных элементов и он отличается от определителя исходной матрицы A лишь знаком, поскольку при преобразовании исходной матрицы к её диагональной форме и выборе главного элемента осуществлялась перестановка строк (а быть может и столбцов). Поэтому
det
A
=
;
где S - суммарное число перестановок строк и столбцов (произведённое с целью выбора главного элемента) на всех шагах прямого хода метода Гаусса.
Если матрица заданной системы вырожденная, то перед очередным исключением некоторой переменной главный элемент окажется равным нулю. Этим самым и обнаружится, что определитель заданной системы равен нулю.
Если
метод Гаусса используется без
упорядочивания (с целью выделения
главного элемента), то для подсчёта det
A
из алгоритма нужно
взять строки 4) и 7) – 9),
а сам алгоритм
должен быть дополнен строкой 10): det
A
=
.
Если
же применялся постолбцовый выбор
главного элемента, т.е. при включении в
алгоритм 1 вставки ,
вместо строки 10) в алгоритм 1 (наряду со
вставкой )
должна быть включена строка 10):
det
A
=
.
