diff options
Diffstat (limited to '')
-rw-r--r-- | buch/chapters/040-rekursion/Makefile.inc | 3 | ||||
-rw-r--r-- | buch/chapters/040-rekursion/beta.tex | 104 | ||||
-rw-r--r-- | buch/chapters/040-rekursion/bohrmollerup.tex | 196 | ||||
-rw-r--r-- | buch/chapters/040-rekursion/gamma.tex | 27 | ||||
-rw-r--r-- | buch/chapters/040-rekursion/images/Makefile | 16 | ||||
-rw-r--r-- | buch/chapters/040-rekursion/images/beta.pdf | bin | 0 -> 109772 bytes | |||
-rw-r--r-- | buch/chapters/040-rekursion/images/beta.tex | 236 | ||||
-rw-r--r-- | buch/chapters/040-rekursion/images/betadist.m | 58 | ||||
-rw-r--r-- | buch/chapters/040-rekursion/images/order.m | 119 | ||||
-rw-r--r-- | buch/chapters/040-rekursion/images/order.pdf | bin | 0 -> 32692 bytes | |||
-rw-r--r-- | buch/chapters/040-rekursion/images/order.tex | 125 | ||||
-rw-r--r-- | buch/chapters/040-rekursion/integral.tex | 103 |
12 files changed, 895 insertions, 92 deletions
diff --git a/buch/chapters/040-rekursion/Makefile.inc b/buch/chapters/040-rekursion/Makefile.inc index c5887f7..a222b1c 100644 --- a/buch/chapters/040-rekursion/Makefile.inc +++ b/buch/chapters/040-rekursion/Makefile.inc @@ -6,7 +6,10 @@ CHAPTERFILES = $(CHAPTERFILES) \ chapters/040-rekursion/gamma.tex \ + chapters/040-rekursion/bohrmollerup.tex \ + chapters/040-rekursion/integral.tex \ chapters/040-rekursion/beta.tex \ + chapters/040-rekursion/betaverteilung.tex \ chapters/040-rekursion/linear.tex \ chapters/040-rekursion/hypergeometrisch.tex \ chapters/040-rekursion/uebungsaufgaben/401.tex \ diff --git a/buch/chapters/040-rekursion/beta.tex b/buch/chapters/040-rekursion/beta.tex index ea847bc..ff59bad 100644 --- a/buch/chapters/040-rekursion/beta.tex +++ b/buch/chapters/040-rekursion/beta.tex @@ -3,11 +3,17 @@ % % (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule % -\subsection{Die Beta-Funktion -\label{buch:rekursion:gamma:subsection:beta}} +\section{Die Beta-Funktion +\label{buch:rekursion:gamma:section:beta}} Die Eulersche Integralformel für die Gamma-Funktion in -Definition~\ref{buch:rekursion:def:gamma} wurde bisher nicht -gerechtfertigt. +Definition~\ref{buch:rekursion:def:gamma} wurde in +Abschnitt~\ref{buch:subsection:integral-eindeutig} +mit dem Satz von Mollerup gerechtfertigt. +Man kann Sie aber auch als Grenzfall der Beta-Funktion verstehen, +die in diesem Abschnitt dargestellt wird. + + +\subsection{Beta-Integral} In diesem Abschnitt wird das Beta-Integral eingeführt, eine Funktion von zwei Variablen, welches eine Integral-Definition mit einer reichaltigen Menge von Rekursionsbeziehungen hat, die sich direkt auf @@ -233,6 +239,16 @@ B(x,y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} berechnet werden. \end{satz} +% +% Info über die Beta-Verteilung +% +\input{chapters/040-rekursion/betaverteilung.tex} + +\subsection{Weitere Eigenschaften der Gamma-Funktion} +Die nahe Verwandtschaft der Gamma- mit der Beta-Funktion ermöglicht +nun, weitere Eigenschaften der Gamma-Funktion mit Hilfe der Beta-Funktion +herzuleiten. + \subsubsection{Nochmals der Wert von $\Gamma(\frac12)$?} Der Wert von $\Gamma(\frac12)=\sqrt{\pi}$ wurde bereits in \eqref{buch:rekursion:gamma:wert12} @@ -484,83 +500,3 @@ Setzt man $x=\frac12$ in die Verdoppelungsformel ein, erhält man in Übereinstimmung mit dem aus \eqref{buch:rekursion:gamma:gamma12} bereits bekannten Wert. -\subsubsection{Beta-Funktion und Binomialkoeffizienten} -Die Binomialkoeffizienten können mit Hilfe der Fakultät als -\begin{align*} -\binom{n}{k} -&= -\frac{n!}{(n-k)!\,k!} -\intertext{geschrieben werden. -Drückt man die Fakultäten durch die Gamma-Funktion aus, erhält man} -&= -\frac{\Gamma(n+1)}{\Gamma(n-k+1)\Gamma(k+1)}. -\intertext{Schreibt man $x=k-1$ und $y=n-k+1$, wird daraus -wegen $x+y=k+1+n-k+1=n+2=(n+1)+1$} -&= -\frac{\Gamma(x+y-1)}{\Gamma(x)\Gamma(y)}. -\intertext{Die Rekursionsformel für die Gamma-Funktion erlaubt, -den Zähler umzuwandeln in $\Gamma(x+y-1)=\Gamma(x+y)/(x+y-1)$, so dass -der Binomialkoeffizient schliesslich} -&= -\frac{\Gamma(x+y)}{(x+y-1)\Gamma(x)\Gamma(y)} -= -\frac{1}{(n-1)B(n-k+1,k+1)} -\label{buch:rekursion:gamma:binombeta} -\end{align*} -geschrieben werden kann. -Die Rekursionsbeziehung -\[ -\binom{n+1}{k} = \binom{n}{k-1} + \binom{n}{k} -\] -der Binomialkoeffizienten erzeugt das vertraute Pascal-Dreieck, -die Formel \eqref{buch:rekursion:gamma:binombeta} für die -Binomialkoeffizienten macht daraus -\[ -\frac{n-1}{B(n-k,k-1)} -= -\frac{n-2}{B(n-k,k-2)} -+ -\frac{n-2}{B(n-k-1,k-1)}, -\] -die für ganzzahlige Argumente gilt. -Wir wollen nachrechnen, dass dies für beliebige Argumente gilt. -\begin{align*} -\frac{(n-1)\Gamma(n-1)}{\Gamma(n-k)\Gamma(k-1)} -&= -\frac{(n-2)\Gamma(n-2)}{\Gamma(n-k)\Gamma(k-2)} -+ -\frac{(n-2)\Gamma(n-2)}{\Gamma(n-k-1)\Gamma(k-1)} -\\ -\frac{\Gamma(n)}{\Gamma(n-k)\Gamma(k-1)} -&= -\frac{\Gamma(n-1)}{\Gamma(n-k)\Gamma(k-2)} -+ -\frac{\Gamma(n-1)}{\Gamma(n-k-1)\Gamma(k-1)} -\intertext{Durch Zusammenfassen der Faktoren im Zähler mit Hilfe -der Rekursionsformel für die Gamma-Funktion und Multiplizieren -mit dem gemeinsamen Nenner -$\Gamma(n-k)\Gamma(k-1)=(n-k-1)\Gamma(n-k-1)(k-2)\Gamma(k-2)$ wird daraus} -\Gamma(n) -&= -(k-2) -\Gamma(n-1) -+ -(n-k-1) -\Gamma(n-1) -\intertext{Indem wir die Rekursionsformel für die Gamma-Funktion auf -die rechte Seite anwenden können wir erreichen, dass in allen Termen -ein Faktor -$\Gamma(n-1)$ auftritt:} -(n-1)\Gamma(n-1) -&= -(k-2)\Gamma(n-1) -+ -(n+k-1)\Gamma(n-1) -\\ -n-1 -&= -k-2 -+ -n-k-1 -\end{align*} - diff --git a/buch/chapters/040-rekursion/bohrmollerup.tex b/buch/chapters/040-rekursion/bohrmollerup.tex new file mode 100644 index 0000000..cd9cadc --- /dev/null +++ b/buch/chapters/040-rekursion/bohrmollerup.tex @@ -0,0 +1,196 @@ +% +% bohrmollerup.tex +% +% (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\subsection{Der Satz von Bohr-Mollerup +\label{buch:rekursion:subsection:bohr-mollerup}} +Die Integralformel und die Grenzwertdefinition für die Gamma-Funktion +zeigen beide, dass das Problem der Ausdehnung der Fakultät zu einer +Funktion $\mathbb{C}\to\mathbb{C}$ eine Lösung hat, aber es ist noch +nicht klar, in welchem Sinn dies die einzig mögliche Lösung ist. +Der Satz von Bohr-Mollerup gibt darauf eine Antwort. + +\begin{satz} +\label{buch:satz:bohr-mollerup} +Eine Funktion $f\colon \mathbb{R}^+\to\mathbb{R}$ mit den Eigenschaften +\begin{enumerate}[i)] +\item $f(1)=1$, +\item $f(x+1)=xf(x)$ für alle $x\in\mathbb{R}^+$ und +\item die Funktion $\log f(t)$ ist konvex +\end{enumerate} +ist die Gamma-Funktion: $f(t)=\Gamma(t)$. +\end{satz} + +Für den Beweis verwenden wir die folgende Eigenschaft einer konvexen +Funktion $g(x)$. +Sei +\begin{equation} +S(y,x) = \frac{g(y)-g(x)}{y-x} +\qquad\text{für $y-x$} +\end{equation} +die Steigung der Sekante zwischen den Punkten $(x,g(x))$ und $(y,g(y))$ +des Graphen von $g$. +Da $g$ konvex ist, ist $S(y,x)$ eine monoton wachsende Funktion +der beiden Variablen $x$ und $y$, solange $y>x$. + +\begin{proof}[Beweis] +Wir halten zunächst fest, dass die Bedingungen i) und ii) zur Folge haben, +dass $f(n+1)=n!$ ist für alle positiven natürlichen Zahlen. +Für die Steigung einer Sekante der Funktion $g(x)=\log f(x)$ kann damit +für natürliche Argumente bereits berechnet werden, es ist +\[ +S(n,n+1) += +\frac{\log n! - \log (n-1)!}{n+1-n} += +\frac{\log n + \log (n-1)! - \log(n-1)!}{1} += +\log n +\] +und entsprechend auch $S(n-1,n) = \log(n-1)$. + +\begin{figure} +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\draw (-6,0) -- (6,0); + +\node at (-5,0) [above] {$n-1\mathstrut$}; +\node at (0,0) [above] {$n\mathstrut$}; +\node at (3,0) [above] {$n+x\mathstrut$}; +\node at (5,0) [above] {$n+1\mathstrut$}; + +\node[color=blue] at (-5,-2.3) {$S(n-1,n)\mathstrut$}; +\node[color=red] at (-1.666,-2.3) {$S(n-1,n+x)\mathstrut$}; +\node[color=darkgreen] at (1.666,-2.3) {$S(n,n+x)\mathstrut$}; +\node[color=orange] at (5,-2.3) {$S(n,n+1)\mathstrut$}; + +\node at (-3.333,-2.3) {$<\mathstrut$}; +\node at (0,-2.3) {$<\mathstrut$}; +\node at (3.333,-2.3) {$<\mathstrut$}; + +\draw[color=blue] (-5,0) -- (-5,-2) -- (0,0); +\draw[color=red] (-5,0) -- (-1.666,-2) -- (3,0); +\draw[color=darkgreen] (0,0) -- (1.666,-2) -- (3,0); +\draw[color=orange] (0,0) -- (5,-2) -- (5,0); + +\fill (-5,0) circle[radius=0.08]; +\fill (0,0) circle[radius=0.08]; +\fill (3,0) circle[radius=0.08]; +\fill (5,0) circle[radius=0.08]; + +\draw[double,color=blue] (-5,-2.5) -- (-5,-3.0); +\draw[double,color=orange] (5,-2.5) -- (5,-3.0); + +\node[color=blue] at (-5,-3.3) {$\log (n-1)\mathstrut$}; +\node[color=orange] at (5,-3.3) {$\log (n)\mathstrut$}; + +\end{tikzpicture} +\end{center} +\caption{Für den Beweis des Satzes von Bohr-Mollerup wird die +Sekantensteigung $S(x,y)$ für die Argumente $n-1$, $n$, $n+x$ und $n+1$ +verwendet. +\label{buch:rekursion:fig:bohr-mollerup}} +\end{figure} +Wir wenden jetzt die eben erwähnte Tatsache, dass $S(x,y)$ monoton +wachsend ist, auf die Punkte $n-1$, $n$, $n+x$ und $n+1$ wie +in Abbildung~\ref{buch:rekursion:fig:bohr-mollerup} an, wobei +$0<x<1$ ist. + +Die linke Ungleichung in Abbildung~\ref{buch:rekursion:fig:bohr-mollerup} +ist +\begin{align} +\log(n-1) +&< +S(n-1,n+x) += +\frac{\log f(n+x) -\log(n-2)!}{n+x-n+1} +\notag +\\ +(x+1)\log(n-1) + \log(n-2)! +&< \log f(n+x), +\notag +\\ +x\log(n-1) + \log(n-1)! +&< \log f(n+x) +\label{buch:rekursion:bohr-mollerup:eqn1} +\intertext{sie schätzt $\log f(n+x)$ nach unten ab. +Die Exponentialfunktion ist monoton wachsen, wendet man sie auf +\eqref{buch:rekursion:bohr-mollerup:eqn1} an, erhält man} +(n-1)^x (n-1)! +&< +f(n+x). +\label{buch:rekursion:bohr-mollerup:ungllinks} +\end{align} +Ganz ähnlich folgt aus der Ungleichung rechts in +Abbildung~\ref{buch:rekursion:fig:bohr-mollerup} +\begin{align} +\frac{\log f(n+x)-\log (n-1)!}{n+x-n} +&< \log n +\notag +\\ +\log f(n+x) - \log(n-1)! +&< +x \log n +\notag +\\ +\log f(n+x) +&< +x\log n + \log(n-1)! +\notag +\intertext{und nach Anwendung der Exponentialfunktion} +f(n+x) +&< +n^x (n-1)! +\label{buch:rekursion:bohr-mollerup:unglrechts} +\end{align} +Die Funktion $f(n+x)$ können wir jetzt mit der Funktionalgleichung ii) +durch $f(x)$ ausdrücken: +\begin{align*} +f(n+x) +&= +(x+n-1)f(n+x-1) +\\ +&= +(x+n-1)(x+n-2)f(n+x-2) +\\ +&\vdots +\\ +&= +(x+n-1)(x+n-2)\dots x\,f(x) += +(x)_n f(x). +\end{align*} +Zusammen mit den Ungleichungen +\eqref{buch:rekursion:bohr-mollerup:ungllinks} +und +\eqref{buch:rekursion:bohr-mollerup:unglrechts} +erhalten wir +\begin{align*} +(n-1)^x (n-1)! +&< +(x)_n f(x) +< +n^x (n-1)! +\intertext{oder nach Division durch $(x)_n$} +%\underbrace{ +\frac{(n-1)^x (n-1)!}{(x)_n} +%}_{\displaystyle\to \Gamma(x)} +&< f(x) +< +\frac{n^x (n-1)!}{(x)_n} += +%\underbrace{ +\frac{n^x n!}{(x)_{n+1}} +%}_{\displaystyle\to \Gamma(x)} +\cdot +%\underbrace{ +\frac{x+n}{n} +%}_{\displaystyle\to 1} +. +\end{align*} +Der Ausdruck ganz links und der erste Bruch rechts konvergieren +für $n\to\infty$ beide gegen $\Gamma(x)$ und der Bruch ganz rechts +konvergiert gegen $1$. +Daher muss auch $f(x)=\Gamma(x)$ sein. +\end{proof} diff --git a/buch/chapters/040-rekursion/gamma.tex b/buch/chapters/040-rekursion/gamma.tex index 737cf7f..7d4453b 100644 --- a/buch/chapters/040-rekursion/gamma.tex +++ b/buch/chapters/040-rekursion/gamma.tex @@ -651,8 +651,11 @@ Abschnitt~\ref{buch:funktionentheorie:section:fortsetzung} beschrieben wird, kann die Funktion auf ganz $\mathbb{C}$ ausgedehnt werden, mit Ausnahme einzelner Pole. Die Funktionalgleichung gilt natürlich für alle $z\in\mathbb{C}$, -für die $\Gamma(z)$ definiert ist. -In einer Umgebung von $z=-n$ gilt +für die $\Gamma(z)$ definiert ist, nicht nur für diejenigen $z$, für +die das Integral konvergiert. +Wir können Sie daher verwenden, um das Argument in den Bereich +zu bringen, wo das Integral zur Berechnung verwendet werden kann. +Dazu berechnen wir \[ \Gamma(z) = @@ -665,12 +668,20 @@ In einer Umgebung von $z=-n$ gilt \dots = \frac{\Gamma(z+n)}{z(z+1)(z+2)\cdots(z+n-1)} += +\frac{\Gamma(z+n)}{(z)_n}. \] -Keiner der Faktoren im Nenner verschwindet in der Nähe von $z=-n$, der -Zähler hat aber einen Pol erster Ordnung an dieser Stelle. -Daher hat auch der Quotient einen Pol erster Ordnung. -Abbildung~\ref{buch:rekursion:fig:gamma} zeigt die Pole bei den -nicht negativen ganzen Zahlen. +Dies gilt für jedes natürlich $n$. +Für $n$ gross genug, genauer für +$n\ge |\operatorname{Re}z|$, +ist $\operatorname{Re}(z+n)=\operatorname{Re}z + n>0$ und damit +kann $\Gamma(z+n)$ mit der Integralformel berechnet werden. + +Die Gamma-Funktion hat keine Nullstellen, aber in der Nähe von $z=-n$ +hat der Nenner eine Nullstelle erster Ordnung. +Somit hat $\Gamma(z)$ Pole erster Ordnung bei den negativen +ganzen Zahlen und bei $0$, wie sie in +Abbildung~\ref{buch:rekursion:fig:gamma} gezeigt werden. \subsubsection{Numerische Berechnung} \begin{table} @@ -714,4 +725,6 @@ Die Genauigkeit erreicht sechs korrekte Nachkommastellen mit nur % % % +\input{chapters/040-rekursion/bohrmollerup.tex} +\input{chapters/040-rekursion/integral.tex} diff --git a/buch/chapters/040-rekursion/images/Makefile b/buch/chapters/040-rekursion/images/Makefile index 9608a94..86dfa1e 100644 --- a/buch/chapters/040-rekursion/images/Makefile +++ b/buch/chapters/040-rekursion/images/Makefile @@ -3,7 +3,7 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: gammaplot.pdf fibonacci.pdf +all: gammaplot.pdf fibonacci.pdf order.pdf beta.pdf gammaplot.pdf: gammaplot.tex gammapaths.tex pdflatex gammaplot.tex @@ -16,3 +16,17 @@ fibonaccigrid.tex: fibonacci.m fibonacci.pdf: fibonacci.tex fibonaccigrid.tex pdflatex fibonacci.tex + +order.pdf: order.tex orderpath.tex + pdflatex order.tex + +orderpath.tex: order.m + octave order.m + +beta.pdf: beta.tex betapaths.tex + pdflatex beta.tex + +betapaths.tex: betadist.m + octave betadist.m + + diff --git a/buch/chapters/040-rekursion/images/beta.pdf b/buch/chapters/040-rekursion/images/beta.pdf Binary files differnew file mode 100644 index 0000000..0e6567b --- /dev/null +++ b/buch/chapters/040-rekursion/images/beta.pdf diff --git a/buch/chapters/040-rekursion/images/beta.tex b/buch/chapters/040-rekursion/images/beta.tex new file mode 100644 index 0000000..1e1a1b3 --- /dev/null +++ b/buch/chapters/040-rekursion/images/beta.tex @@ -0,0 +1,236 @@ +% +% beta.tex -- display some symmetric beta distributions +% +% (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,calc} +\input{betapaths.tex} +\begin{document} +\def\skala{12} +\definecolor{colorone}{rgb}{1.0,0.6,0.0} +\definecolor{colortwo}{rgb}{1.0,0.0,0.0} +\definecolor{colorthree}{rgb}{0.6,0.0,0.6} +\definecolor{colorfour}{rgb}{0.6,0.0,1.0} +\definecolor{colorfive}{rgb}{0.0,0.0,1.0} +\definecolor{colorsix}{rgb}{0.4,0.6,1.0} +\definecolor{colorseven}{rgb}{0.0,0.0,0.0} +\definecolor{coloreight}{rgb}{0.0,0.8,0.8} +\definecolor{colornine}{rgb}{0.0,0.8,0.2} +\definecolor{colorten}{rgb}{0.2,0.4,0.0} +\definecolor{coloreleven}{rgb}{0.6,1.0,0.0} +\definecolor{colortwelve}{rgb}{1.0,0.8,0.4} + +\def\achsen{ + \foreach \x in {0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}{ + \draw ({\x*\dx},{-0.1/\skala}) -- ({\x*\dx},{0.1/\skala}); + \node at ({\x*\dx},{-0.1/\skala}) [below] {$\x$}; + } + \foreach \y in {1,2,3,4}{ + \draw ({-0.1/\skala},{\y*\dy}) -- ({0.1/\skala},{\y*\dy}); + \node at ({-0.1/\skala},{\y*\dy}) [left] {$\y$}; + } + \def\x{1} + \draw ({\x*\dx},{-0.1/\skala}) -- ({\x*\dx},{0.1/\skala}); + \node at ({\x*\dx},{-0.1/\skala}) [below] {$\x$}; + \def\x{0} + \node at ({\x*\dx},{-0.1/\skala}) [below] {$\x$}; + + \draw[->] ({-0.1/\skala},0) -- ({1*\dx+0.4/\skala},0) + coordinate[label={$x$}]; + \draw[->] (0,{-0.1/\skala}) -- (0,{\betamax*\dy+0.4/\skala},0) + coordinate[label={right:$\beta(a,b,x)$}]; +} + +\def\farbcoord#1#2{ + ({\dx*(0.63+((#1)/5)*0.27)},{\dx*(0.18+((#2)/5)*0.27)}) +} +\def\farbviereck{ + \foreach \x in {1,2,3,4}{ + \draw[color=gray!30] \farbcoord{\x}{0} -- \farbcoord{\x}{4}; + \draw[color=gray!30] \farbcoord{0}{\x} -- \farbcoord{4}{\x}; + } + \draw[->] \farbcoord{0}{0} -- \farbcoord{4.4}{0} + coordinate[label={$a$}]; + \draw[->] \farbcoord{0}{0} -- \farbcoord{0}{4.4} + coordinate[label={left: $b$}]; + \foreach \x in {1,2,3,4}{ + \node[color=gray] at \farbcoord{4}{\x} [right] {\tiny $b=\x$}; + %\fill[color=white,opacity=0.7] + % \farbcoord{(\x-0.1)}{3.3} + % rectangle + % \farbcoord{(\x+0.1)}{4}; + \node[color=gray] at \farbcoord{\x}{4} [right,rotate=90] + {\tiny $a=\x$}; + } +} +\def\farbpunkt#1#2#3{ + \fill[color=#3] \farbcoord{#1}{#2} circle[radius={0.1/\skala}]; +} + +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\dx{1.15} +\def\dy{0.1} +\def\opa{0.1} + +\def\betamax{4.9} + +\begin{scope} +\clip (0,0) rectangle ({1*\dx},{\betamax*\dy}); +\fill[color=colorone,opacity=\opa] (0,0) -- \betaaa -- (\dx,0) -- cycle; +\fill[color=colortwo,opacity=\opa] (0,0) -- \betabb -- (\dx,0) -- cycle; +\fill[color=colorthree,opacity=\opa] (0,0) -- \betacc -- (\dx,0) -- cycle; +\fill[color=colorfour,opacity=\opa] (0,0) -- \betadd -- (\dx,0) -- cycle; +\fill[color=colorfive,opacity=\opa] (0,0) -- \betaee -- (\dx,0) -- cycle; +\fill[color=colorsix,opacity=\opa] (0,0) -- \betaff -- (\dx,0) -- cycle; +\fill[color=colorseven,opacity=\opa] (0,0) -- \betagg -- (\dx,0) -- cycle; +\fill[color=coloreight,opacity=\opa] (0,0) -- \betahh -- (\dx,0) -- cycle; +\fill[color=colornine,opacity=\opa] (0,0) -- \betaii -- (\dx,0) -- cycle; +\fill[color=colorten,opacity=\opa] (0,0) -- \betajj -- (\dx,0) -- cycle; +\fill[color=coloreleven,opacity=\opa] (0,0) -- \betakk -- (\dx,0) -- cycle; +\fill[color=colortwelve,opacity=\opa] (0,0) -- \betall -- (\dx,0) -- cycle; + +\draw[color=colorone] \betaaa; +\draw[color=colortwo] \betabb; +\draw[color=colorthree] \betacc; +\draw[color=colorfour] \betadd; +\draw[color=colorfive] \betaee; +\draw[color=colorsix] \betaff; +\draw[color=colorseven] \betagg; +\draw[color=coloreight] \betahh; +\draw[color=colornine] \betaii; +\draw[color=colorten] \betajj; +\draw[color=coloreleven] \betakk; +\draw[color=colortwelve] \betall; + +\end{scope} + +\achsen + +\farbviereck + +\farbpunkt{\alphatwelve}{\betatwelve}{colortwelve} +\farbpunkt{\alphaeleven}{\betaeleven}{coloreleven} +\farbpunkt{\alphaten}{\betaten}{colorten} +\farbpunkt{\alphanine}{\betanine}{colornine} +\farbpunkt{\alphaeight}{\betaeight}{coloreight} +\farbpunkt{\alphaseven}{\betaseven}{colorseven} +\farbpunkt{\alphasix}{\betasix}{colorsix} +\farbpunkt{\alphafive}{\betafive}{colorfive} +\farbpunkt{\alphafour}{\betafour}{colorfour} +\farbpunkt{\alphathree}{\betathree}{colorthree} +\farbpunkt{\alphatwo}{\betatwo}{colortwo} +\farbpunkt{\alphaone}{\betaone}{colorone} + + +\def\betamax{4.9} + +\begin{scope}[yshift=-0.6cm] + +\begin{scope} +\clip (0,0) rectangle ({1*\dx},{\betamax*\dy}); +\fill[color=colorone,opacity=\opa] (0,0) -- \betaea -- (\dx,0) -- cycle; +\fill[color=colortwo,opacity=\opa] (0,0) -- \betaeb -- (\dx,0) -- cycle; +\fill[color=colorthree,opacity=\opa] (0,0) -- \betaec -- (\dx,0) -- cycle; +\fill[color=colorfour,opacity=\opa] (0,0) -- \betaed -- (\dx,0) -- cycle; +\fill[color=colorfive,opacity=\opa] (0,0) -- \betaee -- (\dx,0) -- cycle; +\fill[color=colorsix,opacity=\opa] (0,0) -- \betaef -- (\dx,0) -- cycle; +\fill[color=colorseven,opacity=\opa] (0,0) -- \betaeg -- (\dx,0) -- cycle; +\fill[color=coloreight,opacity=\opa] (0,0) -- \betaeh -- (\dx,0) -- cycle; +\fill[color=colornine,opacity=\opa] (0,0) -- \betaei -- (\dx,0) -- cycle; +\fill[color=colorten,opacity=\opa] (0,0) -- \betaej -- (\dx,0) -- cycle; +\fill[color=coloreleven,opacity=\opa] (0,0) -- \betaek -- (\dx,0) -- cycle; +\fill[color=colortwelve,opacity=\opa] (0,0) -- \betael -- (\dx,0) -- cycle; + +\draw[color=colorone] \betaea; +\draw[color=colortwo] \betaeb; +\draw[color=colorthree] \betaec; +\draw[color=colorfour] \betaed; +\draw[color=colorfive] \betaee; +\draw[color=colorsix] \betaef; +\draw[color=colorseven] \betaeg; +\draw[color=coloreight] \betaeh; +\draw[color=colornine] \betaei; +\draw[color=colorten] \betaej; +\draw[color=coloreleven] \betaek; +\draw[color=colortwelve] \betael; +\end{scope} + +\achsen + +\farbviereck + +\farbpunkt{\alphafive}{\betatwelve}{colortwelve} +\farbpunkt{\alphafive}{\betaeleven}{coloreleven} +\farbpunkt{\alphafive}{\betaten}{colorten} +\farbpunkt{\alphafive}{\betanine}{colornine} +\farbpunkt{\alphafive}{\betaeight}{coloreight} +\farbpunkt{\alphafive}{\betaseven}{colorseven} +\farbpunkt{\alphafive}{\betasix}{colorsix} +\farbpunkt{\alphafive}{\betafive}{colorfive} +\farbpunkt{\alphafive}{\betafour}{colorfour} +\farbpunkt{\alphafive}{\betathree}{colorthree} +\farbpunkt{\alphafive}{\betatwo}{colortwo} +\farbpunkt{\alphafive}{\betaone}{colorone} + +\end{scope} + +\begin{scope}[yshift=-1.2cm] + +\begin{scope} +\clip (0,0) rectangle ({1*\dx},{\betamax*\dy}); +\fill[color=colorone,opacity=\opa] (0,0) -- \betaal -- (\dx,0) -- cycle; +\fill[color=colortwo,opacity=\opa] (0,0) -- \betabl -- (\dx,0) -- cycle; +\fill[color=colorthree,opacity=\opa] (0,0) -- \betacl -- (\dx,0) -- cycle; +\fill[color=colorfour,opacity=\opa] (0,0) -- \betadl -- (\dx,0) -- cycle; +\fill[color=colorfive,opacity=\opa] (0,0) -- \betael -- (\dx,0) -- cycle; +\fill[color=colorsix,opacity=\opa] (0,0) -- \betafl -- (\dx,0) -- cycle; +\fill[color=colorseven,opacity=\opa] (0,0) -- \betagl -- (\dx,0) -- cycle; +\fill[color=coloreight,opacity=\opa] (0,0) -- \betahl -- (\dx,0) -- cycle; +\fill[color=colornine,opacity=\opa] (0,0) -- \betail -- (\dx,0) -- cycle; +\fill[color=colorten,opacity=\opa] (0,0) -- \betajl -- (\dx,0) -- cycle; +\fill[color=coloreleven,opacity=\opa] (0,0) -- \betakl -- (\dx,0) -- cycle; +\fill[color=colortwelve,opacity=\opa] (0,0) -- \betall -- (\dx,0) -- cycle; + +\draw[color=colorone] \betaal; +\draw[color=colortwo] \betabl; +\draw[color=colorthree] \betacl; +\draw[color=colorfour] \betadl; +\draw[color=colorfive] \betael; +\draw[color=colorsix] \betafl; +\draw[color=colorseven] \betagl; +\draw[color=coloreight] \betahl; +\draw[color=colornine] \betail; +\draw[color=colorten] \betajl; +\draw[color=coloreleven] \betakl; +\draw[color=colortwelve] \betall; +\end{scope} + +\achsen + +\farbviereck + +\farbpunkt{\alphatwelve}{\betatwelve}{colortwelve} +\farbpunkt{\alphaeleven}{\betatwelve}{coloreleven} +\farbpunkt{\alphaten}{\betatwelve}{colorten} +\farbpunkt{\alphanine}{\betatwelve}{colornine} +\farbpunkt{\alphaeight}{\betatwelve}{coloreight} +\farbpunkt{\alphaseven}{\betatwelve}{colorseven} +\farbpunkt{\alphasix}{\betatwelve}{colorsix} +\farbpunkt{\alphafive}{\betatwelve}{colorfive} +\farbpunkt{\alphafour}{\betatwelve}{colorfour} +\farbpunkt{\alphathree}{\betatwelve}{colorthree} +\farbpunkt{\alphatwo}{\betatwelve}{colortwo} +\farbpunkt{\alphaone}{\betatwelve}{colorone} + +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/040-rekursion/images/betadist.m b/buch/chapters/040-rekursion/images/betadist.m new file mode 100644 index 0000000..5b466a6 --- /dev/null +++ b/buch/chapters/040-rekursion/images/betadist.m @@ -0,0 +1,58 @@ +# +# betadist.m +# +# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +global N; +N = 201; +global nmin; +global nmax; +nmin = -4; +nmax = 7; +n = nmax - nmin + 1 +A = 3; + +t = (nmin:nmax) / nmax; +alpha = 1 + A * t .* abs(t) +#alpha(1) = 0.01; + +#alpha = [ 1, 1.03, 1.05, 1.1, 1.25, 1.5, 2, 2.5, 3, 4, 5 ]; +beta = alpha; +names = [ "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; + "nine"; "ten"; "eleven"; "twelve" ] + +function retval = Beta(a, b, x) + retval = x^(a-1) * (1-x)^(b-1) / beta(a, b); + if (retval > 100) + retval = 100 + end +end + +function plotbeta(fn, a, b, name) + global N; + fprintf(fn, "\\def\\beta%s{\n", strtrim(name)); + fprintf(fn, "\t({%.4f*\\dx},{%.4f*\\dy})", 0, Beta(a, b, 0)); + for x = (1:N-1)/(N-1) + X = (1-cos(pi * x))/2; + fprintf(fn, "\n\t--({%.4f*\\dx},{%.4f*\\dy})", + X, Beta(a, b, X)); + end + fprintf(fn, "\n}\n"); +end + +fn = fopen("betapaths.tex", "w"); + +for i = (1:n) + fprintf(fn, "\\def\\alpha%s{%f}\n", strtrim(names(i,:)), alpha(i)); + fprintf(fn, "\\def\\beta%s{%f}\n", strtrim(names(i,:)), beta(i)); +end + +for i = (1:n) + for j = (1:n) + printf("working on %d,%d:\n", i, j); + plotbeta(fn, alpha(i), beta(j), + char(['a' + i - 1, 'a' + j - 1])); + end +end + +fclose(fn); diff --git a/buch/chapters/040-rekursion/images/order.m b/buch/chapters/040-rekursion/images/order.m new file mode 100644 index 0000000..762f458 --- /dev/null +++ b/buch/chapters/040-rekursion/images/order.m @@ -0,0 +1,119 @@ +# +# order.m +# +# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +global N; +N = 10; +global subdivisions; +subdivisions = 100; +global P; +P = 0.5 + +function retval = orderF(p, n, k) + retval = 0; + for i = (k:n) + retval = retval + nchoosek(n,i) * p^i * (1-p)^(n-i); + end +end + +function retval = orderd(p, n, k) + retval = 0; + for i = (k:n) + s = i * p^(i-1) * (1-p)^(n-i); + s = s - p^i * (n-i) * (1-p)^(n-i-1); + retval = retval + nchoosek(n,i) * s; + end +end + +function retval = orders(p, n, k) + retval = k * nchoosek(n, k) * p^(k-1) * (1-p)^(n-k); +end + +function orderpath(fn, k, name) + fprintf(fn, "\\def\\order%s{\n\t(0,0)", name); + global N; + global subdivisions; + for i = (0:subdivisions) + p = i/subdivisions; + fprintf(fn, "\n\t-- ({%.4f*\\dx},{%.4f*\\dy})", + p, orderF(p, N, k)); + end + fprintf(fn, "\n}\n"); +end + +function orderdpath(fn, k, name) + fprintf(fn, "\\def\\orderd%s{\n\t(0,0)", name); + global N; + global subdivisions; + for i = (1:subdivisions-1) + p = i/subdivisions; + fprintf(fn, "\n\t-- ({%.4f*\\dx},{%.4f*\\dy})", + p, orderd(p, N, k)); + end + fprintf(fn, "\n\t-- ({1*\\dx},0)"); + fprintf(fn, "\n}\n"); +end + +function orderspath(fn, k, name) + fprintf(fn, "\\def\\orders%s{\n\t(0,0)", name); + global N; + global subdivisions; + for i = (1:subdivisions-1) + p = i/subdivisions; + fprintf(fn, "\n\t-- ({%.4f*\\dx},{%.4f*\\dy})", + p, orders(p, N, k)); + end + fprintf(fn, "\n\t-- ({1*\\dx},0)"); + fprintf(fn, "\n}\n"); +end + +fn = fopen("orderpath.tex", "w"); + +orderpath(fn, 0, "zero"); +orderdpath(fn, 0, "zero"); +orderspath(fn, 0, "zero"); + +orderpath(fn, 1, "one"); +orderdpath(fn, 1, "one"); +orderspath(fn, 1, "one"); + +orderpath(fn, 2, "two"); +orderdpath(fn, 2, "two"); +orderspath(fn, 2, "two"); + +orderpath(fn, 3, "three"); +orderdpath(fn, 3, "three"); +orderspath(fn, 3, "three"); + +orderpath(fn, 4, "four"); +orderdpath(fn, 4, "four"); +orderspath(fn, 4, "four"); + +orderpath(fn, 5, "five"); +orderdpath(fn, 5, "five"); +orderspath(fn, 5, "five"); + +orderpath(fn, 6, "six"); +orderdpath(fn, 6, "six"); +orderspath(fn, 6, "six"); + +orderpath(fn, 7, "seven"); +orderdpath(fn, 7, "seven"); +orderspath(fn, 7, "seven"); + +orderpath(fn, 8, "eight"); +orderdpath(fn, 8, "eight"); +orderspath(fn, 8, "eight"); + +orderpath(fn, 9, "nine"); +orderdpath(fn, 9, "nine"); +orderspath(fn, 9, "nine"); + +orderpath(fn, 10, "ten"); +orderdpath(fn, 10, "ten"); +orderspath(fn, 10, "ten"); + +fclose(fn); + + diff --git a/buch/chapters/040-rekursion/images/order.pdf b/buch/chapters/040-rekursion/images/order.pdf Binary files differnew file mode 100644 index 0000000..cc175a9 --- /dev/null +++ b/buch/chapters/040-rekursion/images/order.pdf diff --git a/buch/chapters/040-rekursion/images/order.tex b/buch/chapters/040-rekursion/images/order.tex new file mode 100644 index 0000000..9a2511c --- /dev/null +++ b/buch/chapters/040-rekursion/images/order.tex @@ -0,0 +1,125 @@ +% +% order.tex -- Verteilungsfunktion für Ordnungsstatistik +% +% (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{8} +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\n{10} +\def\E#1#2{ + \draw[color=#2] + ({\dx*#1/(\n+1)},{-0.1/\skala}) -- ({\dx*#1/(\n+1)},{4.4*\dy}); + \node[color=#2] at ({\dx*#1/(\n+1)},{3.2*\dy}) + [rotate=90,above right] {$k=#1$}; +} +\def\var#1#2{ + \pgfmathparse{\dx*sqrt(#1*(\n-#1+1)/((\n+1)*(\n+1)*(\n+2)))} + \xdef\var{\pgfmathresult} + \fill[color=#2,opacity=0.5] + ({\dx*#1/(\n+1)-\var},0) rectangle ({\dx*#1/(\n+1)+\var},{4.4*\dy}); +} + +\input{orderpath.tex} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\dx{1.6} +\def\dy{0.5} + +\def\pfad#1#2{ +\draw[color=#2,line width=1.4pt] ({-0.1/\skala},0) + -- + #1 + -- + ({1*\dx+0.1/\skala},0.5); +} + +\pfad{\orderzero}{darkgreen!20} +\pfad{\orderone}{darkgreen!20} +\pfad{\ordertwo}{darkgreen!20} +\pfad{\orderthree}{darkgreen!20} +\pfad{\orderfour}{darkgreen!20} +\pfad{\orderfive}{darkgreen!20} +\pfad{\ordersix}{darkgreen!20} +\pfad{\ordereight}{darkgreen!20} +\pfad{\ordernine}{darkgreen!20} +\pfad{\orderten}{darkgreen!20} +\pfad{\orderseven}{darkgreen} + +\draw[->] ({-0.1/\skala},0) -- ({1.03*\dx},0) coordinate[label={$x$}]; +\draw[->] (0,{-0.1/\skala}) -- (0,0.6) coordinate[label={right:$F(X)$}]; +\foreach \x in {0,0.2,0.4,0.6,0.8,1}{ + \draw ({\x*\dx},{-0.1/\skala}) -- ({\x*\dx},{0.1/\skala}); + \node at ({\x*\dx},{-0.1/\skala}) [below] {$\x$}; +} +\foreach \y in {0.5,1}{ + \draw ({-0.1/\skala},{\y*\dy}) -- ({0.1/\skala},{\y*\dy}); + \node at ({-0.1/\skala},{\y*\dy}) [left] {$\y$}; +} + +\node[color=darkgreen] at (0.65,{0.5*\dy}) [above,rotate=55] {$k=7$}; + +\begin{scope}[yshift=-0.7cm] +\def\dy{0.125} + +\foreach \k in {1,2,3,4,5,6,8,9,10}{ + \E{\k}{blue!30} +} +\def\k{7} +\var{\k}{orange!40} +\node[color=blue] at ({\dx*\k/(\n+1)},{4.3*\dy}) [above] {$E(X_{7:n})$}; + +\def\pfad#1#2{ + \draw[color=#2,line width=1.4pt] ({-0.1/\skala},0) + -- + #1 + -- + ({1*\dx+0.1/\skala},0.0); +} + +\begin{scope} +\clip ({-0.1/\skala},{-0.1/\skala}) + rectangle ({1*\dx+0.1/\skala},{0.56+0.1/\skala}); + +\pfad{\orderdzero}{red!20} +\pfad{\orderdone}{red!20} +\pfad{\orderdtwo}{red!20} +\pfad{\orderdthree}{red!20} +\pfad{\orderdfour}{red!20} +\pfad{\orderdfive}{red!20} +\pfad{\orderdsix}{red!20} +\pfad{\orderdeight}{red!20} +\pfad{\orderdnine}{red!20} +\pfad{\orderdten}{red!20} +\E{\k}{blue} +\pfad{\orderdseven}{red} + +\end{scope} + +\draw[->] ({-0.1/\skala},0) -- ({1.03*\dx},0) coordinate[label={$x$}]; +\draw[->] (0,{-0.1/\skala}) -- (0,0.6) coordinate[label={right:$\varphi(X)$}]; +\foreach \x in {0,0.2,0.4,0.6,0.8,1}{ + \draw ({\x*\dx},{-0.1/\skala}) -- ({\x*\dx},{0.1/\skala}); + \node at ({\x*\dx},{-0.1/\skala}) [below] {$\x$}; +} +\foreach \y in {1,2,3,4}{ + \draw ({-0.1/\skala},{\y*\dy}) -- ({0.1/\skala},{\y*\dy}); + \node at ({-0.1/\skala},{\y*\dy}) [left] {$\y$}; +} + +\node[color=red] at ({0.67*\dx},{2.7*\dy}) [above] {$k=7$}; + + +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/040-rekursion/integral.tex b/buch/chapters/040-rekursion/integral.tex new file mode 100644 index 0000000..df52a58 --- /dev/null +++ b/buch/chapters/040-rekursion/integral.tex @@ -0,0 +1,103 @@ +% +% integral.tex +% +% (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Hochschule +% +\subsection{Integraldarstellung und der Satz von Bohr-Mollerup +\label{buch:subsection:integral-eindeutig}} +Die Integralformel +\[ +f(x) += +\int_0^\infty t^{x-1}e^{-t}\,dt +\] +für die Gamma-Funktion erfüllt die Funktionalgleichung der Gamma-Funktion. +Aus dem Satz von Bohr-Mollerup~\ref{buch:satz:bohr-mollerup} folgt, +dass $f(x)=\Gamma(x)$, wenn gezeigt werden kann, dass $\log f(x)$ +konvex ist. +Dies soll im Folgenden gezeigt werden. + +\subsubsection{Logarithmische Ableitung} +Die Ableitungen der Funktion $\log f(x)$ sind die erste und +zweite logarithmische +Ableitung +\begin{align} +\frac{d}{dx}\log f(x) +&= +\frac{f'(x)}{f(x)} +\notag +\\ +\frac{d^2}{dx^2} \log f(x) +&= +\frac{f''(x)f(x)-f'(x)^2}{f(x)^2}. +\label{buch:rekursion:eqn:zweiteablteitung} +\end{align} +Durch Ableiten unter dem Integralzeichen können die Ableitungen +von $f$ als +\begin{align*} +f'(x) +&= +\int_0^\infty \log(t)\, t^{x-1} e^{-t}\,dt +\\ +f''(x) +&= +\int_0^\infty \log(t)^2\, t^{x-1} e^{-t}\,dt +\end{align*} +bestimmt werden. +Um nachzuweisen, dass $\log f(x)$ konvex ist, muss nur gezeigt werden, +dass die zweite logarithmische Ableitung von $f(x)$ positiv ist, was +gemäss~\eqref{buch:rekursion:eqn:zweiteablteitung} mit +\begin{equation} +f''(x)f(x)-f'(x)^2 += +\int_0^\infty \log(t)^2\, t^{x-1}e^{-t}\,dt +\int_0^\infty t^{x-1}e^{-t}\,dt +- +\biggl( +\int_0^\infty \log(t)\, t^{x-1}e^{-t}\,dt +\biggr)^2 +\ge 0 +\label{buch:rekursion:gamma-integral:ungleichung} +\end{equation} +gleichbedeutend ist. + +\subsubsection{Skalarprodukt} +Die Integral in~\eqref{buch:rekursion:gamma-integral:ungleichung} +können als Werte eines Skalarproduktes von Funktionen auf $\mathbb{R}^+$ +gelesen werden. +Dazu definieren wir +\begin{align} +\langle u,v\rangle +&= +\int_0^\infty u(t)v(t)\,t^{x-1}e^{-t}\,dt +\label{buch:rekursion:gamma-integral:eqn:skalarprodukt} +\\ +\|u\|^2 +&= +\int_0^\infty u(t)^2 \,t^{x-1}e^{-t}\,dt, +\notag +\end{align} +für alle Funktionen $u$ und $v$, für die die Integrale definiert sind. + +\subsubsection{Cauchy-Schwarz-Ungleichung} +Die Cauchy-Schwarz-Ungleichung für das +Skalarprodukt~\eqref{buch:rekursion:gamma-integral:eqn:skalarprodukt} +für die Funktion $u(t)=1$ und $v(t)=\log(t)$ +lautet +\[ +|\langle u,v\rangle|^2 += +\biggl| +\int_0^1 \log(t)\,t^{x-1}e^{-t}\,dt +\biggr|^2 +\le +\|u\|^2\cdot \|v\|^2 += +\int_0^\infty 1\cdot t^{x-1}e^{-t}\,dt +\int_0^\infty \log(t)^2\cdot t^{x-1}e^{-t}\,dt. +\] +Daraus folgt aber durch Umstellen unmittelbar die +Ungleichung~\eqref{buch:rekursion:gamma-integral:ungleichung}. +Damit ist gezeigt, dass $\log f(t)$ konvex ist und nach +dem Satz~\ref{buch:satz:bohr-mollerup} folgt nun, dass $f(x)=\Gamma(x)$. + |