[NumCS] Update to new helpers

This commit is contained in:
2025-10-18 13:40:39 +02:00
parent 8c34f7196d
commit 580928bee1
16 changed files with 41 additions and 38 deletions

Binary file not shown.

View File

@@ -18,8 +18,8 @@
\begin{document} \begin{document}
\startDocument \startDocument
\usetcolorboxes \usetcolorboxes
\setcounter{numberingConfig}{3} \setNumberingStyle{3}
\setcounter{numberSubsections}{1} \setSubsectionNumbering{1}
% ╭────────────────────────────────────────────────╮ % ╭────────────────────────────────────────────────╮
% │ Title page │ % │ Title page │

View File

@@ -20,13 +20,13 @@ Zusätzlich kommt hinzu, dass durch Unterläufe (in diesem Kurs ist dies eine Za
Überläufe hingegen sind konventionell definiert, also eine Zahl, die zu gross ist und nicht mehr dargestellt werden kann. Überläufe hingegen sind konventionell definiert, also eine Zahl, die zu gross ist und nicht mehr dargestellt werden kann.
\setcounter{all}{9} \setLabelNumber{all}{9}
\begin{remark}[]{Auslöschung} \begin{remark}[]{Auslöschung}
Bei der Subtraktion von zwei ähnlich grossen Zahlen kann es zu einer Addition der Fehler der beiden Zahlen kommen, was dann den relativen Fehler um einen sehr grossen Faktor vergrössert. Bei der Subtraktion von zwei ähnlich grossen Zahlen kann es zu einer Addition der Fehler der beiden Zahlen kommen, was dann den relativen Fehler um einen sehr grossen Faktor vergrössert.
Die Subtraktion selbst hat einen vernachlässigbaren Fehler Die Subtraktion selbst hat einen vernachlässigbaren Fehler
\end{remark} \end{remark}
\setcounter{all}{18} \setLabelNumber{all}{18}
\fancyex{Ableitung mit imaginärem Schritt} Als Referenz in Graphen wird hier oftmals die Implementation des Differenzialquotienten verwendet. \fancyex{Ableitung mit imaginärem Schritt} Als Referenz in Graphen wird hier oftmals die Implementation des Differenzialquotienten verwendet.
Der Trick hier ist, dass wir mit Komplexen Zahlen in der Taylor-Approximation einer glatten Funktion in $x_0$ einen rein imaginären Schritt durchführen können: Der Trick hier ist, dass wir mit Komplexen Zahlen in der Taylor-Approximation einer glatten Funktion in $x_0$ einen rein imaginären Schritt durchführen können:
@@ -41,7 +41,7 @@ Da $f(x_0)$ und $f''(x_0)h^2$ reell sind, verschwinden die Terme, wenn wir nur d
Falls jedoch hier die Auswertung von $\text{Im}(f(x_0 + ih))$ nicht exakt ist, so kann der Fehler beträchtlich sein. Falls jedoch hier die Auswertung von $\text{Im}(f(x_0 + ih))$ nicht exakt ist, so kann der Fehler beträchtlich sein.
\setcounter{all}{20} \setLabelNumber{all}{20}
\fancyex{Konvergenzbeschleunigung nach Richardson} \fancyex{Konvergenzbeschleunigung nach Richardson}
\begin{align*} \begin{align*}
y f'(x) & = y d\left(\frac{h}{2}\right) + \frac{1}{6} f'''(x) h^2 + \frac{1}{480}f^{(s)} h^4 + \ldots - f'(x) \\ y f'(x) & = y d\left(\frac{h}{2}\right) + \frac{1}{6} f'''(x) h^2 + \frac{1}{480}f^{(s)} h^4 + \ldots - f'(x) \\

View File

@@ -18,17 +18,17 @@ Wie in Lineare Algebra besprochen, ist das Resultat der Multiplikation einer Mat
\end{itemize} \end{itemize}
\setcounter{all}{4} \setLabelNumber{all}{4}
\fancyremark{Rang der Matrixmultiplikation} $\text{Rang}(AX) = \min(\text{Rang}(A), \text{Rang}(X))$ \fancyremark{Rang der Matrixmultiplikation} $\text{Rang}(AX) = \min(\text{Rang}(A), \text{Rang}(X))$
\setcounter{all}{7} \setLabelNumber{all}{7}
\fancyremark{Multiplikation mit Diagonalmatrix $D$} $D \times A$ skaliert die Zeilen von $A$ während $A \times D$ die Spalten skaliert \fancyremark{Multiplikation mit Diagonalmatrix $D$} $D \times A$ skaliert die Zeilen von $A$ während $A \times D$ die Spalten skaliert
\stepcounter{all} \stepcounter{all}
\inlineex \verb|D @ A| braucht $\tco{n^3}$ Operationen, wenn wir jedoch \verb|D.diagonal()[:, np.newaxis] * A| verwenden, so haben wir nur noch $\tco{n^2}$ Operationen, da wir die vorige Bemerkung Nutzen und also nur noch eine Skalierung vornehmen. \inlineex \verb|D @ A| braucht $\tco{n^3}$ Operationen, wenn wir jedoch \verb|D.diagonal()[:, np.newaxis] * A| verwenden, so haben wir nur noch $\tco{n^2}$ Operationen, da wir die vorige Bemerkung Nutzen und also nur noch eine Skalierung vornehmen.
So können wir also eine ganze Menge an Speicherzugriffen sparen, was das Ganze bedeutend effizienter macht So können wir also eine ganze Menge an Speicherzugriffen sparen, was das Ganze bedeutend effizienter macht
\setcounter{all}{14} \setLabelNumber{all}{14}
\inlineremark Wir können bestimmte Zeilen oder Spalten einer Matrix skalieren, in dem wir einer Identitätsmatrix im unteren Dreieck ein Element hinzufügen. \inlineremark Wir können bestimmte Zeilen oder Spalten einer Matrix skalieren, in dem wir einer Identitätsmatrix im unteren Dreieck ein Element hinzufügen.
Wenn wir nun diese Matrix $E$ (wie die in der $LU$-Zerlegung) linksseitig mit der Matrix $A$ multiplizieren (bspw. $E^{(2, 1)}A$), dann wird die zugehörige Zeile skaliert. Wenn wir nun diese Matrix $E$ (wie die in der $LU$-Zerlegung) linksseitig mit der Matrix $A$ multiplizieren (bspw. $E^{(2, 1)}A$), dann wird die zugehörige Zeile skaliert.
Falls wir aber $AE^{(2, 1)}$ berechnen, so skalieren wir die Spalte Falls wir aber $AE^{(2, 1)}$ berechnen, so skalieren wir die Spalte
@@ -79,7 +79,7 @@ Die vollständige Implementation sieht so aus:
\end{code} \end{code}
\setcounter{all}{21} \setLabelNumber{all}{21}
\fancydef{Kronecker-Produkt} Das Kronecker-Produkt ist eine $(ml) \times (nk)$-Matrix, für $A \in \R^{m \times n}$ und $B \in \R^{l \times k}$. \fancydef{Kronecker-Produkt} Das Kronecker-Produkt ist eine $(ml) \times (nk)$-Matrix, für $A \in \R^{m \times n}$ und $B \in \R^{l \times k}$.
\innumpy können wir dieses einfach mit \verb|np.kron(A, B)| berechnen (ist jedoch nicht immer ideal): \innumpy können wir dieses einfach mit \verb|np.kron(A, B)| berechnen (ist jedoch nicht immer ideal):

View File

@@ -26,16 +26,16 @@ Dann lässt sich der Bezug zwischen $f$ und $\tilde{f} = f_n(x)$ so ausdrücken:
f(x) \approx f_n(x) = \sum_{j=1}^n \alpha_j b_j(x) f(x) \approx f_n(x) = \sum_{j=1}^n \alpha_j b_j(x)
\end{align*} \end{align*}
\setcounter{all}{2} \setLabelNumber{all}{1}
\inlineremark Unterräume $\mathcal{V}_n$ existieren nicht nur für Polynome, wir beschränken uns aber auf $b_j(x) = x^{i-1}$. \inlineremark Unterräume $\mathcal{V}_n$ existieren nicht nur für Polynome, wir beschränken uns aber auf $b_j(x) = x^{i-1}$.
Andere Möglichkeiten: $b_j = \cos((j-1)\cos^-1(x))$ \textit{(Chebyshev)} oder $b_j = e^{i2\pi j x}$ \textit{(Trigonometrisch)} Andere Möglichkeiten: $b_j = \cos((j-1)\cos^-1(x))$ \textit{(Chebyshev)} oder $b_j = e^{i2\pi j x}$ \textit{(Trigonometrisch)}
% FIXME: This could go into a special "maths theory" section -> GOOD % FIXME: This could go into a special "maths theory" section -> GOOD
\setcounter{all}{5} \setLabelNumber{all}{4}
\fancytheorem{Peano} $f$ stetig $\implies \exists p(x)$ welches $f$ in $||\cdot||_\infty$ beliebig gut approximiert. \fancytheorem{Peano} $f$ stetig $\implies \exists p(x)$ welches $f$ in $||\cdot||_\infty$ beliebig gut approximiert.
\setcounter{all}{7} \setLabelNumber{all}{5}
\fancydef{Raum der Polynome} $\mathcal{P}_k := \{ x \mapsto \sum_{j = 0}^{k} \alpha_j x^j \}$ \fancydef{Raum der Polynome} $\mathcal{P}_k := \{ x \mapsto \sum_{j = 0}^{k} \alpha_j x^j \}$
\fancydef{Monom} $f: x \mapsto x^k$ \fancydef{Monom} $f: x \mapsto x^k$

View File

@@ -13,7 +13,7 @@ Die Konstruktion verläuft iterativ, und vorherige Datenpunkte müssen nicht neu
p_3(x) &= p_2(x) + \ldots p_3(x) &= p_2(x) + \ldots
\end{align*} \end{align*}
\setcounter{all}{3} \setLabelNumber{all}{2}
\fancytheorem{Newton-Basis} $\{ N_0,\ \ldots\ ,N_n\}$ ist eine Basis von $\mathcal{P}_n$ \fancytheorem{Newton-Basis} $\{ N_0,\ \ldots\ ,N_n\}$ ist eine Basis von $\mathcal{P}_n$
\begin{align*} \begin{align*}
N_0(x) &:= 1 \quad N_0(x) &:= 1 \quad
@@ -49,7 +49,7 @@ Wegen Satz 2.2.3 lässt sich jedes $p_n \in \mathcal{P}_n$ als $p_n(x) =\display
Die Matrixmultiplikation in $\mathcal{O}(n^3)$ ist aber nicht nötig: Es gibt ein effizienteres System. Die Matrixmultiplikation in $\mathcal{O}(n^3)$ ist aber nicht nötig: Es gibt ein effizienteres System.
\setcounter{all}{5} \setLabelNumber{all}{4}
\fancydef{Dividierte Differenzen} \fancydef{Dividierte Differenzen}
\begin{multicols}{2} \begin{multicols}{2}
\begin{align*} \begin{align*}
@@ -81,7 +81,7 @@ Falls $x_j = x_0 + \underbrace{j \cdot h}_{:= \Delta^j}$ gilt vereinfacht sich e
y[x_0,\ \ldots\ , x_n] &= \frac{1}{n! h^n} \Delta^n y_0 y[x_0,\ \ldots\ , x_n] &= \frac{1}{n! h^n} \Delta^n y_0
\end{align*} \end{align*}
\setcounter{all}{8} \setLabelNumber{all}{8}
\fancytheorem{Newton} Falls $\beta_j = y[x_0,\ \ldots\ , x_j]$ geht das resultierende Polynom durch alle $(x_i,y_i)$.\\ \fancytheorem{Newton} Falls $\beta_j = y[x_0,\ \ldots\ , x_j]$ geht das resultierende Polynom durch alle $(x_i,y_i)$.\\
\footnotesize \footnotesize
(D.h. die dividierten Differenzen sind korrekt.) (D.h. die dividierten Differenzen sind korrekt.)
@@ -164,7 +164,7 @@ Auswertung eines Newton-Polynoms funktioniert in $\mathcal{O}(n)$ durch ein modi
\subsubsection{Fehler} \subsubsection{Fehler}
\setcounter{all}{11} \setLabelNumber{all}{10}
\inlinetheorem $f$ $n$-mal diff.-bar, $y_i = f(x_i) \implies \exists \xi \in (\min_i x_i, \max_i x_i)$ s.d. $y[x_0,x_1,\ldots,x_n] = \frac{f^{(n)}(\xi)}{(n+1)!}$ \inlinetheorem $f$ $n$-mal diff.-bar, $y_i = f(x_i) \implies \exists \xi \in (\min_i x_i, \max_i x_i)$ s.d. $y[x_0,x_1,\ldots,x_n] = \frac{f^{(n)}(\xi)}{(n+1)!}$
\fancytheorem{Fehler} $f: [a,b] \to \R$ ist $(n+1)$-mal diff.-bar, $p$ ist das Polynom zu $f$ in $x_0,\ldots,x_n \in [a,b]$. \fancytheorem{Fehler} $f: [a,b] \to \R$ ist $(n+1)$-mal diff.-bar, $p$ ist das Polynom zu $f$ in $x_0,\ldots,x_n \in [a,b]$.

View File

@@ -84,14 +84,14 @@ Gleiche funktion, etwas kürzer:
\end{code} \end{code}
Mit dem können wir dann ein Polynom mit der baryzentrischen Interpolationsformel interpolieren: Mit dem können wir dann ein Polynom mit der baryzentrischen Interpolationsformel interpolieren:
\setcounter{numberingConfig}{0} \numberingOff
\begin{formula}[]{Baryzentrische Interpolationsformel} \begin{formula}[]{Baryzentrische Interpolationsformel}
\vspace{-1.5pc} \vspace{-1.5pc}
\begin{align*} \begin{align*}
p(x) = \frac{\displaystyle \sum_{k = 0}^{n} \frac{\lambda_k}{x - x_k} y_k}{\displaystyle \sum_{k = 0}^{n} \frac{\lambda_k}{x - x_k}} p(x) = \frac{\displaystyle \sum_{k = 0}^{n} \frac{\lambda_k}{x - x_k} y_k}{\displaystyle \sum_{k = 0}^{n} \frac{\lambda_k}{x - x_k}}
\end{align*} \end{align*}
\end{formula} \end{formula}
\setcounter{numberingConfig}{3} \numberingOn
Falls wir die Stützstellen als $(n + 1)$ Chebyshev-Abszissen $\displaystyle x_k = \cos\left( \frac{k\pi}{n} \right)$ wählen, Falls wir die Stützstellen als $(n + 1)$ Chebyshev-Abszissen $\displaystyle x_k = \cos\left( \frac{k\pi}{n} \right)$ wählen,
so sind alle $\lambda_k$ gegeben durch $\lambda_k = (-1)^k \delta_k$ mit $\delta_0 = \delta_n = 0.5$ und $\delta_i = 1$. so sind alle $\lambda_k$ gegeben durch $\lambda_k = (-1)^k \delta_k$ mit $\delta_0 = \delta_n = 0.5$ und $\delta_i = 1$.
@@ -141,7 +141,7 @@ Verglichen in der Lagrange-Basis zum korrekten Interpolationspolynom $p(x)$ ergi
\end{align*} \end{align*}
\stepcounter{all} \stepLabelNumber{all}
\fancytheorem{Auswirkung von Messfehlern} Es gilt (wenn $\Lambda_n$ die beste Lebesgue-Konstante für die Ungleichung ist): \fancytheorem{Auswirkung von Messfehlern} Es gilt (wenn $\Lambda_n$ die beste Lebesgue-Konstante für die Ungleichung ist):
\rmvspace \rmvspace
\begin{align*} \begin{align*}
@@ -156,7 +156,7 @@ Verglichen in der Lagrange-Basis zum korrekten Interpolationspolynom $p(x)$ ergi
\end{align*} \end{align*}
\end{theorem} \end{theorem}
\stepcounter{all} \stepLabelNumber{all}
\inlineremark Für gleichmässig auf $I$ verteilte Stützstellen gilt $\displaystyle \Lambda_n \approx \frac{2^{n + 1}}{e n \log(n)}$ \inlineremark Für gleichmässig auf $I$ verteilte Stützstellen gilt $\displaystyle \Lambda_n \approx \frac{2^{n + 1}}{e n \log(n)}$
\shade{gray}{Wichtig:} \bi{Niemals gleichmässig verteilte Stützstellen verwenden für die Interpolation von Polynomen hohen Grades} \shade{gray}{Wichtig:} \bi{Niemals gleichmässig verteilte Stützstellen verwenden für die Interpolation von Polynomen hohen Grades}

View File

@@ -30,7 +30,7 @@
\end{definition} \end{definition}
$T_n(x)$ scheint erst nicht ein Polynom zu sein, aber wir haben einen $\arccos$ in einem $\cos$. Zudem: $T_n(x)$ scheint erst nicht ein Polynom zu sein, aber wir haben einen $\arccos$ in einem $\cos$. Zudem:
\stepcounter{all} \stepLabelNumber{all}
\fancytheorem{Eigenschaften} \fancytheorem{Eigenschaften}
Das $n$-te Chebyshev-Polynom ist ein Polynom von Grad $n$ und für $x \in [-1, 1]$ gilt: Das $n$-te Chebyshev-Polynom ist ein Polynom von Grad $n$ und für $x \in [-1, 1]$ gilt:
\begin{multicols}{2} \begin{multicols}{2}
@@ -81,7 +81,7 @@ Oder $k = 1, \ldots, n - 1$ bei ausgeschlossenen Endpunkten $a$ und $b$
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
\stepcounter{all} \stepLabelNumber{all}
\newpage \newpage
\subsubsection{Fehler} \subsubsection{Fehler}
Was hat die neue Verteilung für einen Einfluss auf den Fehler? Was hat die neue Verteilung für einen Einfluss auf den Fehler?
@@ -98,12 +98,12 @@ Folglich sind also die Nullstellen der Chebyshev-Polynome $T_n$ die bestmöglich
Da die Abszissen mit FFT einfacher zu berechnen sind, werden diese oft bevorzugt berechnet. Da die Abszissen mit FFT einfacher zu berechnen sind, werden diese oft bevorzugt berechnet.
Dies, da die Nullstellen von $T_n$ in den Extrema von $T_{2n}$ enthalten sind, während zudem zwischen zwei nebeneinanderliegenden Chebyshev-Abszissen jeweils eine Nullstelle von $T_{2n}$ liegt Dies, da die Nullstellen von $T_n$ in den Extrema von $T_{2n}$ enthalten sind, während zudem zwischen zwei nebeneinanderliegenden Chebyshev-Abszissen jeweils eine Nullstelle von $T_{2n}$ liegt
\stepcounter{all} \stepLabelNumber{all}
\fancytheorem{Lebesgue-Konstante} Für die Chebyshev-Interpolation: $\displaystyle \Lambda_n \approx \frac{2}{\pi} \log(n) \text{ für } n \rightarrow \infty$ \fancytheorem{Lebesgue-Konstante} Für die Chebyshev-Interpolation: $\displaystyle \Lambda_n \approx \frac{2}{\pi} \log(n) \text{ für } n \rightarrow \infty$
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
\stepcounter{all} \stepLabelNumber{all}
\begin{theorem}[]{Interpolationspolynom} \begin{theorem}[]{Interpolationspolynom}
Das Interpolationspolynom $p$ zu $f$ mit Chebyshev-Knoten gleich der Nullstellen von $T_{n + 1}$ ist gegeben durch Das Interpolationspolynom $p$ zu $f$ mit Chebyshev-Knoten gleich der Nullstellen von $T_{n + 1}$ ist gegeben durch
\begin{align*} \begin{align*}

View File

@@ -60,7 +60,7 @@ $p_m$ kann folgendermassen dargestellt werden ($a_0 = 2\gamma_0, a_j = 2\Re(\gam
In Anwendungen findet sich oft das Intervall $\left[ -\frac{T}{2}, \frac{T}{2} \right]$. In Anwendungen findet sich oft das Intervall $\left[ -\frac{T}{2}, \frac{T}{2} \right]$.
Dann verwandeln sich die Integrale in die Form $\frac{1}{T} \int_{\frac{T}{2}}^{-\frac{T}{2}} (\ldots) \dx t$ und $\exp(2\pi ijt)$ durch $\exp(i \frac{2\pi j}{T} t)$ ersetzt wird. Dann verwandeln sich die Integrale in die Form $\frac{1}{T} \int_{\frac{T}{2}}^{-\frac{T}{2}} (\ldots) \dx t$ und $\exp(2\pi ijt)$ durch $\exp(i \frac{2\pi j}{T} t)$ ersetzt wird.
\stepcounter{all} \stepLabelNumber{all}
\inlineremark Die Funktionen $\varphi_k(x) = \exp(2\pi ikx)$ sind orthogonal bezüglich des $L^2(0, 1)$-Skalarprodukts, bilden also eine Basis für den Unterraum der trigonometrischen polynome. \inlineremark Die Funktionen $\varphi_k(x) = \exp(2\pi ikx)$ sind orthogonal bezüglich des $L^2(0, 1)$-Skalarprodukts, bilden also eine Basis für den Unterraum der trigonometrischen polynome.
@@ -89,7 +89,7 @@ Dann verwandeln sich die Integrale in die Form $\frac{1}{T} \int_{\frac{T}{2}}^{
% A (small) intuitive explanation of what the fourier series / coefficients are & what they are useful for would be great, script *briefly* touches on it. % A (small) intuitive explanation of what the fourier series / coefficients are & what they are useful for would be great, script *briefly* touches on it.
\setcounter{all}{14} \setLabelNumber{all}{14}
\inlineremark Die Parseval'sche Gleichung beschreibt einfach gesagt einen ``schnellen'' Abfall der $\hat{f}(k)$. \inlineremark Die Parseval'sche Gleichung beschreibt einfach gesagt einen ``schnellen'' Abfall der $\hat{f}(k)$.
Genauer gesagt, klingen die Koeffizienten schneller als $\frac{1}{\sqrt{k}}$ ab. Genauer gesagt, klingen die Koeffizienten schneller als $\frac{1}{\sqrt{k}}$ ab.
Sie sagt zudem aus, dass die $L^2$-Norm der Funktion aus einer Summe berechnet werden kann (nicht nur als Integral). Sie sagt zudem aus, dass die $L^2$-Norm der Funktion aus einer Summe berechnet werden kann (nicht nur als Integral).
@@ -134,7 +134,7 @@ Mit $c = \pi(a + b)$ und $d = \pi(b - a)$
\label{fig:trigo-interp-overarcing} \label{fig:trigo-interp-overarcing}
\end{figure} \end{figure}
\stepcounter{all} \stepLabelNumber{all}
\inlineremark Meist ist es nicht möglich (oder nicht sinnvoll) die Fourier-Koeffizienten analytisch zu berechnen, \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}$, 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: wobei $l = 0, 1 \ldots, N - 1$ und $N$ die Anzahl der Intervalle ist:

View File

@@ -58,14 +58,14 @@ Die diskreten Fourier-Koeffizienten $\gamma_k$ sind eine Umsortierung der Koeffi
Die skalierte Fourier-Matrix $\frac{1}{\sqrt{N}}F_N$ hat einige besondere Eigenschaften. Die skalierte Fourier-Matrix $\frac{1}{\sqrt{N}}F_N$ hat einige besondere Eigenschaften.
\setcounter{all}{6} \setLabelNumber{all}{6}
\inlinetheorem Die skalierte Fourier-Matrix $\frac{1}{\sqrt{N}}F_N$ ist unitär: $F_N^{-1} = \frac{1}{N} F_N^H = \frac{1}{N} \overline{F_N}$ \inlinetheorem Die skalierte Fourier-Matrix $\frac{1}{\sqrt{N}}F_N$ ist unitär: $F_N^{-1} = \frac{1}{N} F_N^H = \frac{1}{N} \overline{F_N}$
\fancyremark{Eigenwerte von $\frac{1}{\sqrt{N}}F_N$} Die $\lambda$ von $\frac{1}{\sqrt{N}}F_N$ liegen in $\{1,-1,i,-i\}$. \fancyremark{Eigenwerte von $\frac{1}{\sqrt{N}}F_N$} Die $\lambda$ von $\frac{1}{\sqrt{N}}F_N$ liegen in $\{1,-1,i,-i\}$.
Die diskrete Fourier-Transformation ist nun einfach die Anwendung der Basiswechsel-Matrix $F_N$. Die diskrete Fourier-Transformation ist nun einfach die Anwendung der Basiswechsel-Matrix $F_N$.
\setcounter{all}{5} \setLabelNumber{all}{5}
\fancydef{Diskrete Fourier-Transformation} $\mathcal{F}_N: \mathbb{C} \to \mathbb{C}$ s.d. $\mathcal{F}_N(y) = F_Ny$ \fancydef{Diskrete Fourier-Transformation} $\mathcal{F}_N: \mathbb{C} \to \mathbb{C}$ s.d. $\mathcal{F}_N(y) = F_Ny$
\begin{align*} \begin{align*}
\text{Für } c = \mathcal{F}_N(y) \text{ gilt: }\quad c_k = \sum_{j=0}^{N-1} y_j \omega_N^{kj} \text{Für } c = \mathcal{F}_N(y) \text{ gilt: }\quad c_k = \sum_{j=0}^{N-1} y_j \omega_N^{kj}

View File

@@ -10,7 +10,7 @@ Seien $z = \frac{1}{N} F_N y$ und $\zeta = \verb|fft.fftshift|(z)$.
\begin{align*} \begin{align*}
f(x) \approx \underbrace{\sum_{k=-N/2}^{N/2-1} \zeta_k \cdot e^{2 \pi ikx} }_{\text{Form des trig. Polynoms}} f(x) \approx \underbrace{\sum_{k=-N/2}^{N/2-1} \zeta_k \cdot e^{2 \pi ikx} }_{\text{Form des trig. Polynoms}}
\end{align*} \end{align*}
\setcounter{all}{13} \setLabelNumber{all}{13}
\inlineremark Man kann mit dieser Approximation einfach die $L^2$-Norm und Ableitungen berechnen: \inlineremark Man kann mit dieser Approximation einfach die $L^2$-Norm und Ableitungen berechnen:
\vspace{-1.5pc} \vspace{-1.5pc}
\begin{multicols}{2} \begin{multicols}{2}

View File

@@ -1,7 +1,7 @@
\newpage \newpage
\subsubsection{DFT \& Lineare Algebra} \subsubsection{DFT \& Lineare Algebra}
\setcounter{all}{25} \setLabelNumber{all}{25}
\fancydef{Zirkulant} Für einen vektor $c \in \mathbb{R}^N$ hat der Zirkulant $C \in \mathbb{R}^{N \times N}$ die Form: \fancydef{Zirkulant} Für einen vektor $c \in \mathbb{R}^N$ hat der Zirkulant $C \in \mathbb{R}^{N \times N}$ die Form:
\begin{align*} \begin{align*}
C = \begin{bmatrix} C = \begin{bmatrix}
@@ -74,7 +74,7 @@ Die Faltung von $a = [a_0,\ldots,a_{N-1}]^\top, b = [b_0,\ldots,b_{N-1}]^\top$ i
c = a \circledast b\quad\quad \text{s.d. } \sum_{n=0}^{N-1} a_nb_{k-n} \equiv_N \sum_{n=0}^{N-1}b_na_{n-k} c = a \circledast b\quad\quad \text{s.d. } \sum_{n=0}^{N-1} a_nb_{k-n} \equiv_N \sum_{n=0}^{N-1}b_na_{n-k}
\end{align*} \end{align*}
\setcounter{all}{32} \setLabelNumber{all}{32}
\inlineremark Zyklische Faltungen von Vektoren kann man mit Zirkulanten berechnen. \inlineremark Zyklische Faltungen von Vektoren kann man mit Zirkulanten berechnen.
\begin{align*} \begin{align*}
c = a \circledast b = Ab = \underbrace{\begin{bmatrix} c = a \circledast b = Ab = \underbrace{\begin{bmatrix}
@@ -87,7 +87,7 @@ Die Faltung von $a = [a_0,\ldots,a_{N-1}]^\top, b = [b_0,\ldots,b_{N-1}]^\top$ i
% NOTE: I'm not sure if this below is correct. This is how I interpret what is written in the script % NOTE: I'm not sure if this below is correct. This is how I interpret what is written in the script
\setcounter{all}{30} \setLabelNumber{all}{30}
\inlineremark Eine Multiplikation von Polynomen $g,h$ entspricht einer Faltung im Frequenzbereich. \inlineremark Eine Multiplikation von Polynomen $g,h$ entspricht einer Faltung im Frequenzbereich.
\begin{align*} \begin{align*}
\mathcal{F}_N(\underbrace{g * h}_{\text{Standard Basis}}) = \underbrace{\mathcal{F}_N(g) \cdot \mathcal{F}_N(h)}_{\text{Trigonometrische Basis}} \mathcal{F}_N(\underbrace{g * h}_{\text{Standard Basis}}) = \underbrace{\mathcal{F}_N(g) \cdot \mathcal{F}_N(h)}_{\text{Trigonometrische Basis}}

View File

@@ -36,7 +36,7 @@ Auch hier tritt das Gibbs-Phänomen wieder an den Sprungstellen von $f(t)$ auf.
Dies verursacht die Verlangsamung der Konvergenz in den Stellen, in welchen die Funktion nicht glatt ist. Dies verursacht die Verlangsamung der Konvergenz in den Stellen, in welchen die Funktion nicht glatt ist.
\newpage \newpage
\stepcounter{all} \stepLabelNumber{all}
\inlineex Sei für $\alpha \in [0, 1)$ $\displaystyle f(t) = \frac{1}{\sqrt{1 - \alpha \sin(2\pi t)}}$. \inlineex Sei für $\alpha \in [0, 1)$ $\displaystyle f(t) = \frac{1}{\sqrt{1 - \alpha \sin(2\pi t)}}$.
Die Konvergenz ist exponentiell in $n$ und je kleiner $\alpha$, desto schneller ist sie. Die Konvergenz ist exponentiell in $n$ und je kleiner $\alpha$, desto schneller ist sie.
In der untenstehenden Abbildung \ref{fig:interpolation-error-convergence} sind einige Beispiele aufgetragen: In der untenstehenden Abbildung \ref{fig:interpolation-error-convergence} sind einige Beispiele aufgetragen:
@@ -50,7 +50,7 @@ In der untenstehenden Abbildung \ref{fig:interpolation-error-convergence} sind e
\end{figure} \end{figure}
\setcounter{all}{6} \setLabelNumber{all}{6}
\begin{theorem}[]{Aliasing} \begin{theorem}[]{Aliasing}
Der k-te Fourier-Koeffizient des $N$-ten trigonometrischen Interpolationspolynoms unterscheidet sich vom $k$-ten Fourier-Koeffizienten von $f$ Der k-te Fourier-Koeffizient des $N$-ten trigonometrischen Interpolationspolynoms unterscheidet sich vom $k$-ten Fourier-Koeffizienten von $f$
gerade um die Summe aller Fourier-Koeffizienten, die um ganze Vielfache von $N$ vom $k$-ten Fourier-Koeffizienten verschoben sind: gerade um die Summe aller Fourier-Koeffizienten, die um ganze Vielfache von $N$ vom $k$-ten Fourier-Koeffizienten verschoben sind:

View File

@@ -39,7 +39,7 @@ Und mit weitern Umformungen erhalten wir
\end{align*} \end{align*}
Auf Seite 102 im Skript findet sich auch eine effiziente Implementation dessen. Auf Seite 102 im Skript findet sich auch eine effiziente Implementation dessen.
\stepcounter{all} \stepLabelNumber{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). \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. Dies ist eine günstigere, aber beschränktere Variante der DFT, mit der nur reellwertige, gerade Funktionen interpoliert werden können.

View File

@@ -26,7 +26,7 @@ Bei anderen Interpolationsmethoden ist dies nicht garantiert (so auch nicht beim
\textit{Wenn man den Parameter \texttt{method="makima"} bei \texttt{Akima1DInterpolator} mitgibt, wird eine neuere modifizierte Variante davon ausgeführt} \textit{Wenn man den Parameter \texttt{method="makima"} bei \texttt{Akima1DInterpolator} mitgibt, wird eine neuere modifizierte Variante davon ausgeführt}
\end{footnotesize} \end{footnotesize}
\stepcounter{all} \stepLabelNumber{all}
\begin{theorem}[]{Fehler der CHIP} \begin{theorem}[]{Fehler der CHIP}
% FIXME: Explain what the C is or if it is \C, then replace % FIXME: Explain what the C is or if it is \C, then replace
Sei $f \in C^4[a, b]$ und $s$ der stückweise CHIP mit exakten Werten der Ableitungen $s'(x_j) = f'(x_j), s(x_j) = f(x_j)$ für $j = 0, \ldots, N$ Sei $f \in C^4[a, b]$ und $s$ der stückweise CHIP mit exakten Werten der Ableitungen $s'(x_j) = f'(x_j), s(x_j) = f(x_j)$ für $j = 0, \ldots, N$

View File

@@ -55,4 +55,7 @@ Falls wir $c_k(x) = x^k$ haben (was oft der Fall ist, je nach Funktion aber kön
\rmvspace \rmvspace
als die Lagrange-Polynome zu den Stützstellen $x_0, x_1, \ldots, x_n$ als die Lagrange-Polynome zu den Stützstellen $x_0, x_1, \ldots, x_n$
\end{definition} \end{definition}
Für ein Beispiel verweisen wir auf Abschnitt \ref{sec:barycentric-interpolation} Für ein Beispiel verweisen wir auf Beispiel \ref{all:2-3-2}
\setLabelNumber{all}{6}
\fancyremark{Eigenschaften der Lagrange-Polynome} Zusätzlich zu den Eigenschaften in \ref{all:2-3-4} ist folgende Eigenschaft erwähnenswert