Cvičení 5 - Inverzní matice Pojem – Inverzní matice Buď A ∈ Rn×n . A−1 je inverzní maticí k A, pokud platí, AA−1 = A−1 A = In . Matice A−1 , pokud existuje, je jednoznačná. A stačí nám jen jedna rovnost, aby platilo, že matice je inverzní. Platí: 1. (A−1 )−1 = A 2. (A−1 )T = (AT )−1 3. (αA)−1 = α1 A−1 pro 6= 0 4. (AB)−1 = B −1 A−1 Příklad 0: Proč platí vlastnost 4.? Řešení: To je díky tomu, že (AB)(B −1 A−1 ) = A(BB −1 )A−1 = AA−1 = In Ze stejných důvodů platí (ABC)−1 = C −1 B −1 A−1 . Příklad 1: Dejme tomu, že ještě nevíme, jak počítat inverzi. Spočítejte inverzní matici k matici 2 −3 A= 4 4 Řešení: Podíváme se, co vlastně chceme 2 −3 a b 1 0 · = 0 1 4 4 c d Podle definice maticového násobení nám to vede na rovnice 2a − 3c = 1 3 2b − 3d = 0 → b = d 2 4a + 4c = 0 → a = −c 4b + 4d = 1
1
Což po vyřešení dává koeficienty a, b, c, d, a z nich dostaneme matici 1 3 −1 5 20 A = 1 − 51 10
F Pokud úplně stejným způsobem budeme chtít spočítat inverzní matici pro matici α β A= γ δ Dostaneme −1
A
1 · = αδ − βγ
δ −β −γ α
pro αδ − βγ 6= 0. Z čehož nám vyplývají dvě věci: 1. Změna jednoho koeficientu v původní matici se promítne všech koeficientů inverzní matice 2. A naopak koeficient v inverzní matici závisí na všech koeficientech v původní matici Z toho vyplývá, že inverzní matice je numericky nestabilní a numerikové ji neradi používají. Naštěstí jen v málo případech je potřeba počítat přímo inverzi, lze ji často obejít, například řešením soustav rovnic. Jak tedy počítat inverze pro větší matice? Například Gauss-Jordanovou eliminací. Historické okénko – Wilhelm Jordan (1842-1899) • Pozor nikoli Camille Jordan (Jordanův normální tvar matice), žili současně • profesor geodézie na vysokém technickém učení v Karlsruhe • současně s touto eliminací přišel i jeden francouz • Jordan ji publikoval v roce 1888 Pojem – Regulární matice Čtvercová matice A řádu n je regulární ⇔ Ax = 0 má pouze triviální řešení ⇔ A má hodnost = n ⇔ k A existuje inverzní matice. Pojem – Matice elementárních úprav Elementární řádkové úpravy na matici A lze vyjádřit jako násobení A nějakou maticí zleva, sloupcové úpravy pak násobením stejnou maticí zprava. Matice elementárních úprav E jsou regulární, a tedy pokud A je regulární, pak EA je také regulární. Například díky 2
existenci inverzní matice A−1 E −1 . F Ukážeme si jak vypočítat inverzní matici a dvě zdůvodnění proč to platí. Začínáme s maticí (A|I), kde A je matice, kterou chceme invertovat a I je jednotková matice odpovídajících rozměrů. Provádíme na obou maticích zároveň řádkové úpravy dokud to jde anebo dokud nepřevedeme matici A do RREF tvaru, tedy pokud jsme došli do konce ten bude jednotková matice. Na pravé straně pak stojí inverzní matice k naší A. Proč to ale platí? Ukážeme dvě vysvětlení: 1) Z přednášky víme, že řádkové úpravy jdou reprezentovat jako násobení původní matice zprava odpovídajícími regulárními maticemi. Budeme je značit Ei pro i-tou řádkovou operaci. V matici to pak bude vypadat takto Ek . . . E2 E1 A Ek . . . E2 E1 I {z } {z } | A I ∼ E1 A E1 I ∼ E2 E1 A E2 E1 I ∼ | B
B
Poslední matice odpovídá matici (I|B), kde B = Ek . . . E2 E1 I. No ale pokud se podíváme na levou část této matice, zjistíme, že je to matice BA. Pokud bychom chtěli být důslední, řekli bychom, že to plyne z asociativity násobení matic a sice, že platí Ek (. . . (E2 (E1 A)) . . .) = (Ek . . . E2 E1 )A. Po vynásobení AB dává jednotkovou matici, B je tedy hledaná inverzní matice. 2) Můžeme úlohu rozkouskovat po jednotlivých sloupečcích. Budeme hledat nejprve jeden i-tý sloupeček inverzní matice B k matici A. Řešíme rovnici Axi = ei , kde ei je i-tý sloupec jednotkové matice I a xi je vektor. Soustavu budeme řešit GaussJordanovou eliminací. V G-J eliminaci máme na levé straně jednotkovou matici, pokud je původní matice A regulární, takže na pravé straně se nám rovnou objeví řešení soustavy. Je jasně vidět, že když tento postup provedeme pro všechny sloupce i spočítáme postupně inverzní matici. Bude nám platit (a kdo to nevidí, má opět smůlu!) | | | | A · x1 . . . xn = e1 . . . en . | | | | Co nám ale brání, abychom G-J eliminaci provedli pro všechny sloupce najednou? Nic! Můžeme je dát do matice, která bude mít několik pravých stran – všechny jednotkové vektory z jednotkové matice (A|I), pokud to lze, zeliminujeme na (I|B) a nyní by již mělo být jasné, proč B je inverzní matice k A.
3
Příklad 2: Najděte inverzní matici k matici 1 1 1 3 3 A= 2 −1 −3 −2 Řešení: Úpravy jsou zřetelné z matic 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 1 1 1 2 3 3 0 1 0 ∼ 0 1 1 −2 1 0 ∼ 0 1 1 −2 1 0 ∼ −1 −3 −2 0 0 1 −1 −3 −2 0 0 1 0 −2 −1 1 0 1
0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 4 −2 −1 ∼ 0 1 1 −2 1 0 ∼ 0 1 0 1 −1 −1 ∼ 0 1 0 1 −1 −1 ∼ 0 0 1 −3 2 1 0 0 1 −3 2 1 0 0 1 −3 2 1
tedy A
−1
1 0 0 3 −1 0 ∼ 0 1 0 1 −1 −1 . 0 0 1 −3 2 1
3 −1 0 1 −1 −1 . = −3 2 1
Správnost ověříme vynásobením A · A−1 . Příklad 3: Najděte matici X splňující X = AX + B, pro 0 −1 0 1 0 0 −1 , B = 2 A= 0 0 0 3
matice 2 1 . 3
Řešení: Stačí nahlédnout, že
1 −1 1 1 2 2 4 X = (I − A)−1 B = 0 1 −1 · 2 1 = −1 −2 . 0 0 1 3 3 3 3
Příklad 4: Jak vypadá inverzní matice k diagonální matici?
4
Řešení: Musí zaprvé platit pro původní matici ∀dii 6= 0, pak inverzní matice vypadá takto: 1 . . . 0 d11 . . . 0 d11 .. . . . . . . . .. = .. . . . .. . 1 0 . . . dnn 0 . . . dnn Příklad 5: Existuje nějaká nediagonální matice tž. A = A−1 ? Řešení: −1 −1 0 1 A1 = , A2 = . 0 1 1 0
F Maticová inverze je hezký teoretický nástroj, který se nám bude hodit v důkazové technice. A později si ukážeme ještě spoustu pěkných výsledků spojených s maticovou inverzí. V praktickém počítání se jí však snažíme vyhnout. Jak jsme totiž viděli výše, maličká změna jednoho koeficientu matice A se promítně do všech koeficientů matice A−1 . Proto soustavu Ax = b typicky neřešíme jako x = A−1 b (samozřejmě pokud je A regulární). Jacobiho metoda Naproti tomu při počítání řešení soustavy můžeme využít, že se inverzní matice k některým maticím počítá snadno. Viz třeba diagonální matice a příklad 4. Ukážeme si tzv. iterační metodu pro řešení soustavy rovnic, konkrétně Jacobiho metodu. Pokud máme nějakou soustavu Ax = b můžeme si matici a přepsat jako A = E + D + F , kde E je horní trojúhelníková, D je diagonální matice, F je dolní trojúhelníková. Prostě roztrhnu původní matici na horní trojúhelník a dám ji do matice E, pak vezmu diagonálu a dám ji do matice D a podobně s maticí F . Celou soustavu můžeme přepsat jako (E + D + F )x = b. A to se dá upravit jako Dx = −(E + F )x + b. Dále jako x = −D−1 (E + F )x + D−1 b. Vytvoříme z této formule iterační vzorec xk+1 = −D−1 (E + F )xk + D−1 b. Kde začneme s nějakým x0 jako počátečním odhadem vektoru řešení (třeba samé jedničky) a další x1 vypočítáme podle předchozího předpisu. Pokud jsou matice se kterými pracujeme rozumné (chovají se numericky dobře) daný algoritmus by měl zkonvergovat do ekvilibria kdy pro nějaké k platí xk = xk+1 . Typicky to může trvat mnoho iterací, a nemusí nikdy 5
skončit díky chybám v zaokrouhlováních na počítači, proto často končíme když jsou nějaká dvě po sobě jdoucí řešení blízká. Jinými slovy |xk+1 − xk | < , pro nějaké předem zvolené > 0.
6