Odwracanie macierzy – metody, wzory i przykłady krok po kroku

odwracanie macierzy

Odwracanie macierzy – metody, wzory i przykłady krok po kroku

Odwracanie macierzy polega na wyznaczeniu takiej macierzy (A^{-1}), która po pomnożeniu przez macierz (A) daje macierz jednostkową:

[
AA^{-1}=A^{-1}A=I.
]

Nie każdą macierz można odwrócić. Klasyczna macierz odwrotna istnieje wyłącznie dla macierzy kwadratowej i nieosobliwej, czyli takiej, której wyznacznik jest różny od zera. Równoważnie macierz musi mieć pełny rząd oraz element główny w każdym wierszu i każdej kolumnie.

Dla macierzy (2\times2) najwygodniejszy jest gotowy wzór. Większe macierze można odwracać metodą Gaussa-Jordana albo z wykorzystaniem macierzy dołączonej. W obliczeniach numerycznych stosuje się natomiast algorytmy oparte na rozkładach macierzy. MIT OpenCourseWare przedstawia eliminację Gaussa-Jordana jako podstawowy sposób wyznaczania odwrotności przez jednoczesne przekształcanie macierzy wyjściowej i jednostkowej.

Na czym polega odwracanie macierzy?

Odwracanie macierzy jest odpowiednikiem wyznaczania odwrotności liczby, ale z istotnymi różnicami wynikającymi z zasad mnożenia macierzy.

Dla liczby (a\neq0) jej odwrotnością jest:

[
a^{-1}=\frac{1}{a},
]

ponieważ:

[
a\cdot a^{-1}=1.
]

Dla macierzy rolę liczby 1 pełni macierz jednostkowa:

[
I_2=
\begin{bmatrix}
1&0\
0&1
\end{bmatrix}
]

lub, dla macierzy stopnia trzeciego:

[
I_3=
\begin{bmatrix}
1&0&0\
0&1&0\
0&0&1
\end{bmatrix}.
]

Macierz (A^{-1}) musi spełniać dwa warunki:

[
AA^{-1}=I
]

oraz:

[
A^{-1}A=I.
]

Warunki zapisuje się z obu stron, ponieważ mnożenie macierzy na ogół nie jest przemienne. Zwykle:

[
AB\neq BA.
]

Macierz odwrotna, jeżeli istnieje, jest jednoznaczna. Nie można więc otrzymać dwóch różnych prawidłowych odwrotności tej samej macierzy.

Kiedy można odwrócić macierz?

Macierz (A) jest odwracalna wtedy i tylko wtedy, gdy jest kwadratowa i spełnia jeden z równoważnych warunków:

  • (\det(A)\neq0);
  • ma pełny rząd;
  • jej kolumny są liniowo niezależne;
  • jej wiersze są liniowo niezależne;
  • układ (Ax=0) ma wyłącznie rozwiązanie zerowe;
  • dla każdego wektora (b) układ (Ax=b) ma dokładnie jedno rozwiązanie;
  • podczas eliminacji Gaussa powstaje element główny w każdej kolumnie;
  • postać schodkowa zredukowana macierzy jest macierzą jednostkową.

Materiały MIT wskazują, że macierz kwadratowa posiadająca pełny zestaw pivotów ma odwrotność dwustronną. Z kolei otwarty podręcznik AGH przedstawia metodę Gaussa-Jordana jako sposób wyznaczania odwrotności właśnie dla macierzy spełniającej warunek odwracalności.

Dlaczego macierz musi być kwadratowa?

Macierz kwadratowa ma tyle samo wierszy co kolumn. Klasyczna odwrotność musi dawać macierz jednostkową po pomnożeniu z lewej i z prawej strony.

Jeżeli macierz (A) ma wymiary (m\times n), a macierz (B) ma wymiary (n\times m), to:

[
AB
]

ma wymiar (m\times m), natomiast:

[
BA
]

ma wymiar (n\times n).

Gdy (m\neq n), oba iloczyny nie mogą być tą samą macierzą jednostkową. Macierze prostokątne mogą w określonych sytuacjach posiadać odwrotność lewostronną, prawostronną albo pseudoodwrotność, ale nie mają klasycznej odwrotności dwustronnej.

