From bed0b6e09967200014ab83444a8b4316f285781a Mon Sep 17 00:00:00 2001 From: Fabian <@> Date: Mon, 25 Jul 2022 00:27:05 +0200 Subject: 0f1, inhalt struktur --- buch/papers/0f1/main.tex | 32 ++++-------- buch/papers/0f1/teil0.tex | 31 +++++------- buch/papers/0f1/teil1.tex | 121 ++++++++++++++++++++++++++++------------------ buch/papers/0f1/teil2.tex | 103 ++++++++++++++++++++++++++------------- buch/papers/0f1/teil3.tex | 85 +++++++++++++++++++------------- 5 files changed, 215 insertions(+), 157 deletions(-) (limited to 'buch/papers/0f1') diff --git a/buch/papers/0f1/main.tex b/buch/papers/0f1/main.tex index 264ad56..b8cdc21 100644 --- a/buch/papers/0f1/main.tex +++ b/buch/papers/0f1/main.tex @@ -3,29 +3,17 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Thema\label{chapter:0f1}} -\lhead{Thema} +% + + + +\chapter{Algorithmus zur Berechnung von $\mathstrut_0F_1$\label{chapter:0f1}} +\lhead{Algorithmus zur Berechnung von $\mathstrut_0F_1$} \begin{refsection} -\chapterauthor{Hans Muster} - -Ein paar Hinweise für die korrekte Formatierung des Textes -\begin{itemize} -\item -Absätze werden gebildet, indem man eine Leerzeile einfügt. -Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet. -\item -Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende -Optionen werden gelöscht. -Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen. -\item -Beginnen Sie jeden Satz auf einer neuen Zeile. -Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen -in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt -anzuwenden. -\item -Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren -Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. -\end{itemize} +\chapterauthor{Fabian Dünki} + + + \input{papers/0f1/teil0.tex} \input{papers/0f1/teil1.tex} diff --git a/buch/papers/0f1/teil0.tex b/buch/papers/0f1/teil0.tex index 9087808..bfc265f 100644 --- a/buch/papers/0f1/teil0.tex +++ b/buch/papers/0f1/teil0.tex @@ -1,22 +1,15 @@ % -% einleitung.tex -- Beispiel-File für die Einleitung +% einleitung.tex -- Einleitung % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2022 Fabian Dünki, Hochschule Rapperswil % -\section{Teil 0\label{0f1:section:teil0}} -\rhead{Teil 0} -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua \cite{0f1:bibtex}. -At vero eos et accusam et justo duo dolores et ea rebum. -Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum -dolor sit amet. - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua. -At vero eos et accusam et justo duo dolores et ea rebum. Stet clita -kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit -amet. - - +\section{Ausgangslage\label{0f1:section:ausgangslage}} +\rhead{Ausgangslage} +Die Hypergeometrische Funktion $\mathstrut_0F_1$ wird in vielen Funktionen als Basisfunktion benutzt, +zum Beispiel um die Airy Funktion zu berechnen. +In der GNU Scientific Library \cite{library-gsl} +ist die Funktion $\mathstrut_0F_1$ vorhanden. +Allerdings wirft die Funktion, bei negativen Übergabenwerten wie zum Beispiel \verb+gsl_sf_hyperg_0F1(1, -1)+, eine Exception. +Bei genauerer Untersuchung hat sich gezeigt, dass die Funktion je nach Betriebssystem funktioniert oder eben nicht. +So kann die Funktion unter Windows fehlerfrei aufgerufen werden, beim Mac OS und Linux sind negative Übergabeparameter im Moment nicht möglich. +Ziel dieser Arbeit war es zu evaluieren, ob es mit einfachen mathematischen Operationen möglich ist, die Hypergeometrische Funktion $\mathstrut_0F_1$ zu implementieren. diff --git a/buch/papers/0f1/teil1.tex b/buch/papers/0f1/teil1.tex index aca84d2..910e8bb 100644 --- a/buch/papers/0f1/teil1.tex +++ b/buch/papers/0f1/teil1.tex @@ -1,55 +1,80 @@ % -% teil1.tex -- Beispiel-File für das Paper +% teil1.tex -- Mathematischer Hintergrund % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2022 Fabian Dünki, Hochschule Rapperswil % -\section{Teil 1 -\label{0f1:section:teil1}} -\rhead{Problemstellung} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. -Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -aut fugit, sed quia consequuntur magni dolores eos qui ratione -voluptatem sequi nesciunt -\begin{equation} -\int_a^b x^2\, dx +\section{Mathematischer Hintergrund +\label{0f1:section:mathHintergrund}} +\rhead{Mathematischer Hintergrund} + +\subsection{Hypergeometrische Funktion $\mathstrut_0F_1$ +\label{0f1:subsection:0f1}} +Wie in Kapitel \ref{buch:rekursion:section:hypergeometrische-funktion} beschrieben, +wird die Funktion $\mathstrut_0F_1$ folgendermassen definiert. +\begin{definition} + \label{0f1:rekursion:hypergeometrisch:def} + Die hypergeometrische Funktion + $\mathstrut_0F_1$ ist definiert durch die Reihe + \[ + \mathstrut_0F_1 + \biggl( + \begin{matrix} + \\ + b_1 + \end{matrix} + ; + x + \biggr) + = + \mathstrut_0F_1(;b_1;x) + = + \sum_{k=0}^\infty + \frac{1}{(b_1)_k}\frac{x^k}{k!}. + \] +\end{definition} + + +\subsection{Airy Funktion +\label{0f1:subsection:airy}} +Wie in \ref{buch:differentialgleichungen:section:hypergeometrisch} dargestellt, ist die Airy-Differentialgleichung +folgendermassen definiert. +\begin{definition} + y'' - xy = 0 + \label{0f1:airy:eq:differentialgleichung} +\end{definition} + +Daraus ergibt sich wie in Aufgabe~\ref{503} gefundenen Lösungen der +Airy-Differentialgleichung als hypergeometrische Funktionen. + + +\begin{align*} +y_1(x) += +\sum_{k=0}^\infty +\frac{1}{(\frac23)_k} \frac{1}{k!}\biggl(\frac{x^3}{9}\biggr)^k += +\mathstrut_0F_1\biggl( +\begin{matrix}\text{---}\\\frac23\end{matrix};\frac{x^3}{9} +\biggr). +\\ +y_2(x) = -\left[ \frac13 x^3 \right]_a^b +\sum_{k=0}^\infty +\frac{1}{(\frac43)_k} \frac{1}{k!}\biggl(\frac{x^3}{9}\biggr)^k = -\frac{b^3-a^3}3. -\label{0f1:equation1} -\end{equation} -Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -consectetur, adipisci velit, sed quia non numquam eius modi tempora -incidunt ut labore et dolore magnam aliquam quaerat voluptatem. - -Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -Quis autem vel eum iure reprehenderit qui in ea voluptate velit -esse quam nihil molestiae consequatur, vel illum qui dolorem eum -fugiat quo voluptas nulla pariatur? - -\subsection{De finibus bonorum et malorum -\label{0f1:subsection:finibus}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. - -Et harum quidem rerum facilis est et expedita distinctio -\ref{0f1:section:loesung}. -Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -impedit quo minus id quod maxime placeat facere possimus, omnis -voluptas assumenda est, omnis dolor repellendus -\ref{0f1:section:folgerung}. -Temporibus autem quibusdam et aut officiis debitis aut rerum -necessitatibus saepe eveniet ut et voluptates repudiandae sint et -molestiae non recusandae. -Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -voluptatibus maiores alias consequatur aut perferendis doloribus -asperiores repellat. +x\cdot\mathstrut_0F_1\biggl( +\begin{matrix}\text{---}\\\frac43\end{matrix}; +\frac{x^3}{9} +\biggr). +\qedhere +\end{align*} +\begin{figure} + \centering + \includegraphics{papers/0f1/images/airy.pdf} + \caption{Plot der Lösungen der Airy-Differentialgleichung $y''-xy=0$ + zu den Anfangsbedingungen $y(0)=1$ und $y'(0)=0$ in {\color{red}rot} + und $y(0)=0$ und $y'(0)=1$ in {\color{blue}blau}. + \label{0f1:airy:plot:vorgabe}} +\end{figure} \ No newline at end of file diff --git a/buch/papers/0f1/teil2.tex b/buch/papers/0f1/teil2.tex index 804d11b..07e17c0 100644 --- a/buch/papers/0f1/teil2.tex +++ b/buch/papers/0f1/teil2.tex @@ -1,40 +1,75 @@ % -% teil2.tex -- Beispiel-File für teil2 +% teil2.tex -- Umsetzung in C Programmen % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2022 Fabian Dünki, Hochschule Rapperswil % -\section{Teil 2 +\section{Umsetzung \label{0f1:section:teil2}} -\rhead{Teil 2} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{0f1:subsection:bonorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. +\rhead{Umsetzung} +Zur Umsetzung wurden drei Ansätze gewählt und +Die Unterprogramme wurde jeweils, wie die GNU Scientific Library, in C geschrieben. +\subsection{Potenzreihe +\label{0f1:subsection:potenzreihe}} +Die naheliegendste Lösung ist die Programmierung der Potenzreihe. +\begin{equation} + \label{0f1:rekursion:hypergeometrisch:eq} + \mathstrut_0F_1(;b;z) + = + \sum_{k=0}^\infty + \frac{z^k}{(b)_k \cdot k!} +\end{equation} + +\lstinputlisting[style=C,float,caption={Rekursivformel für Kettenbruch.},label={0f1:listing:potenzreihe}]{papers/0f1/listings/potenzreihe.c} + +\subsection{Kettenbruch +\label{0f1:subsection:kettenbruch}} +Ein endlicher Kettenbruch ist ein Bruch der Form +\begin{equation} +a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{\cdots}{\cdots+\cfrac{b_{n-1}}{a_{n-1} + \cfrac{b_n}{a_n}}}}} +\end{equation} +in welchem $a_0, a_1,\dots,a_n$ und $b_1,b_2,\dots,b_n$ ganze Zahlen +darstellen. + +{\color{red}TODO: Bessere Beschreibung mit Verknüpfung zur Potenzreihe} + +%Gauss hat durch + +\lstinputlisting[style=C,float,caption={Rekursivformel für Kettenbruch.},label={0f1:listing:kettenbruchIterativ}]{papers/0f1/listings/kettenbruchIterativ.c} +\subsection{Rekursionsformel +\label{0f1:subsection:rekursionsformel}} +Wesentlich effizienter zur Berechnung eines Kettenbruches ist die Rekursionsformel. + +\begin{align*} +\frac{A_n}{B_n} += +a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{\cdots}{\cdots+\cfrac{b_{n-1}}{a_{n-1} + \cfrac{b_n}{a_n}}}}} +\end{align*} + +Die Berechnung von $A_n, B_n$ kann man auch ohne die Matrizenschreibweise +aufschreiben: +\begin{itemize} +\item Start: +\begin{align*} +A_{-1} &= 0 & A_0 &= a_0 \\ +B_{-1} &= 1 & B_0 &= 1 +\end{align*} +$\rightarrow$ 0-te Näherung: $\displaystyle\frac{A_0}{B_0} = a_0$ +\item Schritt $k\to k+1$: +\[ +\begin{aligned} +k &\rightarrow k + 1: +& +A_{k+1} &= A_{k-1} \cdot b_k + A_k \cdot a_k \\ +&& +B_{k+1} &= B_{k-1} \cdot b_k + B_k \cdot a_k +\end{aligned} +\] +\item +Näherungsbruch $n$: \qquad$\displaystyle\frac{A_n}{B_n}$ +\end{itemize} +{\color{red}TODO: Verweis Numerik} + + +\lstinputlisting[style=C,float,caption={Rekursivformel für Kettenbruch.},label={0f1:listing:kettenbruchRekursion}]{papers/0f1/listings/kettenbruchRekursion.c} \ No newline at end of file diff --git a/buch/papers/0f1/teil3.tex b/buch/papers/0f1/teil3.tex index 25472cb..dca61f8 100644 --- a/buch/papers/0f1/teil3.tex +++ b/buch/papers/0f1/teil3.tex @@ -1,40 +1,57 @@ % -% teil3.tex -- Beispiel-File für Teil 3 +% teil3.tex -- Resultate und Ausblick % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2022 Fabian Dünki, Hochschule Rapperswil % -\section{Teil 3 +\section{Resultate \label{0f1:section:teil3}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{0f1:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. +\rhead{Resultate} +Im Verlauf des Seminares hat sich gezeigt, +das ein einfacher mathematischer Algorithmus zu implementieren gar nicht so einfach ist. +So haben alle drei umgesetzten Ansätze Probleme mit grossen negativen x in der Funktion $\mathstrut_0F_1(;b;x)$. +Ebenso wird, je grösser der Wert x wird $\mathstrut_0F_1(;b;x)$, desto mehr weichen die berechneten Resultate +von den erwarteten ab. +{\color{red}TODO cite wolfram alpha rechner} + +\subsection{Auswertung +\label{0f1:subsection:auswertung}} +\begin{figure} + \centering + \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzAiry.pdf} + \caption{Konvergenz nach drei Iterationen, dargestellt anhand der Airy Funktion}. + \label{0f1:ausblick:plot:airy:konvergenz}} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzPositiv.pdf} + \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat}. + \label{0f1:ausblick:plot:konvergenz:positiv}} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzNegativ.pdf} + \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat}. + \label{0f1:ausblick:plot:konvergenz:negativ}} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=1\textwidth]{papers/0f1/images/stabilitaet.pdf} + \caption{Stabilität der 3 Algorithmen verglichen mit der GNU Scientific Library}. + \label{0f1:ausblick:plot:airy:stabilitaet}} +\end{figure} + +\begin{itemize} + \item Negative Zahlen sind sowohl für die Potenzreihe als auch für den Kettenbruch ein Problem. + \item Die Potenzreihe hat das Problem, je tiefer die Rekursionstiefe, desto mehr machen die Brüche ein Problem. Also der Nenner mit der Fakultät und dem Pochhammer Symbol. + \item Die Rekursionformel liefert für sehr grosse positive Werte die genausten Ergebnisse, verglichen mit der GNU Scientific Library. +\end{itemize} + + +\subsection{Ausblick +\label{0f1:subsection:ausblick}} + -- cgit v1.2.1