Když komplexní čísla malují

Samuel Trávníček,

Na středních školách se komplexní čísla probírají obvykle okrajově, pokud vůbec. Praktické využití mají v celé řadě oborů, mimo jiné i v elektrotechnice. V tomto projektu jsme je ale využili jinak.
Jedná se o dvojdimenzionální rozšíření reálných čísel, které nejspíš vzniklo v důsledku potřeby řešit kvadratické rovnice se záporným diskriminantem. Takovou rovnicí je třeba $$x^2+1=0,$$ u které diskriminant dle vzorce \(b^2-4ac\) vychází roven -4. V tomto případě nelze kořen dle $$x_{12}=\frac{-b \pm \sqrt{D}}{2a}$$ spočítat, protože odmocnina ze záporného čísla není pro reálná čísla definovaná. Řešení spočívá v zavedení imaginární jednotky \(i\), která je definována jako \(i^2 = -1\). Pak je tedy \(\sqrt{-4}=\pm 2i\) v oboru komplexních čísel. Zvláštní na tom je, že to není pouze jedna hodnota, ale obecně \(n\) hodnot, dle řádu odmocniny.
My tu ale nebudeme řešit kvadratické rovnice. Dnes budeme vykreslovat Mandelbrotovu a Juliovu množinu. Jedná se o množiny komplexních čísel a získávají se tak, že zadají-li se do nějakého předpisu číselné řady, musí řada konvergovat. Matematické formality nechám vesele na Wikipedii. Obě množiny jsou fraktály.

Mandelbrotova množina

Posloupnost je zadána rekurzivním popisem takto: $$z_{n+1}=z^2_n+c, \quad z_0=0.$$ Za komplexní konstantu \(c\) se dosazují souřadnice \(x\) a \(y\) plochy, na kterou se množina vykresluje. Čísla, která splní podmínku, že existuje reálné číslo \(m\) takové, že pro všechna \(n\) je \(|z_n| \le m\), patří do množiny. Dá se dokázat, že stačí položit \(m=2\) pro ověření konvergence. V ukázce tuto množinu uvidíte černě. To, co je barevné, jsou čísla, pro která řada divergovala. Barva je dána počtem iterací, po kterých se zjistilo, že řada diverguje. Ukázku najdete zde. Program jsme později přepsali také do podoby pro grafickou kartu. Tato verze běží znatelně rychleji, navíc je zobecněná do předpisu $$z_{n+1}=z^a_n+c, \quad z_0=0$$ pro libovolné přirozené číslo \(a\), označované jako řád. Samostatná aplikace je zde. Pro podrobnější vysvětlení a detaily vás odkážu na YouTube kanál Mathologer.

Juliova množina

Ve skutečnosti to není jedna množina. Je to nekonečně velká množina množin. Předpis je stejný jako u Mandelbrotovy množiny: $$z_{n+1}=z^2_n+c,$$ tentokrát ovšem za \(c\) zvolíme jednu fixní hodnotu pro všechny body na vykreslovací ploše. Tato hodnota určuje, jak bude celá množina vypadat. Za \(z_0\) naopak dosadíme souřadnice bodu na vykreslovací ploše. Výsledek je zde. Dá se říci, že pro každý bod Mandelbrotovy množiny existuje nějaká celá Juliova množina. Pro další informace vás opět odkážu na YouTube, tentokrát na kanál Numberphile.