Методы исключения гаусса. Метод Гаусса (последовательного исключения неизвестных). Примеры решений для чайников

Раздел 3. Численные методы решения уравнений

Виды математических моделей (уравнений) в теории электрических цепей

1. - системы линейных алгебраических уравнений –

линейные цепи постоянного и синусоидального переменного (комплексный метод) тока.

2 . - системы нелинейных алгебраических или

трансцендентных уравнений – нелинейные цепи постоянного или синусоидального тока.

3. . системы нелинейных дифференциальных

уравнений первого порядка в обыкновенных производных – переходные процессы в нелинейных цепях.

Здесь F и ψ – вектор-функции, т.е. эквивалентно записи:

f 1 (X,b 1) = 0

f 2 (X,b 2) = 0

…………

f n (X,b n) = 0

а - записи:

ψ 1 (dX/dt,X,b 1 ,t) = 0

ψ 2 (dX/dt,X,b 2 ,t) = 0

…………………..

ψ n (dX/dt,X,b n ,t) = 0

Рассмотрим наиболее эффективные методы решения этих уравнений.

Численные методы решения систем линейных алгебраических уравнений (ЛАУ)

Метод Гаусса (исключения неизвестных)

Методы решения ЛАУ имеют важное значение, так как они применяются (итерационно) для решения более сложных уравнений.

Пусть система ЛАУ задана в виде:

,

где - квадратная матрица n – го порядка с ненулевыми диагональными элементами ; - вектор неизвестных; - вектор правых частей.

Алгоритм метода Гаусса состоит из прямого и обратного хода. Во время прямого хода осуществляется последовательное исключение неизвестных. Система приобретает вид:

Пересчет коэффициентов производится по формуле:

, где i, j = k+1, …n при исключение k -го неизвестного.

При этом столбец правых частей удобно рассматривать как n + 1 столбец матрицы коэффициентов , т.е. j = k+1, …n+1.

Обратный ход заключается в определении неизвестных, начиная с последнего уравнения где осталась одна неизвестная x n . Полученное значение x n подставляется в предыдущее уравнение и определяется x n -1 и т.д.

Для произвольного x k получается следующая формула:

где k = n, n -1,…1.

Трудоемкость метода Гаусса оценивается количеством выполняемых арифметических операций:

.

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



Основная идея метода разреженных матриц состоит в учете при вычислениях и хранении только ненулевых элементов матрицы . Степень разреженности матрицы характеризуется коэффициентом заполнения:

где n ннэ –число ненулевых элементов.

Существуют матрицы коэффициентов специального вида: ленточные, когда ненулевые элементы располагаются вдоль главной диагонали; и блочно-диагональные, когда вдоль главной диагонали располагаются ненулевые блоки. Еще встречаются блочно-диагональные с окаймлением.

Пример ленточной матрицы Пример блочно-диагональной матрицы


Пример блочно-диагональной матрицы с окаймлением

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

Диакоптика – подход к исследованию сложных систем, заключающейся в расчленение системы на части и её анализе по частям при учете всех связей между выделенными частями.

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

Метод Гаусса – это просто! Почему? Известный немецкий математик Иоганн Карл Фридрих Гаусс еще при жизни получил признание величайшего математика всех времен, гения и даже прозвище «короля математики». А всё гениальное, как известно – просто! Кстати, на деньги попадают не только лохи, но еще и гении – портрет Гаусса красовался на купюре в 10 дойчмарок (до введения евро), и до сих пор Гаусс загадочно улыбается немцам с обычных почтовых марок.

Метод Гаусса прост тем, что для его освоения ДОСТАТОЧНО ЗНАНИЙ ПЯТИКЛАССНИКА.Необходимо уметь складывать и умножать! Не случайно метод последовательного исключения неизвестных преподаватели часто рассматривают на школьных математических факультативах. Парадокс, но у студентов метод Гаусса вызывает наибольшие сложности. Ничего удивительного – всё дело в методике, и я постараюсь в доступной форме рассказать об алгоритме метода.

Сначала немного систематизируем знания о системах линейных уравнений. Система линейных уравнений может:

1) Иметь единственное решение. 2) Иметь бесконечно много решений. 3) Не иметь решений (быть несовместной ).

