✖

Macierze

Macierz nad ciałem P to odwzorowanie $\left\{1, 2, \ldots, n\right\} \times \left\{1, 2, \ldots, m\right\} \rightarrow P$. Macierze oznacza się zwykle wielkimi drukowanymi literami: A = (…). A teraz po ludzku.

Podstawowe pojęcia

Macierz to po prostu taka tabelka o n kolumnach i m wierszach, przy czym to oznaczenie wierszy i kolumn nie zawsze musi być takie samo, na to uważaj. W każdej komórce tabelki jest potem jakaś liczba albo inne wyrażenie. Macierz nie musi być czysto liczbowa, chociaż na początku z innymi macierzami najprawdopodobniej się nie spotkasz. Jak więc może wyglądać macierz:

$$A=\left(\begin{array}{ccc}0&1&5\\8&5&51\end{array}\right)$$

Ta macierz ma dwa wiersze i trzy kolumny. Elementy macierzy oznacza się za pomocą indeksów, a zamiast wielkiej litery używa się małej: a11 = 0 albo a23 = 51. Pierwszy indeks oznacza wiersz, a drugi kolumnę.

Szczególne rodzaje macierzy

Macierze mogą mieć różne własności, a niektóre szczególne macierze mają nawet własne nazwy.

Macierz kwadratowa to macierz, która ma tyle samo wierszy co kolumn. Jeśli macierz nie jest kwadratowa, jest prostokątna. Przykład macierzy kwadratowej:

$$A=\left(\begin{array}{ccc}0&1&5\\8&5&23\\47&154&2\end{array}\right)$$

Macierz zerowa to macierz, która na wszystkich pozycjach ma zera. aij = 0.

$$A=\left(\begin{array}{ccc}0&0&0\\0&0&0\\0&0&0\end{array}\right)$$

Macierz jednostkowa to macierz kwadratowa, która na głównej przekątnej ma jedynki, a wszędzie indziej zera. Główna przekątna to taka „przekątna” biegnąca od lewego górnego rogu do prawego dolnego. Krótko mówiąc, są to liczby na pozycjach, gdzie i = j.

$$A=\left(\begin{array}{ccc}1&0&0\\0&1&0\\0&0&1\end{array}\right)$$

Macierz schodkowa to macierz, która ma wiersze zerowe na końcu (albo nie ma żadnych wierszy zerowych), a każdy niezerowy wiersz ma na początku więcej zer niż wiersz poprzedni. Wszystkie te macierze są schodkowe:

$$A_1=\left(\begin{array}{ccc}1&0&0\\0&1&\pi\\0&0&1\end{array}\right), \quad A_2=\left(\begin{array}{ccc}1&0&0\\0&1&0\\0&0&1\\0&0&0\\0&0&0\end{array}\right),\quad A_3=\left( \begin{array}{ccccc} 1& 1& 1& 1& 8\\ 0& 0& 0& 5& 1\\ 0 &0& 0& 0 &5 \end{array}\right)$$

Macierz transponowana do macierzy A to macierz AT, dla której zachodzi $a_{ij} = a^T_{ji}$, tj. element, który był w i-tym wierszu i j-tej kolumnie, będzie w macierzy transponowanej w j-tym wierszu i i-tej kolumnie. Krótko mówiąc, zamieniasz wiersze macierzy na kolumny.

$$\begin{eqnarray} \left(\begin{array}{ccc}0&1&5\\8&5&23\\47&154&2\end{array}\right)^T &=& \left(\begin{array}{ccc}0&8&47\\1&5&154\\5&23&2\end{array}\right)\\ \left(\begin{array}{ccc}3&4&5\\6&7&8\end{array}\right)^T&=&\left(\begin{array}{cc}3&6\\4&7\\5&8\end{array}\right) \end{eqnarray}$$

Macierz symetryczna to macierz kwadratowa A, która spełnia równość A = AT. Elementy położone symetrycznie względem przekątnej są takie same. Możemy więc napisać, że $a_{ij}=a_{ji}$.

$$A=\left(\begin{array}{ccc}9&3&4\\3&7&0\\4&0&2\end{array}\right)$$

Macierz antysymetryczna to prawie to samo co macierz symetryczna, tylko elementy po drugiej stronie mają przeciwny znak: A = −AT. Z tego powodu elementy na głównej przekątnej muszą być zerowe, bo a = −a = 0.

$$A=\left(\begin{array}{ccc}0&-3&-4\\3&0&5\\4&-5&0\end{array}\right)$$

Macierz diagonalna to macierz, która ma zera wszędzie poza główną przekątną. Dokładniej mówiąc, wszędzie indziej muszą być zera, a co jest na głównej przekątnej, nie jest określone.

