Знаходження оберненої матриці методом Гауса
Нехай дано матрицю
а11 а12 . . . а1n
а21 а22 . . . а2n
A= . . . . . . . . . .
an1 аn2 . . . аnn
Для знаходження її оберненої матриці
x11 x12 . . . x1n
x21 x22 . . . x2n
A-1 = . . . . . . . . . .
xn1 xn2 . . . xnn
Використаємо основні співвідношення
а11 а12 . . . а1n x11 x12 . . . x1n 1 0 . . . 0
а21 а22 . . . а2n x21 x22 . . . x2n 0 1 . . . 0
A= . . . . . . . . . . . . . . . . . . . . = . . . . . .
an1 аn2 . . . аnn xn1 xn2 . . . xnn 0 0 . . . 1
Перемножуючи A та A-1 будемо мати n систем рівняння відносно n2 невідомих xij
a11x11 + a12x21 + . . . + a1nxn1 = 1
a21x11 + a22x21 + . . . + a2nxn1 = 0
. . . . . . . . . . . . . . . . .
an1x11 + an2x21 + . . . + annxn1 = 0
……………………………….
……………………………….
a11x12 + a12x22 + . . . + a1nxn2 = 0
a21x12 + a22x22 + . . . + a2nxn2 = 1
. . . . . . . . . . . . . . . . .
an1x12 + an2x22 + . . . + annxn2 = 0
……………………………….
……………………………….
a11x1n + a12x2n + . . . + a1nxnn = 0
a21x1n + a22x2n + . . . + a2nxnn = 0
. . . . . . . . . . . . . . . . .
an1x1n + an2x2n + . . . + annxnn = 1
Отримані n системи лінійних рівнянь для j = 1,2,…,n , які мають одну і ту ж матрицю A і різні вільні члени. Метод Гауса для обернення матриці потребує n операцій ділення, 3n3-n2/2, операцій множення, 3n3-4n2+n/2 , операцій додавання, умовних арифметичних операцій.
Обчислювальна схема обернення матриці методом Гауса реалізується наступним чином:
а) будують прямокутну матрицю В розміром n*2n, в якій перший n стовпців представляють собою початкову матрицю, а останні n стовпців – одиничну матрицю:
а11 а12 . . . а1n 1 0 . . . 0
а21 а22 . . . а2n 0 1 . . . 0
В=[bij] = . . . . . . . . . . . . . . . . ; (56)
an1 аn2 . . . аnn 0 0 . . . 1
б) якщо в (56) b11 ? 0, то перший рядок матриці (56) ділять на b11, вираховують із другої, третьої і т.д. і, на кінець, n-го рядка отримано перший рядок, помножений на b21, b31, . . . , bnn, в результаті отримують матрицю, в якій перший стовпець складається з нулів за винятком першого елементу, який дорівнює 1, і т.д.
а12 . . . а1n а1,n+1 . . . b1,2n
а22 . . . а2n а2,n+1 . . . b2,2n
В(1) = . . . . . . . . . . . . . . ; (57)
an2 . . . аnn аn,n+1 . . . bn,2n

де bij = bij/b11, j > I;
bij = bij – bi1*b1j/b11, i = 2,3,..,n;
в) якщо в (56) b11 = 0, то шукають в першому стовпці елементи bi1 ? 0 (i = 2,3, …, n); потім переставляють перший рядок із рядком, я кому першим був знайдений елемент bi1 ? 0, таким чином отримують матрицю B = [bij], в якій елемент b11 ? 0 і через це цю матрицю можна обробляти так само, як це робилося в б);
г) Розглядають матрицю (57) і в ній елементи b22, якщо b22 ? 0, то ділять другий рядок одержаної матриці B(1) на b22, вираховують на всіх останніх рядках (крім другого) другий рядок, помножений на відповідний елемент другого стовпця. Отримають матрицю B(1) = [bij], у якого всі елементи першого і другого стовпця, крім діагональних, будуть дорівнювати 0. Діагональні елементи в першому і другому рядках будуть дорівнювати одиниці,
1 0 а13 . . . а1n а1,n+1 . . . b1,2n
0 1 а23 . . . а2n а2,n+1 . . . b2,2n
В(2) = . . . . . . . . . . . . . . . . . ; (58)
0 0 an3 . . . аnn аn,n+1 . . . bn,2n

д) якщо ж b22 = 0, то шукають рядок, в якому b12 ? 0 (i = 3,4, … , n), і переставляють місцями цей рядок з другим рядком матриці (57);
е) через n кроків отримують на місці перших n стовпців матриці B(n) одиничну матрицю. Останні n стовпців будуть оберненою матрицею
A(-1) = [bij] (j = n+1, n+2, … , 2n; i = 1,2, … , n).