From fde57297b3efbef28d09a532e1b3895d2b2ad917 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrik=20M=C3=BCller?= <patrik.mueller@ost.ch>
Date: Thu, 14 Jul 2022 15:03:28 +0200
Subject: Correct Makefile, add text to gamma.tex, separate python-scripts for
 each image

---
 buch/papers/laguerre/gamma.tex | 212 +++++++++++++++++++++++++++++++----------
 1 file changed, 164 insertions(+), 48 deletions(-)

(limited to 'buch/papers/laguerre/gamma.tex')

diff --git a/buch/papers/laguerre/gamma.tex b/buch/papers/laguerre/gamma.tex
index a04ec47..a28c180 100644
--- a/buch/papers/laguerre/gamma.tex
+++ b/buch/papers/laguerre/gamma.tex
@@ -54,7 +54,7 @@ z \notin \mathbb{Z}
 \label{laguerre:gamma_refform}
 \end{align}
 stellt eine Beziehung zwischen den zwei Punkten,
-die aus der Spiegelung an der Geraden $\operatorname{Re} z = 1/2$ hervorgehen,
+die aus der Spiegelung an der Geraden $\real z = 1/2$ hervorgehen,
 her.
 Dadurch lassen Werte der Gamma-Funktion sich für $z$ in der rechten Halbebene
 leicht in die linke Halbebene übersetzen und umgekehrt.
@@ -99,10 +99,20 @@ Somit entscheiden wir uns auf Grund der vorherigen Punkte,
 die zweite Variante weiterzuverfolgen.
 
 \subsubsection{Naiver Ansatz}
+Wenden wir also die Gauss-Laguerre-Quadratur aus
+\eqref{laguerre:laguerrequadratur} auf die Gamma-Funktion
+\eqref{laguerre:gamma} an ergibt sich
+\begin{align}
+\Gamma(z)
+\approx
+\sum_{i=1}^n x_i^{z-1} A_i.
+\label{laguerre:naive_lag}
+\end{align}
 
 \begin{figure}
 \centering
 \input{papers/laguerre/images/rel_error_simple.pgf}
+\vspace{-12pt}
 \caption{Relativer Fehler des naiven Ansatzes
 für verschiedene reele Werte von $z$ und Grade $n$ der Laguerre-Polynome}
 \label{laguerre:fig:rel_error_simple}
@@ -122,13 +132,13 @@ Für das Integral der Gamma-Funktion ergibt sich also
 (z - 2n)_{2n} \xi^{z - 2n - 1}
 \end{align*}
 Eingesetzt im Fehlerterm \eqref{laguerre:lag_error} resultiert
-\begin{align*}
+\begin{align}
 R_n
 =
 (z - 2n)_{2n} \frac{(n!)^2}{(2n)!} \xi^{z-2n-1}
 ,
 \label{laguerre:gamma_err_simple}
-\end{align*}
+\end{align}
 wobei $\xi$ ein geeigneter Wert im Interval $(0, \infty)$ ist
 und $n$ der Grad des verwendeten Laguerre-Polynoms.
 Eine Fehlerabschätzung mit dem Fehlerterm stellt sich als unnütz heraus,
@@ -159,6 +169,7 @@ könnten wir die Reflektionsformel der Gamma-Funktion ausnutzen.
 \begin{figure}
 \centering
 \input{papers/laguerre/images/rel_error_mirror.pgf}
+\vspace{-12pt}
 \caption{Relativer Fehler des naiven Ansatz mit Spiegelung negativer Realwerte
 für verschiedene reele Werte von $z$ und Grade $n$ der Laguerre-Polynome}
 \label{laguerre:fig:rel_error_mirror}
@@ -171,7 +182,8 @@ Die Spiegelung bringt nur für wenige Werte einen,
 für praktische Anwendungen geeigneten,
 relativen Fehler.
 Wie wir aber in Abbildung~\ref{laguerre:fig:rel_error_simple} sehen konnten,
-gibt es für jeden Polynomgrad $n$ ein Intervall $[a, a+1]$, $a \in \mathbb{Z}$,
+gibt es für jeden Polynomgrad $n$ ein Intervall $[a(n), a(n) + 1]$,
+$a(n) \in \mathbb{Z}$,
 in welchem der relative Fehler minimal ist.
 Die Funktionalgleichung der Gamma-Funktion \eqref{laguerre:gamma_funktional}
 könnte uns hier helfen,
