Решение по гауссу. Метод Гаусса (последовательного исключения неизвестных). Примеры решений для чайников
Пусть задана система линейных алгебраических уравнений, которую необходимо решить (найти такие значения неизвестных хi, что обращают каждое уравнение системы в равенство).
Мы знаем, что система линейных алгебраических уравнений может:
1) Не иметь решений (бытьнесовместной
).
2) Иметь бесконечно много решений.
3) Иметь единственное решение.
Как мы помним,правило Крамера и матричный методнепригодны в тех случаях, когда система имеет бесконечно много решений или несовместна. Метод Гаусса – наиболее мощный и универсальный инструмент для нахождения решения любой системы линейных уравнений , который в каждом случае приведет нас к ответу! Сам алгоритм метода во всех трёх случаях работает одинаково. Если в методах Крамера и матричном необходимы знания определителей, то для применения метода Гаусса необходимо знание только арифметических действий, что делает его доступным даже для школьников начальных классов.
Преобразования расширенной матрицы (это матрица системы - матрица, составленная только из коэффициентов при неизвестных, плюс столбец свободных членов) системы линейных алгебраических уравнений в методе Гаусса:
1) с троки матрицыможно переставлять местами.
2) если в матрице появились (или есть) пропорциональные (как частный случай – одинаковые) строки, то следуетудалить из матрицы все эти строки кроме одной.
3) если в матрице в ходе преобразований появилась нулевая строка, то ее также следует удалить .
4) строку матрицы можноумножить (разделить) на любое число,отличное от нуля.
5) к строке матрицы можноприбавить другую строку, умноженную на число , отличное от нуля.
В методе Гаусса элементарные преобразования не меняют решение системы уравнений.
Метод Гаусса состоит из двух этапов:
- «Прямой ход» - с помощью элементарных преобразований привести расширенную матрицу системы линейных алгебраических уравнений к «треугольному» ступенчатому виду: элементы расширенной матрицы, расположенные ниже главной диагонали, равны нулю (ход «сверху-вниз»). Например, к такому виду:
Для этого выполним следующие действия:
1) Пусть мы рассматриваем первое уравнение системы линейных алгебраических уравнений и коэффициент при х 1 равен К. Второе, третье и т.д. уравнения преобразуем следующим образом: каждое уравнение (коэффициенты при неизвестных, включая свободные члены) делим на коэффициент при неизвестном х 1 , стоящий в каждом уравнении, и умножаем на К. После этого из второго уравнения (коэффициенты при неизвестных и свободные члены) вычитаем первое. Получаем при х 1 во втором уравнении коэффициент 0. Из третьего преобразованного уравнения вычитаем первое уравнение, так до тех пор, пока все уравнения, кроме первого, при неизвестном х 1 не будут иметь коэффициент 0.
2) Переходим к следующему уравнению. Пусть это будет второе уравнение и коэффициент при х 2 равен М. Со всеми «нижестоящими» уравнениями поступаем так, как описано выше. Таким образом, «под» неизвестной х 2 во всех уравнениях будут нули.
3) Переходим к следующему уравнению и так до тех пора, пока не останется одна последняя неизвестная и преобразованный свободный член.
- «Обратный ход» метода Гаусса – получение решения системы линейных алгебраических уравнений (ход «снизу-вверх»). Из последнего «нижнего» уравнения получаем одно первое решение – неизвестную х 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). Тогда размер матрицы A (для их обозначения обычно используются заглавные латинские буквы) будет обозначаться как A mxn . Если m=n, то эта матрица квадратная, и m=n - ее порядок. Соответственно, любой элемент матрицы A можно обозначить через номер его строки и столбца: a xy ; x - номер строки, изменяется , y - номер столбца, изменяется .
В - это не основной момент решения. В принципе, все операции можно выполнять непосредственно с самими уравнениями, однако запись получится куда более громоздкая, и в ней будет гораздо легче запутаться.
Определитель
Еще у матрицы есть определитель. Это очень важная характеристика. Выяснять его смысл сейчас не стоит, можно просто показать, как он вычисляется, а потом рассказать, какие свойства матрицы он определяет. Наиболее простой способ нахождения определителя - через диагонали. В матрице проводятся воображаемые диагонали; элементы, находящиеся на каждой из них, перемножаются, а затем полученные произведения складываются: диагонали с наклоном вправо - со знаком "плюс", с наклоном влево - со знаком "минус".
Крайне важно отметить, что вычислять определитель можно только у квадратной матрицы. Для прямоугольной матрицы можно сделать следующее: из количества строк и количества столбцов выбрать наименьшее (пусть это будет k), а затем в матрице произвольным образом отметить k столбцов и k строк. Элементы, находящиеся на пересечении выбранных столбцов и строк, составят новую квадратную матрицу. Если определитель такой матрицы будет числом, отличным от нуля, то назовется базисным минором первоначальной прямоугольной матрицы.
Перед тем как приступить к решению системы уравнений методом Гаусса, не мешает посчитать определитель. Если он окажется нулевым, то сразу можно говорить, что у матрицы количество решений либо бесконечно, либо их вообще нет. В таком печальном случае надо идти дальше и узнавать про ранг матрицы.
Классификация систем
Существует такое понятие, как ранг матрицы. Это максимальный порядок ее определителя, отличного от нуля (если вспомнить про базисный минор, можно сказать, что ранг матрицы - порядок базисного минора).
По тому, как обстоят дела с рангом, СЛАУ можно разделить на:
- Совместные. У совместных систем ранг основной матрицы (состоящей только из коэффициентов) совпадает с рангом расширенной (со столбцом свободных членов). Такие системы имеют решение, но необязательно одно, поэтому дополнительно совместные системы делят на:
- - определенные - имеющие единственное решение. В определенных системах равны ранг матрицы и количество неизвестных (или число столбцов, что есть одно и то же);
- - неопределенные - с бесконечным количеством решений. Ранг матриц у таких систем меньше количества неизвестных.
- Несовместные. У таких систем ранги основной и расширенной матриц не совпадают. Несовместные системы решения не имеют.
Метод Гаусса хорош тем, что позволяет в ходе решения получить либо однозначное доказательство несовместности системы (без вычисления определителей больших матриц), либо решение в общем виде для системы с бесконечным числом решений.
Элементарные преобразования
До того как приступить непосредственно к решению системы, можно сделать ее менее громоздкой и более удобной для вычислений. Это достигается за счет элементарных преобразований - таких, что их выполнение никак не меняет конечный ответ. Следует отметить, что некоторые из приведенных элементарных преобразований действительны только для матриц, исходниками которых послужили именно СЛАУ. Вот список этих преобразований:
- Перестановка строк. Очевидно, что если в записи системы поменять порядок уравнений, то на решение это никак не повлияет. Следовательно, в матрице этой системы также можно менять местами строки, не забывая, конечно, про столбец свободных членов.
- Умножение всех элементов строки на некоторый коэффициент. Очень полезно! С помощью него можно сократить большие числа в матрице или убрать нули. Множество решений, как обычно, не изменится, а выполнять дальнейшие операции станет удобнее. Главное, чтобы коэффициент не был равен нулю.
- Удаление строк с пропорциональными коэффициентами. Это отчасти следует из предыдущего пункта. Если две или более строки в матрице имеют пропорциональные коэффициенты, то при умножении/делении одной из строк на коэффициент пропорциональности получаются две (или, опять же, более) абсолютно одинаковые строки, и можно убрать лишние, оставив только одну.
- Удаление нулевой строки. Если в ходе преобразований где-то получилась строка, в которой все элементы, включая свободный член, - ноль, то такую строку можно назвать нулевой и выкинуть из матрицы.
- Прибавление к элементам одной строки элементов другой (по соответствующим столбцам), умноженных на некоторый коэффициент. Самое неочевидное и самое важное преобразование из всех. На нем стоит остановиться поподробнее.
Прибавление строки, умноженной на коэффициент
Для простоты понимания стоит разобрать этот процесс по шагам. Берутся две строки из матрицы:
a 11 a 12 ... a 1n | b1
a 21 a 22 ... a 2n | b 2
Допустим, необходимо ко второй прибавить первую, умноженную на коэффициент "-2".
a" 21 = a 21 + -2xa 11
a" 22 = a 22 + -2xa 12
a" 2n = a 2n + -2xa 1n
Затем в матрице вторая строка заменяется на новую, а первая остается без изменений.
a 11 a 12 ... a 1n | b1
a" 21 a" 22 ... a" 2n | b 2
Необходимо заметить, что коэффициент умножения можно подобрать таким образом, чтобы в результате сложения двух строк один из элементов новой строки был равен нулю. Следовательно, можно получить уравнение в системе, где на одну неизвестную будет меньше. А если получить два таких уравнения, то операцию можно проделать еще раз и получить уравнение, которое будет содержать уже на две неизвестных меньше. А если каждый раз превращать в ноль один коэффициент у всех строк, что стоят ниже исходной, то можно, как по ступенькам, спуститься до самого низа матрицы и получить уравнение с одной неизвестной. Это и называется решить систему методом Гаусса.
В общем виде
Пусть существует система. Она имеет m уравнений и n корней-неизвестных. Записать ее можно следующим образом:
Из коэффициентов системы составляется основная матрица. В расширенную матрицу добавляется столбец свободных членов и для удобства отделяется чертой.
- первая строка матрицы умножается на коэффициент k = (-a 21 /a 11);
- первая измененная строка и вторая строка матрицы складываются;
- вместо второй строки в матрицу вставляется результат сложения из предыдущего пункта;
- теперь первый коэффициент в новой второй строке равен a 11 x (-a 21 /a 11) + a 21 = -a 21 + a 21 = 0.
Теперь выполняется та же серия преобразований, только участвуют первая и третья строки. Соответственно, в каждом шаге алгоритма элемент a 21 заменяется на a 31 . Потом все повторяется для a 41 , ... a m1 . В итоге получается матрица, где в строках первый элемент равен нулю. Теперь нужно забыть о строке номер один и выполнить тот же алгоритм, начиная со второй строки:
- коэффициент k = (-a 32 /a 22);
- с "текущей" строкой складывается вторая измененная строка;
- результат сложения подставляется в третью, четвертую и так далее строки, а первая и вторая остаются неизменными;
- в строках матрицы уже два первых элемента равны нулю.
Алгоритм надо повторять, пока не появится коэффициент k = (-a m,m-1 /a mm). Это значит, что в последний раз алгоритм выполнялся только для нижнего уравнения. Теперь матрица похожа на треугольник, или имеет ступенчатую форму. В нижней строчке имеется равенство a mn x x n = b m . Коэффициент и свободный член известны, и корень выражается через них: x n = b m /a mn . Полученный корень подставляется в верхнюю строку, чтобы найти x n-1 = (b m-1 - a m-1,n x(b m /a mn))?a m-1,n-1 . И так далее по аналогии: в каждой следующей строке находится новый корень, и, добравшись до "верха" системы, можно отыскать множество решений . Оно будет единственным.
Когда нет решений
Если в одной из матричных строк все элементы, кроме свободного члена, равны нулю, то уравнение, соответствующее этой строке, выглядит как 0 = b. Оно не имеет решения. И поскольку такое уравнение заключено в систему, то и множество решений всей системы - пустое, то есть она является вырожденной.
Когда решений бесконечное количество
Может получиться так, что в приведенной треугольной матрице нет строк с одним элементом-коэффициентом уравнения, и одним - свободным членом. Есть только такие строки, которые при переписывании имели бы вид уравнения с двумя или более переменными. Значит, у системы имеется бесконечное число решений. В таком случае ответ можно дать в виде общего решения. Как это сделать?
Все переменные в матрице делятся на базисные и свободные. Базисные - это те, которые стоят "с краю" строк в ступенчатой матрице. Остальные - свободные. В общем решении базисные переменные записываются через свободные.
Для удобства матрица сначала переписывается обратно в систему уравнений. Потом в последнем из них, там, где точно осталась только одна базисная переменная, она остается с одной стороны, а все остальное переносится в другую. Так делается для каждого уравнения с одной базисной переменной. Потом в остальные уравнения, там, где это возможно, вместо базисной переменной подставляется полученное для нее выражение. Если в результате опять появилось выражение, содержащее только одну базисную переменную, она оттуда опять выражается, и так далее, пока каждая базисная переменная не будет записана в виде выражения со свободными переменными. Это и есть общее решение СЛАУ.
Можно также найти базисное решение системы - дать свободным переменным любые значения, а потом для этого конкретного случая посчитать значения базисных переменных. Частных решений можно привести бесконечно много.
Решение на конкретных примерах
Вот система уравнений.
Для удобства лучше сразу составить ее матрицу
Известно, что при решении методом Гаусса уравнение, соответствующее первой строке, в конце преобразований останется неизменным. Поэтому выгодней будет, если левый верхний элемент матрицы будет наименьшим - тогда первые элементы остальных строк после операций обратятся в ноль. Значит, в составленной матрице выгодно будет на место первой строки поставить вторую.
вторая строка: k = (-a 21 /a 11) = (-3/1) = -3
a" 21 = a 21 + kxa 11 = 3 + (-3)x1 = 0
a" 22 = a 22 + kxa 12 = -1 + (-3)x2 = -7
a" 23 = a 23 + kxa 13 = 1 + (-3)x4 = -11
b" 2 = b 2 + kxb 1 = 12 + (-3)x12 = -24
третья строка: k = (-a 3 1 /a 11) = (-5/1) = -5
a" 3 1 = a 3 1 + kxa 11 = 5 + (-5)x1 = 0
a" 3 2 = a 3 2 + kxa 12 = 1 + (-5)x2 = -9
a" 3 3 = a 33 + kxa 13 = 2 + (-5)x4 = -18
b" 3 = b 3 + kxb 1 = 3 + (-5)x12 = -57
Теперь, чтобы не запутаться, необходимо записать матрицу с промежуточными результатами преобразований.
Очевидно, что такую матрицу можно сделать более удобной для восприятия с помощью некоторых операций. Например, из второй строки можно убрать все "минусы", умножая каждый элемент на "-1".
Стоит также заметить, что в третьей строке все элементы кратны трем. Тогда можно сократить строку на это число, умножая каждый элемент на "-1/3" (минус - заодно, чтобы убрать отрицательные значения).
Выглядит гораздо приятнее. Теперь надо оставить в покое первую строку и поработать со второй и третьей. Задача - прибавить к третьей строке вторую, умноженную на такой коэффициент, чтобы элемент a 32 стал равен нулю.
k = (-a 32 /a 22) = (-3/7) = -3/7 (если в ходе некоторых преобразований в ответе получилось не целое число, рекомендуется для соблюдения точности вычислений оставить его "как есть", в виде обыкновенной дроби, а уже потом, когда получены ответы, решать, стоит ли округлять и переводить в другую форму записи)
a" 32 = a 32 + kxa 22 = 3 + (-3/7)x7 = 3 + (-3) = 0
a" 33 = a 33 + kxa 23 = 6 + (-3/7)x11 = -9/7
b" 3 = b 3 + kxb 2 = 19 + (-3/7)x24 = -61/7
Снова записывается матрица с новыми значениями.
1 | 2 | 4 | 12 |
0 | 7 | 11 | 24 |
0 | 0 | -9/7 | -61/7 |
Как видно, полученная матрица уже имеет ступенчатый вид. Поэтому дальнейшие преобразования системы по методу Гаусса не требуются. Что здесь можно сделать, так это убрать из третьей строки общий коэффициент "-1/7".
Теперь все красиво. Дело за малым - записать матрицу опять в виде системы уравнений и вычислить корни
x + 2y + 4z = 12 (1)
7y + 11z = 24 (2)
Тот алгоритм, по которому сейчас будут находиться корни, называется обратным ходом в методе Гаусса. В уравнении (3) содержится значение z:
y = (24 - 11x(61/9))/7 = -65/9
И первое уравнение позволяет найти x:
x = (12 - 4z - 2y)/1 = 12 - 4x(61/9) - 2x(-65/9) = -6/9 = -2/3
Такую систему мы имеем право назвать совместной, да еще и определенной, то есть имеющей единственное решение. Ответ записывается в следующей форме:
x 1 = -2/3, y = -65/9, z = 61/9.
Пример неопределенной системы
Вариант решения определенной системы методом Гаусса разобран, теперь необходимо рассмотреть случай, если система неопределенная, то есть для нее можно найти бесконечно много решений.
х 1 + х 2 + х 3 + х 4 + х 5 = 7 (1)
3х 1 + 2х 2 + х 3 + х 4 - 3х 5 = -2 (2)
х 2 + 2х 3 + 2х 4 + 6х 5 = 23 (3)
5х 1 + 4х 2 + 3х 3 + 3х 4 - х 5 = 12 (4)
Сам вид системы уже настораживает, потому что количество неизвестных n = 5, а ранг матрицы системы уже точно меньше этого числа, потому что количество строк m = 4, то есть наибольший порядок определителя-квадрата - 4. Значит, решений существует бесконечное множество, и надо искать его общий вид. Метод Гаусса для линейных уравнений позволяет это сделать.
Сначала, как обычно, составляется расширенная матрица.
Вторая строка: коэффициент k = (-a 21 /a 11) = -3. В третьей строке первый элемент - еще до преобразований, поэтому не надо ничего трогать, надо оставить как есть. Четвертая строка: k = (-а 4 1 /а 11) = -5
Умножив элементы первой строки на каждый их коэффициентов по очереди и сложив их с нужными строками, получаем матрицу следующего вида:
Как можно видеть, вторая, третья и четвертая строки состоят из элементов, пропорциональных друг другу. Вторая и четвертая вообще одинаковые, поэтому одну из них можно убрать сразу, а оставшуюся умножить на коэффициент "-1" и получить строку номер 3. И опять из двух одинаковых строк оставить одну.
Получилась такая матрица. Пока еще не записана система, нужно здесь определить базисные переменные - стоящие при коэффициентах a 11 = 1 и a 22 = 1, и свободные - все остальные.
Во втором уравнении есть только одна базисная переменная - x 2 . Значит, ее можно выразить оттуда, записав через переменные x 3 , x 4 , x 5 , являющиеся свободными.
Подставляем полученное выражение в первое уравнение.
Получилось уравнение, в котором единственная базисная переменная - x 1 . Проделаем с ней то же, что и с x 2 .
Все базисные переменные, которых две, выражены через три свободные, теперь можно записывать ответ в общем виде.
Также можно указать одно из частных решений системы. Для таких случаев в качестве значений для свободных переменных выбирают, как правило, нули. Тогда ответом будет:
16, 23, 0, 0, 0.
Пример несовместной системы
Решение несовместных систем уравнений методом Гаусса - самое быстрое. Оно заканчивается сразу же, как только на одном из этапов получается уравнение, не имеющее решения. То есть этап с вычислением корней, достаточно долгий и муторный, отпадает. Рассматривается следующая система:
x + y - z = 0 (1)
2x - y - z = -2 (2)
4x + y - 3z = 5 (3)
Как обычно, составляется матрица:
1 | 1 | -1 | 0 |
2 | -1 | -1 | -2 |
4 | 1 | -3 | 5 |
И приводится к ступенчатому виду:
k 1 = -2k 2 = -4
1 | 1 | -1 | 0 |
0 | -3 | 1 | -2 |
0 | 0 | 0 | 7 |
После первого же преобразования в третьей строке содержится уравнение вида
не имеющее решения. Следовательно, система несовместна, и ответом будет пустое множество.
Преимущества и недостатки метода
Если выбирать, каким методом решать СЛАУ на бумаге ручкой, то метод, который был рассмотрен в этой статье, выглядит наиболее привлекательно. В элементарных преобразованиях гораздо труднее запутаться, чем в том случается, если приходится искать вручную определитель или какую-нибудь хитрую обратную матрицу. Однако, если использовать программы для работы с данными такого типа, например, электронные таблицы, то оказывается, что в таких программах уже заложены алгоритмы вычисления основных параметров матриц - определитель, миноры, обратная и и так далее. А если быть уверенным в том, что машина посчитает эти значения сама и не ошибется, целесообразней использовать уже матричный метод или формул Крамера, потому что их применение начинается и заканчивается вычислением определителей и обратными матрицами.
Применение
Поскольку решение методом Гаусса представляет из себя алгоритм, а матрица - это, фактически, двумерный массив, его можно использовать при программировании. Но поскольку статья позиционирует себя, как руководство "для чайников", следует сказать, что самое простое, куда метод можно запихнуть - это электронные таблицы, например, Excel. Опять же, всякие СЛАУ, занесенные в таблицу в виде матрицы, Excel будет рассматривать как двумерный массив. А для операций с ними существует множество приятных команд: сложение (складывать можно только матрицы одинаковых размеров!), умножение на число, перемножение матриц (также с определенными ограничениями), нахождение обратной и транспонированной матриц и, самое главное, вычисление определителя. Если это трудоемкое занятие заменить одной командой, можно гораздо быстрее определять ранг матрицы и, следовательно, устанавливать ее совместность или несовместность.
Две системы линейных уравнений называются равносильными, если множество всех их решений совпадает.
Элементарные преобразования системы уравнений - это:
- Вычеркивание из системы тривиальных уравнений, т.е. таких, у которых все коэффициенты равны нулю;
- Умножение любого уравнения на число, отличное от нуля;
- Прибавление к любому i -му уравнению любого j -то уравнения, умноженного на любое число.
Переменная x i называется свободной, если эта переменная не является разрешенной, а вся система уравнений - является разрешенной.
Теорема. Элементарные преобразования переводят систему уравнений в равносильную.
Смысл метода Гаусса заключается в том, чтобы преобразовать исходную систему уравнений и получить равносильную разрешенную или равносильную несовместную систему.
Итак, метод Гаусса состоит из следующих шагов:
- Рассмотрим первое уравнение. Выберем первый ненулевой коэффициент и разделим все уравнение на него. Получим уравнение, в которое некоторая переменная x i входит с коэффициентом 1;
- Вычтем это уравнение из всех остальных, умножая его на такие числа, чтобы коэффициенты при переменной x i в остальных уравнениях обнулились. Получим систему, разрешенную относительно переменной x i , и равносильную исходной;
- Если возникают тривиальные уравнения (редко, но бывает; например, 0 = 0), вычеркиваем их из системы. В результате уравнений становится на одно меньше;
- Повторяем предыдущие шаги не более n раз, где n - число уравнений в системе. Каждый раз выбираем для «обработки» новую переменную. Если возникают противоречивые уравнения (например, 0 = 8), система несовместна.
В результате через несколько шагов получим либо разрешенную систему (возможно, со свободными переменными), либо несовместную. Разрешенные системы распадаются на два случая:
- Число переменных равно числу уравнений. Значит, система определена;
- Число переменных больше числа уравнений. Собираем все свободные переменные справа - получаем формулы для разрешенных переменных. Эти формулы так и записываются в ответ.
Вот и все! Система линейных уравнений решена! Это довольно простой алгоритм, и для его освоения вам не обязательно обращаться к репетитору высшей по математике. Рассмотрим пример:
Задача. Решить систему уравнений:
Описание шагов:
- Вычитаем первое уравнение из второго и третьего - получим разрешенную переменную x 1 ;
- Умножаем второе уравнение на (-1), а третье уравнение делим на (-3) - получим два уравнения, в которых переменная x 2 входит с коэффициентом 1;
- Прибавляем второе уравнение к первому, а из третьего - вычитаем. Получим разрешенную переменную x 2 ;
- Наконец, вычитаем третье уравнение из первого - получаем разрешенную переменную x 3 ;
- Получили разрешенную систему, записываем ответ.
Общее решение совместной системы линейных уравнений - это новая система, равносильная исходной, в которой все разрешенные переменные выражены через свободные.
Когда может понадобиться общее решение? Если приходится делать меньше шагов, чем k (k - это сколько всего уравнений). Однако причин, по которым процесс заканчивается на некотором шаге l < k , может быть две:
- После l -го шага получилась система, которая не содержит уравнения с номером (l + 1). На самом деле это хорошо, т.к. разрешенная система все равно получена - даже на несколько шагов раньше.
- После l -го шага получили уравнение, в котором все коэффициенты при переменных равны нулю, а свободный коэффициент отличен от нуля. Это противоречивое уравнение, а, следовательно, система несовместна.
Важно понимать, что возникновение противоречивого уравнения по методу Гаусса - это достаточное основание несовместности. При этом заметим, что в результате l -го шага не может остаться тривиальных уравнений - все они вычеркиваются прямо в процессе.
Описание шагов:
- Вычитаем первое уравнение, умноженное на 4, из второго. А также прибавляем первое уравнение к третьему - получим разрешенную переменную x 1 ;
- Вычитаем третье уравнение, умноженное на 2, из второго - получим противоречивое уравнение 0 = -5.
Итак, система несовместна, поскольку обнаружено противоречивое уравнение.
Задача. Исследовать совместность и найти общее решение системы:
Описание шагов:
- Вычитаем первое уравнение из второго (предварительно умножив на два) и третьего - получим разрешенную переменную x 1 ;
- Вычитаем второе уравнение из третьего. Поскольку все коэффициенты в этих уравнениях совпадают, третье уравнение превратится в тривиальное. Заодно умножим второе уравнение на (-1);
- Вычитаем из первого уравнения второе - получим разрешенную переменную x 2 . Вся система уравнений теперь тоже разрешенная;
- Поскольку переменные x 3 и x 4 - свободные, переносим их вправо, чтобы выразить разрешенные переменные. Это и есть ответ.
Итак, система совместная и неопределенная, поскольку есть две разрешенных переменных (x 1 и x 2) и две свободных (x 3 и x 4).
В данной статье метод рассматривается как способ решения систем линейных уравнений (СЛАУ). Метод является аналитическим, то есть позволяет написать алгоритм решения в общем виде, а потом уже подставлять туда значения из конкретных примеров. В отличие от матричного метода или формул Крамера, при решении системы линейных уравнений методом Гаусса можно работать и с теми, что имеют решений бесконечно много. Или не имеют его вовсе.
Что значит решить методом Гаусса?
Для начала необходимо нашу систему уравнений записать в Выглядит это следующим образом. Берется система:
Коэффициенты записываются в виде таблицы, а справа отдельным столбиком - свободные члены. Столбец со свободными членами отделяется для удобства Матрица, включающая в себя этот столбец, называется расширенной.
Далее основную матрицу с коэффициентами нужно привести к верхней треугольной форме. Это основной момент решения системы методом Гаусса. Проще говоря, после определенных манипуляций матрица должна выглядеть так, чтобы в ее левой нижней части стояли одни нули:
Тогда, если записать новую матрицу опять как систему уравнений, можно заметить, что в последней строке уже содержится значение одного из корней, которое затем подставляется в уравнение выше, находится еще один корень, и так далее.
Это описание решения методом Гаусса в самых общих чертах. А что получится, если вдруг у системы нет решения? Или их бесконечно много? Чтобы ответить на эти и еще множество вопросов, необходимо рассмотреть отдельно все элементы, использующиеся при решении методом Гаусса.
Матрицы, их свойства
Никакого скрытого смысла в матрице нет. Это просто удобный способ записи данных для последующих операций с ними. Бояться их не надо даже школьникам.
Матрица всегда прямоугольная, потому что так удобнее. Даже в методе Гаусса, где все сводится к построению матрицы треугольного вида, в записи фигурирует прямоугольник, только с нулями на том месте, где нет чисел. Нули можно не записывать, но они подразумеваются.
Матрица имеет размер. Ее "ширина" - число строк (m), "длина" - число столбцов (n). Тогда размер матрицы A (для их обозначения обычно используются заглавные латинские буквы) будет обозначаться как A mxn . Если m=n, то эта матрица квадратная, и m=n - ее порядок. Соответственно, любой элемент матрицы A можно обозначить через номер его строки и столбца: a xy ; x - номер строки, изменяется , y - номер столбца, изменяется .
В - это не основной момент решения. В принципе, все операции можно выполнять непосредственно с самими уравнениями, однако запись получится куда более громоздкая, и в ней будет гораздо легче запутаться.
Определитель
Еще у матрицы есть определитель. Это очень важная характеристика. Выяснять его смысл сейчас не стоит, можно просто показать, как он вычисляется, а потом рассказать, какие свойства матрицы он определяет. Наиболее простой способ нахождения определителя - через диагонали. В матрице проводятся воображаемые диагонали; элементы, находящиеся на каждой из них, перемножаются, а затем полученные произведения складываются: диагонали с наклоном вправо - со знаком "плюс", с наклоном влево - со знаком "минус".
Крайне важно отметить, что вычислять определитель можно только у квадратной матрицы. Для прямоугольной матрицы можно сделать следующее: из количества строк и количества столбцов выбрать наименьшее (пусть это будет k), а затем в матрице произвольным образом отметить k столбцов и k строк. Элементы, находящиеся на пересечении выбранных столбцов и строк, составят новую квадратную матрицу. Если определитель такой матрицы будет числом, отличным от нуля, то назовется базисным минором первоначальной прямоугольной матрицы.
Перед тем как приступить к решению системы уравнений методом Гаусса, не мешает посчитать определитель. Если он окажется нулевым, то сразу можно говорить, что у матрицы количество решений либо бесконечно, либо их вообще нет. В таком печальном случае надо идти дальше и узнавать про ранг матрицы.
Классификация систем
Существует такое понятие, как ранг матрицы. Это максимальный порядок ее определителя, отличного от нуля (если вспомнить про базисный минор, можно сказать, что ранг матрицы - порядок базисного минора).
По тому, как обстоят дела с рангом, СЛАУ можно разделить на:
- Совместные. У совместных систем ранг основной матрицы (состоящей только из коэффициентов) совпадает с рангом расширенной (со столбцом свободных членов). Такие системы имеют решение, но необязательно одно, поэтому дополнительно совместные системы делят на:
- - определенные - имеющие единственное решение. В определенных системах равны ранг матрицы и количество неизвестных (или число столбцов, что есть одно и то же);
- - неопределенные - с бесконечным количеством решений. Ранг матриц у таких систем меньше количества неизвестных.
- Несовместные. У таких систем ранги основной и расширенной матриц не совпадают. Несовместные системы решения не имеют.
Метод Гаусса хорош тем, что позволяет в ходе решения получить либо однозначное доказательство несовместности системы (без вычисления определителей больших матриц), либо решение в общем виде для системы с бесконечным числом решений.
Элементарные преобразования
До того как приступить непосредственно к решению системы, можно сделать ее менее громоздкой и более удобной для вычислений. Это достигается за счет элементарных преобразований - таких, что их выполнение никак не меняет конечный ответ. Следует отметить, что некоторые из приведенных элементарных преобразований действительны только для матриц, исходниками которых послужили именно СЛАУ. Вот список этих преобразований:
- Перестановка строк. Очевидно, что если в записи системы поменять порядок уравнений, то на решение это никак не повлияет. Следовательно, в матрице этой системы также можно менять местами строки, не забывая, конечно, про столбец свободных членов.
- Умножение всех элементов строки на некоторый коэффициент. Очень полезно! С помощью него можно сократить большие числа в матрице или убрать нули. Множество решений, как обычно, не изменится, а выполнять дальнейшие операции станет удобнее. Главное, чтобы коэффициент не был равен нулю.
- Удаление строк с пропорциональными коэффициентами. Это отчасти следует из предыдущего пункта. Если две или более строки в матрице имеют пропорциональные коэффициенты, то при умножении/делении одной из строк на коэффициент пропорциональности получаются две (или, опять же, более) абсолютно одинаковые строки, и можно убрать лишние, оставив только одну.
- Удаление нулевой строки. Если в ходе преобразований где-то получилась строка, в которой все элементы, включая свободный член, - ноль, то такую строку можно назвать нулевой и выкинуть из матрицы.
- Прибавление к элементам одной строки элементов другой (по соответствующим столбцам), умноженных на некоторый коэффициент. Самое неочевидное и самое важное преобразование из всех. На нем стоит остановиться поподробнее.
Прибавление строки, умноженной на коэффициент
Для простоты понимания стоит разобрать этот процесс по шагам. Берутся две строки из матрицы:
a 11 a 12 ... a 1n | b1
a 21 a 22 ... a 2n | b 2
Допустим, необходимо ко второй прибавить первую, умноженную на коэффициент "-2".
a" 21 = a 21 + -2xa 11
a" 22 = a 22 + -2xa 12
a" 2n = a 2n + -2xa 1n
Затем в матрице вторая строка заменяется на новую, а первая остается без изменений.
a 11 a 12 ... a 1n | b1
a" 21 a" 22 ... a" 2n | b 2
Необходимо заметить, что коэффициент умножения можно подобрать таким образом, чтобы в результате сложения двух строк один из элементов новой строки был равен нулю. Следовательно, можно получить уравнение в системе, где на одну неизвестную будет меньше. А если получить два таких уравнения, то операцию можно проделать еще раз и получить уравнение, которое будет содержать уже на две неизвестных меньше. А если каждый раз превращать в ноль один коэффициент у всех строк, что стоят ниже исходной, то можно, как по ступенькам, спуститься до самого низа матрицы и получить уравнение с одной неизвестной. Это и называется решить систему методом Гаусса.
В общем виде
Пусть существует система. Она имеет m уравнений и n корней-неизвестных. Записать ее можно следующим образом:
Из коэффициентов системы составляется основная матрица. В расширенную матрицу добавляется столбец свободных членов и для удобства отделяется чертой.
- первая строка матрицы умножается на коэффициент k = (-a 21 /a 11);
- первая измененная строка и вторая строка матрицы складываются;
- вместо второй строки в матрицу вставляется результат сложения из предыдущего пункта;
- теперь первый коэффициент в новой второй строке равен a 11 x (-a 21 /a 11) + a 21 = -a 21 + a 21 = 0.
Теперь выполняется та же серия преобразований, только участвуют первая и третья строки. Соответственно, в каждом шаге алгоритма элемент a 21 заменяется на a 31 . Потом все повторяется для a 41 , ... a m1 . В итоге получается матрица, где в строках первый элемент равен нулю. Теперь нужно забыть о строке номер один и выполнить тот же алгоритм, начиная со второй строки:
- коэффициент k = (-a 32 /a 22);
- с "текущей" строкой складывается вторая измененная строка;
- результат сложения подставляется в третью, четвертую и так далее строки, а первая и вторая остаются неизменными;
- в строках матрицы уже два первых элемента равны нулю.
Алгоритм надо повторять, пока не появится коэффициент k = (-a m,m-1 /a mm). Это значит, что в последний раз алгоритм выполнялся только для нижнего уравнения. Теперь матрица похожа на треугольник, или имеет ступенчатую форму. В нижней строчке имеется равенство a mn x x n = b m . Коэффициент и свободный член известны, и корень выражается через них: x n = b m /a mn . Полученный корень подставляется в верхнюю строку, чтобы найти x n-1 = (b m-1 - a m-1,n x(b m /a mn))?a m-1,n-1 . И так далее по аналогии: в каждой следующей строке находится новый корень, и, добравшись до "верха" системы, можно отыскать множество решений . Оно будет единственным.
Когда нет решений
Если в одной из матричных строк все элементы, кроме свободного члена, равны нулю, то уравнение, соответствующее этой строке, выглядит как 0 = b. Оно не имеет решения. И поскольку такое уравнение заключено в систему, то и множество решений всей системы - пустое, то есть она является вырожденной.
Когда решений бесконечное количество
Может получиться так, что в приведенной треугольной матрице нет строк с одним элементом-коэффициентом уравнения, и одним - свободным членом. Есть только такие строки, которые при переписывании имели бы вид уравнения с двумя или более переменными. Значит, у системы имеется бесконечное число решений. В таком случае ответ можно дать в виде общего решения. Как это сделать?
Все переменные в матрице делятся на базисные и свободные. Базисные - это те, которые стоят "с краю" строк в ступенчатой матрице. Остальные - свободные. В общем решении базисные переменные записываются через свободные.
Для удобства матрица сначала переписывается обратно в систему уравнений. Потом в последнем из них, там, где точно осталась только одна базисная переменная, она остается с одной стороны, а все остальное переносится в другую. Так делается для каждого уравнения с одной базисной переменной. Потом в остальные уравнения, там, где это возможно, вместо базисной переменной подставляется полученное для нее выражение. Если в результате опять появилось выражение, содержащее только одну базисную переменную, она оттуда опять выражается, и так далее, пока каждая базисная переменная не будет записана в виде выражения со свободными переменными. Это и есть общее решение СЛАУ.
Можно также найти базисное решение системы - дать свободным переменным любые значения, а потом для этого конкретного случая посчитать значения базисных переменных. Частных решений можно привести бесконечно много.
Решение на конкретных примерах
Вот система уравнений.
Для удобства лучше сразу составить ее матрицу
Известно, что при решении методом Гаусса уравнение, соответствующее первой строке, в конце преобразований останется неизменным. Поэтому выгодней будет, если левый верхний элемент матрицы будет наименьшим - тогда первые элементы остальных строк после операций обратятся в ноль. Значит, в составленной матрице выгодно будет на место первой строки поставить вторую.
вторая строка: k = (-a 21 /a 11) = (-3/1) = -3
a" 21 = a 21 + kxa 11 = 3 + (-3)x1 = 0
a" 22 = a 22 + kxa 12 = -1 + (-3)x2 = -7
a" 23 = a 23 + kxa 13 = 1 + (-3)x4 = -11
b" 2 = b 2 + kxb 1 = 12 + (-3)x12 = -24
третья строка: k = (-a 3 1 /a 11) = (-5/1) = -5
a" 3 1 = a 3 1 + kxa 11 = 5 + (-5)x1 = 0
a" 3 2 = a 3 2 + kxa 12 = 1 + (-5)x2 = -9
a" 3 3 = a 33 + kxa 13 = 2 + (-5)x4 = -18
b" 3 = b 3 + kxb 1 = 3 + (-5)x12 = -57
Теперь, чтобы не запутаться, необходимо записать матрицу с промежуточными результатами преобразований.
Очевидно, что такую матрицу можно сделать более удобной для восприятия с помощью некоторых операций. Например, из второй строки можно убрать все "минусы", умножая каждый элемент на "-1".
Стоит также заметить, что в третьей строке все элементы кратны трем. Тогда можно сократить строку на это число, умножая каждый элемент на "-1/3" (минус - заодно, чтобы убрать отрицательные значения).
Выглядит гораздо приятнее. Теперь надо оставить в покое первую строку и поработать со второй и третьей. Задача - прибавить к третьей строке вторую, умноженную на такой коэффициент, чтобы элемент a 32 стал равен нулю.
k = (-a 32 /a 22) = (-3/7) = -3/7 (если в ходе некоторых преобразований в ответе получилось не целое число, рекомендуется для соблюдения точности вычислений оставить его "как есть", в виде обыкновенной дроби, а уже потом, когда получены ответы, решать, стоит ли округлять и переводить в другую форму записи)
a" 32 = a 32 + kxa 22 = 3 + (-3/7)x7 = 3 + (-3) = 0
a" 33 = a 33 + kxa 23 = 6 + (-3/7)x11 = -9/7
b" 3 = b 3 + kxb 2 = 19 + (-3/7)x24 = -61/7
Снова записывается матрица с новыми значениями.
1 | 2 | 4 | 12 |
0 | 7 | 11 | 24 |
0 | 0 | -9/7 | -61/7 |
Как видно, полученная матрица уже имеет ступенчатый вид. Поэтому дальнейшие преобразования системы по методу Гаусса не требуются. Что здесь можно сделать, так это убрать из третьей строки общий коэффициент "-1/7".
Теперь все красиво. Дело за малым - записать матрицу опять в виде системы уравнений и вычислить корни
x + 2y + 4z = 12 (1)
7y + 11z = 24 (2)
Тот алгоритм, по которому сейчас будут находиться корни, называется обратным ходом в методе Гаусса. В уравнении (3) содержится значение z:
y = (24 - 11x(61/9))/7 = -65/9
И первое уравнение позволяет найти x:
x = (12 - 4z - 2y)/1 = 12 - 4x(61/9) - 2x(-65/9) = -6/9 = -2/3
Такую систему мы имеем право назвать совместной, да еще и определенной, то есть имеющей единственное решение. Ответ записывается в следующей форме:
x 1 = -2/3, y = -65/9, z = 61/9.
Пример неопределенной системы
Вариант решения определенной системы методом Гаусса разобран, теперь необходимо рассмотреть случай, если система неопределенная, то есть для нее можно найти бесконечно много решений.
х 1 + х 2 + х 3 + х 4 + х 5 = 7 (1)
3х 1 + 2х 2 + х 3 + х 4 - 3х 5 = -2 (2)
х 2 + 2х 3 + 2х 4 + 6х 5 = 23 (3)
5х 1 + 4х 2 + 3х 3 + 3х 4 - х 5 = 12 (4)
Сам вид системы уже настораживает, потому что количество неизвестных n = 5, а ранг матрицы системы уже точно меньше этого числа, потому что количество строк m = 4, то есть наибольший порядок определителя-квадрата - 4. Значит, решений существует бесконечное множество, и надо искать его общий вид. Метод Гаусса для линейных уравнений позволяет это сделать.
Сначала, как обычно, составляется расширенная матрица.
Вторая строка: коэффициент k = (-a 21 /a 11) = -3. В третьей строке первый элемент - еще до преобразований, поэтому не надо ничего трогать, надо оставить как есть. Четвертая строка: k = (-а 4 1 /а 11) = -5
Умножив элементы первой строки на каждый их коэффициентов по очереди и сложив их с нужными строками, получаем матрицу следующего вида:
Как можно видеть, вторая, третья и четвертая строки состоят из элементов, пропорциональных друг другу. Вторая и четвертая вообще одинаковые, поэтому одну из них можно убрать сразу, а оставшуюся умножить на коэффициент "-1" и получить строку номер 3. И опять из двух одинаковых строк оставить одну.
Получилась такая матрица. Пока еще не записана система, нужно здесь определить базисные переменные - стоящие при коэффициентах a 11 = 1 и a 22 = 1, и свободные - все остальные.
Во втором уравнении есть только одна базисная переменная - x 2 . Значит, ее можно выразить оттуда, записав через переменные x 3 , x 4 , x 5 , являющиеся свободными.
Подставляем полученное выражение в первое уравнение.
Получилось уравнение, в котором единственная базисная переменная - x 1 . Проделаем с ней то же, что и с x 2 .
Все базисные переменные, которых две, выражены через три свободные, теперь можно записывать ответ в общем виде.
Также можно указать одно из частных решений системы. Для таких случаев в качестве значений для свободных переменных выбирают, как правило, нули. Тогда ответом будет:
16, 23, 0, 0, 0.
Пример несовместной системы
Решение несовместных систем уравнений методом Гаусса - самое быстрое. Оно заканчивается сразу же, как только на одном из этапов получается уравнение, не имеющее решения. То есть этап с вычислением корней, достаточно долгий и муторный, отпадает. Рассматривается следующая система:
x + y - z = 0 (1)
2x - y - z = -2 (2)
4x + y - 3z = 5 (3)
Как обычно, составляется матрица:
1 | 1 | -1 | 0 |
2 | -1 | -1 | -2 |
4 | 1 | -3 | 5 |
И приводится к ступенчатому виду:
k 1 = -2k 2 = -4
1 | 1 | -1 | 0 |
0 | -3 | 1 | -2 |
0 | 0 | 0 | 7 |
После первого же преобразования в третьей строке содержится уравнение вида
не имеющее решения. Следовательно, система несовместна, и ответом будет пустое множество.
Преимущества и недостатки метода
Если выбирать, каким методом решать СЛАУ на бумаге ручкой, то метод, который был рассмотрен в этой статье, выглядит наиболее привлекательно. В элементарных преобразованиях гораздо труднее запутаться, чем в том случается, если приходится искать вручную определитель или какую-нибудь хитрую обратную матрицу. Однако, если использовать программы для работы с данными такого типа, например, электронные таблицы, то оказывается, что в таких программах уже заложены алгоритмы вычисления основных параметров матриц - определитель, миноры, обратная и и так далее. А если быть уверенным в том, что машина посчитает эти значения сама и не ошибется, целесообразней использовать уже матричный метод или формул Крамера, потому что их применение начинается и заканчивается вычислением определителей и обратными матрицами.
Применение
Поскольку решение методом Гаусса представляет из себя алгоритм, а матрица - это, фактически, двумерный массив, его можно использовать при программировании. Но поскольку статья позиционирует себя, как руководство "для чайников", следует сказать, что самое простое, куда метод можно запихнуть - это электронные таблицы, например, Excel. Опять же, всякие СЛАУ, занесенные в таблицу в виде матрицы, Excel будет рассматривать как двумерный массив. А для операций с ними существует множество приятных команд: сложение (складывать можно только матрицы одинаковых размеров!), умножение на число, перемножение матриц (также с определенными ограничениями), нахождение обратной и транспонированной матриц и, самое главное, вычисление определителя. Если это трудоемкое занятие заменить одной командой, можно гораздо быстрее определять ранг матрицы и, следовательно, устанавливать ее совместность или несовместность.
Метод Гаусса, называемый также методом последовательного исключения неизвестных, состоит в следующем. При помощи элементарных преобразований систему линейных уравнений приводят к такому виду, чтобы её матрица из коэффициентов оказалась трапециевидной (то же самое, что треугольной или ступенчатой) или близкой к трапециевидной (прямой ход метода Гаусса, далее - просто прямой ход). Пример такой системы и её решения - на рисунке сверху.
В такой системе последнее уравнение содержит только одну переменную и её значение можно однозначно найти. Затем значение этой переменной подставляют в предыдущее уравнение (обратный ход метода Гаусса , далее - просто обратный ход), из которого находят предыдущую переменную, и так далее.
В трапециевидной (треугольной) системе, как видим, третье уравнение уже не содержит переменных y и x , а второе уравнение - переменной x .
После того, как матрица системы приняла трапециевидную форму, уже не представляет труда разобраться в вопросе о совместности системы, определить число решений и найти сами решения.
Преимущества метода:
- при решении систем линейных уравнений с числом уравнений и неизвестных более трёх метод Гаусса не такой громоздкий, как метод Крамера , поскольку при решении методом Гаусса необходимо меньше вычислений;
- методом Гаусса можно решать неопределённые системы линейных уравнений, то есть, имеющие общее решение (и мы разберём их на этом уроке), а, используя метод Крамера, можно лишь констатировать, что система неопределённа;
- можно решать системы линейных уравнений, в которых число неизвестных не равно числу уравнений (также разберём их на этом уроке);
- метод основан на элементарных (школьных) методах - методе подстановки неизвестных и методе сложения уравнений, которых мы коснулись в соответствующей статье.
Чтобы все прониклись простотой, с которой решаются трапециевидные (треугольные, ступенчатые) системы линейных уравнений, приведём решение такой системы с применением обратного хода. Быстрое решение этой системы было показано на картинке в начале урока.
Пример 1. Решить систему линейных уравнений, применяя обратный ход:
Решение. В данной трапециевидной системе переменная z однозначно находится из третьего уравнения. Подставляем её значение во второе уравнение и получаем значение переменой y :
Теперь нам известны значения уже двух переменных - z и y . Подставляем их в первое уравнение и получаем значение переменной x :
Из предыдущих шагов выписываем решение системы уравнений:
Чтобы получить такую трапециевидную систему линейных уравнений, которую мы решили очень просто, требуется применять прямой ход, связанный с элементарными преобразованиями системы линейных уравнений. Это также не очень сложно.
Элементарные преобразования системы линейных уравнений
Повторяя школьный метод алгебраического сложения уравнений системы, мы выяснили, что к одному из уравнений системы можно прибавлять другое уравнение системы, причём каждое из уравнений может быть умножено на некоторые числа. В результате получаем систему линейных уравнений, эквивалентную данной. В ней уже одно уравнение содержало только одну переменную, подставляя значение которой в другие уравнений, мы приходим к решению. Такое сложение - один из видов элементарного преобразования системы. При использовании метода Гаусса можем пользоваться несколькими видами преобразований.
На анимации выше показано, как система уравнений постепенно превращается в трапециевидную. То есть такую, которую вы видели на самой первой анимации и сами убедились в том, что из неё просто найти значения всех неизвестных. О том, как выполнить такое превращение и, конечно, примеры, пойдёт речь далее.
При решении систем линейных уравнений с любым числом уравнений и неизвестных в системе уравнений и в расширенной матрице системы можно :
- переставлять местами строки (это и было упомянуто в самом начале этой статьи);
- если в результате других преобразований появились равные или пропорциональные строки, их можно удалить, кроме одной;
- удалять "нулевые" строки, где все коэффициенты равны нулю;
- любую строку умножать или делить на некоторое число;
- к любой строке прибавлять другую строку, умноженное на некоторое число.
В результате преобразований получаем систему линейных уравнений, эквивалентную данной.
Алгоритм и примеры решения методом Гаусса системы линейных уравнений с квадратной матрицей системы
Рассмотрим сначала решение систем линейных уравений, в которых число неизвестных равно числу уравнений. Матрица такой системы - квадратная, то есть в ней число строк равно числу столбцов.
Пример 2. Решить методом Гаусса систему линейных уравнений
Решая системы линейных уравнений школьными способами, мы почленно умножали одно из уравнений на некоторое число, так, чтобы коэффициенты при первой переменной в двух уравнениях были противоположными числами. При сложении уравнений происходит исключение этой переменной. Аналогично действует и метод Гаусса.
Для упрощения внешнего вида решения составим расширенную матрицу системы :
В этой матрице слева до вертикальной черты расположены коэффициенты при неизвестных, а справа после вертикальной черты - свободные члены.
Для удобства деления коэффициентов при переменных (чтобы получить деление на единицу) переставим местами первую и вторую строки матрицы системы . Получим систему, эквивалентную данной, так как в системе линейных уравнений можно переставлять местами уравнения:
С помощью нового первого уравнения исключим переменную x из второго и всех последующих уравнений . Для этого ко второй строке матрицы прибавим первую строку, умноженную на (в нашем случае на ), к третьей строке – первую строку, умноженную на (в нашем случае на ).
Это возможно, так как
Если бы в нашей системе уравнений было больше трёх, то следовало бы прибавлять и ко всем последующим уравнениям первую строку, умноженную на отношение соответствующих коэффициентов, взятых со знаком минус.
В результате получим матрицу эквивалентную данной системе новой системы уравнений, в которой все уравнения, начиная со второго не содержат переменнную x :
Для упрощения второй строки полученной системы умножим её на и получим вновь матрицу системы уравнений, эквивалентной данной системе:
Теперь, сохраняя первое уравнение полученной системы без изменений, с помощью второго уравнения исключаем переменную y из всех последующих уравнений. Для этого к третьей строке матрицы системы прибавим вторую строку, умноженную на (в нашем случае на ).
Если бы в нашей системе уравнений было больше трёх, то следовало бы прибавлять и ко всем последующим уравнениям вторую строку, умноженную на отношение соответствующих коэффициентов, взятых со знаком минус.
В результате вновь получим матрицу системы, эквивалентной данной системе линейных уравнений:
Мы получили эквивалентную данной трапециевидную систему линейных уравнений:
Если число уравнений и переменных больше, чем в нашем примере, то процесс последовательного исключения переменных продолжается до тех пор, пока матрица системы не станет трапециевидной, как в нашем демо-примере.
Решение найдём "с конца" - обратный ход
. Для этого из последнего уравнения определим z
:
.
Подставив это значение в предшествующее уравнение, найдём y
:
Из первого уравнения найдём x
:
Ответ: решение данной системы уравнений - .
: в этом случае будет выдан тот же ответ, если система имеет однозначное решение. Если же система имеет бесконечное множество решений, то таков будет и ответ, и это уже предмет пятой части этого урока.
Решить систему линейных уравнений методом Гаусса самостоятельно, а затем посмотреть решение
Перед нами вновь пример совместной и определённой системы линейных уравнений, в которой число уравнений равно числу неизвестных. Отличие от нашего демо-примера из алгоритма - здесь уже четыре уравнения и четыре неизвестных.
Пример 4. Решить систему линейных уравнений методом Гаусса:
Теперь нужно с помощью второго уравнения исключить переменную из последующих уравнений. Проведём подготовительные работы. Чтобы было удобнее с отношением коэффициентов, нужно получить единицу в во втором столбце второй строки. Для этого из второй строки вычтем третью, а полученную в результате вторую строку умножим на -1.
Проведём теперь собственно исключение переменной из третьего и четвёртого уравнений. Для этого к третьей строке прибавим вторую, умноженную на , а к четвёртой - вторую, умноженную на .
Теперь с помощью третьего уравнения исключим переменную из четвёртого уравнения. Для этого к четвёртой строке прибавим третью, умноженную на . Получаем расширенную матрицу трапециевидной формы.
Получили систему уравнений, которой эквивалентна заданная система:
Следовательно, полученная и данная системы являются совместными и определёнными. Окончательное решение находим «с конца». Из четвёртого уравнения непосредственно можем выразить значение переменной "икс четвёртое":
Это значение подставляем в третье уравнение системы и получаем
,
,
Наконец, подстановка значений
В первое уравнение даёт
,
откуда находим "икс первое":
Ответ: данная система уравнений имеет единственное решение .
Проверить решение системы можно и на калькуляторе, решающем методом Крамера : в этом случае будет выдан тот же ответ, если система имеет однозначное решение.
Решение методом Гаусса прикладных задач на примере задачи на сплавы
Системы линейных уравнений применяются для моделирования реальных объектов физического мира. Решим одну из таких задач - на сплавы. Аналогичные задачи - задачи на смеси, стоимость или удельный вес отдельных товаров в группе товаров и тому подобные.
Пример 5. Три куска сплава имеют общую массу 150 кг. Первый сплав содержит 60% меди, второй - 30%, третий - 10%. При этом во втором и третьем сплавах вместе взятых меди на 28,4 кг меньше, чем в первом сплаве, а в третьем сплаве меди на 6,2 кг меньше, чем во втором. Найти массу каждого куска сплава.
Решение. Составляем систему линейных уравнений:
Умножаем второе и третье уравнения на 10, получаем эквивалентную систему линейных уравнений:
Составляем расширенную матрицу системы:
Внимание, прямой ход. Путём сложения (в нашем случае - вычитания) одной строки, умноженной на число (применяем два раза) с расширенной матрицей системы происходят следующие преобразования:
Прямой ход завершился. Получили расширенную матрицу трапециевидной формы.
Применяем обратный ход. Находим решение с конца. Видим, что .
Из второго уравнения находим
Из третьего уравнения -
Проверить решение системы можно и на калькуляторе, решающем методом Крамера : в этом случае будет выдан то же ответ, если система имеет однозначное решение.
О простоте метода Гаусса говорит хотя бы тот факт, что немецкому математику Карлу Фридриху Гауссу на его изобретение потребовалось лишь 15 минут. Кроме метода его имени из творчества Гаусса известно изречение "Не следует смешивать то, что нам кажется невероятным и неестественным, с абсолютно невозможным" - своего рода краткая инструкция по совершению открытий.
Во многих прикладных задачах может и не быть третьего ограничения, то есть, третьего уравнения, тогда приходится решать методом Гаусса систему двух уравнений с тремя неизвестными, или же, наоборот - неизвестных меньше, чем уравнений. К решению таких систем уравнений мы сейчас и приступим.
С помощью метода Гаусса можно установить, совместна или несовместна любая система n линейных уравнений с n переменными.
Метод Гаусса и системы линейных уравнений, имеющие бесконечное множество решений
Следующий пример - совместная, но неопределённая система линейных уравнений, то есть имеющая бесконечное множество решений.
После выполнения преобразований в расширенной матрице системы (перестановки строк, умножения и деления строк на некоторое число, прибавлению к одной строке другой) могли появиться строки вида
Если во всех уравнениях имеющих вид
Свободные члены равны нулю, то это означает, что система неопределённа, то есть имеет бесконечное множество решений, а уравнения этого вида – «лишние» и их исключаем из системы.
Пример 6.
Решение. Составим расширенную матрицу системы. Затем с помощью первого уравнения исключим переменную из последующих уравнений. Для этого ко второй, третьей и четвёртой строкам прибавим первую, умноженную соответственно на :
Теперь вторую строку прибавим к третьей и четвёртой.
В результате приходим к системе
Последние два уравнения превратились в уравнения вида . Эти уравнения удовлетворяются при любых значениях неизвестных и их можно отбросить.
Чтобы удовлетворить второму уравнению, мы можем для и выбрать произвольные значения , тогда значение для определится уже однозначно: . Из первого уравнения значение для также находится однозначно: .
Как заданная, так и последняя системы совместны, но неопределённы, и формулы
при произвольных и дают нам все решения заданной системы.
Метод Гаусса и системы линейных уравнений, не имеющие решений
Следующий пример - несовместная система линейных уравнений, то есть не имеющая решений. Ответ на такие задачи так и формулируется: система не имеет решений.
Как уже говорилось в связи с первым примером, после выполнения преобразований в расширенной матрице системы могли появиться строки вида
соответствующие уравнению вида
Если среди них есть хотя бы одно уравнение с отличным от нуля свободным членом (т.е. ), то данная система уравнений является несовместной, то есть не имеет решений и на этом её решение закончено.
Пример 7. Решить методом Гаусса систему линейных уравнений:
Решение. Составляем расширенную матрицу системы. С помощью первого уравнения исключаем из последующих уравнений переменную . Для этого ко второй строке прибавляем первую, умноженную на , к третьей строке - первую, умноженную на , к четвёртой - первую, умноженную на .
Теперь нужно с помощью второго уравнения исключить переменную из последующих уравнений. Чтобы получить целые отношения коэффициентов, поменяем местами вторую и третью строки расширенной матрицы системы.
Для исключения из третьего и четвёртого уравнения к третьей строке прибавим вторую, умноженную на , а к четвёртой - вторую, умноженную на .
Теперь с помощью третьего уравнения исключим переменную из четвёртого уравнения. Для этого к четвёртой строке прибавим третью, умноженную на .
Заданная система эквивалентна, таким образом, следующей:
Полученная система несовместна, так как её последнее уравнение не может быть удовлетворено никакими значениями неизвестных. Следовательно, данная система не имеет решений.