Dlaczego wyznacznik nie może być równy zeru?

Jeżeli:

[
\det(A)=0,
]

macierz jest osobliwa. Jej wiersze lub kolumny są liniowo zależne, a opisane przez nią przekształcenie traci część informacji.

Można to wyobrazić sobie jako przekształcenie całej płaszczyzny w jedną prostą. Po takim „spłaszczeniu” wiele różnych punktów daje ten sam wynik. Nie ma więc możliwości jednoznacznego odtworzenia punktu początkowego.

Odwracanie macierzy 2×2 za pomocą wzoru

Dla macierzy:

[
A=
\begin{bmatrix}
a&b\
c&d
\end{bmatrix}
]

wyznacznik wynosi:

[
\det(A)=ad-bc.
]

Jeżeli:

[
ad-bc\neq0,
]

macierz odwrotna ma postać:

[
A^{-1}=
\frac{1}{ad-bc}
\begin{bmatrix}
d&-b\
-c&a
\end{bmatrix}.
]

Procedurę można zapamiętać w trzech krokach:

  1. oblicz wyznacznik (ad-bc);
  2. zamień miejscami elementy (a) i (d);
  3. zmień znaki elementów (b) i (c), a następnie podziel całą macierz przez wyznacznik.

Przykład krok po kroku

Wyznaczmy odwrotność macierzy:

[
A=
\begin{bmatrix}
2&1\
5&3
\end{bmatrix}.
]

Najpierw obliczamy wyznacznik:

[
\det(A)=2\cdot3-1\cdot5=6-5=1.
]

Wyznacznik jest różny od zera, dlatego macierz można odwrócić.

Zamieniamy miejscami elementy na głównej przekątnej:

[
2\leftrightarrow3,
]

a następnie zmieniamy znaki pozostałych elementów:

[
1\rightarrow-1,
]

[
5\rightarrow-5.
]

Otrzymujemy:

[
A^{-1}=
\frac{1}{1}
\begin{bmatrix}
3&-1\
-5&2
\end{bmatrix}.
]

Zatem:

[
A^{-1}=
\begin{bmatrix}
3&-1\
-5&2
\end{bmatrix}.
]

Sprawdzenie wyniku

Mnożymy obie macierze:

[
AA^{-1}=
\begin{bmatrix}
2&1\
5&3
\end{bmatrix}
\begin{bmatrix}
3&-1\
-5&2
\end{bmatrix}.
]

Po obliczeniu kolejnych elementów:

[
AA^{-1}=
\begin{bmatrix}
2\cdot3+1\cdot(-5)&2\cdot(-1)+1\cdot2\
5\cdot3+3\cdot(-5)&5\cdot(-1)+3\cdot2
\end{bmatrix}
]

[

\begin{bmatrix}
1&0\
0&1
\end{bmatrix}.
]

Otrzymaliśmy macierz jednostkową, więc odwrotność jest prawidłowa.

Przykład macierzy 2×2, której nie można odwrócić

Rozważmy:

[
B=
\begin{bmatrix}
2&4\
1&2
\end{bmatrix}.
]

Wyznacznik wynosi:

[
\det(B)=2\cdot2-4\cdot1=4-4=0.
]

Macierz odwrotna nie istnieje.

Widać również, że pierwszy wiersz jest dwukrotnością drugiego. Jeden z wierszy nie wnosi więc niezależnej informacji.

Próba użycia wzoru prowadziłaby do dzielenia przez zero:

[
B^{-1}=
\frac{1}{0}
\begin{bmatrix}
2&-4\
-1&2
\end{bmatrix}.
]

Nie jest to jedynie trudność rachunkowa. Macierz rzeczywiście jest nieodwracalna.

Odwracanie macierzy metodą Gaussa-Jordana

Metoda Gaussa-Jordana jest uniwersalnym sposobem odwracania macierzy kwadratowych. Można stosować ją zarówno do macierzy (2\times2), jak i do macierzy wyższych stopni.

