
Czym jest macierz
Macierz to układ liczb (lub symboli, wyrażeń) zapisanych w postaci prostokątnej tablicy. Poziome rzędy to wiersze, pionowe to kolumny. Macierz o m wierszach i n kolumnach ma wymiar m × n, a jej element z wiersza i oraz kolumny j oznacza się a(i, j). Macierz kwadratowa ma tyle samo wierszy co kolumn.
Przykład macierzy 2 × 3 (dwa wiersze, trzy kolumny):
1 2 3
4 5 6
Szczególną macierzą kwadratową jest macierz jednostkowa I: na głównej przekątnej ma jedynki, poza nią zera. Dla macierzy 2 × 2:
1 0
0 1
Działania na macierzach
Dodawanie i mnożenie przez liczbę
Macierze dodaje się element po elemencie, więc muszą mieć ten sam wymiar. Mnożenie przez liczbę k oznacza pomnożenie każdego elementu przez k. Dla A = [[1, 2], [3, 4]] i B = [[0, 1], [5, 2]]:
A + B = 1+0 2+1 = 1 3
3+5 4+2 8 6
3 · A = 3 6
9 12
Mnożenie macierzy
Macierz A o wymiarze m × n można pomnożyć przez macierz B o wymiarze n × p. Warunek: liczba kolumn pierwszej macierzy musi być równa liczbie wierszy drugiej. Wynik ma wymiar m × p. Element wyniku w wierszu i oraz kolumnie j to suma iloczynów elementów i-tego wiersza A i j-tej kolumny B.
Dla tych samych A i B iloczyn AB wyznaczasz tak:
- element (1, 1): 1·0 + 2·5 = 10,
- element (1, 2): 1·1 + 2·2 = 5,
- element (2, 1): 3·0 + 4·5 = 20,
- element (2, 2): 3·1 + 4·2 = 11.
A · B = 10 5
20 11
Kolejność czynników ma znaczenie. Mnożenie jest łączne, ale nie jest przemienne, co widać na tym samym przykładzie:
B · A = 3 4
11 18
Wynik BA jest inny niż AB. Iloczyn może istnieć w jednej kolejności, a w drugiej nie: macierz 2 × 3 pomnożona przez macierz 3 × 2 daje macierz 2 × 2, ale już zamiana kolejności daje macierz 3 × 3. Przykład z macierzą nieskwadratową:
C = 1 2 3 D = 1 0 C · D = 7 5
4 5 6 0 1 16 11
2 1
Sprawdzenie pierwszego elementu: 1·1 + 2·0 + 3·2 = 7.
Przesuń tabelę, aby zobaczyć wszystkie kolumny →
| Działanie | Warunek | Wymiar wyniku | Przemienność |
|---|---|---|---|
| A + B | ten sam wymiar | taki sam jak A i B | tak |
| k · A | brak | taki sam jak A | tak |
| A · B | kolumny A = wiersze B | m × p (dla A m × n, B n × p) | nie |
Wyznacznik macierzy kwadratowej
Wyznacznik to liczba przypisana macierzy kwadratowej, oznaczana det A. Informuje m.in. o tym, czy macierz ma macierz odwrotną.
Wyznacznik 2×2
Dla macierzy o elementach a, b w pierwszym wierszu i c, d w drugim wyznacznik to różnica iloczynu elementów głównej przekątnej i iloczynu elementów drugiej przekątnej: det = a·d − b·c.
Dla A = [[1, 2], [3, 4]]: det A = 1·4 − 2·3 = −2.
Dla macierzy [[2, 4], [1, 2]]: det = 2·2 − 4·1 = 0. Wiersze są proporcjonalne (pierwszy to dwukrotność drugiego), więc wyznacznik jest zerowy.
Wyznacznik 3×3: reguła Sarrusa
Reguła Sarrusa to praktyczny sposób obliczania wyznacznika stopnia 3 i nie przenosi się na wyznaczniki wyższych stopni. Z prawej strony macierzy dopisujesz jej dwie pierwsze kolumny, a następnie dodajesz iloczyny wzdłuż trzech przekątnych biegnących w dół i odejmujesz iloczyny wzdłuż trzech przekątnych biegnących w górę.
Dla macierzy
2 0 1
1 3 2
1 1 4
po dopisaniu dwóch pierwszych kolumn:
2 0 1 | 2 0
1 3 2 | 1 3
1 1 4 | 1 1
- przekątne w dół: 2·3·4 + 0·2·1 + 1·1·1 = 24 + 0 + 1 = 25,
- przekątne w górę: 1·3·1 + 2·2·1 + 0·1·4 = 3 + 4 + 0 = 7,
- wyznacznik: 25 − 7 = 18.
Wzór ogólny dla macierzy z wierszami (a, b, c), (d, e, f), (g, h, i):
det = aei + bfg + cdh − ceg − afh − bdi
Macierz (1, 2, 3), (4, 5, 6), (7, 8, 9) daje wyznacznik 0, co zgadza się z faktem, że jej wiersze są liniowo zależne (trzeci wiersz to podwojony drugi minus pierwszy).
Własność mnożenia
Dla macierzy tego samego stopnia wyznacznik iloczynu jest iloczynem wyznaczników: det(AB) = det A · det B. Dla tych samych A i B: det A = −2, det B = 0·2 − 1·5 = −5, a det(AB) = 10·11 − 5·20 = 10, czyli (−2)·(−5) = 10.
Macierz odwrotna 2×2
Macierz kwadratowa A jest odwracalna, jeśli istnieje macierz B taka, że AB = BA = I. Macierz B nazywa się wtedy macierzą odwrotną do A i zapisuje A⁻¹. Dla macierzy nad ciałem liczb rzeczywistych macierz jest odwracalna wtedy i tylko wtedy, gdy jej wyznacznik jest różny od zera.
Dla macierzy 2×2 z elementami a, b, c, d i wyznacznikiem D = ad − bc ≠ 0:
A⁻¹ = 1/D · ( d -b )
( -c a )
Przykład: A = [[2, 1], [5, 3]]. Wyznacznik D = 2·3 − 1·5 = 1, więc
A⁻¹ = 3 -1
-5 2
Sprawdzenie mnożeniem: A · A⁻¹ daje macierz jednostkową [[1, 0], [0, 1]]. Dla A = [[1, 2], [3, 4]] wyznacznik wynosi −2, więc A⁻¹ = −1/2 · [[4, −2], [−3, 1]] = [[−2, 1], [3/2, −1/2]]; mnożenie A · A⁻¹ również daje macierz jednostkową.
Sprawdzenie obliczeń w Pythonie
Wszystkie przykłady powyżej da się sprawdzić własnymi funkcjami, bez zewnętrznych bibliotek. Ułamki obsługuje moduł fractions, który podaje wyniki dokładnie.
from fractions import Fraction as F
def dodaj(A, B):
return [[a + b for a, b in zip(r, s)] for r, s in zip(A, B)]
def mnoz(A, B):
return [[sum(A[i][k] * B[k][j] for k in range(len(B)))
for j in range(len(B[0]))] for i in range(len(A))]
def det2(M):
return M[0][0] * M[1][1] - M[0][1] * M[1][0]
def det3(M):
(a, b, c), (d, e, f), (g, h, i) = M
return a*e*i + b*f*g + c*d*h - c*e*g - a*f*h - b*d*i
def odwrotna2(M):
D = det2(M)
return [[F(M[1][1], D), F(-M[0][1], D)],
[F(-M[1][0], D), F(M[0][0], D)]]
A = [[1, 2], [3, 4]]
B = [[0, 1], [5, 2]]
print(dodaj(A, B)) # [[1, 3], [8, 6]]
print(mnoz(A, B)) # [[10, 5], [20, 11]]
print(mnoz(B, A)) # [[3, 4], [11, 18]]
print(det2(A)) # -2
print(det3([[2, 0, 1], [1, 3, 2], [1, 1, 4]])) # 18
print(odwrotna2([[2, 1], [5, 3]])) # [[3, -1], [-5, 2]]
print(det2(mnoz(A, B)), det2(A) * det2(B)) # 10 10
Uruchomienie tego kodu daje wyniki zapisane w komentarzach (odwrotna macierz zwracana jest jako obiekty Fraction, np. Fraction(3, 1) dla liczby 3). Przy dłuższych obliczeniach warto skorzystać z biblioteki do obliczeń numerycznych, ale do zrozumienia reguł własne funkcje wystarczą.
Najczęstsze błędy
Przesuń tabelę, aby zobaczyć wszystkie kolumny →
| Błąd | Poprawnie |
|---|---|
| Mnożenie macierzy element po elemencie | Element wyniku to suma iloczynów wiersza i kolumny |
| Założenie, że AB = BA | Mnożenie macierzy nie jest przemienne |
| Użycie reguły Sarrusa dla macierzy 4×4 | Reguła dotyczy wyłącznie wyznaczników stopnia 3 |
| Pomylenie znaków w regule Sarrusa | Trzy iloczyny w dół ze znakiem plus, trzy w górę ze znakiem minus |
| Szukanie odwrotności przy wyznaczniku 0 | Macierz o zerowym wyznaczniku nie ma odwrotnej |
| Zamiana miejsc a i d bez zmiany znaków b i c | We wzorze na odwrotność zamienia się a z d, a b i c zmieniają znak |
Zobacz też: Układ równań.
Najczęstsze pytania (FAQ)
Czym jest wyznacznik macierzy?
To liczba przypisana macierzy kwadratowej. Dla macierzy 2×2 to ad − bc, dla 3×3 liczy się go regułą Sarrusa lub innymi metodami. Zerowy wyznacznik oznacza, że macierz nie ma odwrotnej.
Jak pomnożyć dwie macierze?
Sprawdź, czy liczba kolumn pierwszej macierzy równa się liczbie wierszy drugiej. Jeśli tak, element wyniku w wierszu i oraz kolumnie j to suma iloczynów kolejnych elementów i-tego wiersza pierwszej macierzy i j-tej kolumny drugiej.
Czy mnożenie macierzy jest przemienne?
Nie. Dla A = [[1, 2], [3, 4]] i B = [[0, 1], [5, 2]] iloczyn AB to [[10, 5], [20, 11]], a BA to [[3, 4], [11, 18]].
Czy regułę Sarrusa można stosować dla macierzy 4×4?
Nie. Reguła Sarrusa dotyczy wyznaczników stopnia 3. Dla większych macierzy stosuje się inne metody, np. rozwinięcie Laplace’a.
Kiedy macierz ma macierz odwrotną?
Gdy jest kwadratowa i jej wyznacznik jest różny od zera. Dla macierzy 2×2 odwrotność to 1/(ad − bc) razy macierz z zamienionymi a i d oraz zmienionymi znakami b i c.
Czy mogę dodać macierze o różnych wymiarach?
Nie. Dodawanie wykonuje się element po elemencie, więc obie macierze muszą mieć ten sam wymiar.