diff options
author | Nunigan <37363304+Nunigan@users.noreply.github.com> | 2021-08-23 11:01:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-23 11:01:22 +0200 |
commit | 82a3f1c97dabda9725ba3292bb31ad6784abb22a (patch) | |
tree | 8c8cceb53490d0cff02cae1543fcc43661ef999b /buch | |
parent | update (diff) | |
parent | typo (diff) | |
download | SeminarMatrizen-82a3f1c97dabda9725ba3292bb31ad6784abb22a.tar.gz SeminarMatrizen-82a3f1c97dabda9725ba3292bb31ad6784abb22a.zip |
Merge branch 'AndreasFMueller:master' into master
Diffstat (limited to '')
37 files changed, 2914 insertions, 678 deletions
diff --git a/buch/chapters/95-homologie/Makefile.inc b/buch/chapters/95-homologie/Makefile.inc index 41b1569..3b2b50c 100644 --- a/buch/chapters/95-homologie/Makefile.inc +++ b/buch/chapters/95-homologie/Makefile.inc @@ -8,7 +8,11 @@ CHAPTERFILES = $(CHAPTERFILES) \ chapters/95-homologie/simplex.tex \ chapters/95-homologie/komplex.tex \ chapters/95-homologie/homologie.tex \ + chapters/95-homologie/homologieketten.tex \ + chapters/95-homologie/basiswahl.tex \ chapters/95-homologie/fixpunkte.tex \ + chapters/95-homologie/eulerchar.tex \ + chapters/95-homologie/induzierteabb.tex \ chapters/95-homologie/chapter.tex diff --git a/buch/chapters/95-homologie/basiswahl.tex b/buch/chapters/95-homologie/basiswahl.tex new file mode 100644 index 0000000..6cf49c2 --- /dev/null +++ b/buch/chapters/95-homologie/basiswahl.tex @@ -0,0 +1,812 @@ +\subsection{Basiswahl +\label{buch:subsection:basiswahl}} +Die Definition der Homologiegruppen $H_k(C)$ als Quotient von +Vektorräumen ist ziemlich abstrakt. +Sie besteht aus Klassen von Zyklen, die sich höchstens um einen +Rand unterscheiden. +% XXX Verweise auf Visualisierung +Indem wir eine geeignete Basis wählen, können wir konkrete Zyklen +identifizieren, die eine Basis für den Vektorraum $H_k(C)$ bilden. + +\begin{figure} +\centering +\includegraphics{chapters/95-homologie/images/gausshomoex.pdf} +\caption{Beispiel für die Berechnung von Basisvektoren und Homologieklassen +mit Hilfe des Gauss-Algorithmus +\label{buch:homologie:fig:gausshomoex}} +\end{figure} + +\subsubsection{Basis von $Z_k(C)$} +Um eine Basis für $H_k(C)$ zu konstruieren, ist es zunächst nötig, +eine Basis der Zyklen $Z_k(C)$ zu bestimmen. +Ausgehend von einer beliebigen Basis der $C_k$ und einer +zugehörigen Darstellung des Randoperators $\partial_k$ als +Matrix, kann eine Basis von Zyklen mit Hilfe des Gauss-Algorithmus +gefunden werden. +Wir bezeichnen die Menge dieser Zyklen mit +\[ +\mathcal{Z}_k += +\{ +z_1^{(k)}, +z_2^{(k)}, +\dots, +z_l^{(k)} +\}. +\] +$\mathcal{Z}_k$ erzeugt den $l$-dimensionalen Vektorraum $Z_k(C)$. + +\begin{beispiel} +\label{buch:homologie:beispiel:gausshomo} +In Abbildung~\ref{buch:homologie:fig:gausshomoex} ist ein Polyeder +dargestellt, dessen Homologiegruppe $H_1$ berechnet werden soll. +Um eine Basis für die Zyklen zu berechnen, wird zunächst die Matrix +des Randoperators $\partial_1$ aufgestellt. +Sie ist +\[ +\setcounter{MaxMatrixCols}{27} +\partial_1 += +\tiny +\setlength\arraycolsep{2pt} +\begin{pmatrix*}[r] +%1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 +-1& 0& 0& 0&-1& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ % 1 + 1&-1& 0& 0& 0&-1& 1& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ % 2 + 0& 1&-1& 0& 0& 0& 0&-1& 1& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ % 3 + 0& 0& 1&-1& 0& 0& 0& 0& 0&-1& 1& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ % 4 + 0& 0& 0& 1& 0& 0& 0& 0& 0& 0& 0&-1& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ % 5 + 0& 0& 0& 0& 1& 1& 0& 0& 0& 0& 0& 0&-1& 0& 1& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ % 6 + 0& 0& 0& 0& 0& 0&-1& 1& 0& 0& 0& 0& 1& 0& 0&-1& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ % 7 + 0& 0& 0& 0& 0& 0& 0& 0&-1& 1& 0& 0& 0&-1& 0& 0& 1& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ % 8 + 0& 0& 0& 0& 0& 0& 0& 0& 0& 0&-1& 1& 0& 1& 0& 0& 0&-1& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ % 9 + 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0&-1& 1& 0& 0&-1& 0& 1& 0& 0& 0& 0& 0& 0\\ %10 + 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 1&-1& 0&-1& 1& 0& 0& 0& 0\\ %11 + 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0&-1& 1& 0& 1& 0& 0& 0&-1& 0& 0& 0\\ %12 + 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0&-1& 1& 0& 0&-1& 1& 0\\ %13 + 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0&-1& 1& 1& 0&-1\\ %14 + 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0&-1& 1\\ %15 +\end{pmatrix*} +\] +Die reduzierte Zeilenstufenform von $\partial_1$ ist +\begin{center} +\tiny +\setlength\tabcolsep{3pt} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}|} +\hline +&1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27\\ +\hline + 1&1& 0& 0& 0& 0&-1& 0& 0& 0& 0& 0& 0& 1& 0& 0&-1& 0& 0& 0& 1& 0& 0& 0&-1& 0& 0& 0\\ + 2&0& 1& 0& 0& 0& 0& 0&-1& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 1& 0& 0& 0&-1& 0& 0& 0\\ + 3&0& 0& 1& 0& 0& 0& 0& 0& 0&-1& 0& 0& 0& 1& 0& 0& 0&-1& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ + 4&0& 0& 0& 1& 0& 0& 0& 0& 0& 0& 0&-1& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ + 5&0& 0& 0& 0& 1&-1& 0& 0& 0& 0& 0& 0& 1& 0& 0&-1& 0& 0& 0& 1& 0& 0& 0&-1& 0& 0& 0\\ + 6&0& 0& 0& 0& 0& 0& 1&-1& 0& 0& 0& 0&-1& 0& 0& 1& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ + 7&0& 0& 0& 0& 0& 0& 0& 0& 1&-1& 0& 0& 0& 1& 0& 0& 0&-1& 0&-1& 0& 0& 0& 1& 0& 0& 0\\ + 8&0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 1&-1& 0&-1& 0& 0& 0& 1& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ + 9&0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 1&-1& 0& 0& 0& 1& 0& 0& 0&-1& 0& 0& 0\\ +10&0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 1&-1& 0&-1& 0& 0& 0& 1& 0& 0& 0\\ +11&0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 1&-1& 0&-1& 0& 1& 1& 0&-1\\ +12&0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 1&-1& 0& 0& 1& 0&-1\\ +13&0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 1&-1&-1& 0& 1\\ +14&0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 1&-1\\ +15&0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0\\ +\hline +\end{tabular}. +\end{center} +Daraus kann man die Zyklen wie folgt ablesen: +{ +\begin{align*} +z_1 +&= +\tiny +\begin{pmatrix*}[r] +\phantom{-} + 1\\ + 0\\ + 0\\ + 0\\ + 1\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0 +\end{pmatrix*}, +&z_2 +&= +\tiny +\begin{pmatrix*}[r] +\phantom{-} + 0\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 1\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0 +\end{pmatrix*}, +&z_3 +&= +\tiny +\begin{pmatrix*}[r] +\phantom{-} + 0\\ + 0\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 1\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0 +\end{pmatrix*}, +&z_4 % variable 12 = 1 +&= +\tiny +\begin{pmatrix*}[r] +\phantom{-} + 0\\ + 0\\ + 0\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 1\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0 +\end{pmatrix*}, +&z_5 % variable 13 = 1 +&= +\tiny +\begin{pmatrix*}[r] +-1\\ + 0\\ + 0\\ + 0\\ +-1\\ + 0\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0 +\end{pmatrix*}, +&z_6 % variable 14 = 1 +&= +\tiny +\begin{pmatrix*}[r] + 0\\ + 0\\ +-1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ +-1\\ + 0\\ + 1\\ + 0\\ + 0\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0 +\end{pmatrix*}, +&z_7 % variable 16 = 1 +&= +\tiny +\begin{pmatrix*}[r] + 1\\ + 0\\ + 0\\ + 0\\ + 1\\ + 0\\ +-1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 1\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0 +\end{pmatrix*},\\ +z_8 % variable 18 = 1 +&= +\tiny +\begin{pmatrix*}[r] + 0\\ + 0\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 1\\ + 0\\ +-1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 1\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0 +\end{pmatrix*}, +&z_9 % variable 20 = 1 +&= +\tiny +\begin{pmatrix*}[r] +-1\\ +-1\\ + 0\\ + 0\\ + 1\\ + 0\\ + 0\\ + 0\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ +-1\\ + 0\\ + 1\\ + 0\\ + 1\\ + 1\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0 +\end{pmatrix*}, +&z_{10} % variable 22 = 1 +&= +\tiny +\begin{pmatrix*}[r] +\phantom{-} + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ %5 + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ %10 + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ %15 + 0\\ + 0\\ + 0\\ + 1\\ + 0\\ %20 + 1\\ + 1\\ + 0\\ + 0\\ + 0\\ %25 + 0\\ + 0 +\end{pmatrix*}, +&z_{11} % variable 24 = 1 +&= +\tiny +\begin{pmatrix*}[r] + 1\\ + 1\\ + 0\\ + 0\\ + 1\\ %5 + 0\\ + 0\\ + 0\\ +-1\\ + 0\\ %10 + 0\\ + 0\\ + 0\\ + 0\\ + 1\\ %15 + 0\\ +-1\\ + 0\\ +-1\\ + 0\\ %20 + 0\\ + 0\\ + 1\\ + 1\\ + 0\\ %25 + 0\\ + 0 +\end{pmatrix*}, +&z_{12} % variable 25 = 1 +&= +\tiny +\begin{pmatrix*}[r] + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ %10 + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ %15 + 0\\ + 0\\ + 0\\ +-1\\ + 0\\ %20 +-1\\ + 0\\ + 1\\ + 0\\ + 1\\ %25 + 0\\ + 0 +\end{pmatrix*}, +&z_{13} % variable 27 = 1 +&= +\tiny +\begin{pmatrix*}[r] + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 0\\ + 1\\ + 0\\ %20 + 1\\ + 0\\ +-1\\ + 0\\ + 0\\ %25 + 1\\ + 1 +\end{pmatrix*} +\end{align*} +} +\begin{figure} +\centering +\includegraphics{chapters/95-homologie/images/homocycles.pdf} +\caption{Zyklen des Randoperators $\partial_1$ im Beispiel von +Seite~\pageref{buch:homologie:beispiel:gausshomo}. +\label{buch:homologie:fig:homocycles}} +\end{figure} +Die Zyklen sind in Abbildung~\ref{buch:homologie:fig:homocycles} {\color{red}rot} dargestellt. +\end{beispiel} + +\subsubsection{Basis für $B_k(C)$} +Da $B_k(C)\subset Z_k(C)$ gilt, lässt sich für jedes $c_{k+1}\in C_{k+1}$ +der Rand $\partial_{k+1}c_{k+1}$ als Linearkombination der im +vorangegangenen Schritt gefundenen Basiszyklen finden. +Wir können also aus der Standardbasis $e^{(k+1)}_i\in C_{k+1}$ eine Menge +von Vektoren $\partial_{k+1}e^{(k+1)}_i$ gewinnen, die mit Sicherheit +ganz $B_k(C)$ aufspannen. +Es ist aber davon auszugehen, dass diese Vektoren nicht linear unabhängig +sind. +Es ist also nötig, eine Teilmenge +\[ +\mathcal{B}_k += +\{ +\partial_{k+1}e^{(k+1)}_{i_1}, +\partial_{k+1}e^{(k+1)}_{i_2}, +\dots, +\partial_{k+1}e^{(k+1)}_{i_m} +\} +\] +von Vektoren auszuwählen, die linear +unabhängig sind. +Diese bilden eine Basis von $B_k(C)$. + +\begin{figure} +\centering +\includegraphics{chapters/95-homologie/images/homoboundaries.pdf} +\caption{Die Ränder $\partial_2e_i^{(2)}$ für das Beispiel von +Seite~\pageref{buch:homologie:beispiel:gausshomo}. +Die grauen Dreiecke bilden die Standardbasis $e_i^{(2)}$ von $C_2$, +die blauen Dreiecke sind die Ränder $\partial_2e_i^{(2)}$ dieser +Dreiecke. +\label{buch:homologie:fig:homoboundaries}} +\end{figure} + +Aus den Abbildungen~\ref{buch:homologie:fig:homocycles} und +\ref{buch:homologie:fig:homoboundaries} kann man auch ablesen, +wie die Ränder $\partial_2e_i^{(2)}$ aus den Zyklen von $\mathcal{Z}_1$ +linear kombiniert werden können. +Man erhält so die Beziehungen. +\begin{equation} +\setcounter{MaxMatrixCols}{29} +\setlength\arraycolsep{1pt} +\begin{array}{lcrcrcrcrcrcrcrcrcrcrcrcrcr} +\partial_2e_1^{(2)} &=&z_1& & & & & & & & & & & & & & & & & & & & & & & & \\ +\partial_2e_2^{(2)} &=& & &z_2& & & & & & & & & & & & & & & & & & & & & & \\ +\partial_2e_3^{(2)} &=& & & & &z_3& & & & & & & & & & & & & & & & & & & & \\ +\partial_2e_4^{(2)} &=& & & & & & &z_4& & & & & & & & & & & & & & & & & & \\ +\partial_2e_5^{(2)} &=& & & & & & & &-&z_5& & &+&z_7& & & & & & & & & & & & \\ +\partial_2e_6^{(2)} &=& & & & & & & & & &-&z_6& & &+&z_8& & & & & & & & & & \\ +\partial_2e_7^{(2)} &=& & & & & & & & & & & & & & & & & & &z_{10}& & & & & & \\ +\partial_2e_8^{(2)} &=& & & & & & & & & & & & & & & & & & & & &z_{11}& & & & \\ +\partial_2e_9^{(2)} &=& & & & & & & & & & & & & & & & & & & & & &-&z_{12}&+&z_{13} +\end{array} +\end{equation} +Dies reicht jedoch nicht, um herauszufinden, welche der blauen Dreiecke +linear unabhängig sind. +Im vorliegenden Fall ist dies einfach: jedes blaue Dreieck besteht aus +Kanten, die in keinem anderen blauen Dreieck vorkommen, daher müssen +sie alle linear unabhängig sein. + +\begin{figure} +\centering +\includegraphics{chapters/95-homologie/images/gausshomobasis.pdf} +\caption{Bestimmung einer Basis für die Homologiegruppe $H_k(C)$ mit +Hilfe der Vorwärtsreduktion des Gaussalgorithmus. +Die schwarzen Nullzeilen zeigen an, welche Zeilenvektoren zusammen mit +den darüberliegenden Vektoren nicht linear unabhängig sind und damit nicht +in Frage kommen für die besuchte Basis. +Übrig bleiben die {\color{red}rot} und {\color{darkgreen}grün} hervorgehobenen +Vektoren. +\label{buch:homologie:fig:gausshomobasis}} +\end{figure} + +Diese Auswahl lässt sich sehr leicht mit Hilfe der folgenden +Variante des Gauss-Algorithmus realisieren. +Dazu werden die $n_{k+1}$ Zeilen Gauss-Tableau zunächst mit den Vektoren +$\partial_{k+1}{e_i^{(k+1)}}^t$ gefüllt. +Führt man in diesem Tableau die Vorwärtsreduktion durch, wobei man +entstehende Nullzeilen einfach überspringt, bleiben nur noch Zeilen +übrig, die linear unabhängig sind. +Diese Zeilen entsprechen den linear unabhängigen Vektoren von $\mathcal{B}_k$, +die Zeilennummern sind $i_1,i_2,\dots,i_m$. +Dieses Vorgehen ist schematisch im oberen Teil der +Abbildung~\ref{buch:homologie:fig:gausshomobasis} dargestellt. + +\subsubsection{Basis für die Homologiegruppe $H_k(C)$} +Um eine Basis von $H_k(C)$ zu konstruieren, müssen wir jetzt eine +Basis von Zyklen finden, die sich nicht nur um einen Rand unterscheiden, +die also zu verschiedenen Homologie-Klassen in $H_k(C)$ gehören. +Gesucht sind jetzt also Vektoren $\mathcal{Z}'_k$ derart, dass +die Vektoren von $\mathcal{Z}'_k\cup\mathcal{B}_k$ immer noch $Z_k(C)$ +aufspannen, aber zusätzlich linear unabhängig sind. + +Dazu kann man wie folgt vorgehen. +\begin{enumerate} +\item +Man beginnt mit $\mathcal{D}_0=\emptyset$ und setzt $j=0$. +\item +Dann testet man der Reihe nach alle noch nicht getesteten Vektoren +von $z_i^{(k)}\in\mathcal{Z}_k$ daraufhin, ob sie von den Vektoren +$\mathcal{B}_k\cup \mathcal{D}_j$ linear unabhängig sind. +Wenn ja, bildet man $\mathcal{D}_{j+1} = \mathcal{D}\cup\{z^{(k)}_i\}$ und +setzt $j=1$. +Andernfalls ignoriert man $z^{(k)}_i$. +\item +Schritt 2 wird wiederholt, bis man alle Vektoren von $\mathcal{Z}_k$ +getestet hat. +Die gesuchte Basis setzt sich zusammen aus $\mathcal{B}_k$ und +$\mathcal{D}_l$, +also +$ +\mathcal{Z}_k' += +\mathcal{B}_k +\cup +\mathcal{D}_l. +$ +\end{enumerate} + +Dieser Algorithmus kann ebenfalls mit der oben angesprochenen Variante +des Gauss-Algorithmus durchgeführt werden. +Dazu werden die Zeilen $n_k+1$ bis $n_k+1+|\mathcal{Z}_k|$ mit den +Vektoren $z_i^t$. +Dann führt man die Vorwärtsreduktion im ganzen Tableau durch, wobei +man wieder die Nullzeilen stehen lässt. +Nullzeilen zeigen wieder Vektoren an, die sich linear durch die darüber +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 +\setlength\tabcolsep{1pt} +\begin{tabular}{|>{$}c<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}|} +\hline +&\scriptstyle 1&\scriptstyle 2&\scriptstyle 3&\scriptstyle 4 &\scriptstyle 5 +&\scriptstyle 6 &\scriptstyle 7 &\scriptstyle 8 &\scriptstyle 9 &\scriptstyle 10 +&\scriptstyle 11 &\scriptstyle 12 &\scriptstyle 13 &\scriptstyle 14 &\scriptstyle 15 +&\scriptstyle 16 &\scriptstyle 17 &\scriptstyle 18 &\scriptstyle 19 &\scriptstyle 20 +&\scriptstyle 21 &\scriptstyle 22 &\scriptstyle 23 &\scriptstyle 24 &\scriptstyle 25 +&\scriptstyle 26 &\scriptstyle 27 +\\ +% 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 +\hline +\scriptstyle\partial_2e_1^{(2)}& 1& & & & 1&\phantom{-}1& & & & & & & & & & & & & & & & & & & & & \\ +\scriptstyle\partial_2e_2^{(2)}& & 1& & & & & 1&\phantom{-}1& & & & & & & & & & & & & & & & & & & \\ +\scriptstyle\partial_2e_3^{(2)}& & & 1& & & & & &\phantom{-}1&\phantom{-}1& & & & & & & & & & & & & & & & & \\ +\scriptstyle\partial_2e_4^{(2)}& & & &\phantom{-}1& & & & & & & 1&\phantom{-}1& & & & & & & & & & & & & & & \\ +\scriptstyle\partial_2e_5^{(2)}& & & & & & & & & & & & & 1& & 1&\phantom{-}1& & & & & & & & & & & \\ +\scriptstyle\partial_2e_6^{(2)}& & & & & & & & & & & & & &\phantom{-}1& & & 1&\phantom{-}1& & & & & & & & & \\ +\scriptstyle\partial_2e_7^{(2)}& & & & & & & & & & & & & & & & & & & 1& &\phantom{-}1& 1& & & & & \\ +\scriptstyle\partial_2e_8^{(2)}& & & & & & & & & & & & & & & & & & & &\phantom{-}1& & & 1&\phantom{-}1& & & \\ +\scriptstyle\partial_2e_9^{(2)}& & & & & & & & & & & & & & & & & & & & & & & & &\phantom{-}1&\phantom{-}1&\phantom{-}1\\ +\hline +% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 +\scriptstyle z_{ 1}& 1& & & & 1& 1& & & & & & & & & & & & & & & & & & & & & \\ +\scriptstyle z_{ 2}& & 1& & & & & 1& 1& & & & & & & & & & & & & & & & & & & \\ +\scriptstyle z_{ 3}& & & 1& & & & & & 1& 1& & & & & & & & & & & & & & & & & \\ +\scriptstyle z_{ 4}& & & & 1& & & & & & & 1& 1& & & & & & & & & & & & & & & \\ +\scriptstyle z_{ 5}&-1& & & &-1& & 1& & & & & & 1& & & & & & & & & & & & & & \\ +\scriptstyle z_{ 6}& & &-1& & & & & &-1& & 1& & & 1& & & & & & & & & & & & & \\ +\scriptstyle z_{ 7}& 1& & & & 1& &-1& & & & & & & & 1& 1& & & & & & & & & & & \\ +\scriptstyle z_{ 8}& & & 1& & & & & & 1& &-1& & & & & & 1& 1& & & & & & & & & \\ +\scriptstyle z_{ 9}&-1&-1& & & 1& & & & 1& & & & & &-1& & 1& 1& 1& & & & & & & & \\ +\scriptstyle z_{10}& & & & & & & & & & & & & & & & & & 1& & 1& 1& & & & & & \\ +\scriptstyle z_{11}& 1& 1& & & 1& & & &-1& & & & & & 1& &-1& &-1& & & & 1& 1& & & \\ +\scriptstyle z_{12}& & & & & & & & & & & & & & & & & & &-1& &-1& & 1& & 1& & \\ +\scriptstyle z_{13}& & & & & & & & & & & & & & & & & & & 1& & 1& &-1& & & 1& 1\\ +\hline +\end{tabular} +\caption{Gauss-Tableau für die Bestimmung einer Basis von +$H_1$ für das Beispiel. +Die ersten neuen Zeilen bestehen aus den Bildern der +Basisvektoren von $C_2$. +Im vorliegenden Fall kann man sofort sehen, dass alle diese +Zeilen linear unabhängig sind. +Die folgenden Zeilen sind die Zyklen in $\mathbb{Z}_2$, sie +sind ebenfalls linear unabhängig. +Mit Hilfe der Vorwärtsreduktion müssen jetzt diejenigen +Zeilen elminiert werden, die bereits aus anderen Zyklen +mit Hilfe von Rändern der Zeilen 1--9 kombiniert werden können. +\label{buch:homologie:beispiel:gausstableau}} +\end{figure} + +\begin{figure} +\centering +\setlength\tabcolsep{1pt} +\begin{tabular}{|>{$}c<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}|} +\hline +&\scriptstyle 1&\scriptstyle 2&\scriptstyle 3&\scriptstyle 4 &\scriptstyle 5 +&\scriptstyle 6 &\scriptstyle 7 &\scriptstyle 8 &\scriptstyle 9 &\scriptstyle 10 +&\scriptstyle 11 &\scriptstyle 12 &\scriptstyle 13 &\scriptstyle 14 &\scriptstyle 15 +&\scriptstyle 16 &\scriptstyle 17 &\scriptstyle 18 &\scriptstyle 19 &\scriptstyle 20 +&\scriptstyle 21 &\scriptstyle 22 &\scriptstyle 23 &\scriptstyle 24 &\scriptstyle 25 +&\scriptstyle 26 &\scriptstyle 27 +\\ +% 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 +\hline +\scriptstyle\partial_2e_1^{(2)}&\phantom{-}1& & & &\phantom{-}1&\phantom{-}1& & & & & & & & & & & & & & & & & & & & & \\ +\scriptstyle\partial_2e_2^{(2)}& &\phantom{-}1& & & & &\phantom{-}1&\phantom{-}1& & & & & & & & & & & & & & & & & & & \\ +\scriptstyle\partial_2e_3^{(2)}& & &\phantom{-}1& & & & & &\phantom{-}1&\phantom{-}1& & & & & & & & & & & & & & & & & \\ +\scriptstyle\partial_2e_4^{(2)}& & & &\phantom{-}1& & & & & & &\phantom{-}1&\phantom{-}1& & & & & & & & & & & & & & & \\ +\scriptstyle\partial_2e_5^{(2)}& & & & & & & & & & & & & 1& & 1&\phantom{-}1& & & & & & & & & & & \\ +\scriptstyle\partial_2e_6^{(2)}& & & & & & & & & & & & & &\phantom{-}1& & & 1&\phantom{-}1& & & & & & & & & \\ +\scriptstyle\partial_2e_7^{(2)}& & & & & & & & & & & & & & & & & & & 1& &\phantom{-}1& 1& & & & & \\ +\scriptstyle\partial_2e_8^{(2)}& & & & & & & & & & & & & & & & & & & &\phantom{-}1& & & 1&\phantom{-}1& & & \\ +\scriptstyle\partial_2e_9^{(2)}& & & & & & & & & & & & & & & & & & & & & & & & &\phantom{-}1&\phantom{-}1&\phantom{-}1\\ +\hline +% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 +\scriptstyle z_{ 1}& & & & & & & & & & & & & & & & & & & & & & & & & & & \\ +\scriptstyle z_{ 2}& & & & & & & & & & & & & & & & & & & & & & & & & & & \\ +\scriptstyle z_{ 3}& & & & & & & & & & & & & & & & & & & & & & & & & & & \\ +\scriptstyle z_{ 4}& & & & & & & & & & & & & & & & & & & & & & & & & & & \\ +\scriptstyle z_{ 5}& & & & & & 1& 1& & & & & & & &-1&-1& & & & & & & & & & & \\ +\scriptstyle z_{ 6}& & & & & & & & & & 1& 1& & & & & &-1&-1& & & & & & & & & \\ +\scriptstyle z_{ 7}& & & & & & & & & & & & & & & & & & & & & & & & & & & \\ +\scriptstyle z_{ 8}& & & & & & & & & & & & & & & & & & & & & & & & & & & \\ +\scriptstyle z_{ 9}& & & & & & & & 1& 1& & & & & & & 1& 1& & & &-1&-1&-1&-1& & & \\ +\scriptstyle z_{10}& & & & & & & & & & & & & & & & & & & & & & & & & & & \\ +\scriptstyle z_{11}& & & & & & & & & & & & & & & & & & & & & & & & & & & \\ +\scriptstyle z_{12}& & & & & & & & & & & & & & & & & & & & & & 1& 1& & &-1&-1\\ +\scriptstyle z_{13}& & & & & & & & & & & & & & & & & & & & & & & & & & & \\ +\hline +\end{tabular} +\caption{Nach Durchführung der Vorwärtsreduktion kann man die Zyklen +ablesen, die nicht für eine Basis von $H_1$ gebraucht werden. +\label{buch:homologie:beispiel:gausstableaureduziert}} +\end{figure} + +\begin{figure} +\centering +\includegraphics{chapters/95-homologie/images/homoclasses.pdf} +\caption{Repräsentanten für die Reduzierten Klassen aus dem +Tableau von +Abbildung~\ref{buch:homologie:beispiel:gausstableaureduziert}, +sie bilden eine Basis der Homologie-Gruppe $H_1$. +Jeder dieser Repräsentanten umschliesst genau ein ``Loch'', +also genau ein weisses Dreieck. +\label{buch:homologie:beispiel:homoclasses}} +\end{figure} + +\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. +Die Vektoren in $\mathcal{B}_k$ bilden eine Basis von $B_k(C)$ +und die Vektoren in $\mathcal{Z}_k'$ sind davon unabhängig. +Die Klassen der Vektoren von $\mathcal{Z}_k'$ in $H_k(C)$ sind +daher ebenfalls linear unabhängig und bilden damit eine Basis +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. diff --git a/buch/chapters/95-homologie/chapter.tex b/buch/chapters/95-homologie/chapter.tex index 994c400..e25188c 100644 --- a/buch/chapters/95-homologie/chapter.tex +++ b/buch/chapters/95-homologie/chapter.tex @@ -3,9 +3,9 @@ % % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\chapter{Homologie +\chapter{Kettenkomplexe und Homologie \label{buch:chapter:homologie}} -\lhead{Homologie} +\lhead{Kettenkomplexe und Homologie} \rhead{} Mit der Inzidenzmatrix war es möglich, einen Graphen zu beschreiben und verschiedene interessante Eigenschaften desselben zu berechnen. @@ -35,6 +35,16 @@ Der sogenannte Randoperator ordnet jedem Dreieck, Tetraeder oder allgemein jedem Simplex seinen Rand zu. Damit wird es möglich, das Dreieck vom Rand des Dreiecks zu unterschieden. +Die Verallgemeinerung dieser Idee liefert eine algebraische Konstruktion +zu jedem topologischen Raum, die sogenannten Homologie-Gruppen. +Sie formalisieren ein mögliches Konzept der Dimension und der +Idee von ``Löchern'' in einem topologischen Raum. +Sie können dabei helfen, die topologische Struktur verschiedener +Räume zu unterscheiden. +Das Ziel dieses Kapitels ist nicht, die Homologietheorie +vollständig zu entwickeln, sondern zu zeigen, wie man Matrizen +verwenden kann, um konkrete Rechnungen durchzuführen. + \input{chapters/95-homologie/simplex.tex} \input{chapters/95-homologie/komplex.tex} \input{chapters/95-homologie/homologie.tex} diff --git a/buch/chapters/95-homologie/eulerchar.tex b/buch/chapters/95-homologie/eulerchar.tex new file mode 100644 index 0000000..1f61a29 --- /dev/null +++ b/buch/chapters/95-homologie/eulerchar.tex @@ -0,0 +1,130 @@ +\subsection{Euler-Charakteristik} +Die Homologiegruppen fassen die Idee, die ``Löcher'' in +Dimension $k$ eines Polyeders zu zählen, algebraisch exakt. +Dazu ist aber die algebraische Struktur von $H_k(C)$ gar +nicht nötig, nur schon die Dimension des Vektorraumes $H_k(C)$ +liefert bereits die verlange Information. + +Dies ist auch der Ansatz, den der eulersche Polyedersatz verfolgt. +Euler hat für dreidimensionale Polyeder eine Invariante gefunden, +die unabhängig ist von der Triangulation. + +\begin{definition} +\label{buch:homologie:def:eulerchar} +Ist $E$ die Anzahl der Ecken, $K$ die Anzahl der Kanten und $F$ +die Anzahl der Flächen eines dreidimensionalen Polyeders $P$, dann +heisst +\[ +\chi(P) = E-K+F +\] +die {\em Euler-Charakteristik} des Polyeders $P$. +\end{definition} + +Der Eulersche Polyedersatz, den wir nicht gesondert beweisen +wollen, besagt, dass $\chi(P)$ unabhängig ist von der +Triangulation. +Alle regelmässigen Polyeder sind verschiedene Triangulationen +einer Kugel, sie haben alle den gleichen Wert $2$ +der Euler-Charakteristik. + +Ändert man die Triangulation, dann wird die Dimension der +Vektorräume $B_k(C)$ und $Z_k(C)$ grösser werden. +Kann man eine Grösse analog zu $\chi(P)$ finden, die sich nicht ändert? + +\begin{definition} +Sei $C$ ein Kettenkomplex, dann heisst +\[ +\chi(C) = \sum_{k=0}^n (-1)^k\dim H_k(C) +\] +die Euler-Charakteristik von $C$. +\end{definition} + +Die Definition verlangt, dass man erst die Homologiegruppen +berechnen muss, bevor man die Euler-Charakteristik bestimmen +kann. +Dies ist aber in vielen Fällen gar nicht nötig, da dies nur +eine Frage der Dimensionen ist, die man direkt aus den +$C_k$ ablesen kann, wie wir nun zeigen wollen. + +Die Dimension der Homologiegruppen ist +\begin{equation} +\dim H_k(C) += +\dim \bigl(Z_k(C) / B_k(C)\bigr) += +\dim Z_k(C) - \dim B_k(C). +\label{buch:homologie:eqn:dimHk} +\end{equation} +Die Bestimmung der Dimensionen der Zyklen und Ränder erfordert +aber immer noch, dass wir dafür Basen bestimmen müssen, es ist +also noch nichts eingespart. +Die Zyklen bilden den Kern von $\partial$, also +\[ +\dim Z_k(C) = \dim\ker \partial_k. +\] +Die Ränder $B_k(C)$ sind die Bilder von $\partial_{k+1}$, also +\[ +\dim B_k(C) += +\dim C_{k+1} - \ker\partial_{k+1} += +\dim C_{k+1} - \dim Z_{k+1}(C). +\] +Daraus kann man jetzt eine Formel für die Euler-Charakteristik +gewinnen. +Sie ist +\begin{align*} +\chi(C) +&= +\sum_{k=0}^\infty (-1)^k \dim H_k(C) +\\ +&= +\sum_{k=0}^\infty (-1)^k \bigl(\dim Z_k(C) - \dim B_k(C)\bigr) +\\ +&= +\sum_{k=0}^\infty (-1)^k \dim Z_k(C) +- +\sum_{k=0}^\infty (-1)^k \bigl(\dim C_{k+1} - \dim_{k+1}(C)\bigr) +\\ +&= +-\sum_{k=0}^\infty (-1)^k \dim C_{k+1} ++ +\sum_{k=0}^\infty (-1)^k \dim Z_k(C) ++ +\sum_{k=0}^\infty (-1)^k \dim Z_{k+1}(C). +\intertext{Indem wir in der letzten Summe den Summationsindex $k$ durch +$k-1$ ersetzen, können wir bis auf den ersten Term die Summen +der $\dim Z_k(C)$ zum Verschwinden bringen:} +&= +-\sum_{k=0}^\infty (-1)^k \dim C_{k+1} ++ +\sum_{k=0}^\infty (-1)^k \dim Z_k(C) +- +\sum_{k=1}^\infty (-1)^k \dim Z_k(C) +\\ +&= +\sum_{k=1}^\infty (-1)^k \dim C_{k} ++ +\dim \underbrace{Z_0(C)}_{\displaystyle =C_0}. +\intertext{In der letzten Umformung haben wir auch in der ersten +Summe den Summationsindex $k$ durch $k-1$ ersetzt. +Damit beginnt die Summation bei $k=1$. +Der fehlende Term ist genau der Term, der von den Summen der +$\dim Z_k(C)$ übrig bleibt. +Damit erhalten wir} +&= +\sum_{k=0}^\infty (-1)^k \dim C_{k}. +\end{align*} + +\begin{satz} +Für die Euler-Charakteristik eines endlichdimensionalen Kettenkomplexes $C$ gilt +\[ +\chi(C) += +\sum_{k=0}^\infty (-1)^k \dim H_k(C) += +\sum_{k=0}^\infty (-1)^k \dim C_k. +\] +\end{satz} +Im nächsten Abschnitt wird gezeigt, dass die Euler-Charakteristik +als Spezialfall der Lefshetz-Zahl verstanden werden kann. diff --git a/buch/chapters/95-homologie/fixpunkte.tex b/buch/chapters/95-homologie/fixpunkte.tex index a03d4b5..80daaee 100644 --- a/buch/chapters/95-homologie/fixpunkte.tex +++ b/buch/chapters/95-homologie/fixpunkte.tex @@ -33,7 +33,7 @@ ist die Spur von $H_k(f)$ wohldefiniert. \begin{definition} Die {\em Lefshetz-Zahl} einer Abbildung $f$ von Kettenkomplexen ist -\[ +\begin{equation} \lambda(f) = \sum_{k=0}^\infty @@ -41,7 +41,8 @@ Die {\em Lefshetz-Zahl} einer Abbildung $f$ von Kettenkomplexen ist = \sum_{k=0}^\infty (-1)^k \operatorname{Spur}(H_k(f)). -\] +\label{buch:homologie:lefschetz-zahl} +\end{equation} \end{definition} Die zweite Darstellung der Lefshetz-Zahl auf der rechten Seite ist @@ -49,11 +50,43 @@ meistens viel leichter zu berechnen als die erste. Die einzelnen Vektorräume eines Kettenkomplexes können haben typischerweise eine hohe Dimension, so hoch wie die Anzahl der Simplizes der Triangulation. Die Homologiegruppen dagegen haben typischerweise sehr viel kleinere -Dimension, die Matrizen $H_k(F)$ sind also relativ klein. +Dimension, die Matrizen $H_k(f)$ sind also relativ klein. Es ist aber nicht klar, dass beide Berechnungsmethoden für die Lefshetz-Zahl auf das gleiche Resultat führen müssen. \begin{proof}[Beweis] +Im Abschnitt~\ref{buch:subsection:induzierte-abbildung} wurde gezeigt, +dass die Basis des Komplexes immer so gewählt werden kann, dass für +die Spuren der Teilmatrizen von $f_k$ die +Formel~\eqref{buch:homologie:eqn:spur} gilt. +Damit kann jetzt die alternierenierden Summe der Spuren von $f_k$ ermittelt +werden: +\begin{align*} +\sum_{k=0}^\infty (-1)^k\operatorname{Spur}(f_k) +&= +\sum_{k=0}^\infty (-1)^k\operatorname{Spur}(f_{k,B}) ++ +\sum_{k=0}^\infty (-1)^k\operatorname{Spur}(f_{k,Z}) ++ +\sum_{k=0}^\infty (-1)^k\operatorname{Spur}(f_{k-1,B}) +\\ +&= +\sum_{k=0}^\infty (-1)^k\operatorname{Spur}(f_{k,B}) ++ +\sum_{k=0}^\infty (-1)^k\operatorname{Spur}(f_{k,Z}) +- +\sum_{k=0}^\infty (-1)^k\operatorname{Spur}(f_{k,B}) +\\ +&= +\sum_{k=0} (-1)^k\operatorname{Spur}(f_{k,Z}). +\intertext{Die Abbildung $H_k(f)$ hat $f_{k,Z}$ als Matrix, also ist +die letzte Form gleichbedeutend mit} +&= +\sum_{k=0} (-1)^k\operatorname{Spur} H_k(f). +\end{align*} +Damit ist die Formel +\eqref{buch:homologie:lefschetz-zahl} +bewiesen. \end{proof} Die Lefshetz-Zahl ist eine Invariante einer topologischen Abbildung, diff --git a/buch/chapters/95-homologie/homologie.tex b/buch/chapters/95-homologie/homologie.tex index 905ecc3..747c00f 100644 --- a/buch/chapters/95-homologie/homologie.tex +++ b/buch/chapters/95-homologie/homologie.tex @@ -34,321 +34,8 @@ Es soll möglich werden, kompliziertere Fragen des Zusammenhangs, zum Beispiel das Vorhandensein von Löchern mit algebraischen Mitteln zu analysieren. -\subsection{Homologie eines Kettenkomplexes -\label{buch:subsection:homologie-eines-kettenkomplexes}} -Wegzusammenhang lässt sich untersuchen, indem man in der Triangulation -nach Linearkombinationen von Kanten sucht, die als Rand die beiden Punkte -haben. -Zwei Punkte sind also nicht verbindbar und liegen damit in verschiedenen -Komponenten, wenn die beiden Punkte nicht Rand irgend einer -Linearkombination von Kanten sind. -Komponenten können also identifiziert werden, indem man unter allen -Linearkombinationen von Punkten, also $C_0$ all diejenigen ignoriert, -die Rand einer Linearkombinationv on Kanten sind, also $\partial_1C_1$. -Der Quotientenraum $H_0=C_0/\partial_1C_1$ enthält also für jede Komponente -eine Dimension. - -Eine Dimension höher könnten wir danach fragen, ob sich ein geschlossener -Weg zusammenziehen lässt. -In der Triangulation zeichnet sich ein geschlossener Weg dadurch aus, -dass jedes Ende einer Kante auch Anfang einer Folgekante ist, dass also -der Rand der Linearkombination von Kanten 0 ist. -Algebraisch bedeutet dies, dass wir uns für diejenigen Linearkombinationen -$z\in C_1$ interessieren, die keinen Rand haben, für die also $\partial_1z=0$ -gilt. - -\begin{definition} -Die Elemente von -\[ -Z_k -= -Z_k^C -= -\{z\in C_k\;|\; \partial_k z = 0\} -= -\ker \partial_k -\] -heissen die {\em ($k$-dimensionalen) Zyklen} von $C_*$. -\end{definition} - -In einem Dreieck ist der Rand ein geschlossener Weg, der sich zusammenziehen -lässt, indem man ihn durch die Dreiecksfläche deformiert. -Entfernt man aber die Dreiecksfläche, ist diese Deformation nicht mehr -möglich. -Einen zusammenziehbaren Weg kann man sich also als den Rand eines Dreiecks -einer vorstellen. -``Löcher'' sind durch geschlossene Wege erkennbar, die nicht Rand eines -Dreiecks sein können. -Wir müssen also ``Ränder'' ignorieren. - -\begin{definition} -Die Elemente von -\[ -B_k -= -B_k^C -= -\{\partial_{k+1}z\;|\; C_{k+1}\} -= -\operatorname{im} \partial_{k+1} -\] -heissen die {\em ($k$-dimensionalen) Ränder} von $C_*$. -\end{definition} - -Algebraisch ausgedrückt interessieren uns also nur Zyklen, die selbst -keine Ränder sind. -Der Quotientenraum $Z_1/B_1$ ignoriert unter den Zyklen diejenigen, die -Ränder sind, drückt also algebraisch die Idee des eindimensionalen -Zusammenhangs aus. -Wir definieren daher - -\begin{definition} -Die $k$-dimensionale Homologiegruppe des Kettenkomplexes $C_*$ ist -\[ -H_k(C) = Z_k/B_k = \ker \partial_k / \operatorname{im} \partial_{k+1}. -\] -Wenn nur von einem Kettenkomplex die Rede ist, kann auch $H_k(C)=H_k$ -abgekürzt werden. -\end{definition} - -Die folgenden zwei ausführlichen Beispiele sollen zeigen, wie die -Homologiegruppe $H_2$ die Anwesenheit eines Hohlraumes detektieren kann, -der entsteht, wenn man aus einem Tetraeder das innere entfernt. - -\begin{beispiel} -\begin{figure} -\centering -XXX Bild eines Tetraeders mit Bezeichnung der Ecken und Kanten -\caption{Triangulation eines Tetraeders, die Orientierung von Kanten -und Seitenflächen ist immer so gewählt, dass die Nummern der Ecken -aufsteigend sind. -\label{buch:homologie:tetraeder:fig}} -\end{figure} -Ein Tetraeder ist ein zweidmensionales Simplex, wir untersuchen seinen -Kettenkomplex und bestimmen die zugehörigen Homologiegruppen. -Zunächst müssen wir die einzelnen Mengen $C_k$ beschreiben und verwenden -dazu die Bezeichnungen gemäss Abbildung~\ref{buch:homologie:tetraeder:fig}. -$C_0$ ist der vierdimensionale Raum aufgespannt von den vier Ecken -$0$, $1$, $2$ und $3$ des Tetraeders. -$C_1$ ist der sechsdimensionale Vektorraum der Kanten -\[ -k_0 = [0,1],\quad -k_1 = [0,2],\quad -k_2 = [0,3],\quad -k_3 = [1,2],\quad -k_4 = [1,3],\quad -k_5 = [2,3] -\] -Der Randoperator $\partial_1$ hat die Matrix -\[ -\partial_1 -= -\begin{pmatrix*}[r] --1&-1&-1& 0& 0& 0\\ - 1& 0& 0&-1&-1& 0\\ - 0& 1& 0& 1& 0&-1\\ - 0& 0& 1& 0& 1& 1 -\end{pmatrix*}. -\] - -Wir erwarten natürlich, dass sich zwei beliebige Ecken verbinden lassen, -dass es also nur eine Komponente gibt und dass damit $H_1=\Bbbk$ ist. -Dazu beachten wir, dass das Bild von $\partial_1$ genau aus den Vektoren -besteht, deren Komponentensumme $0$ ist. -Das Bild $B_0$ von $\partial_1$ ist daher die Lösungsmenge der einen -Gleichung -\( -x_0+x_1+x_2+x_3=0. -\) -Der Quotientenraum $H_0=Z_0/B_0 = C_0/\operatorname{im}\partial_1$ -ist daher wie erwartet eindimensional. - -Wir bestimmen jetzt die Homologiegruppe $H_1$. -Da sich im Tetraeder jeder geschlossene Weg zusammenziehen lässt, -erwarten wir $H_1=0$. - -Die Menge der Zyklen $Z_1$ wird bestimmt, indem man die Lösungsmenge -des Gleichungssystems $\partial_1z=0$ bestimmt. -Der Gauss-Algorithmus für die Matrix $\partial_1$ liefert das -Schlusstableau -\[ -\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} -\hline -k_0&k_1&k_2&k_3&k_4&k_5\\ -\hline - 1& 0& 0& -1& -1& 0\\ - 0& 1& 0& 1& 0& -1\\ - 0& 0& 1& 0& 1& 1\\ - 0& 0& 0& 0& 0& 0\\ -\hline -\end{tabular} -\] -Daraus lassen sich drei linear unabhängig eindimensionale Zyklen ablesen, -die zu den Lösungsvektoren -\[ -z_1 -= -\begin{pmatrix*}[r] -1\\ --1\\ -0\\ -1\\ -0\\ -0 -\end{pmatrix*}, -\qquad -z_2 -= -\begin{pmatrix*}[r] -1\\ -0\\ --1\\ -0\\ -1\\ -0 -\end{pmatrix*}, -\qquad -z_3 -= -\begin{pmatrix*}[r] -0\\ -1\\ --1\\ -0\\ -0\\ -1 -\end{pmatrix*} -\] -gehören. - -$C_2$ hat die vier Seitenflächen -\[ -f_0=[0,1,2],\quad -f_1=[0,1,3],\quad -f_2=[0,2,3],\quad -f_3=[1,2,3] -\] -als Basis. -Der zweidimensionale Randoperator ist die $6\times 4$-Matrix -\[ -\partial_2 -= -\begin{pmatrix*}[r] - 1& 1& 0& 0\\ --1& 0& 1& 0\\ - 0&-1&-1& 0\\ - 1& 0& 0& 1\\ - 0& 1& 0&-1\\ - 0& 0& 1& 1 -\end{pmatrix*}. -\] -Man kann leicht nachrechnen, dass $\partial_1\partial_2=0$ ist, wie es -für einen Kettenkomplex sein muss. - -Um nachzurechnen, dass die Homologiegruppe $H_1=0$ ist, müssen wir jetzt -nachprüfen, ob jeder Zyklus in $Z_1$ auch Bild der Randabbildung $\partial_2$ -ist. -Die ersten drei Spalten von $\partial_2$ sind genau die drei Zyklen -$z_1$, $z_2$ und $z_3$. -Insbesondere lassen sich alle Zyklen als Ränder darstellen, die -Homologiegruppe $H_1=0$ verschwindet. - -Die Zyklen in $C_2$ sind die Lösungen von $\partial_2z=0$. -Der Gauss-Algorithmus für $\partial_2$ liefert das -Tableau -\[ -\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} -\hline -f_0&f_1&f_2&f_3\\ -\hline -1&0&0& 1\\ -0&1&0&-1\\ -0&0&1& 1\\ -0&0&0& 0\\ -0&0&0& 0\\ -0&0&0& 0\\ -\hline -\end{tabular} -\] -Daraus liest man ab, dass es genau einen Zyklus nämlich -\[ -z -= -\begin{pmatrix} --1\\1\\-1\\1 -\end{pmatrix} -\] -$Z_2$ besteht also aus Vielfachen des Vektors $z$. - -Da es nur ein zweidimensionales Simplex gibt, ist $C_3$ eindimensional. -Die Randabbildung $\partial_3$ hat die Matrix -\[ -\partial_3 -= -\begin{pmatrix} -1\\ --1\\ -1\\ --1 -\end{pmatrix}. -\] -Die Zyklen $Z_2$ und die Ränder $B_2$ bilden also dieselbe Menge, auch -die Homologie-Gruppe $H_2$ ist $0$. - -Da es keine vierdimensionalen Simplizes gibt, ist $B_3=0$. -Die Zyklen $Z_3$ bestehen aus den Lösungen von $\partial_3w=0$, da -aber $\partial_3$ injektiv ist, ist $Z_3=0$. -Daher ist auch $H_3=0$. -\end{beispiel} - -\begin{beispiel} -Für dieses Beispiel entfernen wir das Innere des Tetraeders, es entsteht -ein Hohlraum. -Am Kettenkomplex der Triangulation ändert sich nur, dass $C_3$ jetzt -nur noch den $0$-Vektor enthält. -Das Bild $B_2=\operatorname{im}\partial_3$ wird damit auch $0$-dimensional, -während es im vorigen Beispiel eindimensional war. -Die einzige Änderung ist also in der Homologiegruppe -$H_2 = Z_2/B_2 = Z_2 / \{0\} \simeq \Bbbk$. -Die Homologiegruppe $H_2$ hat jetzt Dimension $1$ und zeigt damit den -Hohlraum an. -\end{beispiel} - -\subsection{Induzierte Abbildung -\label{buch:subsection:induzierte-abbildung}} -Früher haben wurde eine Abbildung $f_*$ zwischen Kettenkomplexen $C_*$ und -$D_*$ so definiert, -dass sie mit den Randoperatoren verträglich sein muss. -Diese Forderung bewirkt, dass sich auch eine lineare Abbildung -\[ -H_k(f) \colon H_k(C) \to H_k(D) -\] -zwischen den Homologiegruppen ergibt, wie wir nun zeigen wollen. - -Um eine Abbildung von $H_k(C)$ nach $H_k(D)$ zu definieren, müssen wir -zu einem Element von $H_k(C)$ ein Bildelement konstruieren. -Ein Element in $H_k(C)$ ist eine Menge von Zyklen in $Z^C_k$, die sich -nur um einen Rand in $B_k$ unterscheiden. -Wir wählen also einen Zyklus $z\in Z_k$ und bilden ihn auf $f_k(z)$ ab. -Wegen $\partial^D_kf(z)=f\partial^C_kz = f(0) =0 $ ist auch $f_k(z)$ -ein Zyklus. -Wir müssen jetzt aber noch zeigen, dass eine andere Wahl des Zyklus -das gleiche Element in $H_k(D)$ ergibt. -Dazu genügt es zu sehen, dass sich $f(z)$ höchstens um einen Rand -ändert, wenn man $z$ um einen Rand ändert. -Sei also $b\in B^C_k$ ein Rand, es gibt also ein $w\in C_{k+1}$ mit -$\partial^C_{k+1}w=b$. -Dann gilt aber auch -\[ -f_k(z+b) -= -f_k(z) + f_k(b) -= -f_k(z) + f_k(\partial^C_{k+1}w) -= -f_k(z) + \partial^D_{k+1}(f_k(w)). -\] -Der letzte Term ist ein Rand in $D_k$, somit ändert sich $f_k(z)$ nur -um diesen Rand, wenn man $z$ um einen Rand ändert. -$f_k(z)$ und $f_k(z+b)$ führen auf die selbe Homologieklasse. - +\input{chapters/95-homologie/homologieketten.tex} +\input{chapters/95-homologie/basiswahl.tex} +\input{chapters/95-homologie/eulerchar.tex} +\input{chapters/95-homologie/induzierteabb.tex} diff --git a/buch/chapters/95-homologie/homologieketten.tex b/buch/chapters/95-homologie/homologieketten.tex new file mode 100644 index 0000000..9874ddd --- /dev/null +++ b/buch/chapters/95-homologie/homologieketten.tex @@ -0,0 +1,281 @@ +\subsection{Homologie eines Kettenkomplexes +\label{buch:subsection:homologie-eines-kettenkomplexes}} +Wegzusammenhang lässt sich untersuchen, indem man in der Triangulation +nach Linearkombinationen von Kanten sucht, die als Rand die beiden Punkte +haben. +Zwei Punkte sind also nicht verbindbar und liegen damit in verschiedenen +Komponenten, wenn die beiden Punkte nicht Rand irgend einer +Linearkombination von Kanten sind. +Komponenten können also identifiziert werden, indem man unter allen +Linearkombinationen von Punkten, also $C_0$ all diejenigen ignoriert, +die Rand einer Linearkombinationv on Kanten sind, also $\partial_1C_1$. +Der Quotientenraum $H_0=C_0/\partial_1C_1$ enthält also für jede Komponente +eine Dimension. + +Eine Dimension höher könnten wir danach fragen, ob sich ein geschlossener +Weg zusammenziehen lässt. +In der Triangulation zeichnet sich ein geschlossener Weg dadurch aus, +dass jedes Ende einer Kante auch Anfang einer Folgekante ist, dass also +der Rand der Linearkombination von Kanten 0 ist. +Algebraisch bedeutet dies, dass wir uns für diejenigen Linearkombinationen +$z\in C_1$ interessieren, die keinen Rand haben, für die also $\partial_1z=0$ +gilt. + +\begin{definition} +Die Elemente von +\[ +Z_k += +Z_k^C += +\{z\in C_k\;|\; \partial_k z = 0\} += +\ker \partial_k +\] +heissen die {\em ($k$-dimensionalen) Zyklen} von $C_*$. +\end{definition} + +In einem Dreieck ist der Rand ein geschlossener Weg, der sich zusammenziehen +lässt, indem man ihn durch die Dreiecksfläche deformiert. +Entfernt man aber die Dreiecksfläche, ist diese Deformation nicht mehr +möglich. +Einen zusammenziehbaren Weg kann man sich also als den Rand eines Dreiecks +einer vorstellen. +``Löcher'' sind durch geschlossene Wege erkennbar, die nicht Rand eines +Dreiecks sein können. +Wir müssen also ``Ränder'' ignorieren. + +\begin{definition} +Die Elemente von +\[ +B_k += +B_k^C += +\{\partial_{k+1}z\;|\; C_{k+1}\} += +\operatorname{im} \partial_{k+1} +\] +heissen die {\em ($k$-dimensionalen) Ränder} von $C_*$. +\end{definition} + +Algebraisch ausgedrückt interessieren uns also nur Zyklen, die selbst +keine Ränder sind. +Der Quotientenraum $Z_1/B_1$ ignoriert unter den Zyklen diejenigen, die +Ränder sind, drückt also algebraisch die Idee des eindimensionalen +Zusammenhangs aus. +Wir definieren daher + +\begin{definition} +Die $k$-dimensionale Homologiegruppe des Kettenkomplexes $C_*$ ist +\[ +H_k(C) = Z_k/B_k = \ker \partial_k / \operatorname{im} \partial_{k+1}. +\] +Wenn nur von einem Kettenkomplex die Rede ist, kann auch $H_k(C)=H_k$ +abgekürzt werden. +\end{definition} + +% XXX Visualisierung Zyklen/Ränder, Klassen von Zyklen, die sich um einen +% XXX Rand unterscheiden + +Die folgenden zwei ausführlichen Beispiele sollen zeigen, wie die +Homologiegruppe $H_2$ die Anwesenheit eines Hohlraumes detektieren kann, +der entsteht, wenn man aus einem Tetraeder das innere entfernt. + +\begin{beispiel} +\begin{figure} +\centering +XXX Bild eines Tetraeders mit Bezeichnung der Ecken und Kanten +\caption{Triangulation eines Tetraeders, die Orientierung von Kanten +und Seitenflächen ist immer so gewählt, dass die Nummern der Ecken +aufsteigend sind. +\label{buch:homologie:tetraeder:fig}} +\end{figure} +Ein Tetraeder ist ein zweidmensionales Simplex, wir untersuchen seinen +Kettenkomplex und bestimmen die zugehörigen Homologiegruppen. +Zunächst müssen wir die einzelnen Mengen $C_k$ beschreiben und verwenden +dazu die Bezeichnungen gemäss Abbildung~\ref{buch:homologie:tetraeder:fig}. +$C_0$ ist der vierdimensionale Raum aufgespannt von den vier Ecken +$0$, $1$, $2$ und $3$ des Tetraeders. +$C_1$ ist der sechsdimensionale Vektorraum der Kanten +\[ +k_0 = [0,1],\quad +k_1 = [0,2],\quad +k_2 = [0,3],\quad +k_3 = [1,2],\quad +k_4 = [1,3],\quad +k_5 = [2,3] +\] +Der Randoperator $\partial_1$ hat die Matrix +\[ +\partial_1 += +\begin{pmatrix*}[r] +-1&-1&-1& 0& 0& 0\\ + 1& 0& 0&-1&-1& 0\\ + 0& 1& 0& 1& 0&-1\\ + 0& 0& 1& 0& 1& 1 +\end{pmatrix*}. +\] + +Wir erwarten natürlich, dass sich zwei beliebige Ecken verbinden lassen, +dass es also nur eine Komponente gibt und dass damit $H_1=\Bbbk$ ist. +Dazu beachten wir, dass das Bild von $\partial_1$ genau aus den Vektoren +besteht, deren Komponentensumme $0$ ist. +Das Bild $B_0$ von $\partial_1$ ist daher die Lösungsmenge der einen +Gleichung +\( +x_0+x_1+x_2+x_3=0. +\) +Der Quotientenraum $H_0=Z_0/B_0 = C_0/\operatorname{im}\partial_1$ +ist daher wie erwartet eindimensional. + +Wir bestimmen jetzt die Homologiegruppe $H_1$. +Da sich im Tetraeder jeder geschlossene Weg zusammenziehen lässt, +erwarten wir $H_1=0$. + +Die Menge der Zyklen $Z_1$ wird bestimmt, indem man die Lösungsmenge +des Gleichungssystems $\partial_1z=0$ bestimmt. +Der Gauss-Algorithmus für die Matrix $\partial_1$ liefert das +Schlusstableau +\[ +\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline +k_0&k_1&k_2&k_3&k_4&k_5\\ +\hline + 1& 0& 0& -1& -1& 0\\ + 0& 1& 0& 1& 0& -1\\ + 0& 0& 1& 0& 1& 1\\ + 0& 0& 0& 0& 0& 0\\ +\hline +\end{tabular} +\] +Daraus lassen sich drei linear unabhängig eindimensionale Zyklen ablesen, +die zu den Lösungsvektoren +\[ +z_1 += +\begin{pmatrix*}[r] +1\\ +-1\\ +0\\ +1\\ +0\\ +0 +\end{pmatrix*}, +\qquad +z_2 += +\begin{pmatrix*}[r] +1\\ +0\\ +-1\\ +0\\ +1\\ +0 +\end{pmatrix*}, +\qquad +z_3 += +\begin{pmatrix*}[r] +0\\ +1\\ +-1\\ +0\\ +0\\ +1 +\end{pmatrix*} +\] +gehören. + +$C_2$ hat die vier Seitenflächen +\[ +f_0=[0,1,2],\quad +f_1=[0,1,3],\quad +f_2=[0,2,3],\quad +f_3=[1,2,3] +\] +als Basis. +Der zweidimensionale Randoperator ist die $6\times 4$-Matrix +\[ +\partial_2 += +\begin{pmatrix*}[r] + 1& 1& 0& 0\\ +-1& 0& 1& 0\\ + 0&-1&-1& 0\\ + 1& 0& 0& 1\\ + 0& 1& 0&-1\\ + 0& 0& 1& 1 +\end{pmatrix*}. +\] +Man kann leicht nachrechnen, dass $\partial_1\partial_2=0$ ist, wie es +für einen Kettenkomplex sein muss. + +Um nachzurechnen, dass die Homologiegruppe $H_1=0$ ist, müssen wir jetzt +nachprüfen, ob jeder Zyklus in $Z_1$ auch Bild der Randabbildung $\partial_2$ +ist. +Die ersten drei Spalten von $\partial_2$ sind genau die drei Zyklen +$z_1$, $z_2$ und $z_3$. +Insbesondere lassen sich alle Zyklen als Ränder darstellen, die +Homologiegruppe $H_1=0$ verschwindet. + +Die Zyklen in $C_2$ sind die Lösungen von $\partial_2z=0$. +Der Gauss-Algorithmus für $\partial_2$ liefert das -Tableau +\[ +\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline +f_0&f_1&f_2&f_3\\ +\hline +1&0&0& 1\\ +0&1&0&-1\\ +0&0&1& 1\\ +0&0&0& 0\\ +0&0&0& 0\\ +0&0&0& 0\\ +\hline +\end{tabular} +\] +Daraus liest man ab, dass es genau einen Zyklus nämlich +\[ +z += +\begin{pmatrix} +-1\\1\\-1\\1 +\end{pmatrix} +\] +$Z_2$ besteht also aus Vielfachen des Vektors $z$. + +Da es nur ein zweidimensionales Simplex gibt, ist $C_3$ eindimensional. +Die Randabbildung $\partial_3$ hat die Matrix +\[ +\partial_3 += +\begin{pmatrix} +1\\ +-1\\ +1\\ +-1 +\end{pmatrix}. +\] +Die Zyklen $Z_2$ und die Ränder $B_2$ bilden also dieselbe Menge, auch +die Homologie-Gruppe $H_2$ ist $0$. + +Da es keine vierdimensionalen Simplizes gibt, ist $B_3=0$. +Die Zyklen $Z_3$ bestehen aus den Lösungen von $\partial_3w=0$, da +aber $\partial_3$ injektiv ist, ist $Z_3=0$. +Daher ist auch $H_3=0$. +\end{beispiel} + +\begin{beispiel} +Für dieses Beispiel entfernen wir das Innere des Tetraeders, es entsteht +ein Hohlraum. +Am Kettenkomplex der Triangulation ändert sich nur, dass $C_3$ jetzt +nur noch den $0$-Vektor enthält. +Das Bild $B_2=\operatorname{im}\partial_3$ wird damit auch $0$-dimensional, +während es im vorigen Beispiel eindimensional war. +Die einzige Änderung ist also in der Homologiegruppe +$H_2 = Z_2/B_2 = Z_2 / \{0\} \simeq \Bbbk$. +Die Homologiegruppe $H_2$ hat jetzt Dimension $1$ und zeigt damit den +Hohlraum an. +\end{beispiel} diff --git a/buch/chapters/95-homologie/hx.m b/buch/chapters/95-homologie/hx.m new file mode 100644 index 0000000..0003e76 --- /dev/null +++ b/buch/chapters/95-homologie/hx.m @@ -0,0 +1,129 @@ +split_long_rows(0) + +d = [ +#1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 +-1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 1 + 1,-1, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 2 + 0, 1,-1, 0, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 3 + 0, 0, 1,-1, 0, 0, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 4 + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 5 + 0, 0, 0, 0,-1, 1, 0, 0, 0, 0, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 6 + 0, 0, 0, 0, 0, 0,-1, 1, 0, 0, 0, 0, 1, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 7 + 0, 0, 0, 0, 0, 0, 0, 0,-1, 1, 0, 0, 0,-1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 8 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 1, 0, 1, 0, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 9 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 1, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0, 0; # 10 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,-1, 0,-1, 1, 0, 0, 0, 0; # 11 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 1, 0, 1, 0, 0, 0,-1, 0, 0, 0; # 12 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 1, 0, 0,-1, 1, 0; # 13 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 1, 1, 0,-1; # 14 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 1 # 15 +] + +rref(d) + +B = [ +#1 2 3 4 5 6 7 8 9101112131415161718192021222324252627 + 1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; + 0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; + 0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; + 0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; + 0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0; + 0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0; + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0; + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0; + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1 +]'; + +d*B + +Z = [ +#1 2 3 4 5 6 7 8 9 10 11 12 13 + 1, 0, 0, 0,-1, 0, 1, 0,-1, 0, 1, 0, 0; # 1 + 0, 1, 0, 0, 0, 0, 0, 0,-1, 0, 1, 0, 0; # 2 + 0, 0, 1, 0, 0,-1, 0, 1, 0, 0, 0, 0, 0; # 3 + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 4 + 1, 0, 0, 0,-1, 0, 1, 0,-1, 0, 1, 0, 0; # 5 + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 6 + 0, 1, 0, 0, 1, 0,-1, 0, 0, 0, 0, 0, 0; # 7 + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 8 + 0, 0, 1, 0, 0,-1, 0, 1, 1, 0,-1, 0, 0; # 9 + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 10 + 0, 0, 0, 1, 0, 1, 0,-1, 0, 0, 0, 0, 0; # 11 + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0; # 12 + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0; # 13 + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0; # 14 + 0, 0, 0, 0, 0, 0, 1, 0,-1, 0, 1, 0, 0; # 15 + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0; # 16 + 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,-1, 0, 0; # 17 + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0; # 18 + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,-1,-1, 1; # 19 + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0; # 20 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,-1, 1; # 21 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0; # 22 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,-1; # 23 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0; # 24 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0; # 25 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1; # 26 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 # 27 +] + +d * Z + +T = zeros(22, 9); +T(1:9,1:27) = B'; +T(10:22,1:27) = Z'; + +T + +for i = (2:22) + T(i,:) = T(i,:) - T(i,1) * T(1,:); +end +for i = (3:22) + T(i,:) = T(i,:) - T(i,2) * T(2,:); +end +for i = (4:22) + T(i,:) = T(i,:) - T(i,3) * T(3,:); +end +for i = (5:22) + T(i,:) = T(i,:) - T(i,4) * T(4,:); +end + +T + +for i = (15:22) + T(i,:) = T(i,:) - T(i,6) * T(14,:); +end +T +for i = (19:22) + T(i,:) = T(i,:) - T(i,8) * T(18,:); +end +T +for i = (16:22) + T(i,:) = T(i,:) - T(i,10) * T(15,:); +end +T +for i = (6:22) + T(i,:) = T(i,:) - T(i,13) * T(5,:); +end +T +for i = (7:22) + T(i,:) = T(i,:) - T(i,14) * T(6,:); +end +T +for i = (8:22) + T(i,:) = T(i,:) - T(i,19) * T(7,:); +end +T +for i = (9:22) + T(i,:) = T(i,:) - T(i,20) * T(8,:); +end +T +for i = (22:22) + T(i,:) = T(i,:) - T(i,22) * T(21,:); +end +T +for i = (10:22) + T(i,:) = T(i,:) - T(i,25) * T(9,:); +end +# +T diff --git a/buch/chapters/95-homologie/images/Makefile b/buch/chapters/95-homologie/images/Makefile index ac964ff..50c2b0d 100644 --- a/buch/chapters/95-homologie/images/Makefile +++ b/buch/chapters/95-homologie/images/Makefile @@ -3,7 +3,8 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: dreieck.pdf polyeder.pdf +all: complexbasis.pdf homocycles.pdf homoboundaries.pdf homoclasses.pdf \ + gausshomoex.pdf gausshomobasis.pdf dreieck.pdf polyeder.pdf dreieck.pdf: dreieck.tex pdflatex dreieck.tex @@ -11,3 +12,21 @@ dreieck.pdf: dreieck.tex polyeder.pdf: polyeder.tex pdflatex polyeder.tex +gausshomobasis.pdf: gausshomobasis.tex + pdflatex gausshomobasis.tex + +gausshomoex.pdf: gausshomoex.tex + pdflatex gausshomoex.tex + +homocycles.pdf: homocycles.tex + pdflatex homocycles.tex + +homoboundaries.pdf: homoboundaries.tex + pdflatex homoboundaries.tex + +homoclasses.pdf: homoclasses.tex + pdflatex homoclasses.tex + +complexbasis.pdf: complexbasis.tex + pdflatex complexbasis.tex + diff --git a/buch/chapters/95-homologie/images/complexbasis.pdf b/buch/chapters/95-homologie/images/complexbasis.pdf Binary files differnew file mode 100644 index 0000000..3a627d4 --- /dev/null +++ b/buch/chapters/95-homologie/images/complexbasis.pdf diff --git a/buch/chapters/95-homologie/images/complexbasis.tex b/buch/chapters/95-homologie/images/complexbasis.tex new file mode 100644 index 0000000..6accb2a --- /dev/null +++ b/buch/chapters/95-homologie/images/complexbasis.tex @@ -0,0 +1,158 @@ +% +% complexbasis.tex -- template for standalon tikz images +% +% (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} +\usetikzlibrary{decorations.pathreplacing} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.5} +\def\h{0.02} + +\def\rechteck#1#2#3{ + \fill[color=#3!20,rounded corners=2pt] + ({-\s+\h},{(2*(#1)-1)*\s+\h}) + rectangle + ({\s-\h},{(2*(#2)+1)*\s-\h}); + \draw[color=#3,rounded corners=2pt] + ({-\s+\h},{(2*(#1)-1)*\s+\h}) + rectangle + ({\s-\h},{(2*(#2)+1)*\s-\h}); + \foreach \y in {{#1},...,{#2}}{ + \fill[color=#3] (0,{2*\y*\s}) circle[radius=0.05]; + } +} +\def\Rechteck#1#2{ + \draw[rounded corners=3pt] + ({-\s-\h},{(2*(#1)-1)*\s-\h}) + rectangle + ({\s+\h},{(2*(#2)+1)*\s+\h}); +} + +\def\abbildung#1#2#3#4{ + \fill[color=gray!20] + ({\s},{(2*(#1)+1)*\s}) + -- + ({3.5-\s},{-\s}) + -- + ({3.5-\s},{(2*(#3)+1)*\s}) + -- + ({\s},{(2*(#1)+1)*\s}) + -- + cycle; + \fill[color=gray!40] + ({\s},{(2*(#1+1)-1)*\s}) + -- + ({3.5-\s},{(2*(#3+1)-1)*\s}) + -- + ({3.5-\s},{(2*(#4)+1)*\s}) + -- + ({\s},{(2*(#2)+1)*\s}) + -- + cycle; + \draw[<-,color=gray] + ({\s},{(2*(#1+1)-1)*\s}) + -- + ({3.5-\s},{(2*(#3+1)-1)*\s}); + \draw[->,color=gray] + ({3.5-\s},{(2*(#4)+1)*\s}) + -- + ({\s},{(2*(#2)+1)*\s}); + \draw[<-,color=gray!40] + ({\s},{(2*(#1)+1)*\s}) + -- + ({3.5-\s},{-\s}); +} + +\clip (-5.5,-1.2) rectangle (8.5,11.7); + +\begin{scope}[xshift=-7cm] + \abbildung{6}{7}{10}{11} +\end{scope} + +\begin{scope}[xshift=-3.5cm] + \abbildung{6}{10}{7}{11} + \rechteck{0}{6}{red} + \rechteck{7}{10}{darkgreen} + \rechteck{11}{11}{blue} + \Rechteck{0}{11} + \node[color=darkgreen] at ({0},{(9*2-1)*\s}) {$B_{k-2\mathstrut}$}; + \node at (1.75,{9*2*\s}) {$\Delta_{k-1}$}; + \node at (1.75,{-\s}) [above] {$\partial_{k-1\mathstrut}$}; + \draw[decorate,decoration={brace,amplitude=4pt}] + ({-\s-0.1},{-\s}) -- ({-\s-0.1},{(2*10+1)*\s}); + \node at ({-\s-0.17},{10*\s}) [left] {$Z_{k-2\mathstrut}$}; + \node at (0,{-\s}) [below] {$C_{k-2\mathstrut}$}; +\end{scope} + +\begin{scope} + \abbildung{2}{7}{5}{10} + \rechteck{8}{11}{blue} + \rechteck{3}{7}{darkgreen} + \rechteck{0}{2}{red} + \Rechteck{0}{11} + \node at (0,{-\s}) [below] {$C_{k-1\mathstrut}$}; + \node[color=darkgreen] at ({0},{(5*2-1)*\s}) {$B_{k-1\mathstrut}$}; + \node at (1.75,{6.5*2*\s}) {$\Delta_k$}; + \node at (1.75,{-\s}) [above] {$\partial_{k\mathstrut}$}; + \draw[decorate,decoration={brace,amplitude=4pt}] + ({-\s-0.1},{-\s}) -- ({-\s-0.1},{(2*7+1)*\s}); + \node at ({-\s-0.17},{7*\s}) [left] {$Z_{k-1\mathstrut}$}; +\end{scope} + +\begin{scope}[xshift=3.5cm] + \abbildung{3}{5}{5}{7} + \rechteck{6}{10}{blue} + \rechteck{4}{5}{darkgreen} + \rechteck{0}{3}{red} + \Rechteck{0}{10} + \node at (0,{-\s}) [below] {$C_{k\mathstrut}$}; + \node[color=darkgreen] at ({-0.25},{9*\s}) + {$B_{k\mathstrut}$}; + \node[color=darkgreen] at (0.24,{2*4*\s}) {$b_1$}; + \node[color=darkgreen] at (0.24,{2*4.5*\s+0.1}) {$\vdots$}; + \node[color=darkgreen] at (0.24,{2*5*\s}) {$b_r$}; + \node[color=red] at (0.24,{2*0*\s}) {$z_1$}; + \node[color=red] at (0.24,{2*1*\s}) {$z_2$}; + \node[color=red] at (0.24,{2*2*\s+0.1}) {$\vdots$}; + \node[color=red] at (0.24,{2*3*\s}) {$z_l$}; + \node[color=blue] at (0.24,{2*6*\s}) {$c_1$}; + \node[color=blue] at (0.24,{2*7*\s}) {$c_2$}; + \node[color=blue] at (0.24,{2*8*\s}) {$c_3$}; + \node[color=blue] at (0.24,{2*9*\s}) {$\vdots$}; + \node[color=blue] at (0.24,{2*10*\s}) {$c_s$}; + \node at (1.75,{5.5*2*\s}) {$\Delta_{k+1}$}; + \node at (1.75,{-\s}) [above] {$\partial_{k+1\mathstrut}$}; + \draw[decorate,decoration={brace,amplitude=4pt}] + ({-\s-0.1},{-\s}) -- ({-\s-0.1},{(2*5+1)*\s}); + \node at ({-\s-0.17},{5*\s}) [left] {$Z_{k\mathstrut}$}; +\end{scope} + +\begin{scope}[xshift=7cm] + \abbildung{0}{5}{4}{8} + \rechteck{5}{7}{blue} + \rechteck{1}{5}{darkgreen} + \rechteck{0}{0}{red} + \Rechteck{0}{7} + \node at (0,{-\s}) [below] {$C_{k+1\mathstrut}$}; + \node[color=darkgreen] at ({0},{(2.0*2+1)*\s}) + {$B_{k+1\mathstrut}$}; + \draw[decorate,decoration={brace,amplitude=4pt}] + ({-\s-0.1},{-\s}) -- ({-\s-0.1},{(2*5+1)*\s}); + \node at ({-\s-0.17},{5*\s}) [left] {$Z_{k+1\mathstrut}$}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/95-homologie/images/gausshomobasis.pdf b/buch/chapters/95-homologie/images/gausshomobasis.pdf Binary files differnew file mode 100644 index 0000000..07414bb --- /dev/null +++ b/buch/chapters/95-homologie/images/gausshomobasis.pdf diff --git a/buch/chapters/95-homologie/images/gausshomobasis.tex b/buch/chapters/95-homologie/images/gausshomobasis.tex new file mode 100644 index 0000000..ba21f54 --- /dev/null +++ b/buch/chapters/95-homologie/images/gausshomobasis.tex @@ -0,0 +1,109 @@ +% +% gaushomobasis.tex -- Bestimmung einer Basis der Homologiegruppen +% +% (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} +\definecolor{darkgreen}{rgb}{0,0.6,0} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\s{0.5} +\def\inset{0.05} +\def\w{8} + +\def\zeile#1#2{ + \fill[color=#2] ({0+\inset},{(12-#1)*\s+\inset}) + rectangle ({\w*\s-\inset},{(13-#1)*\s-\inset}); +} +\def\marke#1#2{ +\node at ({0.5*\w*\s},{12.5-#1)*\s}) {$#2\mathstrut$}; +} + +\def\gauss{ +\draw (0,0) rectangle ({\w*\s},{12*\s}); +\draw (0,{7*\s}) -- ({\w*\s},{7*\s}); +} + +\draw[->,color=red,line width=1pt] ({0.1*\s},{(12.5-1)*\s}) + to[out=180,in=90] (-3.6,-2); +\draw[->,color=red,line width=1pt] ({0.1*\s},{(12.5-2)*\s}) + to[out=180,in=90] (-2.2,-2); +\draw[->,color=red,line width=1pt] ({0.1*\s},{(12.5-4)*\s}) + to[out=180,in=90] (-0.7,-2); + +\draw[->,color=darkgreen,line width=1pt] ({0.1*\s},{(12.5-7)*\s}) + to[out=180,in=90] (0.9,-2); +\draw[->,color=darkgreen,line width=1pt] ({0.1*\s},{(12.5-8)*\s}) + to[out=180,in=90] (1.6,-2); +\draw[->,color=darkgreen,line width=1pt] ({(\w-0.1)*\s},{(12.5-12)*\s}) + to[out=0,in=90] (2.6,-2); + +\draw[->,line width=2pt] ({\w*\s+0.1},{6*\s}) -- (5.4,{6*\s}); +\node at ({0.5*(\w*\s+5.5)},{6*\s}) [above] {Gauss}; + +\begin{scope} +\zeile{1}{red!30} +\zeile{2}{red!30} +\zeile{4}{red!30} +\zeile{7}{darkgreen!30} +\zeile{8}{darkgreen!30} +%\zeile{10}{darkgreen!30} +\zeile{12}{darkgreen!30} +\marke{1}{\scriptstyle\partial_{k+1}e_1^{(k+1)}} +\marke{2}{\scriptstyle\partial_{k+1}e_2^{(k+1)}} +\marke{3}{\scriptstyle\partial_{k+1}e_3^{(k+1)}} +\marke{4}{\vdots} +\marke{5}{\scriptstyle\partial_{k+1}e_{n_{k+1}}^{(k+1)}} +\marke{6}{\scriptstyle z_1^{(k)}} +\marke{7}{\scriptstyle z_2^{(k)}} +\marke{8}{\scriptstyle z_3^{(k)}} +\marke{9}{\scriptstyle z_4^{(k)}} +\marke{10}{\vdots} +\marke{11}{\scriptstyle z_{l-1}^{(k)}} +\marke{12}{\scriptstyle z_{l}^{(k)}} +\gauss +\end{scope} + +\begin{scope}[xshift=5.5cm] +\zeile{1}{black!20} +\zeile{2}{black!20} +\zeile{3}{black} +\marke{3}{\color{white}0} +\zeile{4}{black!20} +\zeile{5}{black} +\marke{5}{\color{white}0} +\zeile{6}{black} +\marke{6}{\color{white}0} +\zeile{7}{black!20} +\zeile{8}{black!20} +\zeile{9}{black} +\marke{9}{\color{white}0} +\zeile{10}{black} +\marke{10}{\color{white}0} +\zeile{11}{black} +\marke{11}{\color{white}0} +\zeile{12}{black!20} +\gauss +\end{scope} + +\node at (-4.4,-2) [below right] {$\{ +{\color{red}\partial_{k+1}e_1^{(k+1)}}, +{\color{red}\partial_{k+1}e_2^{(k+1)}}, +{\color{red}\partial_{k+1}e_{i_3}^{(k+1)}},\dots, +{\color{darkgreen}z_2^{(k)}}, +{\color{darkgreen}z_3^{(k)}}, +\dots +{\color{darkgreen}z_l^{(k)}} +\} = {\color{red}\mathcal{B}_k} \cup {\color{darkgreen}\mathcal{Z}_k'}$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/95-homologie/images/gausshomoex.pdf b/buch/chapters/95-homologie/images/gausshomoex.pdf Binary files differnew file mode 100644 index 0000000..bc0b766 --- /dev/null +++ b/buch/chapters/95-homologie/images/gausshomoex.pdf diff --git a/buch/chapters/95-homologie/images/gausshomoex.tex b/buch/chapters/95-homologie/images/gausshomoex.tex new file mode 100644 index 0000000..df53f70 --- /dev/null +++ b/buch/chapters/95-homologie/images/gausshomoex.tex @@ -0,0 +1,120 @@ +% +% gausshomoex.tex -- Beispiel für die Bestimmung einer Basis von H_1 +% +% (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\s{2.0} + +\def\punkt#1#2{({((#1)+0.5*(#2))*\s},{(#2)*\s*sqrt(3)/2})} + +\def\knoten#1#2#3{ + \fill[color=white] \punkt{#1}{#2} circle[radius=0.3]; + \node at \punkt{#1}{#2} {$#3$\strut}; + \draw \punkt{#1}{#2} circle[radius=0.3]; +} +\def\dreieck#1#2#3{ + \fill[color=gray] \punkt{#1}{#2} -- \punkt{#1+1}{#2} + -- \punkt{#1}{(#2)+1} -- cycle; + \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut}; + \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm] + \punkt{#1}{#2} -- \punkt{#1+1}{#2}; + \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm] + \punkt{#1+1}{#2} -- \punkt{#1}{#2+1}; + \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm] + \punkt{#1}{#2+1} -- \punkt{#1}{#2}; +} + +\def\Dreieck#1#2#3{ + \fill[color=gray!50] \punkt{#1}{#2} -- \punkt{#1+1}{#2} + -- \punkt{#1+1}{(#2)-1} -- cycle; + \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut}; +} + +\def\kante#1#2#3{ + \fill[color=white,opacity=0.8] \punkt{#1}{#2} circle[radius=0.15]; + \node at \punkt{#1}{#2} {$\scriptstyle #3$}; +} + +\dreieck{0}{0}{1} +\dreieck{1}{0}{2} +\dreieck{2}{0}{3} +\dreieck{3}{0}{4} + +\dreieck{0}{1}{5} +\dreieck{2}{1}{6} + +\dreieck{0}{2}{7} +\dreieck{1}{2}{8} + +\dreieck{0}{3}{9} + + +\knoten{0}{0}{1} +\knoten{1}{0}{2} +\knoten{2}{0}{3} +\knoten{3}{0}{4} +\knoten{4}{0}{5} + +\knoten{0}{1}{6} +\knoten{1}{1}{7} +\knoten{2}{1}{8} +\knoten{3}{1}{9} + +\knoten{0}{2}{10} +\knoten{1}{2}{11} +\knoten{2}{2}{12} + +\knoten{0}{3}{13} +\knoten{1}{3}{14} + +\knoten{0}{4}{15} + +\kante{0.5}{0}{1} +\kante{1.5}{0}{2} +\kante{2.5}{0}{3} +\kante{3.5}{0}{4} + +\kante{0}{0.5}{5} +\kante{0.5}{0.5}{6} +\kante{1}{0.5}{7} +\kante{1.5}{0.5}{8} +\kante{2}{0.5}{9} +\kante{2.5}{0.5}{10} +\kante{3}{0.5}{11} +\kante{3.5}{0.5}{12} + +\kante{0.5}{1}{13} +\kante{2.5}{1}{14} + +\kante{0}{1.5}{15} +\kante{0.5}{1.5}{16} +\kante{2}{1.5}{17} +\kante{2.5}{1.5}{18} + +\kante{0.5}{2}{19} +\kante{1.5}{2}{20} + +\kante{0}{2.5}{21} +\kante{0.5}{2.5}{22} +\kante{1}{2.5}{23} +\kante{1.5}{2.5}{24} + +\kante{0.5}{3}{25} + +\kante{0}{3.5}{26} +\kante{0.5}{3.5}{27} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/95-homologie/images/homoboundaries.pdf b/buch/chapters/95-homologie/images/homoboundaries.pdf Binary files differnew file mode 100644 index 0000000..644f334 --- /dev/null +++ b/buch/chapters/95-homologie/images/homoboundaries.pdf diff --git a/buch/chapters/95-homologie/images/homoboundaries.tex b/buch/chapters/95-homologie/images/homoboundaries.tex new file mode 100644 index 0000000..ef8fd1a --- /dev/null +++ b/buch/chapters/95-homologie/images/homoboundaries.tex @@ -0,0 +1,114 @@ +% +% tikztemplate.tex -- template for standalon tikz images +% +% (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\s{0.4} + +\def\punkt#1#2{({((#1)+0.5*(#2))*\s},{(#2)*\s*sqrt(3)/2})} +\def\A{\punkt{0}{0}} +\def\B{\punkt{1}{0}} +\def\C{\punkt{2}{0}} +\def\D{\punkt{3}{0}} +\def\E{\punkt{4}{0}} +\def\F{\punkt{0}{1}} +\def\G{\punkt{1}{1}} +\def\H{\punkt{2}{1}} +\def\I{\punkt{3}{1}} +\def\J{\punkt{0}{2}} +\def\K{\punkt{1}{2}} +\def\L{\punkt{2}{2}} +\def\M{\punkt{0}{3}} +\def\N{\punkt{1}{3}} +\def\O{\punkt{0}{4}} + +\def\dreieck#1#2#3{ + \fill[color=gray] \punkt{#1}{#2} -- \punkt{#1+1}{#2} + -- \punkt{#1}{(#2)+1} -- cycle; +} + +\def\blau#1#2{ + \draw[color=blue] \punkt{#1}{#2} -- \punkt{#1+1}{#2} + -- \punkt{#1}{(#2)+1} -- cycle; +} + +\def\gebiet{ + \dreieck{0}{0}{1} + \dreieck{1}{0}{2} + \dreieck{2}{0}{3} + \dreieck{3}{0}{4} + \dreieck{0}{1}{5} + \dreieck{2}{1}{6} + \dreieck{0}{2}{7} + \dreieck{1}{2}{8} + \dreieck{0}{3}{9} +} + +\begin{scope} +\gebiet +\blau{0}{0} +\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_1^{(2)}$}; +\end{scope} + +\begin{scope}[xshift=3cm] +\gebiet +\blau{1}{0} +\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_2^{(2)}$}; +\end{scope} + +\begin{scope}[xshift=6cm] +\gebiet +\blau{2}{0} +\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_3^{(2)}$}; +\end{scope} + +\begin{scope}[xshift=9cm] +\gebiet +\blau{3}{0} +\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_4^{(2)}$}; +\end{scope} + +\begin{scope}[xshift=1.5cm,yshift=2.59cm] +\gebiet +\blau{0}{1} +\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_5^{(2)}$}; +\end{scope} + +\begin{scope}[xshift=7.5cm,yshift=2.59cm] +\gebiet +\blau{2}{1} +\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_6^{(2)}$}; +\end{scope} + +\begin{scope}[xshift=3cm,yshift=5.19cm] +\gebiet +\blau{0}{2} +\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_7^{(2)}$}; +\end{scope} + +\begin{scope}[xshift=6cm,yshift=5.19cm] +\gebiet +\blau{1}{2} +\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_8^{(2)}$}; +\end{scope} + +\begin{scope}[xshift=4.5cm,yshift=7.79cm] +\gebiet +\blau{0}{3} +\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_9^{(2)}$}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/95-homologie/images/homoclasses.pdf b/buch/chapters/95-homologie/images/homoclasses.pdf Binary files differnew file mode 100644 index 0000000..217ae75 --- /dev/null +++ b/buch/chapters/95-homologie/images/homoclasses.pdf diff --git a/buch/chapters/95-homologie/images/homoclasses.tex b/buch/chapters/95-homologie/images/homoclasses.tex new file mode 100644 index 0000000..e325d9b --- /dev/null +++ b/buch/chapters/95-homologie/images/homoclasses.tex @@ -0,0 +1,104 @@ +% +% tikztemplate.tex -- template for standalon tikz images +% +% (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] + +\definecolor{darkgreen}{rgb}{0,0.6,0} +\def\s{0.4} + +\def\punkt#1#2{({((#1)+0.5*(#2))*\s},{(#2)*\s*sqrt(3)/2})} +\def\A{\punkt{0}{0}} +\def\B{\punkt{1}{0}} +\def\C{\punkt{2}{0}} +\def\D{\punkt{3}{0}} +\def\E{\punkt{4}{0}} +\def\F{\punkt{0}{1}} +\def\G{\punkt{1}{1}} +\def\H{\punkt{2}{1}} +\def\I{\punkt{3}{1}} +\def\J{\punkt{0}{2}} +\def\K{\punkt{1}{2}} +\def\L{\punkt{2}{2}} +\def\M{\punkt{0}{3}} +\def\N{\punkt{1}{3}} +\def\O{\punkt{0}{4}} + +%\def\knoten#1#2#3{ +% \fill[color=white] \punkt{#1}{#2} circle[radius=0.3]; +% \node at \punkt{#1}{#2} {$#3$\strut}; +% \draw \punkt{#1}{#2} circle[radius=0.3]; +%} +\def\dreieck#1#2#3{ + \fill[color=gray] \punkt{#1}{#2} -- \punkt{#1+1}{#2} + -- \punkt{#1}{(#2)+1} -- cycle; +% \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut}; +% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm] +% \punkt{#1}{#2} -- \punkt{#1+1}{#2}; +% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm] +% \punkt{#1+1}{#2} -- \punkt{#1}{#2+1}; +% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm] +% \punkt{#1}{#2+1} -- \punkt{#1}{#2}; +} + +%\def\Dreieck#1#2#3{ +% \fill[color=gray!50] \punkt{#1}{#2} -- \punkt{#1+1}{#2} +% -- \punkt{#1+1}{(#2)-1} -- cycle; +% \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut}; +%} + +%\def\kante#1#2#3{ +% \fill[color=white,opacity=0.8] \punkt{#1}{#2} circle[radius=0.15]; +% \node at \punkt{#1}{#2} {$\scriptstyle #3$}; +%} + +\def\gebiet{ + \dreieck{0}{0}{1} + \dreieck{1}{0}{2} + \dreieck{2}{0}{3} + \dreieck{3}{0}{4} + \dreieck{0}{1}{5} + \dreieck{2}{1}{6} + \dreieck{0}{2}{7} + \dreieck{1}{2}{8} + \dreieck{0}{3}{9} +} + +\begin{scope} +\gebiet +\draw[color=darkgreen] \B -- \G -- \J -- \F -- cycle; +\node[color=darkgreen] at ({2*\s},-0.5) {$z_5'$}; +\end{scope} + +\begin{scope}[xshift=2cm] +\gebiet +\draw[color=darkgreen] \D -- \I -- \L -- \H -- cycle; +\node[color=darkgreen] at ({2*\s},-0.5) {$z_6'$}; +\end{scope} + +\begin{scope}[xshift=4cm] +\gebiet +\draw[color=darkgreen] \C -- \L -- \N -- \K -- \M -- \J -- cycle; +\node[color=darkgreen] at ({2*\s},-0.5) {$z_9'$}; +\end{scope} + +\begin{scope}[xshift=6cm] +\gebiet +\draw[color=darkgreen] \K -- \N -- \O -- \M -- cycle; +\node[color=darkgreen] at ({2*\s},-0.5) {$z_{12}'$}; +\end{scope} + + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/95-homologie/images/homocycles.pdf b/buch/chapters/95-homologie/images/homocycles.pdf Binary files differnew file mode 100644 index 0000000..075bb65 --- /dev/null +++ b/buch/chapters/95-homologie/images/homocycles.pdf diff --git a/buch/chapters/95-homologie/images/homocycles.tex b/buch/chapters/95-homologie/images/homocycles.tex new file mode 100644 index 0000000..898cac6 --- /dev/null +++ b/buch/chapters/95-homologie/images/homocycles.tex @@ -0,0 +1,157 @@ +% +% tikztemplate.tex -- template for standalon tikz images +% +% (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\s{0.4} + +\def\punkt#1#2{({((#1)+0.5*(#2))*\s},{(#2)*\s*sqrt(3)/2})} +\def\A{\punkt{0}{0}} +\def\B{\punkt{1}{0}} +\def\C{\punkt{2}{0}} +\def\D{\punkt{3}{0}} +\def\E{\punkt{4}{0}} +\def\F{\punkt{0}{1}} +\def\G{\punkt{1}{1}} +\def\H{\punkt{2}{1}} +\def\I{\punkt{3}{1}} +\def\J{\punkt{0}{2}} +\def\K{\punkt{1}{2}} +\def\L{\punkt{2}{2}} +\def\M{\punkt{0}{3}} +\def\N{\punkt{1}{3}} +\def\O{\punkt{0}{4}} + +%\def\knoten#1#2#3{ +% \fill[color=white] \punkt{#1}{#2} circle[radius=0.3]; +% \node at \punkt{#1}{#2} {$#3$\strut}; +% \draw \punkt{#1}{#2} circle[radius=0.3]; +%} +\def\dreieck#1#2#3{ + \fill[color=gray] \punkt{#1}{#2} -- \punkt{#1+1}{#2} + -- \punkt{#1}{(#2)+1} -- cycle; +% \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut}; +% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm] +% \punkt{#1}{#2} -- \punkt{#1+1}{#2}; +% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm] +% \punkt{#1+1}{#2} -- \punkt{#1}{#2+1}; +% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm] +% \punkt{#1}{#2+1} -- \punkt{#1}{#2}; +} + +%\def\Dreieck#1#2#3{ +% \fill[color=gray!50] \punkt{#1}{#2} -- \punkt{#1+1}{#2} +% -- \punkt{#1+1}{(#2)-1} -- cycle; +% \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut}; +%} + +%\def\kante#1#2#3{ +% \fill[color=white,opacity=0.8] \punkt{#1}{#2} circle[radius=0.15]; +% \node at \punkt{#1}{#2} {$\scriptstyle #3$}; +%} + +\def\gebiet{ + \dreieck{0}{0}{1} + \dreieck{1}{0}{2} + \dreieck{2}{0}{3} + \dreieck{3}{0}{4} + \dreieck{0}{1}{5} + \dreieck{2}{1}{6} + \dreieck{0}{2}{7} + \dreieck{1}{2}{8} + \dreieck{0}{3}{9} +} + +\begin{scope} +\gebiet +\draw[color=red] \A -- \B -- \F -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_1$}; +\end{scope} + +\begin{scope}[xshift=2cm] +\gebiet +\draw[color=red] \B -- \C -- \G -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_2$}; +\end{scope} + +\begin{scope}[xshift=4cm] +\gebiet +\draw[color=red] \C -- \D -- \H -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_3$}; +\end{scope} + +\begin{scope}[xshift=6cm] +\gebiet +\draw[color=red] \D -- \E -- \I -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_4$}; +\end{scope} + +\begin{scope}[xshift=8cm] +\gebiet +\draw[color=red] \A -- \B -- \G -- \F -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_5$}; +\end{scope} + +\begin{scope}[xshift=10cm] +\gebiet +\draw[color=red] \C -- \D -- \I -- \H -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_6$}; +\end{scope} + +\begin{scope}[xshift=12cm] +\gebiet +\draw[color=red] \A -- \B -- \G -- \J -- \F -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_7$}; +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-3cm] +\gebiet +\draw[color=red] \C -- \D -- \I -- \L -- \H -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_8$}; +\end{scope} + +\begin{scope}[xshift=2cm,yshift=-3cm] +\gebiet +\draw[color=red] \A -- \B -- \C -- \H -- \L -- \K -- \J -- \F -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_9$}; +\end{scope} + +\begin{scope}[xshift=4cm,yshift=-3cm] +\gebiet +\draw[color=red] \J -- \K -- \M -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_{10}$}; +\end{scope} + +\begin{scope}[xshift=6cm,yshift=-3cm] +\gebiet +\draw[color=red] \A -- \B -- \C -- \H -- \L -- \N -- \K -- \J -- \F -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_{11}$}; +\end{scope} + +\begin{scope}[xshift=8cm,yshift=-3cm] +\gebiet +\draw[color=red] \J -- \K -- \N -- \M -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_{12}$}; +\end{scope} + +\begin{scope}[xshift=10cm,yshift=-3cm] +\gebiet +\draw[color=red] \J -- \K -- \N -- \O -- \M -- cycle; +\node[color=red] at ({2*\s},-0.5) {$z_{13}$}; +\end{scope} + + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/95-homologie/induzierteabb.tex b/buch/chapters/95-homologie/induzierteabb.tex new file mode 100644 index 0000000..13591d7 --- /dev/null +++ b/buch/chapters/95-homologie/induzierteabb.tex @@ -0,0 +1,204 @@ +\subsection{Induzierte Abbildung +\label{buch:subsection:induzierte-abbildung}} +Früher haben wurde eine Abbildung $f_*$ zwischen Kettenkomplexen $C_*$ und +$D_*$ so definiert, +dass sie mit den Randoperatoren verträglich sein muss. +Diese Forderung bewirkt, dass sich auch eine lineare Abbildung +\[ +H_k(f) \colon H_k(C) \to H_k(D) +\] +zwischen den Homologiegruppen ergibt, wie wir nun zeigen wollen. + +\subsubsection{Definition der induzierten Abbildung} +Um eine Abbildung von $H_k(C)$ nach $H_k(D)$ zu definieren, müssen wir +zu einem Element von $H_k(C)$ ein Bildelement konstruieren. +Ein Element in $H_k(C)$ ist eine Menge von Zyklen in $Z^C_k$, die sich +nur um einen Rand in $B_k$ unterscheiden. +Wir wählen also einen Zyklus $z\in Z_k$ und bilden ihn auf $f_k(z)$ ab. +Wegen $\partial^D_kf(z)=f\partial^C_kz = f(0) =0 $ ist auch $f_k(z)$ +ein Zyklus. +Wir müssen jetzt aber noch zeigen, dass eine andere Wahl des Zyklus +das gleiche Element in $H_k(D)$ ergibt. +Dazu genügt es zu sehen, dass sich $f(z)$ höchstens um einen Rand +ändert, wenn man $z$ um einen Rand ändert. +Sei also $b\in B^C_k$ ein Rand, es gibt also ein $w\in C_{k+1}$ mit +$\partial^C_{k+1}w=b$. +Dann gilt aber auch +\[ +f_k(z+b) += +f_k(z) + f_k(b) += +f_k(z) + f_k(\partial^C_{k+1}w) += +f_k(z) + \partial^D_{k+1}(f_k(w)). +\] +Der letzte Term ist ein Rand in $D_k$, somit ändert sich $f_k(z)$ nur +um diesen Rand, wenn man $z$ um einen Rand ändert. +$f_k(z)$ und $f_k(z+b)$ führen auf die selbe Homologieklasse. + +\subsubsection{Matrixdarstellung} +In Abschnitt~\ref{buch:subsection:basiswahl} wurde gezeigt, wie man +für die Vektorräume der Zyklen eine Basis derart finden kann, +dass die Ränder von einer Teilmenge der Basis aufgespannt werden. +Eine solche Basis kann man immer erweitern zu einer Basis von $C_k$. +Für das Folgende bezeichnen wir die Vektoren einer solche Basis von $C_k$ +mit +\[ +\{ +b_1,\dots, b_r, +z_1,\dots,z_l, +c_1,\dots,c_s +\}. +\] +wobei die Vektoren die folgende Bedeutung haben: +\begin{center} +\begin{tabular}{|l|l|} +\hline +Vektoren&Bedeutung\\ +\hline +$b_1,\dots,b_r$ & Basis für $B_k(C)$ \\ +$z_1,\dots,z_l$ & zusätzliche Vektoren für eine Basis von $Z_k(C)$ \\ +$c_1,\dots,c_s$ & zusätzliche Vektoren für eine Basis von $C_k$ \\ +\hline +\end{tabular} +\end{center} + +Wählt man eine Basis dieser Art sowohl in $C_*$ wie auch in $D_*$, +dann kann man die induzierte Abbildung als $3\times 3$-Blockmatrix +schreiben. +Man verwendet dabei, dass $f_k$ die Unterräume $B_k(C)$ und +$Z_k(C)$ in die entsprechenden Unterräume $B_k(D)$ und $Z_k(D)$ +abbildet, also +\[ +f_k(B_k(C)) \subset B_k(D) +\qquad\text{und}\qquad +f_k(Z_k(C)) \subset Z_k(D). +\] +In der Matrixdarstellung äussert sich das darin, dass die Blöcke +links unten zu Null werden. +Die Matrixdarstellung von $f_k$ hat daher die Form +\[ +f_k += +\begin{pmatrix} +f_{k,B} & * & * \\ + 0 & f_{k,Z} & * \\ + 0 & 0 & f_{k,*} +\end{pmatrix}. +\] +Genauso kann man natürlich auch die Randoperatoren in dieser Basis +ausdrücken. +Sie bilden die Zyklen auf $0$ ab und aus den Vektoren $c_1,\dots,c_s$ +werden Ränder. +Die Matrix hat daher die Form +\[ +\partial_k += +\begin{pmatrix} +0& 0 & \Delta_k \\ +0& 0 & 0 \\ +0& 0 & 0 +\end{pmatrix} +\] +\begin{figure} +\centering +\includegraphics{chapters/95-homologie/images/complexbasis.pdf} +\caption{Basiswahl für den Kettenkomplex $C_k$. +Der Randoperator $\partial_k$ bildet $Z_k$ auf $0$ ab, der blaue +Unterraum, aufgespannt von den Vektoren $c_i$, wird bijektiv auf $B_{k-1}$ +abgebildet. +Eine Basis kann immer so gefunden werden, dass die Vektoren $c_i$ +von $\partial_k$ auf die Basisvektoren von $B_{k-1}$ abgebildet werden. +In dieser Basis ist $\Delta_k$ eine Einheitsmatrix. +\label{buch:homologie:fig:komplexbasis}} +\end{figure}% +Die Bedingung \eqref{buch:komplex:abbildung} für die Komplexabbildung +bekommt jetzt die Matrixform +\begin{equation} +\left. +\begin{aligned} +\partial_k^{D}\circ f_k +&= +\begin{pmatrix} +0&0&\Delta_k^{(D)}\\ +0&0&0\\ +0&0&0 +\end{pmatrix} +\begin{pmatrix} +f_{k,B} & * & * \\ + 0 & f_{k,Z} & * \\ + 0 & 0 & f_{k,*} +\end{pmatrix} += +\begin{pmatrix} +0&0&\Delta_k^{(D)}f_{k,*}\\ +0&0&0\\ +0&0&0 +\end{pmatrix} +\\ +f_{k-1}\circ \partial_k^C +&= +\begin{pmatrix} +f_{k-1,B}& * & * \\ + 0 &f_{k-1,Z}& * \\ + 0 & 0 &f_{k-1,*} +\end{pmatrix} +\begin{pmatrix} +0&0&\Delta_k^{(C)}\\ +0&0&0\\ +0&0&0 +\end{pmatrix} += +\begin{pmatrix} +0&0&f_{k-1,B}\Delta_k^{(C)}\\ +0&0&0\\ +0&0&0 +\end{pmatrix} +\end{aligned} +\right\} +\Rightarrow +\Delta_k^{(D)}f_{k,*} += +f_{k-1,B}\Delta_k^{(C)}. +\label{buch:homologie:matrixform} +\end{equation} +Für die induzierte Abbildung in Homologie ist ausschliesslich der +Block $f_{k,Z}$ notwendig, die Matrix von $H_k(f)$ in der gewählten +Basis von $H_k(C)$ bzw.~$H_k(D)$ ist also genau die Matrix $f_{k,Z}$. + + +Wie Abbildung~\ref{buch:homologie:fig:komplexbasis} können die +Basisvektoren $c_*$ in $C_k$ so gewählt werden, dass sie vom Randoperator +$\partial_k$ auf die Basisvektoren von $Z_{k-1}$ abgebildet werden. +Bei dieser Wahl wird die Matrix $\Delta_k$ eine Einheitsmatrix. + +\subsubsection{Spur} +Wir betrachten jetzt den Fall einer Selbstabbildung $f_*\colon C_*\to C_*$. +Die Basis soll so gewählt werden, dass $\Delta_k$ eine Einheitsmatrix ist. +Aus~\eqref{buch:homologie:matrixform} kann man ablesen, dass für diese +Basiswahl $f_{k,*}=f_{k-1,B}$ gilt. +Die Matrizen von $f_k$ haben daher die Form +\[ +f_k += +\begin{pmatrix} +f_{k,B} & * & * \\ + 0 & f_{k,Z} & * \\ + 0 & 0 & f_{k-1,B} +\end{pmatrix}. +\] +Entsprechend ist die Spur +\begin{equation} +\operatorname{Spur} f_k += +\operatorname{Spur} f_{k,B} ++ +\operatorname{Spur} f_{k,Z} ++ +\operatorname{Spur} f_{k-1,B}. +\label{buch:homologie:eqn:spur} +\end{equation} + + + diff --git a/buch/chapters/95-homologie/komplex.tex b/buch/chapters/95-homologie/komplex.tex index 7ed5937..9787bb2 100644 --- a/buch/chapters/95-homologie/komplex.tex +++ b/buch/chapters/95-homologie/komplex.tex @@ -56,7 +56,7 @@ für jedes $k$ \circ f_{k} = -f_{k+1} +f_{k-1} \circ \partial^C_k \label{buch:komplex:abbildung} @@ -76,26 +76,26 @@ kommutatives Diagramm dargestellt werden. & C_2 \arrow[l,"\partial_2^C" above] \arrow[d, "f_2"] & \dots \arrow[l] - \arrow[l, "\partial_{k-1}^C" above] - & C_k - \arrow[l, "\partial_k^C" above] - \arrow[d, "f_k"] - & C_{k+1}\arrow[l, "\partial_{k+1}^C" above] - \arrow[d, "f_{k+1}"] + \arrow[l, "\partial_{3}^C" above] + & C_{k-1} + \arrow[l, "\partial_{k-1}^C" above] + \arrow[d, "f_{k-1}"] + & C_{k}\arrow[l, "\partial_{k}^C" above] + \arrow[d, "f_{k}"] & \dots - \arrow[l,"\partial_{k+2}^C"] + \arrow[l,"\partial_{k+1}^C" above] \\ 0 & D_0 \arrow[l, "\partial_0^D" above] & D_1 \arrow[l,"\partial_1^D" above] & D_2 \arrow[l,"\partial_2^D" above] & \dots \arrow[l] - \arrow[l, "\partial_{k-1}^D" above] - & D_k - \arrow[l, "\partial_k^D" above] - & D_{k+1}\arrow[l, "\partial_{k+1}^D" above] + \arrow[l, "\partial_{3}^D" above] + & D_{k-1} + \arrow[l, "\partial_{k-1}^D" above] + & D_{k}\arrow[l, "\partial_{k}^D" above] & \dots - \arrow[l,"\partial_{k+2}^D" above] + \arrow[l,"\partial_{k+1}^D" above] \end{tikzcd} \label{buch:komplex:abbcd} \end{equation} diff --git a/buch/chapters/95-homologie/simplex.tex b/buch/chapters/95-homologie/simplex.tex index 0cf4aa7..3bf1004 100644 --- a/buch/chapters/95-homologie/simplex.tex +++ b/buch/chapters/95-homologie/simplex.tex @@ -3,14 +3,14 @@ % % (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule % -\section{Simplices +\section{Simplizes \label{buch:section:simplexe}} -\rhead{Simplices} +\rhead{Simplizes} Die Idee, das Dreieck und seinen Rand zu unterscheiden verlangt, dass wir zunächst Dreiecke und deren höherdimensionale Verallgemeinerungen, die sogenannten Simplizes entwickeln müssen. -\subsection{Simplices und Rand +\subsection{Simplizes und Rand \label{buch:subsection:simplices}} \subsubsection{Rand eines Dreiecks} diff --git a/buch/papers/clifford/10_Quaternionen.tex b/buch/papers/clifford/10_Quaternionen.tex index 3fe2876..6e60be1 100644 --- a/buch/papers/clifford/10_Quaternionen.tex +++ b/buch/papers/clifford/10_Quaternionen.tex @@ -6,208 +6,172 @@ \section{Quaternionen} \rhead{Quaternionen} -Wie die komplexen Zahlen eine Erweiterung der reellen Zahlen sind, sind die Quaternionen eine Erweiterung der komplexen Zahlen für den dreidimensionalen Raum. Sie haben, wie die komplexen Zahlen, eine dreh-streckende Eigenschaft. +Wie die komplexen Zahlen eine Erweiterung der reellen Zahlen sind, sind die Quaternionen eine Erweiterung der komplexen Zahlen für den dreidimensionalen Raum. Sie haben, wie die komplexen Zahlen, eine drehstreckende Eigenschaft. Sie finden beispielsweise in der Computergrafik und Robotik Anwendung. Die Quaternionen \begin{align} - q = w + xi + yj + zk \quad w,x,y,z \in \mathbb{R}\enspace q \in \mathbb{H} +q = w + xi + yj + zk \quad w,x,y,z \in \mathbb{R}\enspace q \in \mathbb{H} \end{align} können dabei eine Drehstreckung mit \begin{align} \label{QuatRot} - \begin{split} - v \mapsto v'' = qvq^{-1} - \end{split} +\begin{split} +v \mapsto v'' = qvq^{-1} +\end{split} \end{align} erreichen, falls $q,v,q^{-1} \in \mathbb{H}$ und die Zusammenhänge \begin{align} - \operatorname{Re}(q) = \operatorname{Re}(q^{-1})\quad \operatorname{Im}(q) = -\operatorname{Im}(q^{-1}) +\operatorname{Re}(q) = \operatorname{Re}(q^{-1})\quad\text{und}\quad \operatorname{Im}(q) = -\operatorname{Im}(q^{-1}) \end{align} -gelten. Auffallend ist bei der abbildenden Funktion \eqref{QuatRot} schon die Ähnlichkeit zu \eqref{rotGA} im Kapitel Rotation. Man könnte sich nun fragen wieso es drei imaginäre Einheiten $i,j,k$ gibt und nicht zwei, was doch näherliegender wäre. Der Grund liegt darin, weil es in der dritten Dimension drei Drehachsen gibt, anstatt nur eine. Wie im Kapitel Rotation beschrieben können wir auch hier die drei Drehungen durch Linearkombinationen von drei Bivektoren beschreiben. In der geometrischen Algebra ist es leicht herauszufinden wie viele Imaginärteile für jede weitere Dimension existieren. Dabei muss man nur die Anzahl der unabhängigen Bivektoren ermitteln. In der vierten Dimension würden es beispielsweise durch alle Vektorkombinationen von $\mathbf{e}_1, \mathbf{e}_2,\mathbf{e}_3, \mathbf{e}_4$ insgesamt 8 Bivektoren existieren (Nicht 16, da $\mathbf{e}_{ij} = -\mathbf{e}_{ji}$ nicht unabhängig voneinander sind). +gelten. Auffallend ist bei der abbildenden Funktion \eqref{QuatRot} schon die Ähnlichkeit zur Funktion \eqref{rotGA} im Abschnitt Drehung. Man könnte sich nun fragen wieso es drei imaginäre Einheiten $i,j,k$ gibt und nicht zwei, was doch näherliegender wäre. Der Grund liegt darin, weil es in drei Dimensionen drei Drehachsen gibt, anstatt nur eine. Wie im Abschnitt Drehung beschrieben können wir auch hier die drei Drehungen durch Linearkombinationen von drei Bivektoren beschreiben. In der geometrischen Algebra ist es leicht herauszufinden, wie viele Imaginärteile für jede weitere Dimension existieren. Dabei muss man nur die Anzahl der unabhängigen Bivektoren ermitteln. In vier Dimensionen würden es beispielsweise durch alle Vektorkombinationen von $\mathbf{e}_1, \mathbf{e}_2,\mathbf{e}_3, \mathbf{e}_4$ insgesamt 8 Bivektoren existieren (Nicht 16, da $\mathbf{e}_{ij} = -\mathbf{e}_{ji}$ nicht unabhängig voneinander sind). Ohne die geometrische Algebra, haben wir jetzt aber leider ein kleines Problem. Für die Darstellung der Quaternionen bräuchten wir insgesamt vier Achsen. Drei für die imaginären Einheiten und eine für die reelle Einheit. Ein weiterer Nachteil in visueller Hinsicht entsteht beim Anwenden eines Quaternion auf einen Vektor. Sie befinden sich nicht im gleichen Raum und müssen zuerst durch \begin{align} - \mathbf{v} = x\mathbf{\hat{x}} + y\mathbf{\hat{y}} + z \mathbf{\hat{z}} \in \mathbb{R}^3 \enspace\mapsto\enspace v = 0 + xi + yj + zk \in \mathbb{H} +\mathbf{v} = x\mathbf{\hat{x}} + y\mathbf{\hat{y}} + z \mathbf{\hat{z}} \in \mathbb{R}^3 \enspace\mapsto\enspace v = 0 + xi + yj + zk \in \mathbb{H} \end{align} ineinander umgewandelt werden, um damit zu rechnen. \subsection{Geometrische Algebra} Die geometrische Algebra kann beide Probleme beheben. Die Quaternionen können, wie schon im zweidimensionalen Fall durch die gerade Grade $G_3^+(\mathbb{R}) \cong \mathbb{H}$ dargestellt werden. Da wir uns jetzt aber in $G_3(\mathbb{R})$ befinden haben wir drei Basisvektoren $\mathbf{e}_1, \mathbf{e}_2, \mathbf{e}_3$ und können somit drei Bivektoren $\mathbf{e}_{12}, \mathbf{e}_{23}, \mathbf{e}_{31}$ bilden. \begin{definition} - Die Multivektoren mit Drehstreckenden Eigenschaften in $G_3(\mathbb{R})$ sind + Die Multivektoren mit drehstreckenden Eigenschaften in $G_3(\mathbb{R})$ sind \begin{align} - \mathbf{q} = w + x\mathbf{e}_{12} + y\mathbf{e}_{23} + z\mathbf{e}_{31} \quad w,x,y,z \in \mathbb{R}\enspace \mathbf{q} \in \mathbb{G}_3^+. + \mathbf{q} = w + x\mathbf{e}_{12} + y\mathbf{e}_{23} + z\mathbf{e}_{31} \quad w,x,y,z \in \mathbb{R}\enspace \mathbf{q} \in \mathbb{G}_3^+. \end{align} \end{definition} Die Probleme werden dadurch gelöst, da wir die Bivektoren im Raum nicht durch einzelne Achsen darstellen müssen, sondern sie als eine orientiere Fläche darstellen können. Anstatt die Vektoren in Quaternionen umzurechnen, können wir jetzt die Vektoren separat im gleichen Raum, wie in Abbildung \ref{BildQuaternionen} gezeigt, darstellen. \begin{figure} \centering - \begin{tikzpicture} - % Koordinatensystem - \draw[thin,gray!40] (-3,-2) grid (3,3); - \draw[<->] (-3,0)--(3,0) node[right]{$a_1$}; - \draw[<->] (0,-2)--(0,3) node[above]{$a_2$}; - \draw[<->] (3,3)--(-2,-2) node[left]{$a_3$}; - - % v Vektor - \draw[line width=2pt,black,-stealth](0,0)--(2,-1) node[anchor=north]{$\boldsymbol{v}$}; - - % q Quaternion - \draw[line width=0,fill=blue!40] (0,0)--(0.75,0)--(0.75,0.75)--(0,0.75) - node[xshift=0.375cm, yshift=-0.5cm, blue]{$x\boldsymbol{e_{12}}$}; - \draw[->] (0.7,0.55) arc (0:310:0.15); - - \draw[line width=0,fill=blue!40] (0,0)--(-1,-1)--(-1,0.71)--(0,1.71) - node[xshift=-0.5cm, yshift=-1.5cm, blue]{$y\boldsymbol{e_{23}}$}; - \draw[->] (-0.1,1.1) arc (0:310:0.15); - - \draw[line width=0,fill=blue!40] (0,0)--(-0.71,-0.71)--(0.29,-0.71)--(1,0) - node[xshift=-0.7cm, yshift=-0.2cm, blue]{$z\boldsymbol{e_{31}}$}; - \draw[->] (0,-0.5) arc (0:310:0.15); - - % Basisvektoren - \draw[line width=1.5pt,gray,-stealth](0,0)--(1,0) node[anchor=south west]{$\boldsymbol{e_1}$}; - \draw[line width=1.5pt,gray,-stealth](0,0)--(0,1) node[anchor=north west, yshift=0.2cm]{$\boldsymbol{e_2}$}; - \draw[line width=1.5pt,gray,-stealth](0,0)--(-0.71,-0.71) node[anchor=south, yshift=0.2cm]{$\boldsymbol{e_3}$}; - \end{tikzpicture} + \includegraphics{papers/clifford/3d/dq.pdf} \caption{Darstellung eines Quaternion $\mathbf{q}$ und eines Vektors $\mathbf{v}$ im selben Raum} \label{BildQuaternionen} \end{figure} -Wie schon im zweidimensionalen Fall \eqref{GAdrehstreck} beschreibt im dreidimensionalen Fall mit drei Bivektoren + +Betrachten wir nun das Produkt \begin{align} - \mathbf{qv} &= (w + x\mathbf{e}_{12} + y\mathbf{e}_{23} + z\mathbf{e}_{31})(a\mathbf{e}_1+b\mathbf{e}_2+c\mathbf{e}_3)\\ - &= \underbrace{w(a\mathbf{e}_1+b\mathbf{e}_2+c\mathbf{e}_3)}_{w\mathbf{v}} + \underbrace{x(-a\mathbf{e}_2+b\mathbf{e}_1}_{x\mathbf{v}_{\angle 90^\circ, \parallel \mathbf{e}_{12}}}+c\mathbf{e}_{123}) + \underbrace{y(-b\mathbf{e}_3+c\mathbf{e}_2}_{y\mathbf{v}_{\angle 90^\circ, \parallel \mathbf{e}_{23}}}+a\mathbf{e}_{123}) + \underbrace{z(a\mathbf{e}_3-c\mathbf{e}_1}_{z\mathbf{v}_{\angle 90^\circ, \parallel \mathbf{e}_{31}}}-b\mathbf{e}_{123}) +\mathbf{qv} &= (w + x\mathbf{e}_{12} + y\mathbf{e}_{23} + z\mathbf{e}_{31})(a\mathbf{e}_1+b\mathbf{e}_2+c\mathbf{e}_3)\\ +&= \underbrace{w(a\mathbf{e}_1+b\mathbf{e}_2+c\mathbf{e}_3)}_{\displaystyle{w\mathbf{v}}} + \underbrace{x(-a\mathbf{e}_2+b\mathbf{e}_1}_{\displaystyle{x\mathbf{v}_{\angle 90^\circ, \parallel \mathbf{e}_{12}}}}+c\mathbf{e}_{123}) + \underbrace{y(-b\mathbf{e}_3+c\mathbf{e}_2}_{\displaystyle{y\mathbf{v}_{\angle 90^\circ, \parallel \mathbf{e}_{23}}}}+a\mathbf{e}_{123}) + \underbrace{z(a\mathbf{e}_3-c\mathbf{e}_1}_{\displaystyle{z\mathbf{v}_{\angle 90^\circ, \parallel \mathbf{e}_{31}}}}-b\mathbf{e}_{123}). \end{align} -jeder Bivektoranteil, um wie viel der um 90° gedrehte zu der Ebene parallele Teil des Vektors gestreckt wird. Dabei dreht jeder Bivektor den Vektor um eine andere Achse und man sieht die dreh-streckende Eigenschaft ähnlich zu den komplexen Zahlen. Der störende Trivektoranteil $(xc+ya+zb)\mathbf{e}_{123}$ bekommt man aber nur weg, indem man noch wie in der Rotationsformel \eqref{QuatRot} den Inversen Quaternion $\mathbf{q}^{-1}$ anschliessend multipliziert, wobei die dreh-gestreckten parallelen Anteile nochmals um den gleichen Faktor dreh-gestreckt werden. Da nur so der Trivektoranteil wegfällt, sieht man, dass die Rotationsformel, der einzige Vernünftige weg ist, mit Quaternionen zu arbeiten. +Wie schon im zweidimensionalen Fall \eqref{GAdrehstreck}, beschreibt im dreidimensionalen Fall mit drei Bivektoren, jeder Bivektoranteil, um wie viel der um 90° gedrehte zu der Ebene parallele Teil des Vektors gestreckt wird. Dabei dreht jeder Bivektor den Vektor um eine andere Achse und man sieht die dreh-streckende Eigenschaft ähnlich zu den komplexen Zahlen. Der störende Trivektoranteil $(xc+ya+zb)\mathbf{e}_{123}$ bekommt man aber nur weg, indem man, wie in der Drehungsgleichung \eqref{QuatRot}, mit der Inversen Quaternion $\mathbf{q}^{-1}$ multipliziert, wobei die drehgestreckten parallelen Anteile nochmals drehgestreckt werden. Da nur so der Trivektoranteil wegfällt, sieht man, dass die Drehungsformel, der einzige vernünftige Weg ist, mit Quaternionen zu arbeiten. -In der Computergraphik und Robotik macht eine Drehstreckung aber nicht viel Sinn. Wieso sollte ein Objekt bei einer Drehung zusätzlich noch grösser werden? Darum verwendet man sogenannte Einheitsquaternionen, welche den Betrag $|\mathbf{q}|=1$ haben und somit rotieren sie die Objekte bzw. Vektoren lediglich. +In der Computergraphik und Robotik macht eine Drehstreckung aber nicht viel Sinn. Wieso sollte ein Objekt bei einer Drehung zusätzlich noch grösser werden? Darum verwendet man sogenannte Einheitsquaternionen, welche den Betrag $|\mathbf{q}|=1$ haben und somit drehen sie die Objekte bzw. Vektoren lediglich. \begin{definition} Die Einheitsquaternionen sind definiert als \begin{align} - \mathbf{q} = \cos(\alpha) + sin(\alpha)(\tilde{x}\mathbf{e}_{12} + \tilde{y}\mathbf{e}_{23} + \tilde{z}\mathbf{e}_{31}) + \mathbf{q} = \cos(\alpha) + \sin(\alpha)(\tilde{x}\mathbf{e}_{12} + \tilde{y}\mathbf{e}_{23} + \tilde{z}\mathbf{e}_{31}) \end{align} \end{definition} Zudem setzten wir $\tilde{x}^2+\tilde{y}^2+\tilde{z}^2=1$, damit \begin{align} - |\mathbf{q}| = \sqrt{cos(\alpha)^2 + sin(\alpha)^2(\tilde{x}^2+\tilde{y}^2+\tilde{z}^2) } = \sqrt{cos(\alpha)^2 + sin(\alpha)^2} = 1. +|\mathbf{q}| = \sqrt{\cos(\alpha)^2 + \sin(\alpha)^2(\tilde{x}^2+\tilde{y}^2+\tilde{z}^2) } = \sqrt{\cos(\alpha)^2 + \sin(\alpha)^2} = 1. \end{align} -Der Winkel $\alpha$ beschreibt dabei, wie im Bild \ref{BildQuaternionBeispiel2} gezeigt den halben Winkel, um welchen der parallelen Anteil $\mathbf{v_{\parallel}}$ des Vektors $\mathbf{v}$ zur kombinierten Bivektorebene $sin(\alpha)^2(\tilde{x}\mathbf{e}_{12} + \tilde{y}\mathbf{e}_{23} + \tilde{z}\mathbf{e}_{31})$ gedreht wird. +Der Winkel $\alpha$ beschreibt dabei, wie im Bild \ref{BildQuaternionBeispiel2} gezeigt, den halben Winkel, um welchen der parallelen Anteil $\mathbf{v_{\parallel}}$ des Vektors $\mathbf{v}$ zur kombinierten Bivektorebene $sin(\alpha)(\tilde{x}\mathbf{e}_{12} + \tilde{y}\mathbf{e}_{23} + \tilde{z}\mathbf{e}_{31})$ gedreht wird. -Um einen Vektor zu drehen, verwendet man die in Kapitel Rotation hergeleitete Formel +Um einen Vektor zu drehen, verwendet man die in Abschnitt Drehung hergeleitete Formel \begin{align} \label{QuatRotGA} - \begin{split} - \mathbf{v}'' = \mathbf{qvq}^{-1}, - \end{split} +\begin{split} +\mathbf{v}'' = \mathbf{qvq}^{-1}, +\end{split} \end{align} wobei wie auch schon bei den Quaternionen gelten muss, dass \begin{align} \label{GAReIm} - \operatorname{Re}(\mathbf{q}) = \operatorname{Re}(\mathbf{q}^{-1}) \enspace\text{und}\enspace \operatorname{Im}(\mathbf{q}) = -\operatorname{Im}(\mathbf{q}^-1). +\operatorname{Re}(\mathbf{q}) = \operatorname{Re}(\mathbf{q}^{-1}) \quad\text{und}\quad \operatorname{Im}(\mathbf{q}) = -\operatorname{Im}(\mathbf{q}^{-1}). \end{align} -Der Grund für die Zusammenhänge \eqref{GAReIm} kann man durch die hergeleitete vereinfachte Rotationsformel \eqref{GAvereinfRot} sehen, weil durch den negierten Winkel $\theta$ der Reelle bzw. Grad 0 Anteil +Der Grund für die Zusammenhänge \eqref{GAReIm} kann man durch die hergeleitete vereinfachte Drehungsgleichung \eqref{GAvereinfRot} sehen, weil durch den negierten Winkel $\theta$ der Reelle bzw. Grad 0 Anteil \begin{align} - \operatorname{Re}(e^{-\theta \mathbf{e}_{12}}) = \operatorname{Re}(e^{\theta \mathbf{e}_{12}}) +\operatorname{Re}(e^{-\theta \mathbf{e}_{12}}) = \operatorname{Re}(e^{\theta \mathbf{e}_{12}}) \end{align} -und der Imaginäre bzw. Grad 2 Anteil +und der imaginäre bzw. Grad 2 Anteil \begin{align} - \operatorname{Im}(e^{-\theta \mathbf{e}_{12}}) = -\operatorname{Im}(e^{\theta \mathbf{e}_{12}}) +\operatorname{Im}(e^{-\theta \mathbf{e}_{12}}) = -\operatorname{Im}(e^{\theta \mathbf{e}_{12}}) \end{align} -ist. Durch die geometrische Algebra sieht man nun wieso es wichtig ist bei Quaternionen für eine reine Drehstreckung mit $\mathbf{q}$ und $\mathbf{q}^{-1}$ beidseitig zu multiplizieren, sonst werden die senkrechten Anteile zu den Bivektorebenen ebenfalls beeinflusst, wie man im Kapitel Rotation bei der Formel (\ref{RotAufPerpPar}) sehen kann. +ist. Durch die geometrische Algebra sieht man nun, wieso es wichtig ist, bei Quaternionen für eine reine Drehstreckung mit $\mathbf{q}$ und $\mathbf{q}^{-1}$ beidseitig zu multiplizieren, sonst werden die senkrechten Anteile zu den Bivektorebenen ebenfalls beeinflusst, wie man im Abschnitt Drehung bei der Formel \eqref{RotAufPerpPar} sehen kann. \begin{beispiel} - Eine Drehung eines Vektors $\mathbf{v}= 1\mathbf{e}_2$ um 90 Grad um die $\mathbf{e}_1$-Achse und danach 90 Grad um die $\mathbf{e}_2$-Achse. Dafür nehmen wir zuerst einen Einheitsquaternion + Eine Drehung eines Vektors $\mathbf{v}= 1\mathbf{e}_2$ um 90 Grad um die $\mathbf{e}_1$-Achse und danach 90 Grad um die $\mathbf{e}_2$-Achse. Dafür nehmen wir zuerst die Einheitsquaternion \begin{align} - \mathbf{q}_{23} &= \cos(\pi/4) + sin(\pi/4)(1\mathbf{e}_{23}) = e^{(\pi/4)\mathbf{e}_{23}} &= \textstyle{\frac{\sqrt{2}}{2}}(1 + \mathbf{e}_{23})\\ - \mathbf{q}_{23}^{-1} &&= \textstyle{\frac{\sqrt{2}}{2}} (1- \mathbf{e}_{23}) + \mathbf{q}_{23} &= \cos(\pi/4) + \sin(\pi/4)(1\mathbf{e}_{23}) = e^{(\pi/4)\mathbf{e}_{23}} &= \textstyle{\frac{\sqrt{2}}{2}}(1 + \mathbf{e}_{23})\\ + \mathbf{q}_{23}^{-1} &&= \textstyle{\frac{\sqrt{2}}{2}} (1- \mathbf{e}_{23}) \end{align} - welcher um die $\mathbf{e}_{2}$-$\mathbf{e}_{3}$-Ebene um 90 Grad dreht und danach Einheitsquaternion + welcher um die $\mathbf{e}_{2}$-$\mathbf{e}_{3}$-Ebene um 90 Grad dreht und danach die Einheitsquaternion \begin{align} - \mathbf{q}_{31} &= \cos(\pi/4) + sin(\pi/4)(1\mathbf{e}_{31}) = e^{(\pi/4)\mathbf{e}_{31}} &= \textstyle{\frac{\sqrt{2}}{2}}(1 + \mathbf{e}_{31})\\ - \mathbf{q}_{31}^{-1} &&= \textstyle{\frac{\sqrt{2}}{2}}(1 - \mathbf{e}_{31}) + \mathbf{q}_{31} &= \cos(\pi/4) + \sin(\pi/4)(1\mathbf{e}_{31}) = e^{(\pi/4)\mathbf{e}_{31}} &= \textstyle{\frac{\sqrt{2}}{2}}(1 + \mathbf{e}_{31})\\ + \mathbf{q}_{31}^{-1} &&= \textstyle{\frac{\sqrt{2}}{2}}(1 - \mathbf{e}_{31}), \end{align} - welcher um die $\mathbf{e}_{3}$-$\mathbf{e}_{1}$-Ebene um 90 Grad dreht. Um die vollständige Rotation zu beschreiben können die Einheitsquaternion multipliziert werden, wobei die Reihenfolge der Ausführung beachtet werden muss. Somit ist + welcher um die $\mathbf{e}_{3}$-$\mathbf{e}_{1}$-Ebene um 90 Grad dreht. Um die vollständige Drehung zu beschreiben, können die Einheitsquaternionen multipliziert werden, wobei die Reihenfolge der Ausführung beachtet werden muss. Somit ist \begin{align} \label{FormelBeispielQuaternion} - \mathbf{q} &= \mathbf{q}_{31}\mathbf{q}_{23} = \textstyle{\frac{\sqrt{2}}{2}}(1 + \mathbf{e}_{31})\textstyle{\frac{\sqrt{2}}{2}}(1 + \mathbf{e}_{23}) &= \textstyle{\frac{1}{2}}(1 + \mathbf{e}_{31} + \mathbf{e}_{23} + \mathbf{e}_{12})\\ - \mathbf{q}^{-1} &= \mathbf{q}_{23}^{-1}\mathbf{q}_{31}^{-1} = \textstyle{\frac{\sqrt{2}}{2}} (1- \mathbf{e}_{23})\textstyle{\frac{\sqrt{2}}{2}}(1 -\mathbf{e}_{31}) &= \textstyle{\frac{1}{2}}(1 - \mathbf{e}_{31} - \mathbf{e}_{23} - \mathbf{e}_{12}). + \mathbf{q} &= \mathbf{q}_{31}\mathbf{q}_{23} = \textstyle{\frac{\sqrt{2}}{2}}(1 + \mathbf{e}_{31})\textstyle{\frac{\sqrt{2}}{2}}(1 + \mathbf{e}_{23}) &= \textstyle{\frac{1}{2}}(1 + \mathbf{e}_{31} + \mathbf{e}_{23} + \mathbf{e}_{12})\\ + \mathbf{q}^{-1} &= \mathbf{q}_{23}^{-1}\mathbf{q}_{31}^{-1} = \textstyle{\frac{\sqrt{2}}{2}} (1- \mathbf{e}_{23})\textstyle{\frac{\sqrt{2}}{2}}(1 -\mathbf{e}_{31}) &= \textstyle{\frac{1}{2}}(1 - \mathbf{e}_{31} - \mathbf{e}_{23} - \mathbf{e}_{12}). \end{align} - Wenn wir nun den Quaternion $\mathbf{q}$ auf den Vektor $\mathbf{v}$ anwenden + Wenn wir nun die Quaternion $\mathbf{q}$ auf den Vektor $\mathbf{v}$ anwenden, erhalten wir \begin{align} - \mathbf{v}'' = \mathbf{qvq}^{-1} &= \textstyle{\frac{1}{2}}(1 + \mathbf{e}_{31} + \mathbf{e}_{23} + \mathbf{e}_{12})(1\mathbf{e}_2)\textstyle{\frac{1}{2}}(1 - \mathbf{e}_{31} - \mathbf{e}_{23} - \mathbf{e}_{12})\\ - &= \textstyle{\frac{1}{4}}(\mathbf{e}_2 + \mathbf{e}_{123} - \mathbf{e}_3 + \mathbf{e}_1)(1 - \mathbf{e}_{31} - \mathbf{e}_{23} - \mathbf{e}_{12})\\ - &= (\textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}})\mathbf{e}_1 + (\textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}} - \textstyle{\frac{1}{4}} - \textstyle{\frac{1}{4}})\mathbf{e}_2 +\\ &(-\textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}} - \textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}})\mathbf{e}_3 + (\textstyle{\frac{1}{4}} - \textstyle{\frac{1}{4}} - \textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}})\mathbf{e}_{123}\\ - &= 1e_1 + \mathbf{v}'' = \mathbf{qvq}^{-1} &= \textstyle{\frac{1}{2}}(1 + \mathbf{e}_{31} + \mathbf{e}_{23} + \mathbf{e}_{12})(1\mathbf{e}_2)\textstyle{\frac{1}{2}}(1 - \mathbf{e}_{31} - \mathbf{e}_{23} - \mathbf{e}_{12})\\ + &= \textstyle{\frac{1}{4}}(\mathbf{e}_2 + \mathbf{e}_{123} - \mathbf{e}_3 + \mathbf{e}_1)(1 - \mathbf{e}_{31} - \mathbf{e}_{23} - \mathbf{e}_{12})\\ + &= (\textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}})\mathbf{e}_1 + (\textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}} - \textstyle{\frac{1}{4}} - \textstyle{\frac{1}{4}})\mathbf{e}_2 +\\ &\qquad(-\textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}} - \textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}})\mathbf{e}_3 + (\textstyle{\frac{1}{4}} - \textstyle{\frac{1}{4}} - \textstyle{\frac{1}{4}} + \textstyle{\frac{1}{4}})\mathbf{e}_{123}\\ + &= 1e_1. \end{align} Anders betrachtet könnte man von der Formel \eqref{FormelBeispielQuaternion} sehen, dass der Drehwinkel \begin{align} - \alpha = \arccos(w) = \arccos(\textstyle{\frac{1}{2}}) = 60° + \alpha = \arccos(w) = \arccos(\textstyle{\frac{1}{2}}) = 60° \end{align} und die Ebene der kombinierten Bivektoren wie in Abbildung \ref{BildQuaternionBeispiel2} aussieht. - Somit kann man sich ebenfalls Vorstellen, wie der parallele Anteil zur Ebene insgesamt um 120° rotiert wird während der senkrechte Anteil unverändert bleibt + Somit kann man sich ebenfalls vorstellen, wie der parallele Anteil zur Ebene insgesamt um 120° gedreht wird, während der senkrechte Anteil unverändert bleibt. \end{beispiel} +\begin{figure} + \centering + \includegraphics{papers/clifford/3d/qq.pdf} + + \caption{Beispiel für Drehung um 90 Grad je um die $\mathbf{e}_1$- und $\mathbf{e}_2$-Achse.} + \label{BildQuaternionBeispiel} +\end{figure} \begin{figure} \centering - \begin{tikzpicture} - % q Quaternion - \draw[line width=0,fill=blue!40] (-0.75,-1)--(1.5,-0.5)--(0.55,1.35)--(-1.5,1) - node[xshift=0.375cm, yshift=-0.5cm, blue]{$\boldsymbol{q}$}; - \draw[->] (-0.7, 0.5) arc (310:0:0.15); - - % Koordinatensystem - \draw[thin,gray!40] (-3,-2) grid (3,3); - \draw[<->] (-3,0)--(3,0) node[right]{$a_1$}; - \draw[<->] (0,-2)--(0,3) node[above]{$a_2$}; - \draw[<->] (3,3)--(-2,-2) node[left]{$a_3$}; - - % Basisvektoren - \draw[line width=1.5pt,gray,-stealth](0,0)--(2,0) node[anchor=south west]{$\boldsymbol{e_1}$}; - \draw[line width=1.5pt,gray,-stealth](0,0)--(0,2) node[anchor=north west, yshift=0.2cm]{$\boldsymbol{e_2}$}; - \draw[line width=1.5pt,gray,-stealth](0,0)--(-1.41,-1.41) node[anchor=south, yshift=0.2cm]{$\boldsymbol{e_3}$}; - - % v Vektor - \draw[line width=2pt,black,-stealth](-0.05,0)--(-0.05,2) node[anchor=east]{$\boldsymbol{v}$}; - % vpar Vektor - \draw[line width=2pt,red,-stealth](0,0)--(-0.33,1.25) node[anchor=east]{$\boldsymbol{v_{\parallel}}$}; - % vperp Vektor - \draw[line width=2pt,green,-stealth](-0.33,1.25)--(0,2) node[anchor=east, xshift = -0.05, yshift = -0.3cm]{$\boldsymbol{v_{\perp}}$}; - % v'' Vektor - \draw[line width=2pt,black,-stealth](0,0.05)--(2,0.05) node[anchor=north, xshift = 0.25cm]{$\boldsymbol{v}''$}; - % vpar'' Vektor - \draw[line width=2pt,red,-stealth](0,0)--(1.66,-0.75) node[anchor=east, yshift = -0.2cm, xshift = -0.1cm]{$\boldsymbol{v_{\parallel}''}$}; - % vperp'' Vektor - \draw[line width=2pt,green,-stealth](1.66,-0.75)--(2,0) node[anchor=east, xshift = 0.5cm, yshift = -0.65cm]{$\boldsymbol{v_{\perp}''}$}; - - \coordinate (A) at (0,0); - \coordinate (B) at (-0.33,1.25); - \coordinate (C) at (1.66,-0.75); - \tikzset{anglestyle/.style={angle eccentricity=2, draw, thick, angle radius=0.75cm, purple}} - \draw pic ["120° $=2\alpha$", anglestyle] {angle = C--A--B}; - \end{tikzpicture} + \includegraphics{papers/clifford/3d/drehung.pdf} \caption{Beim Beispiel wird der parallele Anteil um 120° gedreht während der senkrechte Anteil zur kombinierten Ebene (Bivektoraddition) gleich bleibt} \label{BildQuaternionBeispiel2} \end{figure} \subsection{Interpolation} -In der Computergrafik wird Interpolation verwendet, um eine flüssige Drehbewegung zu erreichen. Dabei wird die gewünschte Drehbewegungen des Objektes in kleinere aufgeteilt. Man kann dabei mit zwei verschiedenen Systemen arbeiten. +In der Computergrafik wird Interpolation verwendet, um eine flüssige Drehbewegung zu erreichen. Dabei wird die ganze gewünschte Drehbewegungen des Objektes in kleinere Drehbewegungen aufgeteilt, wobei diese zeitlich nacheinander auf das Objekt angewendet werden. Als Vergleich könnte man sagen, dass ein Film auch nur Bilder sind, welche zeitlich nacheinander gezeigt werden. Man kann dabei mit zwei verschiedenen Systemen arbeiten. \begin{itemize} - \item Mit den Eulerschen Winkeln, welche für die Meisten zwar intuitiver sind, aber dafür Nachteile haben, worauf ich in diesem Abschnitt eingehen werde. Dabei kann eine ganze Drehbewegung $\mathbf{v}'' = R\mathbf{v}$ durch die Drehmatrix $R$ - \begin{align} - \begin{split} - &R = R_z(\gamma) R_y(\beta) R_x(\alpha)\\ - &R = - \begin{pmatrix} - \cos(\gamma) & -\sin(\gamma) & 0\\ \sin(\gamma) & \cos(\gamma) & 0 \\ 0 & 0 & 1 - \end{pmatrix} - \begin{pmatrix} - \cos(\beta) & 0 & \sin(\beta)\\ 0 & 1 & 0 \\ -\sin(\beta) & 0 & \cos(\beta) - \end{pmatrix} - \begin{pmatrix} - 1 & 0 & 0 \\ 0 & \cos(\alpha) & -\sin(\alpha)\\ 0 & \sin(\alpha) & \cos(\alpha) - \end{pmatrix} - \end{split} + \item Mit den Eulerschen Winkeln, welche für die Meisten zwar intuitiver sind, aber dafür Nachteile haben, worauf ich in diesem Abschnitt eingehen werde. Dabei kann eine ganze Drehbewegung $\mathbf{v}'' = R\mathbf{v}$ durch die Drehmatrix + \begin{align} \label{GADrehmatrix} + R = + \underbrace{ + \begin{pmatrix} + \cos(\gamma) & -\sin(\gamma) & 0\\ \sin(\gamma) & \cos(\gamma) & 0 \\ 0 & 0 & 1 + \end{pmatrix} + }_{\displaystyle{R_z(\gamma)}} + \underbrace{ + \begin{pmatrix} + \cos(\beta) & 0 & \sin(\beta)\\ 0 & 1 & 0 \\ -\sin(\beta) & 0 & \cos(\beta) + \end{pmatrix} + }_{\displaystyle{R_y(\beta)}} + \underbrace{ + \begin{pmatrix} + 1 & 0 & 0 \\ 0 & \cos(\alpha) & -\sin(\alpha)\\ 0 & \sin(\alpha) & \cos(\alpha) + \end{pmatrix} + }_{\displaystyle{R_x(\alpha)}} \end{align} - dargestellt werden. Wichtig dabei zu sehen ist, dass die Drehbewegungen durch die einzelnen Matrizen nacheinander ausgeführt werden. Das bedeutet, wenn man die Reihenfolge vertauscht, bekommt man eine völlig andere Drehung. Man kann die Auswirkungen der Reihenfolge gut bei einem Gimbal (REF zu BILD) sehen. Die Matrix ganz links ist die, welche als letztes Angewendet wird. Somit bildet sie die Drehung des äusseren Rings, welche auch die zwei inneren Ringe und das Objekt mitdreht. Die Matrix ganz rechts hingegen bildet nur die Drehung des inneren Rings, welche nur das Objekt selber dreht. Man kann dabei erkennen, dass vorgehen dabei sehr intuitiv ist, aber es kompliziert sein kann eine gewünschte Drehbewegung auszuführen, da sich beim Drehen der äusseren Achse, sich auch die Inneren drehen. Das bedeutet, wenn man sich eine Drehbewegung um die anfängliche x Achse mit $R_x(\alpha_2)$ wünscht, und vorher eine beliebige Drehung $R = R_z(\gamma_1) R_y(\beta_1) R_x(\alpha_1)$ ausgeführt hat, bekommt man nicht das richtige Ergebnis, da die anfängliche x-Achse durch die Drehmatrizen $R_z(\gamma_1)$ und $R_y(\beta_1)$ zu einer neuen, lokalen x-Achse wurde. - \item Andererseits mit den Quaternionen, welche die besondere Eigenschaft haben, dass eine Drehung immer um die globale Achsen ausgeführt wird, egal in welcher Rotationsposition sich das Objekt befindet. + dargestellt werden. Wichtig dabei zu sehen ist, dass die Drehbewegungen durch die einzelnen Matrizen nacheinander ausgeführt werden. Das bedeutet, wenn man die Reihenfolge vertauscht, bekommt man eine völlig andere Drehung. Man kann die Auswirkungen der Reihenfolge gut bei einem Gimbal im Bild \ref{BildReihenfolgeGimbal} sehen. Die Matrix ganz links in der Gleichung \eqref{GADrehmatrix} ist die, welche als letztes Angewendet wird. Somit bildet sie die Drehung des äusseren Rings, welche auch die zwei inneren Ringe und das Objekt mitdreht. Die Matrix ganz rechts hingegen bildet nur die Drehung des inneren Rings, welche nur das Objekt mitdreht. Man kann dabei erkennen, dass vorgehen dabei sehr intuitiv ist, aber es kompliziert sein kann eine gewünschte Drehbewegung auszuführen, da sich beim Drehen der äusseren Achse, sich auch die Inneren drehen. Das bedeutet, wenn man sich eine Drehbewegung um die anfängliche x Achse mit $R_x(\alpha_2)$ wünscht, und vorher eine beliebige Drehung $R = R_z(\gamma_1) R_y(\beta_1) R_x(\alpha_1)$ ausgeführt hat, bekommt man nicht das richtige Ergebnis, da die anfängliche x-Achse durch die Drehmatrizen $R_z(\gamma_1)$ und $R_y(\beta_1)$ zu einer neuen, lokalen x-Achse wurde. + \item Andererseits mit den Quaternionen, welche die besondere Eigenschaft haben, dass eine Drehung immer um die globale Achsen ausgeführt wird, egal in welcher Drehungsposition sich das Objekt befindet. \end{itemize} Für Spielentwickler ist es darum meist sinnvoller Quaternionen für Drehbewegungen anzuwenden, als sich mit komplizierten Berechnungen mit Eulerschen Winkeln herumzuschlagen. + +\begin{figure} + \centering + \includegraphics[width=10cm]{papers/clifford/Bilder/ReihenfolgeGimbal.png} + \caption{Das Gimbal Lock tritt ein, wenn zwei Drehachsen in der gleichen Ebene liegen. Dies ist im rechten Bild bei der grünen und blauen Achse der Fall. Der rote Kreis würde sich an der oberen Halterung genau in die gleiche Richtung drehen, wie der grüne Kreis an der unteren Halterung. Man verliert somit eine Drehrichtung.} + \label{BildReihenfolgeGimbal} +\end{figure} + \subsection{Gimbal-Lock} -Ein weiterer Nachteil der Eulerschen Winkel ist das Gimbal-Lock. Es entsteht dann, wenn der äussere Ring Deckungsgleich über denn Inneren gedreht wird. Dabei verliert das Gimbal eine Drehrichtung, da der äussere und Innere Ring nun die gleiche Drehrichtung besitzen. Dies kann beispielsweise Probleme bei Spielen bei der Berechnung der Interpolation führen. Man hat das bei älteren Spielen dann gesehen, wenn plötzlich Gliedmassen bei den Spielermodellen in unnatürlichen Richtungen gesprungen sind.
\ No newline at end of file +Ein weiterer Nachteil der Eulerschen Winkel ist das Gimbal-Lock. Es entsteht dann, wenn zwei Ringe Deckungsgleich übereinander gedreht werden, wie man im Bild \eqref{BildReihenfolgeGimbal} sieht. Dabei verliert das Gimbal eine Drehrichtung, da der äussere und Innere Ring nun die gleiche Drehrichtung besitzen. Dies kann beispielsweise Probleme bei Spielen bei der Berechnung der Interpolation führen. Man hat dies bei älteren Spielen wie im Bild \ref{BildGimbalLock} dann gesehen, wenn plötzlich Gliedmassen bei den Spielermodellen in unnatürliche Richtungen gesprungen sind. + +\begin{figure} + \centering + \includegraphics[width=10cm]{papers/clifford/Bilder/GimbalLock.png} + \caption{Interpolationsfehler durch Gimbal-Lock} + \label{BildGimbalLock} +\end{figure}
\ No newline at end of file diff --git a/buch/papers/clifford/11_Fazit.tex b/buch/papers/clifford/11_Fazit.tex index 7352399..54fa016 100644 --- a/buch/papers/clifford/11_Fazit.tex +++ b/buch/papers/clifford/11_Fazit.tex @@ -6,4 +6,4 @@ \section{Fazit} \rhead{Fazit} -Die geometrische Algebra ist dafür ausgelegt geometrische Operationen, wie die Spiegelung oder Rotation, einfach zu beschreiben. Dadurch kann sie als gute alternative zu der linearen Algebra angewendet werden, um graphische Probleme zu lösen. Sie kann zudem zum Verständnis hinter der Rotierenden Eigenschaften der komplexen Zahlen und Quaternionen beitragen und die Zusammenhänge zwischen den komplexen Zahlen und den Quaternionen besser zeigen.
\ No newline at end of file +Die geometrische Algebra ist dafür ausgelegt geometrische Operationen, wie die Spiegelung oder Drehung, einfach zu beschreiben. Dadurch kann sie als gute Alternative zu der linearen Algebra angewendet werden, um graphische Probleme zu lösen. Sie kann zudem zum Verständnis hinter der Rotierenden Eigenschaften der komplexen Zahlen und Quaternionen beitragen und die Zusammenhänge zwischen den komplexen Zahlen und den Quaternionen zeigen.
\ No newline at end of file diff --git a/buch/papers/clifford/6_PauliMatrizen.tex b/buch/papers/clifford/6_PauliMatrizen.tex index 4438aeb..bb9016c 100644 --- a/buch/papers/clifford/6_PauliMatrizen.tex +++ b/buch/papers/clifford/6_PauliMatrizen.tex @@ -10,33 +10,33 @@ Was ist der beste Weg um einen Computeralgorithmus für die Rechenoperationen in \begin{beispiel} Der Algorithmus weiss, dass er $a\mathbf{e}_1\cdot b\mathbf{e}_1$ zu $ab\cdot1$ vereinfachen kann. Dies ermöglicht zum Beispiel die Vereinfachung \begin{align} - 3\mathbf{e}_1 \cdot 2\mathbf{e}_1 + 3\mathbf{e}_2 \Rightarrow 6 + 3\mathbf{e}_2 + 3\mathbf{e}_1 \cdot 2\mathbf{e}_1 + 3\mathbf{e}_2 \Rightarrow 6 + 3\mathbf{e}_2 \end{align} \end{beispiel} Ein textueller Algorithmus ist aber sehr ineffizient. Die Pauli-Matrizen bilden eine elegante und schnellere Alternative, welche für die dreidimensionale Clifford-Algebra verwendet werden können und alle Operationen aus der Clifford-Algebra gleich wie die Matrixoperationen ausführen lassen. \begin{definition} \label{def:defPauli} Die Matrizen \begin{align} \label{Pauli} - \mathbf{e}_0 = E = - \begin{pmatrix} - 1 & 0 \\ - 0 & 1 - \end{pmatrix},\quad - \mathbf{e}_1 = - \begin{pmatrix} - 0 & 1 \\ - 1 & 0 - \end{pmatrix},\quad - \mathbf{e}_2 = - \begin{pmatrix} - 0 & -j \\ - j & 0 - \end{pmatrix},\quad - \mathbf{e}_3 = - \begin{pmatrix} - 1 & 0 \\ - 0 & -1 - \end{pmatrix} + \mathbf{e}_0 = E = + \begin{pmatrix} + 1 & 0 \\ + 0 & 1 + \end{pmatrix},\quad + \mathbf{e}_1 = + \begin{pmatrix} + 0 & 1 \\ + 1 & 0 + \end{pmatrix},\quad + \mathbf{e}_2 = + \begin{pmatrix} + 0 & -j \\ + j & 0 + \end{pmatrix},\quad + \mathbf{e}_3 = + \begin{pmatrix} + 1 & 0 \\ + 0 & -1 + \end{pmatrix} \end{align} heissen Pauli-Matrizen ($\mathbf{e}_0$ = Skalare) \end{definition} @@ -44,85 +44,85 @@ Die Matrix-Multiplikationen der Pauli-Matrizen führt auf die gleichen algebrais \begin{definition} \label{def:defPauli2} Die Bivektoren und Trivektoren hergeleitet aus den Pauli-Matrizen sind \begin{align} \label{Pauli2} - \mathbf{e}_{12} = - \begin{pmatrix} - j & 0 \\ - 0 & -j - \end{pmatrix}\quad - \mathbf{e}_{23} = - \begin{pmatrix} - 0 & j \\ - j & 0 - \end{pmatrix}\quad - \mathbf{e}_{31} = - \begin{pmatrix} - 0 & 1 \\ - -1 & 0 - \end{pmatrix}\enspace\text{und}\enspace - \mathbf{e}_{123} = - \begin{pmatrix} - j & 0 \\ - 0 & j - \end{pmatrix}. - \end{align} -\end{definition} -Dabei ist wichtig, dass sich die Matrizen gleich verhalten, wie es die Clifford-Algebra für die Basiselemente definiert hat. Zum Beispiel gilt in der Clifford-Algebra $\mathbf{e}_1^2=\mathbf{e}_0$ und $\mathbf{e}_{12}^2=-\mathbf{e}_0$, genau die selbe Relation gilt auch für die zugehörigen Matrizen, wie man durch die Matrizenrechnungen -\begin{align} - \mathbf{e}_1^2 &= + \mathbf{e}_{12} = \begin{pmatrix} - 0 & 1 \\ - 1 & 0 - \end{pmatrix}^2 = + j & 0 \\ + 0 & -j + \end{pmatrix}\quad + \mathbf{e}_{23} = \begin{pmatrix} - 1 & 0 \\ - 0 & 1 - \end{pmatrix}= \mathbf{e}_0 \quad\text{und}\\ - \mathbf{e}_{12}^2 &= + 0 & j \\ + j & 0 + \end{pmatrix}\quad + \mathbf{e}_{31} = \begin{pmatrix} - j & 0 \\ - 0 & -j - \end{pmatrix}^2 = + 0 & 1 \\ + -1 & 0 + \end{pmatrix}\enspace\text{und}\enspace + \mathbf{e}_{123} = \begin{pmatrix} - -1 & 0 \\ - 0 & -1 - \end{pmatrix} = -\mathbf{e}_0 + j & 0 \\ + 0 & j + \end{pmatrix}. + \end{align} +\end{definition} +Dabei ist wichtig, dass sich die Matrizen gleich verhalten, wie es die Clifford-Algebra für die Basiselemente definiert hat. Zum Beispiel gilt in der Clifford-Algebra $\mathbf{e}_1^2=\mathbf{e}_0$ und $\mathbf{e}_{12}^2=-\mathbf{e}_0$, genau die selbe Relation gilt auch für die zugehörigen Matrizen, wie man durch die Matrizenrechnungen +\begin{align} +\mathbf{e}_1^2 &= +\begin{pmatrix} +0 & 1 \\ +1 & 0 +\end{pmatrix}^2 = +\begin{pmatrix} +1 & 0 \\ +0 & 1 +\end{pmatrix}= \mathbf{e}_0 \quad\text{und}\\ +\mathbf{e}_{12}^2 &= +\begin{pmatrix} +j & 0 \\ +0 & -j +\end{pmatrix}^2 = +\begin{pmatrix} +-1 & 0 \\ +0 & -1 +\end{pmatrix} = -\mathbf{e}_0 \end{align} bestätigt. Man kann bei den Definitionen \ref{def:defPauli} und \ref{def:defPauli2} sehen, dass alle Matrizen linear unabhängig voneinander sind. Das bedeutet, dass wenn man die Matrizen der Basiselemente normal addiert und zu einer Matrix zusammenfasst, kann man anschliessend die einzelnen Anteile der Basiselemente wieder herausgelesen. \begin{hilfssatz} Ein beliebiger Multivektor \begin{align} \label{MultiVektorAllg} - M = a_0\mathbf{e}_0 + a_1\mathbf{e}_1 + a_2\mathbf{e}_3 + a_{12}\mathbf{e}_{12} + a_{23}\mathbf{e}_{23} + a_{31}\mathbf{e}_{31} + a_{123}\mathbf{e}_{123} + M = a_0\mathbf{e}_0 + a_1\mathbf{e}_1 + a_2\mathbf{e}_3 + a_{12}\mathbf{e}_{12} + a_{23}\mathbf{e}_{23} + a_{31}\mathbf{e}_{31} + a_{123}\mathbf{e}_{123} \end{align} erhält durch das einsetzten der Formel Matrizen \eqref{Pauli} und \eqref{Pauli2} die Form \begin{align} - M = - \begin{pmatrix} - (a_0+a_3) + (a_{12}+a_{123})j & (a_1+a_{31})+(-a_2+a_{23})j \\ - (a_1-a_{31})+(a_2+a_{23})j & (a_0-a_3)+(-a_{12}+a_{123})j - \end{pmatrix}.\label{MultivektorMatirx} + M = + \begin{pmatrix} + (a_0+a_3) + (a_{12}+a_{123})j & (a_1+a_{31})+(-a_2+a_{23})j \\ + (a_1-a_{31})+(a_2+a_{23})j & (a_0-a_3)+(-a_{12}+a_{123})j + \end{pmatrix}.\label{MultivektorMatirx} \end{align} \end{hilfssatz} Die Anteile treten zudem immer paarweise auf und können somit immer je durch zwei Gleichungen bestimmt werden. \begin{beispiel} Die Matrix \begin{align} - M &= - \begin{pmatrix} - 1 & 0 \\ - 0 & -1j - \end{pmatrix} + M &= + \begin{pmatrix} + 1 & 0 \\ + 0 & -1j + \end{pmatrix} \end{align} soll als Multivektor in der Form \eqref{MultiVektorAllg} geschrieben werden. Dafür entnehmen wir aus \eqref{MultivektorMatirx} die Gleichungen \begin{align} - a_0 + a_3 = 1,\quad a_0 - a_3 = 0,\quad a_{12}+a_{123} = 0\enspace\text{und}\enspace -a_{12}+a_{123}=-1 + a_0 + a_3 = 1,\quad a_0 - a_3 = 0,\quad a_{12}+a_{123} = 0\enspace\text{und}\enspace -a_{12}+a_{123}=-1 \end{align} aus denen man auf \begin{align} - a_0 = \dfrac{1}{2},\quad a_3 = \dfrac{1}{2},\quad a_{12}=\dfrac{1}{2}\enspace\text{und}\enspace a_{123}=-\dfrac{1}{2} + a_0 = \dfrac{1}{2},\quad a_3 = \dfrac{1}{2},\quad a_{12}=\dfrac{1}{2}\enspace\text{und}\enspace a_{123}=-\dfrac{1}{2} \end{align} schliessen kann. Da die restlichen Realteile und Imaginärteile 0 sind, werden die anderen Anteile ebenfalls 0 sein. Daher ist \begin{align} - M = \dfrac{1}{2} \mathbf{e}_0+ \dfrac{1}{2} \mathbf{e}_3 + \dfrac{1}{2} \mathbf{e}_{12} - \dfrac{1}{2} \mathbf{e}_{123}. + M = \dfrac{1}{2} \mathbf{e}_0+ \dfrac{1}{2} \mathbf{e}_3 + \dfrac{1}{2} \mathbf{e}_{12} - \dfrac{1}{2} \mathbf{e}_{123}. \end{align} \end{beispiel} Die Clifford-Algebra ist bei der Darstellung durch Matrizen kein Ausnahmefall. Es lässt sich theoretisch jede algebraische Struktur durch Matrizen darstellen.
\ No newline at end of file diff --git a/buch/papers/clifford/7_Spiegelung.tex b/buch/papers/clifford/7_Spiegelung.tex index 549848c..c79d908 100644 --- a/buch/papers/clifford/7_Spiegelung.tex +++ b/buch/papers/clifford/7_Spiegelung.tex @@ -6,55 +6,55 @@ \section{Spiegelung} \rhead{Spiegelung} -Die Spiegelung ist eine grundlegende, geometrische Operation, aus welcher man weitere Operationen, wie beispielsweise die später beschriebene Rotation, ableiten kann. Da die geometrische Algebra für geometrische Anwendungen ausgelegt ist, sollte die Spiegelung auch eine einfache, praktische Formulierung besitzen. +Die Spiegelung ist eine grundlegende, geometrische Operation, aus welcher man weitere Operationen, wie beispielsweise die später beschriebene Drehung, ableiten kann. Da die geometrische Algebra für geometrische Anwendungen ausgelegt ist, sollte die Spiegelung auch eine einfache, praktische Formulierung besitzen. \begin{figure} \centering \begin{tikzpicture} - \draw[thin,gray!40] (-3,-1) grid (3,3); - \draw[<->] (-3,0)--(3,0) node[right]{$a_1$}; - \draw[<->] (0,-1)--(0,3) node[above]{$a_2$}; - \draw[blue, line width=1.0pt] (0,3)--(0,-1) node[anchor=south east]{$\sigma_u$}; - \draw[line width=2pt,black,-stealth](0,0)--(2,2) node[anchor=south east]{$\boldsymbol{v}$}; - \draw[line width=2pt,black,-stealth](0,0)--(-2,2) node[anchor=south east]{$\boldsymbol{v'}$}; - \draw[line width=1.5pt,gray,-stealth](0,0)--(1,0) node[anchor=north]{$\boldsymbol{e_1}$}; - \draw[line width=1.5pt,gray,-stealth](0,0)--(0,1) node[anchor=north east]{$\boldsymbol{e_2}$}; - \draw[line width=1.5pt,red,-stealth](0,2)--(2,2) node[xshift=-1cm, yshift= - 0.25cm]{$\boldsymbol{v_{\perp u}}$}; - \draw[line width=1.5pt,red,-stealth](-2,2)--(0,2) node[xshift=-1cm, yshift= - 0.25cm]{$\boldsymbol{v_{\perp u}}$}; - \draw[line width=1.5pt,blue,-stealth](0,0.05)--(1,0.05) node[xshift=-0.5cm, yshift=-0.25cm]{$\boldsymbol{\hat{u}}$}; + \draw[thin,gray!40] (-3,-1) grid (3,3); + \draw[<->] (-3,0)--(3,0) node[right]{$a_1$}; + \draw[<->] (0,-1)--(0,3) node[above]{$a_2$}; + \draw[blue, line width=1.0pt] (0,3)--(0,-1) node[anchor=south east]{$\sigma_u$}; + \draw[line width=2pt,black,-stealth](0,0)--(2,2) node[anchor=south east]{$\boldsymbol{v}$}; + \draw[line width=2pt,black,-stealth](0,0)--(-2,2) node[anchor=south east]{$\boldsymbol{v'}$}; + \draw[line width=1.5pt,gray,-stealth](0,0)--(1,0) node[anchor=north]{$\boldsymbol{e_1}$}; + \draw[line width=1.5pt,gray,-stealth](0,0)--(0,1) node[anchor=north east]{$\boldsymbol{e_2}$}; + \draw[line width=1.5pt,red,-stealth](0,2)--(2,2) node[xshift=-1cm, yshift= + 0.25cm]{$\boldsymbol{v_{\parallel u}}$}; + \draw[line width=1.5pt,red,-stealth](-2,2)--(0,2) node[xshift=-1cm, yshift= + 0.25cm]{$\boldsymbol{v_{\parallel u}}$}; + \draw[line width=1.5pt,blue,-stealth](0,0.05)--(1,0.05) node[xshift=-0.5cm, yshift=-0.25cm]{$\boldsymbol{\hat{u}}$}; \end{tikzpicture} \caption{Spiegelung des Vektors $\mathbf{v}$ an der Spiegelebene $\sigma_u$ mit dem Normalenvektor $\mathbf{\hat{u}}$} \label{BildSpiegelung} \end{figure} \subsection{Linearen Algebra} -Aus der linearen Algebra ist bekannt, dass man eine Spiegelung an einer Ebene wie folgt beschreiben kann. +Aus der linearen Algebra ist bekannt, dass man eine Spiegelung an einer Ebene, wie in Abbildung \ref{BildSpiegelung} gezeigt, wie folgt beschreiben kann. \begin{definition} Die Abbildung der Spiegelung in der linearen Algebra mit dem Normalenvektor $\mathbf{\hat{u}}$ zur Spiegelebene ist \begin{equation} \label{RefLinAlg} - \mathbf{v} = \mathbf{v_{\perp u}} + \mathbf{v_{\parallel u}} \enspace\mapsto\enspace \mathbf{v'} = \mathbf{v_{\perp u}} - \mathbf{v_{\parallel u}} = \mathbf{v} - 2 \cdot \mathbf{v_{\parallel u}}. + \mathbf{v} = \mathbf{v_{\perp u}} + \mathbf{v_{\parallel u}} \enspace\mapsto\enspace \mathbf{v'} = \mathbf{v_{\perp u}} - \mathbf{v_{\parallel u}} = \mathbf{v} - 2 \cdot \mathbf{v_{\parallel u}}. \end{equation} \end{definition} Es scheint für diese Formel \eqref{RefLinAlg} aber umständlich zu sein, weitere Spiegelungen mit weiteren Spiegelebenen anzufügen. Weil man $\mathbf{v_{\parallel u}}$ auch als Skalarprodukt $\mathbf{v_{\parallel u}} = \mathbf{\hat{u}} \cdot \mathbf{v}$ schreiben kann, ist es leicht diese Abbildung auch als Matrix darzustellen. Sei $\mathbf{\hat{u}}$ ein Normalenvektor auf die Spiegelungsebene, also $\mathbf{\hat{u}}\perp \sigma_u$, und sei ausserdem normiert $|\mathbf{\hat{u}}| = 1$, dann kann man die Spiegelung durch die Matrix \begin{align} - S = E - 2\mathbf{\hat{u}\hat{u}}^t +S = E - 2\mathbf{\hat{u}\hat{u}}^t \end{align} -beschrieben werden. In der zweiten und dritten Dimension ergibt die Berechnung +beschrieben werden. In zwei und drei Dimensionen ergibt die Berechnung \begin{align} \label{Spiegelmatrizen} - S_2 = \begin{pmatrix} - 1-2u_1^2 & -2u_1u_2 \\ - -2u_1u_2 & 1-2u_2^2 - \end{pmatrix}\enspace\text{und}\enspace - S_3 = \begin{pmatrix} - 1-2u_1^2 & -2u_1u_2 & -2u_1u_3\\ - -2u_1u_2 & 1-2u_2^2 & -2u_2u_3\\ - -2u_1u_3 & -2u_2u_3 & 1-2u_3^2\\ - \end{pmatrix}. +S_2 = \begin{pmatrix} +1-2u_1^2 & -2u_1u_2 \\ +-2u_1u_2 & 1-2u_2^2 +\end{pmatrix}\quad\text{und}\quad +S_3 = \begin{pmatrix} +1-2u_1^2 & -2u_1u_2 & -2u_1u_3\\ +-2u_1u_2 & 1-2u_2^2 & -2u_2u_3\\ +-2u_1u_3 & -2u_2u_3 & 1-2u_3^2\\ +\end{pmatrix}. \end{align} -Diese Spiegelmatrizen gehören der orthogonalen Matrizengruppe $S_n\in \text{O}(n)$ an. Die Matrizengruppe $\text{O}(n)$ haben die Eigenschaft $S_n^t S_n = E$, was bedeutet, dass die Länge und Winkel bei der Abbildung beibehalten bleiben. Zusätzlich sind die Spiegelmatrizen symmetrisch, es gilt $S_n^t = S_n$. Somit liefert zweimal dieselbe Spiegelung wieder die identische Abbildung, wie man aus +Diese Spiegelmatrizen gehören der orthogonalen Matrizengruppe $S_n\in \text{O}(n)$ an. Die Matrizengruppe $\text{O}(n)$ hat die Eigenschaft $S_n^t S_n = E$, was bedeutet, dass die Länge und Winkel bei der Abbildung beibehalten bleiben. Zusätzlich sind die Spiegelmatrizen symmetrisch, es gilt $S_n^t = S_n$. Somit liefert zweimal dieselbe Spiegelung wieder die identische Abbildung, wie man aus \begin{align} - S_n^t S_n = S_n^2 = E +S_n^t S_n = S_n^2 = E \end{align} schliessen kann. @@ -63,33 +63,38 @@ Wir definieren zuerst die Inverse eines Vektors, welche in dieser Form nicht in \begin{definition} Die Inverse eines Vektors wird definiert als \begin{align} \label{InverseGA} - \mathbf{u}^{-1} = \dfrac{\mathbf{u}}{|\mathbf{u}|^2}. + \mathbf{u}^{-1} = \dfrac{\mathbf{u}}{|\mathbf{u}|^2}. \end{align} \end{definition} Diese Definition ist sinnvoll, da wegen $\mathbf{u}^2 = |\mathbf{u}|^2$ folgt \begin{align} - \mathbf{uu}^{-1} = \mathbf{u} \frac{\mathbf{u}}{|\mathbf{u}|^2} = \frac{\mathbf{u}^2}{|\mathbf{u}|^2} = \frac{|\mathbf{u}|^2}{|\mathbf{u}|^2} = 1. +\mathbf{uu}^{-1} = \mathbf{u} \frac{\mathbf{u}}{|\mathbf{u}|^2} = \frac{\mathbf{u}^2}{|\mathbf{u}|^2} = \frac{|\mathbf{u}|^2}{|\mathbf{u}|^2} = 1. \end{align} Der Vektor $\mathbf{u}^{-1}$ in \eqref{InverseGA} ist also tatsächlich das inverse Element im Sinne des Produktes in der geometrischen Algebra. Die geometrische Algebra leitet aus der obigen Formel \eqref{RefLinAlg} für eine Spiegelung eine einfache und intuitive Form her, welche auch für weitere Operationen erweitert werden kann. \begin{definition} Die Abbildung der Spiegelung in der geometrischen Algebra mit dem senkrechten Vektor $\mathbf{u}$ zur Spiegelungsebene $\sigma_u$ ist \begin{align}\label{RefGA} - \mathbf{v} \enspace\mapsto\enspace \mathbf{v}' = -\mathbf{uvu}^{-1} + \mathbf{v} \enspace\mapsto\enspace \mathbf{v}' = -\mathbf{uvu}^{-1} \end{align} \end{definition} -Diese Abbildung muss stimmen, weil man durch die Schlussfolgerungen \eqref{uperpv} und \eqref{uparallelv} die Zusammenhänge +Um zu überprüfen, ob die Spiegelungsgleichung \eqref{RefGA} wirklich eine Spiegelung ist, setzen wir zuerst in diese Gleichung $\mathbf{v} = \mathbf{v_{\perp u}} + \mathbf{v_{\parallel u}}$ ein. Wir bekommen somit \begin{align} - \mathbf{uv_{\perp u}} = -\mathbf{v_{\perp u}u} \enspace\text{und}\enspace \mathbf{uv_{\parallel u}}=\mathbf{v_{\parallel u}u} +\mathbf{v}' = -\mathbf{uv_{\perp u}u}^{-1} - \mathbf{uv_{\parallel u}u}^{-1}. \end{align} -der geometrischen Produkte findet und somit die Abbildung aus der geometrischen Algebra \eqref{RefGA} wegen +Danach können wir mit Hilfe der aus der Schlussfolgerung \eqref{uperpv} und \eqref{uparallelv} hergeleiteten Zusammenhänge \begin{align} - \mathbf{v}' = -\mathbf{uvu}^{-1} = -\mathbf{uv_{\perp u}u}^{-1} - \mathbf{uv_{\parallel u}u}^{-1} = -(-\mathbf{v_{\perp u}}\underbrace{\mathbf{u})\mathbf{u}^{-1}}_{1} -(\mathbf{v_{\parallel u}}\underbrace{\mathbf{u})\mathbf{u}^{-1}}_{1} = \mathbf{v_{\perp u}} - \mathbf{v_{\parallel u}} +\mathbf{uv_{\perp u}} = -\mathbf{v_{\perp u}u} \quad\text{und}\quad \mathbf{uv_{\parallel u}}=\mathbf{v_{\parallel u}u}, \end{align} +die Gleichung weiter umformen zu +\begin{align} +\mathbf{v}' = -(-\mathbf{v_{\perp u}}\underbrace{\mathbf{u})\mathbf{u}^{-1}}_{1} -(\mathbf{v_{\parallel u}}\underbrace{\mathbf{u})\mathbf{u}^{-1}}_{1} = \mathbf{v_{\perp u}} - \mathbf{v_{\parallel u}}. +\end{align} +Man sieht, dass das Resultat $\mathbf{v}' = \mathbf{v_{\perp u}} - \mathbf{v_{\parallel u}}$ gleichbedeutend zu der Definition \eqref{RefLinAlg} der Spiegelung ist. Verwendet man für $\mathbf{u}$ nur einen Einheitsvektor $\mathbf{\hat{u}}$, welcher die Länge 1 besitzt, wird die Gleichung \eqref{RefGA} zu \begin{align} - \mathbf{v'} = -\mathbf{\hat{u}v\hat{u}} +\mathbf{v'} = -\mathbf{\hat{u}v\hat{u}} \end{align} -vereinfacht. Im Gegensatz zu den Abbildungen in der linearen Algebra, welche in jeder anderen Dimension, durch andere Matrizen \eqref{Spiegelmatrizen} beschrieben werden müssen, ist es in der geometrischen Algebra immer der gleiche Vorgehensweise. Zudem ist diese kompakte Schreibweise in der linearen Algebra nicht möglich, da bis auf das Vektorprodukt in der dritten Dimension keine Multiplikation von Vektoren definiert ist.
\ No newline at end of file +vereinfacht. Im Gegensatz zu den Abbildungen in der linearen Algebra, welche in jeder anderen Dimension, durch andere Matrizen \eqref{Spiegelmatrizen} beschrieben werden müssen, ist es in der geometrischen Algebra immer der gleiche Vorgehensweise. Zudem ist diese kompakte Schreibweise in der linearen Algebra nicht möglich, da bis auf das Vektorprodukt in drei Dimensionen keine Multiplikation von Vektoren definiert ist.
\ No newline at end of file diff --git a/buch/papers/clifford/8_Rotation.tex b/buch/papers/clifford/8_Rotation.tex index 1d5e889..edab9ef 100644 --- a/buch/papers/clifford/8_Rotation.tex +++ b/buch/papers/clifford/8_Rotation.tex @@ -3,64 +3,76 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Rotation} -\rhead{Rotation} +\section{Drehung} +\rhead{Drehung} -Eine Rotation kann man aus zwei aufeinanderfolgenden Spiegelungen bilden. Das kann vielleicht zuerst eine verwirrende Aussage sein, da man aus den vorherig gezeigten Formeln annehmen könnte, dass die Spiegelung schon für eine Drehung ausreicht. Obwohl sich die Längen, Winkel und Volumen sich bei einer Spiegelung, wie bei einer Rotation, nicht ändert, sind sie doch verschieden, da die Orientierung bei der Spiegelung invertiert wird. Stellt man sich beispielsweise ein Objekt im Dreidimensionalen vor und spiegelt dieses an einer Fläche, dann ist es unmöglich nur durch eine Rotation (egal an welchem Punkt) das ursprüngliche Objekt deckungsgleich auf das Gespiegelte zu drehen. Hingegen ist es wiederum möglich ein zweifach gespiegeltes Objekt durch eine Drehung zu erreichen. Das liegt daran, da die Orientierung zweimal invertiert wurde. -\\(Hier wird noch ein Bild für das Verständnis eingefügt) +Eine Drehung kann man aus zwei aufeinanderfolgenden Spiegelungen bilden. Das kann vielleicht zuerst eine verwirrende Aussage sein, da man aus den vorherig gezeigten Formeln annehmen könnte, dass die Spiegelung schon für eine Drehung ausreicht. Obwohl sich die Längen, Winkel und Volumen sich bei einer Spiegelung, wie bei einer Drehung, nicht ändert, sind sie doch verschieden, da die Orientierung bei der Spiegelung invertiert wird. Stellt man sich, wie im Bild \ref{BildSpiegRot} dargestellt, beispielsweise ein Objekt vor und spiegelt dieses an einer Ebene, dann ist es unmöglich, nur durch eine Drehung (egal an welchem Punkt) das ursprüngliche Objekt deckungsgleich auf das Gespiegelte zu drehen. Hingegen ist es wiederum möglich ein zweifach gespiegeltes Objekt durch eine Drehung zu erreichen. Das liegt daran, da die Orientierung zweimal invertiert wurde. + +\begin{figure} + \centering + \includegraphics[width=10cm]{papers/clifford/Bilder/RotSpieg.png} + \caption{Der wesentliche Unterschied zwischen Spiegelung und Drehung ist die Inversion der Orientierung} + \label{BildSpiegRot} +\end{figure} \begin{figure} \centering \begin{tikzpicture} - \draw[thin,gray!40] (-3,-1) grid (3,3); - \draw[<->] (-3,0)--(3,0) node[right]{$a_1$}; - \draw[<->] (0,-1)--(0,3) node[above]{$a_2$}; - \draw[line width=1.0pt,green,-stealth](2,2)--(-2,2) node[anchor=south west]{$\boldsymbol{-2v_{\parallel u}}$}; - \draw[line width=1.0pt,green,-stealth](-2,2)--(-2.828,0) node[anchor=north west]{$\boldsymbol{-2v'_{\parallel w}}$}; - \draw[blue, line width=1.0pt] (0,3)--(0,-1) node[anchor=south east]{$\sigma_u$}; - \draw[red, line width=1.0pt] (-3,1.24)--(2.21,-1) node[anchor=south]{$\sigma_w$}; - \draw[line width=2pt,black,-stealth](0,0)--(2,2) node[anchor=south east]{$\boldsymbol{v}$}; - \draw[line width=1.5pt,blue,-stealth](0,0)--(2.5, 0) node[anchor=south east]{$\boldsymbol{u}$}; - \draw[line width=2pt,black,-stealth](0,0)--(-2,2) node[anchor=south east]{$\boldsymbol{v'}$}; - \draw[line width=1.5pt,red,-stealth](0,0)--(0.957, 2.31) node[anchor=south east]{$\boldsymbol{w}$}; - \draw[line width=2pt,black,-stealth](0,0)--(-2.828,0) node[anchor=south east]{$\boldsymbol{v''}$}; - \draw[line width=1.5pt,gray,-stealth](0,0)--(1,0) node[anchor=north]{$\boldsymbol{e_1}$}; - \draw[line width=1.5pt,gray,-stealth](0,0)--(0,1) node[anchor=north east]{$\boldsymbol{e_2}$}; - - \coordinate (A) at (0,0); - \coordinate (B) at (2.5,0); - \coordinate (C) at (0.957, 2.31); - \tikzset{anglestyle/.style={angle eccentricity=1.25, purple, draw, thick, angle radius=1cm}} - \draw pic ["$\theta$", anglestyle] {angle = B--A--C}; - \coordinate (D) at (0,0); - \coordinate (E) at (1,1); - \coordinate (F) at (-1, 0); - \tikzset{anglestyle/.style={angle eccentricity=1.25, purple, draw, thick, angle radius=1.25cm}} - \draw pic ["$2\theta$", anglestyle] {angle = E--D--F}; + \draw[thin,gray!40] (-3,-1) grid (3,3); + \draw[<->] (-3,0)--(3,0) node[right]{$a_1$}; + \draw[<->] (0,-1)--(0,3) node[above]{$a_2$}; + \draw[line width=1.0pt,green,-stealth](2,2)--(-2,2) node[anchor=south west]{$\boldsymbol{-2v_{\parallel u}}$}; + \draw[line width=1.0pt,green,-stealth](-2,2)--(-2.828,0) node[anchor=north west]{$\boldsymbol{-2v'_{\parallel w}}$}; + \draw[blue, line width=1.0pt] (0,3)--(0,-1) node[anchor=south east]{$\sigma_u$}; + \draw[red, line width=1.0pt] (-3,1.24)--(2.21,-1) node[anchor=south]{$\sigma_w$}; + \draw[line width=2pt,black,-stealth](0,0)--(2,2) node[anchor=south east]{$\boldsymbol{v}$}; + \draw[line width=1.5pt,blue,-stealth](0,0)--(2.5, 0) node[anchor=south east]{$\boldsymbol{u}$}; + \draw[line width=2pt,black,-stealth](0,0)--(-2,2) node[anchor=south east]{$\boldsymbol{v'}$}; + \draw[line width=1.5pt,red,-stealth](0,0)--(0.957, 2.31) node[anchor=south east]{$\boldsymbol{w}$}; + \draw[line width=2pt,black,-stealth](0,0)--(-2.828,0) node[anchor=south east]{$\boldsymbol{v''}$}; + \draw[line width=1.5pt,gray,-stealth](0,0)--(1,0) node[anchor=north]{$\boldsymbol{e_1}$}; + \draw[line width=1.5pt,gray,-stealth](0,0)--(0,1) node[anchor=north east]{$\boldsymbol{e_2}$}; + + \coordinate (A) at (0,0); + \coordinate (B) at (2.5,0); + \coordinate (C) at (0.957, 2.31); + \tikzset{anglestyle/.style={angle eccentricity=1.25, purple, draw, thick, angle radius=1cm}} + \draw pic ["$\theta$", anglestyle] {angle = B--A--C}; + \coordinate (D) at (0,0); + \coordinate (E) at (1,1); + \coordinate (F) at (-1, 0); + \tikzset{anglestyle/.style={angle eccentricity=1.25, purple, draw, thick, angle radius=1.25cm}} + \draw pic ["$2\theta$", anglestyle] {angle = E--D--F}; \end{tikzpicture} - \caption{Rotation des Vektors $\textbf{v}$ um $2\theta$} - \label{BildRotation} + \caption{Drehung des Vektors $\textbf{v}$ um $2\theta$} + \label{BildDrehung} \end{figure} \subsection{Linearen Algebra} In der linearen Algebra haben wir Drehungen durch die Matrizen der Gruppe $\text{SO}(n)$ beschrieben. Beispielsweise besteht $\text{SO}(2)$ aus den Matrizen \begin{align} - D = - \begin{pmatrix} - \cos(\alpha) & \sin(\alpha) \\ - -\sin(\alpha) & \cos(\alpha) - \end{pmatrix},\quad - \alpha \in [0, 2\pi). -\end{align} -Diese Drehmatrizen gehören der speziellen orthogonalen Matrizengruppe $D\in \text{SO}(n) = \text{SL}_n(\mathbb{R})\enspace \cap \enspace \text{O}(n)$ an. $\text{SL}_n(\mathbb{R})$ beinhaltet die Matrizen mit scherenden Eigenschaften. Diese Drehmatrizen haben die Eigenschaft $D^t D = E \enspace \land \enspace \det(D)=1$. Da $\det(D) = 1$ und nicht $-1$ sein kann fallen alle Spiegelungen aus der Menge heraus. $\det(D) = -1$ bedeutet, dass eine Orientierungsinversion stattfindet. -\\(BILD Mengen Spezieller Matrizen von Herrn Müller Präsentation) +D = +\begin{pmatrix} +\cos(\alpha) & \sin(\alpha) \\ +-\sin(\alpha) & \cos(\alpha) +\end{pmatrix},\quad +\alpha \in [0, 2\pi). +\end{align} +Diese Drehmatrizen gehören der speziellen orthogonalen Matrizengruppe $D\in \text{SO}(n) = \text{SL}_n(\mathbb{R})\enspace \cap \enspace \text{O}(n)$ an. $\text{SL}_n(\mathbb{R})$ beinhaltet die Matrizen mit scherenden Eigenschaften. Die Drehmatrizen haben die Eigenschaft $D^t D = E \enspace \land \enspace \det(D)=1$. Da $\det(D) = 1$ und nicht $-1$ sein kann fallen alle Spiegelungen aus der Menge heraus. $\det(D) = -1$ bedeutet, dass eine Orientierungsinversion stattfindet. Eine übersichtliche Darstellung der beschriebenen Matrizengruppen sieht man in der Abbildung \ref{BildMatrizenGruppen} + +\begin{figure} + \centering + \includegraphics[width=10cm]{papers/clifford/Bilder/MatrizenGruppen.png} + \caption{Matrizengruppen} + \label{BildMatrizenGruppen} +\end{figure} \subsection{Geometrische Algebra} -Da wir jetzt aus der Geometrie wissen, dass eine Rotation durch zwei Spiegelungen gebildet werden kann, können wir die Rotation mit der Formel \eqref{RefGA} einfach herleiten. +Da wir jetzt aus der Geometrie wissen, dass eine Drehung durch zwei Spiegelungen gebildet werden kann, können wir die Drehung mit der Formel \eqref{RefGA} einfach herleiten. \begin{satz} - Durch zwei nacheinander auf einen Vektor $\mathbf{v}$ angewendete Spiegelungen lässt sich eine Rotation + Durch zwei nacheinander auf einen Vektor $\mathbf{v}$ angewendete Spiegelungen lässt sich eine Drehung \begin{align} \label{rotGA} - \mathbf{v}'' = -\mathbf{wv}'\mathbf{w}^{-1} = -\mathbf{w}(-\mathbf{uvu}^{-1})\mathbf{w}^{-1} = (\mathbf{wu})\mathbf{v}(\mathbf{u}^{-1}\mathbf{w}^{-1}) + \mathbf{v}'' = -\mathbf{wv}'\mathbf{w}^{-1} = -\mathbf{w}(-\mathbf{uvu}^{-1})\mathbf{w}^{-1} = (\mathbf{wu})\mathbf{v}(\mathbf{u}^{-1}\mathbf{w}^{-1}) \end{align} beschreiben. \end{satz} @@ -68,120 +80,119 @@ Die Vektoren $\mathbf{w}$ und $\mathbf{u}$ bilden hier wiederum die Spiegelachse \subsubsection{Exponentialform} Dazu leiten wir zuerst die Exponentialform eines Vektors her. Es wird dabei zur Vereinfachung davon ausgegangen, dass alle Vektoren $\mathbf{w}, \mathbf{u}, \mathbf{v}$ in der $\mathbf{e}_{1}$-$\mathbf{e}_{2}$-Ebene liegen. Weitere Drehungen können in höheren Dimensionen durch Linearkombinationen von Drehungen in den $\mathbf{e}_{i}$-$\mathbf{e}_{j}$-Ebenen $(i\not=j)$ erreicht werden. Für die Herleitung ersetzen wir als erstes in der Polarform \begin{align} - \mathbf{w} = |\mathbf{w}| \left(\cos(\theta_w) \mathbf{e}_1 + \sin(\theta_w) \mathbf{e}_2\right) +\mathbf{w} = |\mathbf{w}| \left(\cos(\theta_w) \mathbf{e}_1 + \sin(\theta_w) \mathbf{e}_2\right) \end{align} eines Vektors einen Faktor 1 durch $1=\mathbf{e}_1^2$ und erhalten beim Sinus \begin{align}\label{e1ausklammern} - \mathbf{w} &= |\mathbf{w}| \left(\cos(\theta_w) \mathbf{e}_1 + \sin(\theta_w) \mathbf{e}_1\mathbf{e}_1\mathbf{e}_2\right). +\mathbf{w} &= |\mathbf{w}| \left(\cos(\theta_w) \mathbf{e}_1 + \sin(\theta_w) \mathbf{e}_1\mathbf{e}_1\mathbf{e}_2\right). \end{align} In einem zweiten Schritt klammern wir $\mathbf{e}_1$ aus, dies ergibt \begin{align} - \mathbf{w} = |\mathbf{w}|\mathbf{e}_1\left(\cos(\theta_w)+ \sin(\theta_w) \mathbf{e}_{12}\right). \label{ExponentialGA} +\mathbf{w} = |\mathbf{w}|\mathbf{e}_1\left(\cos(\theta_w)+ \sin(\theta_w) \mathbf{e}_{12}\right). \label{ExponentialGA} \end{align} Die Ähnlichkeit des Klammerausdrucks in der Formel \eqref{ExponentialGA} zu der Eulerschen Formel bei den komplexen Zahlen ist nun schon gut erkennbar. Versuchen wir nun mithilfe der Reihenentwicklungen \begin{align} - \sin(\theta_w)\mathbf{e}_{12}&=\sum _{n=0}^{\infty }(-1)^{n}{\frac {\theta_w^{2n+1}}{(2n+1)!}}\mathbf{e}_{12} =\theta_w\mathbf{e}_{12}-{\frac {\theta_w^{3}}{3!}}\mathbf{e}_{12}+{\frac {\theta_w^{5}}{5!}}\mathbf{e}_{12}-\cdots \\ - \cos(\theta_w)&=\sum _{n=0}^{\infty }(-1)^{n}{\frac {\theta_w^{2n}}{(2n)!}} =1-{\frac {\theta_w^{2}}{2!}}+{\frac {\theta_w^{4}}{4!}}-\cdots +\sin(\theta_w)\mathbf{e}_{12}&=\sum _{n=0}^{\infty }(-1)^{n}{\frac {\theta_w^{2n+1}}{(2n+1)!}}\mathbf{e}_{12} =\theta_w\mathbf{e}_{12}-{\frac {\theta_w^{3}}{3!}}\mathbf{e}_{12}+{\frac {\theta_w^{5}}{5!}}\mathbf{e}_{12}-\cdots \\ +\cos(\theta_w)&=\sum _{n=0}^{\infty }(-1)^{n}{\frac {\theta_w^{2n}}{(2n)!}} =1-{\frac {\theta_w^{2}}{2!}}+{\frac {\theta_w^{4}}{4!}}-\cdots \end{align} diesen Zusammenhang auch hier herzustellen. Setzt man diese beiden Reihenentwicklungen in \eqref{ExponentialGA} ein, erhält man \begin{align} - \cos(\theta_w)+ \sin(\theta_w) \mathbf{e}_{12} &= 1+\theta_w\mathbf{e}_{12}-{\frac {\theta_w^{2}}{2!}}-{\frac {\theta_w^{3}}{3!}}\mathbf{e}_{12}+{\frac {\theta_w^{4}}{4!}}+{\frac {\theta_w^{5}}{5!}}\mathbf{e}_{12}-\cdots +\cos(\theta_w)+ \sin(\theta_w) \mathbf{e}_{12} &= 1+\theta_w\mathbf{e}_{12}-{\frac {\theta_w^{2}}{2!}}-{\frac {\theta_w^{3}}{3!}}\mathbf{e}_{12}+{\frac {\theta_w^{4}}{4!}}+{\frac {\theta_w^{5}}{5!}}\mathbf{e}_{12}-\cdots \end{align} Dies sieht noch nicht wie eine Exponentialreihe aus, da $\mathbf{e}_{12}$ nur in jedem zweiten Term auftritt. Da aber $\mathbf{e}_{12}=-1$ gibt, erhält man für \begin{align} - e^{\theta_w\mathbf{e}_{12}} = 1 \mathbf{e}_{12}^0+\theta_w\mathbf{e}_{12}^1+{\frac {\theta_w^{2}}{2!}}\mathbf{e}_{12}^2+{\frac {\theta_w^{3}}{3!}}\mathbf{e}_{12}^3+{\frac {\theta_w^{4}}{4!}}\mathbf{e}_{12}^4+{\frac {\theta_w^{5}}{5!}}\mathbf{e}_{12}^5+\cdots - \label{ExponentialGA2} +e^{\theta_w\mathbf{e}_{12}} = 1 \mathbf{e}_{12}^0+\theta_w\mathbf{e}_{12}^1+{\frac {\theta_w^{2}}{2!}}\mathbf{e}_{12}^2+{\frac {\theta_w^{3}}{3!}}\mathbf{e}_{12}^3+{\frac {\theta_w^{4}}{4!}}\mathbf{e}_{12}^4+{\frac {\theta_w^{5}}{5!}}\mathbf{e}_{12}^5+\cdots +\label{ExponentialGA2} \end{align} Man sieht, dass die beiden Reihen übereinstimmen. Es folgt somit \begin{align}\label{EulerGA} - e^{\theta_w \mathbf{e}_{12}} = \cos(\theta_w)+ \sin(\theta_w) \mathbf{e}_{12}, +e^{\theta_w \mathbf{e}_{12}} = \cos(\theta_w)+ \sin(\theta_w) \mathbf{e}_{12}, \end{align} -es gibt eine Euler-Formel mit $\mathbf{e}_{12}$ anstelle der imaginären Einheit $j$. +was zeigt, dass es eine Euler-Formel mit $\mathbf{e}_{12}$ anstelle der imaginären Einheit $j$ gibt. Wenn man jetzt den Vektor \eqref{ExponentialGA} durch die eulersche Schreibweise \begin{align} - \mathbf{w} = |\mathbf{w}|\mathbf{e}_1e^{\theta_w\mathbf{e}_{12}} +\mathbf{w} = |\mathbf{w}|\mathbf{e}_1e^{\theta_w\mathbf{e}_{12}} \end{align} ersetzt, kann die Exponentialform des Vektors ähnlich wie die der komplexen Zahlen interpretieren. Der Einheitsvektor $\mathbf{e}_1$ wird um die Länge $|\mathbf{w}|$ gestreckt und um $\theta_w$ gedreht. \subsubsection{Vektormultiplikation} Nun werden wir das Vektorprodukt \begin{align} \label{VektorproduktformelGA} - \mathbf{wu} = |\mathbf{w}|\mathbf{e}_1 e^{\theta_w \mathbf{e}_{12}}|\mathbf{u}|\mathbf{e}_1 e^{\theta_u \mathbf{e}_{12}} +\mathbf{wu} = |\mathbf{w}|\mathbf{e}_1 e^{\theta_w \mathbf{e}_{12}}|\mathbf{u}|\mathbf{e}_1 e^{\theta_u \mathbf{e}_{12}} \end{align} so umformen, dass wir die Drehung nur durch Exponentialterme beschreiben können. Wir tauschen dafür zuerst beim Vektor $\mathbf{w}$ die Reihenfolge von -$\mathbf{e}_1$ mit dem Exponentialterm $e^{\theta_w \mathbf{e}_{12}}$, indem wir bei der Gleichung \eqref{e1ausklammern} $1=\mathbf{e}_1^2$ an einer anderen Position +$\mathbf{e}_1$ mit dem Exponentialterm $e^{\theta_w \mathbf{e}_{12}}$, indem wir bei der Gleichung \eqref{e1ausklammern} $1=\mathbf{e}_1^2$ an einer anderen Position einsetzten. Wir erhalten \begin{align} - \mathbf{w} &= |\mathbf{w}|\left(\cos(\theta_w)+ \sin(\theta_w) \mathbf{e}_2\mathbf{e}_1\right)\mathbf{e}_1 +\mathbf{w} &= |\mathbf{w}|\left(\cos(\theta_w)+ \sin(\theta_w) \mathbf{e}_2\mathbf{e}_1\right)\mathbf{e}_1. \end{align} -einsetzten. Mithilfe der Formel \eqref{EulerGA} und dem Wissen, dass $\mathbf{e}_{21}= -\mathbf{e}_{12}$ können wir die Umformung +Mithilfe der Formel \eqref{EulerGA} und dem Wissen, dass $\mathbf{e}_{21}= -\mathbf{e}_{12}$ können wir die Umformung \begin{align} - |\mathbf{w}|e^{-\theta_w \mathbf{e}_{12}}\mathbf{e}_1 +|\mathbf{w}|e^{-\theta_w \mathbf{e}_{12}}\mathbf{e}_1 \end{align} ausführen. Diese wichtige Umstrukturierung können wir wieder in die Vektorproduktformel \eqref{VektorproduktformelGA} einsetzen un erhalten \begin{align} - \mathbf{wu} &= |\mathbf{w}||\mathbf{u}|e^{-\theta_w \mathbf{e}_{12}}\mathbf{e}_1\mathbf{e}_1 e^{\theta_u \mathbf{e}_{12}}\\ - &= |\mathbf{w}||\mathbf{u}|e^{(\theta_u-\theta_w) \mathbf{e}_{12}}. +\mathbf{wu} &= |\mathbf{w}||\mathbf{u}|e^{-\theta_w \mathbf{e}_{12}}\mathbf{e}_1\mathbf{e}_1 e^{\theta_u \mathbf{e}_{12}}\\ +&= |\mathbf{w}||\mathbf{u}|e^{(\theta_u-\theta_w) \mathbf{e}_{12}}. \end{align} Das inverse Vektorprodukt \begin{align} - \mathbf{u}^{-1}\mathbf{w}^{-1} = \dfrac{1}{|\mathbf{w}||\mathbf{u}|}e^{(\theta_w-\theta_u) \mathbf{e}_{12}} +\mathbf{u}^{-1}\mathbf{w}^{-1} = \dfrac{1}{|\mathbf{w}||\mathbf{u}|}e^{(\theta_w-\theta_u) \mathbf{e}_{12}} \end{align} kann durch die selbe Methode vereinfacht werden. Wenn wir den Winkel zwischen den Vektoren $\mathbf{w}$ und $\mathbf{u}$ als $\theta = \theta_w - \theta_u$ definieren erhalten wir als endgültige Form der Vektorprodukte \begin{align}\label{wuExpo} - \mathbf{wu} &= |\mathbf{w}||\mathbf{u}|e^{-\theta \mathbf{e}_{12}}\enspace\text{und}\\ - \mathbf{u}^{-1}\mathbf{w}^{-1} &= \dfrac{1}{|\mathbf{w}||\mathbf{u}|}e^{\theta \mathbf{e}_{12}} \label{wuExpoInv}. +\mathbf{wu} &= |\mathbf{w}||\mathbf{u}|e^{-\theta \mathbf{e}_{12}}\enspace\text{und}\\ +\mathbf{u}^{-1}\mathbf{w}^{-1} &= \dfrac{1}{|\mathbf{w}||\mathbf{u}|}e^{\theta \mathbf{e}_{12}} \label{wuExpoInv}. \end{align} \subsubsection{Umstrukturierte Drehungsgleichung} -Setzten wir nun unsere neuen Erkenntnisse in die Gleichung \eqref{rotGA} ein +Setzten wir nun unsere neuen Erkenntnisse in die Gleichung \eqref{rotGA} ein, erhalten wir \begin{align} - \mathbf{v''} = (|\mathbf{w}||\mathbf{u}|e^{-\theta \mathbf{e}_{12}})\mathbf{v}\biggl(\dfrac{1}{|\mathbf{w}||\mathbf{u}|}e^{\theta \mathbf{e}_{12}}\biggr), +\mathbf{v''} = (|\mathbf{w}||\mathbf{u}|e^{-\theta \mathbf{e}_{12}})\mathbf{v}\biggl(\dfrac{1}{|\mathbf{w}||\mathbf{u}|}e^{\theta \mathbf{e}_{12}}\biggr) \end{align} -erhalten wir durch die Kürzungen der Längen die vereinfachte Drehungsgleichung -\begin{align} - \mathbf{v''} = e^{-\theta \mathbf{e}_{12}} v e^{\theta \mathbf{e}_{12}}. +und können durch die Kürzungen der Längen die vereinfachte Drehungsgleichung +\begin{align} \label{GAvereinfRot} +\mathbf{v''} = e^{-\theta \mathbf{e}_{12}} v e^{\theta \mathbf{e}_{12}} \end{align} - -Wir wissen nun, dass das diese beidseitige Multiplikation die Länge von $\mathbf{v}$ nicht verändert, da sich die Längen von $\mathbf{w}$ und $\mathbf{u}$ kürzen. Betrachten wir nun den Effekt der Exponentialterme auf $\mathbf{v}$. Dabei Teilen wir den Vektor $\mathbf{v}$ auf in einen Anteil $\mathbf{v_\parallel}$, welcher auf der Ebene $\mathbf{e}_{12}$ liegt, und einen Anteil $\mathbf{v_\perp}$, welcher senkrecht zu der Ebene steht. Wir bekommen durch Einsetzten nun diese Form +bilden. Wir wissen nun, dass das diese beidseitige Multiplikation die Länge von $\mathbf{v}$ nicht verändert, da sich die Längen von $\mathbf{w}$ und $\mathbf{u}$ kürzen. Betrachten wir nun den Effekt der Exponentialterme auf $\mathbf{v}$. Dabei teilen wir den Vektor $\mathbf{v}$ auf in einen Anteil $\mathbf{v_\parallel}$, welcher auf der Ebene $\mathbf{e}_{12}$ liegt, und einen Anteil $\mathbf{v_\perp}$, welcher senkrecht zu der Ebene steht. Wir bekommen durch Einsetzten nun diese Form \begin{align} \label{RotAufPerpPar} - \mathbf{v}'' = e^{-\theta \mathbf{e}_{12}} (\mathbf{v_\perp + v_\parallel}) e^{\theta \mathbf{e}_{12}} = e^{-\theta \mathbf{e}_{12}} \mathbf{v_\perp} e^{\theta \mathbf{e}_{12}} + e^{-\theta \mathbf{e}_{12}} \mathbf{v_\parallel} e^{\theta \mathbf{e}_{12}}. +\mathbf{v}'' = e^{-\theta \mathbf{e}_{12}} (\mathbf{v_\perp + v_\parallel}) e^{\theta \mathbf{e}_{12}} = e^{-\theta \mathbf{e}_{12}} \mathbf{v_\perp} e^{\theta \mathbf{e}_{12}} + e^{-\theta \mathbf{e}_{12}} \mathbf{v_\parallel} e^{\theta \mathbf{e}_{12}}. \end{align} -Auf eine allgemeine Herleitung wird hier zwar verzichtet, aber man kann zeigen, dass die Reihenfolge so umstrukturiert werden kann +Auf eine allgemeine Herleitung wird hier zwar verzichtet, aber man kann zeigen, dass man die Reihenfolge der Vektoranteile $\mathbf{v_\perp}$ und $\mathbf{v_\parallel}$ mit dem Exponentialterm $e^{-\theta \mathbf{e}_{12}}$ so vertauschen kann, dass sich \begin{align} - \mathbf{v}'' = \mathbf{v_\perp} e^{-\theta \mathbf{e}_{12}} e^{\theta \mathbf{e}_{12}} + \mathbf{v_\parallel} e^{-(-\theta) \mathbf{e}_{12}} e^{\theta \mathbf{e}_{12}}, +\mathbf{v}'' = \mathbf{v_\perp} e^{-\theta \mathbf{e}_{12}} e^{\theta \mathbf{e}_{12}} + \mathbf{v_\parallel} e^{-(-\theta) \mathbf{e}_{12}} e^{\theta \mathbf{e}_{12}} \end{align} -dass der Winkel beim parallelen Anteil negiert wird. An der Zusammengefassten Gleichung +ergibt. Der Winkel wird beim parallelen Anteil negiert. An der Zusammengefassten Gleichung \begin{align}\label{RotParPerp} - \mathbf{v}'' = \mathbf{v_\perp} + \mathbf{v_\parallel} e^{2\theta \mathbf{e}_{12}} +\mathbf{v}'' = \mathbf{v_\perp} + \mathbf{v_\parallel} e^{2\theta \mathbf{e}_{12}} \end{align} kann man sehen, dass nur der parallele Anteil $\mathbf{v_\parallel}$ des Vektors $\mathbf{v}$ auf der Ebene $\mathbf{e}_{12}$ um $2\theta$ gedreht wird. Der senkrechte Anteil $\mathbf{v_\perp}$ bleibt gleich. Wichtig dabei zu sehen ist, dass nur der Winkel zwischen den Vektoren $\mathbf{w}$ und $\mathbf{u}$ von Bedeutung ist. Die Länge und Richtung der einzelnen Vektoren spielt keine Rolle. Zeigen wir nun diese Eigenschaften an einem Beispiel \begin{beispiel} - Gegeben sei ein Vektor $\mathbf{v} = 1\mathbf{e}_1 + 2\mathbf{e}_2 + 3\mathbf{e}_3$ mit zur $\mathbf{e}_{12}$-Ebene parallelen Anteil $\mathbf{v_\parallel} = 1\mathbf{e}_1 + 2\mathbf{e}_2$ und senkrechten Anteil $\mathbf{v_\perp} = 3\mathbf{e}_3$. Zusätzlich sind die Spiegelachsen $\mathbf{u} = \mathbf{e}_1$ und $\mathbf{w} = 2\mathbf{e}_2$ gegeben. Gesucht ist der rotierte Vektor $\mathbf{v}''$. Bestimmen wir als erstes das Vektorprodukt $\mathbf{wu}$ + Gegeben sei ein Vektor $\mathbf{v} = 1\mathbf{e}_1 + 2\mathbf{e}_2 + 3\mathbf{e}_3$ mit zur $\mathbf{e}_{12}$-Ebene parallelen Anteil $\mathbf{v_\parallel} = 1\mathbf{e}_1 + 2\mathbf{e}_2$ und senkrechten Anteil $\mathbf{v_\perp} = 3\mathbf{e}_3$. Zusätzlich sind die Spiegelachsen $\mathbf{u} = \mathbf{e}_1$ und $\mathbf{w} = 2\mathbf{e}_2$ gegeben. Gesucht ist der rotierte Vektor $\mathbf{v}''$. Bestimmen wir als erstes das Vektorprodukt \begin{align} - \mathbf{wu} = (2\mathbf{e}_2)(\mathbf{e}_1) = -2\mathbf{e}_{12} + \mathbf{wu} = (2\mathbf{e}_2)(\mathbf{e}_1) = -2\mathbf{e}_{12} \end{align} - und das Produkt der Inversen $\mathbf{u}^{-1}\mathbf{w}^{-1}$ + und das Produkt der Inversen \begin{align} - \mathbf{u}^{-1}\mathbf{w}^{-1} = \biggl(\dfrac{\mathbf{e}_1}{1^2}\biggr) \left(\dfrac{2\mathbf{e}_2}{2^2}\right) = \dfrac{1}{2}\mathbf{e}_{12}. + \mathbf{u}^{-1}\mathbf{w}^{-1} = \biggl(\dfrac{\mathbf{e}_1}{1^2}\biggr) \left(\dfrac{2\mathbf{e}_2}{2^2}\right) = \dfrac{1}{2}\mathbf{e}_{12}. \end{align} - Der rotierte Vektor $\mathbf{v}''$ können wir nun durch das einsetzten und auflösen der Produkte in die Gleichung \eqref{rotGA} + Den gedrehten Vektor $\mathbf{v}''$ können wir nun durch Einsetzen und Auflösen der Produkte in die Gleichung \eqref{rotGA} bestimmen. Der Rechnenvorgang ist \begin{align} - \mathbf{v}'' = (\mathbf{wu})\mathbf{v}(\mathbf{u}^{-1}\mathbf{w}^{-1}) &= (-2e_{12})(1\mathbf{e}_1 + \mathbf{e}_2 + 1\mathbf{e}_3)(\textstyle{\frac{1}{2}}\mathbf{e}_{12})\\ - &= (2\mathbf{e}_2-2\mathbf{e}_1-2\mathbf{e}_{123})(\textstyle{\frac{1}{2}}\mathbf{e}_{12})\\ - &= -1\mathbf{e}_1 - 1\mathbf{e}_2 + 1\mathbf{e}_3 + \mathbf{v}'' = (\mathbf{wu})\mathbf{v}(\mathbf{u}^{-1}\mathbf{w}^{-1}) &= (-2e_{12})(1\mathbf{e}_1 + \mathbf{e}_2 + 1\mathbf{e}_3)(\textstyle{\frac{1}{2}}\mathbf{e}_{12})\\ + &= (2\mathbf{e}_2-2\mathbf{e}_1-2\mathbf{e}_{123})(\textstyle{\frac{1}{2}}\mathbf{e}_{12})\\ + &= -1\mathbf{e}_1 - 1\mathbf{e}_2 + 1\mathbf{e}_3. \end{align} - finden. Aus dem Resultat $\mathbf{v}''= -1\mathbf{e}_1 + 1\mathbf{e}_2 + 1\mathbf{e}_3$ können wir bestätigen, dass + Aus dem Resultat $\mathbf{v}''= -1\mathbf{e}_1 + 1\mathbf{e}_2 + 1\mathbf{e}_3$ können wir bestätigen, dass \begin{itemize} \item die Länge $|\mathbf{v}| = \sqrt{3}$ zur Länge $|\mathbf{v}''|=\sqrt{3}$ gleich blieb. \item sich der parallele Anteil $\mathbf{v_\parallel}'' = -1\mathbf{e}_1 - 1\mathbf{e}_2$ gedreht hat und der senkrechte Anteil $\mathbf{v_\perp}'' = 1\mathbf{e}_3$ unverändert blieb. \item der parallele Teil sich genau um $2\theta=180$° gedreht hat. $\theta$ kann übrigens durch die Umformung des Produkt $\mathbf{wu}$ in die Exponentialschreibweise \begin{align} - &\mathbf{wu} = -2\mathbf{e}_{12} = 2(0-1\mathbf{e}_{12})=2(\cos\biggl(\dfrac{-\pi}{2}\biggr) + \sin\biggl(\dfrac{-\pi}{2}\biggr)\mathbf{e}_{12}) = 2e^{(-\pi/2)\mathbf{e}_{12}} + &\mathbf{wu} = -2\mathbf{e}_{12} = 2(0-1\mathbf{e}_{12})=2(\cos\biggl(\dfrac{-\pi}{2}\biggr) + \sin\biggl(\dfrac{-\pi}{2}\biggr)\mathbf{e}_{12}) = 2e^{(-\pi/2)\mathbf{e}_{12}} \end{align} durch einen Vergleich mir der Formel \eqref{wuExpo} \begin{align} - \theta = -\biggl(\dfrac{-\pi}{2}\biggr) = \dfrac{\pi}{2} + \theta = -\biggl(\dfrac{-\pi}{2}\biggr) = \dfrac{\pi}{2} \end{align} ausgelesen werden. \end{itemize} -\end{beispiel}
\ No newline at end of file +\end{beispiel}
\ No newline at end of file diff --git a/buch/papers/clifford/9_KomplexeZahlen.tex b/buch/papers/clifford/9_KomplexeZahlen.tex index aaccd3d..e29885f 100644 --- a/buch/papers/clifford/9_KomplexeZahlen.tex +++ b/buch/papers/clifford/9_KomplexeZahlen.tex @@ -6,34 +6,34 @@ \section{Komplexe Zahlen} \rhead{Komplexe Zahlen} -Die komplexen Zahlen finden eine Vielzahl von Anwendungsgebiete in den Ingenieurwissenschaften. Das liegt daran, weil die komplexen Zahlen Rotationen und Schwingungen gut beschreiben können. Nach dem vorherigen Kapitel überrascht es wahrscheinlich nicht viele, dass es möglich ist komplexe Zahlen in der geometrischen Algebra darzustellen. Sie können durch die geraden Grade der zweidimensionalen geometrischen Algebra vollständig beschrieben werden: $\mathbf{g}_n \in G_2^+(\mathbb{R}) \cong \mathbb{C}$. Das bedeutet eine komplexe Zahl +Die komplexen Zahlen finden eine Vielzahl von Anwendungsgebiete in den Ingenieurwissenschaften. Das liegt daran, weil die komplexen Zahlen Drehungen und Schwingungen gut beschreiben können. Nach dem vorherigen Abschnitt ist es nicht überraschend, dass es möglich ist, komplexe Zahlen in der geometrischen Algebra darzustellen. Sie können durch die geraden Grade der zweidimensionalen geometrischen Algebra vollständig beschrieben werden: $\mathbf{g}_n \in G_2^+(\mathbb{R}) \cong \mathbb{C}$. Das bedeutet eine komplexe Zahl \begin{align} - a_0 + a_1 j \cong a_0 + a_1 \mathbf{e}_{12} = \mathbf{g}_n\quad a_0, a_1 \in \mathbb{R}\\ - |r|e^{\theta j} \cong |r|e^{\theta \mathbf{e}_{12}} = \mathbf{g}_n; \quad r, \theta \in \mathbb{R} +a_0 + a_1 j \cong a_0 + a_1 \mathbf{e}_{12} = \mathbf{g}_n\quad a_0, a_1 \in \mathbb{R}\\ +|r|e^{\theta j} \cong |r|e^{\theta \mathbf{e}_{12}} = \mathbf{g}_n; \quad r, \theta \in \mathbb{R} \end{align} kann durch ein Skalar (Grad 0) und einem Bivektor (Grad 2) dargestellt werden, weil $j$ und $\mathbf{e}_{12}$ beide die Eigenschaft \begin{align} - j^2 = -1\quad \mathbf{e}_{12}^2 = -1 +j^2 = -1\quad\text{und}\quad\mathbf{e}_{12}^2 = -1 \end{align} besitzen. Die Kommutativität \begin{align} - \begin{split} - \mathbf{g}_1\mathbf{g}_2 = \mathbf{g}_2\mathbf{g}_1 \enspace&\Leftrightarrow\enspace (a + b \mathbf{e}_{12})(f + g \mathbf{e}_{12}) = (f + g \mathbf{e}_{12})(a + b \mathbf{e}_{12})\\ &\Leftrightarrow\enspace |\mathbf{g}_1||\mathbf{g}_2|e^{(\theta_{g_1} + \theta_{g_2})\mathbf{e}_{12}} = |\mathbf{g}_2||\mathbf{g}_1|e^{(\theta_{g_2} + \theta_{g_1})\mathbf{e}_{12}}, - \end{split} +\begin{split} +\mathbf{g}_1\mathbf{g}_2 = \mathbf{g}_2\mathbf{g}_1 \enspace&\Leftrightarrow\enspace (a + b \mathbf{e}_{12})(f + g \mathbf{e}_{12}) = (f + g \mathbf{e}_{12})(a + b \mathbf{e}_{12})\\ &\Leftrightarrow\enspace |\mathbf{g}_1||\mathbf{g}_2|e^{(\theta_{g_1} + \theta_{g_2})\mathbf{e}_{12}} = |\mathbf{g}_2||\mathbf{g}_1|e^{(\theta_{g_2} + \theta_{g_1})\mathbf{e}_{12}}, +\end{split} \end{align} welche wir schon von den komplexen Zahlen her kennen, ist dabei eine in der geometrischen Algebra nur selten anzutreffende Eigenschaft. Beispielsweise ist das geometrische Produkt von \begin{align} - \mathbf{g}_1\mathbf{v}\not= \mathbf{v}\mathbf{g}_1 \quad\Leftrightarrow\quad(a + b \mathbf{e}_{12})(x\mathbf{e}_1+y\mathbf{e}_2)\not= (x\mathbf{e}_1+y\mathbf{e}_2)(a + b \mathbf{e}_{12}) +\mathbf{g}_1\mathbf{v}\not= \mathbf{v}\mathbf{g}_1 \quad\Leftrightarrow\quad(a + b \mathbf{e}_{12})(x\mathbf{e}_1+y\mathbf{e}_2)\not= (x\mathbf{e}_1+y\mathbf{e}_2)(a + b \mathbf{e}_{12}) \end{align} und auch die im folgenden Kapitel behandelten Quaternionen nicht kommutativ. -Um später die Auswirkung der Quaternionen auf Vektoren besser zu verstehen, möchte ich kurz darauf eingehen, was ein $\mathbf{g}_n$ für eine Auswirkung auf einen Vektor hat. +Um später die Auswirkung der Quaternionen auf Vektoren besser zu verstehen, möchten wir kurz darauf eingehen, was ein $\mathbf{g}_n$ für eine Auswirkung auf einen Vektor hat. Wir kennen diesen Effekt schon von den komplexen Zahlen. Wenn eine komplexe Zahl $c_1=a+bj$ mit einer zweiten $c_2=f+gj$ multipliziert wird, dann kann man \begin{align} - c = c_1\cdot c_2 = (a + bj)(d + ej) = a\cdot(d+ej) + bj\cdot(d+ej) +c = c_1\cdot c_2 = (a + bj)(d + ej) = \underbrace{a\cdot(d+ej)}_{\displaystyle{a\cdot c_2}} + \underbrace{bj\cdot(d+ej)}_{\displaystyle{b\cdot c_2 \cdot (1\angle 90^\circ)}} \end{align} -so aufteilen. Dabei ist $a\cdot(d+ej)$ die jetzige komplexe Zahl $c_2$ um den Faktor $a$ steckt und $bj\cdot(d+ej)$ die um 90° im Gegenuhrzeigersinn gedrehte Zahl $c_2$ um den Faktor $b$ streckt. Diese Anteile addiert ergeben, dann den um $c_1$ dreh-gestreckten Vektor $c_2$. Der gleiche Effekt hat +so aufteilen. Dabei ist $a\cdot(d+ej)$ die komplexe Zahl $c_2$ um den Faktor $a$ steckt und $bj\cdot(d+ej)$ die um 90° im Gegenuhrzeigersinn gedrehte Zahl $c_2$ um den Faktor $b$ streckt. Diese Anteile addiert ergeben dann den um $c_1$ drehgestreckten Vektor $c_2$. Den gleichen Effekt hat \begin{align}\label{GAdrehstreck} - \mathbf{v}' = \mathbf{g}\mathbf{v} = (a + b\mathbf{e}_{12})(d\mathbf{e}_{1} + e\mathbf{e}_{2}) = a(d\mathbf{e}_{1} + e\mathbf{e}_{2}) + b\mathbf{e}_{12}(d\mathbf{e}_{1} + e\mathbf{e}_{2}) +\mathbf{v}' = \mathbf{g}\mathbf{v} = (a + b\mathbf{e}_{12})(d\mathbf{e}_{1} + e\mathbf{e}_{2}) = a(d\mathbf{e}_{1} + e\mathbf{e}_{2}) + b\mathbf{e}_{12}(d\mathbf{e}_{1} + e\mathbf{e}_{2}) \end{align} in der zweidimensionalen geometrischen Algebra. Im Falle der komplexen Zahlen macht es jetzt noch nicht wirklich Sinn in die geometrische Algebra zu wechseln. Die potenziellen Vorteile der geometrischen Algebra werden sich aber erst bei den Quaternionen zeigen.
\ No newline at end of file diff --git a/buch/papers/clifford/Bilder/ReihenfolgeGimbal.png b/buch/papers/clifford/Bilder/ReihenfolgeGimbal.png Binary files differnew file mode 100644 index 0000000..875b2d5 --- /dev/null +++ b/buch/papers/clifford/Bilder/ReihenfolgeGimbal.png diff --git a/buch/papers/clifford/Bilder/test.png b/buch/papers/clifford/Bilder/test.png Binary files differdeleted file mode 100644 index 1633a2e..0000000 --- a/buch/papers/clifford/Bilder/test.png +++ /dev/null diff --git a/buch/papers/clifford/images/Makefile b/buch/papers/clifford/images/Makefile new file mode 100644 index 0000000..cc621fb --- /dev/null +++ b/buch/papers/clifford/images/Makefile @@ -0,0 +1,13 @@ +# +# Makefile +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: spiegelung.pdf + +spiegelung.pdf: spiegelung.tex punkte.tex + pdflatex spiegelung.tex + +punkte.tex: spiegelung.m + octave spiegelung.m + diff --git a/buch/papers/clifford/images/punkte.tex b/buch/papers/clifford/images/punkte.tex new file mode 100644 index 0000000..41d2247 --- /dev/null +++ b/buch/papers/clifford/images/punkte.tex @@ -0,0 +1,21 @@ +\coordinate (A) at (2.300,1.700); +\coordinate (B) at (4.300,2.500); +\coordinate (C) at (2.800,2.700); +\coordinate (S) at (3.133,2.300); +\coordinate (G1) at (0.489,0.873); +\coordinate (G1oben) at (4.886,8.725); +\coordinate (G1unten) at (-4.886,-8.725); +\coordinate (G2) at (0.336,-0.942); +\coordinate (G2oben) at (3.363,-9.417); +\coordinate (G2unten) at (-3.363,9.417); +\coordinate (A1) at (0.248,2.849); +\coordinate (B1) at (-0.115,4.973); +\coordinate (C1) at (0.839,3.798); +\coordinate (S1) at (0.324,3.873); +\coordinate (A2) at (-1.997,2.048); +\coordinate (B2) at (-3.061,3.921); +\coordinate (C2) at (-3.055,2.407); +\coordinate (S2) at (-2.704,2.792); +\def\winkela{60.7512} +\def\winkelb{48.9027} +\coordinate (G) at (0.489,0.873); diff --git a/buch/papers/clifford/images/spiegelung.m b/buch/papers/clifford/images/spiegelung.m new file mode 100644 index 0000000..a086cb5 --- /dev/null +++ b/buch/papers/clifford/images/spiegelung.m @@ -0,0 +1,66 @@ +# +# spiegelung.m +# +# +fn = fopen("punkte.tex", "w"); + + +a = [ 2.3; 1.7 ]; +b = [ 4.3; 2.5 ]; +c = [ 2.8; 2.7 ]; +s = (a + b + c)/3; + +fprintf(fn, "\\coordinate (A) at (%.3f,%.3f);\n", a(1, 1), a(2, 1)); +fprintf(fn, "\\coordinate (B) at (%.3f,%.3f);\n", b(1, 1), b(2, 1)); +fprintf(fn, "\\coordinate (C) at (%.3f,%.3f);\n", c(1, 1), c(2, 1)); +fprintf(fn, "\\coordinate (S) at (%.3f,%.3f);\n", s(1, 1), s(2, 1)); + +n1 = [ -2.5; 1.4 ]; +n1 = n1 / norm(n1); +S1 = eye(2) - 2 * (n1 * n1'); +g1 = [ n1(2,1); -n1(1,1) ]; + +fprintf(fn, "\\coordinate (G1) at (%.3f,%.3f);\n", g1(1,1), g1(2,1)); +fprintf(fn, "\\coordinate (G1oben) at (%.3f,%.3f);\n", 10*g1(1,1), 10*g1(2,1)); +fprintf(fn, "\\coordinate (G1unten) at (%.3f,%.3f);\n", -10*g1(1,1), -10*g1(2,1)); + +n2 = [ 1.4; 0.5 ]; +n2 = n2 / norm(n2); +S2 = eye(2) - 2 * (n2 * n2'); +g2 = [ n2(2,1); -n2(1,1) ]; + +fprintf(fn, "\\coordinate (G2) at (%.3f,%.3f);\n", g2(1,1), g2(2,1)); +fprintf(fn, "\\coordinate (G2oben) at (%.3f,%.3f);\n", 10*g2(1,1), 10*g2(2,1)); +fprintf(fn, "\\coordinate (G2unten) at (%.3f,%.3f);\n", -10*g2(1,1), -10*g2(2,1)); + +D = S2 * S1; + +a1 = S1 * a; +b1 = S1 * b; +c1 = S1 * c; +s1 = S1 * s; + +fprintf(fn, "\\coordinate (A1) at (%.3f,%.3f);\n", a1(1, 1), a1(2, 1)); +fprintf(fn, "\\coordinate (B1) at (%.3f,%.3f);\n", b1(1, 1), b1(2, 1)); +fprintf(fn, "\\coordinate (C1) at (%.3f,%.3f);\n", c1(1, 1), c1(2, 1)); +fprintf(fn, "\\coordinate (S1) at (%.3f,%.3f);\n", s1(1, 1), s1(2, 1)); + +a2 = D * a; +b2 = D * b; +c2 = D * c; +s2 = D * s; + +fprintf(fn, "\\coordinate (A2) at (%.3f,%.3f);\n", a2(1, 1), a2(2, 1)); +fprintf(fn, "\\coordinate (B2) at (%.3f,%.3f);\n", b2(1, 1), b2(2, 1)); +fprintf(fn, "\\coordinate (C2) at (%.3f,%.3f);\n", c2(1, 1), c2(2, 1)); +fprintf(fn, "\\coordinate (S2) at (%.3f,%.3f);\n", s2(1, 1), s2(2, 1)); + +winkel1 = atan2(g1(2,1), g1(1,1)) * (180 / pi); +winkel2 = acosd(g1' * g2); + +fprintf(fn, "\\def\\winkela{%.4f}\n", winkel1); +fprintf(fn, "\\def\\winkelb{%.4f}\n", 180 - winkel2); + +fprintf(fn, "\\coordinate (G) at (%.3f,%.3f);\n", g1(1,1), g1(2,1)); + +fclose(fn); diff --git a/buch/papers/clifford/images/spiegelung.pdf b/buch/papers/clifford/images/spiegelung.pdf Binary files differnew file mode 100644 index 0000000..a17d369 --- /dev/null +++ b/buch/papers/clifford/images/spiegelung.pdf diff --git a/buch/papers/clifford/images/spiegelung.tex b/buch/papers/clifford/images/spiegelung.tex new file mode 100644 index 0000000..0960456 --- /dev/null +++ b/buch/papers/clifford/images/spiegelung.tex @@ -0,0 +1,85 @@ +% +% spiegelung.tex -- template for standalon tikz images +% +% (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} +\begin{document} +\def\skala{1.1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\punkt#1{ +\fill #1 circle[radius=0.06]; +} + +\coordinate (M) at (0,0); + +\fill[color=blue] (M) circle[radius=0.06]; +\node[color=blue] at (M) [left] {$M$}; + +\input{punkte.tex} + +\fill[color=red!30] (A) -- (B) -- (C) -- cycle; +\draw[color=red] (A) -- (B) -- (C) -- cycle; +\node at (A) [below] {$A$}; +\node at (B) [above right] {$B$}; +\node at (C) [above] {$C$}; +\node at (S) {$\circlearrowleft$}; + +\fill[color=red!30] (A1) -- (B1) -- (C1) -- cycle; +\draw[color=red] (A1) -- (B1) -- (C1) -- cycle; +\node at (A1) [below] {$A'$}; +\node at (B1) [above] {$B'$}; +\node at (C1) [above right] {$C'$}; +\node at (S1) {$\circlearrowright$}; + +\fill[color=red!30] (A2) -- (B2) -- (C2) -- cycle; +\draw[color=red] (A2) -- (B2) -- (C2) -- cycle; +\node at (A2) [below] {$A''$}; +\node at (B2) [above] {$B''$}; +\node at (C2) [left] {$C''$}; +\node at (S2) {$\circlearrowleft$}; + +\draw[color=gray,dotted] (A) -- (A1); +\draw[color=gray,dotted] (B) -- (B1); +\draw[color=gray,dotted] (C) -- (C1); + +\draw[color=gray,dotted] (A1) -- (A2); +\draw[color=gray,dotted] (B1) -- (B2); +\draw[color=gray,dotted] (C1) -- (C2); + +\punkt{(A)} +\punkt{(B)} +\punkt{(C)} +\punkt{(A1)} +\punkt{(B1)} +\punkt{(C1)} +\punkt{(A2)} +\punkt{(B2)} +\punkt{(C2)} + +\fill[color=darkgreen!30] (M) -- (G1) arc ({\winkela}:{\winkela+\winkelb}:1) -- cycle; +\draw[color=darkgreen] (G1) arc ({\winkela}:{\winkela+\winkelb}:1); +\node[color=darkgreen] at ({\winkela+0.5*\winkelb}:0.7) {$\alpha$}; + +\node at ($6*(G1)$) [right] {$g\mathstrut$}; +\node at ($-5.6*(G2)$) [left] {$h\mathstrut$}; + +\clip (-3,-0.2) rectangle (4.5,5.5); + +\draw[line width=1pt] (G1oben) -- (G1unten); +\draw[line width=1pt] (G2oben) -- (G2unten); + +\fill[color=blue] (M) circle[radius=0.06]; + +\end{tikzpicture} +\end{document} + |