$$A_1=\left(\begin{array}{ccc}9&0&0\\0&7&0\\0&0&2\end{array}\right), \quad A_2=\left(\begin{array}{ccc}3&0&0\\0&0&0\\0&0&0\end{array}\right)$$

Podstawowe działania na macierzach

Macierze możemy dodawać, możemy je mnożyć przez liczbę i możemy też mnożyć macierze przez siebie.

Dodawanie macierzy jest dość intuicyjne. Jeśli macierze są tego samego wymiaru (= ta sama liczba kolumn i wierszy), macierz wynikowa będzie miała na tych samych pozycjach sumy liczb z odpowiadających pozycji w dodawanych macierzach. Czyli jeśli dodajemy macierze A + B = C, to zachodzi $a_{ij} + b_{ij} = c_{ij}$.

$$\left(\begin{array}{ccc}0&1&5\\8&5&23\\47&154&2\end{array}\right) + \left(\begin{array}{ccc}5&4&3\\10&20&30\\7&-54&-12\end{array}\right) = \left(\begin{array}{ccc}5&5&8\\18&25&53\\54&100&-10\end{array}\right)$$

Dodawanie macierzy jest oczywiście przemienne i łączne. A + B = B + A oraz A + (B + C) = (A + B) + C.

Mnożenie macierzy przez liczbę też jest intuicyjne. Bierzesz liczbę i mnożysz przez nią każdy element macierzy, nic więcej. k · A = k · aij.

$$5\cdot \left(\begin{array}{ccc}0&1&5\\8&5&23\\47&154&2\end{array}\right) = \left(\begin{array}{ccc}0&5&25\\40&25&115\\235&770&10\end{array}\right)$$

Mnożenie macierzy

Mnożenie macierzy to już trochę gorsza sprawa, bo nie jest tak intuicyjne, jak można by się spodziewać. Nie wystarczy tylko pomnożyć odpowiadających sobie elementów. Przede wszystkim macierze muszą spełniać warunek, że liczba kolumn pierwszej macierzy musi być równa liczbie wierszy drugiej macierzy. Reszta może być dowolna. Teraz możemy już zdefiniować iloczyn (n to liczba kolumn pierwszej macierzy):

$$(A\cdot B)_{ij}=\sum_{p=1}^{n}a_{ip}\cdot b_{pj}$$

No i teraz wszystko jasne, co? Spróbuję to wyjaśnić także mniej bystrym :-). Bierzesz pierwszy wiersz pierwszej macierzy i pierwszą kolumnę drugiej macierzy. Teraz mnożysz pierwszy element przez pierwszy element, dodajesz iloczyn drugiego elementu przez drugi element, dodajesz itd. W ten sposób dostajesz w nowej macierzy C element c11. Najlepszy będzie przykład. Pomnożymy te dwie macierze:

$$A=\left(\begin{array}{cc}1&2\\3&4\end{array}\right), B=\left(\begin{array}{cc}5&6\\7&8\end{array}\right)$$

Teraz wybierzemy pierwszy wiersz pierwszej macierzy i pierwszą kolumnę drugiej macierzy:

$$A=\left(\begin{array}{cc}\fbox{1}&\fbox{2}\\3&4\end{array}\right), B=\left(\begin{array}{cc}\fbox{5}&6\\\fbox{7}&8\end{array}\right)$$

Dla przejrzystości zapisu nowo powstałą macierz oznaczymy C. Jeśli chcemy dostać pierwszy element tej macierzy, musimy obliczyć to: $c_{11} = a_{11}\cdot b_{11} + a_{12}\cdot b_{21}$. Przypominam, że na pierwszym miejscu indeksu jest wiersz, potem kolumna. Po podstawieniu dostajemy: 1 · 5 + 2 · 7 = 19. Pierwszy element ma wartość 19:

$$C=\left(\begin{array}{cc}19&?\\?&?\end{array}\right)$$

Kolejny element, c12, dostaniemy w ten sam sposób, tylko weźmiemy pierwszy wiersz i drugą kolumnę. Takim żmudnym rachunkiem zawsze dostaniemy ten element, który mają wspólny. Pierwszy wiersz i pierwsza kolumna mają wspólny element na pozycji c11, pierwszy wiersz i druga kolumna z kolei c12. Ładnie pokazuje to następujący obrazek:

Iloczyn macierzy

Teraz już tylko szybko domnożę resztę macierzy:

$$\begin{eqnarray} c_{12} &=& a_{11} \cdot b_{12} + a_{12} \cdot b_{22} = 1 \cdot 6 + 2 \cdot 8 = 22.\\ c_{21} &=& a_{21} \cdot b_{11} + a_{22} \cdot b_{21} = 3 \cdot 5 + 4 \cdot 7 = 43.\\ c_{22} &=& a_{21} \cdot b_{12} + a_{22} \cdot b_{22} = 3 \cdot 6 + 4 \cdot 8 = 50. \end{eqnarray}$$

