diff options
Diffstat (limited to 'buch/papers')
40 files changed, 1452 insertions, 329 deletions
diff --git a/buch/papers/clifford/10_Quaternionen.tex b/buch/papers/clifford/10_Quaternionen.tex index 8945ba8..c2b3b8c 100644 --- a/buch/papers/clifford/10_Quaternionen.tex +++ b/buch/papers/clifford/10_Quaternionen.tex @@ -5,57 +5,82 @@ % \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 3 dimensionalen 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 dreh-streckende Eigenschaft. Sie finden beispielsweise in der Computergraphik und in der Robotik Anwendung. Die Quaternionen werden so definiert. \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} Eine Drehstreckung wird dabei mit dieser Formel erreicht. \begin{align} \label{QuatRot} \begin{split} &v'' = qvq^{-1};\quad q,v,q^{-1} \in \mathbb{H}\\ - &Re(q) = Re(q^{-1});\enspace Im(q) = -Im(q^-1) + &\operatorname{Re}(q) = \operatorname{Re}(q^{-1})\quad \operatorname{Im}(q) = -\operatorname{Im}(q^{-1}) \end{split} \end{align} -Die Quaternionen besitzen im Gegensatz zu dem komplexen Zahlen 3 imaginäre Einheiten $i,j,k$. Wieso 3? Weil es in der dritten Dimension 3 Drehachsen gibt, anstatt nur eine. Nun haben wir ein kleines Problem. Wie sollen wir die Quaternionen darstellen? Wir bräuchten 4 Achsen für die 3 Imaginären Einheiten und die eine 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 ineinander umgewandelt werden, um damit zu rechnen, wie man bei $v$ in der Formel (\ref{QuatRot}) sieht. +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 3 Drehachsen gibt, anstatt nur eine. 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). + +Leider haben wir nun bei der Darstellung der Quaternionen ein kleines Problem. Wir bräuchten 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 ineinander umgewandelt werden, um damit zu rechnen, wie man bei $v \in \mathbb{H}$ in der Formel (\ref{QuatRot}) sieht. + +\subsection{Geometrische Algebra} +Die geometrische Algebra besitzt die Fähigkeit beide Probleme zu lösen. Die Quaternionen können, wie schon im 2 dimensionalen 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 bilden $\mathbf{e}_{12}, \mathbf{e}_{23}, \mathbf{e}_{31}$. +\begin{definition} + Multivektoren mit Drehstreckenden Eigenschaften in $G_3(\mathbb{R})$ (gleichbedeutend zu Quaternionen) + \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^+ + \end{align} +\end{definition} -\subsection{geometrischen Algebra} -Die geometrische Algebra besitzt die Fähigkeit beide Probleme zu lösen. Die Quaternionen können, wie schon im 2 dimensionalen Fall durch die gerade Grade $\mathbb{G}_3^+ \cong \mathbb{H}$ dargestellt werden. Da wir uns jetzt aber in $\mathbb{G}_3$ befinden haben wir 3 Basisvektoren $e_1, e_2, e_3$ und können somit 3 Bivektoren bilden $e_{12}, e_{23}, e_{31}$. -\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 q \in \mathbb{G}_3^+ -\end{align} 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 darstellen. \\BILD VEKTOR, QUATERNION IN G3\\ Wie schon im 2 dimensionalen Fall beschreibt ein Bivektor, um wie viel der um 90 grad gedrehte orginale Vektor gestreckt wird. Dabei dreht jeder Bivektor den Vektor um eine andere Achse. \\BILD?\\ -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 Einheitsquaternion, welche den Betrag $|q|=1$ haben. Sie rotieren die Objekte bzw. Vektoren lediglich. -\begin{align} - \mathbf{q} = \cos(\alpha) + sin(\alpha)(x\mathbf{e_{12}} + y\mathbf{e_{23}} + z\mathbf{e_{31}}) -\end{align} -wobei definiert ist, dass $x^2+y^2+z^2=1$. Somit beträgt der Betrag immer 1. +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 $|q|=1$ haben. Sie rotieren die Objekte bzw. Vektoren lediglich. +\begin{definition} + Einheitsquaternionen + \begin{align} + \mathbf{q} = \cos(\alpha) + sin(\alpha)(x\mathbf{e}_{12} + y\mathbf{e}_{23} + z\mathbf{e}_{31}) + \end{align} +\end{definition} +Dabei ist definiert, dass $x^2+y^2+z^2=1$. Somit beträgt der Betrag von immer $\mathbf{q}$ immer 1. \begin{align} - |q| = \sqrt{cos(\alpha)^2 + sin(\alpha)^2(x^2+y^2+z^2) } = \sqrt{cos(\alpha)^2 + sin(\alpha)^2} = 1 + |\mathbf{q}| = \sqrt{cos(\alpha)^2 + sin(\alpha)^2(x^2+y^2+z^2) } = \sqrt{cos(\alpha)^2 + sin(\alpha)^2} = 1 \end{align} -Man verwendet um einen Vektor zu drehen wieder die gleiche Formel, wie auch schon im 2 dimensionalen Fall. -\begin{align} \label{QuatRot} +Um einen Vektor zu drehen, verwendet man wieder die gleiche Formel, wie auch schon im zweidimensionalen Fall. +\begin{align} \label{QuatRotGA} \begin{split} - &v'' = qvq^{-1}\\ - &Re(q) = Re(q^{-1});\enspace Im(q) = -Im(q^-1) + &\mathbf{v}'' = \mathbf{qvq}^{-1}\\ + &\operatorname{Re}(\mathbf{q}) = \operatorname{Re}(\mathbf{q}^{-1});\enspace \operatorname{Im}(\mathbf{q}) = -\operatorname{Im}(\mathbf{q}^-1) \end{split} \end{align} Es ist wichtig bei Quaternionen für eine reine Drehstreckung mit $q$ und $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 - -\subsection{Gimbal-Lock und Interpolation} - +\\BEISPIEL DREHUNG 90 grad um zwei Achsen\\ +\\BILD addition Bivektoren zu Beipsiel?\\ +\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. +\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$ dargestellt werden. + \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} + \end{align} + 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. +\end{itemize} +Für Spielentwickler ist es darum meist sinnvoller Quaternionen für Drehbewegungen anzuwenden, als sich mit komplizierten Berechnungen mit Eulerschen Winkeln herumzuschlagen. +\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. \subsection{Fazit} -andere Darstellungsweise. Besser für Verständnis => komplexe Zahlen erscheinen ähnlicher zu Quaternionen? Eine Sprache für alle Geometrische Probleme - - -\begin{tikzpicture} - \draw[thin,gray!40] (-3,-3) grid (3,3); - \draw[<->] (-3,0)--(3,0) node[right]{$x$}; - \draw[<->] (0,-3)--(0,3) node[above]{$y$}; - \draw[line width=2pt,blue,-stealth](0,0)--(1,1) node[anchor=south west]{$\boldsymbol{u}$}; - \draw[line width=2pt,red,-stealth](0,0)--(-1,-1) node[anchor=north east]{$\boldsymbol{-u}$}; -\end{tikzpicture}
\ No newline at end of file +andere Darstellungsweise. Besser für Verständnis => komplexe Zahlen erscheinen ähnlicher zu Quaternionen? Eine Sprache für alle Geometrische Probleme
\ No newline at end of file diff --git a/buch/papers/clifford/6_Dirac-Matrizen.tex b/buch/papers/clifford/6_Dirac-Matrizen.tex deleted file mode 100644 index 6417bb3..0000000 --- a/buch/papers/clifford/6_Dirac-Matrizen.tex +++ /dev/null @@ -1,7 +0,0 @@ -% -% einleitung.tex -- Beispiel-File für die Einleitung -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Dirac-Matrizen} -\rhead{Dirac-Matrizen} diff --git a/buch/papers/clifford/6_PauliMatrizen.tex b/buch/papers/clifford/6_PauliMatrizen.tex new file mode 100644 index 0000000..9392285 --- /dev/null +++ b/buch/papers/clifford/6_PauliMatrizen.tex @@ -0,0 +1,108 @@ +% +% einleitung.tex -- Beispiel-File für die Einleitung +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Pauli-Matrizen} +\rhead{Pauli-Matrizen} + +Was ist der beste Weg um einen Computeralgorithmus für die Rechenoperationen in der Clifford-Algebra zu erstellen? Man könnte versuchen ein textueller Rechner zu implementieren der für die Elemente $\mathbf{e}_i$ hartkodierte Vereinfachungen ausführt +\begin{beispiel} + der Algorithmus weiss, dass er $a\mathbf{e}_1\cdot b\mathbf{e}_1$ zu $ab\cdot1$ vereinfachen kann + \begin{align} + 3\mathbf{e}_1 \cdot 2\mathbf{e}_1 + 3\mathbf{e}_2 \Rightarrow 6 + 3\mathbf{e}_2 + \end{align} +\end{beispiel} +Dies 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} + vier Pauli-Matrizen ($\mathbf{e}_0$ = Skalare) + \begin{align} + \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}\quad + \end{align} + durch normale Matrizenmultiplikation lassen sich die restlichen Basiselemente der dreidimensionalen Clifford-Algebra herleiten + \begin{align} + \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}\quad + \mathbf{e}_{123} = + \begin{pmatrix} + j & 0 \\ + 0 & j + \end{pmatrix}\quad + \end{align} +\end{definition} +Dabei ist wichtig, dass sich die Matrizen gleich verhalten, wie es die Clifford-Algebra für die Basiselemente definiert hat. +\begin{align} + \mathbf{e}_1^2 &= \mathbf{e}_0 = + \begin{pmatrix} + 0 & 1 \\ + 1 & 0 + \end{pmatrix}^2 = + \begin{pmatrix} + 1 & 0 \\ + 0 & 1 + \end{pmatrix}\\ + \mathbf{e}_{12}^2 &= -\mathbf{e}_0 = + \begin{pmatrix} + j & 0 \\ + 0 & -j + \end{pmatrix}^2 = + \begin{pmatrix} + -1 & 0 \\ + 0 & -1 + \end{pmatrix} +\end{align} +Man kann bei der Definition \ref{def:defPauli} sehen, dass alle Matrizen linear unabhängig voneinander sind. Das bedeutet, dass wenn man die Matrizen der Basiselemente normal addiert und zu einer grossen Matrix zusammenfasst und anschliessend wieder herausgelesen werden können. +\begin{definition} + Multivektor mit Pauli-Matrizen + \begin{align} + 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 &= + \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} + \end{align} +\end{definition} +\begin{beispiel} + \begin{align} + M &= \begin{pmatrix} + 1 & 0 \\ + 0 & 0 + \end{pmatrix}\\ + &\Rightarrow a_0 + a_3 = 1 \land a_0 - a_3 = 0\\ + &\Rightarrow a_0 = 0.5 \land a_3 = 0.5\\ + M &= 0.5 \mathbf{e}_0 + 0.5 \mathbf{e}_3 + \end{align} +\end{beispiel}
\ No newline at end of file diff --git a/buch/papers/clifford/7_Reflektion.tex b/buch/papers/clifford/7_Reflektion.tex index d4942e0..1c6d590 100644 --- a/buch/papers/clifford/7_Reflektion.tex +++ b/buch/papers/clifford/7_Reflektion.tex @@ -3,31 +3,47 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Reflektion/ Spiegelung} -\rhead{Reflektion/ Spiegelung} -Die Spiegelung ist eine grundlegende, geometrische Operation, aus welcher man weitere, wie beispielsweise die später beschriebene Rotation, ableiten kann. Da die Geometrische Algebra für geometrische Anwendungen ausgelegt ist, sollte die Reflektion auch eine einfache, praktische Formulierung besitzen. \\HIER BILD -\subsection{linearen Algebra} -Aus der linearen Algebra ist bekannt, dass man eine Reflektion wie folgt beschreiben kann. -\begin{align} \label{RefLinAlg} - \mathbf{v^{'}} = \mathbf{v} - 2 \cdot \mathbf{v_{\perp u}} +\section{Reflexion/ Spiegelung} +\rhead{Reflexion/ Spiegelung} + +Die Spiegelung ist eine grundlegende, geometrische Operation, aus welcher man weitere, wie beispielsweise die später beschriebene Rotation, ableiten kann. Da die Geometrische Algebra für geometrische Anwendungen ausgelegt ist, sollte die Reflexion auch eine einfache, praktische Formulierung besitzen. \\HIER BILD +\subsection{Linearen Algebra} +Aus der linearen Algebra ist bekannt, dass man eine Spiegelung wie folgt beschreiben kann. +\begin{definition} + Spiegelungsgleichung in der linearen Algebra + \begin{equation} \label{RefLinAlg} + \mathbf{v^{'}} = \mathbf{v} - 2 \cdot \mathbf{v_{\perp u}} + \end{equation} +\end{definition} + +$\mathbf{u}$ repräsentiert die Spiegelachse und $\mathbf{v_{\perp u}}$ senkrecht auf dieser Achse steht und den orthogonalen Anteil von $\mathbf{v}$ zu $\mathbf{u}$ bildet. Es scheint für diese Formel aber umständlich zu sein, weitere Spiegelungen, mit weiteren Spiegelachsen, anzufügen. Man kann die Abbildung des Vektors auf den gespiegelten Vektor auch als Matrix schreiben, welche aus den Komponenten des zu der Spiegelachse orthonormalen Vektors $\mathbf{\hat{n}}$ besteht. +\begin{align} + \mathbf{\hat{n}}\perp \mathbf{u}\quad \land \quad |\mathbf{\hat{n}}| = 1 \end{align} -Dabei stellt $\mathbf{u}$ die Spiegelachse dar. -Es scheint für diese Formel aber umständlich zu sein, weitere Reflektionen, mit weiteren Spiegelachsen, anzufügen. Man kann die Abbildung des Vektors auf den Reflektierten Vektor auch als Matrix schreiben, welche aus den Komponenten des zu der Spiegelachse orthonormalen Vektors $\mathbf{\hat{n}}$ besteht. -\\MATRIZEN O(2) und O(3) zeigen\\ -Diese Matrizen gehören der Matrizengruppe $O(n)$ an.... -\subsection{geometrischen Algebra} -Die Geometrische Algebra leitet aus der obigen Formel (\ref{RefLinAlg}) eine einfache und intuitive Form her, welche auch für weitere Operationen einfach erweitert werden kann. -\begin{align} - \mathbf{v'} = \mathbf{uvu^{-1}} -\end{align} -wobei die Inverse eines Vektors so definiert ist, dass multipliziert mit sich selbst das neutrale Element 1 ergibt. -\begin{align} - u^{-1} = \dfrac{u}{|u|^2} \Rightarrow uu^{-1} = 1 +\begin{align} \label{Spiegelmatrizen} + Spiegelmatrizen... \end{align} +Diese Matrizen Spiegelmatrizen gehören der orthogonalen Matrizengruppe $S\in \text{O}(n)$ an. Diese haben die Eigenschaft $S^t S = E$, was bedeutet, dass zweimal eine Spiegelung an der selben Achse keinen Effekt hat. +\subsection{Geometrische Algebra} +Die Geometrische Algebra leitet aus der obigen Formel \eqref{RefLinAlg} eine einfache und intuitive Form her, welche auch für weitere Operationen einfach erweitert werden kann. +\begin{definition} + Spiegelungsgleichung in der geometrischen Algebra + \begin{align}\label{RefGA} + \mathbf{v}' = \mathbf{uvu}^{-1} + \end{align} +\end{definition} + +Die Inverse eines Vektors ist dabei so definiert, dass multipliziert mit sich dem Vektor selbst das neutrale Element 1 ergibt. +\begin{definition} + Inverse eines Vektors + \begin{align} + \mathbf{u}^{-1} = \dfrac{\mathbf{u}}{|\mathbf{u}|^2} \Rightarrow \mathbf{uu}^{-1} = \dfrac{\mathbf{u}^2}{|\mathbf{u}|^2} = 1 + \end{align} +\end{definition} + verwendet man für $\mathbf{u}$ nur einen Einheitsvektor $\mathbf{\hat{u}}$, welcher die Länge 1 besitzt, wird somit die Formel reduziert zu einer beidseitigen Multiplikation von $\mathbf{\hat{u}}$. \begin{align} \mathbf{v'} = \mathbf{\hat{u}v\hat{u}} \end{align} -Im Gegensatz zu den Abbildungen in der linearen Algebra, welche in jeder anderen Dimension durch andere Matrizen 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 keine Multiplikation von Vektoren definiert ist. +Im Gegensatz zu den Abbildungen in der linearen Algebra, welche in jeder anderen Dimension, wie bei der Definition \eqref{Spiegelmatrizen} ersichtlich, durch andere Matrizen 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. \\BEISPIEL?
\ No newline at end of file diff --git a/buch/papers/clifford/8_Rotation.tex b/buch/papers/clifford/8_Rotation.tex index c2928bf..3ef5fbf 100644 --- a/buch/papers/clifford/8_Rotation.tex +++ b/buch/papers/clifford/8_Rotation.tex @@ -5,96 +5,120 @@ % \section{Rotation} \rhead{Rotation} -Eine Rotation kann man aus zwei, aufeinanderfolgende Reflektionen bilden. Das war für mich zuerst eine verwirrende Aussage, da man aus den vorherig gezeigten Formeln annehmen könnte, dass die Reflektion schon für eine Drehung ausreicht. Obwohl sich die Längen, Winkel und Volumen sich bei einer Reflektion, wie bei einer Rotation, nicht ändert, sind sie doch verschieden, da die Orientierung bei der Reflektion invertiert wird. Stellt man sich beispielsweise ein Objekt in 3D 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 zwei mal invertiert wurde. + +Eine Rotation kann man aus zwei, aufeinanderfolgende Spiegelung bilden. Das war für mich zuerst eine verwirrende Aussage, 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. \\BILD -\subsection{linearen Algebra} -In der linearen Algebra haben wir Drehungen durch die Matrizen der Gruppe $SO(n)$ beschrieben. Die SO(2) werden beispielsweise auf diese Weise gebildet. +\subsection{Linearen Algebra} +In der linearen Algebra haben wir Drehungen durch die Matrizen der Gruppe $\text{SO}(n)$ beschrieben. Die $\text{SO}(2)$ werden beispielsweise auf diese Weise gebildet. \begin{align} D = \begin{pmatrix} - cos(\alpha) & sin(\alpha) \\ - -sin(\alpha) & cos(\alpha) + \cos(\alpha) & \sin(\alpha) \\ + -\sin(\alpha) & \cos(\alpha) \end{pmatrix} \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$. Dadurch dass die $det(D) = 1$ und nicht $-1$ sein kann fallen alle Spiegelungen aus der Menge raus. $det(D) = -1$ bedeutet, dass eine Orientierungsinversion stattfindet. +\\BILD Mengen Spezieller Matrizen von Herrn Müller Präsentation -\subsection{geometrischen Algebra} -Da wir jetzt aus der Geometrie wissen, dass eine Rotation durch zwei Reflektionen gebildet werden kann, können wir die Rotation einfach herleiten. +\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. \begin{align} \label{rotGA} - v'' = wv'w^{-1} = w(uvu^{-1})w^{-1} -\end{align} -Die Vektoren $\mathbf{w}$ und $\mathbf{u}$ bilden hier wiederum die Spiegelachsen. Diese versuchen wir jetzt noch zu verbessern. Dazu leiten wir zuerst die bekannte Polarform her. (Anmerkung: Hier wird eine Rotation auf der $\mathbf{e_{12}}$ Ebene hergeleitet. Weitere Drehungen können in höheren Dimensionen durch Linearkombinationen von Drehungen in den $\mathbf{e_{ij}}, i\not=j$ Ebenen erreicht werden) -\begin{align} - \mathbf{w} = |w| \left[\cos(\theta_w) e_1 + \sin(\theta_w) e_2\right] + \mathbf{v}'' = \mathbf{wv}'\mathbf{w}^{-1} = \mathbf{w}(\mathbf{uvu}^{-1})\mathbf{w}^{-1} \end{align} -Dabei können wir ausnützen, dass $e_1^2 = 1$ ist. Was nichts ändert wenn wir es einfügen. Zudem klammern wir dann $e_1$ aus. +Die Vektoren $\mathbf{w}$ und $\mathbf{u}$ bilden hier wiederum die Spiegelachsen. Diese Formel versuchen wir jetzt noch durch Umstrukturierung zu verbessern. +\subsubsection{Polarform und Exponentialform} +Dazu leiten wir zuerst die Exponentialform her. (Anmerkung: Hier wird eine Rotation auf der $\mathbf{e}_{12}$ Ebene hergeleitet. Weitere Drehungen können in höheren Dimensionen durch Linearkombinationen von Drehungen in den $\mathbf{e}_{ij}, i\not=j$ Ebenen erreicht werden). Dafür verwenden wir die Polarform des Vektors. \begin{align} - \mathbf{w} = |w| \left[\cos(\theta_w) e_1 + \sin(\theta_w) e_1e_1e_2\right] + \mathbf{w} = |\mathbf{w}| \left(\cos(\theta_w) \mathbf{e}_1 + \sin(\theta_w) \mathbf{e}_2\right) \end{align} -\begin{align} \label{e1ausklammern} - \mathbf{w} = |w|e_1\left[\cos(\theta_w)+ \sin(\theta_w) e_{12}\right] +Dabei können wir ausnützen, dass $\mathbf{e}_1^2 = 1$ ist. Was nichts ändert wenn wir es einfügen. Zudem klammern wir dann $\mathbf{e}_1$ aus. +\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) \end{align} -Durch die Reihenentwicklung ist es uns jetzt möglich den Term in eckigen Klammern mit der e-Funktion zu schreiben. \begin{align} - \mathbf{w} = |w|\mathbf{e_1} e^{\theta_w \mathbf{e_{12}}} + \mathbf{w} = |\mathbf{w}|\mathbf{e}_1\left(\cos(\theta_w)+ \sin(\theta_w) \mathbf{e}_{12}\right) \end{align} -Man kann es so interpretieren, dass der Einheitsvektor $e_1$ um die Länge w gestreckt und um $theta_w$ gedreht wird. -Nun werden wir den Effekt von zwei aneinandergereihten Vektoren $(wu)$ betrachten. +Durch die Reihenentwicklung der $\sin$ und $\cos$ Funktionen \begin{align} - \mathbf{wu} = |w|\mathbf{e_1} e^{\theta_w \mathbf{e_{12}}}||u||\mathbf{e_1} e^{\theta_u \mathbf{e_{12}}} + \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} -Um die beiden $\mathbf{e_1}$ zu kürzen, können wir die Reihenfolge des exponential Terms mit $\mathbf{e_1}$ wechseln, indem man bei der Gleichung (\ref{e1ausklammern}), anstatt mit $\mathbf{e_1e_1e_2}$ mit $\mathbf{e_2e_1e_1}$ erweitert. -\begin{align} - \mathbf{w} = |w|\left[\cos(\theta_w)+ \sin(\theta_w) \mathbf{e_2e_1}\right]\mathbf{e_1} -\end{align} -Da $\mathbf{e_2e_1 = -e_{12}}$ können wir einfach den Winkel negieren. -Jetzt können wir wieder $e_1e_1 = 1$ kürzen. Die Längen können als Skalare beliebig verschoben werden und die exponential Terme zusammengefasst werden. +ist es uns leicht möglich die $\sin$ und $\cos$ Terme in die Exponentialfunktion umzuwandeln. Dabei verwenden wir zusätzlich noch unsere Erkenntnis, dass $\mathbf{e}_{12}^2=-1, \enspace\mathbf{e}_{12}^3=-\mathbf{e}_{12}, ...$ \begin{align} - \mathbf{wu} = |w||u|e^{-\theta_w \mathbf{e_{12}}}\mathbf{e_1}\mathbf{e_1} e^{\theta_u \mathbf{e_{12}}} + \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 \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\\ \end{align} +Aus der Reihenentwicklung der Exponentialfunktion folgt nun \begin{align} - \mathbf{wu} = |w||u|e^{(\theta_u-\theta_w) \mathbf{e_{12}}} + &e^{\theta_w\mathbf{e}_{12}}=\sum _{n=0}^{\infty }{\frac {(\theta_w\mathbf{e}_{12})^{n}}{n!}}={\frac {(\theta_w\mathbf{e}_{12})^{0}}{0!}}+{\frac {(\theta_w\mathbf{e}_{12})^{1}}{1!}}+{\frac {(\theta_w\mathbf{e}_{12})^{2}}{2!}}+{\frac {(\theta_w\mathbf{e}_{12})^{3}}{3!}}+\cdots\\ + &\Rightarrow \mathbf{w} = |w|\mathbf{e}_1 e^{\theta_w \mathbf{e}_{12}} = |w|\mathbf{e}_1\left(\cos(\theta_w)+ \sin(\theta_w) \mathbf{e}_{12}\right) \end{align} -der Term $\mathbf{u^{-1}w^{-1}}$ kann durch die selbe Methode zusammengefasst werden. +Man kann es so interpretieren, dass der Einheitsvektor $\mathbf{e}_1$ um die Länge $|\mathbf{w}|$ gestreckt und um $\theta_w$ gedreht wird. +\subsubsection{Vektormultiplikation} +Nun werden wir den Effekt von zwei aneinandergereihten Vektoren $\mathbf{wu}$ betrachten. \begin{align} - \mathbf{u^{-1}w^{-1}} = \dfrac{1}{|w||u|}e^{(\theta_w-\theta_u) \mathbf{e_{12}}} + \mathbf{wu} = |\mathbf{w}|\mathbf{e}_1 e^{\theta_w \mathbf{e}_{12}}|u|\mathbf{e}_1 e^{\theta_u \mathbf{e}_{12}} \end{align} -Dabei definieren wir den Winkel zwischen den Vektoren $\mathbf{w}$ und $\mathbf{u}$ als $\theta = \theta_w - \theta_u$. Setzten wir nun unsere neuen Erkenntnisse in die Gleichung (\ref{rotGA}) ein. -\begin{align} - \mathbf{v''} = |w||u|e^{-\theta \mathbf{e_{12}}} v \dfrac{1}{|w||u|}e^{\theta \mathbf{e_{12}}} +Um die beiden $\mathbf{e}_1$ zu kürzen, können wir die Reihenfolge des Exponentialterms mit $\mathbf{e}_1$ wechseln, indem man bei der Gleichung \eqref{e1ausklammern}, anstatt mit $\mathbf{e}_1\mathbf{e}_1\mathbf{e}_2$ mit $\mathbf{e}_2\mathbf{e}_1\mathbf{e}_1$ erweitert. +\begin{align} + \mathbf{w} = |\mathbf{w}|\left(\cos(\theta_w)+ \sin(\theta_w) \mathbf{e}_2\mathbf{e}_1\right)\mathbf{e}_1 \end{align} -HIER DEFINITION/IST WICHTIGE FORMEL +Da $\mathbf{e}_2\mathbf{e}_1 = -\mathbf{e}_1\mathbf{e}_2$ können wir einfach den Winkel negieren und $e_1e_1 = 1$ kürzen. Die Längen können als Skalare beliebig verschoben werden und die Exponentialterme zusammengefasst werden. \begin{align} - \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. -\begin{align} \label{RotAufPerpPar} - \mathbf{v''} = e^{-\theta \mathbf{e_{12}}} (\mathbf{v_\perp + v_\parallel}) e^{\theta \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}} \end{align} \begin{align} - \mathbf{v''} = 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{wu} = |\mathbf{w}||\mathbf{u}|e^{(\theta_u-\theta_w) \mathbf{e}_{12}} \end{align} -Auf eine allgemeine Herleitung wird hier zwar verzichtet, aber man kann zeigen, dass die Reihenfolge so vertauscht werden kann. Der Winkel wird dabei beim parallelen Term negiert. +der Term $\mathbf{u}^{-1}\mathbf{w}^{-1}$ kann durch die selbe Methode zusammengefasst werden. \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{u}^{-1}\mathbf{w}^{-1} = \dfrac{1}{|\mathbf{w}||\mathbf{u}|}e^{(\theta_w-\theta_u) \mathbf{e}_{12}} \end{align} +Dabei definieren wir den Winkel zwischen den Vektoren $\mathbf{w}$ und $\mathbf{u}$ als $\theta = \theta_w - \theta_u$. +\subsubsection{Umstrukturierte Drehungsgleichung} +Setzten wir nun unsere neuen Erkenntnisse in die Gleichung \eqref{rotGA} ein. \begin{align} - \mathbf{v''} = \mathbf{v_\perp} + \mathbf{v_\parallel} e^{2\theta \mathbf{e_{12}}} + \mathbf{v''} = |\mathbf{w}||\mathbf{u}|e^{-\theta \mathbf{e}_{12}} v \dfrac{1}{|\mathbf{w}||\mathbf{u}|}e^{\theta \mathbf{e}_{12}} +\end{align} +\begin{satz} + Vereinfachte Drehungsgleichung in Exponentialschreibweise + \begin{align} + \mathbf{v''} = e^{-\theta \mathbf{e}_{12}} v e^{\theta \mathbf{e}_{12}} + \end{align} +\end{satz} + +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. +\begin{align} \label{RotAufPerpPar} + \mathbf{v}'' = e^{-\theta \mathbf{e}_{12}} (\mathbf{v_\perp + v_\parallel}) e^{\theta \mathbf{e}_{12}} \end{align} -Man kann an dieser Gleichung sehen, dass nur der parallele Anteil des Vektors $\mathbf{v}$ auf der Ebene $\mathbf{e_{12}}$ um $2\theta$ gedreht wird. Der senkrechte Anteil 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. -\\BEISPIEL \begin{align} - \begin{split} - &\mathbf{v} = 1\mathbf{e_1} + 2\mathbf{e_2} + 3\mathbf{e_3}\quad\Rightarrow\quad \mathbf{v_\parallel} = 1\mathbf{e_1} + 2\mathbf{e_2}; \quad \mathbf{v_\perp} = 3\mathbf{e_3}\\ &\mathbf{wu} = 1e^{(-\pi/2) \mathbf{e_{12}}} = 1[\cos(-\pi/2)\mathbf{e_1}+\sin(-\pi/2)\mathbf{e_2}] = -\mathbf{e_2}; \\ &\mathbf{u^{-1}w^{-1}} = 1e^{(\pi/2) \mathbf{e_{12}}} = \mathbf{e_2} - \end{split} + \mathbf{v}'' = 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 vertauscht werden kann. Der Winkel wird dabei beim parallelen Term negiert. \begin{align} - \begin{split} - \mathbf{v''} = &\mathbf{(wu)v(u^{-1}w^{-1})} \\ - &-\mathbf{e_2} (1\mathbf{e_1} + 2\mathbf{e_2} + 3\mathbf{e_3}) \mathbf{e_2} \\ - & -1\mathbf{e_2e_1e_2} - 2\mathbf{e_2e_2e_2} - 3\mathbf{e_2e_3e_2} \\ - & 1\mathbf{e_2e_2e_1} - 2\mathbf{e_2} + 3\mathbf{e_2e_2e_3} \\ - & 1\mathbf{e_1} - 2\mathbf{e_2} + 3\mathbf{e_3} - \end{split} + \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} +\begin{align} + \mathbf{v}'' = \mathbf{v_\perp} + \mathbf{v_\parallel} e^{2\theta \mathbf{e}_{12}} +\end{align} +Man kann an dieser Gleichung sehen, dass nur der parallele Anteil des Vektors $\mathbf{v}$ auf der Ebene $\mathbf{e}_{12}$ um $2\theta$ gedreht wird. Der senkrechte Anteil 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. +\begin{beispiel} + \begin{align} + \begin{split} + \mathbf{v} &= 1\mathbf{e}_1 + 2\mathbf{e}_2 + 3\mathbf{e}_3\quad\Rightarrow\quad \mathbf{v_\parallel} = 1\mathbf{e}_1 + 2\mathbf{e}_2 \quad \mathbf{v_\perp} = 3\mathbf{e}_3\\ + \mathbf{wu} &= 1e^{(-\pi/2) \mathbf{e}_{12}} = 1[\cos(-\pi/2)\mathbf{e}_1+\sin(-\pi/2)\mathbf{e}_2] = -\mathbf{e}_2 \\ + \mathbf{u}^{-1}\mathbf{w}^{-1} &= 1e^{(\pi/2) \mathbf{e}_{12}} = \mathbf{e}_2 + \end{split} + \end{align} + \begin{align} + \begin{split} + \mathbf{v}'' = &(\mathbf{wu})\mathbf{v}(\mathbf{u}^{-1}\mathbf{w}^{-1}) \\ + &-\mathbf{e}_2 (1\mathbf{e}_1 + 2\mathbf{e}_2 + 3\mathbf{e}_3) \mathbf{e}_2 \\ + & -1\mathbf{e}_2\mathbf{e}_1\mathbf{e}_2 - 2\mathbf{e}_2\mathbf{e}_2\mathbf{e}_2 - 3\mathbf{e}_2\mathbf{e}_3\mathbf{e}_2 \\ + & 1\mathbf{e}_2\mathbf{e}_2\mathbf{e}_1 - 2\mathbf{e}_2 + 3\mathbf{e}_2\mathbf{e}_2\mathbf{e}_3 \\ + & 1\mathbf{e}_1 - 2\mathbf{e}_2 + 3\mathbf{e}_3 + \end{split} + \end{align} +\end{beispiel} Man sieht, dass sich der Vektor $\mathbf{v_\parallel}$ sich um $2\cdot90^\circ$ gedreht hat und der Vektor $\mathbf{v_\perp}$ unverändert blieb.
\ No newline at end of file diff --git a/buch/papers/clifford/9_KomplexeZahlen.tex b/buch/papers/clifford/9_KomplexeZahlen.tex index 4dbab2c..120828b 100644 --- a/buch/papers/clifford/9_KomplexeZahlen.tex +++ b/buch/papers/clifford/9_KomplexeZahlen.tex @@ -3,26 +3,25 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\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. Nachdem 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 2 Dimensionalen geometrischen Algebra vollständig beschrieben werden: $\mathbb{G}_2^+ \cong \mathbb{C}$. Das bedeutet eine komplexe Zahl kann durch ein Skalar (Grade 0) und einem Bivektor (Grade 2) dargestellt werden. Als Abkürzung nehme ich die Bezeichnung $g_n \in \mathbb{G}_2^+$. +\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. Nachdem 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 2 Dimensionalen geometrischen Algebra vollständig beschrieben werden: $G_2^+(\mathbb{R}) \cong \mathbb{C}$. Das bedeutet eine komplexe Zahl kann durch ein Skalar (Grad 0) und einem Bivektor (Grad 2) dargestellt werden. Als Abkürzung nehme ich die Bezeichnung $\mathbf{g}_n \in G_2^+(\mathbb{R})$. \begin{align} - a_0 + a_1 j \cong a_0 + a_1 e_{12} = g_n;\quad a_0, a_1 \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} \end{align} oder in Polarform. \begin{align} - |r|e^{\theta j} \cong |r|e^{\theta e_{12}} = g_n; \quad r, \theta \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} -Man beachte, dass wenn wir, wie bei den komplexen Zahlen, Elemente von $\mathbb{G}_2^+$ miteinander Multiplizieren, ist es nicht, wie im Kapitel Rotation bei der Formel (\ref{rotGA})beschrieben, eine Multiplikation von zwei $g_n$ mit einem Vektor. Im 2 dimensionalen bewirken beide Multiplikationen grundsätzlich das Gleiche (eine Drehstreckung), aber die Multiplikation von mehreren $g_n$ ist kommutativ, wie wir es von den komplexen zahlen kennen. +Man beachte, dass wenn wir, wie bei den komplexen Zahlen, Elemente von $G_2^+(\mathbb{R})$ miteinander Multiplizieren, ist es nicht, wie im Kapitel Rotation bei der Formel (\ref{rotGA})beschrieben, eine Multiplikation von zwei $g_n$ mit einem Vektor. Im zweidimensionalen bewirken beide Multiplikationen grundsätzlich das Gleiche (eine Drehstreckung), aber die Multiplikation von mehreren $g_n$ ist kommutativ, wie wir es von den komplexen Zahlen kennen. \begin{align} - \begin{split} - &(a + b \mathbf{e_{12}})(c + d \mathbf{e_{12}}) = (c + d \mathbf{e_{12}})(a + b \mathbf{e_{12}})\\ - &(a + b \mathbf{e_{12}})(x\mathbf{e_1}+y\mathbf{e_2})(c + d \mathbf{e_{12}}) \not= (a + b \mathbf{e_{12}})(c + d \mathbf{e_{12}})(x\mathbf{e_1}+y\mathbf{e_2}) - \end{split} + \mathbf{g}_1\mathbf{g}_2 = \mathbf{g}_2\mathbf{g}_1 \quad&\Leftrightarrow\quad (a + b \mathbf{e}_{12})(f + g \mathbf{e}_{12}) = (f + g \mathbf{e}_{12})(a + b \mathbf{e}_{12})\\ + \mathbf{g}_1\mathbf{v}\mathbf{g}_2\not= \mathbf{g}_2\mathbf{v}\mathbf{g}_1 \quad&\Leftrightarrow\quad(a + b \mathbf{e}_{12})(x\mathbf{e}_1+y\mathbf{e}_2)(f + g \mathbf{e}_{12}) \not= (a + b \mathbf{e}_{12})(f + g \mathbf{e}_{12})(x\mathbf{e}_1+y\mathbf{e}_2) \end{align} Um später die Auswirkung der Quaternionen besser zu verstehen, möchte ich kurz darauf eingehen, was ein $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=c+dj$ multipliziert wird, dann kann man diese so aufteilen. +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 diese so aufteilen. \begin{align} - c = (a + bj)(c + dj) = c\cdot(a+bj) + dj\cdot(a+bj) + c = c_1\cdot c_2 = (a + bj)(d + ej) = f\cdot(a+bj) + gj\cdot(a+bj) \end{align} -Wobei $c\cdot(a+bj)$ die jetzige komplexe Zahl $c_1$ um den Faktor $c$ steckt und $dj\cdot(a+bj)$ die um 90° im gegenuhrzeigersinn gedrehte Zahl $c_1$ um den Faktor $d$ streckt. Diese Anteile addiert ergeben, dann den um $c_2$ drehgestreckten Vektor $c_1$. Die wirklichen Vorteile der geometrischen Algebra werden sich aber erst bei den Quaternionen zeigen. +Dabei ist $f\cdot(a+bj)$ die jetzige komplexe Zahl $c_1$ um den Faktor $f$ steckt und $gj\cdot(a+bj)$ die um 90° im Gegenuhrzeigersinn gedrehte Zahl $c_2$ um den Faktor $g$ streckt. Diese Anteile addiert ergeben, dann den um $c_2$ dreh-gestreckten Vektor $c_1$. Die wirklichen Vorteile der geometrischen Algebra werden sich aber erst bei den Quaternionen zeigen.
\ No newline at end of file diff --git a/buch/papers/clifford/Makefile.inc b/buch/papers/clifford/Makefile.inc index 8cdd02e..e168ae8 100644 --- a/buch/papers/clifford/Makefile.inc +++ b/buch/papers/clifford/Makefile.inc @@ -13,7 +13,7 @@ dependencies-clifford = \ papers/clifford/3_MultiplikationVektoren.tex \ papers/clifford/4_GeometrischesProdukt.tex \ papers/clifford/5_PolareDarstellung.tex \ - papers/clifford/6_Dirac-Matrizen.tex \ + papers/clifford/6_PauliMatrizen.tex \ papers/clifford/7_Reflektion.tex \ papers/clifford/8_Rotation.tex \ papers/clifford/9_KomplexeZahlen.tex \ diff --git a/buch/papers/clifford/main.tex b/buch/papers/clifford/main.tex index 46d04bd..ec44963 100644 --- a/buch/papers/clifford/main.tex +++ b/buch/papers/clifford/main.tex @@ -15,7 +15,7 @@ \input{papers/clifford/3_MultiplikationVektoren.tex} \input{papers/clifford/4_GeometrischesProdukt.tex} \input{papers/clifford/5_PolareDarstellung.tex} -\input{papers/clifford/6_Dirac-Matrizen.tex} +\input{papers/clifford/6_PauliMatrizen.tex} \input{papers/clifford/7_Reflektion.tex} \input{papers/clifford/8_Rotation.tex} \input{papers/clifford/9_KomplexeZahlen.tex} diff --git a/buch/papers/erdbeben/teil1.tex b/buch/papers/erdbeben/teil1.tex index 0d21f84..bb3bdd4 100644 --- a/buch/papers/erdbeben/teil1.tex +++ b/buch/papers/erdbeben/teil1.tex @@ -10,13 +10,12 @@ % - \section{Kalman Filter} \subsection{Geschichte} Das Kalman Filter wurde 1960 von Rudolf Emil Kalman entdeckt und direkt von der NASA für die Appollo Mission benutzt. Der Filter kommt mit wenig Rechenleistung aus und war somit dafür geeignet die Rakete bei der Navigation zu unterstützen. Das Filter schätzt den Zustand eines Systems anhand von Messungen und kann den nächsten Zustand errechnen. Typische Anwendungen des Kalman-Filters sind die Glättung von verrauschten Daten und die Schätzung von Parametern und kommt heutzutage in jedem Satellit, Navigationssystem, Smartphones und Videospielen vor. \subsection{Wahrscheinlichkeit} -Das Kalman Filter versucht nichts anderes, als ein geeigneter Wert zwischen zwei Normalverteilungen zu schätzen. Die eine Kurve zeigt die errechnete Vorhersage des Zustands, bzw. deren Normal- Gauss-Verteilung. Die andere Kurve zeigt die verrauschte Messung des nächsten Zustand, bzw. deren Normal-Verteilung. Wie man in am Beispiel dieser zwei Gauss-Verteilungen sehen kann, ist sowohl der geschätzte Zustand als auch der gemessene Zustand nicht am selben Punkt. +Das Kalman-Filter schätzt den wahrscheinlichsten Wert zwischen zwei Normalverteilungen oder auch Gauss-Verteilung. Die eine Kurve zeigt die errechnete Vorhersage des Zustands, bzw. deren Normalverteilung. Die andere Kurve zeigt die verrauschte Messung des nächsten Zustand, bzw. deren Normalverteilung. Wie man am Beispiel dieser zwei Gauss-Verteilungen sehen kann, ist sowohl der geschätzte Zustand als auch der gemessene Zustand verteilt und haben unterschiedliche Standardabweichungen $\sigma$ und Erwartungswerte $\mu$. @@ -43,10 +42,10 @@ und für die Messung: Diesen werden nun Multipliziert und durch deren Fläche geteilt um sie wieder zu Normieren: \begin{equation} -{y_f}(x;{\mu_f},{\sigma_f})=\frac{ \frac{1}{\sqrt{2\pi\sigma_1^2}}e^{-\frac{(x-{\mu_1})^2}{2{\sigma_1}^2}} \cdot \frac{1}{\sqrt{2\pi\sigma_2^2}}e^{-\frac{(x-{\mu_2})^2}{2{\sigma_2}^2}}}{\int {y_1}*{y_2}\,} +{y_f}(x;{\mu_f},{\sigma_f})=\frac{ \frac{1}{\sqrt{2\pi\sigma_1^2}}e^{-\frac{(x-{\mu_1})^2}{2{\sigma_1}^2}} \cdot \frac{1}{\sqrt{2\pi\sigma_2^2}}e^{-\frac{(x-{\mu_2})^2}{2{\sigma_2}^2}}}{\int {y_1}*{y_2} dx\,} \end{equation} -Dadurch gleicht sich die neue Kurve den anderen an. Interessant daran ist, dass die fusionierte Kurve sich der genauere Normal-Verteilung anpasst. ist ${\sigma_2}$ klein und ${\sigma_1}$ gross, so wird sich die fusionierte Kurve näher an ${y_2}(x;{\mu_2},{\sigma_2})$ begeben. Sie ist also Gewichtet und die best mögliche Schätzung. +Dadurch gleicht sich die neue Kurve den anderen an. Interessant daran ist, dass die fusionierte Kurve sich der genauere Normal-Verteilung anpasst. ist ${\sigma_2}$ klein und ${\sigma_1}$ gross, so wird sich die fusionierte Kurve näher an ${y_2}(x;{\mu_2},{\sigma_2})$ begeben. Sie ist also gewichtet und die best mögliche Schätzung. \begin{figure} @@ -59,14 +58,13 @@ Dadurch gleicht sich die neue Kurve den anderen an. Interessant daran ist, dass Was in 2 Dimensionen erklärt wurde, funktioniert auch in mehreren Dimensionen. Dieses Prinzip mach sich der Kalman Filter zu nutze, und wird von uns für die Erdbeben Berechnung genutzt. -\subsection{Anwendungsgrenzen} -Nicht lineare Systeme %Noch nicht Fertig + \section{Aufbau} -Um ein Erdbeben kenntlich zumachen werden in der Regel Seismographen mit vielen Sensoren verwendet. -Ein Seismograph besteht im Grunde aus einer federgelagerten Masse. Wirkt eine Bodenerregung auf das Gerät ein, bleibt die gekoppelte Masse in der regel stehen und das Gehäuse schwingt mit.Relativbewegung des Bodens kann damit als Längenänderung im Zeitverlauf gemessen werden. In modernen Seismographen wird die Bodenbewegung in alle Richtungen gemessen, sowohl Horizontal als auch Vertikal. -Wir konstruieren uns eine einfachere Version eines Seismographen, welcher rein mechanisch funktioniert. Zudem kann er nur in eine Dimension Messwerte aufnehmen. Würde das System ausgebaut werden, um alle Horizontalbewegungen aufzunehmen, würde der Verwendung des Kalman-Filters zu kompliziert werden. Für zwei Dimensionen (x,y) würde der Pythagoras für das System benötigt werden. Da sich der Pythagoras bekanntlich nicht linear verhält, kann kein lineares Kalman-Filter implementiert werden. Da das Kalman-Filter besonders effektiv und einfach für lineare Abläufe geeignet ist, würde eine Zweidimensionale Betrachtung den Rahmen dieser Arbeit sprengen. Für ein nicht-lineares System werden Extended Kalman-Filter benötigt, bei denen die System-Matrix (A) durch die Jacobi-Matrix des System ersetzt wird. +Um ein Erdbeben kenntlich zu machen werden in der Regel Seismographen mit vielen Sensoren verwendet. +Ein Seismograph besteht im Grunde aus einer federgelagerten Masse. Wirkt eine Bodenerregung auf das Gerät ein, bleibt die gekoppelte Masse stehen und das Gehäuse schwingt mit.Relativbewegung des Bodens kann damit als Längenänderung im Zeitverlauf gemessen werden. In modernen Seismographen wird die Bodenbewegung in alle Richtungen gemessen, sowohl Horizontal als auch Vertikal. +Wir konstruieren uns eine einfachere Version eines Seismographen, welcher rein mechanisch funktioniert. Zudem kann er nur in eine Dimension Messwerte aufnehmen. Würde das System ausgebaut werden, um alle Horizontalbewegungen aufzunehmen, würde der Verwendung des Kalman-Filters zu kompliziert werden. Für zwei Dimensionen (x,y) würde der Pythagoras für das System benötigt werden. Da sich der Pythagoras bekanntlich nicht linear verhält, kann kein lineares Kalman-Filter implementiert werden. Da das Kalman-Filter besonders effektiv und einfach für lineare Abläufe geeignet ist, würde eine Zweidimensionale Betrachtung den Rahmen dieser Arbeit sprengen. Für ein nicht-lineares System werden Extended Kalman-Filter benötigt, bei denen die System-Matrix (A) durch die Jacobi-Matrix des System ersetzt wird. Einfachheitshalber beschränken wir uns aber auf den linearen Fall, da dadurch die wesentlichen punkte bereits aufgezeigt werden. \begin{figure} \begin{center} @@ -76,36 +74,20 @@ Wir konstruieren uns eine einfachere Version eines Seismographen, welcher rein m \end{figure} -\subsection{Optionen} -Wollte man einen 2D Seismographen aufbauen, ohne den Pythagroas zu verwenden, kann dies mit der Annahme, das die Feder sehr lang sind erfolgen. Da sich bei langen Federn die Auslenkungen verkleiner...!!Noch nicht fertig! \section{Systemgleichung} -Da das Kalman-Filter zum Schätzen des nächsten Zustand verwendet wird, wird eine Gleichung, welche das System beschreibt. Das Kalman-Filter benötigt eine Beschreibung der Systemdynamik. Im Fall unseres Seismographen, kann die Differentialgleichung zweiter Ordnung einer gedämpften Schwingung am harmonischen Oszillator verwendet werden. Diese lautet: +Da das Kalman-Filter zum Schätzen des nächsten Zustand verwendet wird, benötigt das Kalman-Filter eine Beschreibung der Systemdynamik. Im Fall unseres Seismographen, kann die Differentialgleichung zweiter Ordnung einer gedämpften Schwingung am harmonischen Oszillator verwendet werden. Diese lautet: \begin{equation} m\ddot x + 2k \dot x + Dx = f \end{equation} mit den Konstanten $m$ = Masse, $k$ = Dämpfungskonstante und $D$ = Federkonstante. -Um diese nun in die Systemmatrix umzuwandeln, wird aus der Differentialgleichung zweiter Ordnung durch eine Substitution eine DGL erster Ordnung: - -\begin{equation} -{x_1}=x, \qquad +Um diese nun in die Systemmatrix umzuwandeln, wird aus der Differentialgleichung zweiter Ordnung durch die Substitution
\[ {x_1}=x, \qquad {x_2}=\dot x, \qquad -{x_3}=\ddot x\qquad \mid \quad \text {Substitution} -\end{equation} - - -\begin{equation} -m{x_3}+ 2k{x_2} + D{x_1} = f\qquad \mid \quad \text {DGL 1. Ordnung} -\end{equation} +{x_3}=\ddot x\qquad\]
erhalten wir die Differentialgleichung
\[ m{x_3}+ 2k{x_2} + D{x_1} = f.\]
Diese können wir nun in der Form
\[ {x_3}=-\frac{D}{m} {x_1} -\frac{2k}{m} {x_2} + \frac{f} {m} \]
auch als Matrix-Vektor-Gleichung darstellen.
-\begin{equation} -{x_3}=-\frac{D}{m} {x_1} -\frac{2k}{m} {x_2} + \frac{f} {m} \qquad \mid \quad \text {nach} \quad{x_3} -\end{equation} -auch als Matrix-Vektor-Gleichung schreiben. -Hierbei beschreibt die Matrix $A$ die gesamte Systemdynamik in der Form, wie sie ein Kalman-Filter benötigt. -Um die lineare Differentialgleichung in das Kalman-Filter zu implementieren, muss dieses als Vektor-Gleichung umgewandelt werden. Dafür wird die Gleichung in die Zustände aufgeteilt. Die für uns relevanten Zustände sind die Position der Masse, die Geschwindigkeit der Masse und äussere Beschleunigung des ganzen System. Dabei muss unterschieden werden. um welche Beschleunigung es sich handelt. Das System beinhaltet sowohl eine Beschleunigung der Masse bzw. Feder (innere Beschleunigung), als auch eine Beschleunigung der ganzen Apparatur (äussere Beschleunigung). In unserem Fall wird die äusseren Beschleunigung gesucht, da diese der Erdbeben Anregung gleich kommt. +Dafür wird die Gleichung in die Zustände aufgeteilt. Die für uns relevanten Zustände sind die Position der Masse, die Geschwindigkeit der Masse und die äussere Beschleunigung des ganzen System. Dabei muss unterschieden werden, um welche Beschleunigung es sich handelt. Das System beinhaltet sowohl eine Beschleunigung der Masse bzw. Feder (innere Beschleunigung), als auch eine Beschleunigung der ganzen Apparatur (äussere Beschleunigung). In unserem Fall wird die äusseren Beschleunigung gesucht, da diese der Erdbeben Anregung gleich kommt. \begin{equation} @@ -134,7 +116,7 @@ Um den Kalman Filter zu starten, müssen gewisse Bedingungen definiert werden. I \subsection{Anfangsbedingungen} \subsubsection*{Anfangszustand $x$} -Das Filter benötigt eine Anfangsbedingung. In unserem Fall ist es die Ruhelage, die Masse bewegt sich nicht. Zudem erföhrt die Apparatur keine äussere Kraft. +Das Filter benötigt eine Anfangsbedingung. In unserem Fall ist es die Ruhelage, die Masse bewegt sich nicht. Zudem erfährt die Apparatur keine äussere Kraft. \begin{equation} {x_0 }= \left( \begin{array}{c} 0\\ 0\\ 0\end{array}\right) @@ -142,6 +124,8 @@ Das Filter benötigt eine Anfangsbedingung. In unserem Fall ist es die Ruhelage, \subsubsection*{Anfangsfehler / Kovarianzmatrix $P$} Da auch der Anfangszustand fehlerhaft sein kann, wird für den Filter einen Anfangsfehler eingeführt. Auf der Diagonalen werden die Varianzen eingesetzt, in den restlichen Felder stehen die Kovarianzen. +Zur Erinnerung: Die Varianz ist ein Mass für die Streuung eines Wertes, die Kovarianz hingegen beschreibt die Abhängigkeit der Streuungen zweier Werte.
Kovarianz: Cov(x, y) undVarianz: Var(x) = Cov(x, x) + In unserem Fall ist der Anfangszustand gut bekannt. Wir gehen davon aus, dass das System in Ruhe und in Abwesenheit eines Erdbeben startet, somit kann die Matrix mit Nullen bestückt werden. Somit ergibt sich für die Kovarianzmatrix \begin{equation} @@ -183,16 +167,16 @@ Q = \left( \end{array}\right) \end{equation} -Die Standabweichungen müssten Statistisch ermittelt werden, da der Fehler nicht vom Sensor kommt und somit nicht vom Hersteller gegeben ist. Das Bedeutet wiederum dass $Q$ die Unsicherheit des Prozesses beschreibt, und die Messung. +Die Standabweichungen müssten Statistisch ermittelt werden, da der Fehler nicht vom Sensor kommt und somit nicht vom Hersteller gegeben ist. Das Bedeutet wiederum dass $Q$ die Unsicherheit des Prozesses beschreibt, und die der Messung. \subsubsection*{Messmatrix $H$} -Die Messmatrix gibt an, welcher Parameter gemessen werden soll. In unserem Fall ist es nur die Position der Massen. +Die Messmatrix gibt an, welche Parameter gemessen werden soll. In unserem Falle ist es nur die Position der Massen. \[ H = (1, 0, 0) \] \subsubsection*{Messrauschkovarianz $R$} -Die Messrauschkovarianzmatrix beinhaltet, wie der Name es schon sagt, das Rauschen der Positionssensoren. In unserem Fall wird nur die Position der Masse gemessen. Da wir keine anderen Sensoren haben ist dies lediglich: +Die Messrauschkovarianzmatrix beinhaltet, wie der Name es schon sagt, das Rauschen der Positionssensoren. In unserem Fall wird nur die Position der Masse gemessen. Da wir keine anderen Sensoren haben ist $R$ lediglich: \begin{equation} R= ({\sigma_x}^2). \end{equation} @@ -203,17 +187,14 @@ Nachdem alle Parameter aufgestellt sind, wird der Filter initialisiert und wird \subsubsection*{Vorhersage} -Im Filterschritt Vorhersage wird der nächste Zustand anhand des Anfangszustand und der Systemmatrix berechnet. Dies funktioniert ganz Trivial mit dem Rechenschritt: +Im Filterschritt Vorhersage wird der nächste Zustand anhand des Anfangszustand und der Systemmatrix berechnet. Dies funktioniert mit dem Rechenschritt: \begin{equation} {x_{t+1}}=A\cdot{x_t}. \end{equation} -Die Kovarianz $P_{pred}$ wird ebenfalls neu berechnet, da die Unsicherheit im Vorhersage grösser wird als im Aktuellen. Da wir ein mehrdimensionales System haben, kommt noch die Messunsicherheit $Q$ dazu, so dass die Unsicherheit des Anfangsfehlers $P$ immer grösser wird. Dies funktioniert durch multiplizieren der Systemmatrix, deren Ableitung und mit dem aktualisierten Anfangsfehler. Dazu wird noch die Messunsicherheit addiert, somit entsteht die Gleichung - -\begin{equation} -{P_{pred}}=APA^T+Q. -\end{equation} +Die Kovarianz $P_{pred}$ wird ebenfalls neu berechnet. Da wir ein mehrdimensionales System haben, kommt noch die Prozessunsicherheit $Q$ dazu, so dass die Unsicherheit des Anfangsfehlers $P$ laufend verändert. Dies funktioniert durch multiplizieren der Systemmatrix mit dem aktualisierten Anfangsfehler. Dazu wird noch die Prozessunsicherheit addiert, somit entsteht die Gleichung +\[ P_\mathrm{pred} = A P A^T + Q . \] wird dieser Vorgang wiederholt, schaut der Filter wie genau die letzte Anpassung von $P$ zur Messung stimmt. Ist der Unterschied klein, wird die Kovarianz $P$ kleiner, ist der Unterschied gross, wird auch die Kovarianz grösser. Das Filter passt sich selber an und korrigiert sich bei grosser Abweichung. @@ -223,41 +204,164 @@ Hier bei wird lediglich die Messung mit dem Fehler behaftet, und die Messmatrix \begin{equation} w=Z-(H\cdot x) \end{equation} -Die Innovation ist der Teil der Messung, die nicht durch die Systemdynamik erklärt werden kann. -Innovation = Messung - Vorhersage. Dies ist Intuitiv logisch, eine Innovation von 0 bedeutet, dass die Messung nichts Neues hervorbrachte. +Die Innovation ist der Teil der Messung, die nicht durch die Systemdynamik erklärt werden kann. Die Hilfsgröße Innovation beschreibt, wie genau der vorhergesagte Mittelwert den aktuellen Messwert mittels der Beobachtungsgleichung beschreiben kann. Für eine schlechte Vorhersage wird die dazugehörige Innovation gross, für eine genaue Vorhersage dagegen klein sein. Entsprechende Korrekturen müssen dann gross bzw. nur gering ausfallen. Innovation = Messung - Vorhersage. Dies ist intuitiv logisch, eine Innovation von 0 bedeutet, dass die Messung nichts Neues hervorbrachte. Im nächsten Schritt wir analysiert, mit welcher Kovarianz weiter gerechnet wird. +Hierbei wird die Unsicherheit $P$, die Messmatrix $H$ und die Messunsicherheit $R$ miteinander verrechnet. +\begin{equation} +S=Z-(H\cdot P\cdot H`+R) +\end{equation} + + +\subsubsection*{Aktualisieren} +Im nächsten Schritt kommt nun die Wahrscheinlichkeit nach Gauss dazu. + +\begin{equation} +K= \frac{P \cdot H`}S +\end{equation} +Dieser Vorgang wird Kalman-Gain genannt. Er sagt aus, welcher Kurve mehr Vertraut werden soll, dem Messwert oder der Systemdynamik. +Das Kalman-Gain wird geringer wen der Messwert dem vorhergesagten Systemzustand entspricht. Sind die Messwerte komplett anders als die Vorhersage, wo werden die Elemente in der Matrix $K$ grösser. -\subsubsection*{Korrigieren} -Udpdate -\section{Anfügen der Schwingung} +Anhand der Informationen aus dem Kalman-Gain $K$ wird das System geupdated. + +\begin{equation} +x=x+(K \cdot w) +\end{equation} -Ein Erdbeben breitet sich im Boden wellenartig aus und bringt Objekte, wie zum Beispiel ein Gebäude, in Schwingung. -Diese Schwingungen pflanzen sich im Gebäude mit gleicher Amplitude, Geschwindigkeit und Beschleunigung in horizontaler und vertikaler Bewegung fort. -Wir möchten herauszufinden, wie gross die Massenbeschleunigung infolge eines Erdbeben ist. -Mit Hilfe von fiktiven Sensoren, die eine Ortsveränderung des Gebäude messen, können wir mit Anwendung von Matrizen und dem Kalman-Filter die Beschleunigung berechnen. +Dazu kommt eine neue Kovarianz für den nächste Vorhersageschritt: \begin{equation} -\int_a^b x^2\, dx -= -\left[ \frac13 x^3 \right]_a^b -= -\frac{b^3-a^3}3. -\label{erdbeben:equation1} +P=(I-(K \cdot H)) \cdot P \end{equation} -\section{Erreger-Schwingung} -Wir möchten mit einer gedämpften harmonischen Schwingung ein einfaches Erdbeben simulieren, die im Kalman Filter eingespeist wird. -Die Gleichung lautet +Der ganze Ablauf wird nun zum Algorithmus und beginnt wieder mit der Vorhersage + +\begin{equation} +{x_{t+1}}=e^{A\Delta t}{ x_t}. +\end{equation} + + +\subsection{Zusammenfassung } +Zusammenfassend kann das Kalman-Filter in offizieller Typus dargestellt werden. Dabei beginnt das Filter mit dem Anfangszustand für $k=0$ + +1. Nächster Zustand vorhersagen +\begin{equation} +{x_{k|k-1}}={A_{k-1}}{x_{k-1}}+{B_{k-1}}{u_{k-1}} +\end{equation} + +2. Nächste Fehlerkovarianz vorhersagen +\begin{equation} +{P_{k|k-1}}={A_{k-1}}{P_{k-1}}{A_{k-1}^T}+{Q_{k-1}} +\end{equation} + +3. Das Kalman Filter anwenden \begin{equation} -x(t)=Ae^{t/2}sin(t). +{K_k}={P_{k-1}}{H_{k}^T({H_k}{P_{k|k-1}}{H_k}^T}+{R_k})^{-1} \end{equation} -Mit dieser Schwingung können wir ein einachsiger Seismograph simulieren, der eine Ortsverschiebung auf der x-Achse durchführt. -Die Dämpfung der Schwingung ist relevant, da das System beim Schwingungsvorgang durch die Federkonstante und der Reibung, Energie verliert. +4. Schätzung aktualisieren +\begin{equation} +{x_k}={x_{k|k-1}}+{K_k}({z_k}-{H_k}{x_{k|k-1}}) +\end{equation} + +5. Fehlerkovarianz aktualisieren +\begin{equation} +{P_k}=(I-{K_k}{H_k}){P_{k|k-1}} +\end{equation} + +6. Die Outputs von $k$ werden die Inputs für ${k-1}$ und werden wieder im Schritt 1 verwendet + + +\section{Matlab-Code} +Um das simulierte Erdbeben auf die theoretische Apparatur zu bringen und mit dem Kalman-Filter Resultate zu generieren, wurde in Matlab der Algorithmus programmiert. +\begin{lstlisting} +%% Initialisierte Werte +t0 = 0.00; % Anfangszeit +deltat = 0.01; % Zeitschritt +tend = 50.00; % Endzeit + +% Standard-Abweichungen Prozess +sigmax = 0.05e-3; % Position +sigmav = 0.01e-3; % Geschwindigkeit +sigmaf = 1; % (Äussere) Kraft + +% Standard-Abweichung Messung +sigmam = 0.01e-3; + +% Systemparameter +m = 1.00; % Masse +D = 0.30; % Federkonstante +k = 0.10; % Dämpfung + + +%% Kalmanfilter +% Initialisierung + + +% Anfangszustand (Position, Geschwindigkeit, Kraft) +x0 = [0; 0; 0]; + +% Unsicherheit des Anfangszustand +P0 = [0, 0, 0; ... + 0, 0, 0; ... + 0, 0, 0]; + +% Systemmatrizen +A = [0, 1, 0;... % Dynamikmatrix + -D/m, -2*k/m, 1;... + 0, 0, 0]; % Ableitungen von f(t) unbekant. Annahme: 0 +A = expm(A * deltat); + +Q = [sigmax^2, 0, 0;... + 0, sigmav^2, 0;... + 0, 0, sigmaf^2]; % Prozessrauschen (Covarianz) + +% Messprozess +H = [1, 0, 0]; % Messmatrix +R = sigmam^2; % Messrauschen (Könnte durch Versuche bestimmt werden) + +I = eye(3); % Identity matrix (Einheitsmatrix) + +% Filterprozess + +% Initialisieren der Variablen +N = length(t); % Anzahl Punkte im Einheitsvektor (= Anzahl Messwerte) +xhat = zeros(3, N); % Matrix mit geschätzten Zuständen + +% Index ':' bedeutet: 'alles' +% Index '(1, :)' bedeutet: 'alles aus der 1. Zeile' + +% Anfangszustand setzen +xhat(:, 1) = x0; +P = P0; + +% Kalman-Matrizen konvergiert. Vorab-Berechnung in 'genügenden' Iterationen +for idx = 1:100 + Ppred = A * P * A' + Q; % Prädizieren der Kovarianz + S = (H * Ppred * H' + R); % Innovationskovarianz + K = Ppred * H' / S; % Filter-Matrix (Kalman-Gain) + P = (I - K * H) * Ppred; % Aktualisieren der Kovarianz +end + +% Anfangszustand gegeben +% Erster zu berechnender Wert ist der zweite +for idx = 2:N + % Vorhersage + xpred = A * xhat(:, idx-1); % Prädizierter Zustand aus Bisherigem und System + % Ppred = A * P * A' + Q; % Prädizieren der Kovarianz + + % Korrektur + y = xt(idx) - H * xpred; % Messungen/ Kraft aus System - Vohersage + % S = (H * Ppred * H' + R); % Innovationskovarianz + % K = Ppred * H' / S; + + xhat(:, idx) = xpred + K * y; % Aktualisieren des Systemzustands + % P = (I - K * H) * Ppred; % Aktualisieren der Kovarianz +end +\end{lstlisting} + -Die Ergebnisse dieser Schwingung setzen wir in die Messmatrix ein und können den Kalman-Filter starten. diff --git a/buch/papers/ifs/images/farn-eps-converted-to.pdf b/buch/papers/ifs/images/farn-eps-converted-to.pdf Binary files differnew file mode 100644 index 0000000..e2c6ddc --- /dev/null +++ b/buch/papers/ifs/images/farn-eps-converted-to.pdf diff --git a/buch/papers/ifs/images/farncolor-eps-converted-to.pdf b/buch/papers/ifs/images/farncolor-eps-converted-to.pdf Binary files differnew file mode 100644 index 0000000..fd81802 --- /dev/null +++ b/buch/papers/ifs/images/farncolor-eps-converted-to.pdf diff --git a/buch/papers/ifs/images/farncolor2-eps-converted-to.pdf b/buch/papers/ifs/images/farncolor2-eps-converted-to.pdf Binary files differnew file mode 100644 index 0000000..b50843a --- /dev/null +++ b/buch/papers/ifs/images/farncolor2-eps-converted-to.pdf diff --git a/buch/papers/ifs/images/farnnotweight-eps-converted-to.pdf b/buch/papers/ifs/images/farnnotweight-eps-converted-to.pdf Binary files differnew file mode 100644 index 0000000..35bff32 --- /dev/null +++ b/buch/papers/ifs/images/farnnotweight-eps-converted-to.pdf diff --git a/buch/papers/ifs/images/farnrightwight-eps-converted-to.pdf b/buch/papers/ifs/images/farnrightwight-eps-converted-to.pdf Binary files differnew file mode 100644 index 0000000..3652e8f --- /dev/null +++ b/buch/papers/ifs/images/farnrightwight-eps-converted-to.pdf diff --git a/buch/papers/ifs/images/koch0-eps-converted-to.pdf b/buch/papers/ifs/images/koch0-eps-converted-to.pdf Binary files differindex 078c399..ea028b9 100644 --- a/buch/papers/ifs/images/koch0-eps-converted-to.pdf +++ b/buch/papers/ifs/images/koch0-eps-converted-to.pdf diff --git a/buch/papers/ifs/images/koch1-eps-converted-to.pdf b/buch/papers/ifs/images/koch1-eps-converted-to.pdf Binary files differindex 81dcf18..c6a7f50 100644 --- a/buch/papers/ifs/images/koch1-eps-converted-to.pdf +++ b/buch/papers/ifs/images/koch1-eps-converted-to.pdf diff --git a/buch/papers/ifs/images/koch2-eps-converted-to.pdf b/buch/papers/ifs/images/koch2-eps-converted-to.pdf Binary files differindex b7c7de7..f24673c 100644 --- a/buch/papers/ifs/images/koch2-eps-converted-to.pdf +++ b/buch/papers/ifs/images/koch2-eps-converted-to.pdf diff --git a/buch/papers/ifs/images/koch8-eps-converted-to.pdf b/buch/papers/ifs/images/koch8-eps-converted-to.pdf Binary files differindex 0bafd03..f8c17c8 100644 --- a/buch/papers/ifs/images/koch8-eps-converted-to.pdf +++ b/buch/papers/ifs/images/koch8-eps-converted-to.pdf diff --git a/buch/papers/punktgruppen/.gitignore b/buch/papers/punktgruppen/.gitignore new file mode 100644 index 0000000..6827d9f --- /dev/null +++ b/buch/papers/punktgruppen/.gitignore @@ -0,0 +1 @@ +standalone diff --git a/buch/papers/punktgruppen/Makefile b/buch/papers/punktgruppen/Makefile index 0274594..f92dc95 100644 --- a/buch/papers/punktgruppen/Makefile +++ b/buch/papers/punktgruppen/Makefile @@ -3,7 +3,39 @@ # # (c) 2020 Prof Dr Andreas Mueller # +SOURCES := \ + crystals.tex \ + intro.tex \ + main.tex \ + piezo.tex \ + symmetry.tex -images: - @echo "no images to be created in punktgruppen" +TIKZFIGURES := \ + tikz/combine-symmetries.tex \ + tikz/lattice.tex \ + tikz/piezo-atoms.tex \ + tikz/piezo.tex \ + tikz/projections.tex \ + tikz/symmetric-shapes.tex +FIGURES := $(patsubst tikz/%.tex, figures/%.pdf, $(TIKZFIGURES)) + +.PHONY: images +images: $(FIGURES) + +figures/%.pdf: tikz/%.tex + mkdir -p figures + pdflatex --output-directory=figures $< + +.PHONY: standalone +standalone: standalone.tex $(SOURCES) + mkdir -p standalone + cd ../..; \ + pdflatex \ + --halt-on-error \ + --shell-escape \ + --output-directory=papers/punktgruppen/standalone \ + papers/punktgruppen/standalone.tex; + cd standalone; \ + bibtex standalone; \ + makeindex standalone; diff --git a/buch/papers/punktgruppen/Makefile.inc b/buch/papers/punktgruppen/Makefile.inc index b6a76c1..8cde9d7 100644 --- a/buch/papers/punktgruppen/Makefile.inc +++ b/buch/papers/punktgruppen/Makefile.inc @@ -10,5 +10,9 @@ dependencies-punktgruppen = \ papers/punktgruppen/symmetry.tex \ papers/punktgruppen/crystals.tex \ papers/punktgruppen/piezo.tex \ - papers/punktgruppen/references.bib - + papers/punktgruppen/references.bib \ + papers/punktgruppen/tikz/combine-symmetries.tex \ + papers/punktgruppen/tikz/lattice.tex \ + papers/punktgruppen/tikz/piezo-atoms.tex \ + papers/punktgruppen/tikz/piezo.tex \ + papers/punktgruppen/tikz/projections.tex diff --git a/buch/papers/punktgruppen/crystals.tex b/buch/papers/punktgruppen/crystals.tex index 6de2bca..1aec16f 100644 --- a/buch/papers/punktgruppen/crystals.tex +++ b/buch/papers/punktgruppen/crystals.tex @@ -1,4 +1,5 @@ \section{Kristalle} +%einleitung sollte noch an das ende von der Symmetrie angepasst werden Unter dem Begriff Kristall sollte sich jeder ein Bild machen können. Wir werden uns aber nicht auf sein Äusseres fokussieren, sondern was ihn im Inneren ausmacht. Die Innereien eines Kristalles sind glücklicherweise relativ einfach definiert. @@ -6,11 +7,122 @@ Die Innereien eines Kristalles sind glücklicherweise relativ einfach definiert. Ein Kristall besteht aus Atomen, welche sich in einem Muster arrangieren, welches sich in drei Dimensionen periodisch wiederholt. \end{definition} +\begin{figure} + \centering + \includegraphics[]{papers/punktgruppen/figures/lattice} + \caption{ + Zweidimensionales Kristallgitter. + \texttt{TODO: make wider and shorter} + \label{fig:punktgruppen:lattice} + } +\end{figure} +\subsection{Kristallgitter} +Ein zweidimensionales Beispiel eines solchen Muster ist Abbildung \ref{fig:punktgruppen:lattice}. +Für die Überschaubarkeit haben wir ein simples Motiv eines einzelnen grauen Punktes gewählt und betrachten dies nur in Zwei Dimensionen. +Die eingezeichneten Vektoren $\vec{a}$ und $\vec{b}$ sind die kleinstmöglichen Schritte im Raum bis sich das Kristallgitter wiederholt. +Wird ein beliebiger grauer Gitterpunkt in \ref{fig:punktgruppen:lattice} gewählt +und um eine ganzzahlige Linearkombination von $\vec{a}$ und $\vec{b}$ verschoben, +endet er zwangsweise auf einem Gitterpunkt, wenn nicht wieder am selben Ort. +Im Dreidimensionalen-Raum können alle Gitterpunkte mit derselben Idee und einem zusätzlichen Vektor $\vec{c}$ also +\[ + \vec{r} = n_1 \vec{a} + n_2 \vec{b} + n_3 \vec{c} +\] +erreicht werden sofern $\{n_1,n_2,n_3\} \in \mathbb{Z}$ sind. +Sind die Vektoren $\vec{a}$ , $\vec{b}$ , $\vec{c}$ gegeben , +ist ein Kristallgitter eindeutig beschrieben, weswegen sie auch als Grundvektoren bekannt sind. + +\subsection{Translationssymmetrie} +Da sich das ganze Kristallgitter wiederholt, wiederholen sich auch dessen Eigenschaften periodisch mit den Grundvektoren. +Sollte man sich auf einem Gitterpunkt in einem Kristall aufhalten, ist es unmöglich zu wissen, auf welchem Gitterpunkt man sich befindet, +da die Umgebungen aller Punkte Identisch sind. +Mit anderen worten: Jedes Kristallgitter $ G $ ist \emph{Translationssymmetrisch} in der Translation +\[ + Q_i(G) = G + \vec{a_i} +\] wobei der Vektor $a_i$ ein Grundvektor sein muss. +Da die Translationssymmetrie beliebig oft mit allen Grundvektoren angewendet werden kann, +können wir auch sagen, dass alle Verschiebungen um eine Linearkombination +der Vektoren $\vec{a}$ , $\vec{b}$ und $\vec{c}$ erlaubt sind oder kurz, um $\vec{r}$. +Verschiebungen um $\vec{r}$ bewirken demnach keine Veränderungen, +solange wir ein unendlich grosses Kristallgitter verschieben. + +\subsection{Limitierte Kristallsymmetrien} + Die Translationssymmetrie ist wohl keine grosse Überraschung, wenn man die Abbildung \ref{fig:punktgruppen:lattice} betrachtet. + Was nicht direkt ersichtlich ist, ist das auch wenn die Grundvektoren frei gewählt werden können, + können nur Rotationssymmetrische Kristalle bestimmter Rotationswinkel erzeugt werden. + +\begin{figure} + \centering + \includegraphics[]{papers/punktgruppen/figures/combine-symmetries} + \caption{ + Translations und Rotationssymmetrisches Kristallgitter + \texttt{TODO: make wider and change color (yellow)} + } + \label{fig:punktgruppen:rot-geometry} +\end{figure} + + \subsubsection{Translationssymmetrie $Q$ in Kombination mit Rotationssymmetrie $C_\alpha$} % Müssen uns auf eine schreibweise für Symmetrie Operationen einigen oder sicher am Ende überprüfen + In Abbildung \ref{fig:punktgruppen:rot-geometry} Sehen wir Gitterpunkte und deren Zusammenhänge. + + \begin{itemize} + \item $A$ ist unser erster Gitterpunkt. + + \item $A'$ ist gegeben, weil wir $A$ mit der Translation $Q$ um einen Grundvektor verschieben und wir wissen, + dass nach einer Translation wieder ein Gitterpunkt an der Verschobenen Stelle sein muss. + \item $B$ entsteht, weil wir die Rotationssymmetrie $C_\alpha$ auf den Punkt $A$ anwenden. + Dadurch dreht sich das ganze Gitter um den Winkel $\alpha$. + Für uns bedeutet dies lediglich, dass unser zweiter Punkt $A'$ abgedreht wird. + An der neuen Position von $A'$ muss also auch ein Punkt sein, um die Rotationssymmetrie zu erfüllen. + \item $B$ ist unser Name für diesen neuen Punkt. + Da auch die Eigenschaften des Kristallgittes periodisch mit dem Gitter sein müssen, dürfen wir $C_\alpha$ auch auf $A'$ anwenden. + Also wenden wir $C_\alpha$ invertiert + \footnote{Eine Rotationssymmetrie muss auch in die inverse Richtung funktionieren. + Genauere Überlegungen hierzu werden dem Leser überlassen, da sich die Autoren nicht explizit mit dieser Frage Auseinander gesetzt haben.} + auch auf $A'$ an. + Dies dreht $A$ auf einen neuen Punkt. + \item $B'$ ist kein zufälliger Name für diesen neuen Punkt, denn wir wissen, dass zwischen allen Punkten eine Translationssymmetrie bestehen muss. + Die Translationssymmetrie zwischen $B$ und $B'$ ist hier als $Q'$ bezeichnet. + \end{itemize} + Mit den gegebenen Punkten lassen sich geometrische Folgerungen ziehen. + Wir beginnen, indem wir die Länge der Translation $Q$ mit jener von $Q'$ vergleichen. + Aus Abbildung \ref{fig:punktgruppen:rot-geometry} ist ersichtlich, dass $|Q| = |Q'|+ 2x$. + Ist $Q$ ein Grundvektor so muss $|Q'|$ ein ganzes vielfaches von $|Q|$ sein. Also + \[ + |Q'| = n|Q| = |Q| + 2x + \] + Die Strecke $x$ lässt sich auch mit hilfe der Trigonometrie und dem angenommenen Rotationswinkel $\alpha$ ausdrücken: + \[ + n|Q| = |Q| + 2|Q|\sin(\alpha - \pi/2) + \] + Wir können mit $|Q|$ dividieren um unabhängig von der Läge des Grundvektors zu werden, + was auch Sinn macht, da eine Skalierung eines Kristalles seine Symmetrieeigenschaften nicht tangieren soll. + Zusätzlich können wir den Sinusterm vereinfachen. + \[ + n = 1 - 2\cos\alpha + \alpha = \cos^{-1}\left(\frac{1-n}{2}\right) + \] + Dies schränkt die möglichen Rotationssymmetrien auf + \[ + \alpha \in \left\{ 0^\circ, 60^\circ, 90^\circ, 120^\circ, 180^\circ\right\} + \] +ein. + +\begin{figure} + \centering + \includegraphics[]{papers/punktgruppen/figures/projections} + \caption{Kristallklassen mit zugehöriger Schönfliesnotation} + \label{fig:punktgruppen:Kristallkassen} +\end{figure} + +\subsection{Kristallklassen} +Vorgehend wurde gezeigt, dass in einem zweidimensionalen Kristallgitter nicht alle Symmetrien möglich sind. +Mit weiteren ähnlichen überlegungen gezeigt werden kann, dass Kristalle im dreidimensionalen Raum +\footnote{Alle $17$ möglichen zweidimensionalen Symmetrien sind als Wandmustergruppen bekannt} +nur auf genau $32$ Arten punktsymmetrisch sein können. +Diese $32$ möglichen Punktsymmetrien scheinen durchaus relevant zu sein, denn sie werden unter anderem als Kristallklassen bezeichnet. +Eine mögliche Art, die Klassen zu benennen ist nacht dem Mathematiker Arthur Moritz Schönflies, +welcher sich mit der Klasifizierung dieser Symmetrien auseinandergesetzt hat. +Auf der Abbildung \ref{fig:punktgruppen:Kristallkassen} sind die möglichen Punktsymmetrien mit deren Schönfliesnotation aufgelistet. +Als Darstellungsmethode wurde die stereographische Projektion gewählt, wobei $5$ Klassen aus Gründen der Überschaubarkeit nicht gezeichnet wurden. + + -Ein Zweidimensionales Beispiel eines solchen Muster ist Abbildung \ref{fig:punktgruppen:lattce-grid}. -Für die Überschaubarkeit haben wir ein simples Muster eines einzelnen XgrauenX Punktes gewählt in nur Zwei Dimensionen. -Die eingezeichneten Vektoren a und b sind die kleinstmöglichen Schritte im Raum bis sich das Kristallgitter wiederholt. -Dadurch können von einem einzelnen XGrauenX Gitterpunkt in \ref{fig:punktgruppen:lattce-grid} können mit einer ganzzahligen Linearkombination von a und b alle anderen Gitterpunkte des Kristalles erreicht werden. -Ein Kristallgitter kann eindeutig mit a und b und deren winkeln beschrieben werden weswegen a und b auch Gitterparameter genannt werden. -Im Dreidimensionalen-Raum können alle Gitterpunkte mit derselben Idee und einem zusätzlichen Vektor also FRMEL FÜR TRANSLATIONSVEKTOR erreicht werden. -Da sich das Ganze Kristallgitter wiederholt, wiederholen sich auch die Eigenschaften eines Gitterpunktes Periodisch mit eiem diff --git a/buch/papers/punktgruppen/figures/combine-symmetries.pdf b/buch/papers/punktgruppen/figures/combine-symmetries.pdf Binary files differnew file mode 100644 index 0000000..13f7330 --- /dev/null +++ b/buch/papers/punktgruppen/figures/combine-symmetries.pdf diff --git a/buch/papers/punktgruppen/figures/lattice.pdf b/buch/papers/punktgruppen/figures/lattice.pdf Binary files differnew file mode 100644 index 0000000..6565be5 --- /dev/null +++ b/buch/papers/punktgruppen/figures/lattice.pdf diff --git a/buch/papers/punktgruppen/figures/piezo-atoms.pdf b/buch/papers/punktgruppen/figures/piezo-atoms.pdf Binary files differnew file mode 100644 index 0000000..63da7a9 --- /dev/null +++ b/buch/papers/punktgruppen/figures/piezo-atoms.pdf diff --git a/buch/papers/punktgruppen/figures/piezo.pdf b/buch/papers/punktgruppen/figures/piezo.pdf Binary files differnew file mode 100644 index 0000000..ca6192b --- /dev/null +++ b/buch/papers/punktgruppen/figures/piezo.pdf diff --git a/buch/papers/punktgruppen/figures/projections.pdf b/buch/papers/punktgruppen/figures/projections.pdf Binary files differnew file mode 100644 index 0000000..c9369b2 --- /dev/null +++ b/buch/papers/punktgruppen/figures/projections.pdf diff --git a/buch/papers/punktgruppen/figures/symmetric-shapes.pdf b/buch/papers/punktgruppen/figures/symmetric-shapes.pdf Binary files differnew file mode 100644 index 0000000..0b3ba54 --- /dev/null +++ b/buch/papers/punktgruppen/figures/symmetric-shapes.pdf diff --git a/buch/papers/punktgruppen/intro.tex b/buch/papers/punktgruppen/intro.tex index 10dea79..24212e7 100644 --- a/buch/papers/punktgruppen/intro.tex +++ b/buch/papers/punktgruppen/intro.tex @@ -1,10 +1,14 @@ \section{Einleitung} -Es gibt viele möglichkeiten sich in Kristallen zu verlieren. -Auch wen man nur die Mathematischen möglichkeiten in betracht zieht, hat man noch viel zu viele Möglichkeiten sich mit kristallen zu beschäftigen. -In diesem Articel ist daher der Fokus "nur" auf die Symmetrie gelegt. -Im Abschitt über Symmetrien werden wir sehen, wie eine Symmetrie eines Objektes weit -2.ter versuch: -Die Kristallographie ist ein grosses Thema, Symmetrien auch. -Für beide bestehen schon bewährte Mathematische Modelle und Definitionen. -Die +Es gibt viele Möglichkeiten sich in Kristallen zu verlieren. +Auch wen man nur die mathematischen Betrachtunngsweisen berüksichtigt, hat man noch viel zu viele Optionen sich mit Kristallen zu beschäftigen. +In diesem Kapitel ist daher der Fokus ``nur'' auf die Symmetrie gelegt. +Zu beginn werden wir zeigen was eine Symmetrie ausmacht und dass sie noch weit mehr in sich verbirgt als nur schön auszusehen. +Die vorgestellten Symmetrien sind äusserst gut geeignet um die Grundeigenschaften eines Kristalles zu Beschreiben. +Mit etwas kiffligen geometrischen Überlegungen kann man zeigen wass in der Welt der Kristallographie alles möglich ist oder nicht. +Die Einschränkungen sind durchaus wilkommen, dank ihnen halten sich die möglichen Kristallgitter in Grenzen und Lassen sich Kategorisieren. +Kategorien sind nicht nur für einen besseren Überblich nützlich, sondern kann man aus ihnen auch auf Physikalische Eigenschaften schliessen, als spannendes Beispiel: Die Piezoelektrizität. +Die Piezoelektrizität ist vielleicht noch nicht jedem bekannt, sie versteckt sich aber in diversen Altagsgegenständen zum Beispiel sorgen sie in den meisten Feuerzeugen für die Zündung. +Ein Funken Interesse ist hoffentlich geweckt um sich mit dem scheinbar trivialen thema der Symmetrie auseinander zu setzten. + + diff --git a/buch/papers/punktgruppen/main.tex b/buch/papers/punktgruppen/main.tex index d88e221..a6e246c 100644 --- a/buch/papers/punktgruppen/main.tex +++ b/buch/papers/punktgruppen/main.tex @@ -3,10 +3,12 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Crystal M\rotatebox[origin=c]{180}{a}th\label{chapter:punktgruppen}} -\lhead{Crystal M\rotatebox[origin=c]{180}{a}th} +\newcommand{\flippedA}{\raisebox{\fontcharht\font`a}{\scalebox{-1}[-1]{a}}} + +\chapter[Crystal Math]{Crystal M\flippedA{}th\label{chapter:punktgruppen}} +\lhead{Crystal M\flippedA{}th} \begin{refsection} -\chapterauthor{Tim T\"onz, Naoki Pross} +\chapterauthor{Naoki Pross, Tim T\"onz} \input{papers/punktgruppen/intro} \input{papers/punktgruppen/symmetry} diff --git a/buch/papers/punktgruppen/piezo.tex b/buch/papers/punktgruppen/piezo.tex index 7ee4174..e6b595a 100644 --- a/buch/papers/punktgruppen/piezo.tex +++ b/buch/papers/punktgruppen/piezo.tex @@ -1 +1,74 @@ -\section{Piezoelektrizit\"at} +\section{Piezoelektrizität} +Die Piezoelektrizität ist per Definition spannend. +Sie beschreibt die Eigenschaft, dass gewisse Kristalle eine elektrische Spannung erzeugen, wenn machanischer Druck auf sie ausgeübt wird. + +\begin{figure} + \centering + \includegraphics[]{papers/punktgruppen/figures/piezo} %das Efeld mit Naoki disskutieren, müssen sicher gehen, dass es mit jenen in Abbildung Piezo aufbau übereinstimmt + \caption{Piezoelektrisches Material in Ruhe und unter Druck} + \label{fig:punktgruppen:basicPiezo} +\end{figure} + +\subsection{Polarisierung} +Piezoelektrizität basiert darauf, dass zwischen den Oberflächen des Kristalles ein Ladungsungleichgewicht entsteht siehe Abbildung\ref{fig:punktgruppen:basicPiezo}. +Dieses Ungleichgewicht resultiert, +weil durch den mechanischen Druck auf der einen Oberfläche des Kristalles positiv Ione näher an die Oberfläche gelangen, +wärend auf der gegenüberliegenden Oberfläche sich mehr negative Ionen Sammeln. +Das sich die atomare Struktur eines Kristalles unter Druck genau so verformt ist nicht bei jedem Kristall gegeben. +Der Aufbau und somit auch die Symmetrie des Kristalles sind daher relevant für die Entstehung dieses Effektes. + +\begin{figure} + \centering + \includegraphics[]{papers/punktgruppen/figures/piezo-atoms} + \caption{ + Kristallstrukturen mit und ohne piezoelektrischer Eigenschaft. + \texttt{TODO: adapt figure for paper with subfigure markers.} + } + \label{fig:punktgruppen:atomPiezo} +\end{figure} + +\subsection{Atomarer Aufbau} +Die Polarisation resultiert über eine gesamte Oberfläche eines Kristalles, entscheidend ist aber der atomare Aufbau. +Wir wollen dazu die verschiedenen Kristallstrukturen auf Abbildung \ref{fig:punktgruppen:atomPiezo} diskutieren. +In Abbildung \ref{fig:punktgruppen:atomPiezo} gilt für alle Strukturen, dass rote Kreise Positive Ionen und blaue negative Ionen repräsentieren. +%liste oder anderes format?.. +Struktur$(a)$ zeigt ein piezoelektrisches Material in Ruhe. Struktur $(b)$ ist dasselbe Kristallgitter, jedoch wird es senkrecht belastet. +Eingezeichnet ist auch das elektrische Feld, welches entsteht, weil mitlleren Ladungsträger weiter auseinander gerdrückt werden. +Als hilfe zur Vorstellung kann man $(b)$ zwischen zwei leitende Platten setzen, +so wird ersichtlich, dass mit wachsendem Druck eine negative Ladung an die rechte Platte gedrückt wird, +während sich die positiven Ionen weiter entfernen. +$(d)$ ist nicht piezoelektrisch. +Dies wird ersichtlich, wenn man $(d)$ unterdruck setzt und sich die Struktur zu $(e)$ verformt. +Setzt man $(e)$ gedanklich auch zwischen zwei leitende Platten scheint es als würden rechts mehr Positive Ionen in die Platte gedrückt werden +und links umgekehrt. +Dies ist aber nicht mehr der Fall, wenn der Kristall nach oben und periodisch wiederholt. +Struktur $(c)$ zeigt $(a)$ in unter horizontaler Belastung. +Was in zwischen $(b)$ und $(c)$ zu beobachten ist, ist dass das entstandene Ladungsdifferenz orthogonal zu der angelegten Kraft entsteht, +im Gegensatz zu $(b)$. +Daraus kann man schlissen, dass $(a)$ keine Rotationssymmetrie von $90^\circ$ besitzen kann, weil die Eigenschaften ändern bei einer $90^\circ$ Drehung. +Das Fehlen dieser Rotationssymmetrie kann mit betrachten von $(a)$ bestätigt werden. + +\subsection{Punktsymmetrie}\footnote{In der Literatur wird ein Punktsymmetrisches Kristallgitter oft als Kristallgitter mit Inversionszentrum bezeichnet.} +Piezoelektrische Kristalle können nicht Punktsymmetrisch sein. +Kristallgitter, bei welchen eine Punktspiegelung eine symmetrische Operation ist, können keine piezoelektrische Kristalle bilden. +Auf Abbildung \ref{fig:punktgruppen:atomPiezo} ist bewusst $(a)$ ein nicht Punktsymmetrischer Kristall mit einem Punktsymmetrischen $(d)$ verglichen worden. +Als vereinfachte Erklärung kann mann sich wieder das Bild vor augen führen, eines Kristalles, +welcher unter Druck auf der einen Seite negative und der anderen Seite positive Ionen an seine Oberfläche verdrängt. +Spiegelt man nun den Kristall um den Gitterpunkt in der mitte des Kristalles, so würden die negativen Ionen auf den Positiven auf der anderen seite landen, +was der Definition einer Symmetrie deutlich widerspricht. + +\subsection{Vom Kristall zum Feuer} +Piezoelektrizität hat durchaus nutzen im Alltag. +Feuerzeuge welche nicht auf dem Prinzip beruhen einen Zündstein abzuschleifen, +sonder ohne Verschleiss auf Knopfdruck einen Zündfunken erzeugen, basieren auf dem Prinzip der Piezoelektrizität. +Drückt der Nutzende auf den Zündknopf spannt sich eine Feder bis zu einer Konfigurierten Spannung. +Wird vom Nutzenden weiter gedrückt entspannt sich die Feder schlagartig und beschleunigt mit der gespeicherten Energie ein Hammer, +welcher auf das Piezoelement aufschlägt. +Der augenblicklich hohe Druck sorgt an den Piezokontakten für eine eben so Kurze aber hohe elekrische Spannung. +Die Spannung reicht aus, um eine Funkenstrecke zu überwinden und so eine entflammbares Gas zu entzünden. +Sollten Sie also eines Tages in die Situation geraten, in welcher Sie zwei verschiedene Kristalle vor sich haben +und ein piezoelektrisches Feuerzeug bauen müssen, +wobei Sie aber wissen, dass einer eine Punktsymmetrie aufweist, +versuche sie es mit dem anderen. +Ich muss aber anmerken, dass aus den $21$ möglichen Kristallsymmetrien ohne Punktsymmetrie einer nicht piezoelektrisch ist. +ein wenig glück brauchen Sie also immer noch. diff --git a/buch/papers/punktgruppen/standalone.tex b/buch/papers/punktgruppen/standalone.tex new file mode 100644 index 0000000..3317318 --- /dev/null +++ b/buch/papers/punktgruppen/standalone.tex @@ -0,0 +1,30 @@ +\documentclass{book} + +\input{common/packages.tex} + +% additional packages used by the individual papers, add a line for +% each paper +\input{papers/common/addpackages.tex} + +% workaround for biblatex bug +\makeatletter +\def\blx@maxline{77} +\makeatother +\addbibresource{chapters/references.bib} + +% Bibresources for each article +\input{papers/common/addbibresources.tex} + +% make sure the last index starts on an odd page +\AtEndDocument{\clearpage\ifodd\value{page}\else\null\clearpage\fi} +\makeindex + +%\pgfplotsset{compat=1.12} +\setlength{\headheight}{15pt} % fix headheight warning +\DeclareGraphicsRule{*}{mps}{*}{} + +\begin{document} + \input{common/macros.tex} + \def\chapterauthor#1{{\large #1}\bigskip\bigskip} + \input{papers/punktgruppen/main.tex} +\end{document} diff --git a/buch/papers/punktgruppen/symmetry.tex b/buch/papers/punktgruppen/symmetry.tex index db05ff5..1dc6f98 100644 --- a/buch/papers/punktgruppen/symmetry.tex +++ b/buch/papers/punktgruppen/symmetry.tex @@ -1,8 +1,8 @@ \section{Symmetrie} Das Wort Symmetrie ist sehr alt und hat sich seltsamerweise von seinem ursprünglichen griechischen Wort -\(\mathrm{\sigma\nu\mu\mu\varepsilon\tau\rho\iota\alpha}\) -\footnote{\emph{Simmetr\'ia}: ein gemeinsames Mass habend, gleichmässig, +\(\mathrm{\Sigma\nu\mu\mu\varepsilon\tau\rho\iota\alpha}\) +\footnote{\emph{Symmetr\'ia}: ein gemeinsames Mass habend, gleichmässig, verhältnismässig} fast nicht verändert. In der Alltagssprache mag es ein locker definierter Begriff sein, aber in der Mathematik hat Symmetrie eine sehr präzise Bedeutung. @@ -10,99 +10,85 @@ präzise Bedeutung. Ein mathematisches Objekt wird als symmetrisch bezeichnet, wenn es unter einer bestimmten Operation invariant ist. \end{definition} +Die intuitivsten Beispiele kommen aus der Geometrie, daher werden wir mit +einigen geometrischen Beispielen beginnen. Wie wir jedoch später sehen werden, +ist das Konzept der Symmetrie eigentlich viel allgemeiner. -Wenn der Leser noch nicht mit der Gruppentheorie in Berührung gekommen ist, ist -vielleicht nicht ganz klar, was eine Operation ist, aber die Definition sollte -trotzdem Sinn machen. Die Formalisierung dieser Idee wird bald kommen, aber -zunächst wollen wir eine Intuition aufbauen. - -\begin{figure}[h] +\begin{figure} \centering - \begin{tikzpicture}[ - node distance = 2cm, - shapetheme/.style = { - very thick, draw = black, fill = magenta!20!white, - minimum size = 2cm, - }, - line/.style = {thick, draw = darkgray}, - axis/.style = {line, dashed}, - dot/.style = { - circle, draw = darkgray, fill = darkgray, - minimum size = 1mm, inner sep = 0, outer sep = 0, - }, - ] - - \node[ - shapetheme, - rectangle - ] (R) {}; - \node[dot] at (R) {}; - \draw[axis] (R) ++(-1.5, 0) to ++(3, 0) node[right] {\(\sigma\)}; - - \node[ - shapetheme, - regular polygon, - regular polygon sides = 5, - right = of R, - ] (Ps) {}; - \node[dot] (P) at (Ps) {}; - \draw[line, dotted] (P) to ++(18:1.5); - \draw[line, dotted] (P) to ++(90:1.5); - \draw[line, ->] (P) ++(18:1.2) - arc (18:90:1.2) node[midway, above right] {\(r, 72^\circ\)}; - - \node[ - shapetheme, - circle, right = of P - ] (Cs) {}; - \node[dot] (C) at (Cs) {}; - \draw[line, dotted] (C) to ++(1.5,0); - \draw[line, dotted] (C) to ++(60:1.5); - \draw[line, ->] (C) ++(1.2,0) - arc (0:60:1.2) node[midway, above right] {\(r, \alpha\)}; - - \end{tikzpicture} + \includegraphics{papers/punktgruppen/figures/symmetric-shapes} \caption{ Beispiele für geometrisch symmetrische Formen. \label{fig:punktgruppen:geometry-example} } \end{figure} -Die intuitivsten Beispiele kommen aus der Geometrie, daher werden wir mit -einigen geometrischen Beispielen beginnen. Wie wir jedoch später sehen werden, -ist das Konzept der Symmetrie eigentlich viel allgemeiner. In Abbildung -\ref{fig:punktgruppen:geometry-example} haben wir einige Formen, die -offensichtlich symmetrisch sind. Zum Beispiel hat ein Quadrat viele Achsen, um -die es gedreht werden kann, ohne sein Aussehen zu verändern. Regelmässige -Polygone mit \(n\) Seiten sind gute Beispiele, um eine diskrete +\subsection{Geometrische Symmetrien} + +In Abbildung \ref{fig:punktgruppen:geometry-example} haben wir einige Formen, +die offensichtlich symmetrisch sind. Zum Beispiel hat das Quadrat eine Gerade, an +deren es gespiegelt werden kann, ohne sein Aussehen zu verändern. Regelmässige +Polygone mit \(n\) Seiten sind auch gute Beispiele, um eine diskrete Rotationssymmetrie zu veranschaulichen, was bedeutet, dass eine Drehung um -einen Punkt um einen bestimmten Winkel \(360^\circ/n\) sie unverändert lässt. -Das letzte Beispiel auf der rechten Seite ist eine unendliche +einen Punkt um einen bestimmten Winkel \(360^\circ/n\) die Figur unverändert +lässt. Das letzte Beispiel auf der rechten Seite ist eine unendliche Rotationssymmetrie. Sie wird so genannt, weil es unendlich viele Werte für \(\alpha \in \mathbb{R}\) gibt, die die Form unverändert lassen. Dies ist hoffentlich ausreichend, um die Bedeutung hinter der Notation zu verstehen, die nun eingeführt wird. +% Vieleicht eine kurze Einführung in für die Definition, ich habe das gefühl, dass in der Definition die Symmetrie-Operation und die Gruppe auf einmal erklährt wird +\subsubsection{Symetriegruppe} +\texttt{TODO: review this paragraph, explain what is \(\mathds{1}\).} +Ein Objekt kann mehr als nur eine Symmetrie aufweisen. +Als Beispiel, kann das Quadrat in Abbildung \ref{fig:punktgruppen:geometry-example} +nicht nur um $\sigma$ sondern auch Diagonal gespiegelt werden oder um $90^\circ$ gedreht werden. +Fässt man die möglichen Symmetrien zusammen, entsteht eine Symmetriegruppe. + \begin{definition}[Symmetriegruppe] Sei \(g\) eine Operation, die ein mathematisches Objekt unverändert lässt. Bei einer anderen Operation \(h\) definieren wir die Komposition \(h\circ g\) als die Anwendung der Operationen nacheinander. Alle Operationen bilden unter Komposition eine Gruppe, die Symmetriegruppe genannt wird. +\end{definition} % ich lese diese Definition ein wenig holprig, vieleicht können wir sie zusammen anschauen + +% Nach meinem Geschmack könne es hier auch eine einleitung wie mein Beispiel geben dammit man den Text flüssiger lesen kann +\begin{definition}[Zyklische Untergruppe, Erzeuger] + Sei \(g\) ein Element einer Symmetriegruppe \(G\). Alle möglichen + Kompositionen von \(g\) und \(g^{-1}\) bilden eine sogenannte zyklische + Untergruppe von \(G\), und \(g\) wird ihr Erzeuger genannt. Die erzeugte + Untergruppe \(\langle g \rangle\) wird mit spitzen Klammern um den Erzeuger + bezeichnet. \end{definition} -Mit dem oben Gesagten können wir das \(n\)-Gon Beispiel formalisieren. Wenn wir -\(r\) eine Drehung von \(2\pi/n\) sein lassen, gibt es eine wohlbekannte Symmetriegruppe +Mit dem oben Gesagten können wir das \(n\)-Gon Beispiel formalisieren. +Bezeichnen wir mit \(r\) eine Drehung im Gegenuhrzeigersinn von \(360^\circ/n\) +um einen Punkt. Diese Definition reicht aus, um die gesamte Symmetriegruppe \[ C_n = \langle r \rangle = \left\{\mathds{1}, r, r^2, \ldots, r^{n-1}\right\} - = \mathbb{Z}/n\mathbb{Z}, \] -die Zyklische Gruppe heisst. Hier die Potenzen von \(r\) sind als wiederholte -Komposition gemeint, d.h. \(r^n = r\circ r \circ \cdots r\circ r\). Die -Schreibweise mit den spitzen Klammern wird als Erzeugendensystem bezeichnet. -Das liegt daran, dass alle Elemente der Symmetriegruppe aus Kombinationen einer -Teilmenge erzeugt werden, die als erzeugende Elemente bezeichnet werden. Die -Reflexionssymmetriegruppe ist nicht so interessant, da sie nur +der Drehungen eines \(n\)-Gons zu definieren. Das liegt daran, +dass wir durch die mehrfache Verwendung von \(r\) jeden Winkel erzeugen, der +die Rotationssymmetrie bewahrt. Hier die Potenzen von \(r\) sind als +wiederholte Komposition gemeint, dass heisst \(r^n = r\circ r \circ \cdots +r\circ r\). Wenn wir diese Idee nun erweitern, können wir mit einem +Erzeugendensystemen komplexere Strukturen aufbauen. + +\begin{definition}[Erzeugendensysteme] + % please fix this unreadable mess + Jede Gruppe kann durch eines oder mehrere ihrer Elemente generiert werden. + Wir lassen \(g_1, g_2, \ldots, g_n\) erzeugenden Elemente einer + Symmetriegruppe sein. Da es mehrere Erzeuger gibt, müssen auch die + sogenannte Definitionsgleichungen gegeben werden, die die + Multiplikationstabelle vollständig definieren. Die Gleichungen sind ebenfalls + in den Klammern angegeben. Die erzeugende Elementen zusammen mit der + Definitionsgleichungen bauen ein Erzeugendensysteme. +\end{definition} + +\texttt{TODO: should put examples for generators?} \\ + +Die Reflexionssymmetriegruppe ist nicht so interessant, da sie nur \(\left\{\mathds{1}, \sigma\right\}\) enthält. Kombiniert man sie jedoch mit der Rotation, erhält man die so genannte Diedergruppe \[ @@ -111,22 +97,48 @@ der Rotation, erhält man die so genannte Diedergruppe \mathds{1}, r, \ldots, r^{n-1}, \sigma, \sigma r, \ldots, \sigma r^{n-1} \right\}. \] -Diesmal muss die Generator-Notation die Beziehungen zwischen den beiden -Operationen beinhalten. Die ersten beiden sind leicht zu erkennen, für die -letzte empfehlen wir, sie an einem 2D-Quadrat auszuprobieren. +Die Symmetrieoperationen, die wir bis jetzt besprochen haben, haben immer +mindestens einen Punkt gehabt, der wieder auf sich selbst abgebildet wird. Im +Fall der Rotation war es der Drehpunkt, bei der Spiegelung die Punkte der +Spiegelachse. Dies ist jedoch keine Voraussetzung für eine Symmetrie, da es +Symmetrien gibt, die jeden Punkt zu einem anderen Punkt verschieben können. +Diesen Spezialfall, bei dem mindestens ein Punkt unverändert bleibt, nennt man +Punktsymmetrie. +\begin{definition}[Punktgruppe] + Wenn jede Operation in einer Symmetriegruppe die Eigenschaft hat, mindestens + einen Punkt unverändert zu lassen, sagt man, dass die Symmetriegruppe eine + Punktgruppe ist. +\end{definition} + +\subsection{Algebraische Symmetrien} Wir haben nun unseren Operationen Symbole gegeben, mit denen es tatsächlich -möglich ist, eine nicht kommutative Algebra zu erstellen. Die naheliegende -Frage ist dann, könnte es sein, dass wir bereits etwas haben, das dasselbe tut? -Natürlich, ja. Dafür führen wir den Begriff der Darstellung ein. -\begin{definition}[Darstellung einer Gruppe, Gruppenhomomorphismus] +möglich ist, Gleichungen zu schreiben. Die naheliegende Frage ist dann, könnte +es sein, dass wir bereits etwas haben, das dasselbe tut? Natürlich, ja. +Um es formaler zu beschreiben, werden wir einige Begriffe einführen. +\begin{definition}[Gruppenhomomorphismus] Seien \(G\) und \(H\) Gruppe mit unterschiedlicher Operation \(\diamond\) bzw. \(\star\). Ein Homomorphismus\footnote{ Für eine ausführlichere Diskussion siehe \S\ref{buch:grundlagen:subsection:gruppen} im Buch.} ist eine Funktion \(f: G \to H\), so dass für jedes \(a, b \in G\) gilt \(f(a\diamond b) = f(a) \star f(b)\). Man sagt, dass der Homomorphismus - \(f\) \(G\) in \(H\) transformiert, oder dass \(H\) eine Darstellung von - \(G\) ist. + \(f\) \(G\) in \(H\) transformiert. +\end{definition} +\begin{beispiel} + Die Rotationssymmetrie des Kreises \(C_\infty\), mit einem unendlichen + Kontinuum von Werten \(\alpha \in \mathbb{R}\), entspricht perfekt dem + komplexen Einheitskreis. Der Homomorphismus \(\phi: C_\infty \to \mathbb{C}\) + ist durch die Eulersche Formel \(\phi(r) = e^{i\alpha}\) gegeben. +\end{beispiel} + +\begin{definition}[Darstellung einer Gruppe] + Die Darstellung einer Gruppe ist ein Homomorphismus, der eine Symmetriegruppe + auf eine Menge von Matrizen abbildet. + \[ + \Phi: G \to \operatorname{GL}_n(\mathbb{R}). + \] + Äquivalent kann man sagen, dass ein Element aus der Symmetriegruppe auf einen + Vektorraum \(V\) wirkt, indem man definiert \(\Phi : G \times V \to V\). \end{definition} \begin{beispiel} Die Elemente \(r^k \in C_n\), wobei \(0 < k < n\), stellen abstrakt eine @@ -142,40 +154,21 @@ Natürlich, ja. Dafür führen wir den Begriff der Darstellung ein. die zweite die Matrixmultiplikation. Man kann überprüfen, dass \(\Phi(r^2 \circ r) = \Phi(r^2)\Phi(r)\). \end{beispiel} -\begin{beispiel} - Die Rotationssymmetrie des Kreises \(C_\infty\), mit einem unendlichen - Kontinuum von Werten \(\alpha \in \mathbb{R}\), entspricht perfekt dem - komplexen Einheitskreis. Der Homomorphismus \(\phi: C_\infty \to \mathbb{C}\) - ist durch die Eulersche Formel \(\phi(r) = e^{i\alpha}\) gegeben. -\end{beispiel} -Die Symmetrien, die wir bis jetzt besprochen haben, haben immer mindestens -einen Punkt unbesetzt gelassen. Im Fall der Rotation war es der Drehpunkt, bei -der Spiegelung die Achse. Dies ist jedoch keine Voraussetzung für eine -Symmetrie, da es Symmetrien gibt, die jeden Punkt zu einem anderen Punkt -verschieben können. Ein aufmerksamer Leser wird bemerken, dass die -unveränderten Punkte zum Eigenraum\footnote{Zur Erinnerung \(E_\lambda = -\mathrm{null}(\Phi - \lambda I)\), \(\vec{v}\in E_\lambda \implies \Phi \vec{v} -= \lambda\vec{v}\)} der Matrixdarstellung der Symmetrieoperation gehören. -Diesen Spezialfall, bei dem mindestens ein Punkt unverändert bleibt, nennt man -Punktsymmetrie. -\begin{definition}[Punktgruppe] - Wenn jede Operation in einer Symmetriegruppe die Eigenschaft hat, mindestens - einen Punkt unverändert zu lassen, sagt man, dass die Symmetriegruppe eine - Punktgruppe ist. -\end{definition} -Um das Konzept zu illustrieren, werden wir den umgekehrten Fall diskutieren: -eine Symmetrie, die keine Punktsymmetrie ist, die aber in der Physik sehr -nützlich ist, nämlich die Translationssymmetrie. Von einem mathematischen -Objekt \(U\) wird gesagt, dass es eine Translationssymmetrie \(Q(x) = x + a\) -hat, wenn es die Gleichung -\[ - U(x) = U(Q(x)) = U(x + a), -\] -für ein gewisses \(a\), erfüllt. Zum Beispiel besagt das erste Newtonsche -Gesetz, dass ein Objekt, auf das keine Kraft einwirkt, eine -zeitranslationsinvariante Geschwindigkeit hat, d.h. wenn \(\vec{F} = \vec{0}\) -dann \(\vec{v}(t) = \vec{v}(t + \tau)\). +\texttt{TODO: rewrite section on translational symmetry.} +%% TODO: title / fix continuity +% Um das Konzept zu illustrieren, werden wir den umgekehrten Fall diskutieren: +% eine Symmetrie, die keine Punktsymmetrie ist, die aber in der Physik sehr +% nützlich ist, nämlich die Translationssymmetrie. Von einem mathematischen +% Objekt \(U\) wird gesagt, dass es eine Translationssymmetrie \(Q(x) = x + a\) +% hat, wenn es die Gleichung +% \[ +% U(x) = U(Q(x)) = U(x + a), +% \] +% für ein gewisses \(a\), erfüllt. Zum Beispiel besagt das erste Newtonsche +% Gesetz, dass ein Objekt, auf das keine Kraft einwirkt, eine +% zeitranslationsinvariante Geschwindigkeit hat, d.h. wenn \(\vec{F} = \vec{0}\) +% dann \(\vec{v}(t) = \vec{v}(t + \tau)\). % \subsection{Sch\"onflies notation} diff --git a/buch/papers/punktgruppen/tikz/combine-symmetries.tex b/buch/papers/punktgruppen/tikz/combine-symmetries.tex new file mode 100644 index 0000000..84e0a76 --- /dev/null +++ b/buch/papers/punktgruppen/tikz/combine-symmetries.tex @@ -0,0 +1,56 @@ +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} + +\usetikzlibrary{arrows} +\usetikzlibrary{intersections} +\usetikzlibrary{math} +\usetikzlibrary{positioning} +\usetikzlibrary{arrows.meta} +\usetikzlibrary{shapes.misc} +\usetikzlibrary{calc} + +\begin{document} +\begin{tikzpicture}[ + dot/.style = { + draw, circle, thick, black, fill = gray!40!white, + minimum size = 2mm, + inner sep = 0pt, + outer sep = 1mm, + }, + ] + + \node[dot] (A1) at (0,0) {}; + \node[below left] at (A1) {\(A\)}; + + \node[dot] (A2) at (2.5,0) {}; + \node[below right] at (A2) {\(A'\)}; + + \draw[red!80!black, thick, ->] + (A1) to node[midway, below] {\(\vec{Q}\)} (A2); + + \node[dot] (B1) at (120:2.5) {}; + \node[above left] at (B1) {\(B\)}; + + \draw[green!70!black, thick, ->] + (A1) ++(.5,0) arc (0:120:.5) + node[midway, above, xshift=1mm] {\(C_n\)}; + \draw[red!80!black, dashed, thick, ->] (A1) to (B1); + + \node[dot] (B2) at ($(A2)+(60:2.5)$) {}; + \node[above right] at (B2) {\(B'\)}; + + \draw[green!70!black, thick, dashed, ->] + (A2) ++(-.5,0) arc (180:60:.5); + \draw[red!80!black, dashed, thick, ->] (A2) to (B2); + + \draw[yellow!50!orange, thick, ->] + (B1) to node[above, midway] {\(\vec{Q}'\)} (B2); + + \draw[gray, dashed, thick] (A1) to (A1 |- B1) node (Xl) {}; + \draw[gray, dashed, thick] (A2) to (A2 |- B2) node (Xr) {}; + \node[above left, xshift=-2mm] at (Xl) {\(x\)}; + \node[above right, xshift= 2mm] at (Xr) {\(x\)}; +\end{tikzpicture} +\end{document} diff --git a/buch/papers/punktgruppen/tikz/lattice.tex b/buch/papers/punktgruppen/tikz/lattice.tex new file mode 100644 index 0000000..9c05af3 --- /dev/null +++ b/buch/papers/punktgruppen/tikz/lattice.tex @@ -0,0 +1,39 @@ +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} + +\usetikzlibrary{arrows} +\usetikzlibrary{intersections} +\usetikzlibrary{math} +\usetikzlibrary{positioning} +\usetikzlibrary{arrows.meta} +\usetikzlibrary{shapes.misc} +\usetikzlibrary{calc} + +\begin{document} +\begin{tikzpicture}[ + dot/.style = { + draw, circle, thick, black, fill = gray!40!white, + minimum size = 2mm, + inner sep = 0pt, + outer sep = 1mm, + }, + ] + + \begin{scope} + \clip (-2,-2) rectangle (3,4); + \foreach \y in {-7,-6,...,7} { + \foreach \x in {-7,-6,...,7} { + \node[dot, xshift=3mm*\y] (N\x\y) at (\x, \y) {}; + } + } + \end{scope} + \draw[black, thick] (-2, -2) rectangle (3,4); + + \draw[red!80!black, thick, ->] + (N00) to node[midway, below] {\(\vec{a}_1\)} (N10); + \draw[cyan!80!black, thick, ->] + (N00) to node[midway, left] {\(\vec{a}_2\)} (N01); +\end{tikzpicture} +\end{document} diff --git a/buch/papers/punktgruppen/tikz/piezo-atoms.tex b/buch/papers/punktgruppen/tikz/piezo-atoms.tex new file mode 100644 index 0000000..82a2710 --- /dev/null +++ b/buch/papers/punktgruppen/tikz/piezo-atoms.tex @@ -0,0 +1,121 @@ +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} + +\usetikzlibrary{arrows} +\usetikzlibrary{intersections} +\usetikzlibrary{math} +\usetikzlibrary{positioning} +\usetikzlibrary{arrows.meta} +\usetikzlibrary{shapes.misc} +\usetikzlibrary{calc} + +\begin{document} + \begin{tikzpicture}[ + node distance = 2mm, + charge/.style = { + circle, draw = black, thick, + minimum size = 5mm + }, + positive/.style = { fill = red!50 }, + negative/.style = { fill = blue!50 }, + ] + + \node[font = {\large\bfseries}, align = center] (title) at (5.5,0) {Mit und Ohne\\ Symmetriezentrum}; + + \begin{scope} + \matrix[nodes = { charge }, row sep = 8mm, column sep = 8mm] { + \node[positive] {}; & \node[negative] (N) {}; & \node [positive] {}; \\ + \node[negative] (W) {}; & \node[positive] {}; & \node [negative] (E) {}; \\ + \node[positive] {}; & \node[negative] (S) {}; & \node [positive] {}; \\ + }; + \draw[gray, dashed] (W) to (N) to (E) to (S) to (W); + \end{scope} + + \begin{scope}[xshift=11cm] + \foreach \x/\t [count=\i] in {60/positive, 120/negative, 180/positive, 240/negative, 300/positive, 360/negative} { + \node[charge, \t] (C\i) at (\x:1.5cm) {}; + } + + \draw[black] (C1) to (C2) to (C3) to (C4) to (C5) to (C6) to (C1); + \node[circle, draw=gray, fill=gray, outer sep = 0, inner sep = 0, minimum size = 3mm] {}; + % \draw[gray, dashed] (C2) to (C4) to (C6) to (C2); + \end{scope} + + %% + \node[below = of title] {Polarisation Feld \(\vec{E}_p\)}; + + %% hex with vertical pressure + \begin{scope}[xshift=11cm, yshift=-4.5cm] + \node[charge, positive, yshift=-2.5mm] (C1) at ( 60:1.5cm) {}; + \node[charge, negative, yshift=-2.5mm] (C2) at (120:1.5cm) {}; + \node[charge, positive, xshift=-2.5mm] (C3) at (180:1.5cm) {}; + \node[charge, negative, yshift= 2.5mm] (C4) at (240:1.5cm) {}; + \node[charge, positive, yshift= 2.5mm] (C5) at (300:1.5cm) {}; + \node[charge, negative, xshift= 2.5mm] (C6) at (360:1.5cm) {}; + + \draw[black] (C1) to (C2) to (C3) to (C4) to (C5) to (C6) to (C1); + % \draw[gray, dashed] (C2) to (C4) to (C6) to (C2); + + \foreach \d in {C1, C2} { + \draw[orange, very thick, <-] (\d) to ++(0,.7); + } + + \foreach \d in {C4, C5} { + \draw[orange, very thick, <-] (\d) to ++(0,-.7); + } + + \node[black] (E) {\(\vec{E}_p\)}; + \begin{scope}[node distance = .5mm] + \node[red!50, right = of E] {\(+\)}; + \node[blue!50, left = of E] {\(-\)}; + \end{scope} + % \draw[gray, thick, dotted] (E) to ++(0,2); + % \draw[gray, thick, dotted] (E) to ++(0,-2); + \end{scope} + + %% square with vertical pressure + \begin{scope}[yshift=-4.5cm] + \matrix[nodes = { charge }, row sep = 5mm, column sep = 1cm] { + \node[positive] (NW) {}; & \node[negative] (N) {}; & \node [positive] (NE) {}; \\ + \node[negative] (W) {}; & \node[positive] {}; & \node [negative] (E) {}; \\ + \node[positive] (SW) {}; & \node[negative] (S) {}; & \node [positive] (SE) {}; \\ + }; + + \foreach \d in {NW, N, NE} { + \draw[orange, very thick, <-] (\d) to ++(0,.7); + } + + \foreach \d in {SW, S, SE} { + \draw[orange, very thick, <-] (\d) to ++(0,-.7); + } + + \draw[gray, dashed] (W) to (N) to (E) to (S) to (W); + \end{scope} + + %% hex with horizontal pressure + \begin{scope}[xshift=5.5cm, yshift=-4.5cm] + \node[charge, positive, yshift= 2.5mm] (C1) at ( 60:1.5cm) {}; + \node[charge, negative, yshift= 2.5mm] (C2) at (120:1.5cm) {}; + \node[charge, positive, xshift= 2.5mm] (C3) at (180:1.5cm) {}; + \node[charge, negative, yshift=-2.5mm] (C4) at (240:1.5cm) {}; + \node[charge, positive, yshift=-2.5mm] (C5) at (300:1.5cm) {}; + \node[charge, negative, xshift=-2.5mm] (C6) at (360:1.5cm) {}; + + \draw[black] (C1) to (C2) to (C3) to (C4) to (C5) to (C6) to (C1); + % \draw[gray, dashed] (C2) to (C4) to (C6) to (C2); + + \draw[orange, very thick, <-] (C6) to ++(.7,0); + \draw[orange, very thick, <-] (C3) to ++(-.7,0); + + \node[black] (E) {\(\vec{E}_p\)}; + \begin{scope}[node distance = .5mm] + \node[blue!50, right = of E] {\(-\)}; + \node[red!50, left = of E] {\(+\)}; + \end{scope} + % \draw[gray, thick, dotted] (E) to ++(0,2); + % \draw[gray, thick, dotted] (E) to ++(0,-2); + \end{scope} + \end{tikzpicture} +\end{document} diff --git a/buch/papers/punktgruppen/tikz/piezo.tex b/buch/papers/punktgruppen/tikz/piezo.tex new file mode 100644 index 0000000..1d16ab7 --- /dev/null +++ b/buch/papers/punktgruppen/tikz/piezo.tex @@ -0,0 +1,71 @@ +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} + +\usetikzlibrary{arrows} +\usetikzlibrary{intersections} +\usetikzlibrary{math} +\usetikzlibrary{positioning} +\usetikzlibrary{arrows.meta} +\usetikzlibrary{shapes.misc} +\usetikzlibrary{calc} + +\begin{document} +\begin{tikzpicture} + \begin{scope}[ + node distance = 0cm + ] + \node[ + rectangle, fill = gray!60!white, + minimum width = 3cm, minimum height = 2cm, + ] (body) {\(\vec{E}_p = \vec{0}\)}; + + \node[ + draw, rectangle, thick, black, fill = red!50, + minimum width = 3cm, minimum height = 1mm, + above = of body + ] (pos) {}; + + \node[ + draw, rectangle, thick, black, fill = blue!50, + minimum width = 3cm, minimum height = 1mm, + below = of body + ] (neg) {}; + + \draw[black, very thick, -Circle] (pos.east) to ++ (1,0) node (p) {}; + \draw[black, very thick, -Circle] (neg.east) to ++ (1,0) node (n) {}; + + \draw[black, thick, ->] (p) to[out = -70, in = 70] node[midway, right] {\(U = 0\)} (n); + \end{scope} + \begin{scope}[ + node distance = 0cm, + xshift = 7cm + ] + \node[ + rectangle, fill = gray!40!white, + minimum width = 3cm, minimum height = 1.5cm, + ] (body) {\(\vec{E}_p = \vec{0}\)}; + + \node[ + draw, rectangle, thick, black, fill = red!50, + minimum width = 3cm, minimum height = 1mm, + above = of body + ] (pos) {}; + + \node[ + draw, rectangle, thick, black, fill = blue!50, + minimum width = 3cm, minimum height = 1mm, + below = of body + ] (neg) {}; + + \draw[orange, very thick, <-] (pos.north) to node[near end, right] {\(\vec{F}\)} ++(0,1); + \draw[orange, very thick, <-] (neg.south) to node[near end, right] {\(\vec{F}\)} ++(0,-1); + + \draw[black, very thick, -Circle] (pos.east) to ++ (1,0) node (p) {}; + \draw[black, very thick, -Circle] (neg.east) to ++ (1,0) node (n) {}; + + \draw[black, thick, ->] (p) to[out = -70, in = 70] node[midway, right] {\(U > 0\)} (n); + \end{scope} +\end{tikzpicture} +\end{document} diff --git a/buch/papers/punktgruppen/tikz/projections.tex b/buch/papers/punktgruppen/tikz/projections.tex new file mode 100644 index 0000000..a763e77 --- /dev/null +++ b/buch/papers/punktgruppen/tikz/projections.tex @@ -0,0 +1,257 @@ +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} + +\usetikzlibrary{arrows} +\usetikzlibrary{intersections} +\usetikzlibrary{math} +\usetikzlibrary{positioning} +\usetikzlibrary{arrows.meta} +\usetikzlibrary{shapes.misc} +\usetikzlibrary{calc} + +\begin{document} +\begin{tikzpicture}[ + classcirc/.style = { + draw = gray, thick, circle, + minimum size = 12mm, + inner sep = 0pt, outer sep = 0pt, + }, + classlabel/.style = { + below right = 5mm + }, + round/.style = { + draw = orange, thick, circle, + minimum size = 1mm, + inner sep = 0pt, outer sep = 0pt, + }, + cross/.style = { + cross out, draw = magenta, thick, + minimum size = 1mm, + inner sep = 0pt, outer sep = 0pt + }, + ] + \matrix [row sep = 3mm, column sep = 0mm] { + \node[classcirc] (C1) {} node[classlabel] {\(C_{1}\)}; & + \node[classcirc] (C2) {} node[classlabel] {\(C_{2}\)}; & + \node[classcirc] (C3) {} node[classlabel] {\(C_{3}\)}; & + \node[classcirc] (Ci) {} node[classlabel] {\(C_{i}\)}; & + + \node[classcirc] (Cs) {} node[classlabel] {\(C_{s}\)}; & + \node[classcirc] (C3i) {} node[classlabel] {\(C_{3i}\)}; & + \node[classcirc] (C2h) {} node[classlabel] {\(C_{2h}\)}; & + \node[classcirc] (D2) {} node[classlabel] {\(D_{2}\)}; \\ + + \node[classcirc] (D3d) {} node[classlabel] {\(D_{3d}\)}; & + \node[classcirc] (C2v) {} node[classlabel] {\(C_{2v}\)}; & + \node[classcirc] (D2h) {} node[classlabel] {\(D_{2h}\)}; & + \node[classcirc] (D3) {} node[classlabel] {\(D_{3}\)}; & + + \node[classcirc] (C4) {} node[classlabel] {\(C_{4}\)}; & + \node[classcirc] (C6) {} node[classlabel] {\(C_{6}\)}; & + \node[classcirc] (D3dP) {} node[classlabel] {\(D_{3d}\)}; & + \node[classcirc] (S4) {} node[classlabel] {\(S_{4}\)}; \\ + + \node[classcirc] (S3) {} node[classlabel] {\(S_{3}\)}; & + \node[classcirc, dashed] (T) {} node[classlabel] {\(T_{}\)}; & + \node[classcirc] (C4h) {} node[classlabel] {\(C_{4h}\)}; & + \node[classcirc] (C6h) {} node[classlabel] {\(C_{6h}\)}; & + + \node[classcirc, dashed] (Th) {} node[classlabel] {\(T_{h}\)}; & + \node[classcirc] (C4v) {} node[classlabel] {\(C_{4v}\)}; & + \node[classcirc] (C6v) {} node[classlabel] {\(C_{6v}\)}; & + \node[classcirc, dashed] (Td) {} node[classlabel] {\(T_{d}\)}; \\ + + \node[classcirc] (D2d) {} node[classlabel] {\(D_{2d}\)}; & + \node[classcirc] (D3h) {} node[classlabel] {\(D_{3h}\)}; & + \node[classcirc, dashed] (O) {} node[classlabel] {\(O_{}\)}; & + \node[classcirc] (D4) {} node[classlabel] {\(D_{4}\)}; & + + \node[classcirc] (D6) {} node[classlabel] {\(D_{6}\)}; & + \node[classcirc, dashed] (Oh) {} node[classlabel] {\(O_{h}\)}; & + \node[classcirc] (D4h) {} node[classlabel] {\(D_{4h}\)}; & + \node[classcirc] (D6h) {} node[classlabel] {\(D_{6h}\)}; \\ + }; + + + \node[cross] at ($(C1)+(4mm,0)$) {}; + + + \node[cross] at ($(C2)+(4mm,0)$) {}; + \node[cross] at ($(C2)-(4mm,0)$) {}; + + + \node[cross] at ($(C3)+( 0:4mm)$) {}; + \node[cross] at ($(C3)+(120:4mm)$) {}; + \node[cross] at ($(C3)+(240:4mm)$) {}; + + + \node[cross] at ($(Ci)+(4mm,0)$) {}; + \node[round] at ($(Ci)-(4mm,0)$) {}; + + + \node[cross] at ($(Cs)+(4mm,0)$) {}; + \node[round] at ($(Cs)+(4mm,0)$) {}; + + + \node[cross] at ($(C3i)+( 0:4mm)$) {}; + \node[cross] at ($(C3i)+(120:4mm)$) {}; + \node[cross] at ($(C3i)+(240:4mm)$) {}; + \node[round] at ($(C3i)+( 60:4mm)$) {}; + \node[round] at ($(C3i)+(180:4mm)$) {}; + \node[round] at ($(C3i)+(300:4mm)$) {}; + + + \node[cross] at ($(C2h)+(4mm,0)$) {}; + \node[cross] at ($(C2h)-(4mm,0)$) {}; + \node[round] at ($(C2h)+(4mm,0)$) {}; + \node[round] at ($(C2h)-(4mm,0)$) {}; + + + \node[cross] at ($(D2)+( 20:4mm)$) {}; + \node[cross] at ($(D2)+(200:4mm)$) {}; + \node[round] at ($(D2)+(160:4mm)$) {}; + \node[round] at ($(D2)+(340:4mm)$) {}; + + + \foreach \x in {0, 120, 240} { + \node[cross] at ($(D3d)+({\x+15}:4mm)$) {}; + \node[cross] at ($(D3d)+({\x-15}:4mm)$) {}; + } + + + \foreach \x in {0, 180} { + \node[cross] at ($(C2v)+({\x+15}:4mm)$) {}; + \node[cross] at ($(C2v)+({\x-15}:4mm)$) {}; + } + + + \foreach \x in {0, 180} { + \node[cross] at ($(D2h)+({\x+15}:4mm)$) {}; + \node[cross] at ($(D2h)+({\x-15}:4mm)$) {}; + \node[round] at ($(D2h)+({\x+15}:4mm)$) {}; + \node[round] at ($(D2h)+({\x-15}:4mm)$) {}; + } + + + \foreach \x in {0, 120, 240} { + \node[cross] at ($(D3)+({\x+15}:4mm)$) {}; + \node[round] at ($(D3)+({\x-15}:4mm)$) {}; + } + + + \foreach \x in {0, 90, 180, 270} { + \node[cross] at ($(C4)+(\x:4mm)$) {}; + } + + + \foreach \x in {0, 60, 120, 180, 240, 300} { + \node[cross] at ($(C6)+(\x:4mm)$) {}; + } + + + \foreach \x in {0, 120, 240} { + \node[cross] at ($(D3dP)+({\x+15}:4mm)$) {}; + \node[cross] at ($(D3dP)+({\x-15}:4mm)$) {}; + \node[round] at ($(D3dP)+({\x+15+60}:4mm)$) {}; + \node[round] at ($(D3dP)+({\x-15+60}:4mm)$) {}; + } + + + \node[cross] at ($(S4)+(4mm,0)$) {}; + \node[cross] at ($(S4)-(4mm,0)$) {}; + \node[round] at ($(S4)+(0,4mm)$) {}; + \node[round] at ($(S4)-(0,4mm)$) {}; + + + \foreach \x in {0, 120, 240} { + \node[cross] at ($(S3)+(\x:4mm)$) {}; + \node[round] at ($(S3)+(\x:4mm)$) {}; + } + + + %% TODO: T + + + \foreach \x in {0, 90, 180, 270} { + \node[cross] at ($(C4h)+(\x:4mm)$) {}; + \node[round] at ($(C4h)+(\x:4mm)$) {}; + } + + + \foreach \x in {0, 60, 120, 180, 240, 300} { + \node[cross] at ($(C6h)+(\x:4mm)$) {}; + \node[round] at ($(C6h)+(\x:4mm)$) {}; + } + + + %% TODO: Th + + + \foreach \x in {0, 90, 180, 270} { + \node[cross] at ($(C4v)+(\x+15:4mm)$) {}; + \node[cross] at ($(C4v)+(\x-15:4mm)$) {}; + } + + + + \foreach \x in {0, 60, 120, 180, 240, 300} { + \node[cross] at ($(C6v)+(\x+10:4mm)$) {}; + \node[cross] at ($(C6v)+(\x-10:4mm)$) {}; + } + + + %% TODO: Td + + + \foreach \x in {0, 180} { + \node[cross] at ($(D2d)+({\x+15}:4mm)$) {}; + \node[round] at ($(D2d)+({\x-15}:4mm)$) {}; + + \node[round] at ($(D2d)+({\x+15+90}:4mm)$) {}; + \node[cross] at ($(D2d)+({\x-15+90}:4mm)$) {}; + } + + + \foreach \x in {0, 120, 240} { + \node[cross] at ($(D3h)+({\x+15}:4mm)$) {}; + \node[cross] at ($(D3h)+({\x-15}:4mm)$) {}; + \node[round] at ($(D3h)+({\x+15}:4mm)$) {}; + \node[round] at ($(D3h)+({\x-15}:4mm)$) {}; + } + + + %% TODO: O + + + \foreach \x in {0, 90, 180, 270} { + \node[cross] at ($(D4)+({\x+15}:4mm)$) {}; + \node[round] at ($(D4)+({\x-15}:4mm)$) {}; + } + + \foreach \x in {0, 60, 120, 180, 240, 300} { + \node[cross] at ($(D6)+({\x+10}:4mm)$) {}; + \node[round] at ($(D6)+({\x-10}:4mm)$) {}; + } + + + % TODO Oh + + + \foreach \x in {0, 90, 180, 270} { + \node[cross] at ($(D4h)+(\x+15:4mm)$) {}; + \node[cross] at ($(D4h)+(\x-15:4mm)$) {}; + \node[round] at ($(D4h)+(\x+15:4mm)$) {}; + \node[round] at ($(D4h)+(\x-15:4mm)$) {}; + } + + + \foreach \x in {0, 60, 120, 180, 240, 300} { + \node[cross] at ($(D6h)+({\x+10}:4mm)$) {}; + \node[cross] at ($(D6h)+({\x-10}:4mm)$) {}; + \node[round] at ($(D6h)+({\x+10}:4mm)$) {}; + \node[round] at ($(D6h)+({\x-10}:4mm)$) {}; + } +\end{tikzpicture} +\end{document} diff --git a/buch/papers/punktgruppen/tikz/symmetric-shapes.tex b/buch/papers/punktgruppen/tikz/symmetric-shapes.tex new file mode 100644 index 0000000..b2c051f --- /dev/null +++ b/buch/papers/punktgruppen/tikz/symmetric-shapes.tex @@ -0,0 +1,59 @@ +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} + +\usetikzlibrary{arrows} +\usetikzlibrary{shapes.geometric} +\usetikzlibrary{intersections} +\usetikzlibrary{math} +\usetikzlibrary{positioning} +\usetikzlibrary{arrows.meta} +\usetikzlibrary{shapes.misc} +\usetikzlibrary{calc} + +\begin{document} + \begin{tikzpicture}[ + node distance = 2cm, + shapetheme/.style = { + very thick, draw = black, fill = magenta!20!white, + minimum size = 2cm, + }, + line/.style = {thick, draw = darkgray}, + axis/.style = {line, dashed}, + dot/.style = { + circle, draw = darkgray, fill = darkgray, + minimum size = 1mm, inner sep = 0, outer sep = 0, + }, + ] + + \node[ + shapetheme, rectangle + ] (R) {}; + \node[dot] at (R) {}; + \draw[axis] (R) ++(-1.5, 0) to ++(3, 0) node[right] {\(\sigma\)}; + + \node[ + shapetheme, + regular polygon, + regular polygon sides = 5, + right = of R, + ] (Ps) {}; + \node[dot] (P) at (Ps) {}; + \draw[line, dotted] (P) to ++(18:1.5); + \draw[line, dotted] (P) to ++(90:1.5); + \draw[line, ->] (P) ++(18:1.2) + arc (18:90:1.2) node[midway, above right] {\(r, 72^\circ\)}; + + \node[ + shapetheme, + circle, right = of P + ] (Cs) {}; + \node[dot] (C) at (Cs) {}; + \draw[line, dotted] (C) to ++(1.5,0); + \draw[line, dotted] (C) to ++(60:1.5); + \draw[line, ->] (C) ++(1.2,0) + arc (0:60:1.2) node[midway, above right] {\(r, \alpha\)}; + + \end{tikzpicture} +\end{document} diff --git a/buch/papers/reedsolomon/zusammenfassung.tex b/buch/papers/reedsolomon/zusammenfassung.tex index 568356f..3624f16 100644 --- a/buch/papers/reedsolomon/zusammenfassung.tex +++ b/buch/papers/reedsolomon/zusammenfassung.tex @@ -1,5 +1,5 @@ -\section{Zusammenfassung - \label{reedsolomon:section:zf}} +\section{Zusammenfassung +\label{reedsolomon:section:zf}} \rhead{Zusammenfassung} Dieser Abschnitt beinhaltet eine Übersicht über die Funktionsweise eines Reed-Solomon-Codes für beliebige endliche Körper. |