aboutsummaryrefslogtreecommitdiffstats
path: root/buch
diff options
context:
space:
mode:
authorAndreas Müller <andreas.mueller@ost.ch>2021-09-26 20:03:41 +0200
committerAndreas Müller <andreas.mueller@ost.ch>2021-09-26 20:03:41 +0200
commit5388a7aad33813f7795d601ce7a2ae21fddd9590 (patch)
treeffd7d152b30635e42709fd2aae0ef5d72e0eee01 /buch
parentadd torus image (diff)
downloadSeminarMatrizen-5388a7aad33813f7795d601ce7a2ae21fddd9590.tar.gz
SeminarMatrizen-5388a7aad33813f7795d601ce7a2ae21fddd9590.zip
torus perfektioniert
Diffstat (limited to 'buch')
-rw-r--r--buch/chapters/95-homologie/basiswahl.tex74
-rw-r--r--buch/chapters/95-homologie/torus/Makefile2
-rw-r--r--buch/chapters/95-homologie/torus/torus.jpgbin168494 -> 506467 bytes
-rw-r--r--buch/chapters/95-homologie/torus/torus.m25
-rw-r--r--buch/chapters/95-homologie/torus/torus.pngbin272544 -> 1440868 bytes
-rw-r--r--buch/chapters/95-homologie/torus/torus.pov23
6 files changed, 86 insertions, 38 deletions
diff --git a/buch/chapters/95-homologie/basiswahl.tex b/buch/chapters/95-homologie/basiswahl.tex
index 391ebf2..31ec208 100644
--- a/buch/chapters/95-homologie/basiswahl.tex
+++ b/buch/chapters/95-homologie/basiswahl.tex
@@ -664,32 +664,6 @@ liegenden Vektoren ausdrücken lassen.
Die auszuwählenden Vektoren sind daher genau diejenigen, die für
$\mathcal{Z}_k'$ ausgewählt werden müssen.
-Um den Algorithmus durchzuführen, bilden wir daher das Gauss-Tableau
-in Abbildung~\ref{buch:homologie:beispiel:gausstableau},
-bestehend aus den Vektoren $\partial_2e_i^{(2)}$ in den ersten 9
-Zeilen und den Zyklen $z_1,\dots,z_{13}$ in den folgenden 13 Zeilen.
-Das reduzierte Tableau nach der Vorwärtsreduktion ist in
-Abbildung~\ref{buch:homologie:beispiel:gausstableaureduziert}
-dargestellt, amn erkennt, dass die Zyklen $z_1$ bis $z_4$, $z_7$ und $z_8$,
-$z_9$ und $z_{10}$ sowie $z_{13}$ weggelassen werden müssen.
-Es bleiben die folgenden Zyklen:
-\begin{center}
-\begin{tabular}{>{$}l<{$}l}
-\text{Zyklus}&Eigenschaft\\
-\hline
-z_5 &Zyklus umschliesst das kleine weisse Dreieck links unten\\
-z_6 &Zyklus umschliesst das kleine weisse Dreieck rechts unten\\
-z_9 &Zyklus umschliesst das grosse weisse Dreieck\\
-z_{12}&Zyklus umschliesst das kleine weisse Dreicke oben\\
-\hline
-\end{tabular}
-\end{center}
-Die Zyklen, die nach der Reduktion übrig bleiben, sind in
-Abbildung~\ref{buch:homologie:beispiel:homoclasses} zusammengestellt.
-Jede solche Klasse entspricht genau einem der ``Löcher'', der weissen
-Dreiecke.
-Die Homologie kann man also als eine exakte Version der Idee eines
-Vektorraums erzeugt von den ``Löchern'' eines Polygons verstehen.
\begin{figure}
\centering
@@ -804,6 +778,43 @@ also genau ein weisses Dreieck.
\label{buch:homologie:beispiel:homoclasses}}
\end{figure}
+\begin{figure}
+\centering
+\includegraphics[width=\textwidth]{chapters/95-homologie/torus/torus.jpg}
+\caption{Basis der Homologiegruppen eines Torus $T^2$.
+Der Algorithmus findet zwei Basisklassen für $H(T^2)$, der eine Zyklus
+geht durch das ``Loch'' des Torus (blau), der andere folgt mehr oder
+weniger dem Äquator.
+\label{buch:homologie:fig:torus}}
+\end{figure}
+
+Um den Algorithmus durchzuführen, bilden wir daher das Gauss-Tableau
+in Abbildung~\ref{buch:homologie:beispiel:gausstableau},
+bestehend aus den Vektoren $\partial_2e_i^{(2)}$ in den ersten 9
+Zeilen und den Zyklen $z_1,\dots,z_{13}$ in den folgenden 13 Zeilen.
+Das reduzierte Tableau nach der Vorwärtsreduktion ist in
+Abbildung~\ref{buch:homologie:beispiel:gausstableaureduziert}
+dargestellt, amn erkennt, dass die Zyklen $z_1$ bis $z_4$, $z_7$ und $z_8$,
+$z_9$ und $z_{10}$ sowie $z_{13}$ weggelassen werden müssen.
+Es bleiben die folgenden Zyklen:
+\begin{center}
+\begin{tabular}{>{$}l<{$}l}
+\text{Zyklus}&Eigenschaft\\
+\hline
+z_5 &Zyklus umschliesst das kleine weisse Dreieck links unten\\
+z_6 &Zyklus umschliesst das kleine weisse Dreieck rechts unten\\
+z_9 &Zyklus umschliesst das grosse weisse Dreieck\\
+z_{12}&Zyklus umschliesst das kleine weisse Dreicke oben\\
+\hline
+\end{tabular}
+\end{center}
+Die Zyklen, die nach der Reduktion übrig bleiben, sind in
+Abbildung~\ref{buch:homologie:beispiel:homoclasses} zusammengestellt.
+Jede solche Klasse entspricht genau einem der ``Löcher'', der weissen
+Dreiecke.
+Die Homologie kann man also als eine exakte Version der Idee eines
+Vektorraums erzeugt von den ``Löchern'' eines Polygons verstehen.
+
\subsubsection{Basis von $H_k(C)$}
Die im vorangegangenen Abschnitt konstruierte Basis kann jetzt auch
dazu verwendet werden, eine Basis von $H_k(C)$ zu finden.
@@ -815,3 +826,14 @@ von $H_k(C)$.
Die von obigem Algorithmus ausgewählten Zyklen bilden also automatisch
eine Basis von Zyklen, die nicht Rand irgend einer Kette in $C_{k+1}$
sein können.
+
+
+Führt man das beschriebene Verfahren für einen zweidimensionalen Torus $T^2$ durch,
+findet es die beiden in Abbildung~\ref{buch:homologie:fig:torus} dargestellten
+Zyklen.
+Sie zeigen schön, wie die Homologieklassen die beiden Arten von ``Löchern''
+erkennen.
+Zum einen ist da der blaue Zyklus, der das ``Loch'' im inneren des Torus
+umschliesst.
+Der rote Zyklus dagegen folgt mehr oder weniger dem Äquator und repräsentiert
+damit die ``Ringform'' des Torus.
diff --git a/buch/chapters/95-homologie/torus/Makefile b/buch/chapters/95-homologie/torus/Makefile
index 4eb1381..8671ede 100644
--- a/buch/chapters/95-homologie/torus/Makefile
+++ b/buch/chapters/95-homologie/torus/Makefile
@@ -12,4 +12,4 @@ torus.png: torus.pov torus.inc
povray +A0.1 -W1920 -H1080 -Otorus.png torus.pov
torus.jpg: torus.png Makefile
- convert -extract 1624x970+150+78 torus.png torus.jpg
+ convert -extract 1624x978+147+75 torus.png torus.jpg
diff --git a/buch/chapters/95-homologie/torus/torus.jpg b/buch/chapters/95-homologie/torus/torus.jpg
index eaa92d9..d5f8ca7 100644
--- a/buch/chapters/95-homologie/torus/torus.jpg
+++ b/buch/chapters/95-homologie/torus/torus.jpg
Binary files differ
diff --git a/buch/chapters/95-homologie/torus/torus.m b/buch/chapters/95-homologie/torus/torus.m
index 00134d7..64a615e 100644
--- a/buch/chapters/95-homologie/torus/torus.m
+++ b/buch/chapters/95-homologie/torus/torus.m
@@ -5,9 +5,9 @@
#
global n;
-n = 24;
+n = 32;
global m;
-m = 12;
+m = 18;
global R;
R = 3;
global r;
@@ -51,10 +51,10 @@ coordinates
function insert_edges(ll, lr, ul, ur)
global edges;
k = 3 * ll + 1;
- edges(k,1) = ll;
- edges(k,2) = lr;
edges(k+1,1) = ll;
- edges(k+1,2) = ur;
+ edges(k+1,2) = lr;
+ edges(k+0,1) = ll;
+ edges(k+0,2) = ur;
edges(k+2,1) = ll;
edges(k+2,2) = ul;
endfunction
@@ -330,5 +330,20 @@ endfor
fprintf(fn, " }\n");
fprintf(fn, "#end\n");
+fprintf(fn, "#macro triangulation()\n");
+fprintf(fn, " union {\n");
+for i = (1:nvertices)
+ punkt = coordinates(i,:);
+ fprintf(fn, "\tsphere { <%.4f,%.4f,%.4f>, r/3 }\n", punkt(1,1), punkt(1,3), punkt(1,2));
+endfor
+for i = (1:nedges)
+ punkt1 = coordinates(edges(i,1)+1,:);
+ punkt2 = coordinates(edges(i,2)+1,:);
+ fprintf(fn, "\tcylinder { <%.4f,%.4f,%.4f>, ", punkt1(1,1), punkt1(1,3), punkt1(1,2));
+ fprintf(fn, "<%.4f,%.4f,%.4f>, r/3 }\n", punkt2(1,1), punkt2(1,3), punkt2(1,2));
+endfor
+fprintf(fn, " }\n");
+fprintf(fn, "#end\n");
+
fclose(fn);
diff --git a/buch/chapters/95-homologie/torus/torus.png b/buch/chapters/95-homologie/torus/torus.png
index 814c466..bcd28bc 100644
--- a/buch/chapters/95-homologie/torus/torus.png
+++ b/buch/chapters/95-homologie/torus/torus.png
Binary files differ
diff --git a/buch/chapters/95-homologie/torus/torus.pov b/buch/chapters/95-homologie/torus/torus.pov
index 292ad00..1c507f8 100644
--- a/buch/chapters/95-homologie/torus/torus.pov
+++ b/buch/chapters/95-homologie/torus/torus.pov
@@ -11,17 +11,17 @@ global_settings {
}
#declare imagescale = 0.1;
-#declare r = 0.03;
+#declare r = 0.04;
camera {
- location <43, 25, -20>
+ location <43, 25, 20>
look_at <0, 0, 0>
right 16/9 * x * imagescale
up y * imagescale
}
light_source {
- <10, 20, -40> color White
+ <10, 20, 0> color White
area_light <1,0,0> <0,0,1>, 10, 10
adaptive 1
jitter
@@ -38,7 +38,7 @@ sky_sphere {
object {
torusflaeche()
pigment {
- color rgbt<0.8,0.8,0.8,0.5>
+ color rgbt<0.8,0.8,0.8,0.3>
}
finish {
specular 0.9
@@ -49,7 +49,7 @@ object {
object {
zyklus1()
pigment {
- color Red
+ color rgb<1.0,0.2,0.2>
}
finish {
specular 0.9
@@ -60,7 +60,18 @@ object {
object {
zyklus2()
pigment {
- color Blue
+ color rgb<0.2,0.2,1.0>
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+object {
+ triangulation()
+ pigment {
+ color rgb<0.8,0.6,0.4>
}
finish {
specular 0.9