Kapitola 3

Počítání s maticemi

Matice stejného typu můžeme sčítat a násobit reálným číslem podobně jako vektory téže dimenze.

Definice 3.1 Jsou-li A = (a_{ij}) a B = (b_{ij}) dvě matice stejného typu m×n, pak definujeme jejich součet jako matici A + B = (c_{ij}), kde c_{ij} = a_{ij} + b_{ij} pro libovolné indexy i = 1, 2, …, m a j = 1, 2, …, n.

Součin matice A a čísla α definujeme jako matici αA = (d_{ij}) typu m×n, kde d_{ij} = αa_{ij} pro libovolné indexy i, j.

Zavedeme si také označení 0_{m×n} pro nulovou matici typu m × n. Ta má všechny prvky rovné 0. Je-li typ nulové matice zřejmý ze souvislostí, budeme ji značit pouze 0. Pro libovolnou matici A = (a_{ij}) typu m × n označujeme symbolem −A = (−1)A = (−a_{ij}) opačnou matici k matici A.

Cvičení 3.1 Matice A, B, C jsou stejného typu m × n, α, β jsou čísla. Dokažte následující vlastnosti sčítání matic a násobení matic číslem.

1. (A + B) + C = A + (B + C),

2. A + B = B + A,

3. A + 0 = A,

4. A + (−A) = 0,

5. (αβ)A = α(βA),

6. α(A + B) = αA + αB,

7. (α + β)A = αA + βA, 8. 1A = A.

Následující definice je zobecněním vztahu mezi sloupcovým a řádkovým zápisem vektorů.

Definice 3.2 Transponovaná matice k matici A typu m×n je matice A^{T} = (b_{ij}) typu n × m, kde b_{ij} = a_{ji} pro libovolné indexy i = 1, 2, …, m a j = 1, 2, …, n.

Například

( \begin{matrix}1 & 2 & 3 & 4 & 5 \\ 1 & 2 & 3 & 8 & 5 \\ 2 & 3 & 4 & 5 & 6 \end{matrix} )^{T} = ( \begin{matrix}1 & 1 & 2 \\ 2 & 2 & 3 \\ 3 & 3 & 4 \\ 4 & 8 & 5 \\ 5 & 5 & 6 \end{matrix} ) .

Cvičení 3.2 Dokažte, že pro libovolné matice A, B stejného typu platí

• (A + B)^{T} = A^{T} + B^{T},

• (αA)^{T} = αA^{T},

• (A^{T})^{T} = A.

Dále zavedeme názvy pro několik speciálních typů matic. Je-li A = (a_{ij}) čtvercová matice řádu n, pak říkáme, že prvky a_{ii} pro i = 1, 2, …, n leží na hlavní diagonále matice A. Ostatní prvky a_{ij}, kde i ≠ j, leží mimo hlavní diagonálu.

Definice 3.3 Symbolem I_{n} budeme označovat čtvercovou matici (a_{ij}) řádu n, která má na hlavní diagonále samé prvky 1 a mimo hlavní diagonálu samé prvky 0:

I_{n} = ( \begin{matrix}1 & 0 & ⋯ & 0 \\ 0 & 1 & ⋯ & 0 \\ ⋮ & ⋮ & ... & ⋮ \\ 0 & 0 & ⋯ & 1 \end{matrix} )

Tuto matici budeme nazývat jednotková matice řádu n.

Čtvercová matice B = (b_{ij}) se nazývá symetrická matice, jestliže platí b_{ij} = b_{ji} pro libovolné indexy i, j, tj. jestliže platí B^{T} = B.

Čtvercová matice B = (b_{ij}) se nazývá kososymetrická matice, jestliže platí b_{ij} = −b_{ji} pro libovolné indexy i, j, tj. platí-li B^{T} = −B.

Základní definicí této kapitoly je definice součinu matic.

Definice 3.4 Je-li A = (a_{ij}) matice typu m × n a B = (b_{jk}) matice typu n × p, pak definujeme součin matic AB = (c_{ik}) jako matici typu m × p, kde

c_{ik} = ∑_{j=1}^{n}a_{ij}b_{jk}.

Podle této definice můžeme násobit pouze takové dvojice matic, u kterých se počet sloupců první matice rovná počtu řádků druhé matice. Stejně jako v případě součtu matic tak ani součin matic není definován pro libovolné dvě matice.

Prvek na místě (i, k) součinu AB se rovná standardnímu skalárnímu součinu i-tého řádku matice A s j-tým sloupcem matice B. Neformální vyjádření pro způsob výpočtu součinu matic říká, že matice násobíme způsobem “řádek×sloupec”.