Te liczby już tylko wpiszemy do macierzy:

$$C=\left(\begin{array}{cc}19&22\\43&50\end{array}\right)$$

Poprawność wyniku możesz sprawdzić na przykład w Excelu albo w LibreOffice Calc, które mają funkcje do pracy z macierzami.

Teraz kilka ogólnych informacji o mnożeniu macierzy. Przede wszystkim mnożenie macierzy nie jest przemienne. W ogólności nie zachodzi A · B = B · A, chociaż oczywiście taki przypadek może się zdarzyć. Mnożenie macierzy jest za to łączne. Względem dodawania jest nawet rozdzielne: A (B + C) = AB + AC. Jeśli mnożymy dwie macierze $a_{ix}\cdot b_{xn}$, to macierz wynikowa będzie wymiaru i × n (będzie miała tyle wierszy, ile wierszy ma pierwsza macierz, i tyle kolumn, ile kolumn ma druga macierz).

Przykłady

Mamy dane takie trzy macierze:

$$A=\left(\begin{array}{ccc}1&2&3\\4&5&6\\7&8&9\end{array}\right),,B=\left(\begin{array}{ccc}4&2&8\\10&12&4\\4&5&9\end{array}\right),,C=\left(\begin{array}{cc}8&9\\-5&4\\10&-1\end{array}\right).$$

Oblicz iloczyn macierzy A · B.

$$\left(\begin{array}{ccc}1&2&3\\4&5&6\\7&8&9\end{array}\right)\cdot \left(\begin{array}{ccc}4&2&8\\10&12&4\\4&5&9\end{array}\right) = \left(\begin{array}{ccc}36&41&43\\90&98&106\\144&155&169\end{array}\right)$$

Oblicz iloczyn macierzy B · A.

Uważaj, mnożenie macierzy nie jest przemienne, więc nie możemy z góry założyć, że wynik będzie taki sam jak w poprzednim przypadku. Musimy po prostu wszystko obliczyć od nowa:

$$\left(\begin{array}{ccc}4&2&8\\10&12&4\\4&5&9\end{array}\right) \cdot \left(\begin{array}{ccc}1&2&3\\4&5&6\\7&8&9\end{array}\right) = \left(\begin{array}{ccc}68&82&96\\86&112&138\\87&105&123\end{array}\right)$$

Oblicz iloczyny macierzy A · C i C · B.

$$\left(\begin{array}{ccc}1&2&3\\4&5&6\\7&8&9\end{array}\right)\cdot\left(\begin{array}{cc}8&9\\-5&4\\10&-1\end{array}\right) = \left(\begin{array}{cc}28&14\\67&50\\106&86\end{array}\right)$$

Drugiego przykładu nie możemy obliczyć, bo liczba kolumn pierwszej macierzy jest inna niż liczba wierszy drugiej macierzy.

Przekształcenia elementarne macierzy

Żeby móc sprawnie pracować z macierzami, musimy zdefiniować przekształcenia (operacje) elementarne na macierzach. Przede wszystkim możemy pomnożyć wiersz/kolumnę macierzy przez jakąś liczbę różną od zera. Działa to tak samo jak mnożenie macierzy przez liczbę k, tylko w tym jednym wierszu/kolumnie.

Druga operacja to dodanie do i-tego wiersza j-tego wiersza pomnożonego przez k. To samo dla kolumn. Brzmi to trochę strasznie, ale tak naprawdę jest proste. Pokażemy to dla k = 1. Weźmy taką macierz:

$$\left(\begin{array}{ccc}1&2&3\\4&5&6\\7&8&9\end{array}\right)$$

Teraz do pierwszego wiersza dodamy drugi wiersz. Weźmiemy więc drugi wiersz i liczby z odpowiadających pozycji dodamy do liczb z pierwszego wiersza. Z liczbami z drugiego wiersza nic się nie stanie, zmieni się tylko pierwszy wiersz:

$$\left(\begin{array}{ccc}5&7&9\\4&5&6\\7&8&9\end{array}\right)$$

Teraz możemy kontynuować przekształcenia. Spróbujemy dodać dwukrotność pierwszego wiersza do trzeciego wiersza. Wyjmiemy z tej nowo powstałej macierzy pierwszy wiersz, pomnożymy go przez dwa, dzięki czemu dostaniemy wiersz (10, 14, 18), i te liczby dodamy do trzeciego wiersza. Znowu — pierwszy wiersz się nie zmieni, zmieni się tylko trzeci wiersz:

