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.

Vlastní čísla: směry, které zobrazení nechá být

Zobrazení obecně každý vektor natočí i natáhne. Skoro každý. U některých směrů se ale stane něco zvláštního: zůstanou tam, kde byly, a jenom se natáhnou nebo zkrátí.

A·v = λ·v,    v ≠ 0vlastní vektor v, vlastní číslo λ
xyvA·v2,01,01,02,0A =úhel mezi v a A·v13,1°směr se změnilvlastní čísla3,000 1,000det = 3,00 tr = 4,00
vlastní čísla 3,0000, 1,0000  ·  součet = stopa 4,0000  ·  součin = determinant 3,0000
Táhni směrem v dokola. Skoro pořád míří v a A·v jinam — a v pár konkrétních směrech se úhel mezi nimi vynuluje. Tam leží vlastní vektory (čárkovaně).

Ten obrázek říká, co to je. Zbývá otázka, jak je najít — a odpověď je překvapivě krátká, protože se dá převést na kapitolu 6.

xyA·v2,001,001,002,00A =tr = 4,00det = 3,00vlastní čísla3,000 1,000součet = stopa ✓součin = determinant ✓
  1. A·v = λ·v, v ≠ 0

    Hledáme směry, které zobrazení nezmění — jenom natáhne nebo zkrátí. Číslo λ říká kolikrát; záporné znamená otočení o 180°.

  2. (A − λI)v = 0

    Přehodíme všechno nalevo. Pozor na I: od matice se nedá odečíst číslo, jen matice — a λI je to jediné, co dává smysl.

  3. hledáme v ≠ 0 v jádře (A − λI)

    Nulový vektor tuhle rovnici splňuje vždycky a nezajímá nás. Chceme nenulové řešení — a to podle kapitoly 6 existuje právě tehdy, když má ta matice netriviální jádro.

  4. det(A − λI) = 0

    Netriviální jádro znamená zhroucení, a to znamená nulový determinant (kapitola 3). Z hledání vektoru se rázem stalo hledání čísla — a to už je jenom rovnice.

  5. λ² 4,0λ + 3,0 = 0

    U 2×2 vyjde kvadratická rovnice a její koeficienty jsou stopa a determinant: λ² − tr(A)·λ + det(A) = 0. Odsud plyne, že součet vlastních čísel je stopa a součin je determinant — dvě kontroly, které se dají udělat z hlavy.

  6. λ = 3,000, 1,000

    Když je diskriminant záporný, žádný reálný směr nepřežije — a není to selhání výpočtu, je to pravda o tom zobrazení. Otočení nenechá na místě žádný směr, takže reálný vlastní vektor mít nemůže. Komplexní pár pak popisuje, jak rychle a jak moc to otáčí: modul je změna délky, argument je úhel otočení.

Šest kroků. Klíčový je čtvrtý: „chci nenulový vektor v jádře" se přeloží na „ta matice musí být singulární", a tím se z hledání vektoru stane hledání čísla.

Dvě kontroly, které se dají udělat z hlavy

Σ λᵢ = tr(A)      Π λᵢ = det(A)stopa a determinant

Vypadnou přímo z charakteristického polynomu a jsou to nejrychlejší kontroly, jaké existují: u 2×2 mají vlastní čísla sečíst hlavní diagonálu a vynásobit determinant. Když to nesedí, je chyba ve výpočtu — testy v repu tuhle dvojici ověřují na každé náhodné matici.

Když žádný reálný směr nepřežije

Otočení nenechá na místě žádný směr — a je to zjevné, jakmile se to řekne nahlas. Charakteristická rovnice pak nemá reálný kořen a vlastní čísla vyjdou jako komplexní pár. Není to selhání výpočtu, je to správná odpověď.

Ten komplexní pár navíc není nesrozumitelný — nese přesně dvě čísla, která zajímají: modul je, jak se mění délka za jednu aplikaci, a argument je úhel otočení. Přesně takhle se čtou póly regulační smyčky: modul rozhoduje o tom, jestli odezva doznívá nebo roste, argument o tom, jak rychle kmitá. Viz ControlLab a ServoLab.

Zde se počítají jen tehdy, když se to dá poctivě. Solver v téhle labce řeší 2×2 analyticky (včetně komplexního páru) a symetrické matice Jacobiho metodou. Obecný nesymetrický případ nad 2×2 vědomě nepočítá a říká to: správně se to dělá Hessenbergovou redukcí a QR iterací s posuny, a vratká implementace je horší než žádná — vrací věrohodná čísla tam, kde náhodou konverguje, a nesmysly jinde. Táž úvaha jako u ohybu v patě zubu v GearLabu.

Násobné vlastní číslo a defektní matice

Zkos [[1, 1], [0, 1]] má jediné vlastní číslo 1 — dvakrát — a přitom jen jeden vlastní směr. Takové matici se říká defektní: nedá se rozložit na vlastní vektory, protože jich není dost na bázi. Není to vzácná kuriozita; je to přesně to, co se stane soustavě na hranici mezi doznívající a kmitavou odezvou (kriticky tlumený případ), a proto se ta hranice v regulaci chová jinak než obě strany kolem ní.

K čemu to je

  • Stabilita. Když se zobrazení opakuje (každý krok simulace, každý průchod regulační smyčkou), rozhodují vlastní čísla o tom, jestli se stav ustálí nebo uteče: |λ| < 1 doznívá, |λ| > 1 roste. Nic jiného tam nerozhoduje.
  • Vlastní tvary kmitání. Vlastní čísla setrvačnosti a tuhosti dávají vlastní frekvence, vlastní vektory tvar, ve kterém konstrukce kmitá. Viz ServoLab.
  • Hlavní osy. U symetrické matice jsou vlastní vektory na sebe kolmé a jsou to hlavní osy — setrvačnosti, napětí, nebo elipsy nejistoty. To je celá kapitola 9.

Vzorce v této kapitole

A·v = λv — vlastní vektor a vlastní číslo
A·v = λ·v, v ≠ 0 [—] kap. 8
char. rovnice — charakteristická rovnice
det(A − λI) = 0 [—] kap. 8
tr, det — kontroly: součet a součin vlastních čísel
Σλ = tr(A), Πλ = det(A) [—] kap. 8