Tworzymy macierz rozszerzoną:

[
[A\mid I].
]

Po lewej stronie umieszczamy macierz, którą chcemy odwrócić, a po prawej macierz jednostkową tego samego stopnia.

Następnie wykonujemy elementarne operacje na wierszach, dążąc do postaci:

[
[A\mid I]\longrightarrow[I\mid A^{-1}].
]

Gdy po lewej stronie powstanie macierz jednostkowa, po prawej znajdzie się macierz odwrotna. Jeżeli lewej strony nie można sprowadzić do macierzy jednostkowej, odwrotność nie istnieje. Taki schemat opisują zarówno materiały MIT, jak i podręcznik Open AGH.

Dozwolone operacje na wierszach

W metodzie Gaussa-Jordana można:

  • zamieniać miejscami dwa wiersze;
  • mnożyć cały wiersz przez liczbę różną od zera;
  • dodawać do jednego wiersza wielokrotność innego wiersza.

Każdą operację trzeba wykonać na całym wierszu macierzy rozszerzonej. Nie wolno przekształcać wyłącznie lewej części, pozostawiając prawą bez zmian.

Przykład odwracania macierzy 3×3

Niech:

[
A=
\begin{bmatrix}
1&2&0\
0&1&3\
0&0&1
\end{bmatrix}.
]

Tworzymy macierz rozszerzoną:

[
\left[
\begin{array}{ccc|ccc}
1&2&0&1&0&0\
0&1&3&0&1&0\
0&0&1&0&0&1
\end{array}
\right].
]

Najpierw usuwamy liczbę 3 znajdującą się nad trzecim elementem głównym:

[
R_2\leftarrow R_2-3R_3.
]

Otrzymujemy:

[
\left[
\begin{array}{ccc|ccc}
1&2&0&1&0&0\
0&1&0&0&1&-3\
0&0&1&0&0&1
\end{array}
\right].
]

Następnie usuwamy liczbę 2 w pierwszym wierszu:

[
R_1\leftarrow R_1-2R_2.
]

Dostajemy:

[
\left[
\begin{array}{ccc|ccc}
1&0&0&1&-2&6\
0&1&0&0&1&-3\
0&0&1&0&0&1
\end{array}
\right].
]

Lewa część jest macierzą jednostkową, dlatego:

[
A^{-1}=
\begin{bmatrix}
1&-2&6\
0&1&-3\
0&0&1
\end{bmatrix}.
]

Jak dobierać operacje w metodzie Gaussa-Jordana?

Najważniejszym celem jest utworzenie jedynek na głównej przekątnej i zer we wszystkich pozostałych miejscach.

Praktyczny schemat wygląda następująco:

  1. znajdź niezerowy element, który może zostać pivotem;
  2. w razie potrzeby zamień wiersze;
  3. podziel wiersz tak, aby pivot był równy 1;
  4. wyzeruj wszystkie pozostałe elementy w tej kolumnie;
  5. przejdź do kolejnej kolumny;
  6. powtarzaj, aż po lewej stronie powstanie macierz jednostkowa.

Warto wybierać operacje ograniczające powstawanie ułamków. Jeżeli w danej kolumnie występuje element równy 1 albo (-1), często opłaca się przenieść go na miejsce pivota.

Nie należy jednak za wszelką cenę unikać ułamków. Są one naturalną częścią obliczeń i nie oznaczają, że wybrano błędną metodę.

Różnica między eliminacją Gaussa a Gaussa-Jordana

Eliminacja Gaussa sprowadza macierz do postaci schodkowej. W przypadku układu równań po tym etapie wykonuje się podstawianie wsteczne.

Metoda Gaussa-Jordana prowadzi dalej, aż do zredukowanej postaci schodkowej. Elementy nad i pod każdym pivotem są zerowe, a sam pivot jest równy 1.

Przy odwracaniu macierzy potrzebujemy postaci:

[
[I\mid A^{-1}],
]

dlatego wykorzystuje się pełną redukcję Gaussa-Jordana, a nie tylko klasyczną eliminację do macierzy trójkątnej.