Метод Гаусса – наиболее мощный и универсальный инструмент для нахождения решениялюбой системы линейных уравнений. Как мы помним, правило Крамера и матричный метод непригодны в тех случаях, когда система имеет бесконечно много решений или несовместна. А метод последовательного исключения неизвестных в любом случае приведет нас к ответу! На данном уроке мы опять рассмотрим метод Гаусса для случая №1 (единственное решение системы), под ситуации пунктов №№2-3 отведена статья. Замечу, что сам алгоритм метода во всех трёх случаях работает одинаково.

Вернемся к простейшей системе с урока Как решить систему линейных уравнений? и решим ее методом Гаусса.

На первом этапе нужно записать расширенную матрицу системы : . По какому принципу записаны коэффициенты, думаю, всем видно. Вертикальная черта внутри матрицы не несёт никакого математического смысла – это просто отчеркивание для удобства оформления.

Справка : рекомендую запомнить термины линейной алгебры. Матрица системы – это матрица, составленная только из коэффициентов при неизвестных, в данном примере матрица системы: . Расширенная матрица системы – это та же матрица системы плюс столбец свободных членов, в данном случае: . Любую из матриц можно для краткости называть просто матрицей.

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

Существуют следующие элементарные преобразования:

1) Строки матрицы можно переставлять местами. Например, в рассматриваемой матрице можно безболезненно переставить первую и вторую строки:

2) Если в матрице есть (или появились) пропорциональные (как частный случай – одинаковые) строки, то следует удалить из матрицы все эти строки кроме одной. Рассмотрим, например матрицу . В данной матрице последние три строки пропорциональны, поэтому достаточно оставить только одну из них: .

3) Если в матрице в ходе преобразований появилась нулевая строка, то ее также следуетудалить . Рисовать не буду, понятно, нулевая строка – это строка, в которой одни нули .

4) Строку матрицы можно умножить (разделить) на любое число, отличное от нуля . Рассмотрим, например, матрицу . Здесь целесообразно первую строку разделить на –3, а вторую строку – умножить на 2: . Данное действие очень полезно, поскольку упрощает дальнейшие преобразования матрицы.

5) Это преобразование вызывает наибольшие затруднения, но на самом деле ничего сложного тоже нет. К строке матрицы можно прибавить другую строку, умноженную на число , отличное от нуля. Рассмотрим нашу матрицу из практического примера: . Сначала я распишу преобразование очень подробно. Умножаем первую строку на –2: , и ко второй строке прибавляем первую строку умноженную на –2 : . Теперь первую строку можно разделить «обратно» на –2: . Как видите, строка, которую ПРИБАВЛЯЛИ не изменилась . Всегда меняется строка, К КОТОРОЙ ПРИБАВЛЯЮТ .

На практике так подробно, конечно, не расписывают, а пишут короче: Еще раз: ко второй строке прибавили первую строку, умноженную на –2 . Умножают строку обычно устно или на черновике, при этом мысленный ход расчётов примерно такой:

«Переписываю матрицу и переписываю первую строку: »

«Сначала первый столбец. Внизу мне нужно получить ноль. Поэтому единицу вверху умножаю на –2: , и ко второй строке прибавляю первую: 2 + (–2) = 0. Записываю результат во вторую строку: »

«Теперь второй столбец. Вверху –1 умножаю на –2: . Ко второй строке прибавляю первую: 1 + 2 = 3. Записываю результат во вторую строку: »

«И третий столбец. Вверху –5 умножаю на –2: . Ко второй строке прибавляю первую: –7 + 10 = 3. Записываю результат во вторую строку: »

Пожалуйста, тщательно осмыслите этот пример и разберитесь в последовательном алгоритме вычислений, если вы это поняли, то метод Гаусса практически «в кармане». Но, конечно, над этим преобразованием мы еще поработаем.

Элементарные преобразования не меняют решение системы уравнений

! ВНИМАНИЕ : рассмотренные манипуляции нельзя использовать , если Вам предложено задание, где матрицы даны «сами по себе». Например, при «классических» действиях с матрицами что-то переставлять внутри матриц ни в коем случае нельзя! Вернемся к нашей системе . Она практически разобрана по косточкам.

