Mnożenie macierzy krok po kroku – zasady, wzory i przykłady

mnożenie macierzy

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:

  1. wybranie wiersza macierzy (A),
  2. wybranie kolumny macierzy (B),
  3. pomnożenie odpowiadających sobie elementów,
  4. 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łaniaSposób obliczania
Macierz razy liczbaKażdy element macierzy mnożymy przez tę samą liczbę
Maci