MetodaWynik po lewej stronieTypowe zastosowanie
Eliminacja GaussaPostać schodkowa lub trójkątnaRozwiązywanie układów równań
Gauss-JordanZredukowana postać schodkowaOdwracanie macierzy i pełna redukcja układu

Odwracanie macierzy za pomocą macierzy dołączonej

Drugą ogólną metodą jest wykorzystanie wzoru:

[
A^{-1}=
\frac{1}{\det(A)}
\operatorname{adj}(A),
]

gdzie (\operatorname{adj}(A)) oznacza macierz dołączoną.

Metoda wymaga:

  1. obliczenia wyznacznika;
  2. wyznaczenia minorów wszystkich elementów;
  3. utworzenia dopełnień algebraicznych;
  4. zbudowania macierzy dopełnień;
  5. przetransponowania jej;
  6. podzielenia wyniku przez wyznacznik.

Dopełnienie algebraiczne elementu (a_{ij}) określa wzór:

[
C_{ij}=(-1)^{i+j}M_{ij},
]

gdzie (M_{ij}) jest minorem uzyskanym po skreśleniu (i)-tego wiersza i (j)-tej kolumny.

Znaki dopełnień układają się następująco:

[
\begin{bmatrix}
+&-&+\
-&+&-\
+&-&+
\end{bmatrix}.
]

Macierz dołączona jest transpozycją macierzy dopełnień:

[
\operatorname{adj}(A)=C^T.
]

Przykład macierzy 3×3

Niech:

[
A=
\begin{bmatrix}
1&2&3\
0&1&4\
5&6&0
\end{bmatrix}.
]

Jej wyznacznik wynosi:

[
\det(A)=1.
]

Po obliczeniu dopełnień algebraicznych otrzymujemy macierz:

[
C=
\begin{bmatrix}
-24&20&-5\
18&-15&4\
5&-4&1
\end{bmatrix}.
]

Transponujemy ją:

[
\operatorname{adj}(A)=
\begin{bmatrix}
-24&18&5\
20&-15&-4\
-5&4&1
\end{bmatrix}.
]

Ponieważ wyznacznik jest równy 1:

[
A^{-1}=
\begin{bmatrix}
-24&18&5\
20&-15&-4\
-5&4&1
\end{bmatrix}.
]

Metoda dołączona jest wygodna w zadaniach teoretycznych i przy niewielkich macierzach zawierających proste liczby. Dla większych macierzy liczba minorów i wyznaczników szybko rośnie, dlatego rachunki stają się długie.

Gauss-Jordan czy macierz dołączona?

Wybór zależy od wielkości macierzy, rodzaju elementów i celu zadania.

SytuacjaNajpraktyczniejsza metoda
Macierz (2\times2)Bezpośredni wzór
Macierz (3\times3) z prostymi elementamiGauss-Jordan lub macierz dołączona
Macierz zawierająca wiele zerMetoda dołączona może być krótka
Macierz większa niż (3\times3)Gauss-Jordan
Zadanie wymaga dopełnień algebraicznychMacierz dołączona
Potrzebne jest jednoczesne sprawdzenie odwracalnościGauss-Jordan
Obliczenia numeryczne w programieAlgorytm biblioteki numerycznej

Nie ma potrzeby obliczania macierzy dołączonej, jeśli już po krótkiej redukcji Gaussa okazuje się, że macierz nie ma pełnego rzędu.

Odwracanie macierzy szczególnych

Niektóre macierze mają budowę pozwalającą znacznie skrócić obliczenia.

Macierz diagonalna

Dla macierzy:

[
D=
\begin{bmatrix}
d_1&0&0\
0&d_2&0\
0&0&d_3
\end{bmatrix}
]

odwrotność otrzymujemy, odwracając niezerowe elementy na przekątnej:

[
D^{-1}=
\begin{bmatrix}
\frac{1}{d_1}&0&0\
0&\frac{1}{d_2}&0\
0&0&\frac{1}{d_3}
\end{bmatrix}.
]

Warunkiem jest:

[
d_1d_2d_3\neq0.
]

Jeżeli którykolwiek element diagonalny wynosi zero, macierz nie ma odwrotności.