Cvičení 3.3 Spočítejte součin několika dvojic matic. Spočítejte oba součiny AB a BA pro nějaké dvě čtvercové matice stejného řádu. Je násobení matic komutativní, tj. platí AB = BA pro libovolné dvě matice A typu m × n a B typu n × m? Platí to pro libovolné dvě čtvercové matice řádu n?

Soustavu m lineárních rovnic o n neznámých

a_{11}x_{1} + a_{12}x_{2} + ⋯ + a_{1n}x_{n} = b_{1},
a_{21}x_{1} + a_{22}x_{2} + ⋯ + a_{2n}x_{n} = b_{2},
⋮
a_{m1}x_{1} + a_{m2}x_{2} + ⋯ + a_{mn}x_{n} = b_{m}.

tak nyní můžeme vyjádřit pomocí součinu matic ve tvaru

Ax = b,

kde A = (a_{ij}) je matice soustavy, b = (b_{1}, …, b_{m})^{T} je sloupcový vektor pravých stran a x = (x_{1}, …, x_{n})^{T} je sloupcový vektor neznámých.

Cvičení 3.4 Je-li A matice typu m × n, pak platí

I_{m}A = A = AI_{n}.

Dokažte.

Jakkoliv vypadá definice součinu matic na první pohled uměle, ve skutečnosti je přirozená a lze ji odůvodnit, skládáme-li zobrazení ve dvoudimenzionálním aritmetickém reálném vektorovém prostoru.

Úloha 3.1 Označme symbolem f zobrazení, které je na prostoru R^{2} definované předpisem

f ( \begin{matrix}x \\ y \end{matrix} ) = ( \begin{matrix}ax + by \\ cx + dy \end{matrix} ) ,

kde a, b, c, d jsou reálná čísla. Podobně označíme g : R^{2} → R^{2} zobrazení definované předpisem

g ( \begin{matrix}x \\ y \end{matrix} ) = ( \begin{matrix}Ax + By \\ Cx + Dy \end{matrix} ) ,

kde A, B, C, D jsou také reálná čísla. Popište, jak vypadá složené zobrazení g ∘ f.

Řešení. Všimněte si, že předpis pro zobrazení f můžeme pomocí násobení matic vyjádřit následovně:

f ( \begin{matrix}x \\ y \end{matrix} ) = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ( \begin{matrix}x \\ y \end{matrix} ) .

Lze říct, že

A = ( \begin{matrix}a & b \\ c & d \end{matrix} )

je matice zobrazení f. Podobně rovnost

g ( \begin{matrix}x \\ y \end{matrix} ) = ( \begin{matrix}A & B \\ C & D \end{matrix} ) ( \begin{matrix}x \\ y \end{matrix} )

ukazuje, že matici

B = ( \begin{matrix}A & B \\ C & D \end{matrix} )

můžeme považovat za matici zobrazení g.

Pokusíme se najít podobné maticové vyjádření pro složené zobrazení g ∘ f. Platí

(g ∘ f) ( \begin{matrix}x \\ y \end{matrix} ) = gf ( \begin{matrix}x \\ y \end{matrix} ) = g ( \begin{matrix}ax + by \\ cx + dy \end{matrix} ) =

= ( \begin{matrix}A(ax + by) + B(cx + dy) \\ C(ax + by) + D(cx + dy) \end{matrix} ) =

= ( \begin{matrix}(Aa + Bc)x + (Ab + Bd)y \\ (Ca + Dc)x + (Ay + Bd)y \end{matrix} ) =

= ( \begin{matrix}Aa + Bc & Ab + Bd \\ Ca + Dc & Cb + Dd \end{matrix} ) ( \begin{matrix}x \\ y \end{matrix} ) =

= (( \begin{matrix}A & B \\ C & D \end{matrix} ) ( \begin{matrix}a & b \\ c & d \end{matrix} )) ( \begin{matrix}x \\ y \end{matrix} ) .

Výpočet ukazuje, že matice složeného zobrazení g ∘ f se rovná součinu BA matic zobrazení g a f (v tomto pořadí). □

Následující cvičení udává, kolik aritmetických operací je třeba provést pro výpočet součinu matic.

Cvičení 3.5 Jsou-li A, B dvě čtvercové matice řádu n, pak pro výpočet součinu AB potřebujeme nejvýše

n^{3}  násobení/dělení, a
n^{3} − n^{2} sčítání/odčítání.