Запишем расширенную матрицу системы и с помощью элементарных преобразований приведем ее к ступенчатому виду :

(1) Ко второй строке прибавили первую строку, умноженную на –2. И снова: почему первую строку умножаем именно на –2? Для того чтобы внизу получить ноль, а значит, избавиться от одной переменной во второй строке.

(2) Делим вторую строку на 3.

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

В результате элементарных преобразований получена эквивалентная исходной система уравнений:

Теперь систему нужно «раскрутить» в обратном направлении – снизу вверх, этот процесс называется обратным ходом метода Гаусса .

В нижнем уравнении у нас уже готовый результат: .

Рассмотрим первое уравнение системы и подставим в него уже известное значение «игрек»:

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

Пример 1

Решить методом Гаусса систему уравнений:

Запишем расширенную матрицу системы:

Сейчас я сразу нарисую результат, к которому мы придём в ходе решения: И повторюсь, наша цель – с помощью элементарных преобразований привести матрицу к ступенчатому виду. С чего начать действия?

Сначала смотрим на левое верхнее число: Почти всегда здесь должна находиться единица . Вообще говоря, устроит и –1 (а иногда и другие числа), но как-то так традиционно сложилось, что туда обычно помещают единицу. Как организовать единицу? Смотрим на первый столбец – готовая единица у нас есть! Преобразование первое: меняем местами первую и третью строки:

Теперь первая строка у нас останется неизменной до конца решения . Уже легче.

Единица в левом верхнем углу организована. Теперь нужно получить нули вот на этих местах:

Нули получаем как раз с помощью «трудного» преобразования. Сначала разбираемся со второй строкой (2, –1, 3, 13). Что нужно сделать, чтобы на первой позиции получить ноль? Нужно ко второй строке прибавить первую строку, умноженную на –2 . Мысленно или на черновике умножаем первую строку на –2: (–2, –4, 2, –18). И последовательно проводим (опять же мысленно или на черновике) сложение, ко второй строке прибавляем первую строку, уже умноженную на –2 :

Результат записываем во вторую строку:

Аналогично разбираемся с третьей строкой (3, 2, –5, –1). Чтобы получить на первой позиции ноль, нужно к третьей строке прибавить первую строку, умноженную на –3 . Мысленно или на черновике умножаем первую строку на –3: (–3, –6, 3, –27). И к третьей строке прибавляем первую строку, умноженную на –3 :

Результат записываем в третью строку:

На практике эти действия обычно выполняются устно и записываются в один шаг:

Не нужно считать всё сразу и одновременно . Порядок вычислений и «вписывания» результатов последователен и обычно такой: сначала переписываем первую строку, и пыхтим себе потихонечку – ПОСЛЕДОВАТЕЛЬНО иВНИМАТЕЛЬНО :
А мысленный ход самих расчётов я уже рассмотрел выше.

В данном примере это сделать легко, вторую строку делим на –5 (поскольку там все числа делятся на 5 без остатка). Заодно делим третью строку на –2, ведь чем меньше числа, тем проще решение:

На заключительном этапе элементарных преобразований нужно получить еще один ноль здесь:

Для этого к третьей строке прибавляем вторую строку, умноженную на –2 :
Попробуйте разобрать это действие самостоятельно – мысленно умножьте вторую строку на –2 и проведите сложение.

Последнее выполненное действие – причёска результата, делим третью строку на 3.

В результате элементарных преобразований получена эквивалентная исходной система линейных уравнений: Круто.

Теперь в действие вступает обратный ход метода Гаусса. Уравнения «раскручиваются» снизу вверх.

В третьем уравнении у нас уже готовый результат:

Смотрим на второе уравнение: . Значение «зет» уже известно, таким образом:

И, наконец, первое уравнение: . «Игрек» и «зет» известны, дело за малым:

Ответ :

Как уже неоднократно отмечалось, для любой системы уравнений можно и нужно сделать проверку найденного решения, благо, это несложно и быстро.

Пример 2

Это пример для самостоятельного решения, образец чистового оформления и ответ в конце урока.

Следует отметить, что ваш ход решения может не совпасть с моим ходом решения, и это – особенность метода Гаусса . Но вот ответы обязательно должны получиться одинаковыми!

Пример 3

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

