aboutsummaryrefslogtreecommitdiffstats
path: root/buch/chapters
diff options
context:
space:
mode:
Diffstat (limited to 'buch/chapters')
-rw-r--r--buch/chapters/070-orthogonalitaet/images/Makefile9
-rw-r--r--buch/chapters/070-orthogonalitaet/images/weight.m59
-rw-r--r--buch/chapters/070-orthogonalitaet/images/weight.pdfbin0 -> 22822 bytes
-rw-r--r--buch/chapters/070-orthogonalitaet/images/weight.tex174
-rw-r--r--buch/chapters/070-orthogonalitaet/jacobi.tex189
-rw-r--r--buch/chapters/070-orthogonalitaet/orthogonal.tex2
6 files changed, 432 insertions, 1 deletions
diff --git a/buch/chapters/070-orthogonalitaet/images/Makefile b/buch/chapters/070-orthogonalitaet/images/Makefile
index e3a988a..900ae7f 100644
--- a/buch/chapters/070-orthogonalitaet/images/Makefile
+++ b/buch/chapters/070-orthogonalitaet/images/Makefile
@@ -4,11 +4,18 @@
#
# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
#
-all: legendre.pdf orthogonal.pdf
+all: legendre.pdf orthogonal.pdf weight.pdf
legendrepaths.tex: legendre.m
octave legendre.m
legendre.pdf: legendre.tex legendrepaths.tex
pdflatex legendre.tex
+
orthogonal.pdf: orthogonal.tex legendrepaths.tex
pdflatex orthogonal.tex
+
+weight.pdf: weight.tex weightfunction.tex
+ pdflatex weight.tex
+weightfunction.tex: weight.m
+ octave weight.m
+
diff --git a/buch/chapters/070-orthogonalitaet/images/weight.m b/buch/chapters/070-orthogonalitaet/images/weight.m
new file mode 100644
index 0000000..62ea447
--- /dev/null
+++ b/buch/chapters/070-orthogonalitaet/images/weight.m
@@ -0,0 +1,59 @@
+#
+# weight.m
+#
+# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+global N;
+N = 200;
+global s;
+s = 8;
+global l;
+l = 10;
+global A;
+A = 0.3;
+
+function retval = gewicht(x)
+ global s;
+ retval = (x + 1)^(-2) * (x + 1/3)^(-0.9) * (x - 1/3) * (x - 1)^2 * exp(s * x);
+endfunction
+
+h = 2 / N;
+x = (-1:h:1);
+
+function punkt(fn, x, y)
+ global A;
+ fprintf(fn, "(%.4f,%.4f)", x, A * abs(y));
+endfunction
+
+fn = fopen("weightfunction.tex", "w");
+plotting = 0;
+drittelsuchen = 1;
+for i = (1:N+1)
+ if (drittelsuchen > 0)
+ if (x(i) > (1/3))
+ fprintf(fn, "\n\t-- ");
+ punkt(fn, 1/3, 0);
+ fprintf(fn, "% drittel");
+ drittelsuchen = 0
+ end
+ end
+ y = gewicht(x(i));
+ if (plotting > 0)
+ if (abs(y) > l)
+ fprintf(fn, ";\n");
+ plotting = 0;
+ end
+ fprintf(fn, "\t\n-- ");
+ punkt(fn, x(i), y);
+ else
+ if (abs(y) < l)
+ fprintf(fn, "\\draw[color=red,line width=2.0pt] ");
+ punkt(fn, x(i), y);
+ plotting = 1;
+ end
+ end
+endfor
+if (plotting > 0)
+ fprintf(fn, ";\n");
+end
+fclose(fn);
diff --git a/buch/chapters/070-orthogonalitaet/images/weight.pdf b/buch/chapters/070-orthogonalitaet/images/weight.pdf
new file mode 100644
index 0000000..164af55
--- /dev/null
+++ b/buch/chapters/070-orthogonalitaet/images/weight.pdf
Binary files differ
diff --git a/buch/chapters/070-orthogonalitaet/images/weight.tex b/buch/chapters/070-orthogonalitaet/images/weight.tex
new file mode 100644
index 0000000..796f09a
--- /dev/null
+++ b/buch/chapters/070-orthogonalitaet/images/weight.tex
@@ -0,0 +1,174 @@
+%
+% weight.tex -- Einfluss der Gewichtsfunktion auf die möglichen Funktionen
+%
+% (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{6}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{hell}{rgb}{0.4,0.4,1}
+
+\xdef\sfour{0.16}
+\xdef\sthree{0.20}
+\xdef\stwo{0.27}
+\xdef\sone{0.45}
+
+\begin{scope}
+ \clip (-1,-1) rectangle (1,1);
+
+ \xdef\s{0.16}
+ \fill[color=blue!40]
+ plot[domain=0.7:0.99,samples=20]
+ ({\x},{\s*exp(-0.48*ln(1-\x))})
+ -- (1,1) -- (1,-1) --
+ plot[domain=0.99:0.7,samples=20]
+ ({\x},{-\s*exp(-0.48*ln(1-\x))})
+ -- cycle;
+
+ \xdef\s{0.20}
+ \fill[color=blue!40]
+ plot[domain=0.033:0.33,samples=20]
+ ({\x},{\s*exp(-0.28*ln(1/3-\x))})
+ -- ({1/3},1) --
+ plot[domain=0.34:0.6333,samples=20]
+ ({\x},{\s*exp(-0.28*ln(\x-1/3))})
+ --
+ plot[domain=0.6333:0.34,samples=20]
+ ({\x},{-\s*exp(-0.28*ln(\x-1/3))})
+ -- ({1/3},-1) --
+ plot[domain=0.333:0.033,samples=20]
+ ({\x},{-\s*exp(-0.28*ln(1/3-\x))})
+ -- cycle;
+
+ \xdef\s{0.27}
+ \fill[color=blue!40]
+ (-0.6333,-\s) rectangle (-0.0333,\s);
+
+ \xdef\s{0.45}
+ \fill[color=blue!40]
+ (-1,0)
+ --
+ plot[domain=-0.99:-0.7,samples=100]
+ ({\x},{\s*exp(0.48*ln(1+\x))})
+ --
+ plot[domain=-0.7:-0.99,samples=100]
+ ({\x},{-\s*exp(0.48*ln(1+\x))})
+ --
+ cycle;
+
+\end{scope}
+
+\def\rechteck#1#2{
+ \fill[color=hell!#1]
+ ({#2/300},1) rectangle ({(#2+1.1)/300},-1);
+}
+
+\def\verlauf{
+ \foreach\x in {0,1,...,100.1}{
+ \rechteck{\x}{\x}
+ \rechteck{\x}{-\x}
+ }
+}
+
+\def\rand{
+ plot[domain=0.7:0.99,samples=20]
+ ({\x},{\sfour*exp(-0.48*ln(1-\x))})
+ -- (1,1) -- (1,-1) --
+ plot[domain=0.99:0.7,samples=20]
+ ({\x},{-\sfour*exp(-0.48*ln(1-\x))})
+ --
+ plot[domain=0.6333:0.34,samples=20]
+ ({\x},{-\sthree*exp(-0.28*ln(\x-1/3))})
+ -- ({1/3},-1) --
+ plot[domain=0.333:0.033,samples=20]
+ ({\x},{-\sthree*exp(-0.28*ln(1/3-\x))})
+ --
+ (-0.0333,-\stwo) -- (-0.6333,-\stwo)
+ --
+ plot[domain=-0.7:-0.998,samples=100]
+ ({\x},{-\sone*exp(0.48*ln(1+\x))})
+ --
+ (-1,0)
+ --
+ plot[domain=-0.998:-0.7,samples=100]
+ ({\x},{\sone*exp(0.48*ln(1+\x))})
+ --
+ (-0.6333,\stwo) -- (-0.0333,\stwo)
+ --
+ plot[domain=0.033:0.33,samples=20]
+ ({\x},{\sthree*exp(-0.28*ln(1/3-\x))})
+ -- ({1/3},1) --
+ plot[domain=0.34:0.6333,samples=20]
+ ({\x},{\sthree*exp(-0.28*ln(\x-1/3))})
+ -- cycle;
+}
+
+\begin{scope}
+ \clip (-1,-1) rectangle (1,1);
+ \begin{scope}
+ \clip \rand;
+ \fill[left color=hell,right color=white]
+ (-1,-1) rectangle (-0.6666,1);
+ \fill[left color=white,right color=hell]
+ (-0.6666,-1) rectangle (-0.3333,1);
+ \fill[left color=hell,right color=white]
+ (-0.3333,-1) rectangle (0,1);
+ \fill[left color=white,right color=hell]
+ (0,-1) rectangle (0.3333,1);
+ \fill[left color=hell,right color=white]
+ (0.3333,-1) rectangle (0.6666,1);
+ \fill[left color=white,right color=hell]
+ (0.6666,-1) rectangle (1,1);
+ \end{scope}
+ \draw[color=white,line width=0.5pt] \rand;
+ \draw[color=white,line width=0.5pt] ({-2/3},-1) -- ({-2/3},1);
+ \draw[color=white,line width=0.5pt] ({2/3},-1) -- ({2/3},1);
+\end{scope}
+
+\draw[->] (-1.1,0) -- (1.1,0) coordinate[label={$x$}];
+\draw[->] (0,-1.1) -- (0,1.1) coordinate[label={right:$y$}];
+
+\begin{scope}
+ \clip (-1,-1) rectangle (1,1);
+
+ \input{weightfunction.tex}
+
+\end{scope}
+
+\draw[line width=0.2pt] (-1,-1) -- (-1,1);
+\draw[line width=0.2pt] ({-1/3},-1) -- ({-1/3},1);
+
+\draw ({-1/3},{-0.1/\skala}) -- ({-1/3},{0.1/\skala});
+\draw ({1/3},{-0.1/\skala}) -- ({1/3},{0.1/\skala});
+\draw (1,{-0.1/\skala}) -- (1,{0.1/\skala});
+
+\node at (-1,0) [below left] {$-1$};
+\node at (1,0) [below right] {$1$};
+
+\def\marke#1#2#3{
+ \fill[color=white,opacity=0.7]
+ ({#1-0.03},{#2-0.12})
+ rectangle
+ ({#1+0.03},{#2+0.12});
+}
+
+\marke{-1}{0.2}{}
+\node at (-1,0.2) [rotate=90] {$\alpha=-1.9$};
+\marke{-1/3}{0.2}{}
+\node at ({-1/3},0.2) [rotate=90] {$\alpha=-0.9$};
+\marke{1/3}{0.2}{}
+\node at ({1/3},0.2) [rotate=90] {$\alpha=1$};
+\marke{1}{0.2}{}
+\node at (1,0.2) [rotate=90] {$\alpha=2$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/070-orthogonalitaet/jacobi.tex b/buch/chapters/070-orthogonalitaet/jacobi.tex
index fb7d5ff..3dcf523 100644
--- a/buch/chapters/070-orthogonalitaet/jacobi.tex
+++ b/buch/chapters/070-orthogonalitaet/jacobi.tex
@@ -6,4 +6,193 @@
\section{Jacobi-Polynome
\label{buch:integrale:subsection:jacobi-polynome}}
\rhead{Jacobi-Polynome}
+Das $L^2$-Skalarprodukt von
+Definition~\label{buch:orthogonal:def:skalarprodukt}
+ist nicht das einzige Skalarprodukt von Funktionen, bezüglich dem
+orthogonale Funktionenfamilien konstruiert werden können.
+Die Definition~\label{buch:orthogonal:def:skalarproduktw}
+erlaubt, das Skalarprodukt mit einer Gewichtsfunktion
+zu erweitern.
+Auch in diesem Abschnitt geht es um Polynome, deren Werte auf
+dem Intervall $(-1,1)$ interessieren.
+Die Legendre-Polynome waren aus den Monomen konstruiert worden durch
+Orthogonalisierung bezüglich des gewöhnlichen $L^2$-Skalarproduktes.
+Die Normierung war einigermassen willkürlich gewählt worden und
+hatte nichts mit dem Skalarprodukt zu tun.
+
+\begin{figure}
+\centering
+\includegraphics{chapters/070-orthogonalitaet/images/weight.pdf}
+\caption{Nullstellen und Pole der Gewichtsfunktion (rot) legen Ort
+und Grad von Polen und Nullstellen der Funktionen fest, die beschränkte
+$\|\,\cdot\,\|_w$-Norm haben.
+An den Stellen $\pm 1$ und $\pm\frac12$ hat die Gewichtsfunktion
+Pole bzw.~Nullstellen mit Grad $\alpha$.
+Der blaue Bereich deutet an, wie schnell die Funktion $f$ in diesem
+Bereich anwachsen kann, bzw.~wie schnell nahe der Polstelle gegen $0$
+gehen muss.
+\label{buch:orthogonalitaet:fig:gewicht}}
+\end{figure}
+%
+% Pole und Nullstellen der Gewichtsfunktion
+%
+\subsection{Pole und Nullstellen
+\label{buch:orthogonal:pole-und-nullstellen}}
+Das Skalarprodukt $\langle\,\;,\;\rangle_w$ ist nur sinnvoll
+für Funktionen $f(x)$, für die die Norm $\|f\|_w$ definiert ist.
+An einer Nullstelle $x_0$ der Gewichtsfunktion $w$ darf die Funktion $f$
+einen Pol haben.
+Solange $f(x)$ für $x\to x_0$ nicht zu schnell divergiert, kann
+das Produkt $|f(x)|^2 w(x)$ immer noch integrierbar sein.
+
+
+Um dies etwas genauer zu quantifizieren, nehmen wir an, dass
+$w(x)$ an der Stelle $x_0$ eine Nullstelle vom Grad $\alpha$ hat.
+Dies bedeutet, dass $w(x) \approx C|x-x_0|^\alpha$ ist für eine geeignete
+Konstante $C$ und für $|x-x_0|<\varepsilon$.
+Ein Pol von $f$ vom Grad $a$ an der Stelle $x_0$ führt entsprechend auf
+eine Abschätzung $|f(x)| \approx D|f(x)|^{-a}$ für $|x-x_0|<\varepsilon$.
+Dann ist
+\[
+|f(x)|^2 w(x) \approx CD |x-x_0|^{\alpha-2a}.
+\]
+Für das Integral in der Nähe von $x_0$ ist
+\begin{align*}
+\int_{x_0-\varepsilon}^{x_0+\varepsilon}
+|f(x)|^2 w(x)\,dx
+&\approx
+CD
+\int_{x_0-\varepsilon}^{x_0+\varepsilon}
+|x-x_0|^{\alpha-2a}\,dx
+=
+2CD
+\int_0^\varepsilon
+t^{\alpha-2a}
+\,dt
+\\
+&=
+2CD
+\begin{cases}
+\displaystyle
+\;
+\biggl[\frac{t^{\alpha-2a+1}}{\alpha-2a+1}\biggr]_0^\varepsilon
+&\qquad
+\alpha-2a=-1
+\\[7pt]
+\displaystyle
+\;
+\biggl[ \log t \biggr]_0^\varepsilon
+&\qquad
+\text{sonst.}
+\end{cases}
+\end{align*}
+Der Zähler $t^{\alpha-2a+1}$ divergiert für $t\to 0$ genau dann,
+wenn $\alpha-2a+1<0$ oder $\alpha<2a-1$.
+Auch im zweiten Fall, für $\alpha-2a+1=0$, divergiert das Integral.
+Damit die Norm $\|f\|_w$ definiert ist, muss also $a<\frac12(\alpha+1)$
+sein.
+
+Ganz ähnlich führt eine Polstelle von $w$ vom Grad $\alpha$
+an der Stelle $x_0$ dazu, dass $f$ dort eine Nullstelle vom Grad
+$a$ haben muss.
+Das Normintegral konvergiert nur, wenn $2a-\alpha > -1$ ist
+oder $a > \frac12(\alpha+1)$.
+
+Pole der Gewichtsfunktion schränken also ein, welche Funktionen
+überhaupt der Untersuchung mit Hilfe des Skalarproduktes
+$\langle\,\;,\;\rangle$ zugänglich sind
+(Abbildung~\ref{buch:orthogonalitaet:fig:gewicht}).
+Ist die Ordnung $\alpha$ des Poles grösser als $1$, dann müssen die Funktionen
+eine Nullstelle mindestens vom Grad $\frac12(a+1)$ haben.
+Nullstellen der Gewichtsfunktion erweitern die Klasse der Funktionen.
+Ist die Ordnung der Nullstelle $\alpha$, dann dürfen die Funktionen einen
+Pol der Ordnung kleiner als $\frac12(\alpha+1)$ haben.
+
+
+%
+% Die Jacobische Gewichtsfunktion
+%
+\subsection{Jacobische Gewichtsfunktion}
+Die Gewichtsfunktion für die Legendrepolynome war $w(x)=1$, alle
+Punkte im Intervall $(-1,1)$ hatten das gleiche Gewicht.
+Diese soll jetzt ersetzt werden durch eine Gewichtsfunktion, die
+den Punkten an den Intervallenden mehr oder weniger Gewicht gibt,
+wobei auch zugelassen sein soll, dass die Gewichtung nicht symmetrisch
+ist.
+
+\begin{definition}
+Die {\em Jacobi-Gewichtsfunktion} ist die Funktion
+\[
+w^{(\alpha,\beta)}
+\colon (-1,1)\to\mathbb{R}
+:
+x\mapsto w^{(\alpha,\beta)}(x) = (1-x)^\alpha(1+x)^\beta
+\]
+mit $\alpha,\beta\in\mathbb{R}$.
+Das Skalarprodukt zugehörige Skalarprodukt wird auch als
+\[
+\langle\,\;,\;\rangle_{w^{(\alpha,\beta)}}
+=
+\langle\,\;,\;\rangle_{(\alpha,\beta)}
+\]
+bezeichnet und die zugehörige Norm mit
+\[
+\|f\|_{(\alpha,\beta)}
+=
+\langle f,f\rangle_{(\alpha,\beta)}
+=
+\int_{-1}^1 |f(x)|^2 w^{(\alpha,\beta)}(x)\,dx.
+\]
+\end{definition}
+
+\begin{definition}
+Die {\em Jacobi-Polynome} $P^{(\alpha,\beta)}_n(x)$ sind
+Polynome vom Grad $n$, die bezüglich des Skalarproduktes
+$\langle\,\;,\;\rangle_{w^{(\alpha,\beta)}}$ orthogonal sind
+und mit
+\[
+P_n^{(\alpha,\beta)}(1) = \binom{n+\alpha}n
+\]
+normiert sind.
+\end{definition}
+
+Für $\alpha=\beta=0$ entsteht die Gewichtsfunktion
+$w^{(0,0)}(x)=1$, die Legendre-Polynome sind also der Spezialfall
+$\alpha=\beta=0$ der Jacobi-Polynome.
+
+Der Exponent $\alpha$ in der Gewichtsfunktion $w^{(\alpha,\beta)}(x)$
+steuert das Gewicht, welches Punkte am rechten Rand des Intervalls
+erhalten.
+Für positive Werte von $\alpha$ hat $w^{(\alpha,\beta)}(x)$ eine
+Nullstelle vom Grad $\alpha$ an der Stelle $x=1$, nach
+Abschnitt~\ref{buch:orthogonal:pole-und-nullstellen}
+dürfen die Funktionen einen Pole der Ordnung $<\frac12(\alpha-1)$ haben.
+Je grösser $\alpha$ ist, desto weniger Gewicht haben die Punkte
+am rechten Rand des Intervalls und desto schneller darf eine Funktion
+für $x\to 1$ divergieren.
+
+Für negative Werte von $\alpha$ hat $w^{(\alpha,\beta)}(x)$ einen
+Pol vom Grad $-\alpha$ an der Stelle $x=1$.
+Funktionen müssen daher also ein Nullstelle mindestens vom Grad
+$\frac12(1-\alpha)$ haben.
+
+%
+%
+%
+\subsection{Jacobi-Polynome niedrigen Grades}
+
+%
+%
+%
+\subsection{Jacobi-Polynome als hypergeometrische Funktionen}
+
+%
+%
+%
+\subsection{Jacobi-Differentialgleichung}
+
+%
+%
+%
+\subsection{Ableitung und Rodrigues-Formel}
diff --git a/buch/chapters/070-orthogonalitaet/orthogonal.tex b/buch/chapters/070-orthogonalitaet/orthogonal.tex
index 2b7bf41..7849e2d 100644
--- a/buch/chapters/070-orthogonalitaet/orthogonal.tex
+++ b/buch/chapters/070-orthogonalitaet/orthogonal.tex
@@ -105,6 +105,7 @@ Das Integral ermöglicht jetzt, ein Skalarprodukt auf dem reellen
Vektorraum der stetigen Funktionen auf einem Intervall zu definieren.
\begin{definition}
+\label{buch:orthogonal:def:skalarprodukt}
Sei $V$ der reelle Vektorraum $C([a,b])$ der reellwertigen, stetigen
Funktion auf dem Intervall $[a,b]$.
Dann ist
@@ -162,6 +163,7 @@ die Funktionswerte nicht überall auf dem Definitionsbereich
gleich gewichtet werden.
\begin{definition}
+\label{buch:orthogonal:def:skalarproduktw}
Sei $w\colon [a,b]\to \mathbb{R}^+$ eine positive, stetige Funktion,
dann ist
\[