$$\left(\begin{array}{ccc}5&7&9\\4&5&6\\17&22&27\end{array}\right)$$

Teraz dodamy z kolei do trzeciego wiersza sumę pierwszego i drugiego wiersza. W zasadzie to nic nowego, bo gdy do trzeciego wiersza dodamy najpierw drugi wiersz, a potem pierwszy wiersz, musimy dojść do tego samego wyniku. Suma pierwszego i drugiego wiersza będzie równa: (5, 7, 9) + (4, 5, 6) = (9, 12, 15). Suma tego wiersza z trzecim wierszem będzie wtedy równa: (9, 12, 15) + (17, 22, 27) = (26, 34, 42).

$$\left(\begin{array}{ccc}5&7&9\\4&5&6\\26&34&42\end{array}\right)$$

I jeszcze jedna operacja na kolumnach (tych zwykle nie używa się tak często, bo nie są tak przejrzyste). Dodamy pierwszą kolumnę do drugiej kolumny:

$$\left(\begin{array}{ccc}5&12&9\\4&9&6\\26&60&42\end{array}\right)$$

I na sam koniec pomnożymy drugi wiersz przez dwa:

$$\left(\begin{array}{ccc}5&12&9\\8&18&12\\26&60&42\end{array}\right)$$

Liniowa zależność

Teraz jeszcze wyjaśnimy, czym są wiersze/kolumny zależne. Wiersz jest liniowo zależny, jeśli ten wiersz da się wyrazić jako kombinację liniową pozostałych wierszy macierzy. Krótko mówiąc, jeśli potrafisz tak dodawać wiersze, żeby w końcu wyszedł ci szukany wiersz, to ten wiersz jest liniowo zależny. Przykład:

$$\left(\begin{array}{ccc}1&2&3\\4&5&6\\6&9&12\end{array}\right)$$

Jeśli weźmiesz dwukrotność pierwszego wiersza i drugi wiersz, dostaniesz wiersz trzeci. Jeśli od trzeciego wiersza odejmiesz tę kombinację, dostaniesz wiersz zerowy (wiersz zawierający same zera). Ten wiersz jest zależny. Przekształcenia wykonamy więc tak (pomnożymy pierwszy wiersz przez dwa, dodamy go do drugiego wiersza, odejmiemy od trzeciego):

$$\left(\begin{array}{ccc}1&2&3\\4&5&6\\6&9&12\end{array}\right)\sim \begin{pmatrix}2&4&6\\4&5&6\\6&9&12\end{pmatrix}\sim \begin{pmatrix}2&4&6\\6&9&12\\6&9&12\end{pmatrix}\sim \begin{pmatrix}2&4&6\\6&9&12\\0&0&0\end{pmatrix}$$

Jeśli mamy macierz A, która ma n wierszy, a Ai oznacza i-ty wiersz, to powiemy, że macierz nie zawiera wiersza liniowo zależnego, jeśli:

$$\alpha_1A_1+\alpha_2A_2+\ldots+\alpha_nA_n={\bf 0}$$

wtedy i tylko wtedy, gdy α1, α2, …, αn = 0. Zero po prawej stronie równania oznacza wiersz zerowy. Tzn. jeśli jedynym rozwiązaniem tego równania jest rozwiązanie zerowe. Jeśli znajdziemy inne rozwiązanie, to macierz zawiera wiersz liniowo zależny. Analogicznie dla kolumn. Dla poprzedniej macierzy zachodziłoby:

$$\begin{eqnarray} &&2\begin{pmatrix}1&2&3\end{pmatrix}+1\begin{pmatrix}4&5&6\end{pmatrix}-1\begin{pmatrix}6&9&12\end{pmatrix}=\\ &&=\begin{pmatrix}6&9&12\end{pmatrix}-\begin{pmatrix}6&9&12\end{pmatrix}=\begin{pmatrix}0&0&0\end{pmatrix} \end{eqnarray}$$

Wartości alfa są więc równe α1 = 2, α2 = 1, α3 = −1.

Liczbę niezależnych wierszy albo kolumn określa rząd macierzy.

Macierz nieosobliwa i osobliwa

Macierz nazywa się nieosobliwą, jeśli ma maksymalny rząd (tj. jeśli nie występuje w niej żaden wiersz liniowo zależny) i jeśli jest to macierz kwadratowa. Macierz kwadratowa nazywa się osobliwą, jeśli nie jest nieosobliwa (tj. jeśli macierz zawiera co najmniej jeden wiersz liniowo zależny). Te dwa pojęcia są dość ważne, a dokładniej często opierają się na nich jakieś definicje. Mnóstwo rzeczy jest zdefiniowanych tylko wtedy, gdy macierz jest nieosobliwa.

Powiązane artykuły