[NumCS] Finish Chapter 5.5.1

This commit is contained in:
2025-10-24 16:16:33 +02:00
parent f05305b5a7
commit 1df72cc6ed
3 changed files with 86 additions and 2 deletions

View File

@@ -12,7 +12,7 @@ Wir möchten unsere Gewichte $b_i$ und Knoten $c_i$ so bestimmen, dass die Quadr
Wir definieren die Notation $\langle M, g \rangle = \int_{0}^{1} M(t) g(t) \dx t$ (also das Skalarprodukt).
\begin{theorem}[]{Ordnung der Quadraturformel}
Die Ordnung ist $s + m$ genau dann, wenn $\langle M, g \rangle = 0$ für alle Polynome $g$ mit $\deg(g) \leq m - 1$ und
Die Ordnung ist $s + m$ genau dann, wenn $\langle M, g \rangle = 0$ für alle Polynome $g$ mit $\deg(g) \leq m - 1$ und
$M(t) = (t - c_1) \cdot (t - c_2) \cdot \ldots \cdot (t - c_s)$ für $s$. Also steht $M$ senkrecht zu allen $g$.
\end{theorem}
@@ -21,4 +21,87 @@ Wir definieren die Notation $\langle M, g \rangle = \int_{0}^{1} M(t) g(t) \dx t
\fhlc{lime}{Orthogonale Polynome}
Für $I = ]a, b[$ sei $w: I \rightarrow \R$ eine stetige Gewichtsfunktion mit $w(x) > 0 \smallhspace \forall x \in I$
Für $I = ]a, b[$ sei $w: I \rightarrow \R$ eine stetige Gewichtsfunktion mit $w(x) > 0 \smallhspace \forall x \in I$, so dass für alle $k = 0, 1, 2, \ldots$
$\int_{a}^{b} |x|^k w(x) \dx x$ existiert.
\begin{theorem}[]{Orthogonale Polynome}
Im Raum $V = \{ f: I \rightarrow \R \text{ stetig}, \int_{a}^{b} |f(x)|^2 w(x) \dx x \text{ existiert} \}$ existiert eine eindeutige Folge von Polynomen
$p_0, p_1, \ldots$ mit $p_k(x) = x^k + P(x)$ mit $\deg(P(x)) \leq k - 1$ für $k \geq 0$, so dass $p_k \perp \text{span}\{ p_0, p_1, \ldots, p_{k - 1} \}$. Sie können mit der
\bi{3-Term-Rekursion} gebaut werden:
\begin{align*}
p_{k + 1}(x) = (x - \beta_{k + 1}) \cdot p_k(x) - \gamma_k p_{k - 1}(x)
\end{align*}
mit $p_0(x) = 1$, $p_{- 1}(x) = 0$, $\beta_{k + 1} = \frac{\langle x \cdot p_k, p_k \rangle}{\langle p_k, p_k \rangle}$
und $\beta_{k + 1} = \frac{\langle p_k, p_k \rangle}{\langle p_{k - 1}, p_{k - 1} \rangle}$,
wobei hier $\langle f, g \rangle = \int_{a}^{b} f(x) g(x) w(x) \dx x$
das Skalarprodukt ist.
\end{theorem}
\fancyex{Legendre-Polynome} sind definiert für $w(x) = 1$, $a = -1$ und $b = 1$ (sie sind orthogonal):
\begin{align*}
p_0(x) & = 1 & p_1(x) & = x \\
p_2(x) & = \frac{1}{2}(3x^2 - 1) & p_3(x) & = \frac{1}{2}(5x^3 - 3x)
\end{align*}
Die Normierung der Legendre-Polynome ist nicht standardisiert
\innumpy können wir mit
\texttt{scipy.special.eval\_legendre} und \texttt{scipy.special.legendre} diese Polynome berechnen und mit
\texttt{scipy.special.roots\_legendre} die Knoten berechnen
\fancyex{Hermite-Polynome} sind definiert für $w(x) = e^{-x^2}$, $a = -\infty$ und $b = \infty$:
\begin{align*}
p_0(x) & = 1 & p_1(x) & = 2x \\
p_2(x) & = 4x^2 - 2 & p_3(x) & = 8x^3 - 12x
\end{align*}
\stepLabelNumber{all}
\inlineremark Aus Theorem \ref{all:5-5-3} folgt direkt, dass $c_1, c_2, \ldots, c_s$ die Nullstellen von $p_s$ sind.
\setLabelNumber{all}{11}
\fancyremark{Knoten und Fehler der Gauss-Quadratur}
\begin{itemize}
\item Gauss-Knoten sind nicht äquidistant.
\item Gauss-Knoten sind nicht verschachtelt (was er damit meint ist, dass wir sie nicht mit DnQ verwenden können \textemdash
Wir können also nicht für eine Quadratur höherer Ordnung die Knotenpunkte der Gauss-Quadratur tieferer Ordnung verwenden)
\item Die Gauss-Quadratur ist offen (da die Endpunkte des Intervalls keine Knoten sind)
\item Bei der \bi{Radau-Quadratur} fixiert man ein Ende als Randknoten, und man hat nun Ordnung $2s - 1$.
Die Berechnung ist ansonsten gleich, bis auf den Fakt, dass wir nur noch $(s - 1)$ Knoten haben ($1$ bis und mit $s - 1$).\\
Sie können mit \texttt{scipy.special.roots\_jacobi(s - 1, alpha=1, beta=0)} berechnet werden.
\item Bei der \bi{Lobatto-Quadratur} fixiert man gleich beide Enden als Randknoten, und man hat Ordnung $2s - 2$ und wir haben die Knoten $c_2, \ldots, c_{s - 1}$
\item Die Lombatto- und Radau-Quadratur werden häufig bei der Lösung gewöhnlicher DGL verwendet.
\end{itemize}
Der Fehler der Gauss-Quadratur ist:
\rmvspace
\begin{align*}
\int_{a}^{b} f(x) \dx x - \sum_{j = 1}^{s} b_j \cdot f(c_j) = \frac{b - a}{(2s)!} f^{(2s)}(z) \text{ mit } z \in [a, b]
\end{align*}
\drmvspace
Und eine obere Schranke für den Fehler ist dann
\rmvspace
\begin{align*}
\left| \int_{a}^{b} f(x) \dx x - \sum_{k = 1}^{N} G_s(f, x_{k - 1, x_k})\right| \leq c \cdot h^{2s} \max_{z \in [a, b]}|f^{(2s)}(z)|
\end{align*}
\drmvspace
wobei $c \in \R$ eine Konstante ist und $h = b - a$ die Grösse des Intervalls ist.
\setLabelNumber{all}{14}
\fancyremark{Gewichte der Gauss-Legendre-Quadratur} Für die Knoten $c_1, \ldots, c_s$ und den entsprechenden Lagrange-Polynomen $l_1, \ldots, l_s$
mit $\deg(l_i) = s - 1 \ \forall i \in \{ 1, \ldots, s \}$.
Die zugehörige Quadraturformel ist exakt für Polynome $2s - 1$-ten Grades. Die Gewichte sind:
\begin{align*}
b_i = \int_{0}^{1} l_i(t)^2 \dx t
\end{align*}
% Yeah, there is *no way* we would have figured that out... and he even provides a proof for it... yikes...
\inlinetheorem Die Gewichte der Gauss-Legendre-Quadraturformel sind positiv.
% TODO: Consider adding code
\begin{tables}{cccc}{Algorithmus & Laufzeit & Genauigkeit Knoten & Genauigkeit Gewichte}
GW (1969) & $\tco{s^3}$ / $\tco{s^2}$ & $\tco{1}$ & $\tco{s^2}$ \\
Bogaert-Townsend & $\tco{s}$ & $\tco{1}$ & $\tco{1}$ \\
CC ($2s$ Knoten) & $\tco{s \log(s)}$ & $\tco{1}$ & $\tco{1}$ \\
\end{tables}
Die Gauss-Quadratur ist in der Messtechnik nicht besonders geeignet, da wir die zugrundeliegende Funktion nicht im Vorhinein kennen und die Kosten für die Anpassung der Ordnung
aufgrund fehlender Verschachtelbarkeit sehr hoch sind (wir müssen alle vorigen Berechnungen komplett neu machen)