Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MM - Все, что было=) / MMM / 2010 / ЧИСЛЕННЫЕ МЕТОДЫ / ЧИСЛЕННЫЕ МЕТОДЫ.doc
Скачиваний:
188
Добавлен:
16.02.2016
Размер:
2.02 Mб
Скачать

Метод Гаусса решениясистем линейных алгебраических уравнений

2.2. Метод Гаусса решения систем линейных алгебраических уравнений

Рассмотрим задачу решения системы уравнений вида:

(11)

()

или , где- матрица коэффициентов системы,- вектор неизвестных,- вектор правых частей.

Известно, что система (11) имеет единственное решение, если ее матрица невырожденная (т. е. определитель матрицы отличен от нуля). В случае вырожденности матрицы система может иметь бесконечное число решений (если ранг матрицыи ранг расширенной матрицы, полученной добавлением кстолбца свободных членов равны) или не иметь решений вовсе (если ранг матрицыи расширенной матрицы не совпадают)

Известно, что решение системы линейных уравнений можно выразить по формулам Крамера через отношение определителей. Но вычисление определителя не проще, чем решение исходной системы. Для решения системы порядка n необходимо вычислить (n+1) определитель, т. е. вычисление решения по формулам Крамера в (n+1) раз более трудоемко, чем решение системы другим методом, например методом Гаусса.

Метод Гаусса основан на приведении путем эквивалентных преобразований исходной системы (11) к виду с верхней треугольной матрицей.

(12)

Тогда из последнего уравнения сразу определяем

.

Подставляя его в предпоследнее уравнение, находим

и т. д.

Общие формулы имеют вид

, k=n, n-1,..., 1. (13)

При вычислениях по формулам (13) потребуется выполнить примерно 1/2n2 арифметических действий.

Приведение системы (11) к виду (12) можно выполнить, последовательно заменяя строки матрицы системы их линейными комбинациями.

Первое уравнение не меняется. Вычтем из второго уравнения системы (11) первое, умноженное на такое число, чтобы обратился в нуль коэффициент при . Затем таким же образом вычтем первое уравнение из третьего, четвертого и т. д. Тогда исключатся все коэффициенты первого столбца, лежащие ниже главной диагонали.

Затем при помощи второго уравнения исключим из третьего, четвертого и т. д. уравнений коэффициенты второго столбца. Последовательно продолжая этот процесс, исключим из матрицы все коэффициенты, лежащие ниже главной диагонали.

Запишем общие формулы процесса. Пусть проведено исключение коэффициентов из k-1 столбца. Тогда остались такие уравнения с ненулевыми элементами ниже главной диагонали:

(14)

Умножим k-ю строку на число

(15)

и вычтем из m-й строки. Первый ненулевой элемент этой строки обратится в нуль, а остальные изменятся по формулам

(16)

Производя вычисления по этим формулам при всех указанных индексах, исключим элементы k-го столбца. Будем называть такое исключение циклом процесса. Выполнение всех циклов называется прямым ходом исключения.

Запишем треугольную систему, получающуюся после выполнения всех циклов. При приведении системы к треугольному виду освободятся клетки в нижней половине матрицы системы (11). Получим

(17)

Треугольная система (17) легко решается обратным ходом по формулам (13).

Исключение по формулам (15) нельзя проводить, если в ходе расчета на главной диагонали оказался нулевой элемент Но в первом столбце промежуточной системы (14) все элементы не могут быть нулями: это означало бы, что det A = 0. Перестановкой строк можно переместить ненулевой элемент на главную диагональ и продолжить расчет.

Для уменьшения вычислительной погрешности можно каждое повторение внешнего цикла начинать с выбора максимального по модулю элемента в k-том столбце (главного элемента) и перестановки уравнения с главным элементом так, чтобы он оказался на главной диагонали. Этот вариант называется методом Гаусса с выбором главного элемента.

В качестве одной из характеристик эффективности того или иного алгоритма используют вычислительные затраты, измеряемые количеством элементарных операций, которые необходимо выполнить для получения решения.

Для прямого хода метода Гаусса число арифметических операций, в соответствии с формулами (15), (16), равно

Для обратного хода по формулам (13) число арифметических операций равно

Общие вычислительные затраты метода Гаусса:

Таким образом, 

Выполнение прямого хода метода Гаусса позволяет также вычислить значение определителя матрицы системы.