Macierz skalarna

Jeżeli:

[
A=cI,
]

gdzie (c\neq0), to:

[
A^{-1}=\frac{1}{c}I.
]

Macierz ortogonalna

Dla macierzy ortogonalnej zachodzi:

[
A^TA=I.
]

Dlatego:

[
A^{-1}=A^T.
]

W takim przypadku odwracanie sprowadza się do transpozycji, czyli zamiany wierszy na kolumny.

Macierz trójkątna

Odwrotność odwracalnej macierzy trójkątnej również jest macierzą trójkątną tego samego rodzaju.

Macierz trójkątna jest odwracalna wtedy, gdy wszystkie elementy na głównej przekątnej są różne od zera, ponieważ jej wyznacznik jest ich iloczynem.

Macierz permutacji

Macierz permutacji jest ortogonalna, dlatego:

[
P^{-1}=P^T.
]

Jeżeli dana permutacja jest swoim własnym odwróceniem, może dodatkowo zachodzić:

[
P^{-1}=P.
]

Najważniejsze własności odwrotności

Jeżeli występujące macierze są odwracalne, obowiązują następujące zależności.

Odwrotność odwrotności

[
(A^{-1})^{-1}=A.
]

Odwrotność iloczynu

[
(AB)^{-1}=B^{-1}A^{-1}.
]

Kolejność czynników musi zostać odwrócona.

Można to sprawdzić:

[
(AB)(B^{-1}A^{-1})
=A(BB^{-1})A^{-1}
=AIA^{-1}
=I.
]

Odwrotność transpozycji

[
(A^T)^{-1}=(A^{-1})^T.
]

Odwrotność potęgi

Dla dodatniej liczby całkowitej (k):

[
(A^k)^{-1}=(A^{-1})^k.
]

Odwrotność macierzy pomnożonej przez skalar

Jeżeli (c\neq0), to:

[
(cA)^{-1}=\frac{1}{c}A^{-1}.
]

Wyznacznik odwrotności

[
\det(A^{-1})=\frac{1}{\det(A)}.
]

Wynika to z równości:

[
\det(AA^{-1})=\det(I)=1.
]

Jak sprawdzić wynik odwracania macierzy?

Najpewniejszym sposobem jest wykonanie mnożenia:

[
AA^{-1}.
]

Wynikiem musi być macierz jednostkowa.

Warto również sprawdzić iloczyn w drugiej kolejności:

[
A^{-1}A.
]

Przy ręcznych obliczeniach wystarczy często sprawdzić jeden iloczyn, ale przy podejrzeniu pomyłki warto policzyć oba.

Dodatkowe kontrole obejmują:

  • porównanie wymiarów macierzy;
  • sprawdzenie znaków;
  • obliczenie (\det(A^{-1}));
  • sprawdzenie szczególnej struktury macierzy;
  • ocenę, czy elementy nie stały się nienaturalnie duże z powodu wyznacznika bliskiego zeru.

Jeżeli wynik został obliczony komputerowo, elementy teoretycznie równe zeru mogą mieć bardzo małe wartości, na przykład (10^{-15}). Wynika to z zaokrągleń w arytmetyce zmiennoprzecinkowej, a niekoniecznie z błędu algorytmu. Dokumentacja NumPy ostrzega również, że dla macierzy źle uwarunkowanych otrzymana odwrotność może być niedokładna, nawet gdy program nie zgłasza błędu.

Zastosowanie odwracania macierzy w układach równań

Układ równań liniowych można zapisać jako:

[
Ax=b.
]

Jeżeli macierz (A) jest odwracalna, mnożymy obie strony z lewej strony przez (A^{-1}):

[
A^{-1}Ax=A^{-1}b.
]

Ponieważ:

[
A^{-1}A=I,
]

otrzymujemy:

[
x=A^{-1}b.
]

Przykład rozwiązania układu

Rozważmy:

[
\begin{cases}
2x+y=7,\
5x+3y=18.
\end{cases}
]

Zapis macierzowy:

