aboutsummaryrefslogtreecommitdiffstats
path: root/buch
diff options
context:
space:
mode:
authorAndreas Müller <andreas.mueller@ost.ch>2021-01-26 13:11:37 +0100
committerAndreas Müller <andreas.mueller@ost.ch>2021-01-26 13:11:37 +0100
commita503cc5c7fcbb125ec7c220845b9e760248db233 (patch)
tree1eea3a0beeb25babc0725182e208a3dff64b36ac /buch
parentPerron-Frobenius Theorie (diff)
downloadSeminarMatrizen-a503cc5c7fcbb125ec7c220845b9e760248db233.tar.gz
SeminarMatrizen-a503cc5c7fcbb125ec7c220845b9e760248db233.zip
Visualisierungen für Perron-Frobenius-Theorie
Diffstat (limited to '')
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/Makefile35
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/diffusion.pngbin0 -> 265323 bytes
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/diffusion.pov87
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/dreieck.m41
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/dreieck.pdfbin0 -> 23945 bytes
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/dreieck.tex90
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/positiv.jpgbin0 -> 111361 bytes
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/positiv.m36
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/positiv.pngbin0 -> 191808 bytes
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/positiv.pov137
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/trenn.pdfbin0 -> 13272 bytes
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/trenn.tex44
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/vergleich.jpgbin0 -> 105809 bytes
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdfbin0 -> 120558 bytes
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/vergleich.pngbin0 -> 223136 bytes
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/vergleich.pov203
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/images/vergleich.tex46
-rw-r--r--buch/chapters/80-wahrscheinlichkeit/positiv.tex74
18 files changed, 788 insertions, 5 deletions
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/Makefile b/buch/chapters/80-wahrscheinlichkeit/images/Makefile
index 3c6a7f9..5511f14 100644
--- a/buch/chapters/80-wahrscheinlichkeit/images/Makefile
+++ b/buch/chapters/80-wahrscheinlichkeit/images/Makefile
@@ -3,8 +3,10 @@
#
# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschulen
#
-all: diffusion.png diffusion.pdf
+all: dreieck.pdf trenn.pdf vergleich.pdf vergleich.jpg positiv.jpg \
+ diffusion.png diffusion.pdf
+# Visualisierung diffusion in einer primitiven Matrix
diffusion.pdf: diffusion.tex diffusion.jpg
pdflatex diffusion.tex
@@ -17,3 +19,34 @@ diffusion.jpg: diffusion.png
vektoren.inc: diffusion.m
octave diffusion.m
+# Visualizierung positive Matrix
+positiv.png: positiv.pov quadrant.inc
+ povray +A0.1 +W1920 +H1080 -Opositiv.png positiv.pov
+
+positiv.jpg: positiv.png
+ convert positiv.png -density 300 -units PixelsPerInch positiv.jpg
+
+quadrant.inc: positiv.m
+ octave positiv.m
+
+# Visualiziserung Vergleichstrick
+vergleich.png: vergleich.pov
+ povray +A0.1 +W1920 +H1080 -Overgleich.png vergleich.pov
+
+vergleich.jpg: vergleich.png Makefile
+ convert -extract 1110x1080+180+0 vergleich.png \
+ -density 300 -units PixelsPerInch vergleich.jpg
+
+vergleich.pdf: vergleich.tex vergleich.jpg
+ pdflatex vergleich.tex
+
+# Darstellung zum Trenntrick
+trenn.pdf: trenn.tex
+ pdflatex trenn.tex
+
+# Darstellung zur Dreiecksungleichung
+dreieck.pdf: dreieck.tex drei.inc
+ pdflatex dreieck.tex
+
+drei.inc: dreieck.m
+ octave dreieck.m
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/diffusion.png b/buch/chapters/80-wahrscheinlichkeit/images/diffusion.png
new file mode 100644
index 0000000..f4c6294
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/diffusion.png
Binary files differ
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/diffusion.pov b/buch/chapters/80-wahrscheinlichkeit/images/diffusion.pov
new file mode 100644
index 0000000..9b385da
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/diffusion.pov
@@ -0,0 +1,87 @@
+//
+// diffusion.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+
+global_settings {
+ assumed_gamma 1
+}
+
+#declare imagescale = 0.270;
+#declare N = 30;
+#declare vscale = 10;
+#declare r = 0.08;
+
+camera {
+ location <43, 20, -50>
+ look_at <N/2+2, vscale*0.49, 3>
+ right 16/9 * x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <-4, 20, -50> color White
+ area_light <1,0,0> <0,0,1>, 10, 10
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+#macro saeule(xx,yy,h)
+box { <xx+0.1,0,yy+0.1>, <xx+0.9,vscale*h,yy+0.9> }
+#end
+
+#macro vektor(xx,a,b,c,d,e,f)
+ saeule(xx,5,a)
+ saeule(xx,4,b)
+ saeule(xx,3,c)
+ saeule(xx,2,d)
+ saeule(xx,1,e)
+ saeule(xx,0,f)
+#end
+
+union {
+#include "vektoren.inc"
+ pigment {
+ color rgb<0.8,1,1>*0.6
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+union {
+#declare xx = 1;
+#while (xx <= N+1)
+ cylinder { <xx, 0, 0>, <xx, 0, 6>, r }
+ #declare xx = xx + 1;
+#end
+#declare yy = 0;
+#while (yy <= 6)
+ cylinder { <1, 0, yy>, <N+1, 0, yy>, r }
+ #declare yy = yy + 1;
+#end
+ sphere { <1,0,0>, r }
+ sphere { <1,0,6>, r }
+ sphere { <N+1,0,0>, r }
+ sphere { <N+1,0,6>, r }
+ cylinder { <1,0,6>, <1,1.1*vscale,6>, r }
+ cylinder { <1,vscale-r/2,6>, <1,vscale+r/2,6>, 2*r }
+ cone { <1,1.1*vscale,6>, 2*r, <1,1.15*vscale,6>, 0 }
+ pigment {
+ color rgb<1,0.6,1>*0.6
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/dreieck.m b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.m
new file mode 100644
index 0000000..cc9661b
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.m
@@ -0,0 +1,41 @@
+#
+# dreieck.m
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+w = 12
+N = 10
+
+rand("seed", 1);
+
+angles = 80 * rand(1,N)
+radii = 2 * rand(1,N) + 0.4
+angle = 20
+
+radii = radii * w / (cosd(angle) * sum(radii))
+radius = sum(radii)
+radius * cosd(angle)
+
+points = zeros(2,N);
+ray = zeros(2,N);
+
+p = [ 0; 0 ];
+for i = (1:N)
+ p = p + radii(1,i) * [ cosd(angles(1,i)); sind(angles(1,i)) ];
+ points(:, i) = p;
+ ray(:, i) = sum(radii(1,1:i)) * [ cosd(angle); sind(angle) ];
+end
+
+points
+
+ray
+
+fn = fopen("drei.inc", "w");
+for i = (1:N)
+ fprintf(fn, "\\coordinate (A%d) at (%.4f,%.4f);\n", i,
+ points(1,i), points(2,i));
+ fprintf(fn, "\\coordinate (B%d) at (%.4f,%.4f);\n", i,
+ ray(1,i), ray(2,i));
+end
+fprintf(fn, "\\def\\r{%.4f}\n", radius);
+fclose(fn);
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/dreieck.pdf b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.pdf
new file mode 100644
index 0000000..0cca2e1
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.pdf
Binary files differ
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/dreieck.tex b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.tex
new file mode 100644
index 0000000..0935992
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.tex
@@ -0,0 +1,90 @@
+%
+% dreieck.tex -- verallgemeinerte Dreiecksungleichung
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usepackage{pgf}
+\usetikzlibrary{arrows,intersections,math,calc,hobby}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\coordinate (O) at (0,0);
+
+\input{drei.inc}
+
+\begin{scope}
+\clip (O) rectangle (12.3,8);
+\draw[color=red!40] (O) circle[radius=\r];
+\end{scope}
+
+\draw[->] (-0.1,0) -- (12.3,0) coordinate[label={$\Re z$}];
+\draw[->] (0,-0.1) -- (0,8.3) coordinate[label={right:$\Im z$}];
+
+\fill[color=blue] (A1) circle[radius=0.05];
+\fill[color=blue] (A2) circle[radius=0.05];
+\fill[color=blue] (A3) circle[radius=0.05];
+\fill[color=blue] (A4) circle[radius=0.05];
+\fill[color=blue] (A5) circle[radius=0.05];
+\fill[color=blue] (A6) circle[radius=0.05];
+\fill[color=blue] (A7) circle[radius=0.05];
+\fill[color=blue] (A8) circle[radius=0.05];
+\fill[color=blue] (A9) circle[radius=0.05];
+\fill[color=blue] (A10) circle[radius=0.05];
+\draw[color=blue] (O) -- (A1);
+\draw[color=blue] (A1) -- (A2);
+\draw[color=blue] (A2) -- (A3);
+\draw[color=blue] (A3) -- (A4);
+\draw[color=blue] (A4) -- (A5);
+\draw[color=blue] (A5) -- (A6);
+\draw[color=blue] (A6) -- (A7);
+\draw[color=blue] (A7) -- (A8);
+\draw[color=blue] (A8) -- (A9);
+\draw[color=blue] (A9) -- (A10);
+\draw[->,color=blue!40] (O) -- (A10);
+\node[color=blue] at ($0.5*(A1)$) [left] {$z_1$};
+\node[color=blue] at ($0.5*(A1)+0.5*(A2)$) [left] {$z_2$};
+\node[color=blue] at ($0.5*(A2)+0.5*(A3)$) [above] {$z_3$};
+\node[color=blue] at ($0.5*(A3)+0.5*(A4)$) [above] {$z_4$};
+\node[color=blue] at ($0.5*(A4)+0.5*(A5)$) [below right] {$z_5$};
+\node[color=blue] at ($0.5*(A5)+0.5*(A6)$) [left] {$z_6$};
+\node[color=blue] at ($0.5*(A6)+0.5*(A7)$) [left] {$z_7$};
+\node[color=blue] at ($0.5*(A7)+0.5*(A8)$) [above] {$z_8$};
+\node[color=blue] at ($0.5*(A8)+0.5*(A9)$) [left] {$z_9$};
+\node[color=blue] at ($0.5*(A9)+0.5*(A10)$) [above] {$z_{10}$};
+\node[color=blue] at ($0.8*(A10)$) [rotate=35,below] {$\displaystyle\sum_{i=1}^n z_i$};
+
+\draw[->,color=red] (O) -- (B10);
+\fill[color=red] (B1) circle[radius=0.05];
+\fill[color=red] (B2) circle[radius=0.05];
+\fill[color=red] (B3) circle[radius=0.05];
+\fill[color=red] (B4) circle[radius=0.05];
+\fill[color=red] (B5) circle[radius=0.05];
+\fill[color=red] (B6) circle[radius=0.05];
+\fill[color=red] (B7) circle[radius=0.05];
+\fill[color=red] (B8) circle[radius=0.05];
+\fill[color=red] (B9) circle[radius=0.05];
+\fill[color=red] (B10) circle[radius=0.05];
+
+\node[color=red] at ($0.5*(B1)$) [above] {$|z_1|c$};
+\node[color=red] at ($0.5*(B1)+0.5*(B2)$) [above] {$|z_2|c$};
+\node[color=red] at ($0.5*(B2)+0.5*(B3)$) [above] {$|z_3|c$};
+\node[color=red] at ($0.5*(B3)+0.5*(B4)$) [above] {$|z_4|c$};
+\node[color=red] at ($0.5*(B4)+0.5*(B5)$) [above] {$|z_5|c$};
+\node[color=red] at ($0.5*(B5)+0.5*(B6)$) [above] {$|z_6|c$};
+\node[color=red] at ($0.5*(B6)+0.5*(B7)$) [above] {$|z_7|c$};
+\node[color=red] at ($0.5*(B7)+0.5*(B8)$) [above] {$|z_8|c$};
+\node[color=red] at ($0.5*(B8)+0.5*(B9)$) [above] {$|z_9|c$};
+\node[color=red] at ($0.5*(B9)+0.5*(B10)$) [above] {$|z_{10}|c$};
+
+\node[color=red] at ($0.8*(B10)$) [rotate=20,below] {$\displaystyle c\sum_{i=1}^n |z_i|$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/positiv.jpg b/buch/chapters/80-wahrscheinlichkeit/images/positiv.jpg
new file mode 100644
index 0000000..53544cb
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/positiv.jpg
Binary files differ
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/positiv.m b/buch/chapters/80-wahrscheinlichkeit/images/positiv.m
new file mode 100644
index 0000000..4dca950
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/positiv.m
@@ -0,0 +1,36 @@
+#
+# positiv.m
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+N = 10;
+p = 0.2;
+
+A = eye(3) + p * rand(3,3);
+A = [
+ 1, 0.2, 0.2;
+ 0.1, 1, 0.1;
+ 0.05, 0.05, 1
+];
+B = eye(3);
+
+function retval = punkt(x)
+ retval = sprintf("<%.4f,%.4f,%.4f>", x(1), x(3), x(2));
+end
+
+fn = fopen("quadrant.inc", "w");
+for i = (1:N)
+ fprintf(fn, "quadrant(%s,%s,%s)\n",
+ punkt(B(:,1)), punkt(B(:,2)), punkt(B(:,3)))
+ B = B * A;
+end
+
+x = [ 1; 1; 1 ];
+for i = (1:100)
+ x = A * x;
+ x = x / norm(x);
+end
+fprintf(fn, "eigenvektor(<%.4f, %.4f, %.4f>)\n", x(1), x(3), x(2));
+
+
+fclose(fn);
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/positiv.png b/buch/chapters/80-wahrscheinlichkeit/images/positiv.png
new file mode 100644
index 0000000..a2bd9bf
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/positiv.png
Binary files differ
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/positiv.pov b/buch/chapters/80-wahrscheinlichkeit/images/positiv.pov
new file mode 100644
index 0000000..9197498
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/positiv.pov
@@ -0,0 +1,137 @@
+//
+// diffusion.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+
+global_settings {
+ assumed_gamma 1
+}
+
+#declare imagescale = 0.077;
+#declare N = 30;
+#declare vscale = 10;
+#declare r = 0.04;
+
+camera {
+ location <43, 20, -20>
+ look_at <1, 0.83, 2.5>
+ right 16/9 * x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <40, 20, -10> color White
+ area_light <1,0,0> <0,0,1>, 10, 10
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+//
+// draw an arrow from <from> to <to> with thickness <arrowthickness> with
+// color <c>
+//
+#macro arrow(from, to, arrowthickness, c)
+#declare arrowdirection = vnormalize(to - from);
+#declare arrowlength = vlength(to - from);
+union {
+ sphere {
+ from, 1.1 * arrowthickness
+ }
+ cylinder {
+ from,
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ arrowthickness
+ }
+ cone {
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ 2 * arrowthickness,
+ to,
+ 0
+ }
+ pigment {
+ color c
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+arrow(<0,0,0>, <3,0,0>, r, White)
+arrow(<0,0,0>, <0,3,0>, r, White)
+arrow(<0,0,0>, <0,0,3>, r, White)
+
+#macro quadrant(A, B, C)
+intersection {
+ sphere { <0, 0, 0>, 1
+ matrix <A.x, A.y, A.z,
+ B.x, B.y, B.z,
+ C.x, C.y, C.z,
+ 0, 0, 0 >
+ }
+ plane { vnormalize(vcross(A, B)), 0 }
+ plane { vnormalize(vcross(B, C)), 0 }
+ plane { vnormalize(vcross(C, A)), 0 }
+ pigment {
+ //color rgbf<0.8,1,1,0.7>
+ color rgb<0.8,1,1>
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro eigenvektor(E)
+union {
+ cylinder { -E, 8 * E, r }
+ #declare r0 = 0.7 * r;
+
+ sphere { 3 * < 0, E.y, E.z >, r0 }
+ sphere { 3 * < E.x, 0, E.z >, r0 }
+ sphere { 3 * < E.x, E.y, 0 >, r0 }
+ sphere { 3 * E, r0 }
+
+ cylinder { 3*< E.x, 0, 0 >, 3*< E.x, 0, E.z >, r0 }
+ cylinder { 3*< E.x, 0, 0 >, 3*< E.x, E.y, 0 >, r0 }
+ cylinder { 3*< 0, E.y, 0 >, 3*< E.x, E.y, 0 >, r0 }
+ cylinder { 3*< 0, E.y, 0 >, 3*< 0, E.y, E.z >, r0 }
+ cylinder { 3*< 0, 0, E.z >, 3*< 0, E.y, E.z >, r0 }
+ cylinder { 3*< 0, 0, E.z >, 3*< E.x, 0, E.z >, r0 }
+
+ cylinder { 3*< E.x, E.y, 0 >, 3*E, r0 }
+ cylinder { 3*< 0, E.y, E.z >, 3*E, r0 }
+ cylinder { 3*< E.x, 0, E.z >, 3*E, r0 }
+ pigment {
+ color rgb<1,0.6,1>*0.6
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#include "quadrant.inc"
+
+//union {
+// pigment {
+// color rgb<0.8,1,1>*0.6
+// }
+// finish {
+// specular 0.9
+// metallic
+// }
+//}
+
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/trenn.pdf b/buch/chapters/80-wahrscheinlichkeit/images/trenn.pdf
new file mode 100644
index 0000000..f4fa58f
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/trenn.pdf
Binary files differ
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/trenn.tex b/buch/chapters/80-wahrscheinlichkeit/images/trenn.tex
new file mode 100644
index 0000000..f34879c
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/trenn.tex
@@ -0,0 +1,44 @@
+%
+% trenn.tex -- Trenntrick graphische Darstellung
+%
+% (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}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\def\d{6}
+
+\coordinate (u) at (5,3);
+\coordinate (v) at (3,1);
+\coordinate (ve) at (5,1.666);
+
+\fill[color=gray!40] (0,0) rectangle (u);
+
+\begin{scope}
+\clip (0,0) rectangle (6.1,4.1);
+\draw[color=red] (0,0) -- (9,3);
+\end{scope}
+
+\draw[->] (-0.1,0) -- (6.3,0) coordinate[label={$x_1$}];
+\draw[->] (0,-0.1) -- (0,4.3) coordinate[label={right:$x_2$}];
+
+\fill (u) circle[radius=0.05];
+\node at (u) [above right] {$u$};
+
+\fill (v) circle[radius=0.05];
+\node at (v) [above right] {$v$};
+
+\fill[color=red] (ve) circle[radius=0.05];
+\node[color=red] at (ve) [above,rotate={atan(1/3)}] {$(1+\varepsilon)v$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.jpg b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.jpg
new file mode 100644
index 0000000..3274f42
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.jpg
Binary files differ
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdf b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdf
new file mode 100644
index 0000000..feb19a2
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdf
Binary files differ
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.png b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.png
new file mode 100644
index 0000000..f20bd48
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.png
Binary files differ
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pov b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pov
new file mode 100644
index 0000000..e696481
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pov
@@ -0,0 +1,203 @@
+//
+// diffusion.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+#include "textures.inc"
+#include "transforms.inc"
+
+global_settings {
+ assumed_gamma 1
+}
+
+#declare imagescale = 0.077;
+#declare N = 30;
+#declare vscale = 10;
+#declare r = 0.04;
+
+camera {
+ location <43, 20, -20>
+ look_at <1, 0.83, 2.5>
+ right 16/9 * x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <20, 60, -80> color White
+ area_light <1,0,0> <0,0,1>, 40, 40
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+//
+// draw an arrow from <from> to <to> with thickness <arrowthickness> with
+// color <c>
+//
+#macro arrow(from, to, arrowthickness, c)
+#declare arrowdirection = vnormalize(to - from);
+#declare arrowlength = vlength(to - from);
+union {
+ sphere {
+ from, 1.1 * arrowthickness
+ }
+ cylinder {
+ from,
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ arrowthickness
+ }
+ cone {
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ 2 * arrowthickness,
+ to,
+ 0
+ }
+ pigment {
+ color c
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#declare O = <0,0,0>;
+#declare Ex = <1,0,0>;
+#declare Ey = <0,1,0>;
+#declare Ez = <0,0,1>;
+#declare s = 3;
+
+#declare A_transformation = Matrix_Trans(<1.0300,0.2050,0.1050>,<0.4100,1.0250,0.1100>,<0.4200,0.2200,1.0150>,<0,0,0>);
+//#declare A_transformation = Matrix_Trans(<1.0300,0.2050,0.1050>,<0.4100,1.0250,0.1100>,<0.4200,0.2200,0.5150>,<0,0,0>);
+
+arrow(O, s * Ex, r, rgb<0.6,0.2,0.4>)
+arrow(O, s * Ez, r, rgb<0.2,0.4,0.2>)
+arrow(O, s * Ey, r, rgb<0.2,0.2,0.4>)
+
+#declare A = vtransform(Ex, A_transformation);
+#declare B = vtransform(Ey, A_transformation);
+#declare C = vtransform(Ez, A_transformation);
+
+#macro quadrant(rad)
+intersection {
+ sphere { <0, 0, 0>, rad
+ //A_transformation
+ matrix <A.x, A.y, A.z,
+ B.x, B.y, B.z,
+ C.x, C.y, C.z,
+ 0, 0, 0 >
+ }
+ plane { vnormalize(-vcross(A, B)), 0 }
+ plane { vnormalize(-vcross(B, C)), 0 }
+ plane { vnormalize(-vcross(C, A)), 0 }
+ pigment {
+ color rgbf<0.8,1,1,0.5>
+ //color rgb<0.8,1,1>
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+union {
+ cylinder { O, s*A, 0.3*r }
+ sphere { s*A, 0.3*r }
+ cylinder { O, s*B, 0.3*r }
+ sphere { s*B, 0.3*r }
+ cylinder { O, s*C, 0.3*r }
+ sphere { s*C, 0.3*r }
+ pigment {
+ color White
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#declare d = 3;
+//union {
+// plane { <0, 1, 0>, -d }
+// plane { <1, 0, 0>, -d }
+// pigment {
+// color Gray
+// }
+// finish {
+// specular 0.9
+// }
+//}
+
+quadrant(s)
+
+#declare V = < 1, 1, 0 >;
+#declare U = < 1.3, 2.5, 0 >;
+
+#declare VV = vtransform(V, A_transformation);
+#declare Vx = vtransform(<V.x, 0, 0>, A_transformation);
+#declare Vy = vtransform(<0, V.y, 0>, A_transformation);
+#declare UU = vtransform(U, A_transformation);
+#declare Ux = vtransform(<U.x, 0, 0>, A_transformation);
+#declare Uy = vtransform(<0, U.y, 0>, A_transformation);
+
+union {
+ sphere { V, r }
+ sphere { U, r }
+ cylinder { U, V, 0.5*r }
+ pigment {
+ color Red
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+union {
+ cylinder { < U.x, 0, 0 >, < U.x, U.y, 0>, 0.3 * r }
+ cylinder { < V.x, 0, 0 >, < V.x, V.y, 0>, 0.3 * r }
+ cylinder { < 0, U.y, 0 >, < U.x, U.y, 0>, 0.3 * r }
+ cylinder { < 0, V.y, 0 >, < V.x, V.y, 0>, 0.3 * r }
+ pigment {
+ color rgb<1, 0.6, 1>
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+union {
+ sphere { VV, r }
+ sphere { UU, r }
+ cylinder { UU, VV, 0.5*r }
+ pigment {
+ color Yellow
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+union {
+ cylinder { Ux, UU, 0.3 * r }
+ cylinder { Uy, UU, 0.3 * r }
+ cylinder { Vx, VV, 0.3 * r }
+ cylinder { Vy, VV, 0.3 * r }
+ pigment {
+ color rgb<1, 1, 0.6>
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.tex b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.tex
new file mode 100644
index 0000000..23d7d66
--- /dev/null
+++ b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.tex
@@ -0,0 +1,46 @@
+%
+% vergleich.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{txfonts}
+\usepackage[utf8]{inputenc}
+\usepackage{graphics}
+\usetikzlibrary{arrows,intersections,math}
+\usepackage{ifthen}
+\begin{document}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{5}
+\def\hoehe{5}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=10cm]{vergleich.jpg}};
+
+\node at (-1.3,-4.8) [right] {$x_1$};
+\node[opacity=0.5] at (1.9,-0.9) [right] {$x_2$};
+\node at (-4.6,4.7) [right] {$x_3$};
+
+\node at (-3.2,2.6) [above] {$u$};
+\node at (-3.5,-0.7) [below left] {$v$};
+\node at (-1,2.8) [above] {$Au$};
+\node at (-2.6,-0.5) [below] {$Av$};
+
+% Gitter
+\ifthenelse{\boolean{showgrid}}{
+\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw (-\breite,-\hoehe) grid (\breite, \hoehe);
+\fill (0,0) circle[radius=0.05];
+}{}
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/chapters/80-wahrscheinlichkeit/positiv.tex b/buch/chapters/80-wahrscheinlichkeit/positiv.tex
index f956374..935aa2d 100644
--- a/buch/chapters/80-wahrscheinlichkeit/positiv.tex
+++ b/buch/chapters/80-wahrscheinlichkeit/positiv.tex
@@ -40,6 +40,10 @@ seine Komponenten nicht negativ sind: $v_i\ge 0\forall i$.
\index{nichtnegativer Vektor}%
\end{definition}
+Geometrisch kann man sich die Menge der positven Vektoren in zwei Dimensionen
+als die Punkte des ersten Quadranten oder in drei Dimensionen als die
+Vektoren im ersten Oktanten vorstellen.
+
Aus der Positivität eines Vektors lässt sich jetzt eine Vergleichsrelation
für beliebige Vektoren ableiten.
Mit der folgenden Definition wird erreicht, das mit Ungleichungen für Vektoren
@@ -177,6 +181,22 @@ ist, dass die Positivität sich manchmal ``upgraden'' lässt,
wie im folgenden Satz.
Er zeigt, dass ein Vektor, der grösser ist als ein anderer, auch
um einen definierten Faktor $>1$ grösser ist.
+Dies wird geometrisch in
+Abbildung~\ref{buch:wahrscheinlichkeit:figure:trenn} illustriert.
+
+\begin{figure}
+\centering
+\includegraphics{chapters/80-wahrscheinlichkeit/images/trenn.pdf}
+\caption{Die Vektoren $w\le u$ liegen im grauen Rechteck.
+Zwei nichtnegative Vektoren $u$ und $v$ mit $u>v$
+haben keine gleichen Komponenten.
+Daher kann man $v$ mit einer Zahl $\vartheta=1+\varepsilon > 1$
+strecken, so dass der gestreckte Vektor $(1+\varepsilon)v$ gerade noch
+im grauen Rechteck liegt: $u\ge (1+\varepsilon)v$.
+Streckung mit einem grösseren Faktor führt dagegen aus dem Rechteck
+hinaus.
+\label{buch:wahrscheinlichkeit:figure:trenn}}
+\end{figure}
\begin{satz}[Trenntrick]
\label{buch:wahrscheinlichkeit:satz:trenntrick}
@@ -207,12 +227,26 @@ derart, dass $u_i = (1+\varepsilon)v_i$.
Diese Komponenten limitiert also, wie stark man $v$ strecken kann,
so dass er immer noch $\le u$ ist.
Natürlich folgt aus den der Voraussetzung $u>v$ auch, dass $u$ ein
-positiver Vektor ist.
+positiver Vektor ist (Abbildung~\ref{buch:wahrscheinlichkeit:figure:trenn}).
+
+\begin{figure}
+\centering
+\includegraphics{chapters/80-wahrscheinlichkeit/images/vergleich.pdf}
+\caption{Eine positive Matrix $A$ bildet nichtnegative Vektoren in
+positive Vektoren ab
+(Korollar~\ref{buch:wahrscheinlichkeit:satz:Au>0korollar}).
+Zwei verschiedene Vektoren auf einer Seitenfläche erfüllen $u\ge v$,
+aber nicht $u>v$, da sie sich in der Koordinaten $x_2$ nicht unterscheiden.
+Die Bilder unter $A$ unterscheiden sich dann auch in $x_2$, es gilt
+$Au>Av$ (siehe auch Satz~\ref{buch:wahrscheinlichkeit:satz:vergleichstrick})
+\label{buch:wahrscheinlichkeit:fig:vergleich}}
+\end{figure}
\begin{satz}[Vergleichstrick]
\label{buch:wahrscheinlichkeit:satz:vergleichstrick}
Sei $A$ eine positive Matrix und seinen $u$ und $v$ Vektoren
-mit $u\ge v$ und $u\ne v$, dann ist $Au > Av$.
+mit $u\ge v$ und $u\ne v$, dann ist $Au > Av$
+(siehe auch Abbildung~\ref{buch:wahrscheinlichkeit:fig:vergleich}).
\end{satz}
\begin{proof}[Beweis]
@@ -269,6 +303,21 @@ $t$ mit $u=tv$.
Wir brauchen eine Verallgemeinerung für eine grössere Zahl von
Summanden.
+\begin{figure}
+\centering
+\includegraphics{chapters/80-wahrscheinlichkeit/images/dreieck.pdf}
+\caption{Die verallgemeinerte Dreiecksungleichung von
+Satz~\ref{buch:wahrscheinlichkeit:satz:verallgemeinerte-dreiecksungleichung}
+besagt, dass
+die Länge einer Summe von Vektoren (blau) höchstens so gross ist wie die
+Summe der Längen, mit Gleichheit genau dann, wenn alle Vektoren die
+gleiche Richtung haben (rot).
+Hier dargestellt am Beispiel von Zahlen in der komplexen Zahlenebene.
+In dieser Form wird die verallgemeinerte Dreiecksungleichung in
+Satz~\ref{buch:wahrscheinlichkeit:satz:verallgdreieckC}
+\label{buch:wahrscheinlichkeit:fig:dreieck}}
+\end{figure}
+
\begin{satz}[Verallgemeinerte Dreiecksungleichung]
\label{buch:wahrscheinlichkeit:satz:verallgemeinerte-dreiecksungleichung}
Für $n$ Vektoren $v_i\ne 0$ gilt
@@ -276,7 +325,8 @@ Für $n$ Vektoren $v_i\ne 0$ gilt
|u_1+\dots+u_n| \le |u_1|+\dots+|u_n|
\]
mit Gleichheit genau dann, wenn alle Vektoren nichtnegative Vielfache
-eines gemeinsamen Einheitsvektors $c$ sind: $u_i=|u_i|c$.
+eines gemeinsamen Einheitsvektors $c$ sind: $u_i=|u_i|c$
+(siehe auch Abbildung~\ref{buch:wahrscheinlichkeit:fig:dreieck}).
\end{satz}
\begin{proof}[Beweis]
@@ -310,6 +360,7 @@ Damit ist der Induktionsschritt vollzogen.
\end{proof}
\begin{satz}
+\label{buch:wahrscheinlichkeit:satz:verallgdreieckC}
Seien $a_1,\dots,a_n$ positive Zahlen und $u_i\in\mathbb C$ derart,
dass
\[
@@ -454,7 +505,7 @@ $v$ ein nichtnegativer Eigenvektor.
\end{proof}
\begin{satz}
-Sei $A$ ein positive Matrix und $v$ ein Eigenvektor zu einem
+Sei $A$ eine positive Matrix und $v$ ein Eigenvektor zu einem
Eigenwert $\lambda$ mit Betrag $|\lambda|=\varrho(A)$.
Dann ist $\lambda=\varrho(A)$.
\end{satz}
@@ -609,9 +660,24 @@ bis
gefundenen Resultate können wir folgt zusammengefasst werden:
\begin{satz}[Perron-Frobenius]
+\label{buch:wahrscheinlichkeit:satz:perron-frobenius}
Sei $A$ eine positive Matrix mit Spektralradius $\varrho(A)$.
Dann gibt es einen positiven Eigenvektor zum Eigenwert $\varrho(A)$,
mit geometrischer und algebraischer Vielfachheit $1$.
\end{satz}
+Der Satz~\ref{buch:wahrscheinlichkeit:satz:perron-frobenius}
+von Perron-Frobenius kann auf primitive Matrizen verallgemeinert
+werden.
+\begin{satz}
+Sei $A$ ein primitive, nichtnegative Matrix.
+Dann ist $\varrho(A)$ der einzige Eigenwert vom Betrag $\varrho(A)$
+und er hat geometrische und algebraische Vielfachheit $1$.
+\end{satz}
+
+\begin{proof}[Beweis]
+Nach Voraussetzung gibt es ein $n$ derart, dass $A^n>0$.
+Für $A^n$ gelten die Resultate von
+Satz~\ref{buch:wahrscheinlichkeit:satz:perron-frobenius}.
+\end{proof}