Zdroje chyb numerických algoritmů. POZOR AI generated z pdf zdrojů (dochází čas lol)
Řád chyby je jak rychle chyba v numerické metody klesá se zmenšujícím se krokem → čím výšší řád chyby tím rychleji se chyba zmenšuje s menším dělením, nebo více samplovacími body.
Vzniká při aproximaci skutečného systému matematickým modelem. Například:
Vzniká při přepisu spojité úlohy do diskrétního prostoru:
Vzniká kvůli omezené přesnosti počítačové aritmetiky (floating point čísla):
Pro optimální výsledek musí být diskretizační chyba stejně velká nebo větší než chyba zaokrouhlení. Pokud není, nepřinese to zlepšení přesnosti.
Interpolace polynomy, splinová interpolace a metoda nejmenších čtverců. Kritéria pro výběr metody.
Metody pro nalezení funkce vhodně reprezentující daná data, rozdělené na interpolaci (přesný průchod body) a aproximaci (minimalizace chyby).
$\phi(t) = \sum_{j=0}^{n-1} y_j \rho_j(t)$, kde $\rho_j(t) = \prod_{\substack{i=0 \\ i \neq j}}^{n-1} \frac{t - x_i}{x_j - x_i}$
kde $\eta_i, \varrho_i, \sigma_i, \tau_i$ jsou kubické polynomy
Pro bázi $\{\phi_0,\dots,\phi_{k-1}\}$ hledáme koeficienty $c_j$ řešením soustavy:
$\sum_{j=0}^{k-1} c_j \left( \phi_j(\vec{x}) \cdot \phi_m(\vec{x}) \right) = \vec{y} \cdot \phi_m(\vec{x})$, $m=0,\dots,k-1$
Numerické metody řešení rovnice $f(x) = 0$ slouží k nalezení kořenů, kdy analytické řešení není možné. Předpokladem je separace kořenů – nalezení intervalu $\langle a, b \rangle$ s $f(a) \cdot f(b) < 0$ a jediným kořenem. Metody se liší rychlostí konvergence, požadavky na derivace a garancemi konvergence ,
| Metoda | Vstup | Derivace | Konvergence | Řád konvergence |
|---|---|---|---|---|
| Bisekce | Interval | Ne | Vždy | 1 |
| Regula falsi | Interval | Ne | Vždy | 1 |
| Metoda sečen | 2 body | Ne | Lokální | $\frac{1+\sqrt{5}}{2} \approx 1.618$ |
| Newtonova | 1 bod | 1. | Lokální | 2 |
| Prostá iterace | 1 bod | Ne | Kontraktivita $\phi$ | 1 |
Matematický princip:
Interval $\langle a_i, b_i \rangle$ se rekurzivně půlí:
$$
x_i = \frac{a_i + b_i}{2}
$$
Nový interval:
$$
\langle a_{i+1}, b_{i+1} \rangle =
\begin{cases}
\langle a_i, x_i \rangle & \text{pokud } f(a_i) \cdot f(x_i) < 0 \\
\langle x_i, b_i \rangle & \text{jinak}
\end{cases}
$$
Konvergence: Lineární ($\varepsilon_i = \frac{b_0 - a_0}{2^i}$), garantovaná pro spojité funkce
Visualizace:
Matematický princip:
Tečna v $x_i$:
$$
x_{i+1} = x_i - \frac{f(x_i)}{f'(x_i)}
$$
Konvergence: Kvadratická ($\lim_{i \to \infty} \frac{|x - x_i|}{|x - x_{i-1}|^2} = \left| \frac{f''(x)}{2f'(x)} \right|$) při $f'(x) \neq 0$
Visualizace:
Matematický princip:
Aproximace derivace:
$$
x_{i+1} = x_i - f(x_i) \cdot \frac{x_i - x_{i-1}}{f(x_i) - f(x_{i-1})}
$$
Konvergence: Superlineární ($\lim_{i \to \infty} \frac{\ln |x_{i+1} - x_i|}{\ln |x_i - x_{i-1}|} = \frac{1+\sqrt{5}}{2}$)
Visualizace:
Matematický princip:
Kombinace bisekce a sečen. Průsečík sečny s osou $x$:
$$
x_i = \frac{a_i f(b_i) - b_i f(a_i)}{f(b_i) - f(a_i)}
$$
Konvergence: Lineární při zachování intervalu s kořenem
Visualizace:
Matematický princip:
Transformace na $x = \phi(x)$, iterace:
$$
x_{i+1} = \phi(x_i)
$$
Konvergence: Lineární při $|\phi'(x)| < 1$ v okolí kořene. Řád $p$ pro $\phi^{(k)}(x) \neq 0$ ($k = 1, \dots, p-1$) a $\phi^{(p)}(x) \neq 0$
Visualizace (Cobweb diagram):
Metody pro řešení soustav lineárních rovnic $A\vec{x} = \vec{b}$, jejich matematické formulace, problémy a kritéria volby mezi přímými a iteračními postupy.
Poskytují teoreticky přesné řešení v konečném počtu kroků:
1. Gaussova eliminace:
$a^{(k)}_{i,j} = a^{(k-1)}_{i,j} - \frac{a^{(k-1)}_{i,k}}{a^{(k-1)}_{k,k}} \cdot a^{(k-1)}_{k,j}$
$x_i = \frac{1}{a^{(i-1)}_{i,i}} \left( a^{(i-1)}_{i,n+1} - \sum_{j=i+1}^n a^{(i-1)}_{i,j}x_j \right)$
2. LU rozklad:
Generují posloupnost aproximací $\vec{x}^{(k)} \to \vec{x}$:
1. Jacobiho metoda (JIM):
2. Gaussova-Seidelova metoda (GSM):
3. Superrelaxační metoda (SOR):
| Parametr | Přímé metody | Iterační metody |
|---|---|---|
| Velikost matice | Malé až střední systémy | Velké systémy ($n > 10^3$) |
| Struktura matice | Plné nebo řídké | Řídké (např. diskretizace PDE) |
| Přesnost | Vysoká (teoreticky přesné) | Přibližná (kontrola rezidua $\|\vec{r}\|$) |
| Vícenásobná $\vec{b}$ | Efektivní (jednorázový rozklad) | Výhodné s dobrým počátečním odhadem |
| Paměťová náročnost | Vyšší (např. LU: $O(n^2)$) | Nižší (např. JIM: $O(n)$) |
Numerická integrace slouží k přibližnému výpočtu určitého integrálu, když analytické řešení není možné. Zahrnuje diskretizaci intervalu, výpočet ploch pod křivkou pomocí jednoduchých geometrických tvarů a řízení chyb.
1. Metoda levých obdélníků
$$ I_L = h \sum_{i=0}^{n-1} f(x_i), \quad x_i = a + i \cdot h. $$
2. Metoda středních obdélníků
$$ I_S = h \sum_{i=0}^{n-1} f\left(x_i + \frac{h}{2}\right). $$
3. Lichoběžníková metoda (Trapezoid)
$$ I_T = \frac{h}{2} \left[ f(a) + 2 \sum_{i=1}^{n-1} f(x_i) + f(b) \right]. $$
4. Simpsonova metoda
$$ I_S = \frac{h}{3} \left[ f(a) + 4 \sum_{i=1,3,\dots}^{n-1} f(x_i) + 2 \sum_{i=2,4,\dots}^{n-2} f(x_i) + f(b) \right]. $$
5. Gaussova kvadratura
$$ I_G = \frac{b-a}{2} \sum_{i=1}^n w_i f\left( \frac{b-a}{2} t_i + \frac{a+b}{2} \right), $$ kde $t_i$ jsou kořeny Legendreových polynomů, $w_i$ odpovídající váhy.
Soubor metod, které zobecňují trapezoidální a Simpsonovu metodu.
- Vzorce:
$$
\int_{a}^{b} f(x) \, dx \approx \sum_{i=0}^{n} w_i f(x_i)
$$
kde $w_i$ jsou váhy závislé na počtu uzlů $n+1$.
- Problém: Pro $\ge 8$ uzlů nastává Rungeova fenoména (oscilace interpolujících polynomů).
$$
E_{1/2} \approx \frac{I_{h/2} - I_h}{2^p - 1}.
$$
$$
I_{\text{vylepšené}} = I_{h/2} + E_{1/2}.
$$
Metody jako Gauss-Kronrod automaticky rozdělují intervaly podle lokálního chybového odhadu (lepší efektivita pro funkcí s různými charakteristikami).
$$
x = \frac{a}{1 - t}, \quad t \in [0,1] \Rightarrow dx = \frac{a}{(1 - t)^2} dt
$$
$$ x = \tan(t), \quad t \in (-\pi/2, \pi/2) \Rightarrow dx = \sec^2(t) dt $$
Vypočtěte $\int_{0}^{1} e^{-x^2} dx$ s přesností $10^{-4}$ pomocí trapezoidální metody:
1. Odhad chyby:
$$
\left| E \right| \leq \frac{(1-0)^3}{12n^2} \max |f''(x)| \Rightarrow \max |f''(x)| = \max |4x^2 - 2| e^{-x^2} \approx 2 \text{ na } [0,1]
$$
2. Vyžaduje $n \approx \sqrt{2/(12 \cdot 10^{-4})} \approx 37$.
Poznámka: Pro reálné problémy doporučuje se použít numerické knihovny (např. scipy.quad), které kombinují různé metody a optimalizují chybu automaticky.