diff --git a/semester3/numcs/numcs-summary.pdf b/semester3/numcs/numcs-summary.pdf index 0690777..70ada81 100644 Binary files a/semester3/numcs/numcs-summary.pdf and b/semester3/numcs/numcs-summary.pdf differ diff --git a/semester3/numcs/parts/01_interpolation/01_trigonometric/00_fourier.tex b/semester3/numcs/parts/01_interpolation/01_trigonometric/00_fourier.tex index c5b6c22..271609a 100644 --- a/semester3/numcs/parts/01_interpolation/01_trigonometric/00_fourier.tex +++ b/semester3/numcs/parts/01_interpolation/01_trigonometric/00_fourier.tex @@ -134,7 +134,6 @@ Mit $c = \pi(a + b)$ und $d = \pi(b - a)$ \label{fig:trigo-interp-overarcing} \end{figure} -\stepLabelNumber{all} \inlineremark Meist ist es nicht möglich (oder nicht sinnvoll) die Fourier-Koeffizienten analytisch zu berechnen, weshalb man wieder zur Numerik und der Trapezformel greift, die folgendermassen definiert ist für $t_l = \frac{l}{N}$, wobei $l = 0, 1 \ldots, N - 1$ und $N$ die Anzahl der Intervalle ist: diff --git a/semester3/numcs/parts/01_interpolation/01_trigonometric/02_fft.tex b/semester3/numcs/parts/01_interpolation/01_trigonometric/02_fft.tex index 2b38de8..156d903 100644 --- a/semester3/numcs/parts/01_interpolation/01_trigonometric/02_fft.tex +++ b/semester3/numcs/parts/01_interpolation/01_trigonometric/02_fft.tex @@ -11,6 +11,7 @@ was bei $N = 1024$ bereits eine Laufzeitsverbesserung von $100\times$ mit sich b Die untenstehende Abbildung \ref{fig:trigo-interp-fft-runtimes} findet sich, zusammen mit dem Code, mit der sie produziert wurde im Skript auf Seite 86-88 +\setLabelNumber{all}{3} \begin{figure}[h!] \begin{center} \includegraphics[width=0.7\textwidth]{assets/01_interpolation/01_trigonometric/fft-runtimes.png} diff --git a/semester3/numcs/parts/01_interpolation/01_trigonometric/04_error-estimation.tex b/semester3/numcs/parts/01_interpolation/01_trigonometric/04_error-estimation.tex index 199dec0..a22e161 100644 --- a/semester3/numcs/parts/01_interpolation/01_trigonometric/04_error-estimation.tex +++ b/semester3/numcs/parts/01_interpolation/01_trigonometric/04_error-estimation.tex @@ -15,6 +15,7 @@ \end{multicols} \end{definition} +\numberingOff \inlineex Zur Fehlerbetrachtung verwenden wir drei Funktionen $f : [0, 1] \rightarrow \R$, welche wir mit trigonometrischer Interpolation an den Punkten $\frac{k}{N}$ approximieren: \begin{enumerate}[label=(\Roman*)] % FIXME: Possibly wrong function definition in script @@ -27,6 +28,7 @@ \item Hutfunktion (periodische Fortsetzung von $h$) $g : [0, 1] \rightarrow \R$ mit $g(t) = \left| t - \frac{1}{2} \right|$ \end{enumerate} Die untenstehende Abbildung \ref{fig:interpolation-error-examples} beinhaltet einen Plot, auf dem die Konvergenz in Abhängigkeit des Grades des Interpolationspolynoms aufgetragen ist. +\numberingOn \begin{figure}[h!] \begin{center} @@ -80,10 +82,12 @@ heisst das folgendes für die Approximation von Polynomen von Grad $\deg(P(x)) < \fancycorollary{Abtasttheorem} Sei $f$ $1$-periodisch mit maximaler Frequenz $m$, also $\hat{f}(k) = 0 \smallhspace \forall |k| > m$. Falls $N > 2m$, dann gilt $p_N(x) = f(x) \smallhspace \forall x$ +\numberingOff \inlineex Ein Beispiel aus der Musik: Wir haben ein analoges Signal und wollen es digitalisieren. Wir messen die Spannungswerte in äquidistanten Punkten. Falls wir jedoch die Frequenz der Messung zu niedrig wählen, so kann ein total falsches Interpolationspolynom entstehen, wie in der untenstehenden Abbildung \ref{fig:aliasing} zu sehen: +\numberingOn \begin{figure}[h!] \begin{center} \includegraphics[width=0.95\textwidth]{assets/01_interpolation/01_trigonometric/aliasing-in-music.png} diff --git a/semester3/numcs/parts/02_quadrature/02_non-equidistant/01_clenshaw-curtis.tex b/semester3/numcs/parts/02_quadrature/02_non-equidistant/01_clenshaw-curtis.tex index e50de18..71488f8 100644 --- a/semester3/numcs/parts/02_quadrature/02_non-equidistant/01_clenshaw-curtis.tex +++ b/semester3/numcs/parts/02_quadrature/02_non-equidistant/01_clenshaw-curtis.tex @@ -5,4 +5,33 @@ und Clenshaw und Curtis haben dann zusätzlich noch die Endknoten hinzugefügt ( Die Clenshaw-Curtis-Knoten sind die Chebyshev-Abszissen und die Formel verhält sich mit den entsprechenden Gewichten ähnlich gleich wie die Gauss-Quadratur. Da die Clenshaw-Curtis-Quadratur mithilfe der DFT berechnet werden kann ist sie sehr effizient. -Dazu müssen wir aber zuerst etwas umformen +Dazu müssen wir aber zuerst etwas umformen, mit $x = \cos(\theta)$, so dass das Integral eine periodische Funktion wird: +\rmvspace +\begin{align*} + \int_{-1}^{1} f(x) \dx x = \int_{0}^{\pi} f(\cos(\theta)) \sin(\theta) \dx \theta = f(\cos(\theta)) +\end{align*} + +\drmvspace +$F(\theta)$ ist $2\pi$-periodisch und gerade, kann sich also in eine Kosinius-Reihe entwickeln, also: $F(\theta) = \sum_{k = 0}^{\infty} a_k \cos(k \theta)$, woraus folgt, dass +\drmvspace +\begin{align*} + \int_{0}^{\pi} F(\theta) \sin(\theta) \dx \theta = \ldots = a_0 + \sum_{2 \leq k \text{ gerade}} \frac{2a_k}{1 - k^2} +\end{align*} + +\drmvspace +wobei sich die Koeffizienten $a_k$ mit FFT oder DCT berechnen lassen + +% TODO: Insert code from TA slides here + +Eine wichtige Erkenntnis ist, dass die Newton-Cotes bei grösserer Ordnung komplett unbrauchbar werden, wie das in Abbildung 5.5.24 im Skript zu sehen ist, +während die Clenshaw-Curtis-Quadratur ähnlich gut ist wie die Gauss-Quadratur (gleiche Konvergenzordnung). + +\begin{fullTable}{llllll}{Quadratur & Intervall & Gewichtsfunktion & Polynom & Notation & \texttt{scipy.special.}} + {Gewichtsfunktionen für Quadraturformeln} + Gauss & $(-1, 1)$ & $1$ & Legendre & $P_k$ & \texttt{roots\_legendre} \\ + Chebyshev I & $(-1, 1)$ & $\frac{1}{\sqrt{1 - x^2}}$ & Chebyshev I & $T_k$ & \texttt{roots\_chebyt} \\ + Chebyshev II & $(-1, 1)$ & $\sqrt{1 - x^2}$ & Chebyshev II & $U_k$ & \texttt{roots\_chebyu} \\ + Jacobi $\alpha, \beta > 1$ & $(-1, 1)$ & $(1 - x)^\alpha (1 + x)^\beta$ & Jacobi & $P_k^{(\alpha, \beta)}$ & \texttt{roots\_jacobi} \\ + Hermite & $\R$ & $e^{-x^2}$ & Hermite & $H_k$ & \texttt{roots\_hermite} \\ + Laguerre & $(0, \infty)$ & $x^\alpha e^{-x^2}$ & Laguerre & $L_k$ & \texttt{roots\_genlaguerre} \\ +\end{fullTable} diff --git a/semester3/numcs/parts/02_quadrature/03_adaptive.tex b/semester3/numcs/parts/02_quadrature/03_adaptive.tex index e41dac5..ffff2b5 100644 --- a/semester3/numcs/parts/02_quadrature/03_adaptive.tex +++ b/semester3/numcs/parts/02_quadrature/03_adaptive.tex @@ -1,2 +1,4 @@ \newsection \subsection{Adaptive Quadratur} +Der lokale Fehler einer zusammengesetzten Quadraturformel auf dem Gitter $\mathcal{M} := \{ a = x_0 < x_1 < \dots < x_m = b \}$ ist (für $f \in C^2([a, b])$). +Test