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.