Násobení a sčítání matic mají některé vlastnosti společné s násobením a sčítáním čísel.

Tvrzení 3.5 Jsou-li A = (a_{ij}), B = (b_{kl}) a C = (c_{uv}) matice, pak platí

• A(B + C) = AB + AC,

• (A + B)C = AC + BC,

• (AB)C = A(BC)

za předpokladu, že všechny součty a součiny matic v příslušné rovnosti jsou definovány.

Důkaz. Označíme-li m počet řádků a n počet sloupců matice A, pak obě matice B, C musí mít n řádků, protože součiny AB a AC jsou definovány. Označíme-li p počet sloupců matice B, pak matice C musí mít také p sloupců, protože součet B + C je definovaný. Obě matice A(B + C) a AB + AC jsou proto typu m × p. Ukážeme, že pro každé i = 1, 2, … m a každé k = 1, 2, …, p jsou čísla na stejném místě (i, k) v obou maticích A(B + C) a AB + AC stejná.

Pro každé j = 1, 2, …, n se číslo na místě (j, k) v součtu B + C rovná b_{jk} + c_{jk}. Prvek na místě (i, k) v součinu A(B + C) se proto rovná

∑_{j=1}^{n}a_{ij}(b_{jk} + c_{jk}) = ∑_{j=1}^{n}(a_{ij}b_{jk} + a_{ij}c_{jk}).

Prvek na místě (i, k) v součinu AB se rovná

∑_{j=1}^{n}a_{ij}b_{jk}

a prvek na místě (i, k) v součinu AC se rovná

∑_{j=1}^{n}a_{ij}c_{jk}.

Proto je prvek na místě (i, k) v součtu AB + AC rovný

∑_{j=1}^{n}(a_{ij}b_{jk} + a_{ij}c_{jk}).

Prvky na stejných místech v maticích A(B+C) a AB+AC jsou shodné, což dokazuje první rovnost.

Všimněte si, že právě dokázaná distributivita násobení matic vzhledem k jejich sčítání je bezprostředním důsledkem distributivity násobení reálných čísel vzhledem k jejich sčítání.

Pokud jste si udělali celé Cvičení 3.3 tak víte, že násobení matic není komutativní. Druhá rovnost v Tvrzení 3.5 tak není důsledkem právě dokázané rovnosti a je nutné ji dokázat zvlášť. Dokažte si ji sami jako další cvičení.

V případě asociativity násobení matic označme m počet řádků matice A a n počet sloupců A. Matice A je tedy typu m × n. Protože součin AB matic A a B je definovaný, musí být počet řádků matice B rovný n. Je-li počet sloupců matice B rovný p, tj. je-li matice B typu n×p, pak z existence součinu BC plyne, že počet řádků matice C se také rovná p. Matice C je tedy typu p × q, kde q označuje počet sloupců C.

Součin AB má potom typ m × p, jeho prvky si označíme

d_{ik} = ∑_{j=1}^{n}a_{ij}b_{jk}.

Prvek na místě (i, l) v součinu (AB)C se tak rovná

∑_{k=1}^{p} d_{ik}c_{kl} = ∑_{k=1}^{p}(∑_{j=1}^{n}a_{ij}b_{jk})c_{kl} = ∑_{k=1}^{p} ∑_{j=1}^{n}(a_{ij}b_{jk})c_{kl} = ∑_{j=1}^{n} ∑_{k=1}^{p} a_{ij}b_{jk}c_{kl}.

Poslední rovnost vyplývá z komutativity sčítání a asociativity násobení reálných čísel.

Matice BC = (e_{jl}) je typu n × q. Prvek e_{jl} má podle definice násobení matic vyjádření

e_{jl} = ∑_{k=1}^{p} b_{jk}c_{kl}.

Prvek na místě (i, l) v součinu A(BC) se tak rovná

∑_{j=1}^{n}a_{ij}e_{jl} = ∑_{j=1}^{n}a_{ij} ∑_{k=1}^{p} b_{jk}c_{kl} = ∑_{j=1}^{n} ∑_{k=1}^{p} a_{ij}(b_{jk}c_{kl}) = ∑_{j=1}^{n} ∑_{k=1}^{p} a_{ij}b_{jk}c_{kl}.

Tím je důkaz asociativity násobení dokončen. □

Další dvě cvičení se týkají transponovaných matic.

Cvičení 3.6 Matice A má typ m × n a matice B má typ n × p. Dokažte, že platí

• (AB)^{T} = B^{T} A^{T}.

