Pseudoinverze: nejlepší odpověď, když žádná neexistuje
Kapitola 4 skončila u nepříjemné možnosti: soustava nemá řešení. V praxi je to nejčastější případ, ne výjimka — kdykoli se proloží víc naměřených bodů méně parametry, je rovnic víc než neznámých a přesné řešení skoro jistě neexistuje.
Vzdát to by bylo hloupé. Když se nedá dojít přesně na cíl, dá se dojít co nejblíž — a „co nejblíž“ je z kapitoly 5 VectorLabu: projekce.
Proč zrovna čtverce
Není to libovůle. Minimalizovat součet čtverců znamená hledat nejbližší bod v eukleidovské vzdálenosti — a nejbližší bod podprostoru je přesně kolmý průmět. Odtud plyne podmínka, kterou obrázek výše měří: zbytek musí být kolmý na obraz. Kdyby nebyl, dala by se odpověď posunout ve směru té nekolmé složky a reziduum by se zmenšilo — takže by nešlo o minimum.
Co pseudoinverze dělá
Ze SVD (kapitola 10) je to jednořádkové: obrátit nenulové singulární hodnoty a nulové nechat být.
Ta druhá polovina je celý trik. Kdyby se obracelo i to, co je nula, vyjde nekonečno; kdyby se obracela hodnota 10⁻¹⁶, vyjde 10¹⁶ a odpověď je šum vynásobený obrovským číslem. Tomu prahování se říká oříznutá SVD a je to nejjednodušší forma regularizace.
Přesně tuhle chybu tenhle solver udělal. První verze prahovala na 10⁻¹², což je pro SVD počítanou přes AᵀA pod úrovní šumu — a pseudoinverze poslušně obrátila singulární hodnotu 7,7·10⁻⁹ na koeficient 1,3·10⁸, čímž porušila Moore-Penroseovy podmínky. Testy to chytily. Práh je teď 10⁻⁷ relativně; viz komentář v solveru a kapitola 7.
Když je řešení naopak moc
Pseudoinverze zvládne i opačný případ — nekonečně mnoho řešení — a vybere z nich to nejkratší. To není jen matematická úhlednost: u redundantního ramene je „nejkratší řešení“ ta kombinace rychlostí kloubů, která dosáhne požadovaného pohybu s nejmenší námahou. Viz KineLab.
Čtyři podmínky, které ji definují
Ty čtyři rovnosti pseudoinverzi definují — pro každou matici existuje právě jedna, která je splňuje. Testy v repu je proto kontrolují přímo, a to i na maticích s vědomě závislými sloupci: ověřuje se tím ta věc sama, ne jeden její důsledek.