@@ -181,17 +193,17 @@ das Problem in den Griff zu bekommen.
 Wie wir im vorherigen Abschnitt gesehen haben,
 scheint der Integrand problematisch.
 Darum möchten wir jetzt den Integranden analysieren,
-um ihn besser verstehen zu können
-und dadurch geeignete Gegenmassnahmen zu entwickeln.
+um ihn besser verstehen zu können und
+dadurch geeignete Gegenmassnahmen zu entwickeln.
 
 % Dieser Abschnitt soll eine grafisches Verständnis dafür schaffen,
 % wieso der Integrand so problematisch ist.
 % Was das heisst sollte in Abbildung~\ref{laguerre:fig:integrand} 
 % und Abbildung~\ref{laguerre:fig:integrand_exp} grafisch dargestellt werden.
-
 \begin{figure}
 \centering
-\input{papers/laguerre/images/integrands.pgf}
+\input{papers/laguerre/images/integrand.pgf}
+\vspace{-12pt}
 \caption{Integrand $x^z$ mit unterschiedlichen Werten für $z$}
 \label{laguerre:fig:integrand}
 \end{figure}
@@ -211,7 +223,8 @@ dass kleine Exponenten um $0$ genauere Resultate liefern sollten.
 
 \begin{figure}
 \centering
-\input{papers/laguerre/images/integrands_exp.pgf}
+\input{papers/laguerre/images/integrand_exp.pgf}
+\vspace{-12pt}
 \caption{Integrand $x^z e^{-x}$ mit unterschiedlichen Werten für $z$}
 \label{laguerre:fig:integrand_exp}
 \end{figure}
@@ -230,10 +243,10 @@ die für grosse Exponenten $z$ nach der Stelle $x=1$ schnell anwachsen.
 Zu grosse Exponenten $z$ sind also immer noch problematisch.
 Kleine positive $z$ scheinen nun also auch zulässig zu sein.
 Damit formulieren wir die Vermutung,
-dass $a$,
-welches das Intervall $[a,a+1]$ definiert,
+dass $a(n)$,
+welches das Intervall $[a(n), a(n) + 1]$ definiert,
 in dem der relative Fehler minimal ist,
-grösser als $0$ und abhängig von $n$ ist.
+grösser als $0$ ist.
 
 \subsubsection{Finden der optimalen Berechnungsstelle}
 % Mittels der Funktionalgleichung \eqref{laguerre:gamma_funktional} 
@@ -242,63 +255,174 @@ grösser als $0$ und abhängig von $n$ ist.
 % evaluiert werden und dann mit der Funktionalgleichung zurückverschoben werden.
 Nun stellt sich die Frage,
 ob die Approximation mittels Gauss-Laguerre-Quadratur verbessert werden kann,
-wenn man das Problem in einem geeigneten Intervall $[a, a+1]$, 
-$a \in \mathbb{Z}$, 
-evaluiert und dann mit der 
+wenn man das Problem in einem geeigneten Intervall $[a(n), a(n)+1]$,
+$a(n) \in \mathbb{Z}$,
+evaluiert und dann mit der
 Funktionalgleichung \eqref{laguerre:gamma_funktional} zurückverschiebt.
-Aus Gründen der Übersichtlichkeit möchten wir das Problem nur für reele Zahlen
-formulieren.
-
-Die optimale Stelle $a \leq z^* \leq a+1$,
-mit $z^* \in \mathbb{R}$ wollen wir finden,
-in dem wir den Fehlerterm \eqref{laguerre:lag_error} anpassen
-und in einem nächsten Schritt minimieren.
-Zudem nehmen wir an,
-dass $z < z^*$ ist.
-Wir fügen einen Verschiebungsterm um $m \in \mathbb{N}$ Stellen ein, 
-daraus folgt
+Für dieses Vorhaben führen wir einen Verschiebungsterm $m \in \mathbb{Z}$ ein.
+Passen wir \eqref{laguerre:naive_lag}
+mit dem Verschiebungsterm $m$
+%,der $z$ and die Stelle $z_m = z + m$ verschiebt, 
+an,
+ergibt sich
+\begin{align}
+\Gamma(z)
+\approx
+s(z, m) \sum_{i=1}^n x_i^{z + m - 1} A_i
+% &&
+% \text{mit }
+% s(z, m)
+% =
+% \begin{cases}
+% \displaystyle
+% \frac{1}{(z - m)_m} & \text{wenn } m \geq 0\\
+% (z + m)_{-m} & \text{wenn } m < 0
+% \end{cases}
+% .
+\label{laguerre:shifted_lag}
+\end{align}
+mit
 \begin{align*}
