diff --git a/semester3/numcs/numcs-summary.pdf b/semester3/numcs/numcs-summary.pdf index a69f794..180cf8f 100644 Binary files a/semester3/numcs/numcs-summary.pdf and b/semester3/numcs/numcs-summary.pdf differ diff --git a/semester3/numcs/parts/02_quadrature/01_equidistant-nodes.tex b/semester3/numcs/parts/02_quadrature/01_equidistant-nodes.tex index d837bcf..29bf562 100644 --- a/semester3/numcs/parts/02_quadrature/01_equidistant-nodes.tex +++ b/semester3/numcs/parts/02_quadrature/01_equidistant-nodes.tex @@ -5,3 +5,4 @@ \newsection \subsection{Äquidistante Punkte} \label{sec:equidistant-nodes} +% TODO: If it is not in the lecture notes, include table from slide 41 of TA. Really handy diff --git a/semester3/numcs/parts/02_quadrature/02_non-equidistant/00_gauss.tex b/semester3/numcs/parts/02_quadrature/02_non-equidistant/00_gauss.tex index 7c06a66..d8f8204 100644 --- a/semester3/numcs/parts/02_quadrature/02_non-equidistant/00_gauss.tex +++ b/semester3/numcs/parts/02_quadrature/02_non-equidistant/00_gauss.tex @@ -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)