При замене строк матрицы их линейными комбинациями значение определителя не меняется. Знак меняется при каждой перестановке строк. Для треугольной матрицы величина определителя равна произведению элементов, стоящих на главной диагонали. Поэтому определитель вычисляется по формуле:

Метод Гаусса может быть использован для нахождения обратной матрицы. Обозначим ее элементы через . Тогда соотношениеможно записать так:

Видно, что если рассматривать j-й столбец обратной матрицы как вектор, то он является решением линейной системы вида (11) с матрицей и специальной правой частью (в которой наместе стоит единица, а на остальных нули).

Таким образом, для обращения матрицы надо решить систем линейных уравнений с одинаковой матрицейи разными правыми частями. Приведение матрицык треугольной делается при этом только один раз, а правые части преобразуются по формулам (15)-(16).

Преобразование матрицы требует порядка операций. Действия по преобразованию правых частей систем и обратный ход метода Гаусса повторяютсяраз, а однократное преобразование правых частей и обратный ход требуют порядкаопераций. Следовательно, суммарные вычислительные затраты на обращение матрицы составляют:.

Таким образом, преобразование матрицы требуется порядка 2/3n3 операций. Для преобразования правых частей и для обратного хода требуется порядка 3/2n2 операций. Всего таких преобразований n, получаем суммарные затраты

2/3n3 + 3/2n2n = 13/6n3.

Обращение матрицы сводится к решению систем линейных уравнений, но требует лишь примерно втрое больше действий, чем решение одной системы уравнений. Это объясняется тем, что при решении линейной системы большая часть вычислений связана с приведением матрицы к треугольному виду, а это при обращении матрицы делается только один раз. Обратный ход и преобразование правых частей выполняются много быстрее.

Вообще говоря, метод Гаусса применим для решения любых систем линейных уравнений, так как он позволяет получить решение системы, если оно существует (включая случай, когда часть неизвестных является свободной и решений бесконечно много) и обнаружить отсутствие решения (когда система несовместна). В последнем случае после очередного k-го шага прямого хода обнаруживается ситуация, когда все элементы матрицы системы ниже k-ой строки равны нулю, а среди соответствующих компонент вектора есть ненулевые значения.1.2. Решение систем линейных алгебраических уравнений методом Гаусса.

Тема: Решение системы линейных уравнений методом Гаусса.

Пример.

Записывается расширенная матрица

В матрице a выбирается максимальный по модулю элемент, который называется главным. На этот элемент делится строка расширенной матрицы, содержащая главный элемент.

Полученный результат записывается в матрицу k.

Из каждой строки матрицы k вычитается строка, содержащая главный элемент, умноженная на элемент, стоящий на пересечении текущей строки и столбца, содержащего главный элемент.

В результате коэффициенты при обращаются в нуль.

Дальнейшие вычисления производятся аналогично.

В результате получается расширенная матрица, состоящая из единичной матрицы и вектора-столбца.

Вектор-столбец является решением исходной системы.

Решение системы линейных уравнений можно найти, используя операторы пакета для работы с матрицами.

Для вычисления по формулам составляются матрицы A1 (из исходной матрицыAберутся диагональные элементы) иA2 (из исходной матрицыAберутся элементы, стоящие ниже главной диагонали).

В качестве начального приближения берется произвольный вектор (можно взять вектор правых частей). Задается количество итераций.

 

Вычисления по формулам производятся до тех пор, пока не совпадут две последние итерации.

За решение системы можно принять результат последней итерации.

1.3.2. Решение систем линейных алгебраических уравнений методом релаксации.

Тема: Решение системы линейных уравнений методом релаксации с точностью .

Пример.

Выбирается параметр релаксации. В качестве начального приближения берется вектор правых частей.

Вычисления производятся по формуле до тех пор, пока не совпадут две последние итерации.

1.4. Вычисление собственных чисел и собственных векторов матрицы.

Тема: Вычисление собственных чисел и собственных векторов матрицы методом вращения.

Пример.

В исходной матрице выше главной диагонали выбирается максимальный элемент. Определяется угол поворота.

Строится ортогональная матрица простого поворота. Угол подбирается так, чтобы у матрицы A0 элементобратился в нуль.

Дальнейшие преобразования проводятся аналогично.

Через конечное число шагов получена матрица, на главной диагонали которой стоят собственные числа исходной матрицы.

Столбцы матрицы U являются нормированными собственными векторами исходной матрицы.