Математика / Матрицы, определители
Прямой ход метода Гаусса
Прямой ход метода Гаусса зануляет коэффициенты под ведущими элементами. В результате система приводится к ступенчатому виду, из которого решение находят обратной подстановкой.
Формула
Каждый шаг выбирает ведущую строку и зануляет элементы ниже ведущего элемента, постепенно создавая ступенчатую матрицу.
Прямой ход готовит систему к обратной подстановке.
Обозначения
- $R_i$
- строка, в которой зануляется элемент, строка
- $R_k$
- ведущая строка на шаге k, строка
- $a_{ik}$
- элемент под ведущим элементом, который нужно занулить, число
- $a_{kk}$
- ведущий элемент шага, число
Условия применения
- Ведущий элемент a_kk должен быть ненулевым; если он равен нулю, нужно поменять строки или перейти к другому столбцу.
- Операция применяется ко всей строке расширенной матрицы, включая правую часть.
- Прямой ход выполняют сверху вниз, чтобы уже полученные нули под предыдущими ведущими элементами не нарушались.
Ограничения
- Если ведущий элемент очень мал по модулю, численное решение может быть неустойчивым; на практике используют выбор главного элемента.
- Если в столбце нет ненулевого элемента ниже текущей позиции, этот столбец не может дать ведущий элемент и его пропускают.
- Прямой ход сам не всегда дает готовый ответ: после него часто нужна обратная подстановка или анализ свободных переменных.
Подробное объяснение
Прямой ход метода Гаусса строит ступенчатую структуру. На первом шаге выбирают ведущий элемент в первом рабочем столбце. Затем из всех строк ниже вычитают подходящие кратные ведущей строки, чтобы под ведущим элементом появились нули. После этого переходят к следующей строке и следующему столбцу. Процесс повторяется, пока не закончатся строки или столбцы.
Формула R_i <- R_i - (a_ik/a_kk)R_k показывает, какой именно множитель нужен. Если в строке i под ведущим элементом стоит a_ik, а сам ведущий элемент равен a_kk, то после вычитания получаем a_ik - (a_ik/a_kk)a_kk = 0. Это и есть алгебраическое объяснение зануления. Важно, что вычитается не один элемент, а вся ведущая строка, умноженная на тот же множитель. Поэтому меняются и остальные коэффициенты строки, и правая часть.
Прямой ход не требует, чтобы матрица была квадратной. Если неизвестных больше, чем уравнений, метод все равно приводит матрицу к ступенчатому виду и помогает увидеть свободные переменные. Если уравнений больше, чем неизвестных, прямой ход помогает обнаружить противоречивые строки. Поэтому метод Гаусса является не только способом найти одно решение, но и инструментом исследования системы.
В численных расчетах важен выбор ведущего элемента. Если делить на очень маленькое число, ошибки округления могут резко вырасти. Поэтому в компьютерных алгоритмах часто меняют строки местами так, чтобы ведущий элемент был достаточно большим по модулю. В ручных учебных задачах обычно выбирают удобный ненулевой элемент.
Как пользоваться формулой
- Составьте расширенную матрицу системы.
- Выберите первый ненулевой ведущий элемент в верхней рабочей строке.
- Занулите все элементы ниже ведущего с помощью операций R_i <- R_i - cR_k.
- Перейдите к следующей строке и следующему столбцу.
- Повторяйте шаги до ступенчатого вида, затем переходите к обратной подстановке или анализу ранга.
Историческая справка
Исключение неизвестных как метод вычисления имеет длинную историю и встречается в древних табличных приемах решения систем. Имя Гаусса закрепилось за европейской традицией метода благодаря его работам и практическим вычислениям в астрономии, геодезии и обработке наблюдений. Гаусс активно использовал систематическое исключение при решении нормальных уравнений, возникающих в методе наименьших квадратов. В XIX-XX веках этот прием был оформлен в учебный алгоритм, который сегодня называют методом Гаусса. Современная запись через строки расширенной матрицы появилась уже в рамках развитой матричной алгебры, но вычислительная идея прямого исключения старше этой записи.
Историческая линия формулы
Корректнее говорить, что имя Гаусса связано с систематическим использованием исключения в европейской вычислительной традиции, а не с единоличным открытием всех идей метода. Современный прямой ход является учебной формализацией более широкой истории решения линейных систем.
Пример
Решим систему x + 2y = 5, 3x + 7y = 16. Расширенная матрица равна [[1, 2 | 5], [3, 7 | 16]]. Ведущий элемент первого шага равен 1. Чтобы занулить коэффициент 3 под ним, выполняем R2 <- R2 - 3R1. Получаем вторую строку [3, 7 | 16] - [3, 6 | 15] = [0, 1 | 1]. Матрица стала [[1, 2 | 5], [0, 1 | 1]]. Это ступенчатый вид. Теперь видно, что y = 1. Подставляем в первое уравнение: x + 2 = 5, значит x = 3. Прямой ход сделал систему треугольной: второе уравнение содержит только y, а первое позволяет восстановить x.
Частая ошибка
Самая частая ошибка - делить на нулевой ведущий элемент вместо перестановки строк. Вторая ошибка - использовать формулу R_i <- R_i - (a_ik/a_kk)R_k, но вычислить множитель с обратным отношением a_kk/a_ik. Третья ошибка - занулить элемент в матрице коэффициентов, но забыть изменить правую часть. Еще одна ошибка - после перестановки строк продолжать ссылаться на старые номера строк и тем самым применять преобразования не к тем уравнениям.
Практика
Задачи с решением
Один шаг прямого хода
Условие. Для матрицы [[2, 1 | 3], [8, 5 | 13]] занулите первый элемент второй строки.
Решение. Ведущий элемент a_11 = 2, элемент под ним a_21 = 8. Множитель равен 8/2 = 4. Выполняем R2 <- R2 - 4R1: [8, 5 | 13] - [8, 4 | 12] = [0, 1 | 1].
Ответ. Новая вторая строка [0, 1 | 1]
Нулевой ведущий элемент
Условие. Что сделать на первом шаге для матрицы [[0, 2 | 4], [3, 1 | 5]]?
Решение. Первый элемент верхней строки равен нулю, делить на него нельзя. Нужно поменять строки местами, чтобы строка с ненулевым первым коэффициентом стала ведущей. После перестановки можно начинать исключение.
Ответ. Поменять строки местами
Дополнительные источники
- MIT OpenCourseWare 18.06SC Linear Algebra, elimination with matrices
- OpenStax Precalculus 2e, 9.6 Solving Systems with Gaussian Elimination
- Althoen and McLaughlin, Gauss-Jordan Reduction: A Brief History, American Mathematical Monthly, 1987
Связанные формулы
Математика
Элементарные преобразования строк
Элементарные преобразования строк - это три допустимые операции, которые заменяют систему на эквивалентную: перестановка строк, умножение строки на ненулевое число и прибавление кратной строки.
Математика
Обратная подстановка в методе Гаусса
Обратная подстановка находит неизвестные после прямого хода метода Гаусса. Она идет снизу вверх по ступенчатой системе: сначала последняя ведущая переменная, затем предыдущие.
Математика
Ступенчатый вид матрицы
Ступенчатый вид матрицы - это форма, где ведущие элементы ненулевых строк смещаются вправо при движении вниз, а под каждым ведущим элементом стоят нули.