Změna pořadí matic v součinu B^{T} A^{T} je nutná kvůli tomu, aby je vůbec bylo možné násobit.

Cvičení 3.7 Dokažte, že pro každou matici A jsou součiny AA^{T} a A^{T} A symetrické matice. Musíte počítat jednotlivé prvky v těchto maticích?

Dříve, než se začneme zabývat strukturou součinu matic, uvedeme ještě jednu definici.

Definice 3.6 Jsou-li a a b_{1}, b_{2}, …, b_{k} vektory stejné dimenze n, pak říkáme, že vektor a je lineární kombinací vektorů b_{1}, b_{2}, …, b_{k}, jestliže

a = t_{1}b_{1} + t_{2}b_{2} + ⋯ + t_{k}b_{k}

pro nějaká čísla t_{1}, t_{2}, …, t_{k}. Těmto číslům říkáme koeficienty lineární kombinace. Skutečnost, že vektor a je lineární kombinací vektorů b_{1}, b_{2}, …, b_{k}, vyjadřujeme také slovy, že vektor a je lineárně závislý na vektorech b_{1}, b_{2}, …, b_{k}.

Vyřešit soustavu lineárních rovnic Ax = b znamená najít (všechna) vyjádření sloupce pravých stran jako lineární kombinace sloupců matice A.

Tvrzení 3.7 Jsou-li A = (a_{ij}) matice typu m × n a B = (b_{jk}) matice typu n × p, pak platí

• [AB]_{i∗} = A_{i∗}B = ∑_{j=1}^{n} a_{ij}B_{j∗} pro libovolné i = 1, 2, …, m,

• [AB]_{∗k} = AB_{∗k} = ∑_{j=1}^{n} b_{jk}A_{∗j} pro libovolné k = 1, 2, …, p.

První rovnost pro i-tý řádek součinu AB říká, že se rovná součinu i-tého řádku matice A s maticí B. Druhá rovnost pak říká, že je lineární kombinací řádků matice B s koeficienty v i-tém řádku matice A. Podobně k-tý sloupec v součinu AB se rovná součinu matice A s k-tým sloupcem matice B. Rovná se také lineární kombinaci sloupců matice A s koeficienty v k-tém sloupci matice B.

Důkaz. Dokážeme pouze vyjádření sloupců v součinu. Důkaz pro řádky je analogický.

Prvek na místě (i, k) v součinu AB, tj. i-tá souřadnice sloupcového vektoru [AB]_{∗k}, se rovná

∑_{j=1}^{n}a_{ij}b_{jk}.

Podobně i-tá souřadnice sloupcového vektoru AB_{∗k} se rovná

∑_{j=1}^{n}a_{ij}b_{jk}.

Nakonec i-tá souřadnice lineární kombinace b_{1k}A_{∗1} + b_{2k}A_{∗2} + ⋯ + b_{nk}A_{∗n} se rovná

∑_{j=1}^{n}b_{jk}a_{ij} = ∑_{j=1}^{n}a_{ij}b_{jk}.

Všechna tři čísla jsou stejná, proto se tři uvedená vyjádření pro k-tý sloupec součinu AB rovnají. □

Inverzní matice

Definice 3.8 Jsou-li A a B dvě čtvercové matice stejného řádu n, pak říkáme, že B je inverzní matice k matici A, jestliže platí

AB = I_{n}.

Pokud existuje inverzní matice k matici A, označujeme ji A^{−1}. Čtvercová matice A se nazývá regulární, jestliže existuje inverzní matice A^{−1}. V opačném případě se nazývá singulární.

Inverzní matice tedy může existovat pouze ke čtvercové matici. Jak zjistíme, jestli k dané čtvercové matici A = (a_{ij}) existuje inverzní matice A^{−1}? A pokud existuje, jak ji spočítáme? Těmito otázkami se budeme nyní zabývat.

Označíme symbolem e_{k} k-tý sloupec jednotkové matice I_{n} řádu n. Vektor e_{k} má všechny souřadnice rovné 0 s výjimkou k-té souřadnice, která se rovná 1.

Pokud inverzní matice A^{−1} = (b_{jk}) k matici A existuje, musí její k-tý sloupec A_{∗k}^{−1} = (b_{1k}, b_{2k}, …, b_{nk})^{T} podle Tvrzení 3.7 splňovat rovnosti

e_{k} = [I_{n}]_{∗k} = [AA^{−1}]_{∗k} = AA_{∗k}^{−1} = ∑_{j=1}^{n}A_{∗j}b_{jk}.

