Determinant: co zobrazení udělá s obsahem
Determinant se běžně zavádí vzorcem — ad − bc, případně rozvojem podle řádku — a pak se řekne, že „když je nulový, matice není invertibilní“. Obojí je pravda a ani jedno neříká, co to je.
- obsah □ = 1
Začneme s jednotkovým čtvercem. Jeho obsah je přesně 1, což z něj dělá měřítko: cokoli s ním zobrazení udělá, se dá odečíst jako číslo.
- □ → rovnoběžník na A·x̂, A·ŷ
Čtverec je napnutý na x̂ a ŷ, takže jeho obraz je napnutý na jejich obrazy — tedy na sloupce matice (kapitola 1). Rovnoběžník, ne obecný čtyřúhelník: rovnoběžky zůstávají rovnoběžkami.
- |det A| = 1,995 = obsah ▱
Obsah toho rovnoběžníku je determinant. Ne „souvisí s ním“ — je to on. Protože jsme začali s obsahem 1, je determinant rovnou činitel, kterým se násobí každý obsah v rovině, ne jenom ten čtverec.
- det A = 1,995 → orientace zachována
Obsah nemůže být záporný, determinant ano. To znaménko nese orientaci: kladné znamená, že cesta „x̂ pak ŷ“ se pořád stáčí proti směru hodin, záporné, že se rovina převrátila jako v zrcadle. Přetáhni druhý sloupec přes první a dívej se, kdy se to stane.
- det A = 0 ⇔ rovnoběžník zplacatí
Na hranici mezi kladným a záporným leží nula — oba sloupce míří stejným směrem a rovnoběžník se zhroutí do úsečky. Zobrazení zahodilo celý rozměr, a to je právě ta věc, kterou nejde vzít zpátky. Odsud vede přímá cesta do kapitol o inverzi a hodnosti.
- det(B·A) = det B · det A = 1,69 · 2,00 = 3,372
Když po sobě přijdou dvě zobrazení, obsahy se vynásobí — natáhnout dvakrát a pak třikrát je natáhnout šestkrát. Odsud plyne
det(AB) = det(A)·det(B), a taky to, proč jedet(A⁻¹) = 1/det(A): zpátky se musí obsah vrátit na původní.
Z toho jediného obrázku plyne všechno, co se o determinantu obvykle učí jako seznam pravidel:
| fakt | proč, v obrázku |
|---|---|
| det I = 1 | identita s obsahem nic nedělá |
| det(AB) = det A · det B | dvě zobrazení za sebou = obsahy se násobí |
| det(A⁻¹) = 1 / det A | zpátky se musí obsah vrátit na původní |
| det Aᵀ = det A | rovnoběžník na řádcích má týž obsah jako na sloupcích |
| prohození dvou sloupců → znaménko naopak | obejít rovnoběžník opačně = převrátit orientaci |
| det = 0 ⇔ singulární | obsah nula = rozměr se ztratil = nedá se to vrátit |
Znaménko není technikálie
Kladný determinant znamená, že se zachovala orientace; záporný, že se rovina převrátila jako v zrcadle. Ve třech rozměrech je to totéž s pravotočivostí, a tam už to bolí prakticky: rotační matice musí mít det = +1. Když po dlouhém řetězci násobení vyjde −1, není to zaokrouhlovací chyba — je to zrcadlově převrácený rámec a všechny další výpočty budou tiše špatně. Viz RotLab.
Nula je ta zajímavá hodnota
Nulový determinant znamená, že zobrazení zahodilo rozměr: rovina se zhroutí do přímky (nebo prostor do roviny). Odtud plyne úplně všechno ostatní — proč taková matice nemá inverzi (rozměr, který zmizel, nejde vrátit), proč má soustava buď žádné, nebo nekonečně mnoho řešení, a proč je robot v singularitě.
„Nulový“ v plovoucí čárce nikdy není nula. Test
det(A) === 0 neplatí prakticky nikdy a Math.abs(det) < 1e-9
odpovídá na jinou otázku pro matici v milimetrech než pro tutéž matici v metrech. Determinant
je navíc na tohle špatné měřítko: matice diag(1e-4, 1e-4, 1e-4) má
determinant 1e-12 a je přitom dokonale invertibilní. Správná otázka nezní „je determinant
malý?“, ale „jak je matice podmíněná?“ — a na to je číslo podmíněnosti
z kapitoly 11.
Ve třech a více rozměrech
Totéž s objemem: |det A| je činitel, kterým se násobí objem. Vzorec pro 3×3 se dá opsat (Sarrusovo pravidlo), pro 4×4 už rozvoj podle řádku dává 24 součinů a pro n jich je n! — u 20×20 víc, než kolik je vteřin od vzniku vesmíru. Prakticky se proto determinant nikdy nepočítá z definice, ale jako součin diagonály po LU rozkladu; přesně to dělá i solver v téhle labce. Kapitola 7.