Смотрим на левую верхнюю «ступеньку». Там у нас должна быть единица. Проблема состоит в том, что в первом столбце единиц нет вообще, поэтому перестановкой строк ничего не решить. В таких случаях единицу нужно организовать с помощью элементарного преобразования. Обычно это можно сделать несколькими способами. Я поступил так: (1) К первой строке прибавляем вторую строку, умноженную на –1 . То есть, мысленно умножили вторую строку на –1 и выполнили сложение первой и второй строки, при этом вторая строка у нас не изменилась.

Теперь слева вверху «минус один», что нас вполне устроит. Кто хочет получить +1, может выполнить дополнительное телодвижение: умножить первую строку на –1 (сменить у неё знак).

(2) Ко второй строке прибавили первую строку, умноженную на 5. К третьей строке прибавили первую строку, умноженную на 3.

(3) Первую строку умножили на –1, в принципе, это для красоты. У третьей строки также сменили знак и переставили её на второе место, таким образом, на второй «ступеньке у нас появилась нужная единица.

(4) К третьей строке прибавили вторую строку, умноженную на 2.

(5) Третью строку разделили на 3.

Скверным признаком, который свидетельствует об ошибке в вычислениях (реже – об опечатке), является «плохая» нижняя строка. То есть, если бы у нас внизу получилось что-нибудь вроде , и, соответственно, , то с большой долей вероятности можно утверждать, что допущена ошибка в ходе элементарных преобразований.

Заряжаем обратный ход, в оформлении примеров часто не переписывают саму систему, а уравнения «берут прямо из приведенной матрицы». Обратный ход, напоминаю, работает, снизу вверх. Да тут подарок получился:

Ответ : .

Пример 4

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

Это пример для самостоятельного решения, он несколько сложнее. Ничего страшного, если кто-нибудь запутается. Полное решение и образец оформления в конце урока. Ваше решение может отличаться от моего решения.

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

Вторая особенность состоит вот в чём. Во всех рассмотренных примерах на «ступеньки» мы помещали либо –1, либо +1. Могут ли там быть другие числа? В ряде случаев могут. Рассмотрим систему: .

Здесь на левой верхней «ступеньке» у нас двойка. Но замечаем тот факт, что все числа в первом столбце делятся на 2 без остатка – и другая двойка и шестерка. И двойка слева вверху нас устроит! На первом шаге нужно выполнить следующие преобразования: ко второй строке прибавить первую строку, умноженную на –1; к третьей строке прибавить первую строку, умноженную на –3. Таким образом, мы получим нужные нули в первом столбце.

Или еще такой условный пример: . Здесь тройка на второй «ступеньке» тоже нас устраивает, поскольку 12 (место, где нам нужно получить ноль) делится на 3 без остатка. Необходимо провести следующее преобразование: к третьей строке прибавить вторую строку, умноженную на –4, в результате чего и будет получен нужный нам ноль.

Метод Гаусса универсален, но есть одно своеобразие. Уверенно научиться решать системы другими методами (методом Крамера, матричным методом) можно буквально с первого раза – там очень жесткий алгоритм. Но вот чтобы уверенно себя чувствовать в методе Гаусса, следует «набить руку», и прорешать хотя бы 5-10 десять систем. Поэтому поначалу возможны путаница, ошибки в вычислениях, и в этом нет ничего необычного или трагического.

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

Пример 5

Решить методом Гаусса систему 4-х линейных уравнений с четырьмя неизвестными.

Такое задание на практике встречается не так уж и редко. Думаю, даже чайнику, который обстоятельно изучил эту страницу, интуитивно понятен алгоритм решения такой системы. Принципиально всё так же – просто действий больше.

Случаи, когда система не имеет решений (несовместна) или имеет бесконечно много решений, рассмотрены на уроке Несовместные системы и системы с общим решением . Там же можно закрепить рассмотренный алгоритм метода Гаусса.

Желаю успехов!

Решения и ответы:

