Метод Гаусса — Йордана використовується для розв'язання систем лінійних алгебраїчних рівнянь, знаходження оберненої матриці, знаходження координат вектора у заданому базисі, відшукання рангу матриці. Метод є модифікацією методу Гаусса. Названий на честь Карла Фрідріха Гаусса та німецького математика та геодезиста Вільгельма Йордана.
Алгоритм Обирається перша зліва колонка, що містить хоч одне ненульове значення. Якщо верхнє число у цій колонці — нуль, то обмінюється увесь перший рядок матриці з іншим рядком матриці, де у цій колонці нема нуля. Усі елементи першого рядка діляться на верхній елемент обраної колонки. Від рядків, що залишились, віднімається перший рядок, помножений на перший елемент відповідного рядка, з метою отримання нуля в першому елементі кожного рядка (крім першого). Далі, повторюємо ці операції із матрицею, отриманою з початкової матриці після викреслювання першого рядка та першого стовпчика. Після повторення операцій n − 1 разів отримаємо верхню трикутну матрицю. Віднімаємо від передостаннього рядка останній рядок, помножений на відповідний коефіцієнт, щоб у передостанньому рядку залишилась лише 1 на головній діагоналі. Повторюємо попередній крок для наступних рядків. У результаті отримуємо одиничну матрицю і рішення на місці вільного вектора (над ним необхідно виконувати ті самі перетворення).
Розгорнутий алгоритм для знаходження оберненої матриці Нехай дано:
Прямий хід (алгоритм утворення нулів під головною діагоналлю) Поділимо перший рядок матриці А на отримаємо: , j — стовпець матриці А.
Повторюємо дії для матриці I, за формулою: , s — стовпець матриці I.
Отримаємо:
Будемо утворювати 0 у першому стовпці: . Повторюємо дії для матриці І, за формулами : Отримаємо:
Продовжуємо виконувати аналогічні операції використовуючи формули : за умови, що
Повторюємо дії для матриці І, за формулами : за умови, що .
Отримаємо:
Зворотний хід (алгоритм утворення нулів над головною діагоналлю) Використаємо формулу: , при умові, що .
Повторюємо дії для матриці І, за формулою , за умови, що .
Остаточно отримуємо:
Приклад
Розв'яжемо систему рівнянь:
Запишемо її у вигляді матриці 3×4, де останній стовпчик є вільним членом:
Виконаємо такі дії: До рядка 2 додамо: -4 * рядок 1. До рядка 3 додамо: -9 * рядок 1.
Отримаємо:
До рядка 3 додамо: -3 * рядок 2. Рядок 2 ділимо на -2
До рядка 1 додамо: -1 * рядок 3. До рядка 2 додамо: -3/2 * рядок 3.
До рядка 1 додамо: -1 * рядок 2.
У правому стовпчику отримаємо рішення: .
Джерела
Рокіцький І. О. Застосування лінійної алгебри // І. О. Рокіцький, О. Б. Панасенко. — Вінниця: Вид. Главацька Р. В., 2012. — С. 144
Посилання 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