Podmíněnost: kdy odpovědi nevěřit
Matice se dělí na singulární a regulární, a to zní jako binární věc. Není. Mezi „jde to“ a „nejde to“ leží široké pásmo „jde to, ale výsledku nevěř“ — a to je pásmo, ve kterém se odehrává většina skutečných výpočtů.
Čte se to jednoduše: κ říká, kolikrát se v nejhorším případě zvětší relativní chyba vstupu. Když má vstup přesnost na tři platné číslice a κ = 1000, může být výsledek bez jediné platné číslice — a nic v tom výsledku o tom nebude vypovídat.
| κ | co to znamená |
|---|---|
| 1 | ideál — ortogonální matice, rotace |
| < 100 | v pohodě |
| 10³–10⁶ | opatrně, ztrácejí se číslice |
| > 10⁸ | ve dvojité přesnosti prakticky singulární |
| ∞ | singulární |
Proč ne determinant
Determinant se na tuhle otázku nehodí a je to nejčastější omyl v celé kapitole. Matice
diag(10⁻⁴, 10⁻⁴, 10⁻⁴) má determinant 10⁻¹² a je dokonale
podmíněná — κ = 1. Naopak diag(1, 10⁻⁹) má determinant 10⁻⁹ a je katastrofa.
Determinant míchá dohromady velikost a tvar; podmíněnost je poměr, takže na
velikosti nezávisí vůbec.
Kde se špatná podmíněnost bere. Skoro vždycky z toho, že dvě věci, které mají být různé, jsou skoro stejné: dva sloupce Jakobiánu, které se srovnaly (singularita), dvě měření ze skoro stejného úhlu (kalibrace kamery), proložení polynomem vysokého stupně, kde jsou mocniny x na daném intervalu skoro k nerozeznání. Řešení není lepší algoritmus — je to lepší uspořádání úlohy: přidat měření z jiného úhlu, přeškálovat proměnné do srovnatelných jednotek, nebo použít regularizaci, která malé singulární hodnoty potlačí místo obrácení.
Škálování je nejlevnější náprava
Když jsou v jedné matici milimetry vedle radiánů, čísla se liší o řády a κ vyletí jen z toho. Přeškálování sloupců na srovnatelné velikosti je jednořádková změna, která podmíněnost obvykle spraví — a je to první věc, kterou zkusit, dřív než se člověk pustí do algoritmů. Táž past je v ParallelLabu u Jakobiánu 6×6, který míchá délky a úhly.