+s(z, m)
+=
+\begin{cases}
+\displaystyle
+\frac{1}{(z - m)_m} & \text{wenn } m \geq 0 \\
+(z + m)_{-m}        & \text{wenn } m < 0
+\end{cases}
+.
+\end{align*}
+
+Um die optimale Stelle $z^*(n) \in \left[a(n), a(n) + 1\right]$,
+$z^*(n) \in \mathbb{R}$,
+zu finden,
+erweitern wir denn Fehlerterm \eqref{laguerre:gamma_err_simple}
+und erhalten
+\begin{align}
 R_{n,m}(\xi)
 =
-\frac{(z - 2n)_{2n}}{(z - m)_m} \frac{(n!)^2}{(2n)!} \xi^{z + m - 2n - 1}
+s(z, m) \cdot (z - 2n)_{2n} \frac{(n!)^2}{(2n)!} \xi^{z + m - 2n - 1}
 ,\quad
 \text{für }
 \xi \in (0, \infty)
-,
-\end{align*}
-wobei $z^* = z + m - 1$ ist.
-Das Optimierungsproblem daraus lässt sich als
+.
+\label{laguerre:gamma_err_shifted}
+\end{align}
+% wobei  ist
+% mit $z^*(n) \in \mathbb{R}$ wollen wir finden,
+% in dem wir den Fehlerterm \eqref{laguerre:lag_error} anpassen
+% und in einem nächsten Schritt minimieren.
+% Zudem nehmen wir an,
+% dass $z < z^*(n)$ ist.
+% Wir fügen einen Verschiebungsterm um $m \in \mathbb{N}$ Stellen ein,
+% daraus folgt
+%
+% Damit wir den idealen Verschiebungsterm $m^*$ finden können,
+% müssen wir mittels des Fehlerterms \eqref{laguerre:gamma_err_shifted}
+% ein Optimierungsproblem
+%
+% Das Optimierungsproblem daraus lässt sich als
+Daraus formulieren wir das Optimierungproblem
 \begin{align*}
+m^*
+=
 \operatorname*{argmin}_m \max_\xi R_{n,m}(\xi)
+.
 \end{align*}
-formulieren.
 Allerdings ist die Funktion $R_{n,m}(\xi)$ unbeschränkt.
-Dazu müssten wir $\xi$ versuchen unter Kontroller zu bringen,
+Dazu müssten wir $\xi$ versuchen unter Kontrolle zu bringen,
 was ein äussersts schwieriges Unterfangen zu sein scheint.
 Da die Gauss-Quadratur aber sowieso nur wirklich Sinn macht für kleine $n$,
 können die Intervalle $[a(n), a(n)+1]$ empirisch gesucht werden.
 
+\begin{figure}
+\centering
+% \includegraphics{papers/laguerre/images/targets.pdf}
+\input{papers/laguerre/images/targets.pgf}
+\vspace{-12pt}
+\caption{$a$ in Abhängigkeit von $z$ und $n$}
+\label{laguerre:fig:targets}
+\end{figure}
 