[
\begin{bmatrix}
2&1\
5&3
\end{bmatrix}
\begin{bmatrix}
x\
y
\end{bmatrix}

\begin{bmatrix}
7\
18
\end{bmatrix}.
]

Wiemy, że:

[
A^{-1}=
\begin{bmatrix}
3&-1\
-5&2
\end{bmatrix}.
]

Zatem:

[
\begin{bmatrix}
x\
y
\end{bmatrix}

\begin{bmatrix}
3&-1\
-5&2
\end{bmatrix}
\begin{bmatrix}
7\
18
\end{bmatrix}.
]

Po wymnożeniu:

[
x=3\cdot7-18=3,
]

[
y=-5\cdot7+2\cdot18=1.
]

Rozwiązaniem jest:

[
x=3,\qquad y=1.
]

Czy zawsze warto wyznaczać macierz odwrotną?

W zapisie teoretycznym wzór:

[
x=A^{-1}b
]

jest bardzo użyteczny. W obliczeniach komputerowych nie zawsze opłaca się jednak tworzyć całą macierz odwrotną tylko po to, aby rozwiązać jeden układ równań.

W takim przypadku lepiej użyć procedury rozwiązującej bezpośrednio:

[
Ax=b.
]

NumPy udostępnia funkcję numpy.linalg.solve przeznaczoną do rozwiązywania układów z kwadratową macierzą współczynników o pełnym rzędzie. SciPy również rozdziela operację odwracania macierzy od bezpośredniego rozwiązywania układu.

Jawne odwrócenie ma sens, gdy:

  • sama macierz odwrotna jest potrzebnym wynikiem;
  • ma być używana wielokrotnie;
  • wykonujemy obliczenia symboliczne;
  • analizujemy własności przekształcenia;
  • zadanie wprost wymaga wyznaczenia (A^{-1}).

Macierze źle uwarunkowane

Niezerowy wyznacznik oznacza, że odwrotność istnieje matematycznie. Nie gwarantuje jednak, że można obliczyć ją z dużą dokładnością na komputerze.

Rozważmy:

[
A=
\begin{bmatrix}
1&1\
1&1{,}000001
\end{bmatrix}.
]

Wyznacznik wynosi:

[
\det(A)=0{,}000001.
]

Macierz jest formalnie odwracalna, lecz bardzo bliska osobliwej. Niewielka zmiana elementów może prowadzić do dużej zmiany wyniku.

Do oceny wrażliwości wykorzystuje się współczynnik uwarunkowania. Duża jego wartość oznacza, że błędy danych wejściowych i zaokrągleń mogą zostać silnie powiększone.

Nie należy więc zakładać, że każdy komputerowy wynik funkcji odwracającej macierz jest równie wiarygodny. Dokumentacja NumPy wskazuje wprost, że macierze źle uwarunkowane mogą prowadzić do niedokładnych rezultatów.

Pseudoodwrotność zamiast klasycznej odwrotności

Macierz prostokątna albo osobliwa nie ma klasycznej odwrotności. W wielu zastosowaniach można jednak wyznaczyć pseudoodwrotność Moore’a-Penrose’a:

[
A^+.
]

Pseudoodwrotność jest wykorzystywana między innymi w metodzie najmniejszych kwadratów, regresji liniowej oraz układach z większą lub mniejszą liczbą równań niż niewiadomych.

Nie spełnia wszystkich własności klasycznej odwrotności, ale stanowi jej użyteczne uogólnienie.

Jeżeli macierz kwadratowa jest odwracalna, to:

[
A^+=A^{-1}.
]

NumPy oblicza pseudoodwrotność za pomocą rozkładu według wartości osobliwych, czyli SVD.

Pseudoodwrotności nie należy stosować automatycznie za każdym razem, gdy klasyczne odwracanie macierzy się nie powiedzie. Najpierw trzeba ustalić, jaki rodzaj rozwiązania ma sens w danym problemie.

Jak odwrócić macierz w Pythonie?

W bibliotece NumPy służy do tego funkcja numpy.linalg.inv:

import numpy as np

A = np.array([
    [2.0, 1.0],
    [5.0, 3.0]
])