To znamená, že k-tý sloupec A_{∗k}^{−1} inverzní matice A^{−1} je řešením soustavy n lineárních rovnic o n neznámých Ax = e_{k}. Abychom vypočítal celou inverzní matici A^{−1}i, musíme vyřešit n soustav lineárních rovnic

Ax = e_{k} pro k = 1, …, n.

Protože mají soustavy stejnou matici A, můžeme je řešit všechny současně pomocí elementárních řádkových úprav matice

[A|I_{n}] = [A|e_{1}|e_{2}| ⋯ |e_{n}]

typu n × (2n).

Tuto matici převedeme pomocí elementárních řádkových úprav do řádkově odstupňovaného typu [E|B]. Matici E jsme tedy dostali pomocí elementárních řádkových úprav z matice A a podobně jsme dostali matici B pomocí elementárních řádkových úprav z jednotkové matice I_{n}. Protože jsou všechny elementární řádkové úpravy vratné, dostaneme také jednotkovou matici I_{n} zpět z matice B pomocí elementárních řádkových úprav. Matice I_{n} je v řádkově odstupňovaném typu (dokonce v redukovaném řádkově odstupňovaném typu) a neobsahuje žádný nulový řádek. Matice B má proto hodnost rank(B) = n. Speciálně proto matice B neobsahuje žádný nulový řádek.

Matice B tak obsahuje nějaký nenulový prvek c v posledním řádku. Nechť je v k-tém sloupci. Pomocí elementárních řádkových úprav dostaneme z matice [A|e_{k}] — rozšířené matice soustavy Ax = e_{k}, jejímž řešením je k-tý sloupec inverzní matice A^{−1} — matici [E|c], kde prvek v posledním řádku posledního sloupce c je c ≠ 0. Pokud inverzní matice A^{−1} existuje, musí být soustava Ax = e_{k} řešitelná. Matice E tak nemůže obsahovat žádný nulový řádek. Protože je v řádkově odstupňovaném typu a dostali jsme ji z A pomocí elementárních řádkových úprav, znamená to, že hodnost rank(A) matice A se rovná n.

Dokázali jsme tak, že pokud inverzní matice A^{−1} existuje, musí platit rank(A) = n. Naopak, pokud rank(A) = n, má každá soustava Ax = e_{k} pro k = 1, …, n (jednoznačné) řešení podle Věty 2.7. Inverzní matice A^{−1} proto existuje. Tím jsme dokázali část následující věty.

Věta 3.9 Předpokládáme, že A je čtvercová matice řádu n. Potom je ekvivalentní

1. inverzní matice A^{−1} existuje, tj. matice A je regulární,

2. rank(A) = n,

3. Gaussova-Jordanova eliminace převede matici A do matice I_{n},

4. homogenní soustava Ax = 0 má pouze triviální řešení x = 0.

Důkaz. Ekvivalenci 1 ⇔ 2 jsme dokázali už před Větou 3.9.

2 ⇒ 3. Je-li hodnost r(A) = n, obsahuje každá matice E v řádkově odstupňovaném typu, kterou dostaneme z A pomocí elementárních řádkových úprav z matice A, celkem n pivotů, všechny sloupce jsou tedy bázové. Protože má n řádků, jsou také všechny řádky nenulové. Použijeme-li Gaussovu-Jordanovu eliminaci, jsou všechny pivoty v E rovné 1 a ostatní prvky matice E se rovnají 0. Matice E se proto rovná jednotkové matici I_{n}.

3 ⇒ 4. Pokud Gaussova-Jordanova eliminace převádí matici A do jednotkové matice I_{n}, převádí matici [A|0] — rozšířenou matici soustavy Ax = 0 — do matice [I_{n}|0]. Soustava Ax = 0 má proto pouze triviální řešení x_{i} = 0 pro i = 1, 2, …, n.

4 ⇒ 2. Má-li homogenní soustava Ax = 0 pouze triviální řešení, je rank(A) = n podle Věty 2.5.

Tím je ekvivalence všech čtyř výroků dokázána. □

Z úvah před Větou 3.9 také přímo dostaneme algoritmus pro výpočet inverzní matice ke čtvercové matici A řádu n, pokud existuje, tj. pokud rank(A) = n.

• Gaussovou-Jordanovou eliminací převedeme matici [A|I_{n}] do matice [I_{n}|B]. Potom A^{−1} = B.

V tom případě je totiž k-tý sloupec matice B řešením soustavy Ax = e_{k} pro k = 1, 2, …, n. Podle Tvrzení 3.7 tak platí

