Matematika polopatě

Matice


Matice nad tělesem P je zobrazení {1, 2, …, n} × {1, 2, …, m} → P. Matice se obvykle označuje velkými tiskacími písmeny: A = (…). A teď česky.

Základní pojmy

Matice je zkrátka jakási tabulka o n sloupcích a m řádcích, přičemž toto značení řádků a sloupců nemusí být vždy stejné, na to pozor. V každé buňce tabulky je poté nějaké číslo nebo jiný výraz. Matice nemusí být pouze čistě číselná, i když se ze začátku dost pravděpodobně s jinými maticemi nesetkáte. Takže jak asi může vypadat matice:

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

Tato matice má dva řádky a tři sloupce. Prvky matice se značí pomocí indexů a namísto velkého písmene se používá malé písmeno: a11 = 0 nebo a23 = 51. První index udává řádek a druhý index sloupec.

Speciální typy matic

Matice mohou mít různé vlastnosti a některé spešl matice mají dokonce své vlastní názvy.

Čtvercová matice je matice, která má stejný počet řádků jako sloupců. aij; i = j. Pokud není matice čtvercová, je obdélníková. Příklad čtvercové matice:

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

Nulová matice je matice, která má na všech pozicích nuly. aij = 0.

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

Jednotková matice je matice, která má na hlavní diagonále jedničky a všude jinde nuly. Hlavní diagonála je jakoby „úhlopříčka“ zleva doprava. Zkrátka jsou to čísla na souřadnicích, kde se i = j.

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

Schodovitá matice je matice, která má nulové řádky na konci (nebo nemá žádné nulové řádky) a každý nenulový řádek má na začátku více nul než předchozí řádek.

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

Matice transponovaná k matici A je matice AT, u které platí aij = aTji. Zkrátka zaměníte řádky matice za sloupce.

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

Symetrická matice je matice, která se definuje jako A = AT. Prvky symetrické podle diagonály jsou stejné.

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

Antisymetrická matice je skoro totéž jako symetrická matice, akorát prvky na druhé straně mají opačné znaménko. A = −AT.

\left(\begin{array}{ccc}9&-3&-4\\3&7&5\\4&-5&2\end{array}\right)

Diagonální matice je matice, která má nuly všude kromě hlavní diagonály. Přesněji řečeno všude jinde musí být nuly, co je na hlavní diagonále není specifikováno.

\left(\begin{array}{ccc}9&0&0\\0&7&0\\0&0&2\end{array}\right)

Základní operace s maticemi

Matice můžeme sčítat, můžeme je násobit nějakým číslem a můžeme násobit i matice navzájem.

Sčítání matic je poměrně intuitivní. Pokud jsou matice stejného typu (= stejný počet sloupců a řádků), výsledná matice bude mít na stejných pozicích součty čísel na odpovídajících pozicích v předchozích maticích. Neboli aij + bij = cij.

\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)

Sčítání matic je zřejmě komutativní a asociativní. A + B = B + A a A + (B + C) = (A + B) + C.

Násobení matic číslem je vlastně také intutivní. Vezmete číslo a vynásobíte s ním každý prvek matice, nic víc. 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)

Násobení matic už je trochu horší záležitost, protože už není intuitivní, jak by člověk čekal. Nestačí pouze vynásobit odpovídající členy. V prvé řadě musí matice splňovat kritérium, že počet sloupců první matice musí být stejný jako počet řádků druhé matice. Zbytek může být libovolný. Nyní už můžeme nadefinovat součin:

\sum_{p=1}^{m}a_{ip}\cdot b_{pj}

To toho víte, co? Teď to zkusím objasnit i těm méně bystrým :-). Vemete první řádek první matice a první sloupec druhé matice. Nyní vynásobíte první prvek s prvním prvkem a sečtete s násobkem druhého prvku s druhým prvkem a sečtete atd. Tím získáte v nové matici C prvek c11. Úplně nejlepší bude příklad. Vynásobíme tyto dvě matice:

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

Nyní vybereme první řádek první matice a první sloupeček druhé matice:

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)

