Как решить систему методом Гаусса: пошаговое решение
Дано: система трёх линейных уравнений с тремя неизвестными , , . Найти: , , .
Метод Гаусса работает в два хода: прямым ходом система приводится к ступенчатому (для квадратной невырожденной матрицы - к треугольному) виду, обратным ходом неизвестные находятся снизу вверх. Ответ: , , . Калькулятор сверху прокручивает прямой ход по шагам: на карте видно, как под главной диагональю один за другим появляются нули.
Решение по шагам
Дано. Коэффициенты системы:
| Уравнение | при | при | при | свободный член |
|---|---|---|---|---|
| 1 | 2 | 1 | -1 | 2 |
| 2 | 3 | -1 | 2 | 9 |
| 3 | 1 | 2 | 3 | 3 |
Найти: значения , , .
Шаг 1. Выписываем расширенную матрицу. Сами буквы неизвестных в вычислениях не участвуют, поэтому от системы переходим к таблице чисел: слева коэффициенты, за чертой свободные члены.
Дальше работаем только со строками. Каждая строка - это уравнение, и любое действие над ней означает то же действие над уравнением целиком, вместе со свободным членом.
Шаг 2. Прямой ход, первый столбец. Ведущим элементом берём число на месте , то есть двойку. Чтобы обнулить коэффициенты под ней, из второй и третьей строк вычитаем первую, умноженную на свои множители:
Пересчитываем вторую строку: , затем и свободный член . Третью строку считаем так же: , , . Получаем:
Шаг 3. Прямой ход, второй столбец. Первую строку больше не трогаем: её работа закончена. Новый ведущий элемент - число во второй строке, множитель для третьей строки получается отрицательным:
Вычесть строку, умноженную на , - это то же самое, что прибавить её, умноженную на . Считаем: и . Прямой ход закончен, матрица стала ступенчатой:
Шаг 4. Обратный ход. Возвращаемся от матрицы к уравнениям и идём снизу вверх. Последняя строка содержит одну неизвестную, поэтому она решается сразу, а найденное значение подставляется в строку выше:
Ответ: , , .
Шаг 5. Проверка. Подставляем тройку чисел в исходные уравнения, а не в преобразованные: ошибка прямого хода иначе не всплывёт. Получаем , затем и . Все три равенства выполняются, решение верное.
Почему метод работает: элементарные преобразования
В прямом ходе используются только три действия над строками: перестановка двух строк, умножение строки на число, отличное от нуля, и прибавление к строке другой строки, умноженной на число. Каждое из них обратимо, поэтому новая система имеет ровно то же множество решений, что и исходная. Именно это позволяет менять матрицу как угодно и в конце получить ответ, который годится для первоначальной системы.
Ступенчатый вид ценен тем, что в последней ненулевой строке остаётся одна неизвестная, в предпоследней - две, и так далее. Такую систему разворачивают подстановкой без всякого перебора. По ходу дела бесплатно считается ещё одна величина: произведение ведущих элементов даёт определитель. У нас , и знак минус здесь не от перестановок строк - их не было, - а от самих чисел. Если бы строки менялись местами, определитель менял бы знак при каждой перестановке.
Обратите внимание на служебную деталь: число ненулевых строк ступенчатого вида - это и есть ранг матрицы, а прямой ход метода Гаусса и есть стандартный способ его вычисления. Один и тот же алгоритм отвечает сразу на три вопроса: чему равен ранг, чему равен определитель и каково решение.
Несовместная и неопределённая система
Ступенчатый вид сам сообщает, к какому из трёх случаев относится система. Сравниваются ранг основной матрицы и ранг расширенной - это теорема Кронекера-Капелли, и в калькуляторе сверху оба ранга выведены отдельными числами.
Первый случай: в ступенчатом виде появилась строка, где слева одни нули, а свободный член ненулевой. Переключите калькулятор на пример «Несовместная» - там из системы , , после вычитания удвоенной первой строки получается равенство . Ранг основной матрицы равен 2, расширенной - 3, решений нет.
Второй случай: ранги равны, но меньше числа неизвестных. Пример «Бесконечно много» даёт систему , , , где третье уравнение равно сумме первых двух и после прямого хода превращается в строку из нулей. Ранги равны 2, неизвестных три, значит одна неизвестная свободная. Принимаем и обратным ходом выражаем остальные: , . Это общее решение, из него подстановкой любого числа получается частное.
Третий случай - наш: ранги равны и совпадают с числом неизвестных, решение единственное. Полезно помнить соответствие: единственное решение существует ровно тогда, когда , и в этом же случае работает правило Крамера, которое для системы третьего порядка требует вычислить четыре определителя.
Выбор главного элемента и цена вычислений
Школьный вариант метода берёт ведущим элементом то число, которое стоит на диагонали. Если там оказался ноль, строки просто меняют местами - на решение это не влияет. Но в вычислениях на компьютере важнее другое: делить на маленькое число опасно, потому что множитель получается большим и разрывает точность промежуточных данных. Поэтому в численных методах на каждом шаге поднимают наверх строку с наибольшим по модулю элементом столбца - это частичный выбор главного элемента, второй режим в калькуляторе. Попробуйте переключить его на нашей системе: числа шагов станут другими, ответ останется прежним.
Метод Гаусса дёшев: прямой ход стоит около арифметических операций, обратный - порядка . Для системы из ста уравнений это сотни тысяч действий, тогда как правило Крамера потребовало бы вычислить 101 определитель. Если ту же матрицу нужно решать с несколькими правыми частями, прямой ход не повторяют, а сохраняют его множители - так получается LU-разложение. Для больших разреженных систем прямые методы уступают итерационным, например методу Гаусса-Зейделя, а чувствительность ответа к ошибкам входных данных оценивается через число обусловленности.
Частые ошибки
- Пересчитывают коэффициенты, но забывают про свободный член: строка - это уравнение целиком, столбец за чертой преобразуется наравне с остальными.
- Путают знак множителя. При отрицательном ведущем элементе множитель тоже отрицателен, и вычитание превращается в прибавление, как на шаге 3.
- Меняют местами столбцы, не переобозначив неизвестные. Переставлять строки можно свободно, а перестановка столбцов меняет порядок переменных, и в ответе они разъедутся.
- Увидев ноль на месте ведущего элемента, объявляют систему несовместной. Нулевой ведущий элемент - повод переставить строки, а не остановиться.
- Отбрасывают нулевую строку как «лишнюю». Строка означает, что уравнение было зависимым, и указывает на бесконечное множество решений.
- Округляют промежуточные значения до одного-двух знаков. В нашем примере после округления до ответ поплывёт уже во второй цифре.
FAQ
Чем метод Гаусса отличается от метода Гаусса-Жордана? В методе Гаусса нули делают только под ведущими элементами, а неизвестные находят обратным ходом. Метод Гаусса-Жордана обнуляет столбец и выше ведущего элемента и доводит матрицу до единичной, так что обратный ход не нужен. Платой становится примерно в полтора раза больший объём вычислений.
Можно ли решать методом Гаусса систему, где уравнений больше, чем неизвестных? Да, расширенная матрица не обязана быть квадратной. Прямой ход проходит одинаково, а вывод делается по рангам: лишние уравнения либо превращаются в нулевые строки, либо дают противоречие и показывают, что система несовместна.
Что делать, если появились громоздкие дроби? В ручном счёте удобнее обыкновенные дроби, чем десятичные: они не накапливают ошибку округления. Строку разрешается умножить на общий знаменатель или сократить на общий множитель - это элементарное преобразование, решения оно не меняет.
Как проверить ответ в большой системе? Подставить решение в каждое исходное уравнение и посмотреть на невязку - разность между левой и правой частями. Калькулятор сверху считает максимальную невязку по всем уравнениям: у точного ответа она равна нулю, у приближённого показывает порядок накопленной ошибки.
Коротко
- Выписать расширенную матрицу: коэффициенты слева, свободные члены за чертой.
- Прямой ход: выбрать ведущий элемент, найти множители и обнулить столбец под ведущим элементом; повторять до ступенчатого вида.
- Сравнить ранги. Ранг меньше ранга - решений нет; ранги равны и совпадают с числом неизвестных - решение единственное; равны, но меньше - решений бесконечно много, часть неизвестных объявляется свободными.
- Обратный ход: снизу вверх выразить неизвестные, подставляя уже найденные значения.
- Проверить подстановкой в исходные уравнения. Для системы , , ответ , , , а определитель равен .
Похожие задачи
Как найти норму матрицы: три нормы и пример расчёта
Разбираем, как найти норму матрицы: максимум суммы модулей по строкам, по столбцам и евклидова норма, проверка согласованности с нормой вектора и расчёт числа обусловленности.
Численные методыКак найти разделенные разности: таблица и пример
Разбираем, как найти разделенные разности: рекуррентная формула, таблица разностей по неравноотстоящим узлам, многочлен Ньютона, вычисление значения и проверка ответа.
Численные методыКак отделить корни уравнения: таблица знаков и пример
Отделение корней уравнения x^3 - 3x + 1 = 0: таблица знаков с шагом 0,5 на отрезке от -3 до 3, проверка единственности корня по производной, графический способ и выбор шага.
Численные методыКак решить трансцендентное уравнение: пошаговое решение
Трансцендентное уравнение e^x = x + 2 с точностью 0,001: отделение корня на отрезке от 1 до 2, уточнение половинным делением за 10 шагов, метод Ньютона за 5 шагов и оценка погрешности.
Численные методыКак вычислить конечные разности: таблица и пример
Разбираем, как вычислить конечные разности: таблица разностей по равноотстоящим узлам, первая и вторая интерполяционные формулы Ньютона, оценка степени многочлена и проверка расчёта.
Численные методыКак найти абсолютную погрешность: формула и пример
Разбираем, как найти абсолютную погрешность приближённого числа: формула модуля разности, предельная погрешность, перевод в относительную, верные значащие цифры и погрешность вычислений.