Пример 2: Решение : Запишем расширенную матрицу системы и с помощью элементарных преобразований приведем ее к ступенчатому виду.
Выполненные элементарные преобразования: (1) Ко второй строке прибавили первую строку, умноженную на –2. К третьей строке прибавили первую строку, умноженную на –1. Внимание! Здесь может возникнуть соблазн из третьей строки вычесть первую, крайне не рекомендую вычитать – сильно повышается риск ошибки. Только складываем! (2) У второй строки сменили знак (умножили на –1). Вторую и третью строки поменяли местами. Обратите внимание , что на «ступеньках» нас устраивает не только единица, но еще и –1, что даже удобнее. (3) К третьей строке прибавили вторую строку, умноженную на 5. (4) У второй строки сменили знак (умножили на –1). Третью строку разделили на 14.

Обратный ход:

Ответ : .

Пример 4: Решение : Запишем расширенную матрицу системы и с помощью элементарных преобразований приведем ее к ступенчатому виду:

Выполненные преобразования: (1) К первой строке прибавили вторую. Таким образом, организована нужная единица на левой верхней «ступеньке». (2) Ко второй строке прибавили первую строку, умноженную на 7. К третьей строке прибавили первую строку, умноженную на 6.

Со второй «ступенькой» всё хуже , «кандидаты» на неё – числа 17 и 23, а нам нужна либо единичка, либо –1. Преобразования (3) и (4) будут направлены на получение нужной единицы (3) К третьей строке прибавили вторую, умноженную на –1. (4) Ко второй строке прибавили третью, умноженную на –3. Нужная вещь на второй ступеньке получена . (5) К третьей строке прибавили вторую, умноженную на 6. (6) Вторую строку умножили на –1, третью строку разделили на -83.

Обратный ход:

Ответ :

Пример 5: Решение : Запишем матрицу системы и с помощью элементарных преобразований приведем ее к ступенчатому виду:

Выполненные преобразования: (1) Первую и вторую строки поменяли местами. (2) Ко второй строке прибавили первую строку, умноженную на –2. К третьей строке прибавили первую строку, умноженную на –2. К четвертой строке прибавили первую строку, умноженную на –3. (3) К третьей строке прибавили вторую, умноженную на 4. К четвертой строке прибавили вторую, умноженную на –1. (4) У второй строки сменили знак. Четвертую строку разделили на 3 и поместили вместо третьей строки. (5) К четвертой строке прибавили третью строку, умноженную на –5.

Обратный ход:

Ответ :

Рассмотрим точные методы решения системы ; здесь - матрица размерности

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

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

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

делим на коэффициент , в результате получаем уравнение

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

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

Совокупность проведенных вычислений, в ходе которых исходная задача преобразовалась к виду (2), называется прямым ходом метода Гаусса.

Из уравнения системы (2) определяем , из и т. д. до . Совокупность таких вычислений называют обратным ходом метода Гаусса.

Нетрудно проверить, что реализация прямого хода метода Гаусса требует арифметических операций, а обратного - арифметических операций.

Исключение происходит в результате следующих операций: 1) деления уравнения на , 2) вычитания получающегося после такого деления уравнения, умноженного на , из уравнений с номерами к . Первая операция равносильна умножению системы уравнений слева на диагональную матрицу

вторая операция равносильна умножению слева на матрицу

Таким образом, система (2), получаемая в результате этих преобразований, запишется в виде

Произведение левых (правых) треугольных матриц является левой (правой) треугольной матрицей, поэтому матрица С левая треугольная. Из формулы для элементов обратной матрицы

следует, что матрица, обратная к левой (правой) треугольной, является левой (правой) треугольной. Следовательно, матрица левая треугольная.

Введем обозначение . Согласно построению все и матрица D правая треугольная. Отсюда получаем представление матрицы А в виде произведения левой и правой треугольных матриц:

Равенство вместе с условием , образует систему уравнений относительно элементов треугольных матриц В и : . Поскольку при и при , эта система может быть записана в виде

(3)

или, что то же самое,

Воспользовавшись условием, что все получаем систему рекуррентных соотношений для определения элементов и :

Вычисления проводятся последовательно для совокупностей . Здесь и далее в случае, когда верхний предел суммирования меньше нижнего, считается, что вся сумма равна нулю.

Таким образом, вместо последовательных преобразований системы (1) к виду (2) можно непосредственно произвести вычисление матриц В и с помощью формул (4). Эти вычисления можно осуществить, если только все элементы окажутся отличными от нуля. Пусть - матрицы главных миноров порядка матриц А, В, D. Согласно (3) . Поскольку , то . Следовательно,

