diff --git a/semester3/numcs/numcs-summary.pdf b/semester3/numcs/numcs-summary.pdf index 64f53fe..c189f11 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/05_dft-chebyshev.tex b/semester3/numcs/parts/01_interpolation/01_trigonometric/05_dft-chebyshev.tex index e8bf01f..c32fdd3 100644 --- a/semester3/numcs/parts/01_interpolation/01_trigonometric/05_dft-chebyshev.tex +++ b/semester3/numcs/parts/01_interpolation/01_trigonometric/05_dft-chebyshev.tex @@ -1,3 +1,4 @@ +\newsection \subsection{DFT und Chebyshev-Interpolation} Mithilfe der DFT können günstig und einfach die Chebyshev-Koeffizienten berechnet werden. Die Idee basiert auf dem Satz 2.4.16, durch welchen schon schnell klar wird, dass es eine Verbindung zwischen den Fourier-Koeffizienten und Chebyshev-Koeffizienten gibt. @@ -12,7 +13,7 @@ können wir folgendes mit der Interpolationsbedingung $f(t_k) = p(t_k)$ tun: f(t_k) = p(t_k) \Longleftrightarrow g\left( \frac{2k + 1}{4(n + 1)} \right) = p\left( \frac{2k + 1}{4(n + 1)} \right) \end{align*} Wir wenden nun die Translation $s^* = s + \frac{1}{4n + 1}$ an, die Hilfsfunktionen sind dann $g*(s) = g(s^*)$ und $q^*(s) = q(s^*)$ -und man kann zeigen (Seite 101 im Skript), dass $q^*$ das trigonometrische Interpolationspolynom von $g^*$ ist, +und man kann zeigen (Seite 100 im Skript), dass $q^*$ das trigonometrische Interpolationspolynom von $g^*$ ist, also kann man eine Chebyshev-Interpolation durch eine DFT durchführen. Folglich überträgt sich auch die Fehlerabschätzung. Die Interpolationsbedingungen sind folgendermassen definiert: \begin{align*} @@ -23,4 +24,30 @@ Folglich überträgt sich auch die Fehlerabschätzung. Die Interpolationsbedingu \end{cases} \end{align*} -Um das ganze zu implementieren ist eine andere Darstellung nützlich. +Um das ganze zu implementieren ist eine andere Darstellung nützlich: +\begin{align*} + \cos(2\pi \xi_k) \text{ mit } \xi_k = \frac{2k + 1}{4(n + 1)} +\end{align*} +Durch Umformungen (Seite 101 im Skript) erhalten wir: +\begin{align*} + z_l = \sum_{-n}^{n} \zeta_j \exp\left( 2\pi ij \tilde{\xi}_l \right) \text{ mit } \tilde{\xi}_l = \frac{l}{2n + 2} \text{ für } 0, 1, \ldots, 2n + 1\\ + \zeta_j = c_j \exp\left( \frac{2 \pi ij}{4(n + 1)} \right) \text{ für } j = -n, \ldots, -1, 0, 1, \ldots, n +\end{align*} +Und mit weitern Umformungen erhalten wir +\begin{align*} + F^{-1}_{2n + 2} \left[ \exp\left( \frac{\pi inl}{n + 1} \right) z_l \right] = [\zeta_{k -n}] +\end{align*} +Auf Seite 102 im Skript findet sich auch eine effiziente Implementation dessen. + +\stepcounter{all} +\inlineremark Die Formel in Satz 2.4.16 (und in der eben erwähnten Implementierung) sind nichts anderes als eine Version der DCT (Discrete Cosine Transform). +Dies ist eine günstigere, aber beschränktere Variante der DFT, mit der nur reellwertige, gerade Funktionen interpoliert werden können. + +\fhlc{Cyan}{In NumPy} benutzen wir \texttt{scipy.fft.dct}. Dazu müssen die Mesungen in den Punkten $x_j = \cos\left( (j + 0.5) \cdot \frac{\pi}{N} \right)$ + +\inlineremark Die Chebyshev-Koeffizienten $c_j$ können folgendermassen berechnet werden: +\rmvspace +\begin{align*} + c_j = \frac{1}{\pi} \int_{0}^{2\pi} f(\cos(\varphi)) \cos(j \varphi) \dx \varphi +\end{align*} +Eine weitere effiziente Interpolation findet sich auf Seiten 104 - 105 im Skript diff --git a/semester3/ti/ti-summary.tex b/semester3/ti/ti-summary.tex index 8b09325..1f5acde 100644 --- a/semester3/ti/ti-summary.tex +++ b/semester3/ti/ti-summary.tex @@ -24,10 +24,12 @@ \vspace{4cm} \begin{center} \begin{Large} - ``\textit{A funny quote from the lecture still needed}`` + ``\textit{Wenn Sie die Turing-Maschine als Touring-Maschine in der Prüfung schreiben, dann macht mich das sehr traurig. Ich seh das jeweils. Teilweise sind das sehr elaborierte Trolle, manchmal Leute die nie in die Vorlesungen kommen} (2025-10-14T08:51Z+02:00``) + + ``\textit{Sie können also alle C Programme in Kanonischer Ordnung aufzählen. Sollten Sie dies tun. Wahrscheinlich nicht. Was aber zählt ist, sie \textbf{können} es tun}'' \end{Large} - \hspace{3cm} - A professor in TI, 2025 + \hspace{3cm} - Prof. Dr. Dennis Komm, 2025 \end{center} \vspace{3cm}