Pro přehlednost zápisu si nově vzniklou matici označíme C. Pokud chceme získat první prvek této matice, musíme vypočítat toto: c11 = a11 · b11 + a12 · b21. Upozorňuji, že na prvním místě je řádek, poté sloupec. Po dosazení dostáváme: 1 · 5 + 2 · 7 = 19. První prvek má hodnotu 19:

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

Další prvek, c12, získáme stejným způsobem, pouze vememe první řádek a druhý sloupec. Tímto zdlouhavým výpočtem vždy získáme ten prvek, který mají společný. První řádek a první sloupec mají společný prvek na souřadnicích c11, první řádek a druhý sloupec zase c12. Hezky to ukazuje následující obrázek:

součin maticSoučin matic

Teď už jen rychle donásobím zbytek matice:

c12 = a11 · b12 + a12 · b22 = 1 · 6 + 2 · 8 = 22.

c21 = a21 · b11 + a22 · b21 = 3 · 5 + 4 · 7 = 43.

c22 = a21 · b12 + a22 · b22 = 3 · 6 + 4 · 8 = 50.

Tato čísla už jen zapíšeme to matice:

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

Správnost výsledku si můžeme ověřit třeba v Excelu nebo v OpenOffisáckém Calcu, které obsahují funkce pro práci s maticemi.

Teď pár všeobecných informací o násobení matic. Předně násobení matic není komutativní. Obecně neplatí, že by A · B = B · A, ačkoliv samzořejmě takový případ může nastat. Ale násobení matic je asociativní. Se sčítáním je dokonce distributivní: A (B + C) = AB + BC. Pokud násobíme dvě matice aij · bmn, pak výsledná matice bude typu i × n (bude mít tolik řádků, kolik má první matice a tolik sloupců, kolik má druhá matice).

Máme dány tyto tři matice:

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).

Proveďte součin matic 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)

Proveďte součin matic B · A.


Pozor na to, že násobení matic není komutativní, takže určitě nemůžeme s jistotou říci, že výsledek bude stejný jako v předchozím případě. Musíme to zkrátka celé znova vypočítat:

\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)

Proveďte součin matic A · C a 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)

Druhý příklad nemůžeme vypočítat, protože počet sloupců první matice je jiný než počet řádků druhé matice.

Základní maticové úpravy

Abychom mohli s maticemi efektivně pracovat, musíme si nadefinovat nějaké elementární maticové úpravy. Předně můžeme vynásobit řádek/sloupec matice nějakým číslem různým od nuly. Vynásobení se projeví stejně jako k-násobek matice, ale pouze v onom řádku/sloupci.

Druhá úprava je přičtení k-násobku j-tého řádku k i-tému řádku. Totéž pro sloupce. Zní to trochu strašidelně, ale je to ve skutečnosti jednoduché. Předvedeme si to pro k = 1. Budeme mít tuto matici:

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

Nyní k prvnímu řádku přičteme druhý řádek. Vememe tedy druhý řádek a čísla na ekvivalentních pozicích přičteme k číslům z prvního řádku. S čísly ze druhého řádku se nic nestane, změní se jen první řádek:

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

Nyní můžeme v úpravách pokračovat. Teď zkusíme přičíst dvojnásobek prvního řádku ke třetímu řádku. Vytáhneme z této nově vzniklé matice první řádek, vynásobíme ho dvěma a tato čísla přičteme ke třetímu řádek. Opět — první řádek se nezmění, změní se pouze třetí řádek:

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

Teď přičteme zase ke třetímu řádku součet prvního a druhého řádku. V podstatě to není nic nového, protože když ke třetímu řádku přičteme nejprve druhý řádek a poté první řádek, musíme dojít ke stejnému výsledku.

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

A ještě jedna sloupcová úprava (ty se obvykle nepoužívají tak často, protože nejsou tolik přehledné). Přičteme první sloupec ke druhému sloupci:

\left(\begin{array}{ccc}5&12&9\\4&9&6\\26&50&39\end{array}\right)

A úplně naposledy vynásobíme druhý řádek dvojkou:

\left(\begin{array}{ccc}5&12&9\\8&18&12\\26&50&39\end{array}\right)