Итак, для осуществления вычислений по формулам (4) необходимо и достаточно выполнение условий

В ряде случаев заранее известно, что условие (5) выполнено. Например, многие задачи математической физики сводятся к решению систем с положительно определенной матрицей А. Однако в общем случае этого заранее сказать нельзя. Возможен и такой случай: все , но среди величин есть очень малые и при делении на них будут получаться большие числа с большими абсолютными погрешностями. В результате этого решение сильно исказится.

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

Последовательность операций по разложению матрицы А на произведение треугольных матриц и по определению вектора d часто удобно объединить. Уравнения

системы можно записать в виде

Следовательно, значения могут вычисляться одновременно с остальными значениями по формулам (4).

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

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

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

Задача 2. Оценить объем загружаемой памяти ЭВМ в методе Гаусса для ленточных матриц.

При вычислениях без помощи ЭВМ велика вероятность случайных погрешностей. Для устранения таких погрешностей иногда вводят контрольный системы , состоящий из контрольных элементов уравнений системы

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

К примеру, в случае приведения системы уравнений к виду с помощью формул (4) контрольный элемент каждого из уравнений системы вычисляется по тем же формулам (4). После вычисления всех элементов при фиксированном контроль осуществляется проверкой равенства

Обратный ход метода Гаусса также сопровождается вычислением контрольных элементов строк системы.

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

Его отличие от описанной выше схемы метода Гаусса состоит в следующем. Пусть по ходу исключения неизвестных получена система уравнений

Найдем такое, что и переобозначим и ; далее произведем исключение неизвестной из всех уравнений, начиная с . Такое переобозначение приводит к изменению порядка исключения неизвестных и во многих случаях существенно уменьшает чувствительность решения к погрешностям округления при вычислениях.

Часто требуется решить несколько систем уравнений , с одной и той же матрицей А. Удобно поступить следующим образом: введя обозначения

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

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

Описанный выше прием иногда используется для того, чтобы без существенных дополнительных затрат получить суждение о погрешности решения, являющейся следствием погрешностей округления при вычислениях. Задаются вектором z с компонентами, имеющими по возможности тот же порядок и знак, что и компоненты искомого решения; часто из-за отсутствия достаточной информации берут . Вычисляется вектор , и наряду с исходной системой уравнений решается система .

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

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

Наряду с исходной системой тем же методом решается система

При и , не являющихся целыми степенями двойки, сравнение векторов и дает представление о величине вычислительной погрешности. Например, можно взять .

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

Для решения таких систем, а также систем уравнений более общего вида с эрмитовой не обязательно положительно определенной матрицей применяется метод квадратного корня (метод Холецкого). Матрица А представляется в виде

где S - правая треугольная матрица, - сопряженная с ней, т. е.

причем все - диагональная матрица с элементами , равными или -1. Матричное равенство (6) образует систему уравнений

Аналогичные уравнения при отброшены, так как уравнения, соответствующие парам и , эквивалентны. Отсюда получаем рекуррентные формулы для определения элементов и :

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

Задача 3. Оценить число арифметических операций и загрузку памяти ЭВМ (при условии объем памяти, требуемый для запоминания матрицы А, уменьшается) при решении системы с вещественной положительно определеннной матрицей А методом квадратного корня.

Многие пакеты прикладных программ для решения краевых задач математической физики методом конечных элементов организованы по следующей схеме. После формирования матрицы системы А путем перестановки строк и столбцов (одновременно переставляются и строки и и столбцы) система преобразуется к виду с наименьшей шириной ленты. Далее применяется метод квадратного корня. При этом с целью уменьшения объема вычислений при решении системы с другими правыми частями матрица S запоминается.

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

Мы знаем, что система линейных алгебраических уравнений может:

1) Не иметь решений (бытьнесовместной ).
2) Иметь бесконечно много решений.
3) Иметь единственное решение.