+Wir bestimmen nun die optimalen Verschiebungsterme empirisch
+für $n = 2,\ldots, 12$ im Intervall $z \in (0, 1)$,
+da $z$ sowieso um den Term $m$ verschoben wird,
+reicht die $m^*$ nur in diesem Intervall zu analysieren.
+In Abbildung~\ref{laguerre:fig:targets} sind die empirisch bestimmten $m^*$
+abhängig von $z$ und $n$ dargestellt.
+In $n$-Richtung lässt sich eine klare lineare Abhängigkeit erkennen und
+die Beziehung zu $z$ ist negativ,
+d.h. wenn $z$ grösser ist, wird $m^*$ kleiner.
+Allerdings ist die genaue Beziehung zu $z$
+aus dieser Grafik nicht offensichtlich,
+aber sie scheint regelmässig zu sein.
+Es lässt die Vermutung aufkommen,
+dass die Restriktion von $m^* \in \mathbb{Z}$ Rundungsprobleme verursacht.
+Wir versuchen dieses Problem via lineare Regression und
+geeignete Rundung zu beheben.
+Den linearen Regressor
+\begin{align*}
+\hat{m}
+=
+\alpha n + \beta
+\end{align*}
+machen wir nur abhängig von $n$
+in dem wir den Mittelwert $\overline{m}$ von $m^*$ über $z$ berechnen.
+
+In Abbildung~\ref{laguerre:fig:schaetzung} sind die Resultate
+der linearen Regression aufgezeigt mit $\alpha = 1.34094$ und $\beta =
+0.854093$.
+Die lineare Beziehung ist ganz klar ersichtlich und der Fit scheint zu genügen.
+Der optimalen Verschiebungsterm
 \begin{align*}
 m^*
+\approx
+\lceil \hat{m} - z \rceil
 =
-\lceil \alpha n + \beta + \lfloor z \rfloor - z \rceil - \lfloor z \rfloor
+\lceil \alpha n + \beta - z \rceil
 \end{align*}
+kann nun mit dem linearen Regressor und $z$ gefunden werden.
 
 \begin{figure}
 \centering
-\includegraphics{papers/laguerre/images/targets.pdf}
-\caption{$a$ in Abhängigkeit von $z$ und $n$}
-\label{laguerre:fig:targets}
+\input{papers/laguerre/images/estimates.pgf}
+\vspace{-12pt}
+\caption{Schätzung Mittelwert von $m$ und Fehler}
+\label{laguerre:fig:schaetzung}
 \end{figure}
 
+\subsection{Resultate}
+
+\subsubsection{Relativer Fehler}
 
 \begin{figure}
 \centering
-\input{papers/laguerre/images/estimate.pgf}
-\caption{Schätzung Mittelwert von $m$ und Fehler}
-\label{laguerre:fig:schaetzung}
+\input{papers/laguerre/images/rel_error_shifted.pgf}
+\vspace{-12pt}
+\caption{Relativer Fehler des Ansatzes mit Verschiebungsterm
+für verschiedene reele Werte von $z$ und Verschiebungsterme $m$.
+Das verwendete Laguerre-Polynom besitzt den Grad $n = 8$.
+$m^*$ bezeichnet hier den optimalen Verschiebungsterm}
+\label{laguerre:fig:rel_error_shifted}
 \end{figure}
+  
+\begin{figure}
+\centering
+\input{papers/laguerre/images/rel_error_range.pgf}
+\vspace{-12pt}
+\caption{Relativer Fehler des Ansatzes mit optimalen Verschiebungsterm
+für verschiedene reele Werte von $z$ und Grade $n$ der Laguerre-Polynome}
+\label{laguerre:fig:rel_error_range}
+\end{figure}
+
+\subsubsection{Vergleich mit Lanczos-Methode}
+{\color{red}
+$ $\newline
+$n = 7$:\newline
+Lanczos Polynomgrad auf 13 Stellen.\newline
+Unsere Methode auf 7 Stellen
+}
+
 % 2. Die Fehlerabschätzung ist problematisch, 
 % weil die Funktion R_n(\xi) unbeschränkt ist.
 % Daher kann man nicht einfach nach dem Maximum von R_n(\xi) suchen.
@@ -315,11 +439,3 @@ m^*
 % da ja der Witz der Gauss-Integration ist,
 % dass man eben nur sehr kleine n überhaupt in Betracht zieht,
 % d.h. man braucht keine exakte Gesetzmässigkeit für a(n).
-
-
-{
-\large \color{red}
-TODO:
-Geeignete Minimierung für Fehler finden, so dass sie mit den emprisich
-bestimmen optimalen Punkten übereinstimmen.
-}
-- 
cgit v1.2.1

