- Метод Гаусса-Жордана
-
Метод Гаусса — Жордана используется для решения квадратных систем линейных алгебраических уравнений, нахождения обратной матрицы, нахождения координат вектора в заданном базисе, отыскания ранга матрицы. Метод является модификацией метода Гаусса. Назван в честь К. Ф. Гаусса и немецкого геодезиста и математика Вильгельма Йордана[1].
Содержание
Алгоритм
- Выбирается первая колонка слева, в которой есть хоть одно отличное от нуля значение.
- Если самое верхнее число в этой колонке есть нуль, то меняется вся первая строка матрицы с другой строкой матрицы, где в этой колонке нет нуля.
- Все элементы первой строки делятся на верхний элемент выбранной колонки.
- Из оставшихся строк вычитается первая строка, умноженная на первый элемент соответствующей строки, с целью получить первым элементом каждой строки (кроме первой) нуль.
- Далее проводим такую же процедуру с матрицей, получающейся из исходной матрицы после вычёркивания первой строки и первого столбца.
- После повторения этой процедуры n − 1 раз получаем верхнюю треугольную матрицу
- Вычитаем из предпоследней строки последнюю строку, умноженную на соответствующий коэффициент, с тем, чтобы в предпоследней строке осталась только 1 на главной диагонали.
- Повторяем предыдущий шаг для последующих строк. В итоге получаем единичную матрицу и решение на месте свободного вектора (с ним необходимо проводить все те же преобразования).
- Чтобы получить обратную матрицу, нужно применить все операции в том же порядке к единичной матрице.
Пример
Решим следующую систему уравнений:
Запишем её в виде матрицы 3×4, где последний столбец является свободным членом:
Проведём следующие действия:
- К строке 2 добавим: −4 × Строку 1.
- К строке 3 добавим: −9 × Строку 1.
Получим:
- К строке 3 добавим: −3 × Строку 2.
- Строку 2 делим на −2
- К строке 1 добавим: −1 × Строку 3.
- К строке 2 добавим: −3/2 × Строку 3.
- К строке 1 добавим: −1 × Строку 2.
В правом столбце получаем решение:
- .
Ссылки
- Lipschutz, Seymour, and Lipson, Mark. "Schaum's Outlines: Linear Algebra". Tata McGraw-hill edition. Delhi 2001. pp. 69-80.
- Algorithm for Gauss-Jordan elimination in Matlab
- Algorithm for Gauss-Jordan elimination in Python
Примечания
- ↑ Транскрипция фамилии как «Жордан» является ошибочной, но она общепринята и встречается в большинстве русскоязычных источников.
Wikimedia Foundation. 2010.