Метод Гаусса с выбором главного элемента Московский Государственный Технически Университет «МАМИ» Лабораторная работа №3 по курсу «Вычислительная Математика» «РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ» Преподаватель: _______________ Студент: _______________ Группа: _______________ 3. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ Справочная информация Численные методы решения систем линейных алгебраических уравнений , записываемых в матричной форме в виде , где , делятся на точные и итерационные. Они используются для систем, у которых количество неизвестных равно количеству уравнений и матрица A - не вырождена (её определитель не равен нулю). Точными методами условно называют методы, которые дают решение задачи посредством конечного числа арифметических операций. Итерационные методы позволяют получить решение системы как предел бесконечной последовательности его приближений. При применении итерационных методов существенным вопросом является вопрос об их сходимости. Точные методы, к которым относятся метод Гауссаи его разновидности, не имеют дополнительных ограничений на свойства матрицы системы. Метод Гаусса (K.F.Gauβ, 1849) В основе метода Гаусса лежит идея последовательного исключения неизвестных, приводящая исходную систему с квадратной матрицей к легко разрешимой системе с верхней треугольной матрицей . Данное преобразование может быть осуществлено многими способами. Однако все они основаны на свойстве систем, которое заключается в неизменности их решений при умножении любого уравнения на отличную от нуля постоянную или его замене на сумму с любым другим уравнением. Один из простейших способов исключения состоит в следующем. Первое уравнение системы , которое на этом шаге считается ведущим, нормируется – делится на значение диагонального элемента a11  или , где . Если в исходной системе a11= 0, то в качестве первого уравнения следует взять любое другое с ненулевым первым коэффициентом, поменяв их местами. Полученное уравнение умножается на первый коэффициент второго уравнения a21 и вычитается из него. В результате во втором уравнении пропадает слагаемое a21x1, содержащее первое неизвестное x1. Такие же операции проводятся со всеми последующими уравнениями. В результате система уравнений принимает вид . Далее процесс повторяется. За ведущее берется второе уравнение и исключается неизвестное x2 из всех уравнений, начиная с третьего . Таким образом, за n шагов система уравнений последовательно сводится к треугольному виду, при этом для последнего уравнения выполняется только операция нормирования: . Полученная система с верхней треугольной матрицей может быть легко разрешена относительно неизвестных. Последнее уравнение системы определяет значение xn, что позволяет определить xn–1 из предпоследнего уравнения как . Выполняя аналогичные подстановки найденных неизвестных в вышестоящие уравнения, удается определить все компоненты решения xn–2,..., x2, x1. Метод Гаусса даёт точное решение, если все исходные данные точны и все вычисления производятся точно. На практике, при выполнении вычислений, неизбежно проводятся округления. Ошибка округлений вносит погрешность в решение метода Гаусса. Таким образом, при операциях с округленными десятичными числами метод Гаусса даёт не точное решение xт системы линейных алгебраических уравнений, а некоторое приближённое решение , где , . Степень отличия приближённого решения от точного определяется длиной разрядной сетки ЭВМ: чем больше разрядов в ней учитывается, тем это отличие меньше. При определении погрешности вектора решения необходимо учитывать, что его компоненты в общем случае могут иметь разную погрешность. В силу этого погрешность решения принято оценивать по его норме или или , где двойные модульные скобки обозначают норму вектора. Для определения величины погрешности полученного решения на практике используют следующий алгоритм вычисления её главной части. Сначала по имеющемуся решению пересчитывается вектор правых частей системы , а затем посредством повторного решения системы уравнений  находится вектор погрешностей . С его помощью определяется как реальная абсолютная погрешность полученного решения или или , так и его относительная погрешность . Величина погрешности решения системы уравнений, получаемого методом Гаусса, зависит от двух основных факторов. Первый из них, как это было сказано выше – длина разрядной сетки, используемой в процессе вычислений, а второй – обусловленность матрицы системы. Обусловленность матрицы можно рассматривать как степень её чувствительности к накоплению ошибок округления в процессе преобразований. Снижение величины погрешности решения может быть достигнуто увеличением длины разрядной сетки. Повлиять на величину погрешности посредством изменения степени обусловленности матрицы системы невозможно, так как она является одной из её характеристик и изменение степени обусловленности матрицы требует изменения самой матрицы. Метод Гаусса с выбором главного элемента Основное накопление погрешностей решения в методе Гаусса происходит на этапе приведения системы к треугольному виду. Механизм накопления основной части этой погрешности заключается в привнесении погрешностей вычисления коэффициентов ведущего уравнения в коэффициенты последующих уравнений при исключении каждого очередного неизвестного. Анализ соотношений метода Гаусса показывает, что погрешности вычисления коэффициентов ведущего уравнения привносятся в соответствующие коэффициенты всех последующих уравнений в долях отношений этих коэффициентов к диагональному (главному) коэффициенту ведущего уравнения. В связи с этим привносимая погрешность будет тем меньше, чем меньше доли этих отношений. Поэтому в методе Гаусса с выбором главного элемента на каждом шаге исключения i-го неизвестного в качестве ведущего используетсяуравнение (с i-го по n-ое), содержащее максимальный по модулю коэффициент – главныйэлемент. При этом в качестве него может использоваться один из коэффициентов i-го столбца, i-ой строки или всей непреобразованной части матрицы. Первый подход называется выбором главного элементапостолбцу, второй – по строке, а третий – по всейматрице. При использовании двух последних происходит перестановка столбцов матрицы системы. Это приводит к изменению порядка следования компонент вектора неизвестных и требует его восстановления по окончании процесса решения. В качестве примера применения метода Гаусса можно рассмотреть задачу отыскания решения следующей системы уравнений  при ограничении разрядной сетки вычислений до трёх знаков и с оценкой погрешности получаемого решения. Поставленная задача будет решаться методом Гаусса с выбором главного элемента по столбцу. 1. Прямой ход. а. Выбор главного элемента среди элементов первого столбца . б. Нормировка первого уравнения . в. Исключение элементов первого столбца . г. Выбор главного элемента среди элементов второго столбца второго и третьего уравнений . д. Нормировка второго уравнения . е. Исключение элементов второго столбца . ё. Нормировка последнего уравнения . 2. Обратный ход , . В итоге получено решение системы уравнений . 3. Погрешность найденного решения. а. Пересчёт вектора правых частей системы  б. Формирование системы уравнений, определяющей погрешности решения , то есть  в. Решение системы относительно погрешностей оно выполняется аналогично пунктам 1 и 2. Прямой ход (пункт 1) даёт следующую систему с верхней треугольной матрицей , а обратный ход позволяет получить решение . г. Оценка абсолютной и относительной погрешностей решения системы линейных алгебраических уравнений , , . Реализация описанного метода без нахождения погрешности решения в рамках программы Excel приведена на рис.1.  Рис.1. О выборе метода решения систем уравнений Каждый из рассмотренных методов имеет свои достоинства и недостатки. В частности, метод Гаусса позволяет получить решение за конечное число шагов. Для этого требуется выполнить n(n2 + 3n – 1)/3 операций умножения и деления и n(n – 1)(2n + 5)/6 операций сложения и вычитания, количество которых при больших порядках системы (n > 100) можно принять равным n3/3 в обоих случаях. Однако его методические ошибки, связанные с размером разрядной сетки вычислений, резко нарастают с увеличением порядка системы и не позволяют применять его для систем высоких порядков без использования специальных приёмов. Итерационные методы позволяют получать решение систем бóльшего порядка. Для выполнения каждой итерации с их помощью необходимо выполнить n(n + 1) операций умножения и деления и столько же операций сложения и вычитания. При больших порядках системы уравнений (n > 100) их количество можно принять равным n2. Из сравнения трудоёмкости итерационных методов и метода Гаусса следует оценка, которой можно руководствоваться при окончательном выборе метода решения системы при необходимости его многократного нахождения. Если количество итераций, требуемое для получения решения системы итерационными методами, не превышает n/3, то выгоднее применять их, а не методы типа Гаусса. Однако здесь следует помнить, что итерационные методы требуют, чтобы матрица системы обладала определёнными свойствами, обеспечивающими их сходимость. Необходимо также отметить, что выполнение этих требований часто не гарантирует высокой скорости их сходимости. |