ComplexLab otočit a natáhnout

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.

Základní věta algebry: n kořenů, vždycky

V reálných číslech je počet kořenů polynomu nepředvídatelný: x² − 1 má dva, jeden, x² + 1 žádný. Musí se rozlišovat případy a nic z toho není hezké.

V komplexních číslech ta nepředvídatelnost zmizí:

Polynom stupně n má přesně n kořenů (počítáno s násobností). Žádné výjimky, žádné případy. Proto se komplexní čísla nazývají algebraicky uzavřená — hledání kořenů z nich nikdy nevyvede ven, na rozdíl od reálných, odkud vypadne hned x² + 1.

ReImz⁴ − 1stupeň 4 → 4 kořenů−1,00000,0000 − 1,0000i0,0000 + 1,0000i1,00002 reálných, 2 ve dvojicích
Zkouška: vynásobit kořeny zpátky do polynomu dá původní koeficienty s odchylkou 0.0e+0.
Zlatě reálné kořeny, modře komplexní. Fialová čárka spojuje sdruženou dvojici — a všimni si, že modré tečky jsou VŽDYCKY v párech.

Sdružené dvojice: proč reálná soustava nemůže mít osamělý pól

Má-li polynom reálné koeficienty a je-li z jeho kořen, je kořenem i . Důkaz je na jeden řádek — sdružení projde přes všechny součty a součiny a reálné koeficienty se nezmění — ale důsledek je praktický:

  • Fyzikální soustava popsaná reálnými koeficienty má póly buď reálné, nebo ve dvojicích.
  • Dvojice σ ± iω odpovídá jedné tlumené sinusovce: reálná část je tlumení, imaginární frekvence.
  • Když výpočet vyhodí osamělý komplexní pól, je to chyba výpočtu, ne objev. Testy v repu tohle kontrolují na 400 náhodných reálných polynomech; ani jeden komplexní kořen nezůstal bez svého partnera.

Jak se kořeny hledají a jak se to ověří

Solver používá Aberth-Ehrlichovu metodu: Newtonova metoda spuštěná na všechny kořeny naráz, kde se každý iterovaný bod navíc odstrkuje od ostatních. Nepotřebuje dělit polynom nalezenými kořeny, což je dobře — právě tam totiž běžné metody u posledních kořenů tiše ztrácejí přesnost.

Ověřuje se to zpětným složením, ne tabulkou. Kořeny se vynásobí zpátky do polynomu (z − r₁)(z − r₂)… a porovnají se koeficienty s původními. Ta rekonstrukce nesdílí s hledačem ani řádek kódu, takže shoda je důkaz, ne tautologie. Nejhorší nesouhlas přes celou knihovnu: 4,6·10⁻¹⁶.

Vícenásobné kořeny jsou numericky zlé. Dvojnásobný kořen znamená, že se polynom osy dotýká místo aby ji protnul — a nepatrná změna koeficientu ho rozdělí na dva vzdálené kořeny. Konkrétně: chyba ε v koeficientu posune jednoduchý kořen o ~ε, ale dvojnásobný o ~√ε. Při ε = 10⁻¹⁶ to je 10⁻⁸, tedy osm řádů rozdílu. Kdo staví regulátor na přesné poloze dvojnásobného pólu, staví na písku.

Vzorce v této kapitole

FTA — základní věta algebry
polynom stupně n má n kořenů v ℂ [—] kap. 6
z̄ pár — sdružené dvojice
reálné koeficienty ⇒ kořeny reálné, nebo z a z̄ [—] kap. 6