Teď si ještě vysvětlíme, co jsou to závislé řádky/sloupce. Řádek je lineárně závislý, pokud tento řádek lze vyjádřit jako lineární kombinací ostatních řádků matice. Zkrátka pokud budete schopni různě posčítat řádky tak, aby vám nakonec vyšel hledaný řádek, je tento řádek lineárně závislý. Příklad:

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

Vezmete-li dvojnásobek prvního řádku a druhý řádek, dostanete řádek třetí. Pokud od třetího řádku odečtete tuto kombinaci, dostanete nulový řádek (řádek obsahující samé nuly). Tento řádek je závislý.

Hodnost matice

Už známe všechno potřebné k tomu, abychom si mohli zavést pojem hodnost matice. Hodnost matice je maximální počet lineárně nezávislých řádků/sloupců v matici. Nulová matice má hodnost nula, každá jiná matice má hodnost alespoň jedna. Z toho vyplývá, že matice typu m × n může nabývat hodnosti maximálně min(m, n).

Teď jak se hodnost matice počítá. No. Je to celkem jednoduché. Musíte matici upravit do takového podoby, ze které už bude jasně vidět, které řádky jsou lineárně nezávislé. To se nejčastěji provádí tak, že se matice upraví do schodovitého tvaru (pod diagonálou samé nuly) a pak už je vidět, jak na tom ta matice je. Šupity presto na příklad — máme tuto matici:

\left(\begin{array}{ccc}1&2&1\\1&1&-1\\1&3&3\end{array}\right)

A máme zjistit její hodnost. Teď si musíme uvědomit jednu drobnost. Máme-li dva řádky, které jsou plné čísel různých od nuly, mohou být teoreticky lineárně závislé. Museli bychom to počítat. Pokud ale jeden z těch řádků bude mít na nějakém místě nulu, přičemž ten druhý řádek na stejném místě nulu nemá, můžeme s jistotou tvrdit, že závislé nejsou. Nenajdeme totiž žádné číslo, kterým bychom mohli vynásobit tu nulu (potažmo celý řádek), abychom tam dostali totéž číslo, jako se nachází v druhém řádku. Proto se vždy budeme snažit upravovat matice do schodovitého tvaru, abychom tam ony nuly dostali.

Postup bývá obvykle takovýto: nejprve dostaneme nuly do prvního sloupce (kromě prvního řádku). Poté upravujeme matici dále tak, abychom dostali nuly ve druhém sloupci, pak třetí atd. atd. atd. až z toho nakonec máme schodovitý tvar. Sečteme nenulové řádky a ejhle tuť hle, máme hodnost matice.

V naší předchozí matici budeme úpravy provádět takto: Podíváme se, jaký je vztah mezi prvky a11 a a21. Vidíme, že jsou stejné, takže abychom na místě a21 dostali nulu, musíme přičíst −1 násobek prvního řádku. Let's do it! Přičteme −1 násobek prvního řádku ke druhému řádku (neboli od druhého řádku odečteme první):

\left(\begin{array}{ccc}1&2&1\\1&1&-1\\1&3&3\end{array}\right)

Teď máme nulu tam, kde jsme ji chtěli mít. Nyní ještě musíme dostat nulu na pozici a31. Tam je zase jednička, takže jen odečteme první řádek:

\left(\begin{array}{ccc}1&2&1\\0&-1&-2\\0&1&2\end{array}\right)

Teď už máme nuly v prvním sloupci, takže se s chutí pustíme na druhý sloupec. Vidíme, že čísla a22 a a32 jsou opačná, takže stačí řádky sečíst:

\left(\begin{array}{ccc}1&2&1\\1&1&-1\\0&0&0\end{array}\right)

HA! A dostali jsme tam jeden nulový řádek. Úpravy jsou již hotové, dostali jsme se do schodovitého tvaru. Nyní už jen sečteme nenulové řádky a máme hodnost. Ta je rovna rank A = 2. Tato matice měla hodnost dva. Teď zkusíme vypočítat hodnost trochu větší matice:

\left(\begin{array}{cccc}7&2&5&1\\1&3&5&-7\\4&-5&1&0\\2&8&10&-9\end{array}\right)