[AB]_{∗k} = AB_{∗k} = e_{k},

což znamená

AB = I_{n}.

Cvičení 3.8 Spočítejte inverzní matice k několika regulárním maticím. Napište program pro výpočet inverzní matice.

Spočítáme ještě, kolik operací vyžaduje výpočet inverzní matice algoritmem založeným na Gaussově-Jordanově eliminaci.

Tvrzení 3.10 Pro výpočet inverzní matice A^{−1} k regulární matici A řádu n Gaussovou-Jordanovou eliminací použitou na matici [A|I_{n}] je třeba nejvýše

n^{3}  násobení/dělení, a
n^{3} − 2n^{2} + n sčítání/odčítání.

Důkaz. Podobně jako v důkazu Tvrzení 2.10 spočítáme, že první průběh hlavního cyklu Gaussovy-Jordanovy eliminace vyžaduje

n + (n − 1)n = n^{2}  násobení/dělení, a
(n − 1)(n − 1) = n^{2} − 2n + 1 sčítání/odčítání.

Nižší počet sčítání/odčítání vyplývá z toho, že všechny prvky v prvním sloupci matice I_{n} pod prvním řádkem se rovnají 0. Stejný počet operací je třeba při všech n průbězích hlavního cyklu Gaussovy-Jordanovy eliminace. Odtud ihned vyplývá celkový počet operací. □

Dokážeme si ještě následující užitečné tvrzení.

Tvrzení 3.11 Jsou-li A a B dvě čtvercové matice stejného řádu n, pak platí

AB = I_{n} právě když BA = I_{n}.

Důkaz. Je-li AB = I_{n}, pak pro libovolný nenulový vektor x dimenze n platí

A(Bx) = (AB)x = I_{n}x = x ≠ 0.

Musí proto platit Bx ≠ 0. Homogenní soustava Bx = 0 tak má pouze triviální řešení. Podle Věty 2.5 platí rank(B) = n a podle Věty 3.9 je matice B regulární. Rovnost AB = I_{n} můžeme proto vynásobit zprava maticí B^{−1} inverzní k B. Dostaneme

A = AI_{n} = A(BB^{−1}) = (AB)B^{−1} = I_{n}B^{−1} = B^{−1}.

Proto BA = BB^{−1} = I_{n}.

Opačnou implikaci dokážeme naprosto stejně, pouze zaměníme matice A a B. □

Poslední tvrzení nám dovoluje “snadno” vyřešit soustavu Ax = b, pokud je matice soustavy A regulární. Stačí soustavu vynásobit zleva inverzní maticí A^{−1}. Dostaneme

x = I_{n}x = (A^{−1}A)x = A^{−1}(Ax) = A^{−1}b.

Soustava má proto (jediné) řešení A^{−1}b.

Pohled na Tvrzení 3.10 a Tvrzení 2.8 ukazuje, proč je toto vyjádření řešení soustavy Ax = b výhodné pouze pro teoretické zkoumání, nikoliv pro praktický výpočet řešení této soustavy. Výpočet součinu A^{−1}b vyžaduje

n^{2}  násobení/dělení, a
n(n − 1) sčítání/odčítání.

Celkem tak výpočet inverzní matice A^{−1} Gaussovou-Jordanovou metodou a součinu A^{−1}b potřebuje

n^{3} + n^{2} násobení/dělení, a
n^{3} − n^{2} sčítání/odčítání.

Tento výpočet tak vyžaduje zhruba trojnásobný počet operací a tedy trojnásobné množství času než přímý výpočet řešení pomocí Gaussovy eliminace a zpětné substituce.

Je také zajímavé všimnout si, že výpočet inverzní matice k regulární matici řádu n potřebuje zhruba stejně operací jako výpočet součinu dvou čtvercových matic řádu n. Na první pohled se zdá být výpočet inverzní matice mnohem náročnější.

Následující cvičení shrnuje základní vlastnosti inverzních matic. Snadno je dokážete za použití poznatků z této kapitoly.

Cvičení 3.9 Dokažte, že pro regulární matice A, B stejného řádu n platí

• (A^{−1})^{−1} = A,

• součin AB je také regulární matice,

• (AB)^{−1} = B^{−1}A^{−1},

• (A^{−1})^{T} = (A^{T})^{−1}.

Z druhého tvrzení ihned indukcí podle k snadno dokážete, že součin A_{1}A_{2} ⋯ A_{k} je regulární matice, jsou-li všechny matice A_{i} regulární a stejného řadu n. V tom případě

