Mnożenie macierzy krok po kroku – zasady, wzory i przykłady
Mnożenie macierzy wykonuje się według zasady: wiersz pierwszej macierzy mnożymy przez kolumnę drugiej, a otrzymane iloczyny dodajemy. Działanie jest możliwe tylko wtedy, gdy liczba kolumn pierwszej macierzy jest równa liczbie wierszy drugiej.
Jeżeli macierz (A) ma wymiar (m \times n), a macierz (B) wymiar (n \times p), ich iloczyn (AB) będzie macierzą o wymiarze (m \times p). Przykładowo macierz (2 \times 3) można pomnożyć przez macierz (3 \times 4), a wynik będzie miał dwa wiersze i cztery kolumny.
Na czym polega mnożenie macierzy?
Macierz to prostokątny układ liczb zapisanych w wierszach i kolumnach. Przykładowa macierz:
[
A=
\begin{bmatrix}
1 & 2 & 3\
4 & 5 & 6
\end{bmatrix}
]
ma dwa wiersze i trzy kolumny, dlatego jej wymiar zapisujemy jako:
[
2 \times 3.
]
Pierwsza liczba zawsze określa liczbę wierszy, a druga liczbę kolumn.
Klasyczne mnożenie macierzy nie polega na mnożeniu liczb znajdujących się na tych samych pozycjach. Każdy element wyniku powstaje przez połączenie jednego wiersza pierwszej macierzy z jedną kolumną drugiej. Jest więc sumą iloczynów odpowiednich elementów tego wiersza i kolumny.
Najważniejszy schemat można zapisać następująco:
[
\text{wiersz} \times \text{kolumna} = \text{jeden element wyniku}.
]
Kiedy można mnożyć macierze?
Iloczyn macierzy (AB) istnieje wtedy, gdy liczba kolumn macierzy (A) jest równa liczbie wierszy macierzy (B).
Jeżeli:
[
A_{m \times n}
]
oraz:
[
B_{n \times p},
]
to działanie:
[
A_{m \times n} \cdot B_{n \times p}
]
jest możliwe, a wynik ma wymiar:
[
C_{m \times p}.
]
Można to zapamiętać za pomocą schematu:
[
(m \times \cancel{n})\cdot(\cancel{n}\times p)=m\times p.
]
Wymiary środkowe muszą być takie same. Wymiary zewnętrzne określają rozmiar macierzy wynikowej.
Przykład zgodnych wymiarów
Rozważmy działanie:
[
A_{2\times3}\cdot B_{3\times4}.
]
Pierwsza macierz ma trzy kolumny, a druga trzy wiersze. Mnożenie jest zatem możliwe.
Wynik będzie miał wymiar:
[
2\times4.
]
Przykład niezgodnych wymiarów
Dla działania:
[
A_{2\times3}\cdot B_{2\times4}
]
liczba kolumn pierwszej macierzy wynosi 3, natomiast liczba wierszy drugiej wynosi 2. Ponieważ te wartości nie są równe, iloczyn (AB) nie jest określony.
Warunek zgodności wymiarów obowiązuje również w programach wykonujących obliczenia automatycznie. Funkcja MMULT w Arkuszach Google i funkcja numpy.matmul w bibliotece NumPy zgłaszają błąd lub nie wykonują operacji, gdy odpowiednie wymiary macierzy nie pasują do siebie.
Mnożenie macierzy krok po kroku
Rozważmy dwie macierze kwadratowe:
[
A=
\begin{bmatrix}
1 & 2\
3 & 4
\end{bmatrix}
]
oraz:
[
B=
\begin{bmatrix}
5 & 6\
7 & 8
\end{bmatrix}.
]
Obie mają wymiar (2\times2), dlatego można obliczyć zarówno (AB), jak i (BA). Najpierw wyznaczymy iloczyn:
[
AB=
\begin{bmatrix}
1 & 2\
3 & 4
\end{bmatrix}
\cdot
\begin{bmatrix}
5 & 6\
7 & 8
\end{bmatrix}.
]
Wynik będzie miał postać:
[
AB=
\begin{bmatrix}
c_{11} & c_{12}\
c_{21} & c_{22}
\end{bmatrix}.
]
Krok 1. Pierwszy wiersz razy pierwsza kolumna
Pierwszy element wyniku powstaje z pierwszego wiersza macierzy (A) i pierwszej kolumny macierzy (B):
[
c_{11}=1\cdot5+2\cdot7.
]
[
c_{11}=5+14=19.
]
Krok 2. Pierwszy wiersz razy druga kolumna
Drugi element pierwszego wiersza wyniku obliczamy, łącząc pierwszy wiersz macierzy (A) z drugą kolumną macierzy (B):
[
c_{12}=1\cdot6+2\cdot8.
]
[
c_{12}=6+16=22.
]
Krok 3. Drugi wiersz razy pierwsza kolumna
Przechodzimy do drugiego wiersza macierzy (A):
[
c_{21}=3\cdot5+4\cdot7.
]
[
c_{21}=15+28=43.
]
Krok 4. Drugi wiersz razy druga kolumna
Ostatni element wyniku wynosi:
[
c_{22}=3\cdot6+4\cdot8.
]
[
c_{22}=18+32=50.
]
Ostatecznie otrzymujemy:
[
AB=
\begin{bmatrix}
19 & 22\
43 & 50
\end{bmatrix}.
]
Każde pole macierzy wynikowej zawiera jedną liczbę otrzymaną po zsumowaniu iloczynów elementów odpowiedniego wiersza i kolumny.
Wzór na mnożenie macierzy
Załóżmy, że macierz (A) ma wymiar (m\times n), a macierz (B) wymiar (n\times p). Element znajdujący się w (i)-tym wierszu i (j)-tej kolumnie macierzy wynikowej (C=AB) obliczamy ze wzoru:
[
c_{ij}=\sum_{k=1}^{n}a_{ik}b_{kj}.
]
Po rozwinięciu suma ma postać:
[
c_{ij}=a_{i1}b_{1j}+a_{i2}b_{2j}+\ldots+a_{in}b_{nj}.
]
Indeks (i) wskazuje wybrany wiersz pierwszej macierzy, a indeks (j) wybraną kolumnę drugiej. Indeks (k) przechodzi przez wszystkie odpowiadające sobie elementy wiersza i kolumny.
W praktyce wzór oznacza wykonanie czterech czynności:
- wybranie wiersza macierzy (A),
- wybranie kolumny macierzy (B),
- pomnożenie odpowiadających sobie elementów,
- dodanie otrzymanych iloczynów.
Tę samą procedurę powtarzamy dla każdej pozycji w macierzy wynikowej.
Przykład mnożenia macierzy prostokątnych
Macierze przeznaczone do mnożenia nie muszą być kwadratowe. Rozważmy:
[
A=
\begin{bmatrix}
1 & 2 & 3\
4 & 5 & 6
\end{bmatrix}
]
oraz:
[
B=
\begin{bmatrix}
7 & 8\
9 & 10\
11 & 12
\end{bmatrix}.
]
Macierz (A) ma wymiar (2\times3), a macierz (B) wymiar (3\times2). Liczba kolumn pierwszej macierzy jest równa liczbie wierszy drugiej, dlatego mnożenie można wykonać.
Wynik będzie miał wymiar:
[
2\times2.
]
Obliczamy kolejne elementy:
[
c_{11}=1\cdot7+2\cdot9+3\cdot11=7+18+33=58,
]
[
c_{12}=1\cdot8+2\cdot10+3\cdot12=8+20+36=64,
]
[
c_{21}=4\cdot7+5\cdot9+6\cdot11=28+45+66=139,
]
[
c_{22}=4\cdot8+5\cdot10+6\cdot12=32+50+72=154.
]
Iloczyn macierzy wynosi:
[
AB=
\begin{bmatrix}
58 & 64\
139 & 154
\end{bmatrix}.
]
W tym przykładzie każdy element wyniku wymaga wykonania trzech mnożeń i dodania trzech otrzymanych wartości.
Czy kolejność mnożenia macierzy ma znaczenie?
W przypadku zwykłych liczb można zamieniać czynniki miejscami:
[
2\cdot3=3\cdot2.
]
Mnożenie macierzy zasadniczo nie jest przemienne. Oznacza to, że zazwyczaj:
[
AB\neq BA.
]
Zmiana kolejności macierzy może prowadzić do innego wyniku, wyniku o innym wymiarze albo do działania, którego w ogóle nie można wykonać.
Wróćmy do macierzy:
[
A=
\begin{bmatrix}
1 & 2\
3 & 4
\end{bmatrix},
\qquad
B=
\begin{bmatrix}
5 & 6\
7 & 8
\end{bmatrix}.
]
Wcześniej obliczyliśmy:
[
AB=
\begin{bmatrix}
19 & 22\
43 & 50
\end{bmatrix}.
]
Teraz zmieniamy kolejność:
[
BA=
\begin{bmatrix}
5 & 6\
7 & 8
\end{bmatrix}
\cdot
\begin{bmatrix}
1 & 2\
3 & 4
\end{bmatrix}.
]
Otrzymujemy:
[
BA=
\begin{bmatrix}
5\cdot1+6\cdot3 & 5\cdot2+6\cdot4\
7\cdot1+8\cdot3 & 7\cdot2+8\cdot4
\end{bmatrix}
]
czyli:
[
BA=
\begin{bmatrix}
23 & 34\
31 & 46
\end{bmatrix}.
]
Widać więc wyraźnie, że:
[
AB\neq BA.
]
Istnieją szczególne macierze, które są ze sobą przemienne, ale nie jest to ogólna reguła. W każdym zadaniu należy zachować kolejność podaną w poleceniu.
Najważniejsze własności mnożenia macierzy
Brak przemienności nie oznacza, że mnożenie macierzy nie ma uporządkowanych zasad. Operacja posiada kilka ważnych własności wykorzystywanych w algebrze liniowej.
Łączność
Dla macierzy o odpowiednich wymiarach zachodzi:
[
(AB)C=A(BC).
]
Można więc zmienić sposób grupowania działań, ale nie wolno zmieniać kolejności macierzy.
Wyrażenia:
[
(AB)C
]
i:
[
A(BC)
]
dają ten sam wynik, natomiast:
[
ABC
]
nie musi być równe:
[
ACB.
]
Rozdzielność względem dodawania
Mnożenie macierzy jest rozdzielne względem dodawania:
[
A(B+C)=AB+AC
]
oraz:
[
(A+B)C=AC+BC.
]
Wszystkie macierze muszą mieć wymiary umożliwiające wykonanie wskazanych działań.
Macierz jednostkowa
Macierz jednostkowa pełni podobną funkcję jak liczba 1 w zwykłym mnożeniu.
Dla macierzy kwadratowej (A):
[
AI=IA=A.
]
Macierz jednostkowa stopnia drugiego wygląda następująco:
[
I=
\begin{bmatrix}
1 & 0\
0 & 1
\end{bmatrix}.
]
Na głównej przekątnej znajdują się jedynki, a wszystkie pozostałe elementy są zerami.
Macierz zerowa
Pomnożenie macierzy przez macierz zerową o odpowiednim wymiarze daje macierz zerową:
[
A0=0
]
oraz:
[
0A=0.
]
Transpozycja iloczynu
Dla transpozycji iloczynu obowiązuje wzór:
[
(AB)^T=B^TA^T.
]
Po wykonaniu transpozycji trzeba odwrócić kolejność macierzy. Pominięcie tej zmiany jest częstym błędem w bardziej zaawansowanych zadaniach.
Mnożenie macierzy przez liczbę
Mnożenia dwóch macierzy nie należy mylić z mnożeniem macierzy przez liczbę, nazywaną skalarem.
Jeżeli:
[
A=
\begin{bmatrix}
1 & 2\
3 & 4
\end{bmatrix},
]
to:
[
3A=
\begin{bmatrix}
3\cdot1 & 3\cdot2\
3\cdot3 & 3\cdot4
\end{bmatrix}
\begin{bmatrix}
3 & 6\
9 & 12
\end{bmatrix}.
]
W tym przypadku każdą liczbę znajdującą się w macierzy mnożymy osobno przez ten sam skalar. Nie obowiązuje warunek zgodności liczby wierszy i kolumn.
Różnicę można przedstawić w prosty sposób:
| Rodzaj działania | Sposób obliczania |
|---|---|
| Macierz razy liczba | Każdy element macierzy mnożymy przez tę samą liczbę |
| Maci |