Hodnost matice je maximální počet lineárně nezávislých řádků, takže si můžeme dovolit si v matice rozpřeházet řádky jak je nám libo. Zde by se třeba hodilo mít řádek s jedničkou na začátku úplně nahoře, ať se nám lépe počítá. Můžeme tedy bez obav přesunout první s druhým řádkem:

\left(\begin{array}{cccc}7&2&5&1\\1&3&5&-7\\4&-5&1&0\\2&8&10&-9\end{array}\right)

Teď budeme postupovat stejně jako v předchozím příkladě. Musíme v prvním sloupci mít samé nuly (samozřejmě místo prvního řádku), takže k druhému řádku přičteme −7 násobek prvního řádku, ke třetímu −4 násobek a k poslednímu −2 násobek. První řádek zůstane nezměněn:

\left(\begin{array}{cccc}7&2&5&1\\1&3&5&-7\\4&-5&1&0\\2&8&10&-9\end{array}\right)

Opět prohodíme řádky, tentokrát bychom měli dostat poslední řádek namísto druhého řádku, kvůli té dvojky na druhé pozici. Prohodíme druhý a čtvrtý řádek:

Ale vidíme, že pod dvojkou máme čísla −17 a −19. Ani jedno z těch čísel není dělitelné dvěma, což je takové nešikovné, dokonce až mrzké. Proto nyní třetí a čtvrtý řádek vynásobíme dvěma:

Teď můžeme postupovat v úpravách a ve snaze vynulovat druhý sloupec. Ke třetímu řádku přečteme 17 násobek druhého řádku a ke čtvrtému 19 násobek:

Tak, teď jsme dostali dost — na další úpravu — nešikovná čísla, ale už jen letmým pohledem zjistíme, že třetí a čtvrtý řádek závislý není. Z toho vyplývá, že zadané matice má hodnost čtyři.

Regulární a singulární matice

Matice se nazývá regulární, jestliže má maximální hodnost (tj. pokud se v ní nevyskytuje žádný lineárně závislý řádek) a jestliže je to matice čtvercová. Čtvercová matice se nazývá singulární, jestliže není regulární (tj. jestliže matice obsahuje alespoň jeden lineárně závislý řádek). Tyhle dva pojmy jsou docela důležité, respektive často na nich stojí nějaké definice. Spousta věcí je definována, jen pokud je matice regulární.

Inverzní matice

Poslední speciální typ matice je matice inverzní. Inverzní matice se může počítat pouze z matice čtvercové, na obdélníkové matici není inverzní matice definována. Inverzní matice k matici A (značíme A−1) dále existuje jen tehdy, je-li matice regulární. Tato matice je pak určena jednoznačně. Stručně k vlastnostem inverzní matice:

A hlavně nejdůležitější vlastnost inverzní matice (což je zároveň také definice inverzní matice):

E je jednotková matice.

A teď k metodě výpočtu inverzní matice. Nejjednodušší algoritmus je Gaussova eliminační metoda, která spočívá v tom, že upravujete matici A do jednotkového tvaru a vedle této matice si napíšete jednotkovou matici a na tuto matici provádíte stejné úpravy jako na matici A. Na konci výpočetního procesu máte nalevo matici A upravenou na jednotkovou matici a napravo inverzní matici. Vyzkoušejme si to na jednoduchém příkladu:

Letmým kouknutím zjistíme, že matice je regulární, takže má smysl počítat inverzní matici. Počítáme-li inverzní matici, obvykle to zapisujeme ve tvaru:

Nyní tu levou matici upravíme na jednotkovou matici a identické úpravy budeme provádět na pravé matici. Přičteme −3 násobek prvního řádku ke druhému. Nejprve levá matice:

Teď přičteme −3 násobek první řádku pravé matice k druhému řádku pravé matice:

Teď musíme dostat nulu na pozici a12. Stačí, když k prvnímu řádku přičteme druhý řádek. Nyní již provedu obě úpravy v jednom kroku:

A teď se zbavíme té minus dvojky tím, že celý řádek vydělíme minus dvěma:

Výsledná inverzní matice je:

Nahoru | Matematika polopatě | Lukáš Havrlant | Kontakt | 2006—2008