(A_{1}A_{2} ⋯ A_{k})^{−1} = A_{k}^{−1} ⋯ A_{2}^{−1}A_{1}^{−1}.

Čtvrté tvrzení pak znamená, že transponovaná matice k regulární matici je opět regulární, a že inverzní matici k A^{T} dostaneme jako transponovanou matici k A^{−1}.

Dokážeme si ještě jednoznačnost inverzní matice k regulární matici.

Tvrzení 3.12 Pokud inverzní matice k matici A existuje, pak je určena jednoznačně.

Důkaz. Pokud inverzní matice k matici A existuje, musí být matice A čtvercová. Označme n její řád. Jsou-li čtvercové matice B a C řádu n inverzní k matici A, platí AB = I_{n} = AC podle definice 3.8. Podle tvrzení 3.11 musí rovněž platit BA = I_{n} = CA. Potom

B = BI_{n} = B(AC) = (BA)C = I_{n}C = C.

□

Následující obtížnější cvičení vám ukáže, jak dobře jste část o počítání s maticemi zvládli. První část říká, jak ze znalosti inverzní matice A^{−1} rychle spočítat inverzní matici k matici, kterou dostaneme z dané regulární matice A změnou jednoho prvku.

Cvičení 3.10 Předpokládáme, že A = (a_{ij}) je regulární matice řádu n, e_{i} pro i = 1, 2, …, n je i-tý sloupcový vektor jednotkové matice I_{n} a α ∈ R. Dokažte, že platí

• součin αe_{i}e_{j}^{T} je čtvercová matice, která má všechny prvky nulové s výjimkou prvku na místě (i, j), který se rovná číslu α, • je-li B = A + αe_{i}e_{j}^{T}, tj. B se liší od A pouze v prvku na místě (i, j),

ke kterému jsme přičetli číslo α, a označíme-li dále A^{−1} = (b_{ij}), pak

B^{−1} = (A + αe_{i}e_{j}^{T})^{−1} = A^{−1} − α\frac{[A^{−1}]_{∗i}[A^{−1}]_{∗j}}{1 + αb_{ji}},

pokud je číslo ve jmenovateli nenulové (jde o speciální případ tzv. Shermanovy-Morrisonovy formule),

• jsou-li c, d sloupcové vektory dimenze n takové, že číslo 1 + d^{T} c ≠ 0, pak

(I_{n} + cd^{T})^{−1} = I_{n} − \frac{cd^{T}}{1 + d^{T} c} ,

• je-li 1 + d^{T} A^{−1}c ≠ 0, pak platí

(A + cd^{T})^{−1} = A^{−1} − \frac{A^{−1}cd^{T} A^{−1}}{1 + d^{T} A^{−1}c}

(obecná Shermanova-Morrisonova formule),

• jsou-li C, D matice typu n × k takové, že inverzní matice k matici I^{k} + D^{T} A^{−1}C existuje, potom

(A + CD^{T})^{−1} = A^{−1}C(I^{k} + D^{T} A^{−1}C)^{−1}D^{T} A^{−1}

(tzv. Shermanova-Morrisonova-Woodburyho formule).

Elementární matice V Tvrzení 3.7 jsme ukázali, že každý řádek součinu AB je lineární kombinací řádků matice B. Nyní si ukážeme, že můžeme efekt elementární řádkové úpravy matice B docílit také tím, že matici B vynásobíme zleva vhodnou regulární maticí.

Elementární matice 1. druhu je čtvercová matice E_{ij} = (e_{uv}) řádu m, kde e_{ij} = e_{ji} = 1 pro nějaké indexy i ≠ j, dále e_{kk} = 1 pro všechna k ≠ i, j. Všechny ostatní prvky matice E_{ij} se rovnají 0.

Podívejme se, jak vypadají řádky v součinu matic E_{ij}B, kde B je libovolná matice typu m×n. V i-tém řádku matice E_{ij} je jediný nenulový prvek a to na místě (i, j). Podle první části Tvrzení 3.7 se i-tý řádek součinu E_{ij}B rovná

[E_{ij}]_{i∗}B = ∑_{k=1}^{m} e_{ik}B_{k∗}.

Protože v i-tém řádku matice E_{ij} je jediný nenulový prvek e_{ij} = 1, rovná se i-tý řádek součinu E_{ij}B j-tému řádku B_{j∗} matice B.