A_odwrotna = np.linalg.inv(A)
print(A_odwrotna)

Wynik:

[[ 3. -1.]
 [-5.  2.]]

Funkcja oczekuje macierzy kwadratowej. Jeżeli macierz jest rozpoznana jako osobliwa albo nie ma prawidłowego wymiaru, zgłaszany jest błąd LinAlgError. NumPy definiuje wynik jako macierz spełniającą warunki (AA^{-1}=A^{-1}A=I).

Jeżeli celem jest rozwiązanie układu równań, lepiej zastosować:

b = np.array([7.0, 18.0])
x = np.linalg.solve(A, b)
print(x)

Dla tego przykładu wynikiem będzie:

[3. 1.]

Jak odwrócić macierz w Excelu?

W polskiej wersji Excela służy do tego funkcja:

=MACIERZ.ODW(tablica)

Jeżeli macierz znajduje się w zakresie od A1 do B2, można wpisać:

=MACIERZ.ODW(A1:B2)

Zakres wejściowy musi zawierać równą liczbę wierszy i kolumn. W aktualnych wersjach Microsoft 365 wynik może zostać zwrócony jako tablica dynamiczna. Starsze wersje mogą wymagać wcześniejszego zaznaczenia zakresu wynikowego i zatwierdzenia formuły skrótem Ctrl+Shift+Enter.

Microsoft zaznacza, że obliczenia wykonywane są z ograniczoną dokładnością numeryczną. Przy macierzach źle uwarunkowanych wynik może więc zawierać niewielkie błędy zaokrągleń.

Najczęstsze błędy podczas odwracania macierzy

Brak sprawdzenia odwracalności

Przed użyciem wzoru z wyznacznikiem trzeba upewnić się, że:

[
\det(A)\neq0.
]

W metodzie Gaussa-Jordana osobliwość ujawni się podczas redukcji, gdy nie będzie można utworzyć pełnego zestawu pivotów.

Odwracanie każdego elementu osobno

Macierzą odwrotną do:

[
\begin{bmatrix}
a&b\
c&d
\end{bmatrix}
]

nie jest:

[
\begin{bmatrix}
\frac{1}{a}&\frac{1}{b}\
\frac{1}{c}&\frac{1}{d}
\end{bmatrix}.
]

Symbol (A^{-1}) oznacza odwrotność względem mnożenia macierzy, a nie obliczanie odwrotności każdego elementu.

Mylenie odwrotności z transpozycją

Macierz transponowana (A^T) powstaje przez zamianę wierszy na kolumny. Zwykle nie jest równa macierzy odwrotnej.

Równość:

[
A^{-1}=A^T
]

zachodzi dla macierzy ortogonalnych.

Błędna kolejność w odwrotności iloczynu

Prawidłowo:

[
(AB)^{-1}=B^{-1}A^{-1}.
]

Nie można pozostawić pierwotnej kolejności czynników.

Wykonywanie operacji tylko po jednej stronie macierzy rozszerzonej

W schemacie:

[
[A\mid I]
]

każda operacja wierszowa musi obejmować zarówno (A), jak i (I).

Nieprawidłowy wzór dla macierzy 2×2

Zamieniamy miejscami wyłącznie elementy na głównej przekątnej. Elementy poza przekątną pozostają na miejscach, ale zmieniają znaki.

Rezygnacja z kontroli wyniku

Jedna pomyłka znaku może zmienić całą macierz. Po zakończeniu obliczeń warto zawsze sprawdzić iloczyn z macierzą pierwotną.

Jak usprawnić ręczne odwracanie macierzy?

Przed rozpoczęciem rachunków warto przyjrzeć się strukturze macierzy.

Jeżeli jest diagonalna albo ortogonalna, można skorzystać z właściwości szczególnych. Dla macierzy (2\times2) stosowanie Gaussa-Jordana jest zwykle dłuższe niż bezpośredni wzór.

