diff options
author | Andreas Müller <andreas.mueller@ost.ch> | 2021-01-26 13:11:37 +0100 |
---|---|---|
committer | Andreas Müller <andreas.mueller@ost.ch> | 2021-01-26 13:11:37 +0100 |
commit | a503cc5c7fcbb125ec7c220845b9e760248db233 (patch) | |
tree | 1eea3a0beeb25babc0725182e208a3dff64b36ac /buch/chapters | |
parent | Perron-Frobenius Theorie (diff) | |
download | SeminarMatrizen-a503cc5c7fcbb125ec7c220845b9e760248db233.tar.gz SeminarMatrizen-a503cc5c7fcbb125ec7c220845b9e760248db233.zip |
Visualisierungen für Perron-Frobenius-Theorie
Diffstat (limited to '')
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 Binary files differnew file mode 100644 index 0000000..f4c6294 --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/diffusion.png 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 Binary files differnew file mode 100644 index 0000000..0cca2e1 --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.pdf 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 Binary files differnew file mode 100644 index 0000000..53544cb --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/positiv.jpg 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 Binary files differnew file mode 100644 index 0000000..a2bd9bf --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/positiv.png 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 Binary files differnew file mode 100644 index 0000000..f4fa58f --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/trenn.pdf 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 Binary files differnew file mode 100644 index 0000000..3274f42 --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.jpg diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdf b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdf Binary files differnew file mode 100644 index 0000000..feb19a2 --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdf diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.png b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.png Binary files differnew file mode 100644 index 0000000..f20bd48 --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.png 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} |