Podobně ukážeme, že se j-tý řádek součinu E_{ij}B rovná i-tému řádku matice B. Pokud je k ≠ i, j, je v k-tém řádku matice E_{ij} jediný nenulový prvek e_{kk} = 1 na hlavní diagonále. Proto se k-tý řádek součinu E_{ij}B rovná k-tému řádku B_{k∗} matice B. Součin E_{ij}B tak dostaneme z matice B první elementární řádkovou úpravou prohazující i-tý a j-tý řádek matice B.

Elementární matice 2. druhu je čtvercová matice E_{i}(t) = (e_{uv}) řádu m, která má nenulové prvky pouze na hlavní diagonále, prvek e_{ii} = t ≠ 0, a prvky e_{kk} = 1 pro k ≠ i. Podobně jako v případě elementární matice 1. druhu snadno ověříme, že součin E_{i}(t)B dostaneme z matice B tak, že vynásobíme i-tý řádek číslem t, tedy druhou elementární řádkovou úpravou.

Je-li i ≠ j, pak elementární matice 3. druhu je čtvercová matice E_{ji}(t) = (e_{uv}) řádu m, která má na hlavní diagonále prvky rovné 1, a mimo hlavní diagonálu je jediný (případně) nenulový prvek t na místě (j, i). V součinu E_{ji}(t)B se potom j-tý řádek rovná lineární kombinaci tE_{i∗} + E_{j∗}, tj. součtu t-násobku i-tého řádku s j-tým řádkem matice B. Všechny ostatní řádky matice E_{ji}(t)B se rovnají příslušným řádkům matice B. Součin E_{ji}(t)B tak dostaneme z matice B třetí elementární řádkovou úpravou.

Tvrzení 3.13 Platí, že

1. elementární matice všech tří druhů jsou regulární,

2. inverzní matice k elementární matici je také elementární matice,

3. čtvercová matice P řádu m je regulární právě když ji lze vyjádřit jako součin elementárních matic,

4. matici A typu m × n dostaneme z matice B téhož typu posloupností elementárních řádkových úprav právě když A = PB pro nějakou regulární matici řádu m.

Důkaz. 1. Pokud v elementární matici 1. druhu E_{ij} prohodíme i-tý a j-tý řádek, dostaneme jednotkovou matici I_{m}. Matice E_{ij} má proto hodnost m a podle Věty 3.9 je regulární.

Podobně také z elementární matice 2. druhu E_{i}(t) dostaneme jednotkovou matici I_{m} elementární řádkovou úpravou, při které vynásobíme i-tý řádek číslem t^{−1} ≠ 0. Matice E_{i}(t) je proto také regulární.

A nakonec, z matice E_{ji}(t) dostaneme jednotkovou matici I_{m} tak, že od j-tého řádku odečteme t-násobek i-tého řádku.

2. Přímým výpočtem ověříme, že E_{ij}^{−1} = E_{ij}, E_{i}(t)^{−1} = E_{i}(t^{−1}) a E_{ji}(t)^{−1} = E_{ji}(−t).

3. Součin elementárních matic je regulární podle Cvičení 3.9, protože každá elementární matice je regulární podle první části tohoto tvrzení.

Je-li naopak matice P regulární, má podle Věty 3.9 hodnost m. Pomocí elementárních řádkových úprav ji proto můžeme převést do jednotkové matice I_{m}. To znamená, že existují elementární matice E_{1}, E_{2}, …, E_{k} takové, že

E_{k} ⋯ E_{2}E_{1}P = I_{m}.

Protože je každá elementární matice regulární, postupným násobením poslední rovnosti inverzními maticemi E_{l}^{−1} dostaneme rovnost

P = E_{1}^{−1}E_{2}^{−1} ⋯ E_{k}^{−1}I_{m} = E_{1}^{−1}E_{2}^{−1} ⋯ E_{k}^{−1}.

Inverzní matice k libovolné elementární matici je opět elementární podle druhé části tohoto tvrzení, poslední rovnost je tak vyjádřením regulární matice P ve typu součinu elementárních matic.

4. Pokud dostaneme matici A z matice B pomocí posloupnosti elementárních úprav, platí

A = E_{k} ⋯ E_{2}E_{1}B.

pro nějaké elementární matice E_{1}, …, E_{k}. Podle druhé části tohoto tvrzení je matice P = E_{k} ⋯ E_{2}E_{1} regulární.

Naopak, je-li A = PB pro nějakou regulární matici P, vyjádříme podle třetí části tohoto tvrzení matici P jako součin elementárních matic P = F_{l} ⋯ F_{1}. Potom

A = PB = F_{l} ⋯ F_{1}B.

Matici A tak dostaneme z matice B posloupností elementárních řádkových úprav. □