Как мы помним,правило Крамера и матричный методнепригодны в тех случаях, когда система имеет бесконечно много решений или несовместна. Метод Гаусса наиболее мощный и универсальный инструмент для нахождения решения любой системы линейных уравнений , который в каждом случае приведет нас к ответу! Сам алгоритм метода во всех трёх случаях работает одинаково. Если в методах Крамера и матричном необходимы знания определителей, то для применения метода Гаусса необходимо знание только арифметических действий, что делает его доступным даже для школьников начальных классов.

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

1) с троки матрицыможно переставлять местами.

2) если в матрице появились (или есть) пропорциональные (как частный случай – одинаковые) строки, то следуетудалить из матрицы все эти строки кроме одной.

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

4) строку матрицы можноумножить (разделить) на любое число,отличное от нуля.

5) к строке матрицы можноприбавить другую строку, умноженную на число , отличное от нуля.

В методе Гаусса элементарные преобразования не меняют решение системы уравнений.

Метод Гаусса состоит из двух этапов:

  1. «Прямой ход» - с помощью элементарных преобразований привести расширенную матрицу системы линейных алгебраических уравнений к «треугольному» ступенчатому виду: элементы расширенной матрицы, расположенные ниже главной диагонали, равны нулю (ход «сверху-вниз»). Например, к такому виду:

Для этого выполним следующие действия:

1) Пусть мы рассматриваем первое уравнение системы линейных алгебраических уравнений и коэффициент при х 1 равен К. Второе, третье и т.д. уравнения преобразуем следующим образом: каждое уравнение (коэффициенты при неизвестных, включая свободные члены) делим на коэффициент при неизвестном х 1 , стоящий в каждом уравнении, и умножаем на К. После этого из второго уравнения (коэффициенты при неизвестных и свободные члены) вычитаем первое. Получаем при х 1 во втором уравнении коэффициент 0. Из третьего преобразованного уравнения вычитаем первое уравнение, так до тех пор, пока все уравнения, кроме первого, при неизвестном х 1 не будут иметь коэффициент 0.

2) Переходим к следующему уравнению. Пусть это будет второе уравнение и коэффициент при х 2 равен М. Со всеми «нижестоящими» уравнениями поступаем так, как описано выше. Таким образом, «под» неизвестной х 2 во всех уравнениях будут нули.

3) Переходим к следующему уравнению и так до тех пора, пока не останется одна последняя неизвестная и преобразованный свободный член.

  1. «Обратный ход» метода Гаусса – получение решения системы линейных алгебраических уравнений (ход «снизу-вверх»). Из последнего «нижнего» уравнения получаем одно первое решение – неизвестную х n . Для этого решаем элементарное уравнение А*х n = В. В примере, приведенном выше, х 3 = 4. Подставляем найденное значение в «верхнее» следующее уравнение и решаем его относительно следующей неизвестной. Например, х 2 – 4 = 1, т.е. х 2 = 5. И так до тех пор, пока не найдем все неизвестные.

Пример.

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

Запишем расширенную матрицу системы и с помощью элементарных преобразований приведем ее к ступенчатому виду:

Смотрим на левую верхнюю «ступеньку». Там у нас должна быть единица. Проблема состоит в том, что в первом столбце единиц нет вообще, поэтому перестановкой строк ничего не решить. В таких случаях единицу нужно организовать с помощью элементарного преобразования. Обычно это можно сделать несколькими способами. Поступим так:
1 шаг . К первой строке прибавляем вторую строку, умноженную на –1. То есть, мысленно умножили вторую строку на –1 и выполнили сложение первой и второй строки, при этом вторая строка у нас не изменилась.

Теперь слева вверху «минус один», что нас вполне устроит. Кто хочет получить +1, может выполнить дополнительное действие: умножить первую строку на –1 (сменить у неё знак).

2 шаг . Ко второй строке прибавили первую строку, умноженную на 5. К третьей строке прибавили первую строку, умноженную на 3.

3 шаг . Первую строку умножили на –1, в принципе, это для красоты. У третьей строки также сменили знак и переставили её на второе место, таким образом, на второй «ступеньке у нас появилась нужная единица.

4 шаг . К третьей строке прибавили вторую строку, умноженную на 2.

5 шаг . Третью строку разделили на 3.

