MatrixLab tabulka, která něco dělá

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

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.

det A = kolikrát zobrazení zvětší obsah (se znaménkem)jediná definice, kterou stojí za to znát
xyA·x̂A·ŷ1,500,240,301,38A =det A1,995orientace zachovánahodnost2po druhém zobrazení3,372
  1. 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.

  2. rovnoběžník na A·x̂, A·ŷ

    Čtverec je napnutý na 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.

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

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

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

  6. 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č je det(A⁻¹) = 1/det(A): zpátky se musí obsah vrátit na původní.

Táhni úhlem druhého sloupce přes první. Determinant projde nulou a vyjde na druhé straně záporný — a rovnoběžník se přitom zplacatí a převrátí.

Z toho jediného obrázku plyne všechno, co se o determinantu obvykle učí jako seznam pravidel:

faktproč, v obrázku
det I = 1identita s obsahem nic nedělá
det(AB) = det A · det Bdvě zobrazení za sebou = obsahy se násobí
det(A⁻¹) = 1 / det Azpátky se musí obsah vrátit na původní
det Aᵀ = det Arovnoběžník na řádcích má týž obsah jako na sloupcích
prohození dvou sloupců → znaménko naopakobejí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.

Vzorce v této kapitole

det A — determinant = změna obsahu se znaménkem
det [[a,b],[c,d]] = ad − bc [—] kap. 3
det(AB) — determinant součinu
det(A·B) = det A · det B [—] kap. 3