W metodzie Gaussa-Jordana warto:

  • rozpoczynać od wiersza z elementem równym 1 lub (-1);
  • unikać zbyt wczesnego tworzenia ułamków;
  • zapisywać każdą operację wierszową;
  • nie wykonywać kilku skomplikowanych operacji jednocześnie;
  • po każdym etapie sprawdzać jedną wybraną kolumnę;
  • przepisywać całą macierz rozszerzoną, a nie tylko zmienione liczby.

Przy macierzy dołączonej należy szczególnie pilnować naprzemiennych znaków dopełnień algebraicznych i pamiętać o transpozycji końcowej macierzy dopełnień.

Odwracanie macierzy – najważniejsze wnioski

Odwracanie macierzy prowadzi do wyznaczenia macierzy (A^{-1}), dla której:

[
AA^{-1}=A^{-1}A=I.
]

Klasyczną odwrotność ma wyłącznie macierz kwadratowa o niezerowym wyznaczniku. Macierze (2\times2) najłatwiej odwracać za pomocą bezpośredniego wzoru. Dla większych macierzy najczęściej stosuje się metodę Gaussa-Jordana, polegającą na przekształceniu:

[
[A\mid I]
]

do postaci:

[
[I\mid A^{-1}].
]

Alternatywą jest wzór z macierzą dołączoną. Po zakończeniu obliczeń wynik należy sprawdzić przez mnożenie. W zastosowaniach komputerowych trzeba dodatkowo uwzględniać błędy numeryczne i uwarunkowanie macierzy.

FAQ

Co oznacza odwracanie macierzy?

Odwracanie macierzy polega na znalezieniu macierzy (A^{-1}), która po pomnożeniu przez macierz wyjściową daje macierz jednostkową. Muszą zachodzić równości (AA^{-1}=I) oraz (A^{-1}A=I). Operacja ta jest odpowiednikiem wyznaczania odwrotności liczby, ale dotyczy całej macierzy.

Kiedy macierz można odwrócić?

Macierz można odwrócić, gdy jest kwadratowa i ma wyznacznik różny od zera. Równoważnie musi mieć pełny rząd, liniowo niezależne wiersze i kolumny oraz pivot w każdej kolumnie. Jeżeli podczas redukcji Gaussa powstaje zerowy wiersz i brakuje elementu głównego, klasyczna odwrotność nie istnieje.

Jak odwrócić macierz 2×2?

Dla macierzy (\begin{bmatrix}a&b\c&d\end{bmatrix}) oblicza się wyznacznik (ad-bc). Jeżeli jest niezerowy, należy zamienić miejscami (a) i (d), zmienić znaki (b) oraz (c), a następnie pomnożyć całą macierz przez (\frac{1}{ad-bc}).

Jak działa metoda Gaussa-Jordana?

Tworzy się macierz rozszerzoną ([A\mid I]), a następnie wykonuje operacje na wierszach, aż lewa strona stanie się macierzą jednostkową. Te same operacje zmieniają prawą stronę w (A^{-1}). Jeżeli lewej części nie można sprowadzić do (I), macierz nie jest odwracalna.

Jak sprawdzić, czy odwrotność jest prawidłowa?

Należy pomnożyć otrzymaną macierz przez macierz wyjściową. Poprawny wynik to macierz jednostkowa. Można sprawdzić zarówno (AA^{-1}), jak i (A^{-1}A). W obliczeniach komputerowych zamiast dokładnych zer mogą pojawiać się bardzo małe wartości wynikające z zaokrągleń.

Czy macierz prostokątną można odwrócić?

Macierz prostokątna nie ma klasycznej odwrotności dwustronnej, ponieważ iloczyny wykonywane z lewej i prawej strony miałyby różne wymiary. W szczególnych przypadkach może istnieć odwrotność jednostronna. W zastosowaniach numerycznych często wykorzystuje się pseudoodwrotność Moore’a-Penrose’a.

Czy do rozwiązania układu równań trzeba obliczać odwrotność?

Nie. Choć matematycznie rozwiązanie układu (Ax=b) można zapisać jako (x=A^{-1}b), w obliczeniach komputerowych zazwyczaj lepiej rozwiązać układ bezpośrednio. Funkcje takie jak numpy.linalg.solve unikają niepotrzebnego tworzenia całej macierzy odwrotnej.