Признаком, который свидетельствует об ошибке в вычислениях (реже – об опечатке), является «плохая» нижняя строка. То есть, если бы у нас внизу получилось что-нибудь вроде (0 0 11 |23) , и, соответственно, 11x 3 = 23, x 3 = 23/11, то с большой долей вероятности можно утверждать, что допущена ошибка в ходе элементарных преобразований.

Выполняем обратный ход, в оформлении примеров часто не переписывают саму систему, а уравнения «берут прямо из приведенной матрицы». Обратный ход, напоминаю, работает «снизу вверх». В данном примере получился подарок:

x 3 = 1
x 2 = 3
x 1 + x 2 – x 3 = 1, следовательно x 1 + 3 – 1 = 1, x 1 = –1

Ответ :x 1 = –1, x 2 = 3, x 3 = 1.

Решим эту же систему по предложенному алгоритму. Получаем

4 2 –1 1
5 3 –2 2
3 2 –3 0

Разделим второе уравнение на 5, а третье – на 3. Получим:

4 2 –1 1
1 0.6 –0.4 0.4
1 0.66 –1 0

Умножим второе и третье уравнения на 4, получим:

4 2 –1 1
4 2,4 –1.6 1.6
4 2.64 –4 0

Вычтем из второго и третьего уравнений первое уравнение, имеем:

4 2 –1 1
0 0.4 –0.6 0.6
0 0.64 –3 –1

Разделим третье уравнение на 0,64:

4 2 –1 1
0 0.4 –0.6 0.6
0 1 –4.6875 –1.5625

Умножим третье уравнение на 0,4

4 2 –1 1
0 0.4 –0.6 0.6
0 0.4 –1.875 –0.625

Вычтем из третьего уравнения второе, получим «ступенчатую» расширенную матрицу:

4 2 –1 1
0 0.4 –0.6 0.6
0 0 –1.275 –1.225

Таким образом, так как в процессе вычислений накапливалась погрешность, получаем х 3 = 0,96 или приблизительно 1.

х 2 = 3 и х 1 = –1.

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

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

Желаю успехов! До встречи на занятиях! Репетитор Дмитрий Айстраханов .

сайт, при полном или частичном копировании материала ссылка на первоисточник обязательна.

Рассмотрим систему m линейных уравнений с n неизвестными

Элементарными преобразованиями системы (4.12) называют:

  1. перестановку любых двух уравнений;
  2. умножение обеих частей любого уравнения на любое число, отличное от нуля;
  3. прибавление к обеим частям одного из уравнений соответствующих частей другого, умноженных на любое число.

Очевидно, что элементарные преобразования переводят линейную систему в эквивалентную.

Ступенчатой системой называется система линейных уравнений вида

(4.13)

где . Коэффициенты a ii называются главными , или ведущими , элементами системы. Например, система

Имеет ступенчатый вид.

Если в системе (4.13) k = n , то ее называют треугольной . Очевидно, что в этом случае она является определенной.

Если k < n , то k неизвестных х 1 , х 2 , ..., х к , называют главными элементами . Они могут быть выражены через остальные n – k неизвестные, называемые свободными . В этом случае система (4.13) будет называться неопределенной .

Вернемся к произвольной системе (4.12) и для определенности будем считать, что . Если это не так, то тождественными линейными преобразованиями системы (4.12) можно всегда добиться выполнения данного условия. Исключим х 1 из всех уравнений, кроме первого. Для этого обе части первого уравнения умножим на a 21 /a 11 и вычтем из соответствующих частей второго уравнения. Затем обе части первого уравнения умножим на a 31 /a 11 и вычтем из соответствующих частей третьего. И так поступим с каждым следующим уравнением. Далее таким же образом исключаем х 2 из третьего, четвертого и так далее уравнений. В результате таких преобразований мы получим совместную ступенчатую систему или придем к несовместимой системе, в которой одно из уравнений имеет отличный от нуля свободный член, а все остальные коэффициенты левой части равны нулю. В последнем случае система (4.12) также будет несовместимой.

Пример 6 . Решить систему

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

X 1 X 2 X 3 B
1 2 1 9 13
1 1 2 8 12
2 1 1 7 11
1 2 1 9 13
0 -1 1 -1 -1
0 -3 -1 11 15
1 2 1 9 13
0 -1 1 -1 -1
0 0 -4 -8 -12

В результате получаем треугольную систему.