Метод Гаусса — Жордана используется для решения систем линейных алгебраических уравнений, нахождения обратной матрицы, нахождения координат вектора в заданном базисе, отыскания ранга матрицы. Метод является модификацией метода Гаусса. Назван в честь Гаусса и Жордана.
Алгоритм[]
- Выбирается первая колонка слева, в которой есть хоть одно отличное от нуля значение.
- Если самое верхнее число в этой колонке есть нуль, то меняется вся первая строка матрицы с другой строкой матрицы, где в этой колонке нет нуля.
- Все элементы первой строки делятся на верхний элемент выбранной колонки.
- Из оставшихся строк вычитается первая строка, умноженная на первый элемент соответствующей строки, с целью получить первым элементом каждой строки (кроме первой) нуль.
- Далее проводим такую же процедуру с матрицей, получающейся из исходной матрицы после вычёркивания первой строки и первого столбца.
- После повторения этой процедуры n-1 раз получаем верхнюю треугольную матрицу
- Вычитаем из предпоследней строки последнюю строку, умноженную на соответствующий коэффициент, с тем, чтобы в предпоследней строке осталась только 1 на главной диагонали.
- Повторяем предыдущий шаг для последующих строк. В итоге получаем единичную матрицу и решение на месте свободного вектора (с ним необходимо проводить все те же преобразования).
Пример
Решим следующую систему уравнений:
x1-3x2+x3=0
5x1+x2-x3=2
Запишем её в виде матрицы 3×4, где последний столбец является свободным членом:
- <img data-rte-meta="%7B%22type%22%3A%22ext%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%3Cmath%3E%5Cn%20%20%5C%5Cbegin%7Bpmatrix%7D%5Cn%20%20%20%201%20%26%201%20%26%201%20%26%20%7C%20%26%200%20%5C%5C%5C%5C%5Cn%20%20%20%204%20%26%202%20%26%201%20%26%20%7C%20%26%201%20%5C%5C%5C%5C%5Cn%20%20%20%209%20%26%203%20%26%201%20%26%20%7C%20%26%203%5Cn%20%20%5C%5Cend%7Bpmatrix%7D%5Cn%3C%5C%2Fmath%3E%22%7D" data-rte-instance="2561-13113418504eda0b5210a27" class="placeholder placeholder-ext" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="ext" />
Проведём следующие действия:
- К строке 2 добавим: -4 * Строку 1.
- К строке 3 добавим: -9 * Строку 1.
Получим:
- <img data-rte-meta="%7B%22type%22%3A%22ext%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%3Cmath%3E%5Cn%20%20%5C%5Cbegin%7Bpmatrix%7D%5Cn%20%20%20%201%20%26%5C%5C%20%201%20%26%5C%5C%20%201%20%26%20%7C%20%26%200%20%5C%5C%5C%5C%5Cn%20%20%20%200%20%26%20-2%20%26%20-3%20%26%20%7C%20%26%201%20%5C%5C%5C%5C%5Cn%20%20%20%200%20%26%20-6%20%26%20-8%20%26%20%7C%20%26%203%5Cn%20%20%5C%5Cend%7Bpmatrix%7D%5Cn%3C%5C%2Fmath%3E%22%7D" data-rte-instance="2561-13113418504eda0b5210a27" class="placeholder placeholder-ext" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="ext" />
- К строке 3 добавим: -3 * Строку 2.
- Строку 2 делим на -2
- <img data-rte-meta="%7B%22type%22%3A%22ext%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%3Cmath%3E%5Cn%20%20%5C%5Cbegin%7Bpmatrix%7D%5Cn%20%20%20%201%20%26%20%201%20%26%20%201%20%26%20%7C%20%26%5C%5C%200%20%5C%5C%5C%5C%5Cn%20%20%20%200%20%26%201%20%26%20%7B3%20%5C%5Cover%202%7D%20%26%20%7C%20%26%20-%7B1%20%5C%5Cover%202%7D%20%5C%5C%5C%5C%5Cn%20%20%20%200%20%26%200%20%26%201%20%26%20%7C%20%26%5C%5C%200%5Cn%20%20%5C%5Cend%7Bpmatrix%7D%5Cn%3C%5C%2Fmath%3E%22%7D" data-rte-instance="2561-13113418504eda0b5210a27" class="placeholder placeholder-ext" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="ext" />
- К строке 1 добавим: -1 * Строку 3.
- К строке 2 добавим: -3/2 * Строку 3.
- <img data-rte-meta="%7B%22type%22%3A%22ext%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%3Cmath%3E%5Cn%20%20%5C%5Cbegin%7Bpmatrix%7D%5Cn%20%20%20%201%20%26%201%20%26%200%20%26%20%7C%20%26%5C%5C%200%20%5C%5C%5C%5C%5Cn%20%20%20%200%20%26%201%20%26%200%20%26%20%7C%20%26%20-%7B1%20%5C%5Cover%202%7D%20%5C%5C%5C%5C%5Cn%20%20%20%200%20%26%200%20%26%201%20%26%20%7C%20%26%5C%5C%200%5Cn%20%20%5C%5Cend%7Bpmatrix%7D%5Cn%3C%5C%2Fmath%3E%22%7D" data-rte-instance="2561-13113418504eda0b5210a27" class="placeholder placeholder-ext" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="ext" />
- К строке 1 добавим: -1 * Строку 2.
- <img data-rte-meta="%7B%22type%22%3A%22ext%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%3Cmath%3E%5Cn%20%20%5C%5Cbegin%7Bpmatrix%7D%5Cn%20%20%20%201%20%26%200%20%26%200%20%26%20%7C%20%26%5C%5C%20%7B1%20%5C%5Cover%202%7D%20%5C%5C%5C%5C%5Cn%20%20%20%200%20%26%201%20%26%200%20%26%20%7C%20%26%20-%7B1%20%5C%5Cover%202%7D%20%5C%5C%5C%5C%5Cn%20%20%20%200%20%26%200%20%26%201%20%26%20%7C%20%26%5C%5C%200%5Cn%20%20%5C%5Cend%7Bpmatrix%7D%5Cn%3C%5C%2Fmath%3E%22%7D" data-rte-instance="2561-13113418504eda0b5210a27" class="placeholder placeholder-ext" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="ext" />
В правом столбце получаем решение:
- <img data-rte-meta="%7B%22type%22%3A%22ext%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%3Cmath%3Ea%20%3D%20%5C%5Cfrac%7B1%7D%7B2%7D%20%5C%5C%3B%20%3B%20%5C%5C%20b%20%3D%20-%5C%5Cfrac%7B1%7D%7B2%7D%20%5C%5C%3B%20%3B%20%5C%5C%20c%20%3D%200%3C%5C%2Fmath%3E%22%7D" data-rte-instance="2561-13113418504eda0b5210a27" class="placeholder placeholder-ext" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="ext" /> .
Ссылки[]
- 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
he:אלימינציית גאוס-ג'ורדן nl:Gauss-Jordaneliminatie