Co znamená „minimum" a jak se pozná
Tohle je jediná labka v akademii, kde se správnost dá ověřit bez jediné tabulkové hodnoty. Jinde se výsledek porovnává s normou nebo s příkladem z knihy. Tady je „x je minimum" testovatelné tvrzení, které si můžeme ověřit sami.
Nutná, ne postačující
První podmínka říká jen to, že funkce v tom bodě nikam neklesá ani nestoupá. To splňuje i maximum a i sedlo. Rozhodne až druhá derivace, a u více proměnných to znamená Hessián a jeho vlastní čísla:
| vlastní čísla Hessiánu | co to je |
|---|---|
| všechna kladná | minimum |
| všechna záporná | maximum |
| obojí | sedlo — v jednom směru dolů, v jiném nahoru |
| některé nulové | degenerovaný bod; derivace nerozhodne |
Test na kladnou definitnost se nemusí počítat přes vlastní čísla. Choleského rozklad existuje právě tehdy, když je matice pozitivně definitní — takže „projde Cholesky?" je ta podmínka, ne její náhrada. Solver to tak dělá a testy taky.
A ještě jedna kontrola, která nepotřebuje derivace vůbec
Hrubá síla: šťouchni do nalezeného bodu dvěma sty směry a podívej se, jestli některý nevede níž. Je to primitivní a přesně proto cenné — nesdílí to žádný kód s metodou, která bod našla, ani s výpočtem derivací. Když se všechny tři kontroly shodnou, je to skoro jistě opravdu minimum.
Tahle trojice je důvod, proč se v téhle labce testuje odpověď, ne cesta k ní. Kniha se dá přepsat, ale stacionární bod se přepsat nedá.
Gradient a Hessián numericky
Když analytické derivace nejsou po ruce, spočítají se rozdílem. Centrální diference je o řád přesnější než dopředná a stojí jen jedno vyhodnocení navíc:
Ten krok není libovolný. Moc velký a chyba useknutí roste; moc malý a odečtení dvou skoro stejných čísel spolyká platné číslice. Optimum pro centrální diferenci je třetí odmocnina strojové přesnosti, tedy asi 6·10⁻⁶. A škálování podle |xᵢ| je tam proto, že v robotice sedí v jednom vektoru milimetry a radiány — společný absolutní krok je pro jedno moc velký a pro druhé moc malý.