aboutsummaryrefslogtreecommitdiffstats
path: root/buch/chapters/050-differential
diff options
context:
space:
mode:
authorAndreas Müller <andreas.mueller@ost.ch>2021-12-08 20:15:41 +0100
committerAndreas Müller <andreas.mueller@ost.ch>2021-12-08 20:15:41 +0100
commit531c564ecc1d73e1ddf25890720212d89f18edc1 (patch)
tree814df17dd23b969d56f3ae93920166613c3b2b79 /buch/chapters/050-differential
parentadd new section on hypergeometric differential equation (diff)
downloadSeminarSpezielleFunktionen-531c564ecc1d73e1ddf25890720212d89f18edc1.tar.gz
SeminarSpezielleFunktionen-531c564ecc1d73e1ddf25890720212d89f18edc1.zip
add new stuff about airy and hypergeometric functions
Diffstat (limited to 'buch/chapters/050-differential')
-rw-r--r--buch/chapters/050-differential/bessel.tex14
-rw-r--r--buch/chapters/050-differential/chapter.tex13
-rw-r--r--buch/chapters/050-differential/hypergeometrisch.tex248
-rw-r--r--buch/chapters/050-differential/uebungsaufgaben/501.tex63
-rw-r--r--buch/chapters/050-differential/uebungsaufgaben/502.tex60
-rw-r--r--buch/chapters/050-differential/uebungsaufgaben/503.tex19
-rw-r--r--buch/chapters/050-differential/uebungsaufgaben/Makefile15
-rw-r--r--buch/chapters/050-differential/uebungsaufgaben/airy.cpp118
-rw-r--r--buch/chapters/050-differential/uebungsaufgaben/airy.pdfbin0 -> 18892 bytes
-rw-r--r--buch/chapters/050-differential/uebungsaufgaben/airy.tex59
-rw-r--r--buch/chapters/050-differential/verallghyper.maxima12
11 files changed, 596 insertions, 25 deletions
diff --git a/buch/chapters/050-differential/bessel.tex b/buch/chapters/050-differential/bessel.tex
index 13880b8..5cf15b5 100644
--- a/buch/chapters/050-differential/bessel.tex
+++ b/buch/chapters/050-differential/bessel.tex
@@ -218,7 +218,7 @@ y_1(x)
=
\biggl(\frac{x}{2}\biggr)^\alpha
\sum_{k=0}^\infty
-\frac{(-1)^k}{\Gamma(\alpha+k+1)}
+\frac{(-1)^k}{k!\,\Gamma(\alpha+k+1)}
\biggl(\frac{x}{2}\biggr)^{2k}.
\]
Dabei haben wir es durch
@@ -233,7 +233,7 @@ J_{\alpha}(x)
=
\biggl(\frac{x}{2}\biggr)^\alpha
\sum_{k=0}^\infty
-\frac{(-1)^k}{\Gamma(\alpha+k+1)}
+\frac{(-1)^k}{k!\,\Gamma(\alpha+k+1)}
\biggl(\frac{x}{2}\biggr)^{2k}
\]
heisst {\em Bessel-Funktionen der Ordnung $\alpha$}.
@@ -247,14 +247,14 @@ Die Summe beginnt also erst bei $k=n$ oder
\begin{align*}
J_{-n}(x)
&=
-\sum_{k=n}^\infty \frac{(-1)^k}{m!k!}\biggl(\frac{x}{2}\biggr)^{2k-n}
+\sum_{k=n}^\infty \frac{(-1)^k}{m!\,k!}\biggl(\frac{x}{2}\biggr)^{2k-n}
=
\sum_{l=0}^\infty
-\frac{(-1)^{l+n}}{m!(l+n)!}\biggl(\frac{x}{2}\biggr)^{2(l+n)-n}
+\frac{(-1)^{l+n}}{m!\,(l+n)!}\biggl(\frac{x}{2}\biggr)^{2(l+n)-n}
=
(-1)^n
\sum_{l=0}^\infty
-\frac{(-1)^l}{m!\Gamma(l+n+1)}\biggl(\frac{x}{2}\biggr)^{2l+n}
+\frac{(-1)^l}{m!\,\Gamma(l+n+1)}\biggl(\frac{x}{2}\biggr)^{2l+n}
\\
&=
(-1)^n
@@ -283,7 +283,7 @@ Die erzeugende Funktion der Bessel-Funktionen ist die Summe
\sum_{n\in\mathbb{Z}}
{\color{darkred}
\sum_{k=0}^\infty
-\frac{(-1)^k}{k!\Gamma(k+n+1)}
+\frac{(-1)^k}{k!\,\Gamma(k+n+1)}
\biggl(\frac{x}{2}\biggr)^{2k+n}
}
z^n.
@@ -296,7 +296,7 @@ Wir schreiben $m=k+n$ und drücken alle Terme durch $k$ und $m$ aus:}
&=
\sum_{n\in \mathbb{Z}}
\sum_{k=0}^\infty
-\frac{(-1)^k}{k!\Gamma(n+k+1)}
+\frac{(-1)^k}{k!\,\Gamma(n+k+1)}
\biggl(\frac{x}{2}\biggr)^k
\biggl(\frac{x}{2}\biggr)^{n+k}
z^{n+k}
diff --git a/buch/chapters/050-differential/chapter.tex b/buch/chapters/050-differential/chapter.tex
index e4cd7d7..08bf6c6 100644
--- a/buch/chapters/050-differential/chapter.tex
+++ b/buch/chapters/050-differential/chapter.tex
@@ -64,11 +64,12 @@ die Bessel-Funktionen erster Art vorgestellt.
\input{chapters/050-differential/bessel.tex}
\input{chapters/050-differential/hypergeometrisch.tex}
-%\section*{Übungsaufgaben}
-%\rhead{Übungsaufgaben}
-%\aufgabetoplevel{chapters/060-differential/uebungsaufgaben}
-%\begin{uebungsaufgaben}
+\section*{Übungsaufgaben}
+\rhead{Übungsaufgaben}
+\aufgabetoplevel{chapters/050-differential/uebungsaufgaben}
+\begin{uebungsaufgaben}
%\uebungsaufgabe{0}
-%\uebungsaufgabe{1}
-%\end{uebungsaufgaben}
+\uebungsaufgabe{501}
+\uebungsaufgabe{502}
+\end{uebungsaufgaben}
diff --git a/buch/chapters/050-differential/hypergeometrisch.tex b/buch/chapters/050-differential/hypergeometrisch.tex
index 1cba88a..1d3cb64 100644
--- a/buch/chapters/050-differential/hypergeometrisch.tex
+++ b/buch/chapters/050-differential/hypergeometrisch.tex
@@ -141,30 +141,254 @@ c\frac{(a)_{k+1}(b)_{k+1}}{(c)_{k+1}} \frac{1}{k!}
-ab \frac{(a)_k(b)_k}{(c)_k}\frac{1}{k!}
\\
&=
-\frac{(a)_k(b)_k}{(c)_k}
-\frac{1}{(k-2)!}
+\frac{(a)_k(b)_k}{(c)_{k+1}}
+\frac{1}{k!}
\biggl(
-\frac{(a+k)(b+k)}{c+k}\frac1{k-1}
--1
+(a+k)(b+k)k
+-(c+k)(k-1)k
+
-c\frac{(a+k)(b+k)}{c+k}\frac1{(k-1)k}
+c(a+k)(b+k)
\\
&\qquad
--(a+b+1)\frac1{k-1}
--ab \frac1{(k-1)k}
+\qquad
+\qquad
+-(a+b+1)(c+k)k
+-ab(c+k)
+\biggr).
+\intertext{Der zweite, vierte und fünfte Term können zu}
+&=
+\frac{(a)_k(b)_k}{(c)_{k+1}}
+\frac{1}{k!}
+\biggl(
+(a+k)(b+k)k
++
+c(a+k)(b+k)
+-(ab+ak+bk+k^2)(c+k)
\biggr)
-\\
+\intertext{zusammengefasst werden.
+Der Faktor $(ab+ak+bk+k^2)$ kann als Produkt $(a+k)(b+k)$ faktorisiert
+werden, der dann als gemeinsamer Faktor aus allen Termen ausgeklammert
+werden kann:}
&=
\frac{(a)_k(b)_k}{(c)_{k+1}}
\frac{1}{k!}
\biggl(
-(a+k)(b+k)k - (c+k)(k-1)k + (a+k)(b+k) - (a+b+1)(c+k)k-ab(c+k)
+(a+k)(b+k)k
++
+c(a+k)(b+k)
+-(a+k)(b+k)(c+k)
+\biggr)
+\\
+&=
+\frac{(a)_{k+1}(b)_{k+1}}{(c)_{k+1}}
+\frac{1}{k!}
+\biggl(
+k
++
+c
+-(c+k)
\biggr)
+=0.
\end{align*}
+Damit ist gezeigt, dass $\mathstrut_2F_1(a,b;c;x)$ eine Lösung
+der Differentialgleichung ist.
+Die hypergeometrische Reihe kann auch direkt mit Hilfe der
+Potenzreihenmethode als Lösung der Differentialgleichung gefunden
+werden.
+\subsection{Lösung als verallgemeinerte Potenzreihe}
+Da die hypergeometrische Reihe eine Differentialgleichung
+zweiter Ordnung mit einer Singularität bei $x=0$ ist,
+kann man versuchen eine zweite, linear unabhängige Lösung mit
+Hilfe der Methode der verallgemeinerten Potenzreihen zu finden.
+Dazu setzt man die Lösung in der Form
+\begin{align*}
+y_2(x)
+&=
+\sum_{k=0}^\infty a_kx^{\varrho+k}
+&
+&\Rightarrow&
+y_2'(x)
+&=
+\sum_{k=0}^\infty (\varrho+k)a_kx^{\varrho+k-1}
+\\
+&&
+&&
+y_2''(x)
+&=
+\sum_{k=0}^\infty (\varrho+k)(\varrho+k-1)a_kx^{\varrho+k-2}
+\end{align*}
+an, wobei $a_0\ne 0$ sein soll.
+Einsetzen in die Differentialgleichung ergibt
+\begin{align*}
+0&=
+x(1-x)y_2''(x) + (c-(a+b+1)x) y_2'(x) -aby_2(x)
+\\
+&=
+x(1-x)
+\sum_{k=0}^\infty (\varrho+k)(\varrho+k-1)a_kx^{\varrho+k-2}
++
+(c-(a+b+1)x)
+\sum_{k=0}^\infty (\varrho+k)a_kx^{\varrho+k-1}
+-
+abx^{\varrho}\sum_{k=0}^\infty a_kx^{\varrho+k}
+\\
+&=
+-\sum_{k=0}^\infty (\varrho+k)(\varrho+k-1)a_kx^{\varrho+k}
++
+\sum_{k=0}^\infty (\varrho+k)(\varrho+k-1)a_kx^{\varrho+k-1}
++
+c
+\sum_{k=0}^\infty (\varrho+k)a_kx^{\varrho+k-1}
+\\
+&\qquad
+-
+(a+b+1)
+\sum_{k=0}^\infty (\varrho+k)a_kx^{\varrho+k}
+-
+ab
+\sum_{k=0}^\infty a_kx^{\varrho+k}.
+\intertext{Durch Verschiebung des Summationsindex in der zweiten
+und dritten Summe wird der Koeffizientenvergleich etwas
+einfacher}
+&=
+-\sum_{k=0}^\infty (\varrho+k)(\varrho+k-1)a_kx^{\varrho+k}
++
+\sum_{k=-1}^\infty (\varrho+k+1)(\varrho+k)a_{k+1}x^{\varrho+k}
++
+c
+\sum_{k=-1}^\infty (\varrho+k+1)a_{k+1}x^{\varrho+k}
+\\
+&\qquad
+-
+(a+b+1)
+\sum_{k=0}^\infty (\varrho+k)a_kx^{\varrho+k}
+-
+ab
+\sum_{k=0}^\infty a_kx^{\varrho+k}
+\\
+&=
+-\sum_{k=0}^\infty (\varrho+k)(\varrho+k-1)a_kx^{\varrho+k}
++
+\sum_{k=-1}^\infty (\varrho+k+1)(\varrho+k+c)a_{k+1}x^{\varrho+k}
+\\
+&\qquad
+-
+\sum_{k=0}^\infty ((\varrho+k)(a+b+1)+ab)a_kx^{\varrho+k}
+\\
+&=
+\bigl(
+\varrho(\varrho-1)
++c\varrho \bigr)
+x^{\varrho-1}
++
+\sum_{k=0}^\infty
+\bigl(
+-(\varrho+k)(\varrho+k-1)a_k
++(\varrho+k+1)(\varrho+k+c)a_{k+1}
+\\
+&
+\qquad
+\qquad
+\qquad
+\qquad
+\qquad
+\qquad
+-((\varrho+k)(a+b+1)+ab)a_k
+\bigr)
+x^{\varrho+k}.
+\end{align*}
+Aus dem ersten Term kann man die Indexgleichung
+\[
+0
+=
+\varrho(\varrho-1)+c\varrho
+=
+\varrho(\varrho-1+c)
+\]
+ablesen, die die Nullstellen $\varrho=0$ und $\varrho=1-c$ hat.
+Die Nullstelle $\varrho=0$ ergibt natürlich die bereits gefundene
+hypergeometrische Reihe.
+Nach Einsetzen der zweiten Lösung der Indexgleichung in der Summe
+legt der Koeffizientenvergleich eine Beziehung
+\begin{align}
+0
+&=
+\bigl(
+-(k-c+1)(k-c)
+-(k-c+1)(a+b+1)+ab
+\bigr)a_k
++
+(k-c+2)(k+1)
+a_{k+1}
+\notag
+\intertext{zwischen $a_k$ und $a_{k+1}$ fest.
+Daraus kann man den Quotienten aufeinanderfolgender
+Koeffizienten als}
+\frac{a_{k+1}}{a_k}
+&=
+\frac{
+-(k-c+1)(k-c)
+-(k-c+1)(a+b+1)+ab
+}{
+\notag
+(k-c+2)(k+1)
+}
+\\
+&=
+%(%i4) factor(coeff(y,q,0))
+%(%o4) - (k - c + a + 1) (k - c + b + 1)
+%(%i5) factor(coeff(y,q,1))
+%(%o5) (k + 1) (k - c + 2)
+\frac{
+(a-c+1+k)
+(b-c+1+k)
+}{
+(2-c+k)(k+1)
+}
+\label{buch:differentialgleichungen:hypergeo:verallgkoef}
+\end{align}
+finden.
+Setzt man $a_0=1$, ist die zweite Lösung ist also wieder eine
+hypergeometrische Funktion.%, nämlich
+%\[
+%y_2(x)
+%=
+%x^{1-c}
+%\sum_{k=0}^\infty \frac{(a-c+1)_k(b-c+1)_k}{(2-c)_k}\frac{x^k}{k!}
+%=
+%x^{1-c}
+%\mathstrut_2F_1\biggl(\begin{matrix}a-c+1,b-c+1\\2-c\end{matrix};x\biggr)
+%\]
+Diese Lösung ist aber nur möglich, wenn in
+\eqref{buch:differentialgleichungen:hypergeo:verallgkoef}
+der Nenner nicht verschwindet, d.~h.~$2-c+k\ne 0$
+oder $c \ne k+2$ für all natürlichen $k$.
+$c$ darf also kein natürliche Zahl $\ge 2$ sein.
+Wir fassen die Resultate dieses Abschnitts im folgenden Satz zusammen.
-
-
-
+\begin{satz}
+Die eulersche hypergeometrische Differentialgleichung
+\begin{equation}
+x(1-x)\frac{d^2y}{dx^2}
++(c+(a+b+1)x)\frac{dy}{dx}
+-ab y
+=
+0
+\end{equation}
+hat die Lösung
+\[
+y_1(x)
+=
+\mathstrut_2F_1\biggl(\begin{matrix}a,b\\c\end{matrix};x\biggr).
+\]
+Falls $c-2\not\in \mathbb{N}$ ist, ist
+\[
+y_2(x)
+=
+x^{1-c} \mathstrut_2F_1\biggl(\begin{matrix}a-c+1,b-c+1\\2-c\end{matrix};x\biggr)
+\]
+eine zweite, linear unabhängige Lösung.
+\end{satz}
diff --git a/buch/chapters/050-differential/uebungsaufgaben/501.tex b/buch/chapters/050-differential/uebungsaufgaben/501.tex
new file mode 100644
index 0000000..d27e21c
--- /dev/null
+++ b/buch/chapters/050-differential/uebungsaufgaben/501.tex
@@ -0,0 +1,63 @@
+Finden Sie eine Lösung der Airy Differentialgleichung
+\[
+y''-xy=0
+\]
+mit Anfangsbedingungen $y(0)=a$ und $y'(0)=b$.
+
+\begin{loesung}
+An der Stelle $x=0$ folgt aus der Differentialgleichung, dass $y''(0)=0$
+gelten muss.
+In einem Potenzreihenansatz der Form
+\begin{align*}
+y(x)
+&=
+\sum_{k=0}^\infty a_kx^k
+&&\Rightarrow&
+y'(x)
+&=
+\sum_{k=1}^\infty a_kx^{k-1}
+\\
+&&&&
+y''(x)
+&=
+\sum_{k=2}^\infty k(k-1)a_kx^{k-2}
+\end{align*}
+kann man daher $a_2=0$ setzen und damit die Summation in der
+Reihenentwicklung für $y''(x)$ erst bei $k=3$ beginnen.
+
+Setzt man den Ansatz in die Differentialgleichung ein, erhält man
+\begin{align*}
+0
+&=
+y''(x)-xy(x)
+\\
+&=
+\sum_{k=3}^\infty k(k-1)a_kx^{k-2}
+-
+\sum_{k=0}^\infty a_kx^{k+1}
+\\
+&=
+\sum_{k=0}^\infty (k+3)(k+2)a_{k+3}x^{k+1}
+-
+\sum_{k=0}^\infty a_{k}x^{k+1}
+\\
+&=
+\sum_{k=0}^\infty \bigl((k+3)(k+2)a_{k+3}-a_{k}\bigr)x^{k+1}.
+\end{align*}
+Koeffizientenvergleich liefert jetzt die Rekursionsbeziehungen
+\[
+a_{k+3} = \frac1{(k+3)(k+2)} {a_k}.
+\]
+Da $a_2=0$ ist folgt daraus auch, dass $a_5=a_8=a_{11}=\dots=0$ ist.
+
+Aus den Anfangsbedingungen liest man ab dass $a_0=a$ und $a_1=b$, daraus
+kann man jetzt die Lösung konstruieren, es ist
+\[
+y(x)
+=
+a\biggl(1+\frac{1}{2\cdot 3}x^3 + \frac{1}{2\cdot3\cdot5\cdot 6}x^6 + \dots\biggr)
++
+b\biggl(x+\frac{1}{3\cdot 4}x^4 + \frac{1}{3\cdot 4\cdot 6\cdot 7}x^7+\dots\biggr).
+\qedhere
+\]
+\end{loesung}
diff --git a/buch/chapters/050-differential/uebungsaufgaben/502.tex b/buch/chapters/050-differential/uebungsaufgaben/502.tex
new file mode 100644
index 0000000..cb0256d
--- /dev/null
+++ b/buch/chapters/050-differential/uebungsaufgaben/502.tex
@@ -0,0 +1,60 @@
+Schreiben Sie die in Aufgabe~\ref{501} gefundenen Lösungen der
+Airy-Differentialgleichung als hypergeometrische Funktionen.
+
+\begin{loesung}
+Die Lösung für $a=1$ und $b=0$ hat die Reihenentwicklung
+\begin{align*}
+y_1(x)
+&=
+\sum_{k=0}^\infty
+\frac{1}{2\cdot 3\cdot 5\cdot 6\cdot\ldots\cdot (3k-1)\cdot 3k}
+x^{3k}
+\\
+&=
+\sum_{k=0}^\infty
+\frac{1}{2\cdot 5\cdot \ldots\cdot (3k-1)}
+\frac{1}{3\cdot 6\cdot \ldots\cdot 3k}
+x^{3k}
+\\
+&=
+\sum_{k=0}^\infty
+\frac{1}{3^k\cdot \frac23\cdot(\frac23+1)\cdot\ldots\cdot(\frac23+k-1)}
+\frac{1}{3^k\cdot k!}
+(x^3)^k
+\\
+&=
+\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).
+\end{align*}
+Aus der zweiten Lösung für $a=0$ und $b=1$ muss erst der gemeinsame
+Faktor $x$ ausgeklammert werden:
+\begin{align*}
+y_2(x)
+&=
+x\sum_{k=0}^\infty
+\frac{1}{3\cdot4\cdot 6\cdot 7\cdot\ldots\cdot 3k\cdot(3k+1)}x^{3k}
+\\
+&=
+x\sum_{k=0}^\infty
+\frac{1}{4\cdot 7\cdot\ldots\cdot (3k+1)}
+\frac{1}{3^k}
+\frac{(x^3)^k}{k!}
+\\
+&=
+x\sum_{k=0}^\infty
+\frac{1}{\frac43\cdot (\frac43+1)\cdot (\frac43+2)\cdot\ldots\cdot \frac43+k-1}
+\frac{1}{(3^2)^k}
+\frac{(x^3)^k}{k!}
+\\
+&=
+x\cdot\mathstrut_0F_1\biggl(
+\begin{matrix}\text{---}\\\frac43\end{matrix};
+\frac{x^3}{9}
+\biggr).
+\qedhere
+\end{align*}
+\end{loesung}
diff --git a/buch/chapters/050-differential/uebungsaufgaben/503.tex b/buch/chapters/050-differential/uebungsaufgaben/503.tex
new file mode 100644
index 0000000..7cb47de
--- /dev/null
+++ b/buch/chapters/050-differential/uebungsaufgaben/503.tex
@@ -0,0 +1,19 @@
+Verwenden Sie die Funktion \texttt{gsl_sf_hyperg_0F1} oder ein Programm,
+welches die Reihenentwicklung der hypergeometrischen Funktion
+$\mathstrut_0F_1$ direkt berechnet, um die
+in Aufgabe \ref{501} gefundenen Lösungen der Airy-Differentialgleichung
+zu plotten.
+
+\begin{loesung}
+\begin{figure}
+\centering
+\includegraphics{chapters/050-differential/uebungsaufgaben/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}.
+\end{figure}
+Die Implementation der hypergeometrische Funktion $\mathstrut_0F_1$ in der
+GNU Scientific Library führt $\mathstrut_0F_1$ auf Bessel-Funktionen
+zurück, was für $c=\frac23$ nicht möglich ist.
+In diesem Fall ist also eine eigene Implementation nötig.
+\end{loesung}
diff --git a/buch/chapters/050-differential/uebungsaufgaben/Makefile b/buch/chapters/050-differential/uebungsaufgaben/Makefile
new file mode 100644
index 0000000..b62f60c
--- /dev/null
+++ b/buch/chapters/050-differential/uebungsaufgaben/Makefile
@@ -0,0 +1,15 @@
+#
+# Makefile
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all: airy.pdf
+
+airy: airy.cpp
+ g++ -o airy -Wall -g -O2 `pkg-config --cflags gsl` airy.cpp `pkg-config --libs gsl`
+
+airypaths.tex: airy
+ ./airy --debug
+
+airy.pdf: airy.tex airypaths.tex
+ pdflatex airy.tex
diff --git a/buch/chapters/050-differential/uebungsaufgaben/airy.cpp b/buch/chapters/050-differential/uebungsaufgaben/airy.cpp
new file mode 100644
index 0000000..20cad38
--- /dev/null
+++ b/buch/chapters/050-differential/uebungsaufgaben/airy.cpp
@@ -0,0 +1,118 @@
+/*
+ * airy.cpp
+ *
+ * (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+ */
+#include <cmath>
+#include <cstdio>
+#include <cstdlib>
+#include <string>
+#include <getopt.h>
+#include <gsl/gsl_sf_hyperg.h>
+
+bool debug = false;
+
+struct option options[] = {
+{ "debug", no_argument, 0, 'd' },
+{ "outfile", required_argument, 0, 'o' },
+{ "a", required_argument, 0, 'a' },
+{ "b", required_argument, 0, 'b' },
+{ "s", required_argument, 0, 's' },
+{ NULL, 0, 0, 0 }
+};
+
+double h0f1(double c, double x) {
+ if (debug)
+ fprintf(stderr, "%s:%d: c = %.5f, x = %.5f\n",
+ __FILE__, __LINE__, c, x);
+ double s = 0;
+ int k = 0;
+ double term = 1.;
+ s += term;
+ int counter = 0;
+ while (fabs(term) > 0.000000000001) {
+ k++;
+ term *= x / ((c+k-1) * k);
+ s += term;
+ // if (debug)
+ // fprintf(stderr, "term = %.14f\n", term);
+ counter++;
+ }
+ if (debug)
+ fprintf(stderr, "x = %f, terms = %d\n", x, counter);
+ return s;
+}
+
+double f0(double x) {
+ //return gsl_sf_hyperg_0F1(2/3, x*x*x/9.);
+ return h0f1(2./3., x*x*x/9.);
+}
+double f1(double x) {
+ //return gsl_sf_hyperg_0F1(2/3, x*x*x/9.);
+ return h0f1(2./3., x*x*x/9.);
+}
+
+double f2(double x) {
+ return x * gsl_sf_hyperg_0F1(4./3., x*x*x/9.);
+}
+
+double f3(double x) {
+ return x * h0f1(4./3., x*x*x/9.);
+}
+
+void plot(FILE *outfile, const char *name, double (*f)(double x),
+ double a, double b, int steps) {
+ fprintf(outfile, "\\def\\%s{\n", name);
+ fprintf(outfile, "({%.5f*\\dx},{%.5f*\\dy})", a, f(a));
+ double h = (b-a)/steps;
+ for (int i = 0; i <= steps; i++) {
+ double x = a + h*i;
+ if (debug)
+ fprintf(stderr, "x = %.5f\n", x);
+ fprintf(outfile, "\n\t--({%.5f*\\dx},{%.5f*\\dy})",
+ x, f(x));
+ }
+ fprintf(outfile, "}\n");
+}
+
+int main(int argc, char *argv[]) {
+ std::string outfilename("airypaths.tex");
+ int c;
+ int longindex;
+ double a = -8;
+ double b = 2.5;
+ int steps = 200;
+ while (EOF != (c = getopt_long(argc, argv, "a:b:do:s:",
+ options, &longindex)))
+ switch (c) {
+ case 'a':
+ a = std::stod(optarg);
+ break;
+ case 'b':
+ b = std::stod(optarg);
+ break;
+ case 'd':
+ debug = true;
+ break;
+ case 'o':
+ outfilename = std::string(optarg);
+ break;
+ case 's':
+ steps = std::stoi(optarg);
+ break;
+ }
+
+ if (debug)
+ fprintf(stderr, "%s:%d: outfile: '%s'\n",
+ __FILE__, __LINE__, outfilename.c_str());
+
+ FILE *outfile = fopen(outfilename.c_str(), "w");
+
+ plot(outfile, "yonepath", f1, a, b, 100);
+ plot(outfile, "ytwopath", f2, a, b, 100);
+ plot(outfile, "ythreepath", f3, a, b, 100);
+
+ fclose(outfile);
+
+ return EXIT_SUCCESS;
+}
diff --git a/buch/chapters/050-differential/uebungsaufgaben/airy.pdf b/buch/chapters/050-differential/uebungsaufgaben/airy.pdf
new file mode 100644
index 0000000..f52e601
--- /dev/null
+++ b/buch/chapters/050-differential/uebungsaufgaben/airy.pdf
Binary files differ
diff --git a/buch/chapters/050-differential/uebungsaufgaben/airy.tex b/buch/chapters/050-differential/uebungsaufgaben/airy.tex
new file mode 100644
index 0000000..27ee546
--- /dev/null
+++ b/buch/chapters/050-differential/uebungsaufgaben/airy.tex
@@ -0,0 +1,59 @@
+%
+% tikztemplate.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\input{airypaths.tex}
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+% add image content here
+\def\dx{1}
+\def\dy{1}
+
+\begin{scope}
+\clip ({-8*\dx},{-1.3*\dy}) rectangle ({2.5*\dx},{4*\dy});
+\draw[color=red,line width=1.4pt] \yonepath;
+%\draw[color=darkgreen,line width=1.4pt] \ytwopath;
+\draw[color=blue,line width=1.4pt] \ythreepath;
+\end{scope}
+
+\draw[->] (-8.1,0) -- (2.9,0) coordinate[label={$x$}];
+\draw[->] (0,-1.4) -- (0,4.4) coordinate[label={$y$}];
+
+\foreach \x in {-8,...,-1}{
+ \draw ({\x*\dx},-0.1) -- ({\x*\dx},0.1);
+}
+\foreach \y in {-1,1,2,3,4}{
+ \draw (-0.1,{\y*\dy}) -- (0.1,{\y*\dy});
+}
+\draw ({\dx},-0.1) -- ({\dx},0.1);
+\draw ({2*\dx},-0.1) -- ({2*\dx},0.1);
+
+\node at (\dx,0) [below] {$1$};
+\node at ({2*\dx},0) [below] {$2$};
+
+\foreach \x in {-7,...,-1}{
+ \node at ({\x*\dx},0) [below] {$\x$};
+}
+\foreach \y in {2,3,4}{
+ \node at (-0.1,{\y*\dy}) [left] {$\y$};
+}
+\node at (-0.1,\dy) [above left] {$-1$};
+\node at (0.1,-\dy) [right] {$-1$};
+
+\node[color=red] at ({-1.2*\dx},{0.6*\dy}) [above left] {$y_1(x)$};
+\node[color=blue] at ({-1.4*\dx},{-1.1*\dy}) [below] {$y_2(x)$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/050-differential/verallghyper.maxima b/buch/chapters/050-differential/verallghyper.maxima
new file mode 100644
index 0000000..d914bbc
--- /dev/null
+++ b/buch/chapters/050-differential/verallghyper.maxima
@@ -0,0 +1,12 @@
+x:
+-(rho+k)*(rho+k-1)
++(rho+k+1)*(rho+k)*q
++c*(rho+k+1)*q
+-(a+b+1)*(rho+k)-a*b;
+
+y: subst(1-c,rho,x);
+
+factor(coeff(y, q, 0));
+factor(coeff(y, q, 1));
+
+