From 3dc190b1151b67bfd47d148b5e466e19d6890e12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 23 Mar 2021 19:54:10 +0100 Subject: intro Lie-Gruppen --- buch/chapters/60-gruppen/chapter.tex | 24 ++++++ buch/chapters/60-gruppen/lie-gruppen.tex | 139 +++++++++++++++++++++++++++++++ 2 files changed, 163 insertions(+) (limited to 'buch') diff --git a/buch/chapters/60-gruppen/chapter.tex b/buch/chapters/60-gruppen/chapter.tex index d07db3f..c2aa68d 100644 --- a/buch/chapters/60-gruppen/chapter.tex +++ b/buch/chapters/60-gruppen/chapter.tex @@ -7,6 +7,30 @@ \label{buch:chapter:matrizengruppen}} \lhead{Matrizengruppen} \rhead{} +Matrizen können dazu verwendet werden, Symmetrien von geometrischen oder +physikalischen Systemen zu beschreiben. +Neben diskreten Symmetrien wie zum Beispiel Spiegelungen gehören dazu +auch kontinuierliche Symmetrien wie Translationen oder Invarianz einer +phyisikalischen Grösse über die Zeit. +Solche Symmetrien müssen durch Matrizen beschrieben werden können, +die auf stetige oder sogar differenzierbare Art von der Zeit abhängen. +Die Menge der Matrizen, die zur Beschreibung solcher Symmetrien benutzt +werden, muss also eine zusätzliche Struktur haben, die ermöglicht, +sinnvoll über Stetigkeit und Differenzierbarkeit bei Matrizen +zu sprechen. + +Die Menge der Matrizen bilden zunächst eine Gruppe, +die zusätzliche differenziarbare Struktur macht daraus +eine sogenannte Lie-Gruppe. +Die Ableitungen nach einem Parameter liegen in der sogenannten +Lie-Algebra, einer Matrizen-Algebra mit dem antisymmetrischen +Lie-Klammer-Produkt $[A,B]=AB-BA$, auch Kommutator genannt. +Lie-Gruppe und Lie-Algebra sind eng miteinander verknüpft, +so eng, dass sich die meisten Eigenschaften der Gruppe aus den Eigenschaften +der Lie-Gruppe aus der Lie-Algebra ableiten lassen. +Die Verbindung wird hergestellt durch die Exponentialabbildung. +Ziel dieses Kapitels ist, die Grundzüge dieses interessanten +Zusammenhangs darzustellen. \input{chapters/60-gruppen/symmetrien.tex} \input{chapters/60-gruppen/lie-gruppen.tex} diff --git a/buch/chapters/60-gruppen/lie-gruppen.tex b/buch/chapters/60-gruppen/lie-gruppen.tex index cb1ca84..022de97 100644 --- a/buch/chapters/60-gruppen/lie-gruppen.tex +++ b/buch/chapters/60-gruppen/lie-gruppen.tex @@ -6,3 +6,142 @@ \section{Lie-Gruppen \label{buch:section:lie-gruppen}} \rhead{Lie-Gruppen} + +\subsection{Drehungen in der Ebene +\label{buch:gruppen:drehungen2d}} +Drehungen der Ebene können in einer orthonormierten Basis durch +Matrizen der Form +\[ +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +dargestellt werden. +Wir bezeichnen die Menge der Drehmatrizen in der Ebene mit +$\operatorname{SO}(2)\subset\operatorname{GL}_2(\mathbb{R})$. +Die Abbildung +\[ +D_{\bullet} +\colon +\mathbb{R}\to \operatorname{SO}(2) +: +\alpha \mapsto D_{\alpha} +\] +hat die Eigenschaften +\begin{align*} +D_{\alpha+\beta}&= D_{\alpha}D_{\beta} +\\ +D_0&=I +\\ +D_{2k\pi}&=I\qquad \forall k\in\mathbb{Z}. +\end{align*} +Daraus folgt zum Beispiel, dass $D_{\bullet}$ eine $2\pi$-periodische +Funktion ist. +$D_{\bullet}$ bildet die Menge der Winkel $[0,2\pi)$ bijektiv auf +die Menge der Drehmatrizen in der Ebene ab. + +Ein alternatives Bild für die Drehungen der Ebene kann man in der komplexen +Ebene $\mathbb{C}$ erhalten. +Die Multiplikation mit der komplexen Zahl $e^{i\alpha}$ beschreibt eine +Drehung der komplexen Ebene um den Winkel $\alpha$. +Die Zahlen der Form $e^{i\alpha}$ haben den Betrag $1$ und die Abbildung +\[ +f\colon \mathbb{R}\to \mathbb{C}:\alpha \mapsto e^{i\alpha} +\] +hat die Eigenschaften +\begin{align*} +f(\alpha+\beta) &= f(\alpha)f(\beta) +\\ +f(0)&=1 +\\ +f(2\pi k)&=1\qquad\forall k\in\mathbb{Z}, +\end{align*} +die zu den Eigenschaften der Abbildung $\alpha\mapsto D_{\alpha}$ +analog sind. + +Jede komplexe Zahl $z$ vom Betrag $1$ kann geschrieben werden in der Form +$z=e^{i\alpha}$, die Abbildung $f$ ist also eine Parametrisierung des +Einheitskreises in der Ebene. +Wir bezeichen $S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ die komplexen Zahlen vom +Betrag $1$. +$S^1$ ist eine Gruppe bezüglich der Multiplikation, da für jede Zahl +$z,w\in S^1$ gilt +$|z^{-1}|=1$ und $|zw|=1$ und damit $z^{-1}\in S^1$ und $zw\in S^1$. + +Zu einer komplexen Zahl $z\in S^1$ gibt es einen bis auf Vielfache +von $2\pi$ eindeutigen Winkel $\alpha(z)$ derart, dass $e^{i\alpha(z)}=z$. +Damit kann man jetzt die Abbildung +\[ +\varphi +\colon +S^1\to \operatorname{SO}(2) +: +z\mapsto D_{\alpha(z)} +\] +konstruieren. +Da $D_{\alpha}$ $2\pi$-periodisch ist, geben um Vielfache +von $2\pi$ verschiedene Wahlen von $\alpha(z)$ die gleiche +Matrix $D_{\alpha(z)}$, die Abbildung $\varphi$ ist daher +wohldefiniert. +$\varphi$ erfüllt ausserdem die Bedingungen +\begin{align*} +\varphi(z_1z_2) +&= +D_{\alpha(z_1z_2)} += +D_{\alpha(z_1)+\alpha(z_2)} += +D_{\alpha(z_1)}D_{\alpha(z_2)} += +\varphi(z_1)\varphi(z_2) +\\ +\varphi(1) +&= +D_{\alpha(1)} += +D_0 += +I +\end{align*} +Die Abbildung $\varphi$ ist ein Homomorphismus der Gruppe $S^1$ +in die Gruppe $\operatorname{SO}(2)$. +Die Menge der Drehmatrizen in der Ebene kann also mit dem Einheitskreis +in der komplexen Ebene identifiziert werden. + +\subsection{Isometrien von $\mathbb{R}^n$ +\label{buch:gruppen:isometrien}} +Lineare Abbildungen der Ebene $\mathbb{R}^n$ mit dem üblichen Skalarprodukt +können durch $n\times n$-Matrizen beschrieben werden. +Die Matrizen, die das Skalarprodukt erhalten, bilden eine Gruppe, +die in diesem Abschnitt genauer untersucht werden soll. +Eine Matrix $A\in M_{2}(\mathbb{R})$ ändert das Skalarprodukt nicht, wenn +für jedes beliebige Paar $x,y$ von Vektoren gilt +$\langle Ax,Ay\rangle = \langle x,y\rangle$. +Das Standardskalarprodukt kann mit dem Matrixprodukt ausgedrückt werden: +\[ +\langle Ax,Ay\rangle += +(Ax)^tAy += +x^tA^tAy += +x^ty += +\langle x,y\rangle +\] +für jedes Paar von Vektoren $x,y\in\mathbb{R}$. + +Mit dem Skalarprodukt kann man auch die Matrixelemente einer Matrix +einer Abbildung $f$ in der Standardbasis bestimmen. +Das Skalarprodukt $\langle e_i, v\rangle$ ist die Länge der Projektion +des Vektors $v$ auf die Richtung $e_i$. +Die Komponenten von $Ae_j$ sind daher $a_{ij}=\langle e_i,f(e_j)\rangle$. +Die Matrix $A$ der Abbildung $f$ hat also die Matrixelemente +$a_{ij}=e_i^tAe_j$. + + +\subsection{Die Gruppe $\operatorname{SU}(2)$ +\label{buch:gruppen:su2}} -- cgit v1.2.1 From c2327f731ba243a91d47c48ad14ecbcd3b058caf Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Tue, 23 Mar 2021 23:42:48 +0100 Subject: Change title and authors, remove sample --- buch/papers/punktgruppen/Makefile.inc | 12 +++----- buch/papers/punktgruppen/main.tex | 30 ++----------------- buch/papers/punktgruppen/teil0.tex | 22 -------------- buch/papers/punktgruppen/teil1.tex | 55 ----------------------------------- buch/papers/punktgruppen/teil2.tex | 40 ------------------------- buch/papers/punktgruppen/teil3.tex | 40 ------------------------- 6 files changed, 7 insertions(+), 192 deletions(-) delete mode 100644 buch/papers/punktgruppen/teil0.tex delete mode 100644 buch/papers/punktgruppen/teil1.tex delete mode 100644 buch/papers/punktgruppen/teil2.tex delete mode 100644 buch/papers/punktgruppen/teil3.tex (limited to 'buch') diff --git a/buch/papers/punktgruppen/Makefile.inc b/buch/papers/punktgruppen/Makefile.inc index 7c6e70d..629abca 100644 --- a/buch/papers/punktgruppen/Makefile.inc +++ b/buch/papers/punktgruppen/Makefile.inc @@ -3,12 +3,8 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -dependencies-punktgruppen = \ - papers/punktgruppen/packages.tex \ - papers/punktgruppen/main.tex \ - papers/punktgruppen/references.bib \ - papers/punktgruppen/teil0.tex \ - papers/punktgruppen/teil1.tex \ - papers/punktgruppen/teil2.tex \ - papers/punktgruppen/teil3.tex +dependencies-punktgruppen = \ + papers/punktgruppen/packages.tex \ + papers/punktgruppen/main.tex \ + papers/punktgruppen/references.bib diff --git a/buch/papers/punktgruppen/main.tex b/buch/papers/punktgruppen/main.tex index fc91913..71e9a92 100644 --- a/buch/papers/punktgruppen/main.tex +++ b/buch/papers/punktgruppen/main.tex @@ -3,34 +3,10 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Thema\label{chapter:punktgruppen}} -\lhead{Thema} +\chapter{Crystal M\rotatebox[origin=c]{180}{a}th\label{chapter:punktgruppen}} +\lhead{Crystal M\rotatebox[origin=c]{180}{a}th} \begin{refsection} -\chapterauthor{Hans Muster} - -Ein paar Hinweise für die korrekte Formatierung des Textes -\begin{itemize} -\item -Absätze werden gebildet, indem man eine Leerzeile einfügt. -Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet. -\item -Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende -Optionen werden gelöscht. -Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen. -\item -Beginnen Sie jeden Satz auf einer neuen Zeile. -Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen -in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt -anzuwenden. -\item -Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren -Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. -\end{itemize} - -\input{papers/punktgruppen/teil0.tex} -\input{papers/punktgruppen/teil1.tex} -\input{papers/punktgruppen/teil2.tex} -\input{papers/punktgruppen/teil3.tex} +\chapterauthor{Tim T\"onz, Naoki Pross} \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/punktgruppen/teil0.tex b/buch/papers/punktgruppen/teil0.tex deleted file mode 100644 index 5a8278e..0000000 --- a/buch/papers/punktgruppen/teil0.tex +++ /dev/null @@ -1,22 +0,0 @@ -% -% einleitung.tex -- Beispiel-File für die Einleitung -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 0\label{punktgruppen:section:teil0}} -\rhead{Teil 0} -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua \cite{punktgruppen:bibtex}. -At vero eos et accusam et justo duo dolores et ea rebum. -Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum -dolor sit amet. - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua. -At vero eos et accusam et justo duo dolores et ea rebum. Stet clita -kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit -amet. - - diff --git a/buch/papers/punktgruppen/teil1.tex b/buch/papers/punktgruppen/teil1.tex deleted file mode 100644 index 228af33..0000000 --- a/buch/papers/punktgruppen/teil1.tex +++ /dev/null @@ -1,55 +0,0 @@ -% -% teil1.tex -- Beispiel-File für das Paper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 1 -\label{punktgruppen:section:teil1}} -\rhead{Problemstellung} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. -Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -aut fugit, sed quia consequuntur magni dolores eos qui ratione -voluptatem sequi nesciunt -\begin{equation} -\int_a^b x^2\, dx -= -\left[ \frac13 x^3 \right]_a^b -= -\frac{b^3-a^3}3. -\label{punktgruppen:equation1} -\end{equation} -Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -consectetur, adipisci velit, sed quia non numquam eius modi tempora -incidunt ut labore et dolore magnam aliquam quaerat voluptatem. - -Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -Quis autem vel eum iure reprehenderit qui in ea voluptate velit -esse quam nihil molestiae consequatur, vel illum qui dolorem eum -fugiat quo voluptas nulla pariatur? - -\subsection{De finibus bonorum et malorum -\label{punktgruppen:subsection:finibus}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. - -Et harum quidem rerum facilis est et expedita distinctio -\ref{punktgruppen:section:loesung}. -Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -impedit quo minus id quod maxime placeat facere possimus, omnis -voluptas assumenda est, omnis dolor repellendus -\ref{punktgruppen:section:folgerung}. -Temporibus autem quibusdam et aut officiis debitis aut rerum -necessitatibus saepe eveniet ut et voluptates repudiandae sint et -molestiae non recusandae. -Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -voluptatibus maiores alias consequatur aut perferendis doloribus -asperiores repellat. - - diff --git a/buch/papers/punktgruppen/teil2.tex b/buch/papers/punktgruppen/teil2.tex deleted file mode 100644 index b48e785..0000000 --- a/buch/papers/punktgruppen/teil2.tex +++ /dev/null @@ -1,40 +0,0 @@ -% -% teil2.tex -- Beispiel-File für teil2 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 2 -\label{punktgruppen:section:teil2}} -\rhead{Teil 2} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{punktgruppen:subsection:bonorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. - - diff --git a/buch/papers/punktgruppen/teil3.tex b/buch/papers/punktgruppen/teil3.tex deleted file mode 100644 index 94abd74..0000000 --- a/buch/papers/punktgruppen/teil3.tex +++ /dev/null @@ -1,40 +0,0 @@ -% -% teil3.tex -- Beispiel-File für Teil 3 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 3 -\label{punktgruppen:section:teil3}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{punktgruppen:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. - - -- cgit v1.2.1 From 0a3486fa2ae398bb113053ad0823cf59c4a3b1eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sat, 27 Mar 2021 20:33:43 +0100 Subject: new images --- buch/chapters/40-eigenwerte/grundlagen.tex | 30 +++ buch/chapters/40-eigenwerte/images/Makefile | 7 +- buch/chapters/40-eigenwerte/images/bild1.jpg | Bin 0 -> 76315 bytes buch/chapters/40-eigenwerte/images/bild2.jpg | Bin 0 -> 87846 bytes buch/chapters/40-eigenwerte/images/drei.jpg | Bin 0 -> 95383 bytes buch/chapters/40-eigenwerte/images/kern1.jpg | Bin 0 -> 61717 bytes buch/chapters/40-eigenwerte/images/kern2.jpg | Bin 0 -> 87289 bytes buch/chapters/40-eigenwerte/images/kernbild.pdf | Bin 0 -> 189482 bytes buch/chapters/40-eigenwerte/images/kernbild.tex | 40 ++++ buch/chapters/40-eigenwerte/images/kernbild1.jpg | Bin 0 -> 84647 bytes buch/chapters/40-eigenwerte/images/kernbild2.jpg | Bin 0 -> 76111 bytes buch/chapters/40-eigenwerte/images/kombiniert.jpg | Bin 0 -> 117063 bytes buch/chapters/40-eigenwerte/images/kombiniert.pdf | Bin 0 -> 131131 bytes buch/chapters/40-eigenwerte/images/kombiniert.tex | 48 ++++ buch/chapters/60-gruppen/images/castle.jpeg | Bin 0 -> 148054 bytes buch/chapters/60-gruppen/lie-algebren.tex | 255 ++++++++++++++++++++++ buch/chapters/60-gruppen/lie-gruppen.tex | 179 +++++++++++++++ buch/chapters/60-gruppen/symmetrien.tex | 98 +++++++++ buch/common/teilnehmer.tex | 20 +- 19 files changed, 666 insertions(+), 11 deletions(-) create mode 100644 buch/chapters/40-eigenwerte/images/bild1.jpg create mode 100644 buch/chapters/40-eigenwerte/images/bild2.jpg create mode 100644 buch/chapters/40-eigenwerte/images/drei.jpg create mode 100644 buch/chapters/40-eigenwerte/images/kern1.jpg create mode 100644 buch/chapters/40-eigenwerte/images/kern2.jpg create mode 100644 buch/chapters/40-eigenwerte/images/kernbild.pdf create mode 100644 buch/chapters/40-eigenwerte/images/kernbild.tex create mode 100644 buch/chapters/40-eigenwerte/images/kernbild1.jpg create mode 100644 buch/chapters/40-eigenwerte/images/kernbild2.jpg create mode 100644 buch/chapters/40-eigenwerte/images/kombiniert.jpg create mode 100644 buch/chapters/40-eigenwerte/images/kombiniert.pdf create mode 100644 buch/chapters/40-eigenwerte/images/kombiniert.tex create mode 100644 buch/chapters/60-gruppen/images/castle.jpeg (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/grundlagen.tex b/buch/chapters/40-eigenwerte/grundlagen.tex index d984452..ffc452b 100644 --- a/buch/chapters/40-eigenwerte/grundlagen.tex +++ b/buch/chapters/40-eigenwerte/grundlagen.tex @@ -16,6 +16,36 @@ gestreckt werden. Gelingt es, eine Basis aus solchen sogenanten {\em Eigenvektoren} zu finden, dann kann man die Matrix $A$ durch Basiswechsel in diese Form bringen. +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/kernbild.pdf} +\caption{Iterierte Kerne und Bilder einer $3\times 3$-Matrix mit Rang~2. +Die abnehmend geschachtelten iterierten Bilder +$\mathcal{J}^1(A) \subset \mathcal{J}^2(A)$ +sind links dargestellt, die zunehmen geschachtelten iterierten Kerne +$\mathcal{K}^1(A) \subset \mathcal{K}^2(A)$ rechts. +\label{buch:eigenwerte:img:kernbild}} +\end{figure} + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/kombiniert.pdf} +\caption{Iterierte Kerne und Bilder einer $3\times 3$-Matrix mit Rang~2. +Da $\dim\mathcal{J}^2(A)=1$ und $\dim\mathcal{J}^1(A)=2$ ist, muss es +einen Vektor in $\mathcal{J}^1(A)$ geben, der von $A$ auf $0$ abgebildet +wird, der also auch im Kern $\mathcal{K}^1(A)$ liegt. +Daher ist $\mathcal{K}^1(A)$ die Schnittgerade von $\mathcal{J}^1(A)$ und +$\mathcal{K}^2(A)$. +Man kann auch gut erkennen, dass +$\mathbb{R}^3 += +\mathcal{K}^1(A)\oplus \mathcal{J}^1(A) += +\mathcal{K}^2(A) \oplus \mathcal{J}^2(A)$ +ist. +\label{buch:eigenwerte:img:kombiniert}} +\end{figure} + % % Kern und Bild von Matrixpotenzen % diff --git a/buch/chapters/40-eigenwerte/images/Makefile b/buch/chapters/40-eigenwerte/images/Makefile index db00dac..753153d 100644 --- a/buch/chapters/40-eigenwerte/images/Makefile +++ b/buch/chapters/40-eigenwerte/images/Makefile @@ -3,7 +3,7 @@ # # (c) 2020 Prof Dr Andreas Müller, Hochschule Rappersil # -all: sp.pdf nilpotent.pdf +all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf sp.pdf: sp.tex sppaths.tex pdflatex sp.tex @@ -14,3 +14,8 @@ sppaths.tex: spbeispiel.m nilpotent.pdf: nilpotent.tex pdflatex nilpotent.tex +kernbild.pdf: kernbild.tex bild2.jpg kern2.jpg + pdflatex kernbild.tex + +kombiniert.pdf: kombiniert.tex kombiniert.jpg + pdflatex kombiniert.tex diff --git a/buch/chapters/40-eigenwerte/images/bild1.jpg b/buch/chapters/40-eigenwerte/images/bild1.jpg new file mode 100644 index 0000000..879fae8 Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/bild1.jpg differ diff --git a/buch/chapters/40-eigenwerte/images/bild2.jpg b/buch/chapters/40-eigenwerte/images/bild2.jpg new file mode 100644 index 0000000..2597c95 Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/bild2.jpg differ diff --git a/buch/chapters/40-eigenwerte/images/drei.jpg b/buch/chapters/40-eigenwerte/images/drei.jpg new file mode 100644 index 0000000..35f9034 Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/drei.jpg differ diff --git a/buch/chapters/40-eigenwerte/images/kern1.jpg b/buch/chapters/40-eigenwerte/images/kern1.jpg new file mode 100644 index 0000000..5c99664 Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/kern1.jpg differ diff --git a/buch/chapters/40-eigenwerte/images/kern2.jpg b/buch/chapters/40-eigenwerte/images/kern2.jpg new file mode 100644 index 0000000..87d18ac Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/kern2.jpg differ diff --git a/buch/chapters/40-eigenwerte/images/kernbild.pdf b/buch/chapters/40-eigenwerte/images/kernbild.pdf new file mode 100644 index 0000000..2a321b2 Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/kernbild.pdf differ diff --git a/buch/chapters/40-eigenwerte/images/kernbild.tex b/buch/chapters/40-eigenwerte/images/kernbild.tex new file mode 100644 index 0000000..4eced84 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/kernbild.tex @@ -0,0 +1,40 @@ +% +% kernbild.tex -- Kern und Bild einer Matrix +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\definecolor{darkgreen}{rgb}{0,0.4,0} +\definecolor{turqoise}{rgb}{0,0.3,0.6} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\begin{scope}[xshift=-3.5cm] +\node at (0,0) {\includegraphics[width=6.8cm]{bild2.jpg}}; + +\fill[color=white,opacity=0.8] (-3,-2.75) rectangle (-2,-2.3); +\node[color=orange] at (-2.5,-2.5) {$\mathcal{J}^1(A)$}; +\node at (3.3,0) {$x_1$}; +\node at (0.3,3.2) {$x_3$}; +\node[color=purple] at (2.3,0.6) [rotate=8] {$\mathcal{J}^2(A)$}; +\end{scope} + +\begin{scope}[xshift=3.5cm] +\node at (0,0) {\includegraphics[width=6.8cm]{kern2.jpg}}; +\node[color=darkgreen] at (1.8,2.2) [rotate=58] {$\mathcal{K}^1(A)$}; +\fill[color=white,opacity=0.8] (-1.5,0.8) rectangle (-0.5,1.2); +\node[color=turqoise] at (-1,1) {$\mathcal{K}^2(A)$}; +\node at (3.3,0) {$x_1$}; +\node at (0.3,3.2) {$x_3$}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/images/kernbild1.jpg b/buch/chapters/40-eigenwerte/images/kernbild1.jpg new file mode 100644 index 0000000..87e874e Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/kernbild1.jpg differ diff --git a/buch/chapters/40-eigenwerte/images/kernbild2.jpg b/buch/chapters/40-eigenwerte/images/kernbild2.jpg new file mode 100644 index 0000000..1160b31 Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/kernbild2.jpg differ diff --git a/buch/chapters/40-eigenwerte/images/kombiniert.jpg b/buch/chapters/40-eigenwerte/images/kombiniert.jpg new file mode 100644 index 0000000..bebc36f Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/kombiniert.jpg differ diff --git a/buch/chapters/40-eigenwerte/images/kombiniert.pdf b/buch/chapters/40-eigenwerte/images/kombiniert.pdf new file mode 100644 index 0000000..91cee0b Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/kombiniert.pdf differ diff --git a/buch/chapters/40-eigenwerte/images/kombiniert.tex b/buch/chapters/40-eigenwerte/images/kombiniert.tex new file mode 100644 index 0000000..d850c64 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/kombiniert.tex @@ -0,0 +1,48 @@ +% +% kombiniert.tex -- Iterierte Kerne und Bilder +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\definecolor{darkgreen}{rgb}{0,0.4,0} +\definecolor{turqoise}{rgb}{0,0.3,0.6} +\def\skala{1} +\newboolean{showgrid} +\setboolean{showgrid}{false} +\def\breite{7} +\def\hoehe{7} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\node at (0,0) {\includegraphics[width=13.8cm]{kombiniert.jpg}}; + +\node at (6.6,-0.1) {$x_1$}; +\node at (0.3,6.7) {$x_3$}; + +\node[color=purple] at (4.8,1) [rotate=8] {$\mathcal{J}^2(A)$}; +\node[color=darkgreen] at (3.5,4.6) [rotate=58] {$\mathcal{K}^1(A)$}; + +\fill[color=white,opacity=0.8] (-2.3,3.8) rectangle (-1.3,4.2); +\node[color=turqoise] at (-1.8,4) {$\mathcal{K}^2(A)$}; + +\fill[color=white,opacity=0.8] (2.5,-5.75) rectangle (3.5,-5.3); +\node[color=orange] at (3,-5.5) {$\mathcal{J}^1(A)$}; + +%\node at G +% Gitter +\ifthenelse{\boolean{showgrid}}{ +\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe); +\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe); +\draw (-\breite,-\hoehe) grid (\breite, \hoehe); +\fill (0,0) circle[radius=0.05]; +}{} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/castle.jpeg b/buch/chapters/60-gruppen/images/castle.jpeg new file mode 100644 index 0000000..bf90a36 Binary files /dev/null and b/buch/chapters/60-gruppen/images/castle.jpeg differ diff --git a/buch/chapters/60-gruppen/lie-algebren.tex b/buch/chapters/60-gruppen/lie-algebren.tex index 69d4b1d..6c6b74b 100644 --- a/buch/chapters/60-gruppen/lie-algebren.tex +++ b/buch/chapters/60-gruppen/lie-algebren.tex @@ -6,3 +6,258 @@ \section{Lie-Algebren \label{buch:section:lie-algebren}} \rhead{Lie-Algebren} +Im vorangegangenen Abschnitt wurde gezeigt, dass alle beschriebenen +Matrizengruppen als Untermannigfaltigkeiten im $n^2$-dimensionalen +Vektorraum $M_n(\mathbb{R}9$ betrachtet werden können. +Die Gruppen haben damit nicht nur die algebraische Struktur einer +Matrixgruppe, sie haben auch die geometrische Struktur einer +Mannigfaltigkeit. +Insbesondere ist es sinnvoll, von Ableitungen zu sprechen. + +Eindimensionale Untergruppen einer Gruppe können auch als Kurven +innerhalb der Gruppe angesehen werden. +In diesem Abschnitt soll gezeigt werden, wie man zu jeder eindimensionalen +Untergruppe einen Vektor in $M_n(\mathbb{R})$ finden kann derart, dass +der Vektor als Tangentialvektor an diese Kurve gelten kann. +Aus einer Abbildung zwischen der Gruppe und diesen Tagentialvektoren +erhält man dann auch eine algebraische Struktur auf diesen Tangentialvektoren, +die sogenannte Lie-Algebra. +Sie ist charakteristisch für die Gruppe. +Insbesondere werden wir sehen, wie die Gruppen $\operatorname{SO}(3)$ +und $\operatorname{SU}(2)$ die gleich Lie-Algebra haben und dass die +Lie-Algebra von $\operatorname{SO}(3)$ mit dem Vektorprodukt in $\mathbb{R}^3$ +übereinstimmt. + +% +% Tangentialvektoren und SO(2) +% +\subsection{Tangentialvektoren und $\operatorname{SO}(2)$} +Die Drehungen in der Ebene können reell als Matrizen der Form +\[ +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +als eidimensionale Kurve innerhalb von $M_2(\mathbb{R})$ beschrieben +werden. +Alternativ können Drehungen um den Winkel $\alpha$ als mit Hilfe von +der Abbildung +$ +\alpha\mapsto e^{i\alpha} +$ +als komplexe Zahlen vom Betrag $1$ beschrieben werden. +Dies sind zwei verschiedene Parametrisierungen der gleichen +geometrischen Transformation. + +Die Ableitung nach $\alpha$ ist $ie^{i\alpha}$, der Tangentialvektor +im Punkt $e^{i\alpha}$ ist also $ie^{i\alpha}$. +Die Multiplikation mit $i$ ist die Drehung um $90^\circ$, der Tangentialvektor +ist also der um $90^\circ$ gedrehte Ortsvektor zum Punkt auf der Kurve. + +In der Darstelllung als $2\times 2$-Matrix ist die Ableitung +\[ +\frac{d}{d\alpha}D_\alpha += +\frac{d}{d\alpha} +\begin{pmatrix} +\cos\alpha& -\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} += +\begin{pmatrix} +-\sin\alpha & -\cos\alpha \\ + \cos\alpha & -\sin\alpha +\end{pmatrix}. +\] +Die rechte Seite kann wieder mit der Drehmatrix $D_\alpha$ geschrieben +werden, es ist nämlich +\[ +\frac{d}{d\alpha}D_\alpha += +\begin{pmatrix} +-\sin\alpha & -\cos\alpha \\ + \cos\alpha & -\sin\alpha +\end{pmatrix} += +\begin{pmatrix} +\cos\alpha & -\sin\alpha\\ +\sin\alpha & \cos\alpha +\end{pmatrix} +\begin{pmatrix} +0&-1\\ +1& 0 +\end{pmatrix} += +D_\alpha J. +\] +Der Tangentialvektor an die Kurve $\alpha\mapsto D_\alpha$ innerhalb +$M_2(\mathbb{R})$ im Punkt $D_\alpha$ ist also die Matrix +$JD_\alpha$. +Die Matrix $J$ ist die Drehung um $90^\circ$, denn $J=D_{\frac{\pi}2}$. +Der Zusammenhang zwischen dem Punkt $D_\alpha$ und dem Tangentialvektor +ist also analog zur Beschreibug mit komplexen Zahlen. + +Im Komplexen vermittelt die Exponentialfunktion den Zusammenhang zwischen +dem Winkel $\alpha$ und dre Drehung $e^{i\alpha}$. +Der Grund dafür ist natürlich die Differentialgleichung +\[ +\frac{d}{d\alpha} z(\alpha) = iz(\alpha). +\] +Die analoge Differentialgleichung +\[ +\frac{d}{d\alpha} D_\alpha = J D_\alpha +\] +führt auf die Matrix-Exponentialreihe +\begin{align*} +D_\alpha += +\exp (J\alpha) +&= +\sum_{k=0}^\infty \frac{(J\alpha)^k}{k!} += +\biggl( +1-\frac{\alpha^2}{2!} + \frac{\alpha^4}{4!} -\frac{\alpha^6}{6!}+\dots +\biggr) ++ +J\biggl( +\alpha - \frac{\alpha^3}{3!} ++ \frac{\alpha^5}{5!} +- \frac{\alpha^7}{7!}+\dots +\biggr) +\\ +&= +I\cos\alpha ++ +J\sin\alpha, +\end{align*} +welche der Eulerschen Formel $e^{i\alpha} = \cos\alpha + i \sin\alpha$ +analog ist. + +In diesem Beispiel gibt es nur eine Tangentialrichtung und alle in Frage +kommenden Matrizen vertauschen miteinander. +Es ist daher nicht damit zu rechnen, dass sich eine interessante +Algebrastruktur für die Ableitungen konstruieren lässt. + +% +% Die Lie-Algebra einer Matrizengruppe +% +\subsection{Lie-Algebra einer Matrizengruppe} +Das eindimensionale Beispiel $\operatorname{SO}(2)$ hat gezeigt, dass +die Tangentialvektoren in einem beliebigen Punkt $D_\alpha$ aus dem +Tangentialvektor im Punkt $I$ durch Anwendung der Drehung hervorgehen, +die $I$ in $D_\alpha$ abbildet. +Die Drehungen einer eindimensionalen Untergruppe transportieren daher +den Tangentialvektor in $I$ entlang der Kurve auf jeden beliebigen +anderen Punkt. +Zu jedem Tangentialvektor im Punkt $I$ dürfte es daher genau eine +eindimensionale Untergruppe geben. + +Sei die Abbildung $\varrho\colon\mathbb{R}\to G$ eine Einparameter-Untergruppe +von $G\subset M_n(\mathbb{R})$. +Durch Ableitung der Gleichung $\varrho(t+x) = \varrho(t)\varrho(x)$ nach +$x$ folgt die Differentialgleichung +\[ +\varrho'(t) += +\frac{d}{dx}\varrho(t+x)\bigg|_{x=0} += +\varrho(t) \frac{d}{dx}\varrho(0)\bigg|_{x=0} += +\varrho(t) \varrho'(0). +\] +Der Tangentialvektor in $\varrho'(t)$ in $\varrho(t)$ ist daher +der Tangentialvektor $\varrho'(0)$ in $I$ transportiert in den Punkt +$\varrho(t)$ mit Hilfe der Matrix $\varrho(t)$. + +Aus der Differentialgleichung folgt auch, dass +\[ +\varrho(t) = \exp (t\varrho'(0)). +\] +Zu einem Tangentialvektor in $I$ kann man also immer die +Einparameter-Untergruppe mit Hilfe der Differentialgleichung +oder der expliziten Exponentialreihe rekonstruieren. + +Die eindimensionale Gruppe $\operatorname{SO}(2)$ ist abelsch und +hat einen eindimensionalen Tangentialraum, man kann also nicht mit +einer interessanten Algebrastruktur rechnen. +Für eine höherdimensionale, nichtabelsche Gruppe sollte sich aus +der Tatsache, dass es verschiedene eindimensionale Untergruppen gibt, +deren Elemente nicht mit den Elemente einer anderen solchen Gruppe +vertauschen, eine interessante Algebra konstruieren lassen, deren +Struktur die Nichtvertauschbarkeit wiederspiegelt. + +Seien also $A$ und $B$ Tangentialvektoren einer Matrizengruppe $G$, +die zu den Einparameter-Untergruppen $\varphi(t)=\exp At$ und +$\varrho(t)=\exp Bt$ gehören. +Insbesondere gilt $\varphi'(0)=A$ und $\varrho'(0)=B$. +Das Produkt $\pi(t)=\varphi(t)\varrho(t)$ ist allerdings nicht notwendigerweise +eine Einparametergruppe, denn dazu müsste gelten +\begin{align*} +\pi(t+s) +&= +\varphi(t+s)\varrho(t+s) += +\varphi(t)\varphi(s)\varrho(t)\varrho(s) +\\ += +\pi(t)\pi(s) +&= +\varphi(t)\varrho(t)\varphi(s)\varrho(s) +\end{align*} +Durch Multiplikation von links mit $\varphi(t)^{-1}$ und +mit $\varrho(s)^{-1}$ von rechts folgt, dass dies genau dann gilt, +wenn +\[ +\varphi(s)\varrho(t)=\varrho(t)\varphi(s). +\] +Die beiden Seiten dieser Gleichung sind erneut verschiedene Punkte +in $G$. +Durch Multiplikation mit $\varrho(t)^{-1}$ von links und mit +$\varphi(s)^{-1}$ von rechts erhält man die äquivaliente +Bedingung +\begin{equation} +\varrho(-t)\varphi(s)\varrho(t)\varphi(-s)=I. +\label{buch:lie:konjugation} +\end{equation} +Ist die Gruppe $G$ nicht kommutativ, kann man nicht +annehmen, dass diese Bedingung erfüllt ist. + +Aus \eqref{buch:lie:konjugation} erhält man jetzt eine Kurve +\[ +t \mapsto \gamma(t,s) = \varrho(-t)\varphi(s)\varrho(t)\varphi(-s) \in G +\] +in der Gruppe, die für $t=0$ durch $I$ geht. +Ihren Tangentialvektor kann man durch Ableitung bekommen: +\begin{align*} +\frac{d}{dt}\gamma(t,s) +&= +-\varrho'(-t)\varphi(s)\varrho(t)\varphi(-s) ++\varrho(-t)\varphi(s)\varrho'(t)\varphi(-t) +\\ +\frac{d}{dt}\gamma(t)\bigg|_{t=0} +&= +-B\varphi(s) + \varphi(-s)B +\end{align*} +Durch erneute Ableitung nach $s$ erhält man dann +\begin{align*} +\frac{d}{ds} \frac{d}{dt}\gamma(t,s)\bigg|_{t=0} +&= +-B\varphi'(s) - \varphi(-s)B +\end{align*} + +% +% Die Lie-Algebra von SO(3) +% +\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$} + +% +% Die Lie-Algebra von SU(2) +% +\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$} + + + + diff --git a/buch/chapters/60-gruppen/lie-gruppen.tex b/buch/chapters/60-gruppen/lie-gruppen.tex index 022de97..1268ce2 100644 --- a/buch/chapters/60-gruppen/lie-gruppen.tex +++ b/buch/chapters/60-gruppen/lie-gruppen.tex @@ -111,6 +111,9 @@ in die Gruppe $\operatorname{SO}(2)$. Die Menge der Drehmatrizen in der Ebene kann also mit dem Einheitskreis in der komplexen Ebene identifiziert werden. +% +% Isometrien von R^n +% \subsection{Isometrien von $\mathbb{R}^n$ \label{buch:gruppen:isometrien}} Lineare Abbildungen der Ebene $\mathbb{R}^n$ mit dem üblichen Skalarprodukt @@ -142,6 +145,182 @@ Die Komponenten von $Ae_j$ sind daher $a_{ij}=\langle e_i,f(e_j)\rangle$. Die Matrix $A$ der Abbildung $f$ hat also die Matrixelemente $a_{ij}=e_i^tAe_j$. +\subsubsection{Die orthogonale Gruppe $\operatorname{O}(n)$} +Die Matrixelemente von $A^tA$ sind +$\langle A^tAe_i, e_j\rangle =\langle e_i,e_j\rangle = \delta_{ij}$ +sind diejenigen der Einheitsmatrix, +die Matrix $A$ erfüllt $AA^t=I$ oder $A^{-1}=A^t$. +Dies sind die {\em orthogonalen} Matrizen. +Die Menge $\operatorname{O}(n)$ der isometrischen Abbildungen besteht +daher aus den Matrizen +\[ +\operatorname{O}(n) += +\{ A\in M_n(\mathbb{R})\;|\; AA^t=I\}. +\] +Die Matrixgleichung $AA^t=I$ liefert $n(n+1)/2$ unabhängige Bedingungen, +die die orthogonalen Matrizen innerhalb der $n^2$-dimensionalen +Menge $M_n(\mathbb{R})$ auszeichnen. +Die Menge $\operatorname{O}(n)$ der orthogonalen Matrizen hat daher +die Dimension +\[ +n^2 - \frac{n(n+1)}{2} += +\frac{2n^2-n^2-n}{2} += +\frac{n(n-1)}2. +\] +Im Spezialfall $n=2$ ist die Gruppe $O(2)$ eindimensional. + +\subsubsection{Die Gruppe $\operatorname{SO}(n)$} +Die Gruppe $\operatorname{O}(n)$ enhält auch Isometrien, die +die Orientierung des Raumes umkehren, wie zum Beispiel Spiegelungen. +Wegen $\det (AA^t)=\det A\det A^t = (\det A)^2=1$ kann die Determinante +einer orthogonalen Matrix nur $\pm 1$ sein. +Orientierungserhaltende Isometrien haben Determinante $1$. + +Die Gruppe +\[ +\operatorname{SO}(n) += +\{A\in\operatorname{O}(n)\;|\; \det A=1\} +\] +heisst die {\em spezielle orthogonale Gruppe}. +Die Dimension der Gruppe $\operatorname{O}(n)$ ist $n(n-1)/2$. + +\subsubsection{Die Gruppe $\operatorname{SO}(3)$} +Die Gruppe $\operatorname{SO}(3)$ der Drehungen des dreidimensionalen +Raumes hat die Dimension $3(3-1)/2=3$. +Eine Drehung wird festgelegt durch die Richtung der Drehachse und den +Drehwinkel. +Die Richtung der Drehachse ist ein Einheitsvektor, also ein Punkt +auf der zweidimensionalen Kugel. +Der Drehwinkel ist der dritte Parameter. +Drehungen mit kleinen Drehwinkeln können zusammengesetzt werden +aus den Matrizen +\[ +D_{x,\alpha} += +\begin{pmatrix} +1&0&0\\ +0&\cos\alpha&-\sin\alpha\\ +0&\sin\alpha& \cos\alpha +\end{pmatrix}, +\qquad +D_{y,\beta} += +\begin{pmatrix} + \cos\beta&0&\sin\beta\\ + 0 &1& 0 \\ +-\sin\beta&0&\cos\beta +\end{pmatrix}, +\qquad +D_{z,\gamma} += +\begin{pmatrix} +\cos\gamma&-\sin\gamma&0\\ +\sin\gamma& \cos\gamma&0\\ + 0 & 0 &1 +\end{pmatrix}, +\] +die Drehungen um die Koordinatenachsen um den Winkel $\alpha$ +beschreiben. +Auch die Winkel $\alpha$, $\beta$ und $\gamma$ können als die +drei Koordinaten der Mannigkfaltigkeit $\operatorname{SO}(3)$ +angesehen werden. + +% +% Die Gruppe SU(2) +% \subsection{Die Gruppe $\operatorname{SU}(2)$ \label{buch:gruppen:su2}} +Die Menge der Matrizen +\[ +\operatorname{SU}(2) += +\left\{ +\left. +A=\begin{pmatrix} a&b\\c&d\end{pmatrix} +\;\right|\; +a,b,c,d\in\mathbb{C},\det(A)=1, AA^*=I +\right\} +\] +heisst die {\em spezielle unitäre Gruppe}. +Wegen $\det(AB)=\det(A)\det(B)=1$ und $(AB)^*AB=B^*A^*AB=B^*B=I$ ist +$\operatorname{SU}(2)$ eine Untergruppe von $\operatorname{GL}_2(\mathbb{C})$. +Die Bedingungen $\det A=1$ und $AA^*=I$ schränken die möglichen Werte +von $a$ und $b$ weiter ein. +Aus +\[ +A^* += +\begin{pmatrix} +\overline{a}&\overline{c}\\ +\overline{b}&\overline{d} +\end{pmatrix} +\] +und den Bedingungen führen die Gleichungen +\[ +\begin{aligned} +a\overline{a}+b\overline{b}&=1 +&&\Rightarrow&|a|^2+|b|^2&=1 +\\ +a\overline{c}+b\overline{d}&=0 +&&\Rightarrow& +\frac{a}{b}&=-\frac{\overline{d}}{\overline{c}} +\\ +c\overline{a}+d\overline{b}&=0 +&&\Rightarrow& +\frac{c}{d}&=-\frac{\overline{b}}{\overline{a}} +\\ +c\overline{c}+d\overline{d}&=1&&\Rightarrow&|c|^2+|d|^2&=1 +\\ +ad-bc&=1 +\end{aligned} +\] +Aus der zweiten Gleichung kann man ableiten, dass es eine Zahl $t\in\mathbb{C}$ +gibt derart, dass $c=-t\overline{b}$ und $d=t\overline{a}$. +Damit wird die Bedingung an die Determinante zu +\[ +1 += +ad-bc = at\overline{a} - b(-t\overline{b}) += +t(|a|^2+|b|^2) += +t, +\] +also muss die Matrix $A$ die Form haben +\[ +A += +\begin{pmatrix} +a&b\\ +-\overline{b}&\overline{a} +\end{pmatrix} +\qquad\text{mit}\quad |a|^2+|b|^2=1. +\] +Schreibt man $a=a_1+ia_2$ und $b=b_1+ib_2$ mit rellen $a_i$ und $b_i$, +dann besteht $SU(2)$ aus den Matrizen der Form +\[ +A= +\begin{pmatrix} + a_1+ia_2&b_1+ib_2\\ +-b_1+ib_2&a_1-ia_2 +\end{pmatrix} +\] +mit der zusätzlichen Bedingung +\[ +|a|^2+|b|^2 += +a_1^2 + a_2^2 + b_1^2 + b_2^2 = 1. +\] +Die Matrizen von $\operatorname{SU}(2)$ stehen daher in einer +eins-zu-eins-Beziehung zu den Vektoren $(a_1,a_2,b_1,b_2)\in\mathbb{R}^4$ +eines vierdimensionalen reellen Vektorraums mit Länge $1$. +Geometrisch betrachtet ist also $\operatorname{SU}(2)$ eine dreidmensionalen +Kugel, die in einem vierdimensionalen Raum eingebettet ist. + + + diff --git a/buch/chapters/60-gruppen/symmetrien.tex b/buch/chapters/60-gruppen/symmetrien.tex index 8d5c0e0..cb07475 100644 --- a/buch/chapters/60-gruppen/symmetrien.tex +++ b/buch/chapters/60-gruppen/symmetrien.tex @@ -7,4 +7,102 @@ \section{Symmetrien \label{buch:section:symmetrien}} \rhead{Symmetrien} +Der geometrische Begriff der Symmetrie meint die Eigenschaft eines +geometrischen Objektes, dass es bei einer Bewegung auf sich selbst +abgebildet wird. +Das Wort stammt aus dem altgriechischen, wo es {\em Gleichmass} +bedeutet. +Spiegelsymmetrische Objekte zeichnen sich zum Beispiel dadurch aus, +dass Messungen von Strecken die gleichen Werte ergeben wie die Messungen +der entsprechenden gespiegelten Strecken (siehe auch +Abbildung~\ref{buch:lie:bild:castlehoward}, was die Herkunft des +Begriffs verständlich macht. +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/60-gruppen/images/castle.jpeg} +\caption{Das Castle Howard in Yorkshire war in dieser ausgeprägt symmetrischen +Form geplant, wurde dann aber in modifizeirter Form gebaut. +Messungen zwischen Punkten in der rechten Hälfte des Bildes +ergeben die gleichen Werte wie Messungen entsprechenden Strecken +in der linken Hälfte, was den Begriff Symmetrie rechtfertigt. +\label{buch:lie:bild:castlehoward}} +\end{figure} +In der Physik wird dem Begriff der Symmetrie daher auch eine erweiterte +Bedeutung gegeben. +Jede Transformation eines Systems, welche bestimmte Grössen nicht +verändert, wird als Symmetrie bezeichnet. +Die Gesetze der Physik sind typischerweise unabhängig davon, wo man den +den Nullpunkt der Zeit oder das räumlichen Koordinatensystems ansetzt, +eine Transformation des Zeitnullpunktes oder des Ursprungs des +Koordinatensystems ändert daher die Bewegungsgleichungen nicht, sie ist +eine Symmetrie des Systems. + +Umgekehrt kann man fragen, welche Symmetrien ein System hat. +Da sich Symmetrien zusammensetzen und umkehren lassen, kann man in davon +ausgehen, dass die Symmetrietransformationen eine Gruppe bilden. +Besonders interessant ist dies im Falle von Transformationen, die +durch Matrizen beschrieben weren. +Eine unter der Symmetrie erhaltene Eigenschaft definiert so eine +Untergruppe der Gruppe $\operatorname{GL}_n(\mathbb{R})$ der +invertierbaren Matrizen. +Die erhaltenen Eigenschaften definieren eine Menge von Gleichungen, +denen die Elemente der Untergruppe genügen müssen. +Als Lösungsmenge einer Gleichung erhält die Untergruppe damit eine +zusätzliche geometrische Struktur, man nennt sie eine differenzierbare +Mannigfaltigkeit. +Dieser Begriff wird im Abschnitt~\ref{buch:subsection:mannigfaltigkeit} +eingeführt. +Es wird sich zum Beispiel zeigen, dass die Menge der Drehungen der +Ebene mit den Punkten eines Kreises parametrisieren lassen, +die Lösungen der Gleichung $x^2+y^2=1$ sind. + +Eine Lie-Gruppe ist eine Gruppe, die gleichzeitig eine differenzierbare +Mannigfaltigkeit ist. +Die Existenz von geometrischen Konzepten wie Tangentialvektoren +ermöglicht zusätzliche Werkzeuge, mit denen diese Gruppe untersucht +und verstanden werden können. +Ziel dieses Abschnitts ist, die Grundlagen für diese Untersuchung zu +schaffen, die dann im Abschnitt~\ref{buch:section:lie-algebren} +durchgeführt werden soll. + +\subsection{Algebraische Symmetrien +\label{buch:subsection:algebraische-symmetrien}} +Mit Matrizen lassen sich Symmetrien in einem geometrischen Problem +oder in einem physikalischen System beschreiben. +Man denkt dabei gerne zuerst an geometrische Symmetrien wie die +Symmetrie unter Punktspiegelung oder die Spiegelung an der $x_1$-$x_2$-Ebene, +wie sie zum Beispiel durch die Abbildungen +\[ +\mathbb{R}^3\to\mathbb{R}^3 : x\mapsto -x +\qquad\text{oder}\qquad +\mathbb{R}^3\to\mathbb{R}^3 : +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} +\mapsto +\begin{pmatrix}-x_1\\x_2\\x_3\end{pmatrix} +\] +dargestellt werden. +Beide haben zunächst die Eigenschaft, dass Längen und Winkel und damit +das Skalarprodukt erhalten sind. +Diese Eigenschaft allein erlaubt aber noch nicht, die beiden Transformationen +zu unterscheiden. +Die Punktspiegelung zeichnet sich dadurch aus, das alle Geraden und alle +Ebenen durch den Ursprung auf sich selbst abgebildet werden. +Dies funktioniert für die Ebenenspiegelung nicht, dort bleibt nur die +Spiegelungsebene (die $x_1$-$x_2$-Ebene im vorliegenden Fall) und +ihre Normale erhalten. +Die folgenden Beispiele sollen zeigen, wie solche Symmetriedefinitionen +auf algebraische Bedingungen an die Matrixelemente führen. + + +\subsection{Manningfaltigkeiten +\label{buch:subsection:mannigfaltigkeit}} + +\subsection{Der Satz von Noether +\label{buch:subsection:noether}} + + + + + + diff --git a/buch/common/teilnehmer.tex b/buch/common/teilnehmer.tex index aeaddd5..4d57f84 100644 --- a/buch/common/teilnehmer.tex +++ b/buch/common/teilnehmer.tex @@ -7,21 +7,21 @@ Joshua Baer, % E Marius Baumann, % E Reto Fritsche, % E -Ahmet Güzel%, % E +%Ahmet Güzel%, % E +Alain Keller%, % E \\ -%Pascal Honegger, % I -Alain Keller, % E +Marc Kühne, % B Robine Luchsinger, % B -Jan Marbach%, % E -\\ -Andrea Mozzin Vellen, % E Naoki Pross, % E -Michael Schmid%, % MSE +Thomas Reichlin%, % B \\ +Michael Schmid, % MSE Pascal Andreas Schmid, % B -Thierry Schwaller, % E -Michael Steiner%, % E +Adrian Schuler%, % B \\ +Thierry Schwaller, % E +Michael Steiner, % E Tim Tönz, % E -Fabio Viecelli, % B +Fabio Viecelli%, % B +\\ Lukas Zogg%, % B -- cgit v1.2.1 From 3815d5cc9533eded31b96a8492fc48c6e7ffc90d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 29 Mar 2021 16:24:40 +0200 Subject: new stuff --- buch/chapters/40-eigenwerte/Makefile.inc | 3 + buch/chapters/40-eigenwerte/chapter.tex | 4 +- buch/chapters/40-eigenwerte/spektralradius.tex | 6 +- buch/chapters/40-eigenwerte/spektraltheorie.tex | 581 ++++++++++++++++++++- .../40-eigenwerte/uebungsaufgaben/4004.tex | 72 +++ .../40-eigenwerte/uebungsaufgaben/4005.tex | 151 ++++++ 6 files changed, 810 insertions(+), 7 deletions(-) create mode 100644 buch/chapters/40-eigenwerte/uebungsaufgaben/4004.tex create mode 100644 buch/chapters/40-eigenwerte/uebungsaufgaben/4005.tex (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/Makefile.inc b/buch/chapters/40-eigenwerte/Makefile.inc index b15f476..5f30ab5 100644 --- a/buch/chapters/40-eigenwerte/Makefile.inc +++ b/buch/chapters/40-eigenwerte/Makefile.inc @@ -12,4 +12,7 @@ CHAPTERFILES = $(CHAPTERFILES) \ chapters/40-eigenwerte/spektraltheorie.tex \ chapters/40-eigenwerte/uebungsaufgaben/4001.tex \ chapters/40-eigenwerte/uebungsaufgaben/4002.tex \ + chapters/40-eigenwerte/uebungsaufgaben/4003.tex \ + chapters/40-eigenwerte/uebungsaufgaben/4004.tex \ + chapters/40-eigenwerte/uebungsaufgaben/4005.tex \ chapters/40-eigenwerte/chapter.tex diff --git a/buch/chapters/40-eigenwerte/chapter.tex b/buch/chapters/40-eigenwerte/chapter.tex index e769b38..5f8cb83 100644 --- a/buch/chapters/40-eigenwerte/chapter.tex +++ b/buch/chapters/40-eigenwerte/chapter.tex @@ -34,8 +34,8 @@ Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. \input{chapters/40-eigenwerte/grundlagen.tex} \input{chapters/40-eigenwerte/normalformen.tex} \input{chapters/40-eigenwerte/spektralradius.tex} -\input{chapters/40-eigenwerte/numerisch.tex} \input{chapters/40-eigenwerte/spektraltheorie.tex} +\input{chapters/40-eigenwerte/numerisch.tex} \section*{Übungsaufgaben} \rhead{Übungsaufgaben} @@ -44,5 +44,7 @@ Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. \uebungsaufgabe{4001} \uebungsaufgabe{4002} \uebungsaufgabe{4003} +\uebungsaufgabe{4004} +\uebungsaufgabe{4005} \end{uebungsaufgaben} diff --git a/buch/chapters/40-eigenwerte/spektralradius.tex b/buch/chapters/40-eigenwerte/spektralradius.tex index bdc725f..a36dc33 100644 --- a/buch/chapters/40-eigenwerte/spektralradius.tex +++ b/buch/chapters/40-eigenwerte/spektralradius.tex @@ -3,9 +3,9 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswi % -\section{Funktionen einer Matrix -\label{buch:section:funktionen-einer-matrix}} -\rhead{Funktionen einer Matrix} +\section{Analytische Funktionen einer Matrix +\label{buch:section:analytische-funktionen-einer-matrix}} +\rhead{Analytische Funktionen einer Matrix} Eine zentrale Motivation in der Entwicklung der Eigenwerttheorie war das Bestreben, Potenzen $A^k$ auch für grosse $k$ effizient zu berechnen. diff --git a/buch/chapters/40-eigenwerte/spektraltheorie.tex b/buch/chapters/40-eigenwerte/spektraltheorie.tex index 4146505..a3f86ba 100644 --- a/buch/chapters/40-eigenwerte/spektraltheorie.tex +++ b/buch/chapters/40-eigenwerte/spektraltheorie.tex @@ -5,7 +5,582 @@ % \section{Spektraltheorie \label{buch:section:spektraltheorie}} -% Matrix-Exponentialfunktion -% Wurzel einer Matrix -% Beliebige Funktion f(A) für normale Matrizen +Aufgabe der Spektraltheorie ist, Bedingungen an eine Matrix $A$ und eine +Funktion $f(z)$ zu finden, unter denen es möglich ist, $f(A)$ auf +konsistente Art und Weise zu definieren. +Weiter müssen Methoden entwickelt werden, mit denen $f(A)$ berechnet +werden kann. +Für ein Polynom $p(z)$ ist $p(A)$ durch einsetzen definiert. +Für Funktionen, die sich nicht durch ein Polynom darstellen lassen, +muss eine Approximation der Funktion durch Polynome verwendet werden. +Sei also $p_n(z)$ eine Folge von Polynomen, die als Approximation der +Funktion $f(z)$ verwendet werden soll. +Das Ziel ist, $f(A)$ als den Grenzwert der Matrixfolge $p_n(A)$ +zu definieren. + +Zunächst ist nicht klar, wie eine solche Folge gewählt werden muss. +Es muss eine Teilmenge von $K\subset\mathbb{C}$ spezifiziert werden, +auf der die Funktionenfolge $p_n(z)$ konvergieren muss, +damit auch die Konvergenz der Matrizenfolge $p_n(A)$ garantiert ist. +Auch die Art der Konvergenz von $p_n(z)$ auf der Menge $K$ ist noch +unklar. +Da der Abstand zweier Matrizen $A$ und $B$ in der Operatornorm +mit der grössten Abweichung $\|(A-B)v\|$ für Einheitsvektoren $v$ +gemessen wird, ist es einigermassen plausibel, dass +die grösse Abweichung zwischen zwei Polynomen $|p(z) - q(z)|$ auf +der Menge $K$ kleine sein muss, wenn $\|p(A)-q(A)\|$ klein +sein soll. +Da die Differenz $p(z)-q(z)$ für beliebige Polynome, die sich nicht +nur um eine Konstante unterscheiden, mit $z$ über alle Grenzen wächst, +muss $K$ beschränkt sein. +Gesucht ist also eine kompakte Menge $K\subset\mathbb{C}$ und eine +Folge $p_n(z)$ von Polynomen, die auf $K$ gleichmässig gegen $f(z)$ +konvergieren. +Die Wahl von $K$ muss sicherstellen, dass für jede gleichmässig +konvergente Folge von Polynomen $p_n(z)$ auch die Matrizenfolge +$p_n(A)$ konvergiert. + +Es wird sich zeigen, dass die Menge $K$ das Spektrum von $A$ ist, +also eine endliche Teilmenge von $\mathbb{C}$. +Jede Funktion kann auf so einer Menge durch Polynome exakt wiedergegeben +werden. +Es gibt insbesondere Folgen von Polynomen, die eingeschränkt +auf das Spektrum gleich sind, also $p_n(z)=p_m(z)$ für alle $z\in K$, +die aber ausserhalb des Spektrums alle verschieden sind. +Als Beispiel kann die Matrix +\[ +N=\begin{pmatrix}0&1\\0&0\end{pmatrix} +\] +herangezogen werden. +Ihr Spektrum ist $\operatorname{Sp}(N)=\{0\}\subset\mathbb{C}$. +Zwei Polynome stimmen genau dann auf $\operatorname{Sp}(N)$ überein, +wenn der konstante Koeffizient gleich ist. +Die Polynome $p(z)=z$ und $q(z)=z^2$ stimmen daher auf dem Spektrum +überein. +Für die Matrizen gilt aber $p(N)=N$ und $q(N)=N^2=0$, die Matrizen +stimmen also nicht überein. +Es braucht also zusätzliche Bedingungen an die Matrix $A$, die +sicherstellen, dass $p(A)=0$ ist, wann immer $p(z)=0$ für +$z\in\operatorname{Sp}(A)$ gilt. + +In diesem Abschnitt sollen diese Fragen untersucht werden. +In Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +wird gezeigt, wie sich Funktionen durch Polynome approximieren +lassen, woraus sich dann Approximationen von $f(A)$ für diagonalisierbare +Matrizen mit reellen Eigenwerten ergeben. + +Der Satz von Stone-Weierstrass, der in +Abschnitt~\ref{buch:subsetion:stone-weierstrass} dargestellt wird, +ist ein sehr allgemeines Approximationsresultat, welches nicht nur +zeigt, dass die Approximation unter sehr natürlichen Voraussetzungen +beliebig genau möglich ist, sondern uns im komplexen Fall auch +weitere Einsicht dafür geben kann, welche Voraussetzungen an eine +komplexe Matrix gestellt werden müssen, damit man damit rechnen kann, +dass die Approximation zu einer konsistenten Definition von $f(A)$ führt. + +% +% Approximation +% +\subsection{Approximation durch Polynome +\label{buch:subsection:approximation-durch-polynome}} +Die der Berechnung von $f(A)$ für eine beleibige stetige Funktion, +die sich nicht als Potenzreihe schreiben lässt, verwendet Approximationen +von Polynomen. +Die numerische Mathematik hat eine grosse Menge von solchen +Approximationsverfahren entwickelt, wovon zwei kurz (ohne Beweise) +vorgestellt werden sollen. + +\subsubsection{Das Legendre-Interpolationspolynom} +Zu vorgegebenen, verschiedenen Zahlen $z_i\in\mathbb{C}$, $0\le i\le n$, +die auch die {\em Stützstellen} genannt werden, +gibt es immer ein Polynom vom Grade $n$, welches in den $z_i$ vorgegebene +Werte $f(z_i)$ annimmt. +Ein solches Polynom lässt sich im Prinzip mit Hilfe eines linearen +Gleichungssystems finden, man kann aber auch direkt eine Lösung +konstruieren. +Dazu bildet man erst die Polynome +\begin{align*} +l(z) &= (z-z_0)(z-z_1)\dots (z-z_n) \qquad\text{und} +\\ +l_i(z) &= (z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n). +\end{align*} +Darin bedeutet der Hut, dass dieser Term weggelassen werden soll. +Für $z\ne z_i$ ist $l_i(z)=l(z)/(z-z_i)$. +Die Polynome +\[ +k_i(z) += +\frac{l_i(z)}{l_i(z_i)} += +\frac{(z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n)}{(z_i-z_0)\dots \widehat{(z_i-z_i)}\dots (z_i-z_n)} +\] +haben die Eigenschaft +$k_i(z_j)=\delta_{ij}$. +Damit lässt sich jetzt ein Polynom +\[ +p(z) = \sum_{j=0}^n f(z_j) \frac{l_j(z)}{l_j(z_j)} +\] +vom Grad $n$ konstruieren, welches die Werte +\[ +p(z_i) += +\sum_{j=0}^n f(z_j) \frac{l_j(z_i)}{l_j(z_j)} += +\sum_{j=0}^n f(z_j) \delta_{ij} += +f_(z_i) +\] +annimmt. +Das Polynom $p(z)$ heisst das {\em Legendre-Interpolationspolynom}. + +Zwar lässt sich also für eine endliche Menge von komplexen Zahlen immer +ein Polynom finden, welches vorgeschriebene Wert in allen diesen Zahlen +annimmt, doch ist die Stabilität für grosse $n$ eher beschränkt. + + +\subsubsection{Gleichmassige Approximation mit Bernstein-Polynomen} +Das Legendre-Interpolationspolynom nimmt in den Stützstellen die +verlangten Werte an, aber ausserhalb der Stützstellen ist nicht +garantiert, dass man eine gute Approximation einer Funktion $f(z)$ +erhält. + +Für die Approximation auf einem reellen Interval $[a,b]$ hat +Sergei Natanowitsch Bernstein ein +Dazu werden zuerst die reellen Bernsteinpolynome vom Grad $n$ +durch +\begin{align*} +B_{i,n}(t) = \binom{n}{i} t^i(1-t)^{n-i}. +\end{align*} +definiert. +Als Approximationspolynom für die auf dem Interval +$[0,1]$ definierte, stetige Funktion $f(t)$ kann man dann +\[ +B_n(f)(t) += +\sum_{i=0}^n B_{i,n}(t) f\biggl(\frac{i}{n}\biggr) +\] +verwenden. +Die Polynome $B_n(f)(t)$ konvergieren gleichmässig auf $[0,1]$ +gegen die Funktion $f(t)$. +Über die Konvergenz ausserhalb des reellen Intervalls wird nichts +ausgesagt. +Die Approximation mit Bernstein-Polynomen ist daher nur sinnvoll, +wenn man weiss, dass die Eigenwerte der Matrix reell sind, was im +wesentlichen auf diagonalisierbare Matrizen führt. + +Für ein anderes Interval $[a,b]$ kann man ein Approximationspolynom +erhalten, indem man die affine Transformation +$s\mapsto (s-a)/(b-a)$ +von $[a,b]$ auf $[0,1]$ +verwendet. + +% +% Der Satz von Stone-Weierstrass +% +\subsection{Der Satz von Stone-Weierstrasss +\label{buch:subsetion:stone-weierstrass}} +Der Satz von Stone-Weierstrass behandelt im Gegensatz zu den in +Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +besprochenen Approximationsmethoden nicht nur Funktionen von +reellen Variablen durch Polynome. +Vielmehr kann das Definitionsgebiet irgend eine abgeschlossene +und beschränkte Teilmenge eines reellen oder komplexen Vektorraumes +sein und die Funktionen können Polynome aber auch viel allgemeinere +Funktionen verwendet werden, wie zum Beispiel die Funktionen +$x\mapsto \cos nx$ und $x\mapsto \sin nx$ definiert auf dem +Intervall $[0,2\pi]$. +In diesem Fall liefert der Satz von Stone-Weierstrass die Aussage, +dass sich jede stetige periodische Funktion gleichmässig durch +trigonometrische Polynome approximieren lässt. + +Die Aussage des Satz von Stone-Weierstrass über reelle Funktionen +lässt sich nicht auf komplexe Funktionen erweitern. +Von besonderem Interesse ist jedoch, dass der Beweis des Satz +zeigt, warum solche Aussagen für komplexe Funktionen nicht mehr +zutreffen. +Im Falle der Approximation von komplexen Funktionen $f(z)$ durch Polynome +zwecks Definition von $f(A)$ werden sich daraus Bedingungen an die +Matrix ableiten lassen, die eine konsistente Definition überhaupt +erst ermöglichen werden. + +\subsubsection{Punkte trennen} +Aus den konstanten Funktionen lassen sich durch algebraische +Operationen nur weitere konstante Funktionen erzeugen. +Die konstanten Funktionen sind also nur dann eine genügend +reichhaltige Menge, wenn die Menge $K$ nur einen einzigen Punkt +enthält. +Damit sich Funktionen approximieren lassen, die in zwei Punkten +verschiedene Werte haben, muss es auch unter den zur Approximation +zur Verfügung stehenden Funktionen solche haben, deren Werte sich +in diesen Punkten unterscheiden. +Diese Bedingung wird in der folgenden Definition formalisiert. + +\begin{definition} +Sei $K$ eine beliebige Menge und $A$ eine Menge von Funktionen +$K\to \mathbb{C}$. +Man sagt, $A$ {\em trennt die Punkte von $K$}, wenn es für jedes Paar +\index{Punkte trennen}% +von Punkten $x,y\in K$ eine Funktion $f\in A$ gibt derart, dass +$f(x)\ne f(y)$. +\end{definition} + +Man kann sich die Funktionen $f$, die gemäss dieser Definition die Punkte +von $K$ trennen, als eine Art Koordinaten der Punkte in $K$ vorstellen. +Die Punkte der Teilmenge $K\subset \mathbb{R}^n$ werden zum Beispiel +von den Koordinatenfunktionen $x\mapsto x_i$ getrennt. +Wir schreiben für die $i$-Koordinate daher auch als Funktion $x_i(x)=x_i$. +Zwei verschiedene Punkte $x,y\in K$ unterscheiden sich in mindestens +einer Koordinate. +Für diese Koordinate sind dann die Werte der zugehörigen +Koordinatenfunktion $x_i=x_i(x)\ne x_i(y)=y_i$ verschieden, die +Funktionen $x_1(x)$ bis $x_n(x)$ trennen also die Punkte. + +\begin{beispiel} +Wir betrachten einen Kreis in der Ebene, also die Menge +\[ +S^1 += +\{(x_1,x_2)\;|\; x_1^2 + x_2^2=1\} +\] +$S^1$ ist eine abgeschlossene und beschränkte Menge in $\mathbb{R}^2$. +Die Funktion $x\mapsto x_1$ trennt die Punkte nicht, denn zu jedem +Punkt $(x_1,x_2)\in S^2$ gibt es den an der ersten Achse +gespiegelten Punkt $\sigma(x)=(x_1,-x_2)$, dessen erste Koordinate +den gleichen Wert hat. +Ebenso trennt die Koordinatenfunktion $x\mapsto x_2$ die Punkte nicht. +Die Menge $A=\{ x_1(x), x_2(x)\}$ bestehend aus den beiden +Koordinatenfunktionen trennt dagegen die Punkte von $S^1$, da die Punkte +sich immer in mindestens einem Punkt unterscheiden. + +Man könnte auch versuchen, den Kreis in Polarkoordinaten zu beschreiben. +Die Funktion $\varphi(x)$, die jedem Punkt $x\in S^1$ den Polarwinkel +zuordnet, trennt sicher die Punkte des Kreises. +Zwei verschiedene Punkte auf dem Kreis haben verschieden Polarwinkel. +Die Menge $\{\varphi\}$ trennt also die Punkte von $S^1$. +Allerdings ist die Funktion nicht stetig, was zwar der Definition +nicht widerspricht aber ein Hindernis für spätere Anwendungen ist. +\end{beispiel} + + +\subsubsection{Der Satz von Stone-Weierstrass für reelle Funktionen} +Die Beispiele von Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +haben bezeigt, dass sich reellwertige Funktionen einer reellen +Variable durch Polynome beliebig genau approximieren lassen. +Es wurde sogar eine Methode vorgestellt, die eine auf einem Intervall +gleichmässig konvergente Polynomefolge produziert. +Die Variable $x\in[a,b]$ trennt natürlich die Punkte, die Algebra der +Polynome in der Variablen $x$ enthält also sicher Funktionen, die in +verschiedenen Punkten des Intervalls auch verschiedene Werte annehmen. +Nicht ganz so selbstverständlich ist aber, dass sich daraus bereits +ergibt, dass jede beliebige Funktion sich als Polynome in $x$ +approximieren lässt. +Dies ist der Inhalt des folgenden Satzes von Stone-Weierstrass. + +\begin{satz}[Stone-Weierstrass] +\label{buch:satz:stone-weierstrass} +Enthält eine $\mathbb{R}$-Algebra $A$ von stetigen, rellen Funktionen +auf einer kompakten Menge $K$ die konstanten Funktionen und trennt sie +Punkte, d.~h.~für zwei verschiedene Punkte $x,y\in K$ gibt es +immer eine Funktion $f\in A$ mit $f(x)\ne f(y)$, dann ist jede stetige, +reelle Funktion auf $K$ gleichmässig approximierbar durch Funktionen +in $A$. +\end{satz} + +\begin{proof}[Beweis] +XXX TODO +\end{proof} + +Der entscheidende Schritt des Beweises ist, dass man die Betragsfunktion +konstruieren kann. +Daraus leiten sich dann alle folgenden Konstruktionen ab. + +\subsubsection{Anwendung auf symmetrische und hermitesche Matrizen} +Für symmetrische und hermitesche Matrizen $A$ ist bekannt, dass die +Eigenwerte reell sind, also das Spektrum $\operatorname{A}\subset\mathbb{R}$ +ist. +Für eine Funktion $\mathbb{R}\to \mathbb{R}$ lässt sich nach dem +Satz~\ref{buch:satz:stone-weierstrass} immer eine Folge $p_n$ von +approximierenden Polynomen in $x$ finden, die auf $\operatorname{Sp}(A)$ +gleichmässig konvergiert. +Die Matrix $f(A)$ kann dann definiert werden also der Grenzwert +\[ +f(A) = \lim_{n\to\infty} p_n(A). +\] +Da diese Matrizen auch diagonalisierbar sind, kann man eine Basis +aus Eigenvektoren verwenden. +Die Wirkung von $p_n(A)$ auf einem Eigenvektor $v$ zum Eigenwert $\lambda$ +ist +\[ +p_n(A)v += +(a_kA^k + a_{k-1}A^{k-1}+\dots +a_2A^2+a_1A+a_0I)v += +(a_k\lambda^k + a_{k-1}\lambda^{k-1}+\dots + a_2\lambda^2 + a_1\lambda + a_0)v += +p_n(\lambda)v. +\] +Im Grenzwert wirkt $f(A)$ daher durch Multiplikation eines Eigenvektors +mit $f(\lambda)$, die Matrix $f(A)$ hat in der genannten Basis die +Diagonalform +\[ +A=\begin{pmatrix} +\lambda_1& & & \\ + &\lambda_2& & \\ + & &\ddots& \\ + & & &\lambda_n +\end{pmatrix} +\qquad\Rightarrow\qquad +f(A)=\begin{pmatrix} +f(\lambda_1)& & & \\ + &f(\lambda_2)& & \\ + & &\ddots& \\ + & & &f(\lambda_n) +\end{pmatrix}. +\] + +\begin{satz} +\label{buch:eigenwerte:satz:spektralsatz} +Ist $A$ symmetrische oder selbstadjungiert Matrix und $f$ eine Funktion +auf dem Spektrum $\operatorname{Sp}(A)$ von $A$. +Dann gibt es genau eine Matrix $f(A)$, die Grenzwert jeder beliebigen +Folge $p_n(A)$ für Polynomfolgen, die $\operatorname{Sp}(A)$ gleichmässig +gegen $f$ konvergieren. +\end{satz} + +\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen} +Der Satz~\ref{buch:satz:stone-weierstrass} von Stone-Weierstrass für +reelle Funktionen gilt nicht für komplexe Funktionen. +Der Grund ist, dass im Beweis benötigt wird, dass man den Betrag +einer Funktion approximieren können muss. +Dies geschah, indem zunächst eine Polynom-Approximation für die +Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer +Funktion angewendet wurde. +Der Betrag einer komplexen Zahl $z$ ist aber nicht allein aus $z$ +berechenbar, man braucht in irgend einer Form Zugang zu Real- +und Imaginärteil. +Zum Beispiel kann man Real- und Imaginärteil als +$\Re z= \frac12(z+\overline{z})$ und $\Im z = \frac12(z-\overline{z})$ +bestimmen. +Kenntnis von Real- und Imaginärteil ist als gleichbedeutend mit +der Kenntnis der komplex Konjugierten $\overline{z}$. +Der Betrag lässt sich daraus als $|z|^2 = z\overline{z}$ finden. +Beide Beispiele zeigen, dass man den im Beweis benötigten Betrag +nur dann bestimmen kann, wenn mit jeder Funktion aus $A$ auch die +komplex konjugierte Funktion zur Verfügung steht. + +\begin{satz}[Stone-Weierstrass] +Enthält eine $\mathbb{C}$-Algebra $A$ von stetigen, komplexwertigen +Funktionen auf einer kompakten Menge $K$ die konstanten Funktionen, +trennt sie Punkte und ist ausserdem mit jeder Funktion $f\in A$ auch +die komplex konjugiert Funktion $\overline{f}\in A$, +dann lässt sich jede stetige, komplexwertige Funktion +auf $K$ gleichmässig durch Funktionen aus $A$ approximieren. +\end{satz} + +Mit Hilfe der konjugiert komplexen Funktion lässt sich immer eine +Approximation für die Betragsfunktion finden, so dass sich der +Beweis des reellen Satzes von Stone-Weierstrass übertragen lässt. + +% +% Normale Matrizen +% +\subsection{Normale Matrizen +\label{buch:subsection:normale-matrizen}} +Aus dem Satz von Stone-Weierstrass für komplexe Matrizen kann man +jetzt einen Spektralsätze für eine etwas grössere Klasse von Matrizen +ableiten, als im Satz~\ref{buch:eigenwerte:satz:spektralsatz} +möglich war. +Der Satz besagt, dass für eine beliebige Funktion $f$ auf dem Spektrum +$\operatorname{Sp}(A)$ eine Folge von auf $\operatorname{Sp}(A)$ +gleichmässig konvergenten, approximierenden Polynomen +$p_n(z,\overline{z})$ gefunden werden kann. +Doch wie soll jetzt aus dieser Polynomfolge ein Kandidat von $f(A)$ +gefunden werden? + +Zunächst stellt sich die Frage, was für die Variable $\overline{z}$ +eingesetzt werden soll. +$1\times 1$-Matrizen sind notwendigerweise diagonal, also muss +man in diesem Fall die Matrix $\overline{A}$ für die Variable +$\overline{z}$ eingesetzt werden. +Dies erklärt aber noch nicht, wie für $n\times n$-Matrizen +vorzugehen ist, wenn $n>1$ ist. + +Die Notwendigkeit, die Variable $\overline{z}$ hinzuzunehmen +ergab sich aus der Anforderung, dass der Betrag aus $|z|^2=z\overline{z}$ +konstruiert werden können muss. +Insbesondere muss beim Einsetzen eine Matrix entstehen, die nur +positive Eigenwerte hat. +Für eine beliebige komplexe $n\times n$-Matrix $A$ ist aber +$A\overline{A}$ nicht notwendigerweise positiv, wie das Beispiel +\[ +A += +\begin{pmatrix}0&i\\i&0\end{pmatrix} +\qquad +\Rightarrow +\qquad +A\overline{A} += +\begin{pmatrix}0&i\\-i&0\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} += +\begin{pmatrix} +-1&0\\ + 0&-1 +\end{pmatrix} += +-I +\] +zeigt. +Eine positive Matrix entsteht dagegen immer, wenn man statt +$A$ die Adjungierte $A^*=\overline{A}^t$ verwendet. + +Die Substitution von $A$ für $z$ und $A^*$ für $\overline{z}$ +in einem Polynom $p(z,\overline{z})$ ist nicht unbedingt eindeutig. +Schon das Polynom $p(z,\overline{z})=z\overline{z}$ kann man auch +als $\overline{z}z$ schreiben. +Damit die Substition eindeutig wird, muss man also fordern, dass +$AA^* = A^*A$ ist. + +\begin{definition} +Eine Matrix $A\in M_n(\mathbb{C})$ heisst {\em normal}, wenn $AA^*=A^*A$ gilt. +\end{definition} + +\subsubsection{Beispiele normaler Matrizen} + +\begin{enumerate} +\item +Hermitesche und Antihermitesche Matrizen sind normal, denn solche +Matrizen erfüllen $A^*=\pm A$ und damit +\( +AA^* = \pm A^2 = A^*A. +\) +\item +Symmetrische und antisymmetrische Matrizen sind normal, +denn aus $A=A^t$ folgt $A^*=\overline{A}^t$ und damit +\begin{align*} +AA^* &= A\overline{A}^t = +\\ +A^*A &= +\end{align*} +\item +Unitäre Matrizen $U$ sind normal, das $UU^*=I=U^*U$ gilt. +\item +Orthogonale Matrizen sind normal wegen $O(n) = U(n) \cap M_n(\mathbb{R})$. +\end{enumerate} + +Jede Matrix lässt sich durch Wahl einer geeigneten Basis in Jordansche +Normalform bringen. +Allerdings sind Jordan-Blöcke keine normalen Matrizen, wie der folgende +Satz zeigt. + +\begin{satz} +Eine Dreiecksmatrix ist genau dann normal, wenn sie diagonal ist. +\end{satz} + +\begin{proof}[Beweis] +Sei $A$ eine obere Dreiecksmatrix, das Argument für eine untere Dreiecksmatrix +funktioniert gleich. +Wir berechnen ein Diagonalelement für beide Produkte $AA^*$ und $A^*A$. +Dazu brauchen wir die Matrixelemente von $A$ und $A^*$. +Bezeichnen wir die Matrixelemente von $A$ mit $a_{ij}$, dann hat $A^*$ +die Matrixelemente $(A^*)_{ij}=\overline{a}_{ji}$. +Damit kann man die Diagonalelemente der Produkte als +\begin{align*} +(AA^*)_{ii} +&= +\sum_{j=1}^n a_{ij}\overline{a}_{ij} += +\sum_{j=i}^n |a_{ij}|^2 +\\ +(A^*A)_{ii} +&= +\sum_{j=1}^n \overline{a}_{ji}a_{ji} += +\sum_{j=1}^i |a_{ji}|^2 +\end{align*} +ausrechnen. +Der obere Ausdruck ist die quadrierte Länge der Zeile $i$ der Matrix $A$, +der untere ist die quadrierte Länge der Spalte $i$. +Da die Matrix eine obere Dreiecksmatrix ist, hat die erste Spalte höchstens +ein einziges von $0$ verschiedenes Element. +Daher kann auch die erste Zeile höchstens dieses eine Elemente haben. +Die Matrix hat daher Blockstruktur mit einem $1\times 1$-Block in der +linken obere Ecke und einem $n-1$-dimensionalen Block für den Rest. +Durch Wiederholen des Arguments für den $(n-1)\times (n-1)$-Block +kann man so schrittweise schliessen, dass die Matrix $A$ diagonal sein muss. +\end{proof} + + +\begin{satz} +Sind $A$ und $B$ normale Matrizen und $AB^*=B^*A$, dann sind auch $A+B$ +und $AB$ normal. +\end{satz} + +\begin{proof}[Beweis] +Zunächst folgt aus $AB^*=B^*A$ auch +$A^*B = (B^*A)^* = (AB^*)^* = BA^*$. +Der Beweis erfolgt durch Nachrechnen: +\begin{align*} +(A+B)(A+B)^* +&= +AA^* + AB^* + BA^*+BB^* +\\ +(A+B)^*(A+B) +&= +A^*A + A^*B + B^*A + B^*B +\end{align*} +Die ersten und letzten Terme auf der rechten Seite stimmen überein, weil +$A$ und $B$ normal sind. +Die gemischten Terme stimmen überein wegen der Vertauschbarkeit von +$A$ und $B^*$. + +Für das Produkt rechnet man +\begin{align*} +(AB)(AB)^* +&= ABB^*A^* = AB^*BA^* += B^*AA^*B += +B^*A^*AB += +(AB)^*(AB), +\end{align*} +was zeigt, dass auch $AB$ normal ist. +\end{proof} + +\subsubsection{Äquivalente Bedingungen} +Es gibt eine grosse Zahl äquivalenter Eigenschaften für normale Matrizen. +Die folgenden Eigenschaften sind äquivalent: +\begin{enumerate} +\item +Die Matrix $A$ ist mit einer unitären Matrix diagonalisierbar +\item +Es gibt eine orthonormale Basis von Eigenvektoren von $A$ für $\mathbb{C}^n$ +\item +Für jeden Vektor $x\in\mathbb{C}^n$ gilt $\|Ax\|=\|A^*x\|$ +\item +Die Forbenius-Norm der Matrix $A$ kann mit den Eigenwerten $\lambda_i$ +von $A$ berechnet werden: +$\operatorname{Spur}(A^*A) = \sum_{i=1}^n |\lambda_i|^2$ +\item +Der hermitesche Teil $\frac12(A+A^*)$ und der antihermitesche Teil +$\frac12(A-A^*)$ von $A$ vertauschen. +\item +$A^*$ ist ein Polynom vom Grad $n-1$ in $A$. +\item +Es gibt eine unitäre Matrix $U$ derart, dass $A^*=AU$ +\item +Es gibt eine Polarzerlegugn $A=UP$ mit einer unitären Matrix $U$ und +einer postiv semidefiniten Matrix $P$, die untereinander vertauschen. +\item +Es gibt eine Matrix $N$ mit verschiedenen Eigenwerten, mit denen $A$ +vertauscht. +\item +Wenn $A$ die (absteigend geordneten) singulärwerte $\sigma_i$ und +die absteigend geordneten Eigenwerte $\lambda_i$ hat, +dann it $\sigma_i=|\lambda_i|$. +\end{enumerate} + + + diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4004.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4004.tex new file mode 100644 index 0000000..5940b46 --- /dev/null +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4004.tex @@ -0,0 +1,72 @@ +Berechnen Sie $\sin At$ für die Matrix +\[ +A=\begin{pmatrix} +\omega& 1 \\ + 0 &\omega +\end{pmatrix}. +\] +Kontrollieren Sie Ihr Resultat, indem Sie den Fall $\omega = 0$ gesondert +ausrechnen. +\begin{hinweis} +Schreiben Sie $A=\omega I + N$ mit einer nilpotenten Matrix. +\end{hinweis} + +\begin{loesung} +Man muss $At$ in die Potenzreihe +\[ +\sin z = z - \frac{z^3}{3!} + \frac{z^5}{5!} - \frac{z^7}{7!} + \dots +\] +für die Sinus-Funktion einsetzen. +Mit der Schreibweise $A=\omega I + N$, wobei $N^2=0$ können die Potenzen etwas +leichter berechnet werden: +\begin{align*} +A^0 &= I +\\ +A^1 &= \omega I + N +\\ +A^2 &= \omega^2 I + 2\omega N +\\ +A^3 &= \omega^3 I + 3\omega^2 N +\\ +A^4 &= \omega^4 I + 4\omega^3 N +\\ +&\phantom{a}\vdots +\\ +A^k &= \omega^k I + k\omega^{k-1} N +\end{align*} +Damit kann man jetzt $\sin At$ berechnen: +\begin{align} +\sin At +&= +At - \frac{A^3t^3}{3!} + \frac{A^5t^5}{5!} - \frac{A^7t^7}{7!} +\dots +\notag +\\ +&= +\biggl( +\omega t - \frac{\omega^3t^3}{3!} + \frac{\omega^5t^5}{5!} - \frac{\omega^7t^7}{7!} ++\dots +\biggr)I ++ +\biggl( +t -\frac{3\omega^2t^3}{3!} + \frac{5\omega^4t^5}{5!} - \frac{7\omega^6t^7}{7!}+\dots +\biggr)N +\notag +\\ +&= +I\sin\omega t ++tN\biggl(1-\frac{\omega^2t^2}{2!} +\frac{\omega^4t^4}{4!} +- \frac{\omega^6t^6}{6!} ++\dots\biggr) +\notag +\\ +&=I\sin\omega t + tN\cos\omega t. +\label{4004:resultat} +\end{align} +Im Fall $\omega=0$ ist $A=N$ und $A^2=0$, so dass +\[ +\sin At = tN, +\] +dies stimmt mit \eqref{4004:resultat} für $\omega=0$ überein, da +$\cos\omega t = \cos 0=1$ in diesem Fall. +\end{loesung} diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4005.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4005.tex new file mode 100644 index 0000000..ec76c34 --- /dev/null +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4005.tex @@ -0,0 +1,151 @@ +Rechnen Sie nach, dass die Matrix +\[ +A += +\begin{pmatrix} +2&1&0\\ +0&2&1\\ +1&0&2 +\end{pmatrix} +\] +normal ist. +\begin{teilaufgaben} +\item +Berechnen Sie die Eigenwerte, indem Sie das charakteristische Polynom +von $A$ und seine Nullstellen bestimmen. +\item +Das Polynom +\[ +p(z,\overline{z}) += +\frac{(3-\sqrt{3})z\overline{z}-9(1-\sqrt{3})}{6} +\] +hat die Eigenschaft, dass +\begin{align*} +p(\lambda,\lambda) &= |\lambda| +\end{align*} +für alle drei Eigenwerte von $A$. +Verwenden Sie dieses Polynom, um $B=|A|$ zu berechen. +\item +Überprüfen Sie Ihr Resultat, indem Sie mit einem Computeralgebra-Programm +die Eigenwerte von $B$ bestimmen. +\end{teilaufgaben} + +\begin{loesung} +Die Matrix $A$ ist von der Form $2I+O$ mit $O\in\operatorname{SO}(3)$, +für solche Matrizen wurde gezeigt, dass sie normal sind. +Man kann aber auch direkt nachrechnen: +\begin{align*} +AA^t +&= +\begin{pmatrix} +2&1&0\\ +0&2&1\\ +1&0&2 +\end{pmatrix} +\begin{pmatrix} +2&0&1\\ +1&2&0\\ +0&1&2 +\end{pmatrix} += +\begin{pmatrix} +5&2&2\\ +2&5&2\\ +2&2&5 +\end{pmatrix} +\\ +A^tA +&= +\begin{pmatrix} +2&0&1\\ +1&2&0\\ +0&1&2 +\end{pmatrix} +\begin{pmatrix} +2&1&0\\ +0&2&1\\ +1&0&2 +\end{pmatrix} += +\begin{pmatrix} +5&2&2\\ +2&5&2\\ +2&2&5 +\end{pmatrix} +\end{align*} +Es gilt also $AA^t=A^tA$, die Matrix ist also normal. +\begin{teilaufgaben} +\item Das charakteristische Polynom ist +\begin{align} +\chi_A(\lambda) +&=\left| +\begin{matrix} +2-\lambda & 1 & 0  \\ + 0 & 2-\lambda & 1 \\ + 1 & 0 & 2-\lambda +\end{matrix} +\right| += +(2-\lambda)^3+1 +\label{4005:charpoly} +\\ +&=-\lambda^3 -6\lambda^2 + 12\lambda +9. +\notag +\end{align} +Mit einem Taschenrechner kann man die Nullstellen finden, +aber man kann das auch die Form \eqref{4005:charpoly} +des charakteristischen Polynoms direkt faktorisieren: +\begin{align*} +\chi_A(\lambda) +&= +(2-\lambda)^3+1 +\\ +&= +((2-\lambda)+1) +((2-\lambda)^2 -(2-\lambda)+1) +\\ +&= +(3-\lambda) +(\lambda^2-3\lambda +4-2+\lambda +1) +\\ +&= +(3-\lambda) +(\lambda^2-2\lambda +3) +\end{align*} +Daraus kann man bereits einen Eigenwert $\lambda=3$ ablesen, +die weiteren Eigenwerte sind die Nullstellen des zweiten Faktors, die +man mit der Lösungsformel für quadratische Gleichungen finden kann: +\begin{align*} +\lambda_{\pm} +&= +\frac{3\pm\sqrt{9-12}}{2} += +\frac{3}{2} \pm\frac{\sqrt{-3}}{2} += +\frac{3}{2} \pm i\frac{\sqrt{3}}{2} +\end{align*} +\item +Wir müssen $z=A$ und $\overline{z}=A^t$ im Polynom $p(z,\overline{z})$ +substituieren und erhalten +\begin{align*} +B +&= +\frac{3-\sqrt{3}}6 \begin{pmatrix}5&2&2\\2&5&2\\2&2&5\end{pmatrix} ++\frac{\sqrt{3}-1}{2}I +\\ +&= +\begin{pmatrix} + 2.1547005& 0.42264973& 0.42264973 \\ + 0.4226497& 2.15470053& 0.42264973 \\ + 0.4226497& 0.42264973& 2.15470053 +\end{pmatrix} +\end{align*} +\item +Tatsächlich gibt die Berechnung der Eigenwerte +den einfachen Eigenwert $\mu_0=3=|\lambda_0|$ +und +den doppelten Eigenwert $\mu_{\pm} = \sqrt{3}=1.7320508=|\lambda_{\pm}|$. +\qedhere +\end{teilaufgaben} +\end{loesung} -- cgit v1.2.1 From dfcaa8ec3257a82bb77920524c929419ed2edb56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 30 Mar 2021 07:55:07 +0200 Subject: =?UTF-8?q?Tippfehler=20korrigiert=20(mit=20Dank=20f=C3=BCr=20den?= =?UTF-8?q?=20Hinweis=20an=20L.=20Zogg)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../30-endlichekoerper/uebungsaufgaben/3003.tex | 2 +- .../30-endlichekoerper/uebungsaufgaben/3004.tex | 30 +++++++++++----------- 2 files changed, 16 insertions(+), 16 deletions(-) (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex index 8a83256..5dea881 100644 --- a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex +++ b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex @@ -46,7 +46,7 @@ Q(2)Q(1)Q(3)Q(4) \begin{pmatrix} 4&-17\\ -11&47 \end{pmatrix}. \end{align*} Daraus kann man ablesen, dass $s=4$ und $t=-17$, tatsächlich ist -$4\cdot 47-47\cdot 11=188-187=1$. +$4\cdot 47-17\cdot 11=188-187=1$. Wir schliessen daraus, dass $-17=30\in\mathbb{F}_{47}$ die multiplikative Inverse von $b=11$ ist. Die Rechnung $11\cdot 30 = 330 = 7\cdot 47 + 1$ zeigt, dass dies diff --git a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex index 046ac94..deb15dc 100644 --- a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex +++ b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex @@ -65,19 +65,19 @@ Die Gauss-Tableaux sind \begin{align*} \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 1 & 0\\ - 1 & 1 & 1 & 1 & 0\\ - 0 & 1 & 1 & 0 & 1\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 1 & 1\\ + 1 & 1 & 1 & 1 & 1\\ + 0 & 1 & 1 & 0 & 0\\ \hline \end{tabular} &\to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 1 & 0\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 1 & 1\\ 0 & 0 & 1 & 1 & 1\\ - 0 & 1 & 1 & 0 & 1\\ + 0 & 1 & 1 & 0 & 0\\ \hline \end{tabular} %\\ @@ -85,8 +85,8 @@ Die Gauss-Tableaux sind \to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 1 & 0\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 1 & 1\\ 0 & 0 & 1 & 1 & 1\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -95,8 +95,8 @@ Die Gauss-Tableaux sind \to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 0 & 1\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 0 & 0\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -106,8 +106,8 @@ Die Gauss-Tableaux sind \to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 0 & 0 & 1\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -118,7 +118,7 @@ Die Gauss-Tableaux sind \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline 1 & 0 & 0 & 0 & 0\\ - 0 & 1 & 0 & 0 & 1\\ + 0 & 1 & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -128,7 +128,7 @@ In der ersten Zeile stehen die Schritt der Vorwärtsreduktion, in der zweiten die Schritte des Rückwärtseinsetzens. Als Lösung liest man ab \[ -x=\begin{pmatrix}0\\1\\0\\1 \end{pmatrix}, +x=\begin{pmatrix}0\\0\\0\\1 \end{pmatrix}, \] die Korrektheit kann man leicht durch Einsetzen überprüfen. \item -- cgit v1.2.1 From f62357e61d1a1cb647bc5e208946ac5be018bd85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 1 Apr 2021 13:33:00 +0200 Subject: add missing files --- buch/chapters/40-eigenwerte/grundlagen.tex | 192 ++++++++++++++++++ buch/chapters/40-eigenwerte/images/Makefile | 23 ++- buch/chapters/40-eigenwerte/images/dimjk.pdf | Bin 0 -> 23762 bytes buch/chapters/40-eigenwerte/images/dimjk.tex | 78 ++++++++ buch/chapters/40-eigenwerte/images/jknilp.pdf | Bin 0 -> 23241 bytes buch/chapters/40-eigenwerte/images/jknilp.tex | 181 +++++++++++++++++ buch/chapters/40-eigenwerte/images/normalform.pdf | Bin 0 -> 18132 bytes buch/chapters/40-eigenwerte/images/normalform.tex | 214 +++++++++++++++++++++ buch/chapters/40-eigenwerte/images/wa.m | 80 ++++++++ buch/chapters/40-eigenwerte/images/wurzel.pdf | Bin 0 -> 19221 bytes buch/chapters/40-eigenwerte/images/wurzel.tex | 94 +++++++++ .../chapters/40-eigenwerte/images/wurzelapprox.pdf | Bin 0 -> 33171 bytes .../chapters/40-eigenwerte/images/wurzelapprox.tex | 107 +++++++++++ buch/chapters/40-eigenwerte/spektraltheorie.tex | 213 +++++++++++++++++++- .../40-eigenwerte/uebungsaufgaben/4001.tex | 12 +- .../40-eigenwerte/uebungsaufgaben/4003.tex | 30 +-- buch/chapters/60-gruppen/lie-algebren.tex | 2 +- buch/test2.tex | 91 +++++++++ 18 files changed, 1286 insertions(+), 31 deletions(-) create mode 100644 buch/chapters/40-eigenwerte/images/dimjk.pdf create mode 100644 buch/chapters/40-eigenwerte/images/dimjk.tex create mode 100644 buch/chapters/40-eigenwerte/images/jknilp.pdf create mode 100644 buch/chapters/40-eigenwerte/images/jknilp.tex create mode 100644 buch/chapters/40-eigenwerte/images/normalform.pdf create mode 100644 buch/chapters/40-eigenwerte/images/normalform.tex create mode 100644 buch/chapters/40-eigenwerte/images/wa.m create mode 100644 buch/chapters/40-eigenwerte/images/wurzel.pdf create mode 100644 buch/chapters/40-eigenwerte/images/wurzel.tex create mode 100644 buch/chapters/40-eigenwerte/images/wurzelapprox.pdf create mode 100644 buch/chapters/40-eigenwerte/images/wurzelapprox.tex create mode 100644 buch/test2.tex (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/grundlagen.tex b/buch/chapters/40-eigenwerte/grundlagen.tex index ffc452b..69618a9 100644 --- a/buch/chapters/40-eigenwerte/grundlagen.tex +++ b/buch/chapters/40-eigenwerte/grundlagen.tex @@ -213,6 +213,24 @@ Somit können sich $\mathcal{K}^i(A)$ und $\mathcal{J}^i(A)$ für $i>n$ nicht mehr ändern. \end{proof} +\begin{figure} +\centering +\includegraphics{chapters/40-eigenwerte/images/dimjk.pdf} +\caption{Entwicklung der Dimension von $\dim\mathcal{K}^k(A)$ (grün) +und $\dim\mathcal{J}^k(A)$ (orange) in Abhängigkeit vom Exponenten $k$. +Für $k\ge l$ ändern sich die Dimensionen nicht mehr, $A$ eingeschränkt +auf $\mathcal{J}^l(A)=\mathcal{J}(A)$ ist injektiv. +\label{buch:eigenwerte:fig:dimjk}} +\end{figure} + +Abbildung~\ref{buch:eigenwerte:fig:dimjk} zeigt die Abhängigkeit der +Dimensionen $\dim\mathcal{K}^k(A)$ und $\dim\mathcal{J}^k(A)$ von $k$. +Die Dimension $\dim\mathcal{J}^k(A)$ nimmt ab bis zu $k=l$, danach ändert +sie sich nicht mehr und die Einschränkung von $A$ auf $\mathcal{J}^l(A)$ +ist injektiv. +Die Dimension $\dim\mathcal{K}^k(A)$ nimmt zu bis zu $k=l$, danach +ändert sie sich nicht mehr. + \begin{definition} \label{buch:eigenwerte:def:KundJ} Die gemäss Satz~\ref{buch:eigenwerte:satz:ketten} identischen Unterräume @@ -228,6 +246,7 @@ $\mathcal{J}^i(A)$ für $i\ge k$ werden mit bezeichnet. \end{definition} + % % Inveriante Unterräume % @@ -399,6 +418,7 @@ Mit vollständiger Induktion folgt, dass $a_{ij}^s=0$ für $i+s>j$. Insbesondere ist $A^n=0$, die Matrix $A$ ist nilpotent. \end{beispiel} + Man kann die Konstruktion der Unterräume $\mathcal{K}^i(A)$ weiter dazu verwenden, eine Basis zu finden, in der eine nilpotente Matrix eine besonders einfach Form erhält. @@ -487,6 +507,178 @@ Nach Satz~\ref{buch:eigenwerte:satz:allgnilpotent} kann man in $\mathcal{K}(A)$ eine Basis so wählen, dass die Matrix die Blockform \eqref{buch:eigenwerte:eqn:allgnilpotent} erhält. + + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/jknilp.pdf} +\caption{Entwicklung der Dimensionen von Kern und Bild von $A^k$ in +Abhängigkeit von $k$ +\label{buch:eigenwte:fig:jknilp}} +\end{figure} + +\begin{beispiel} +In der Abbildung~\ref{buch:eigenwte:fig:jknilp} sind die Dimensionen +von Kern und Bild der Matrix +\[ +\setcounter{MaxMatrixCols}{12} +A=\begin{pmatrix} +0& & & & & & & & & & & \\ + &0& & & & & & & & & & \\ + & &0& & & & & & & & & \\ + & & &0& & & & & & & & \\ + & & & &0&1& & & & & & \\ + & & & & &0& & & & & & \\ + & & & & & &0&1& & & & \\ + & & & & & & &0&1& & & \\ + & & & & & & & &0&1& & \\ + & & & & & & & & &0&1& \\ + & & & & & & & & & &0& +\end{pmatrix} +\] +dargestellt. +Die Matrix $A^k$ ist in den kleinen Quadraten am unteren Rand der Matrix +symbolisch dargestellt. +Grüne Spalten bestehen aus lauter Nullen, die zugehörigen +Standardbasisvektoren werden von diesem $A^k$ auf $0$ abgebildet. +Die orangen Felder enthalten Einsen, die entsprechenden Standardbasisvektoren +bilden daher eine Basis des Bildes von $A^k$. +\end{beispiel} + +% +% Basis für die Jordan-Normalform einer nilpotenten Matrix +% +\subsection{Basis für die Normalform einer nilpotenten Matrix bestimmen +\label{buch:subsection:normalform-einer-nilpotenten-matrix}} +Die Zerlegung in die invarianten Unterräume $\mathcal{J}^k(f)$ und +$\mathcal{K}^k(f)$ ermöglichen, eine Basis zu finden, in der die +Matrix von $f$ die Blockform \eqref{buch:eigenwerte:eqn:allgnilpotent} +hat. +In diesem Abschnitt soll die Konstruktion einer solchen Basis +etwas ausführlicher beschrieben werden. + +\begin{figure} +\centering +\includegraphics{chapters/40-eigenwerte/images/normalform.pdf} +\caption{Konstruktion der Basis für die Jordansche Normalform einer +nilpotenten Matrix. +Die Vektoren werden in der Reihenfolge von rechts nach links in die +Matrix gefüllt. +\label{buch:eigenwerte:fig:normalform}} +\end{figure} + +Abbildung~\ref{buch:eigenwerte:fig:normalform} illustriert den Prozess +an einer nilpotenten Matrix $A$ mit $A^3=0$ +Die vertikalen Rechtecke im linken Teil der Abbildung symbolisieren +die Unterräume $\mathcal{K}^k(A)$. +Es ist bekannt, dass $\mathcal{K}^k(A) \subset \mathcal{K}^{k+1}(A)$ ist, +die Einbettung wird in der Abbildung durch graue Rechtecke dargestellt. +Es sei wieder $l$ der Exponent, für den $\mathcal{K}^l(A)=\Bbbk^n$ wird. +Da $\mathcal{K}^{l-1}(A)\ne \mathcal{K}^l(A)$ ist, muss es einen +komplementären Unterraum geben, in dem eine Basis gewählt wird. +Jeder der Vektoren $b_1,\dots,b_s$ dieser Basis gibt Anlass zu einem +Block der Form $N_l$, der auf dem Unterraum +$\langle b_i,Ab_i,\dots,A^{l-1}b_i\rangle$ operiert. +In der Abbildung ist $b_i$ durch einen roten Punkt symbolisiert und +die Bilder $Ab_i,\dots,A^{l-1}b_i$ werden durch blaue Pfeile untereinander +verbunden. + +Der Raum $\mathcal{K}^{l-1}(A)$ enthält dann $\mathcal{K}^{l-2}(A)$ und +die Vektoren $Ab_1,\dots,Ab_s$. +Es ist aber möglich, dass diese Vektoren nicht den ganzen Raum +$\mathcal{K}^{l-1}(A)$ erzeugen. +In diesem Fall lassen sich die Vektoren mit Hilfe weiterer Vektoren +$b_{s+1},\dots,b_{s+r}$ zu einer Basisi von $\mathcal{K}^{l-1}(A)$ +ergänzen. +Wie vorhin gibt jeder der Vektoren $b_{s+i}$ Anlass zu einem Block +der Form $N_{l-1}$, der auf dem Unterraum +$\langle b_{s+i},Ab_{s+i}\dots,A^{l-2}b_{s+i}\rangle$ +operiert. + +Durch Wiederholung dieses Prozesses können schrittweise Basisvektoren +$b_i$ erzeugt werden. +Die Matrix der Abbildung $f$ in der Basis $\{b_i,Ab_i,\dots,A^kb_i\}$ +ist ein Block der Form $N_k$. +Für $0\le k\le l-1$ sind die Vektoren $A^kb_i$, +solange sie von $0$ verschieden sind, +alle nach Konstruktion linear unabhängig, sie bilden eine Basis +von $\mathcal{K}^l(A)=\mathbb{R}^n$. + +\begin{beispiel} +Die Basis für die Zerlegung der Matrix +\[ +A += +\begin{pmatrix*}[r] + 3& 1&-2\\ +-21&-7&14\\ + -6&-2& 4 +\end{pmatrix*} +\] +in Blockform soll nach der oben beschriebenen Methode ermittelt werden. +Zunächst kann man nachrechnen, dass $A^2=0$ ist. +Der Kern von $A$ ist der Lösungsraum der Gleichung $Ax=0$, da alle Zeilen +Vielfache der ersten Zeile sind, recht es zu verlangen, dass die +Komponenten $x_i$ der Lösung die Gleichung +\[ +3x_1+x_2-2x_3=0 +\] +erfüllen. +Jetzt muss ein Vektor $b_1$ ausserhalb von $\mathbb{L}$ gefunden werden, +der erste Standardbasisvektor $e_1$ kann dazu verwendet werden. +Es ist auch klar, dass $Ae_1\ne 0$ ist. +Wir verwenden daher die beiden Vektoren +\[ +b_3=e_1=\begin{pmatrix} 1\\0\\0 \end{pmatrix} +,\qquad +b_2=Ab_3=\begin{pmatrix*}[r] 3\\-21\\-6 \end{pmatrix*}, +\] +in dieser Basis hat $A$ die Matrix $N_2$. +Jetzt muss noch ein Basisvektor $b_1$ gefunden werden, +der in $\ker A=\mathbb{L}$ liegt und so, dass $b_1$ und $b_2$ +linear unabhängig sind. +Die zweite Bedingung kann leicht dadurch sichergestellt werden, +dass man die erste Komponente von $b_1$ als $0$ wählt. +Eine mögliche Lösung ist dann +\[ +b_1=\begin{pmatrix}0\\2\\1\end{pmatrix} +\] +Die Matrix +\[ +B=\begin{pmatrix*}[r] + 0& 1& 3\\ + 2& 0& -21\\ + 1& 0& -6 +\end{pmatrix*} +\qquad\text{mit Inverser} +\qquad +B^{-1}=\begin{pmatrix*}[r] +0&-\frac23& \frac73\\ +0&-\frac19& \frac29\\ +1& \frac13&-\frac23 +\end{pmatrix*} +\] +transformiert die Matrix $A$ auf den Block $N_3$: +\[ +B^{-1}AB += +B^{-1}\begin{pmatrix*}[r] +0&0& 3\\ +0&0&-21\\ +0&0& -6 +\end{pmatrix*} += +\begin{pmatrix} +0&0&0\\ +0&0&1\\ +0&0&0 +\end{pmatrix} += +N_3. +\qedhere +\] +\end{beispiel} + % % Begriff des Eigenwertes und Eigenvektors % diff --git a/buch/chapters/40-eigenwerte/images/Makefile b/buch/chapters/40-eigenwerte/images/Makefile index 753153d..bec12d5 100644 --- a/buch/chapters/40-eigenwerte/images/Makefile +++ b/buch/chapters/40-eigenwerte/images/Makefile @@ -3,7 +3,9 @@ # # (c) 2020 Prof Dr Andreas Müller, Hochschule Rappersil # -all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf +all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf \ + wurzelapprox.pdf wurzel.pdf dimjk.pdf jknilp.pdf \ + normalform.pdf sp.pdf: sp.tex sppaths.tex pdflatex sp.tex @@ -19,3 +21,22 @@ kernbild.pdf: kernbild.tex bild2.jpg kern2.jpg kombiniert.pdf: kombiniert.tex kombiniert.jpg pdflatex kombiniert.tex + +wurzelapprox.pdf: wurzelapprox.tex wa.tex + pdflatex wurzelapprox.tex + +wa.tex: wa.m + octave wa.m + +wurzel.pdf: wurzel.tex + pdflatex wurzel.tex + +dimjk.pdf: dimjk.tex + pdflatex dimjk.tex + +jknilp.pdf: jknilp.tex + pdflatex jknilp.tex + +normalform.pdf: normalform.tex + pdflatex normalform.tex + diff --git a/buch/chapters/40-eigenwerte/images/dimjk.pdf b/buch/chapters/40-eigenwerte/images/dimjk.pdf new file mode 100644 index 0000000..fcfe4da Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/dimjk.pdf differ diff --git a/buch/chapters/40-eigenwerte/images/dimjk.tex b/buch/chapters/40-eigenwerte/images/dimjk.tex new file mode 100644 index 0000000..28e0f9f --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/dimjk.tex @@ -0,0 +1,78 @@ +% +% dimjk.tex -- dimensionen von K^l und J^l +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1.2} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\pfad{ + ({0*\sx},{6-6}) -- + ({1*\sx},{6-4.5}) -- + ({2*\sx},{6-3.5}) -- + ({3*\sx},{6-2.9}) -- + ({4*\sx},{6-2.6}) -- + ({5*\sx},{6-2.4}) -- + ({8*\sx},{6-2.4}) +} +\def\sx{1.2} + +\fill[color=orange!20] \pfad -- ({6*\sx},6) -- (0,6) -- cycle; +\fill[color=darkgreen!20] \pfad -- ({6*\sx},0) -- cycle; + +\fill[color=orange!40] ({5*\sx},6) rectangle ({8*\sx},{6-2.4}); +\fill[color=darkgreen!40] ({5*\sx},0) rectangle ({8*\sx},{6-2.4}); + +\draw[color=darkgreen,line width=2pt] ({3*\sx},{6-6}) -- ({3*\sx},{6-2.9}); +\node[color=darkgreen] at ({3*\sx},{6-4.45}) [rotate=90,above] {$\dim\mathcal{K}^k(A)$}; +\draw[color=orange,line width=2pt] ({3*\sx},{6-0}) -- ({3*\sx},{6-2.9}); +\node[color=orange] at ({3*\sx},{6-1.45}) [rotate=90,above] {$\dim\mathcal{J}^k(A)$}; + +\node[color=orange] at ({6.5*\sx},{6-1.2}) {bijektiv}; +\node[color=darkgreen] at ({6.5*\sx},{6-4.2}) {konstant}; + +\fill ({0*\sx},{6-6}) circle[radius=0.08]; +\fill ({1*\sx},{6-4.5}) circle[radius=0.08]; +\fill ({2*\sx},{6-3.5}) circle[radius=0.08]; +\fill ({3*\sx},{6-2.9}) circle[radius=0.08]; +\fill ({4*\sx},{6-2.6}) circle[radius=0.08]; +\fill ({5*\sx},{6-2.4}) circle[radius=0.08]; +\fill ({6*\sx},{6-2.4}) circle[radius=0.08]; +\fill ({7*\sx},{6-2.4}) circle[radius=0.08]; +\fill ({8*\sx},{6-2.4}) circle[radius=0.08]; + +\draw \pfad; + +\draw[->] (-0.5,0) -- ({8*\sx+0.5},0) coordinate[label={$k$}]; +\draw[->] (-0.5,6) -- ({8*\sx+0.5},6); + +\foreach \x in {0,...,8}{ + \draw ({\x*\sx},-0.05) -- ({\x*\sx},0.05); +} +\foreach \x in {0,...,3}{ + \node at ({\x*\sx},-0.05) [below] {$\x$}; +} +\node at ({4*\sx},-0.05) [below] {$\dots\mathstrut$}; +\node at ({5*\sx},-0.05) [below] {$l$}; +\node at ({6*\sx},-0.05) [below] {$l+1$}; +\node at ({7*\sx},-0.05) [below] {$l+2$}; +\node at ({8*\sx},-0.05) [below] {$l+3$}; + +\node[color=orange] at ({1.2*\sx},5.6) + {$\mathcal{J}^k(A)\supset\mathcal{J}^{k+1}(A)$}; +\node[color=darkgreen] at ({1.2*\sx},0.4) + {$\mathcal{K}^k(A)\subset\mathcal{K}^{k+1}(A)$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/images/jknilp.pdf b/buch/chapters/40-eigenwerte/images/jknilp.pdf new file mode 100644 index 0000000..9293263 Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/jknilp.pdf differ diff --git a/buch/chapters/40-eigenwerte/images/jknilp.tex b/buch/chapters/40-eigenwerte/images/jknilp.tex new file mode 100644 index 0000000..e8e8e14 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/jknilp.tex @@ -0,0 +1,181 @@ +% +% jknilp.tex -- Dimensionen von K^l und J^l für nilpotente Matrizen +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.15} +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\def\vektor#1{ + \fill[color=darkgreen!30] \punkt{#1}{0} rectangle \punkt{(#1+1)}{12}; +} +\def\feld#1#2{ + \fill[color=orange!60] ({#1*\s},{(12-#2)*\s}) rectangle + ({(#1+1)*\s},{(11-#2)*\s}); +} + +\def\quadrat#1{ + \draw \punkt{0}{0} rectangle \punkt{12}{12}; + + \draw \punkt{0}{11} -- \punkt{2}{11} -- \punkt{2}{9} -- \punkt{4}{9} + -- \punkt{4}{6} -- \punkt{12}{6}; + + \draw \punkt{1}{12} -- \punkt{1}{10} -- \punkt{3}{10} + -- \punkt{3}{8} -- \punkt{6}{8} -- \punkt{6}{0}; + \node at ({6*\s},0) [below] {#1\strut}; +} + +\begin{scope}[xshift=-0.9cm,yshift=-3cm] +\foreach \n in {0,...,11}{ + \feld{\n}{\n} +} +\quadrat{$A^0=I$} +\end{scope} + +\begin{scope}[xshift=1.1cm,yshift=-3cm] +\vektor{0} +\vektor{1} +\vektor{2} +\vektor{3} +\vektor{4} +\vektor{6} +\feld{5}{4} +\feld{7}{6} +\feld{8}{7} +\feld{9}{8} +\feld{10}{9} +\feld{11}{10} +\quadrat{$A$} +\end{scope} + +\begin{scope}[xshift=3.1cm,yshift=-3cm] +\vektor{0} +\vektor{1} +\vektor{2} +\vektor{3} +\vektor{4} +\vektor{5} +\vektor{6} +\vektor{7} +\feld{8}{6} +\feld{9}{7} +\feld{10}{8} +\feld{11}{9} +\quadrat{$A^2$} +\end{scope} + +\begin{scope}[xshift=5.1cm,yshift=-3cm] +\vektor{0} +\vektor{1} +\vektor{2} +\vektor{3} +\vektor{4} +\vektor{5} +\vektor{6} +\vektor{7} +\vektor{8} +\feld{9}{6} +\feld{10}{7} +\feld{11}{8} +\quadrat{$A^3$} +\end{scope} + +\begin{scope}[xshift=7.1cm,yshift=-3cm] +\vektor{0} +\vektor{1} +\vektor{2} +\vektor{3} +\vektor{4} +\vektor{5} +\vektor{6} +\vektor{7} +\vektor{8} +\vektor{9} +\feld{10}{6} +\feld{11}{7} +\quadrat{$A^4$} +\end{scope} + +\begin{scope}[xshift=9.1cm,yshift=-3cm] +\vektor{0} +\vektor{1} +\vektor{2} +\vektor{3} +\vektor{4} +\vektor{5} +\vektor{6} +\vektor{7} +\vektor{8} +\vektor{9} +\vektor{10} +\feld{11}{6} +\quadrat{$A^5$} +\end{scope} + +\begin{scope}[xshift=11.1cm,yshift=-3cm] +\vektor{0} +\vektor{1} +\vektor{2} +\vektor{3} +\vektor{4} +\vektor{5} +\vektor{6} +\vektor{7} +\vektor{8} +\vektor{9} +\vektor{10} +\vektor{11} +\quadrat{$A^6$} +\end{scope} + +\def\pfad{ + (0,0) -- (2,3) -- (4,4) -- (6,4.5) -- (8,5) -- (10,5.5) -- (12,6) +} + + +\fill[color=orange!20] \pfad -- (-1,6) -- (-1,0) -- cycle; +\fill[color=darkgreen!20] \pfad -- (13,6) -- (13,0) -- cycle; +\draw[line width=1.3pt] \pfad; + +\fill (0,0) circle[radius=0.08]; +\fill (2,3) circle[radius=0.08]; +\fill (4,4) circle[radius=0.08]; +\fill (6,4.5) circle[radius=0.08]; +\fill (8,5) circle[radius=0.08]; +\fill (10,5.5) circle[radius=0.08]; +\fill (12,6) circle[radius=0.08]; + +\foreach \y in {0.5,1,...,5.5}{ + \draw[line width=0.3pt] (-1.1,\y) -- (13.0,\y); +} +\foreach \y in {0,2,4,...,12}{ + \node at (-1.1,{\y*0.5}) [left] {$\y$}; +} +\foreach \x in {0,...,6}{ + \draw ({2*\x},0) -- ({2*\x},-1.2); + \node at ({2*\x},-0.6) [above,rotate=90] {$k=\x$}; +} + +\draw[->] (-1.1,0) -- (13.4,0) coordinate[label={$k$}]; +\draw[->] (-1.1,6) -- (13.4,6); +\draw[->] (-1.0,0) -- (-1.0,6.5); + +\node[color=darkgreen] at (8,1.95) [above] {$\dim \mathcal{K}^k(A)$}; +\node[color=orange] at (2,4.95) [above] {$\dim \mathcal{J}^k(A)$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/images/normalform.pdf b/buch/chapters/40-eigenwerte/images/normalform.pdf new file mode 100644 index 0000000..c5bdb61 Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/normalform.pdf differ diff --git a/buch/chapters/40-eigenwerte/images/normalform.tex b/buch/chapters/40-eigenwerte/images/normalform.tex new file mode 100644 index 0000000..f3cb532 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/normalform.tex @@ -0,0 +1,214 @@ +% +% normalform.tex -- Normalform einer Matrix ermitteln +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\b{0.025} + +\def\s{2.5} +\def\t{0.7} +\def\T{0.5} + +\fill[color=darkgreen!20] + ({-3*\s-0.5*\t},{8*\t}) + -- + ({-3*\s+0.5*\t},{8*\t}) + -- + ({-2*\s-0.5*\t},{7*\t}) + -- + ({-2*\s+0.5*\t},{7*\t}) + -- + ({-1*\s-0.5*\t},{4*\t}) + -- + ({-1*\s+0.5*\t},{4*\t}) + -- + ({-0.5*\t},0) + -- + ({-3*\s-0.5*\t},{0*\t}) + -- cycle; + + +\fill[color=white,rounded corners=3pt] + ({-0.5*\t-\b},{-\b}) rectangle ({0.5*\t+\b},{\b+0.15}); +\draw[rounded corners=3pt] + ({-0.5*\t-\b},{-\b}) rectangle ({0.5*\t+\b},{\b+0.15}); +\node at (0,0) [below] {$\mathcal{K}^0(A)$}; + +\fill[color=white,rounded corners=3pt] + ({-1*\s-0.5*\t-\b},{-\b}) rectangle ({-1*\s+0.5*\t+\b},{4*\t+\b}); +\draw[rounded corners=3pt] + ({-1*\s-0.5*\t-\b},{-\b}) rectangle ({-1*\s+0.5*\t+\b},{4*\t+\b}); +\fill[color=blue!20,rounded corners=2pt] + ({-1*\s-0.5*\t+\b},{1*\t+\b}) rectangle ({-1*\s+0.5*\t-\b},{3*\t-\b}); +\draw[color=blue!40,rounded corners=2pt] + ({-1*\s-0.5*\t+\b},{1*\t+\b}) rectangle ({-1*\s+0.5*\t-\b},{3*\t-\b}); +\fill[color=blue!20,rounded corners=2pt] + ({-1*\s-0.5*\t+\b},{3*\t+\b}) rectangle ({-1*\s+0.5*\t-\b},{4*\t-\b}); +\draw[color=blue!40,rounded corners=2pt] + ({-1*\s-0.5*\t+\b},{3*\t+\b}) rectangle ({-1*\s+0.5*\t-\b},{4*\t-\b}); +\fill[color=red!20,rounded corners=2pt] + ({-1*\s-0.5*\t+\b},{\b}) rectangle ({-1*\s+0.5*\t-\b},{1*\t-\b}); +\draw[color=red,rounded corners=2pt] + ({-1*\s-0.5*\t+\b},{\b}) rectangle ({-1*\s+0.5*\t-\b},{1*\t-\b}); +\fill[color=red] ({-1*\s},{0.5*\t}) circle[radius=0.1]; +\fill[color=red,opacity=0.5] ({-1*\s},{1.5*\t}) circle[radius=0.1]; +\fill[color=red,opacity=0.5] ({-1*\s},{2.5*\t}) circle[radius=0.1]; +\fill[color=red,opacity=0.5] ({-1*\s},{3.5*\t}) circle[radius=0.1]; +\node at ({-1*\s},0) [below] {$\mathcal{K}^1(A)$}; + +\fill[color=white,rounded corners=3pt] + ({-2*\s-0.5*\t-\b},{-\b}) rectangle ({-2*\s+0.5*\t+\b},{7*\t+\b}); +\draw[rounded corners=3pt] + ({-2*\s-0.5*\t-\b},{-\b}) rectangle ({-2*\s+0.5*\t+\b},{7*\t+\b}); +\fill[color=gray!20,rounded corners=2pt] + ({-2*\s-0.5*\t+\b},{+\b}) rectangle ({-2*\s+0.5*\t-\b},{4*\t-\b}); +\draw[color=gray,rounded corners=2pt] + ({-2*\s-0.5*\t+\b},{+\b}) rectangle ({-2*\s+0.5*\t-\b},{4*\t-\b}); +\node[color=black!70] at ({-2*\s},{2*\t}) [rotate=90] {$\mathcal{K}^1(A)$}; +\fill[color=red!20,rounded corners=2pt] + ({-2*\s-0.5*\t+\b},{4*\t+\b}) rectangle ({-2*\s+0.5*\t-\b},{6*\t-\b}); +\draw[color=red,rounded corners=2pt] + ({-2*\s-0.5*\t+\b},{4*\t+\b}) rectangle ({-2*\s+0.5*\t-\b},{6*\t-\b}); +\fill[color=blue!20,rounded corners=2pt] + ({-2*\s-0.5*\t+\b},{6*\t+\b}) rectangle ({-2*\s+0.5*\t-\b},{7*\t-\b}); +\draw[color=blue!40,rounded corners=2pt] + ({-2*\s-0.5*\t+\b},{6*\t+\b}) rectangle ({-2*\s+0.5*\t-\b},{7*\t-\b}); +\fill[color=red] ({-2*\s},{4.5*\t}) circle[radius=0.1]; +\fill[color=red] ({-2*\s},{5.5*\t}) circle[radius=0.1]; +\fill[color=red,opacity=0.5] ({-2*\s},{6.5*\t}) circle[radius=0.1]; +\draw[->,color=blue,line width=1.2pt,shorten >= 0.15cm,shorten <= 0.15cm] + ({-2*\s},{6.5*\t}) -- ({-1*\s},{3.5*\t}); +\draw[->,color=blue,line width=1.2pt,shorten >= 0.15cm,shorten <= 0.15cm] + ({-2*\s},{5.5*\t}) -- ({-1*\s},{2.5*\t}); +\draw[->,color=blue,line width=1.2pt,shorten >= 0.15cm,shorten <= 0.15cm] + ({-2*\s},{4.5*\t}) -- ({-1*\s},{1.5*\t}); +\node at ({-2*\s},0) [below] {$\mathcal{K}^2(A)$}; + +\fill[color=white,rounded corners=3pt] + ({-3*\s-0.5*\t-\b},{-\b}) rectangle ({-3*\s+0.5*\t+\b},{8*\t+\b}); +\draw[rounded corners=3pt] + ({-3*\s-0.5*\t-\b},{-\b}) rectangle ({-3*\s+0.5*\t+\b},{8*\t+\b}); +\fill[color=gray!20,rounded corners=2pt] + ({-3*\s-0.5*\t+\b},{+\b}) rectangle ({-3*\s+0.5*\t-\b},{7*\t-\b}); +\draw[color=gray,rounded corners=2pt] + ({-3*\s-0.5*\t+\b},{+\b}) rectangle ({-3*\s+0.5*\t-\b},{7*\t-\b}); +\node[color=black!70] at ({-3*\s},{3.5*\t}) [rotate=90] {$\mathcal{K}^2(A)$}; +\fill[color=red!20,rounded corners=2pt] + ({-3*\s-0.5*\t+\b},{7*\t+\b}) rectangle ({-3*\s+0.5*\t-\b},{8*\t-\b}); +\draw[color=red,rounded corners=2pt] + ({-3*\s-0.5*\t+\b},{7*\t+\b}) rectangle ({-3*\s+0.5*\t-\b},{8*\t-\b}); +\fill[color=red] ({-3*\s},{7.5*\t}) circle[radius=0.1]; +\draw[->,color=blue,line width=1.2pt,shorten >= 0.15cm,shorten <= 0.15cm] + ({-3*\s},{7.5*\t}) -- ({-2*\s},{6.5*\t}); +\node at ({-3*\s},0) [below] {$\mathcal{K}^3(A)$}; + +\def\xo{1} +\def\yo{-1} + +\def\punkt#1#2{ + ({\xo+(#1)*\T},{\yo-(#2)*\T}) +} + +\fill[color=red!20] \punkt{0}{0} rectangle \punkt{1}{8}; +\fill[color=red!20] \punkt{2}{0} rectangle \punkt{3}{8}; +\fill[color=red!20] \punkt{4}{0} rectangle \punkt{5}{8}; +\fill[color=red!20] \punkt{7}{0} rectangle \punkt{8}{8}; + +\fill[color=blue!20] \punkt{2}{1} rectangle \punkt{3}{2}; +\fill[color=blue!20] \punkt{4}{3} rectangle \punkt{5}{4}; +\fill[color=blue!20] \punkt{6}{5} rectangle \punkt{7}{6}; +\fill[color=blue!20] \punkt{7}{6} rectangle \punkt{8}{7}; + +\draw \punkt{0}{0} rectangle \punkt{8}{8}; + +\draw[color=gray] \punkt{0}{1} -- \punkt{3}{1} -- \punkt{3}{5} -- \punkt{8}{5}; +\draw[color=gray] \punkt{1}{0} -- \punkt{1}{3} -- \punkt{5}{3} -- \punkt{5}{8}; + +\draw[->,color=red] + ({-3*\s+0.5*\t+\b},{7.5*\t}) + -- + ({0*\s+0.5*\t},{7.5*\t}) + to[out=0,in=90] + ({\xo+7.5*\T},{\yo}); + +\draw[->,color=blue] + ({-2*\s+0.5*\t+\b},{6.5*\t}) + -- + ({0*\s+0.5*\t},{6.5*\t}) + to[out=0,in=90] + ({\xo+6.5*\T},{\yo}); + +\draw[->,color=blue] + ({-1*\s+0.5*\t+\b},{3.5*\t}) + -- + ({0*\s+0.5*\t},{3.5*\t}) + to[out=0,in=90] + ({\xo+5.5*\T},{\yo}); + +\draw[->,color=red] + ({-2*\s+0.5*\t+\b},{5.5*\t}) + -- + ({0*\s+0.5*\t},{5.5*\t}) + to[out=0,in=90] + ({\xo+4.5*\T},{\yo}); + +\draw[->,color=red] + ({-2*\s+0.5*\t+\b},{4.5*\t}) + -- + ({0*\s+0.5*\t},{4.5*\t}) + to[out=0,in=90] + ({\xo+2.5*\T},{\yo}); + +\draw[->,color=blue] + ({-1*\s+0.5*\t+\b},{2.5*\t}) + -- + ({0*\s+0.5*\t},{2.5*\t}) + to[out=0,in=90] + ({\xo+3.5*\T},{\yo}); + +\draw[->,color=red] + ({-1*\s+0.5*\t+\b},{0.5*\t}) + -- + ({0*\s+0.5*\t},{0.5*\t}) + to[out=0,in=90] + ({\xo+0.5*\T},{\yo}); + +\draw[->,color=blue] + ({-1*\s+0.5*\t+\b},{1.5*\t}) + -- + ({0*\s+0.5*\t},{1.5*\t}) + to[out=0,in=90] + ({\xo+1.5*\T},{\yo}); + +\node at \punkt{0.5}{0.5} {$0$}; +\node at \punkt{1.5}{1.5} {$0$}; +\node at \punkt{2.5}{2.5} {$0$}; +\node at \punkt{3.5}{3.5} {$0$}; +\node at \punkt{4.5}{4.5} {$0$}; +\node at \punkt{5.5}{5.5} {$0$}; +\node at \punkt{6.5}{6.5} {$0$}; +\node at \punkt{7.5}{7.5} {$0$}; + +\node[color=blue] at \punkt{2.5}{1.5} {$1$}; +\node[color=blue] at \punkt{4.5}{3.5} {$1$}; +\node[color=blue] at \punkt{6.5}{5.5} {$1$}; +\node[color=blue] at \punkt{7.5}{6.5} {$1$}; + +\node at \punkt{-0.5}{4} [left] {$A=$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/images/wa.m b/buch/chapters/40-eigenwerte/images/wa.m new file mode 100644 index 0000000..3d6d2c3 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/wa.m @@ -0,0 +1,80 @@ +# +# wa.m -- Wurzelapproximation +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +global u; +global N; +global t; +global s; + +N = 100; +n = 10; +s = 1; + +u = zeros(N + 2, n); +t = (0:N+1)' / N; +t = t.^2; + +for i = (2:n) + u(:,i) = u(:,i-1) + 0.5 * (t-u(:,i-1).^2); +end + +u + +global f; +f = fopen("wa.tex", "w"); +fprintf(f, "%%\n"); +fprintf(f, "%% Approximation der Wurzelfunktion\n"); +fprintf(f, "%%\n"); + +function pfad(i, name) + global f; + global u; + global t; + global N; + fprintf(f, "\\def\\pfad%s{\n", name); + fprintf(f, "(%.4f,%.4f)\n", t(1,1), u(1,i)); + for j = (2:N+1) + fprintf(f, "--(%.4f,%.4f)\n", t(j,1), u(j,i)); + end + fprintf(f, "}\n"); +end + +pfad( 1, "a") +pfad( 2, "b") +pfad( 3, "c") +pfad( 4, "d") +pfad( 5, "e") +pfad( 6, "f") +pfad( 7, "g") +pfad( 8, "h") +pfad( 9, "i") +pfad(10, "j") + +function fehler(i, name) + global f; + global u; + global t; + global N; + global s; + fprintf(f, "\\def\\fehler%s{\n", name); + fprintf(f, "(%.4f,%.4f)\n", t(1,1), s*(sqrt(t(1,1))-u(1,i))); + for j = (2:N+2) + fprintf(f, "--(%.4f,%.4f)\n", t(j,1), s*(sqrt(t(j,1))-u(j,i))); + end + fprintf(f, "}\n"); +end + +fehler( 1, "a") +fehler( 2, "b") +fehler( 3, "c") +fehler( 4, "d") +fehler( 5, "e") +fehler( 6, "f") +fehler( 7, "g") +fehler( 8, "h") +fehler( 9, "i") +fehler(10, "j") + +fclose(f); diff --git a/buch/chapters/40-eigenwerte/images/wurzel.pdf b/buch/chapters/40-eigenwerte/images/wurzel.pdf new file mode 100644 index 0000000..751cf33 Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/wurzel.pdf differ diff --git a/buch/chapters/40-eigenwerte/images/wurzel.tex b/buch/chapters/40-eigenwerte/images/wurzel.tex new file mode 100644 index 0000000..ca2825a --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/wurzel.tex @@ -0,0 +1,94 @@ +% +% wurzel.tex -- Wurzel +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{10} +\definecolor{darkgreen}{rgb}{0,0.6,0} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\a{0.8} +\def\U{0} + +\fill[color=blue!20] (0,\a) rectangle (1.00,1.03); +\draw[line width=0.4pt] (0,1) -- (1,1) -- (1,0); + +\draw[->] (0,{-0.01}) -- (0,{1.06}) coordinate[label={right:$y$}]; + +\begin{scope} +\clip (0,0) rectangle (1,1); +\draw[color=blue,line width=1.4pt] plot[domain=0:1.01,samples=100] + ({\x},{\x*\x}); +\end{scope} + +%\draw[color=purple,line width=0.5pt] (0.48,-0.01) -- (1,1); +%\fill[color=purple] (1,1) circle[radius=0.008]; + +\node[color=blue] at (0,{\a}) [left] {$a$}; + +\def\schritt#1#2{ + \xdef\u{\U} + \pgfmathparse{0.5*(\a-\u*\u)} + \xdef\d{\pgfmathresult} + \pgfmathparse{\u+\d} + \xdef\U{\pgfmathresult} + + \fill[color=purple!10] (\u,{\u*\u}) -- (\U,\a) -- (\u,\a) -- cycle; + + \node[color=darkgreen] at (\u,0) [below] {$u_#1$}; + \draw[color=darkgreen,line width=0.1pt] (\u,0)--(\u,\a); + + \fill[color=darkgreen] (\u,{\u*\u}) circle[radius=0.006]; + + \draw[<->,color=darkgreen] (\u,{\u*\u}) -- (\u,\a); + + \draw[color=purple,shorten <= 0.6mm] + (\u,{\u*\u}) -- (\U,\a); +} +\def\marke#1#2{ + \node[color=orange] at ({0.5*(\u+\U)},\a) [#2] {$\frac12(a-u_#1^2)$}; + \draw[<->,color=orange,shorten >= 0mm,shorten <= 0mm] + (\u,\a) -- (\U,\a); +} + +\def\hoehe#1{ + \node[color=darkgreen] at ({\u+0.01},{\a-\d-0.01}) + [above,rotate=90] {$a-u_#1^2$}; +} + +\schritt{0}{1} +\hoehe{0} +\marke{0}{above} + +\schritt{1}{2} +\hoehe{1} +\marke{1}{above} +\node[color=darkgreen] at (\u,{\u*\u-0.02}) [above left] {$u_1^2$}; + +\schritt{2}{3} +\hoehe{2} +%\marke{2}{right,rotate=90} +\marke{2}{above} +\node[color=darkgreen] at (\u,{\u*\u-0.02}) [above left] {$u_2^2$}; + +\schritt{3}{4} + +\draw[color=blue] ({sqrt(\a)},-0.01) -- ({sqrt(\a)},\a); +\node[color=blue] at ({sqrt(\a)-0.02},0) [below right] {$\sqrt{a}$}; + +\draw[->] (-0.01,0) -- (1.05,0) coordinate[label={$u$}]; +\node at (1,0) [below] {$1$}; +\node at (0,1) [left] {$1$}; +\draw (1,-0.01) -- (1,0.01); + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/images/wurzelapprox.pdf b/buch/chapters/40-eigenwerte/images/wurzelapprox.pdf new file mode 100644 index 0000000..aeb5e5d Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/wurzelapprox.pdf differ diff --git a/buch/chapters/40-eigenwerte/images/wurzelapprox.tex b/buch/chapters/40-eigenwerte/images/wurzelapprox.tex new file mode 100644 index 0000000..676c7e9 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/wurzelapprox.tex @@ -0,0 +1,107 @@ +% +% wurzelapprox.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{5.7} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\input{wa.tex} + +\begin{scope}[xshift=-0.63cm] + +\draw[->] (-0.01,0) -- (1.05,0) coordinate[label={$t$}]; + +\begin{scope} + \clip (0,0) rectangle (1,1.01); + \draw[color=blue,line width=1.6pt] \pfada; + \draw[color=blue,line width=1.2pt] \pfadb; + \draw[color=blue,line width=1.2pt] \pfadc; + \draw[color=blue,line width=1.2pt] \pfadd; + \draw[color=blue,line width=1.2pt] \pfade; + \draw[color=blue,line width=1.2pt] \pfadf; + \draw[color=blue,line width=1.2pt] \pfadg; + \draw[color=blue,line width=1.2pt] \pfadh; + \draw[color=blue,line width=1.2pt] \pfadi; + \draw[color=blue,line width=1.2pt] \pfadj; + + \draw[color=red,line width=1.6pt] + plot[domain=0:1.01,samples=100] ({\x*\x},{\x}); +\end{scope} + +\node[color=red] at (0.5,0.707) [above,rotate={atan(0.5)}] {$\sqrt{t}$}; + +\draw[->] (0,-0.01) -- (0,1.05) coordinate[label={right:$u_n(t)$}]; + +\foreach \x in {2,4,...,8}{ + \draw ({0.1*\x},-0.01) -- ({0.1*\x},0.01); + \node at ({0.1*\x},-0.01) [below] {0.\x\strut}; + \draw (-0.01,{0.1*\x}) -- (0.01,{0.1*\x}); + \node at (-0.01,{0.1*\x}) [left] {0.\x\strut}; +} +\draw (1,-0.01) -- (1,0.01); +\node at (1,-0.01) [below] {1.0\strut}; +\node at (0,-0.01) [below] {0\strut}; + +\draw (-0.01,1) -- (0.01,1); +\node at (-0.01,1) [left] {1.0\strut}; + +\node[color=blue] at (1.01,0) [above left] {$u_0(t)$}; +\node[color=blue] at (1,0.51) [below left,rotate={atan(0.5)}] {$u_1(t)$}; +\node[color=blue] at (1,{0.86+0.03}) [below left,rotate={atan(0.86)}] {$u_2(t)$}; +\node[color=blue] at (1,1.00) [below left,rotate={atan(0.5)}] {$u_3(t)$}; + +\end{scope} + +\begin{scope}[xshift=0.63cm] + +\begin{scope} + \clip (0,0) rectangle (1,1.01); + \draw[color=darkgreen,line width=1.2pt] \fehlera; + \draw[color=darkgreen,line width=1.2pt] \fehlerb; + \draw[color=darkgreen,line width=1.2pt] \fehlerc; + \draw[color=darkgreen,line width=1.2pt] \fehlerd; + \draw[color=darkgreen,line width=1.2pt] \fehlere; + \draw[color=darkgreen,line width=1.2pt] \fehlerf; + \draw[color=darkgreen,line width=1.2pt] \fehlerg; + \draw[color=darkgreen,line width=1.2pt] \fehlerh; + \draw[color=darkgreen,line width=1.2pt] \fehleri; + \draw[color=darkgreen,line width=1.2pt] \fehlerj; +\end{scope} + +\draw[->] (0,-0.01) -- (0,1.05) coordinate[label={right:${\color{red}\sqrt{t}}-{\color{blue}u_n(t)}$}]; +\draw[->] (-0.01,0) -- (1.05,0) coordinate[label={$t$}]; + +\foreach \x in {2,4,...,9}{ + \draw ({0.1*\x},-0.01) -- ({0.1*\x},0.01); + \node at ({0.1*\x},-0.01) [below] {0.\x\strut}; + \draw (-0.01,{0.1*\x}) -- (0.01,{0.1*\x}); + \node at (-0.01,{0.1*\x}) [left] {0.\x\strut}; +} +\draw (1,-0.01) -- (1,0.01); +\node at (1,-0.01) [below] {1.0\strut}; +\node at (0,-0.01) [below] {0\strut}; + +\draw (-0.01,1) -- (0.01,1); +\node at (-0.01,1) [left] {1.0\strut}; + +\node[color=darkgreen] at (1,1) [below left,rotate={atan(0.5)}] {$n=0$}; +\node[color=darkgreen] at (1,0.5) [above left] {$n=1$}; +\node[color=darkgreen] at (1,0.13) [above left,rotate=-13] {$n=2$}; +\node[color=darkgreen] at (1,0.00) [above left,rotate=-9] {$n=3$}; + +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/spektraltheorie.tex b/buch/chapters/40-eigenwerte/spektraltheorie.tex index a3f86ba..4bf5c42 100644 --- a/buch/chapters/40-eigenwerte/spektraltheorie.tex +++ b/buch/chapters/40-eigenwerte/spektraltheorie.tex @@ -276,6 +276,25 @@ ergibt, dass jede beliebige Funktion sich als Polynome in $x$ approximieren lässt. Dies ist der Inhalt des folgenden Satzes von Stone-Weierstrass. +\begin{figure} +\centering +\includegraphics{chapters/40-eigenwerte/images/wurzel.pdf} +\caption{Konstruktion einer monoton wachsenden Approximationsfolge für +$\sqrt{a}$ +\label{buch:eigenwerte:fig:wurzelverfahren}} +\end{figure} + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/wurzelapprox.pdf} +\caption{Monoton wachsende Approximation der Funktion $t\mapsto\sqrt{t}$ mit +Polynomen $u_n(t)$ nach +\eqref{buch:eigenwerte:eqn:wurzelapproximation} +(links) und der Fehler der Approximation +(rechts). +\label{buch:eigenwerte:fig:wurzelapproximation}} +\end{figure} + \begin{satz}[Stone-Weierstrass] \label{buch:satz:stone-weierstrass} Enthält eine $\mathbb{R}$-Algebra $A$ von stetigen, rellen Funktionen @@ -286,12 +305,137 @@ reelle Funktion auf $K$ gleichmässig approximierbar durch Funktionen in $A$. \end{satz} +Für den Beweis des Satzes wird ein Hilfsresultat benötigt, welches wir +zunächst ableiten. +Es besagt, dass sich die Wurzelfunktion $t\mapsto\sqrt{t}$ +auf dem Interval $[0,1]$ gleichmässig +von unten durch Polynome approximieren lässt, die in +Abbildung~\ref{buch:eigenwerte:fig:wurzelapproximation} dargestellt +sind. + +\begin{satz} +Die rekursiv definierte Folge von Polynomen +\begin{equation} +u_{n+1}(t) += +u_n(t) + \frac12(t-u_n(t)^2), +\qquad +u_0(t)=0 +\label{buch:eigenwerte:eqn:wurzelapproximation} +\end{equation} +ist monoton wachsend und approximiert die Wurzelfunktion $t\mapsto\sqrt{t}$ +gleichmässig auf dem Intervall $[0,1]$. +\end{satz} + \begin{proof}[Beweis] -XXX TODO +Wer konstruieren zunächst das in +Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} +visualierte Verfahren, mit dem für jede Zahl $a\in[0,1]$ +die Wurzel $\sqrt{a}$ berechnet werden kann. +Sei $u < \sqrt{a}$ eine Approximation der Wurzel. +Die Approximation ist der exakte Wert der Lösung, wenn $a-u^2=0$. +In jedem anderen Fall muss $u$ um einen Betrag $d$ vergrössert werden. +Natürlich muss immer noch $u+d<\sqrt{a}$ sein. +Man kann die maximal zulässige Korrektur $d$ geometrisch abschätzen, +wie dies in Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} +skizziert ist. +Die maximale Steigung des Graphen der Funktion $u\mapsto u^2$ ist $2$, +daher darf man $u$ maximal um die Hälfte der Differenz $a-u^2$ (grün) +vergrössern, also $d=\frac12(a-u^2)$. +Die Rekursionsformel +\[ +u_{n+1} = u_n + d = u_n + \frac12(a-u_n^2) +\] +mit dem Startwert $u_0=0$ liefert daher eine +Folge, die gegen $\sqrt{a}$ konvergiert. \end{proof} -Der entscheidende Schritt des Beweises ist, dass man die Betragsfunktion -konstruieren kann. +\begin{proof}[Beweis des Satzes von Stone-Weierstrass] +Da $A$ eine Algebra ist, ist mit jeder Funktion $f\in A$ für jedes Polynome +$p\in\mathbb{R}[X]$ auch $p(f)$ eine Funktion in $A$. +\begin{enumerate} +\item Schritt: Für jede Funktion $f\in A$ lässt sich auch $|f|$ durch +Funktionen in $A$ beliebig genau durch eine monoton wachsende Folge +von Funktionen approximieren. + +Da $A$ eine Algebra ist, ist $f^2\in A$. +Sei ausserdem $m^2=\sup \{f(x)^2\;|\;x\in K\}$, so dass $f^2/m^2$ eine Funktion +mit Werten im Intervall $[0,1]$ ist. +Die Funktionen $f_n(x)=mu_n(f(x)^2/m^2)$ sind ebenfalls in $A$ und +approximieren gleichmässig $\sqrt{f(x)^2}=|f(x)|$. +\item Schritt: Für zwei Funktionen $f,g\in A$ gibt es eine monoton wachsende +Folge, die $\max(f,g)$ gleichmässig beliebig genau approximiert +und eine monoton fallende Folge, die $\min(f,g)$ gleichmässig beliebig +genau approximiert. + +Diese Folgen können aus der Approximationsfolge für den Betrag einer +Funktion und den Identitäten +\begin{align*} +\max(f,g) &= \frac12(f+g+|f-g|) \\ +\min(f,g) &= \frac12(f+g-|f-g|) +\end{align*} +gefunden werden. +\item Schritt: Zu zwei beliebigen Punkten $x,y\in K$ und Werten +$\alpha,\beta\in\mathbb{R}$ gibt es immer eine Funktion in $A$, +die in den Punkten $x,y$ die vorgegebenen Werte $\alpha$ bzw.~$\beta$ +annimmt. +Da $A$ die Punkte trennt, gibt es eine Funktion $f_0$ mit $f_0(x)\ne f_0(y)$. +Dann ist die Funktion +\[ +f(t) += +\beta + \frac{f_0(t)-f_0(y)}{f_0(x)-f_0(y)}(\alpha-\beta) +\] +wohldefiniert und nimmt die verlangten Werte an. +\item Schritt: Zu jeder stetigen Funktion $f\colon K\to\mathbb{R}$, jedem +Punkt $x\in K$ und jedem $\varepsilon>0$ gibt es eine Funktion $g\in A$ derart, +dass $g(x)=f(x)$ und $g(y) \le f(y)+\varepsilon$ für alle $y\in K$. + +Zu jedem $z\in K$ gibt es eine Funktion in $A$ mit +$h_z(x)=f(x)$ und $h_z(z) \le f(z)+\frac12\varepsilon$. +Wegen der Stetigkeit von $h_z$ gibt es eine Umgebung $V_z$ von $z$, in der +immer noch gilt $h_z(y)\le f(y)+\varepsilon$ für $y\in V_z$. +Wegen der Kompaktheit von $K$ kann man endlich viele Punkte $z_i$ wählen +derart, dass die $V_{z_i}$ immer noch $K$ überdecken. +Dann erfüllt die Funktion +\( +g(z) = \inf h_{z_i} +\) +die Bedingungen $g(x) = f(x)$ und für $z\in V_{z_i}$ +\[ +g(z) = \inf_{j} h_{z_j}(z) \le h_{z_i}(z) \le f(z)+\varepsilon. +\] +Ausserdem ist $g(z)$ nach dem zweiten Schritt beliebig genau durch +Funktionen in $A$ approximierbar. +\item Schritt: Jede stetige Funktion $f\colon K\to\mathbb{R}$ kann +beliebig genau durch Funktionen in $A$ approximiert werden. +Sei $\varepsilon > 0$. + +Nach dem vierten Schritt gibt es für jedes $y\in K$ eine Funktion $g_y$ +derart, dass $g_y(y)=f(y)$ und $g_y(x) \le f(x) + \varepsilon$ für +$x\in K$. +Da $g_y$ stetig ist, gilt ausserdem $g_y(x) \ge f(x) -\varepsilon$ in +einer Umgebung $U_y$ von $y$. +Da $K$ kompakt ist, kann man endlich viele $y_i$ derart, dass die $U_{y_i}$ +immer noch ganz $K$ überdecken. +Die Funktion $g=\sup g_{y_i}$ erfüllt dann überall $g(x) \le f(x)+\varepsilon$, +weil jede der Funktionen $g_y$ diese Ungleichung erfüllt. +Ausserdem gilt für $x\in V_{x_j}$ +\[ +g(x) = \sup_i g_{x_i}(x) \ge g_{x_j}(x) \ge f(x)-\varepsilon. +\] +Somit ist +\[ +|f(x)-g(x)| \le \varepsilon. +\] +Damit ist $f(x)$ beliebig nahe an der Funktion $g(x)$, die sich +beliebig genau durch Funktionen aus $A$ approximieren lässt. +\qedhere +\end{enumerate} +\end{proof} + +Im ersten Schritt des Beweises ist ganz entscheidend, dass man die +Betragsfunktion konstruieren kann. Daraus leiten sich dann alle folgenden Konstruktionen ab. \subsubsection{Anwendung auf symmetrische und hermitesche Matrizen} @@ -347,13 +491,66 @@ Folge $p_n(A)$ für Polynomfolgen, die $\operatorname{Sp}(A)$ gleichmässig gegen $f$ konvergieren. \end{satz} -\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen} +\subsubsection{Unmöglichkeit der Approximation von $z\mapsto \overline{z}$ +in $\mathbb{C}[z]$} Der Satz~\ref{buch:satz:stone-weierstrass} von Stone-Weierstrass für reelle Funktionen gilt nicht für komplexe Funktionen. -Der Grund ist, dass im Beweis benötigt wird, dass man den Betrag -einer Funktion approximieren können muss. -Dies geschah, indem zunächst eine Polynom-Approximation für die -Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer +In diesem Abschnitt zeigen wir, dass sich die Funktion $z\mapsto\overline{z}$ +auf der Einheitskreisscheibe $K=\{z\in\mathbb{C}\;|\; |z|\le 1\}$ nicht +gleichmässig durch Polynome $p(z)$ mit komplexen Koeffizienten approximieren +lässt. + +Wäre eine solche Approximation möglich, dann könnte man $\overline{z}$ +auch durch eine Potenzreihe +\[ +\overline{z} += +\sum_{k=0}^\infty a_kz^k +\] +darstellen. +Das Wegintegral beider Seiten über den Pfad $\gamma(t) = e^{it}$ +in der komplexen Ebene ist +\begin{align*} +\oint_\gamma z^k\,dz +&= +\int_0^{2\pi} e^{ikt} ie^{it}\,dt += +i\int_0^{2\pi} e^{it(k+1)}\,dt += +i\biggl[ \frac{1}{i(k+1)} e^{it(k+1)}\biggr]_0^{2\pi} += +0 +\\ +\oint_\gamma +\sum_{k=0}^\infty a_kz^k +\,dz +&= +\sum_{k=0}^\infty a_k \oint_\gamma z^k\,dz += +\sum_{k=0}^\infty a_k\cdot 0 += +0 +\\ +\oint_\gamma \overline{z}\,dz +&= +\int_0^{2\pi} e^{it} ie^{it}\,dt += +i\int_0^{2\pi} \,dt = 2\pi i, +\end{align*} +dabei wurde $\overline{\gamma}(t)=e^{-it}$ verwendet. +Insbesondere widersprechen sich die beiden Integrale. +Die ursprüngliche Annahmen, $\overline{z}$ lasse sich durch Polynome +gleichmässig approximieren, muss daher verworfen werden. + +\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen} +Der Satz von Stone-Weierstrass kann nach dem vorangegangene Abschnitt +also nicht gelten. +Um den Beweis des Satzes~\ref{buch:satz:stone-weierstrass} +auf komplexe Zahlen zu übertragen, muss im ersten Schritt ein Weg +gefunden werden, den Betrag einer Funktion zu approximieren. + +Im reellen Fall geschah dies, indem zunächst eine Polynom-Approximation +für die Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer Funktion angewendet wurde. Der Betrag einer komplexen Zahl $z$ ist aber nicht allein aus $z$ berechenbar, man braucht in irgend einer Form Zugang zu Real- diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4001.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4001.tex index 2fab61a..dd82067 100644 --- a/buch/chapters/40-eigenwerte/uebungsaufgaben/4001.tex +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4001.tex @@ -2,7 +2,7 @@ Verwenden Sie die Matrixdarstellung komplexer Zahlen, um $i^i$ zu berechnen. \begin{hinweis} -Verwenden Sie die eulersche Formel um $\log J$ zu bestimmen. +Verwenden Sie die Eulersche Formel um $\log J$ zu bestimmen. \end{hinweis} \begin{loesung} @@ -14,11 +14,11 @@ Zunächst erinnern wir an die Eulersche Formel = \sum_{k=0}^\infty \frac{t^k J^k}{k!} = -\sum_{i=0}^\infty \frac{t^{2i}(-1)^i}{(2i)!}\cdot E +\sum_{i=0}^\infty \frac{t^{2i}(-1)^i}{(2i)!}\cdot I + \sum_{i=0}^\infty \frac{t^{2i+1}(-1)^i}{(2i+1)!}\cdot J = -\cos t\cdot E +\cos t\cdot I + \sin t\cdot J. \] @@ -49,7 +49,7 @@ J = \begin{pmatrix} Als nächstes müssen wir $J\log J$ berechnen. Aus \eqref{4001:logvalue} folgt \[ -J\log J = J\cdot \frac{\pi}2J = - \frac{\pi}2 \cdot E. +J\log J = J\cdot \frac{\pi}2J = - \frac{\pi}2 \cdot I. \] Darauf ist die Exponentialreihe auszuwerten, also \[ @@ -57,7 +57,7 @@ J^J = \exp (J\log J) = -\exp(-\frac{\pi}2 E) +\exp(-\frac{\pi}2 I) = \exp \begin{pmatrix} @@ -70,7 +70,7 @@ e^{-\frac{\pi}2}&0\\ 0&e^{-\frac{\pi}2} \end{pmatrix} = -e^{-\frac{\pi}2} E. +e^{-\frac{\pi}2} I. \] Als komplexe Zahlen ausgedrückt folgt also $i^i = e^{-\frac{\pi}2}$. \end{loesung} diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4003.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4003.tex index 3cd9959..b749356 100644 --- a/buch/chapters/40-eigenwerte/uebungsaufgaben/4003.tex +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4003.tex @@ -78,11 +78,11 @@ Ab_1 = 3b_1 \] ab. -Diesen Vektor können wir auch finden, indem wir $\mathcal{J}(A-eE)$ +Diesen Vektor können wir auch finden, indem wir $\mathcal{J}(A-2I)$ bestimmen. -Die vierte Potenz von $A-2E$ ist +Die vierte Potenz von $A-2I$ ist \begin{equation} -(A-2E)^4 +(A-2I)^4 = \begin{pmatrix} 0& 0& 0& 0\\ @@ -108,13 +108,13 @@ b_4 = \begin{pmatrix}0\\0\\1\\2\end{pmatrix} \] -für den Kern $\mathcal{K}(A-2E)$ ablesen. -Da $\lambda=2$ der einzige andere Eigenwert ist, muss $\mathcal{K}(A-2E) -= \mathcal{J}(A-3E)$ sein. -Dies lässt sich überprüfen, indem wir die vierte Potenz von $A-2E$ +für den Kern $\mathcal{K}(A-2I)$ ablesen. +Da $\lambda=2$ der einzige andere Eigenwert ist, muss $\mathcal{K}(A-2I) += \mathcal{J}(A-3I)$ sein. +Dies lässt sich überprüfen, indem wir die vierte Potenz von $A-2I$ berechnen, sie ist \[ -(A-2E)^4 +(A-2I)^4 = \begin{pmatrix} 79& -26& 152& -152\\ @@ -124,7 +124,7 @@ berechnen, sie ist \end{pmatrix}. \] Die Spaltenvektoren lassen sich alle durch die Vektoren $b_2$, $b_3$ -und $b_4$ ausdrücken, also ist $\mathcal{J}(A-2E)=\langle b_2,b_3,b_4\rangle$. +und $b_4$ ausdrücken, also ist $\mathcal{J}(A-2I)=\langle b_2,b_3,b_4\rangle$. Indem die Vektoren $b_i$ als Spalten in eine Matrix $T$ schreibt, kann man jetzt berechnen, wie die Matrix der linearen Abbildung in dieser neuen @@ -154,16 +154,16 @@ A_1 \end{pmatrix} \] in der rechten unteren Ecke hat den dreifachen Eigenwert $2$, -und die Potenzen von $A_1-2E$ sind +und die Potenzen von $A_1-2I$ sind \[ -A_1-2E +A_1-2I \begin{pmatrix} -15 & 5& 29\\ -27 & 9& 51\\ -3 & 1& 6 \end{pmatrix} ,\qquad -(A_1-2E)^2 +(A_1-2I)^2 = \begin{pmatrix} 3 & -1 & -6\\ @@ -171,10 +171,10 @@ A_1-2E 0 & 0 & 0\\ \end{pmatrix} ,\qquad -(A_1-2E)^3=0. +(A_1-2I)^3=0. \] Für die Jordan-Normalform brauchen wir einen von $0$ verschiedenen -Vektor im Kern von $(A_1-2E)^2$, zum Beispiel den Vektor mit den +Vektor im Kern von $(A_1-2I)^2$, zum Beispiel den Vektor mit den Komponenten $1,3,1$. Man beachte aber, dass diese Komponenten jetzt in der neuen Basis $b_2,\dots,b_4$ zu verstehen sind, d.~h.~der Vektor, den wir suchen, ist @@ -185,7 +185,7 @@ b_1+ 3b_2+b_3 = \begin{pmatrix}1\\3\\1\\2\end{pmatrix}. \] -Jetzt berechnen wir die Bilder von $c_3$ unter $A-2E$: +Jetzt berechnen wir die Bilder von $c_3$ unter $A-2I$: \[ c_2 = diff --git a/buch/chapters/60-gruppen/lie-algebren.tex b/buch/chapters/60-gruppen/lie-algebren.tex index 6c6b74b..366d280 100644 --- a/buch/chapters/60-gruppen/lie-algebren.tex +++ b/buch/chapters/60-gruppen/lie-algebren.tex @@ -118,7 +118,7 @@ D_\alpha &= \sum_{k=0}^\infty \frac{(J\alpha)^k}{k!} = -\biggl( +I\biggl( 1-\frac{\alpha^2}{2!} + \frac{\alpha^4}{4!} -\frac{\alpha^6}{6!}+\dots \biggr) + diff --git a/buch/test2.tex b/buch/test2.tex new file mode 100644 index 0000000..ea842ce --- /dev/null +++ b/buch/test2.tex @@ -0,0 +1,91 @@ +% +% test2.tex -- Test 2 +% +% (c) 2012 Prof. Dr. Andreas Mueller, HSR +% +%\documentclass[a4paper,12pt]{book} +\documentclass[a4paper,12pt]{article} +\usepackage{geometry} +\geometry{papersize={210mm,297mm},total={165mm,260mm}} +\usepackage{ngerman} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{times} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{amsfonts} +\usepackage{amsthm} +\usepackage{graphicx} +\usepackage{fancyhdr} +\usepackage{textcomp} +\usepackage[all]{xy} +\usepackage{txfonts} +\usepackage{alltt} +\usepackage{verbatim} +\usepackage{paralist} +\usepackage{makeidx} +\usepackage{array} +\usepackage{hyperref} +\usepackage{caption} +\usepackage{subcaption} +\usepackage{standalone} +\usepackage{environ} +\usepackage{tikz} +\input{../common/linsys.tex} +\newcounter{beispiel} +\newenvironment{beispiele}{ +\bgroup\smallskip\parindent0pt\bf Beispiele\egroup + +\begin{list}{\arabic{beispiel}.} + {\usecounter{beispiel} + \setlength{\labelsep}{5mm} + \setlength{\rightmargin}{0pt} +}}{\end{list}} +\newcounter{uebungsaufgabe} +% environment fuer uebungsaufgaben +\newenvironment{uebungsaufgaben}{ +\begin{list}{\arabic{uebungsaufgabe}.} + {\usecounter{uebungsaufgabe} + \setlength{\labelwidth}{2cm} + \setlength{\leftmargin}{0pt} + \setlength{\labelsep}{5mm} + \setlength{\rightmargin}{0pt} + \setlength{\itemindent}{0pt} +}}{\end{list}\vfill\pagebreak} +\newenvironment{teilaufgaben}{ +\begin{enumerate} +\renewcommand{\labelenumi}{\alph{enumi})} +}{\end{enumerate}} +% Loesung +\NewEnviron{loesung}{% +\begin{proof}[L"osung]% +\renewcommand{\qedsymbol}{$\bigcirc$} +\BODY +\end{proof}} +\NewEnviron{bewertung}{\relax} +\NewEnviron{diskussion}{ +\BODY +} +\RenewEnviron{loesung}{\relax} +\RenewEnviron{diskussion}{\relax} +\newenvironment{hinweis}{% +\renewcommand{\qedsymbol}{} +\begin{proof}[Hinweis]}{\end{proof}} + +\begin{document} +{\parindent0pt\hbox to\hsize{% +Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} +\vspace{0.5cm} + +\section*{Kurztest 2} + +\begin{uebungsaufgaben} + +\item +\input chapters/40-eigenwerte/uebungsaufgaben/4004.tex +\item +\input chapters/40-eigenwerte/uebungsaufgaben/4005.tex + +\end{uebungsaufgaben} + +\end{document} -- cgit v1.2.1 From d6cada0da41ae105c293804d5b314d88c72bbcee Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Thu, 1 Apr 2021 13:39:23 +0200 Subject: Typo. --- buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex index 28f4d2c..8435bf3 100644 --- a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex +++ b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex @@ -1,4 +1,4 @@ -Das Polynom $m(X)=X^2+X+1$ ist als Polynom in $\mathbb{F}_3[X]$ irreduzibel. +Das Polynom $m(X)=X^2+2X+2$ ist als Polynom in $\mathbb{F}_3[X]$ irreduzibel. Dies bedeutet, dass der Ring der Polynome $\mathbb{F}_3[X] / (m(X))$ ein Körper ist, man bezeichnet ihn auch mit $\mathbb{F}_3(\alpha)$, wobei man sich $\alpha$ als eine Nullstelle von $m(X)$ -- cgit v1.2.1 From e3672b14f72766592748d50c0162f7544c5df907 Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Thu, 1 Apr 2021 15:20:39 +0200 Subject: =?UTF-8?q?Musterl=C3=B6sung=20korrigiert.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../30-endlichekoerper/uebungsaufgaben/3005.tex | 121 ++++++++++++++------- 1 file changed, 81 insertions(+), 40 deletions(-) (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex index 8435bf3..65c18a2 100644 --- a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex +++ b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex @@ -1,10 +1,12 @@ +% !TeX spellcheck = de_CH Das Polynom $m(X)=X^2+2X+2$ ist als Polynom in $\mathbb{F}_3[X]$ irreduzibel. Dies bedeutet, dass der Ring der Polynome $\mathbb{F}_3[X] / (m(X))$ -ein Körper ist, man bezeichnet ihn auch mit $\mathbb{F}_3(\alpha)$, -wobei man sich $\alpha$ als eine Nullstelle von $m(X)$ +ein Körper ist. +Man bezeichnet ihn auch mit $\mathbb{F}_3(\alpha)$, +wobei man sich $\alpha$ als Nullstelle von $m(X)$ oder als die Matrix \[ -\alpha = \begin{pmatrix} 0&2\\1&2\end{pmatrix} +\alpha = \begin{pmatrix} 0&1\\1&1\end{pmatrix} \] vorstellen kann. \begin{teilaufgaben} @@ -70,17 +72,30 @@ Die Additions- und Multiplikationstabelle von $\mathbb{F}_3$ ist \end{tikzpicture} \end{center} \item -Wegen $m(\alpha)=\alpha^2+\alpha+1=0$ folgt $\alpha+1+\alpha^{-1}=0$ -oder $\alpha^{-1} = -\alpha - 1 = 2+2\alpha$. +Aus $m(\alpha)=\alpha^2+2\alpha+2=0$ folgt +\begin{align*} + \alpha + 2 + 2\alpha^{-1} + &= + 0 + \\ + 2\alpha^{-1} + &= + 2\alpha + 1 + \\ + \alpha^{-1} + &= + \alpha + 2 + . +\end{align*} Als Matrix kann man \[ \alpha^{-1} = -2\alpha + 2 +\alpha + 2 = \begin{pmatrix} -0&4\\ -2&4 +0&1\\ +1&1 \end{pmatrix} + \begin{pmatrix} @@ -88,10 +103,10 @@ Als Matrix kann man \end{pmatrix} = \begin{pmatrix} -2&4\\2&2 +2&1\\1&3 \end{pmatrix} \equiv -\begin{pmatrix}2&1\\2&0\end{pmatrix} +\begin{pmatrix}2&1\\1&0\end{pmatrix} \mod 3 \] schreiben und durch Nachrechnen verifizieren dass, tatsächlich gilt @@ -99,17 +114,17 @@ schreiben und durch Nachrechnen verifizieren dass, tatsächlich gilt \alpha\alpha^{-1} = \begin{pmatrix} -0&2\\ -1&2 +0&1\\ +1&1 \end{pmatrix} \begin{pmatrix} 2&1\\ -2&0 +1&0 \end{pmatrix} = \begin{pmatrix} -4&0\\ -6&1 +1&0\\ +3&1 \end{pmatrix} \equiv \begin{pmatrix} @@ -125,9 +140,11 @@ Im ersten Schritt ist es \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcrcr} - \llap{$($}X^2&+&X&+&1\rlap{$)$}&\;:&(X&+&1)&=&X = q_1\\ -\llap{$-($}X^2&+&X\rlap{$)$}& & & & & & & & \\ \cline{1-3} - & &0&+&1 &\rlap{$\mathstrut = r_1$}\phantom{)}& & & & & \\ + \llap{$($}X^2&+&2X&+&2\rlap{$)$}&\;:&(X&+&1)&=&X + 1 = q_1\\ + \llap{$-($}X^2&+&X\rlap{$)$}& & & & & & & & \\ \cline{1-3} + & &X&+&2 & & & & & & \\ + & & \llap{$-($}X&+&1\rlap{$)$} & & & & & & \\ \cline{3-5} + & & & &1 &\rlap{$\mathstrut = r_1$}\phantom{)}& & & & &\\ \end{array} \] Die nächste Division ist $(X+1) : 1$, die als Quotient $q_2=X+1$ und den @@ -152,53 +169,77 @@ Q(q_1) 0&1\\1&2X+2 \end{pmatrix} \begin{pmatrix} -0&1\\{\color{red}1}&{\color{red}2X} +0&1\\1&2X+2 \end{pmatrix} = \begin{pmatrix} -{\color{red}1}&{\color{red}2X}\\ -2X&X^2+X+1 +1&2X+2\\ +2X+2&X^2+X+2 \end{pmatrix}. \end{align*} -Die gesuchten Polynome sind $s=1$ und $t=2X$ und man kann nachrechnen, +Die gesuchten Polynome sind $s=1$ und $t=2X+2$ und man kann nachrechnen, dass \begin{align*} s\cdot m(X) + t\cdot (X+1) &= -X^2+X+1 + 2X\cdot (X+1) -= -X^2+X+1 + 2X^2 + 2X +X^2+2X+2 + (2X+2)\cdot (X+1) \\ -&= 3X^2+3X+1\equiv 1 \mod 3. +&= +X^2+2X+2 + 2X^2 + 4X + 2 +\\ +&= 3X^2+6X+1\\ +&\equiv 1 \mod 3. \end{align*} Natürlich kann man $s$ und $t$ auch mit der erweiterten Tabelle finden: \begin{center} \begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}|>{$}c<{$}|>{$}c<{$}|>{$}c<{$}>{$}c<{$}|} \hline -k& a_k&b_k& q_k&r_k& c_k& d_k\\ +k& a_k&b_k & q_k&r_k& c_k& d_k\\ \hline - & & & & & 1& 0\\ -0&X^2+X+1&X+1& X & 1& 0& 1\\ -1& X+1& 1& X+1& 0&{\color{red} 1}&{\color{red} 2X}\\ -2& 1& 0& & 0&2X+2& 2X^2+2X\\ + & & & & & 1& 0\\ +0&X^2+2X+2&X+1& X+1& 1& 0& 1\\ +1& X+1& 1& X+1& 0& 1& 2X+2\\ +2& 1& 0& & 0&2X+2&X^2+2X+2\\ \hline \end{tabular} \end{center} -In allen Fällen ist also $(1+X)^{-1} = 2X$. +In allen Fällen ist also $(X+1)^{-1} = 2X+2$. \item -Wegen $m(\alpha)=0$ ist $\alpha^2=-\alpha-1=2\alpha+2$ und damit +Wegen $m(\alpha)=\alpha^2 + 2\alpha + 2 = 0$ ist +$\alpha^2=-2\alpha-2=\alpha+1$ und damit \begin{align*} \alpha^3 &= -\alpha\cdot \alpha^2 = \alpha (2\alpha +2) = -2\alpha^2 + 2\alpha -= -2(\underbrace{\alpha^2 + \alpha + 1}_{\displaystyle=0} + 2) -= -2\cdot 2 +\alpha\cdot \alpha^2 = \alpha (\alpha +1) = +\alpha^2 + \alpha = -1. +2\alpha+1 +. +\end{align*} +Die restlichen Potenzen von $\alpha$ sind +\begin{align*} + \alpha^4 + &= + \alpha (2\alpha+1) + = 2\alpha^2 + \alpha + = 2\alpha + 2 + \alpha = 2 + \\ + \alpha^5 + &= + 2\alpha + \\ + \alpha^6 + &= + 2\alpha^2 + = + 2\alpha + 2 + \\ + \alpha^7 + &= + 2\alpha^2 + 2\alpha + = + \alpha + 2 \qedhere \end{align*} \end{teilaufgaben} -- cgit v1.2.1 From 70e0542e3f16a4677aac37b11a891d1ac06d6eb2 Mon Sep 17 00:00:00 2001 From: Joshua Baer Date: Thu, 1 Apr 2021 17:22:14 +0200 Subject: add Author --- buch/papers/reedsolomon/main.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index c04be7f..8219b63 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -6,7 +6,7 @@ \chapter{Thema\label{chapter:reedsolomon}} \lhead{Thema} \begin{refsection} -\chapterauthor{Hans Muster} +\chapterauthor{Joshua Bär und Michael Steiner} Ein paar Hinweise für die korrekte Formatierung des Textes \begin{itemize} -- cgit v1.2.1 From e0e48e498a5e70bf35b6c7b52cb74f876349c208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 2 Apr 2021 20:12:06 +0200 Subject: add new images --- buch/chapters/40-eigenwerte/images/Makefile | 4 +- buch/chapters/40-eigenwerte/images/minmax.pdf | Bin 0 -> 53375 bytes buch/chapters/40-eigenwerte/images/minmax.tex | 134 +++++++++++++++++++++ buch/chapters/40-eigenwerte/images/sp.pdf | Bin 24022 -> 24019 bytes .../chapters/40-eigenwerte/images/wurzelapprox.pdf | Bin 33171 -> 33171 bytes buch/chapters/40-eigenwerte/spektraltheorie.tex | 25 +++- 6 files changed, 159 insertions(+), 4 deletions(-) create mode 100644 buch/chapters/40-eigenwerte/images/minmax.pdf create mode 100644 buch/chapters/40-eigenwerte/images/minmax.tex (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/images/Makefile b/buch/chapters/40-eigenwerte/images/Makefile index bec12d5..54b36d5 100644 --- a/buch/chapters/40-eigenwerte/images/Makefile +++ b/buch/chapters/40-eigenwerte/images/Makefile @@ -5,7 +5,7 @@ # all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf \ wurzelapprox.pdf wurzel.pdf dimjk.pdf jknilp.pdf \ - normalform.pdf + normalform.pdf minmax.pdf sp.pdf: sp.tex sppaths.tex pdflatex sp.tex @@ -40,3 +40,5 @@ jknilp.pdf: jknilp.tex normalform.pdf: normalform.tex pdflatex normalform.tex +minmax.pdf: minmax.tex + pdflatex minmax.tex diff --git a/buch/chapters/40-eigenwerte/images/minmax.pdf b/buch/chapters/40-eigenwerte/images/minmax.pdf new file mode 100644 index 0000000..46ed28a Binary files /dev/null and b/buch/chapters/40-eigenwerte/images/minmax.pdf differ diff --git a/buch/chapters/40-eigenwerte/images/minmax.tex b/buch/chapters/40-eigenwerte/images/minmax.tex new file mode 100644 index 0000000..f661d5b --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/minmax.tex @@ -0,0 +1,134 @@ +% +% minmax.tex -- minimum und maximum +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.5,0} + +\def\mittellinie{ + plot[domain=0:6.2832,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}) +} + +\begin{scope} + \fill[color=darkgreen!20] + plot[domain=0:6.2832,samples=360] + ({\x},{sin(180*\x/3.1415)}) + -- + plot[domain=6.2832:0,samples=360] + ({\x},{cos(180*\x/3.1415)}) + -- cycle; + \foreach \x in {0.5,1,...,6}{ + \draw[color=darkgreen] + ({\x},{sin(180*\x/3.1415)}) + -- + ({\x},{cos(180*\x/3.1415)}); + } + + \node[color=darkgreen] at (2,-0.8) [left] {$|f(x)-g(x)|$}; + \draw[color=darkgreen,line width=0.3pt] (2,-0.8) -- (2.5,-0.7); + + \draw[color=blue,line width=1.4pt] plot[domain=0:6.29,samples=360] + ({\x},{sin(180*\x/3.1415)}); + \draw[color=red,line width=1.4pt] plot[domain=0:6.29,samples=360] + ({\x},{cos(180*\x/3.1415)}); + \draw[color=purple!50,line width=1.4pt] \mittellinie; + \node[color=purple!50] at (6.2832,0.5) [right] {$\frac12(f(x)+g(x))$}; + + \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={below:$x$}]; + \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; + + + \xdef\x{2} + \node[color=blue] at (\x,{sin(180*\x/3.1415)}) [above right] {$f(x)$}; + \pgfmathparse{2.5*3.14159-\x} + \xdef\x{\pgfmathresult} + \node[color=red] at (\x,{cos(180*\x/3.1415)}) [above left] {$g(x)$}; + +\end{scope} + +\draw[->,line width=4pt,color=gray!40] ({3.1415-1},-1.3) -- ({3.1415-2.3},-3); +\draw[->,line width=4pt,color=gray!40] ({3.1415+1},-1.3) -- ({3.1415+2.3},-3); + +\node at ({3.1415-1.75},-2.15) [left] {$\frac12(f(x)+g(x))+\frac12|f(x)-g(x)|$}; +\node at ({3.1415+1.75},-2.15) [right] {$\frac12(f(x)+g(x))-\frac12|f(x)-g(x)|$}; + +\def\s{(-0.1)} + +\begin{scope}[xshift=-3.4cm,yshift=-4.6cm] + \fill[color=darkgreen!20] + \mittellinie + -- + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- cycle; + \foreach \x in {0.5,1,...,6}{ + \draw[color=darkgreen] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); + } + \draw[color=darkgreen,line width=1.4pt] + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); + + \node[color=darkgreen] at (2,-0.3) [left] {$|f(x)-g(x)|$}; + \draw[color=darkgreen,line width=0.3pt] (2,-0.3) -- (2.5,0.2); + + \draw[color=purple!50,line width=1.4pt] \mittellinie; + \pgfmathparse{0.75*3.1415+\s} + \xdef\x{\pgfmathresult} + \node[color=darkgreen] at (\x,{sin(180*\x/3.1415)}) [above right] + {$\max(f(x),g(x))$}; + \node[color=purple!50] at ({1.25*3.1415},-0.7) [below] + {$\frac12(f(x)+g(x))$}; + \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; +\end{scope} + + +\begin{scope}[xshift=+3.4cm,yshift=-4.6cm] + \fill[color=darkgreen!20] + \mittellinie + -- + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- cycle; + \foreach \x in {0.5,1,...,6}{ + \draw[color=darkgreen] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); + } + \draw[color=darkgreen,line width=1.4pt] + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); + + \node[color=darkgreen] at (3,0.3) [right] {$|f(x)-g(x)|$}; + \draw[color=darkgreen,line width=0.3pt] (3,0.3) -- (2.5,-0.4); + + \draw[color=purple!50,line width=1.4pt] \mittellinie; + \pgfmathparse{0.75*3.1415-\s} + \xdef\x{\pgfmathresult} + \node[color=darkgreen] at (\x,{cos(180*\x/3.1415)}) [below left] + {$\min(f(x),g(x))$}; + \node[color=purple!50] at ({0.25*3.1415},0.7) [above right] + {$\frac12(f(x)+g(x))$}; + \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/images/sp.pdf b/buch/chapters/40-eigenwerte/images/sp.pdf index d4de984..b93b890 100644 Binary files a/buch/chapters/40-eigenwerte/images/sp.pdf and b/buch/chapters/40-eigenwerte/images/sp.pdf differ diff --git a/buch/chapters/40-eigenwerte/images/wurzelapprox.pdf b/buch/chapters/40-eigenwerte/images/wurzelapprox.pdf index aeb5e5d..01fa714 100644 Binary files a/buch/chapters/40-eigenwerte/images/wurzelapprox.pdf and b/buch/chapters/40-eigenwerte/images/wurzelapprox.pdf differ diff --git a/buch/chapters/40-eigenwerte/spektraltheorie.tex b/buch/chapters/40-eigenwerte/spektraltheorie.tex index 4bf5c42..466b99e 100644 --- a/buch/chapters/40-eigenwerte/spektraltheorie.tex +++ b/buch/chapters/40-eigenwerte/spektraltheorie.tex @@ -327,6 +327,20 @@ ist monoton wachsend und approximiert die Wurzelfunktion $t\mapsto\sqrt{t}$ gleichmässig auf dem Intervall $[0,1]$. \end{satz} +\begin{figure} +\centering +\includegraphics{chapters/40-eigenwerte/images/minmax.pdf} +\caption{Graphische Erklärung der +Identitäten~\eqref{buch:eigenwerte:eqn:minmax} für +$\max(f(x),g(x))$ und $\min(f(x),g(x))$. +Die purpurrote Kurve stellt den Mittelwert von $f(x)$ und $g(x)$ dar, +die vertikalen grünen Linien haben die Länge der Differenz $|f(x)-g(x)|$. +Das Maximum erhält man, indem man den halben Betrag der Differenz zum +Mittelwert hinzuaddiert, das Minimum erhält man durch Subtraktion +der selben Grösse. +\label{buch:eigenwerte:fig:minmax}} +\end{figure} + \begin{proof}[Beweis] Wer konstruieren zunächst das in Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} @@ -368,13 +382,18 @@ Folge, die $\max(f,g)$ gleichmässig beliebig genau approximiert und eine monoton fallende Folge, die $\min(f,g)$ gleichmässig beliebig genau approximiert. + Diese Folgen können aus der Approximationsfolge für den Betrag einer Funktion und den Identitäten -\begin{align*} +\begin{equation} +\begin{aligned} \max(f,g) &= \frac12(f+g+|f-g|) \\ \min(f,g) &= \frac12(f+g-|f-g|) -\end{align*} -gefunden werden. +\end{aligned} +\label{buch:eigenwerte:eqn:minmax} +\end{equation} +gefunden werden, die in Abbildung~\ref{buch:eigenwerte:fig:minmax} +graphisch erklärt werden. \item Schritt: Zu zwei beliebigen Punkten $x,y\in K$ und Werten $\alpha,\beta\in\mathbb{R}$ gibt es immer eine Funktion in $A$, die in den Punkten $x,y$ die vorgegebenen Werte $\alpha$ bzw.~$\beta$ -- cgit v1.2.1 From ea9c6380f729ddd512fa59c2d0b67cc7cc8ab56c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 2 Apr 2021 21:43:03 +0200 Subject: kontinuierliche Symmetrien --- buch/chapters/60-gruppen/images/phasenraum.pdf | Bin 0 -> 24581 bytes buch/chapters/60-gruppen/images/phasenraum.tex | 45 +++++++ buch/chapters/60-gruppen/symmetrien.tex | 177 ++++++++++++++++++++++++- 3 files changed, 221 insertions(+), 1 deletion(-) create mode 100644 buch/chapters/60-gruppen/images/phasenraum.pdf create mode 100644 buch/chapters/60-gruppen/images/phasenraum.tex (limited to 'buch') diff --git a/buch/chapters/60-gruppen/images/phasenraum.pdf b/buch/chapters/60-gruppen/images/phasenraum.pdf new file mode 100644 index 0000000..2ab46e4 Binary files /dev/null and b/buch/chapters/60-gruppen/images/phasenraum.pdf differ diff --git a/buch/chapters/60-gruppen/images/phasenraum.tex b/buch/chapters/60-gruppen/images/phasenraum.tex new file mode 100644 index 0000000..136d91d --- /dev/null +++ b/buch/chapters/60-gruppen/images/phasenraum.tex @@ -0,0 +1,45 @@ +% +% phasenraum.tex -- +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\pgfmathparse{1/sqrt(2)} +\xdef\o{\pgfmathresult} + +\def\punkt#1#2{ ({#2*cos(#1)},{\o*#2*sin(#1)}) } + +\foreach \r in {1,2,...,6}{ + \draw[line width=0.5pt] + plot[domain=0:359,samples=360] + ({\r*cos(\x)},{\o*\r*sin(\x)}) -- cycle; +} +\draw[color=red,line width=1.4pt] + plot[domain=0:359,samples=360] + ({4*cos(\x)},{\o*4*sin(\x)}) -- cycle; + +\draw[->] (-6.1,0) -- (6.3,0) coordinate[label={$x$}]; +\draw[->] (0,-4.4) -- (0,4.7) coordinate[label={right:$p$}]; + +\node at \punkt{0}{4} [below right] {$x_0$}; +\node at \punkt{90}{4} [above left] {$\omega x_0$}; + +\fill[color=white] \punkt{60}{4} rectangle \punkt{58}{5.9}; + +\fill[color=red] \punkt{60}{4} circle[radius=0.08]; +\node[color=red] at \punkt{60}{4} [above right] + {$\begin{pmatrix}x(t)\\p(t)\end{pmatrix}$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/symmetrien.tex b/buch/chapters/60-gruppen/symmetrien.tex index cb07475..80f6534 100644 --- a/buch/chapters/60-gruppen/symmetrien.tex +++ b/buch/chapters/60-gruppen/symmetrien.tex @@ -93,8 +93,183 @@ ihre Normale erhalten. Die folgenden Beispiele sollen zeigen, wie solche Symmetriedefinitionen auf algebraische Bedingungen an die Matrixelemente führen. +Zu jeder Abbildung $f\colon\mathbb{R}^n\to\mathbb{R}^n$, unter der +ein geometrisches Objekt in $\mathbb{R}^n$ symmetrisch ist, können wir +sofort weitere Abbildungen angeben, die ebenfalls Symmetrien sind. +Zum Beispiel sind die iterierten Abbildungen $f\circ f$, $f\circ f\circ f$ +u.~s.~w., die wir auch $f^n$ mit $n\in\mathbb{N}$ schreiben werden, +ebenfalls Symmetrien. +Wenn die Symmetrie auch umkehrbar ist, dann gilt dies sogar für alle +$n\in\mathbb{Z}$. +Wir erhalten so eine Abbildung +$\varphi\colon \mathbb{Z}\to \operatorname{GL}_n(\mathbb{R}):n\mapsto f^n$ +mit den Eigenschaften $\varphi(0)=f^0 = I$ und +$\varphi(n+m)=f^{n+m}=f^n\circ f^m = \varphi(n)\circ\varphi(m)$. +$\varphi$ ist ein Homomorphismus der Gruppe $\mathbb{Z}$ in die Gruppe +$\operatorname{GL}_n(\mathbb{R})$. +Wir nennen dies eine {\em diskrete Symmetrie}. -\subsection{Manningfaltigkeiten +\subsection{Kontinuierliche Symmetrien +\label{buch:subsection:kontinuierliche-symmetrien}} +Von besonderem Interesse sind kontinuierliche Symmetrien. +Dies sind Abbildungen eines Systems, die von einem Parameter +abhängen. +Zum Beispiel können wir Drehungen der Ebene $\mathbb{R}^2$ um den +Winkel $\alpha$ durch Matrizen +\[ +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +beschrieben werden. +Ein Kreis um den Nullpunkt bleibt unter jeder dieser Drehungen invariant. +Im Gegensatz dazu sind alle $3n$-Ecke mit Schwerpunkt $0$ nur invariant +unter der einen Drehung $D_{\frac{2\pi}3}$ invariant. +Die kleinste Menge, die einen vorgegebenen Punkt enthält und unter +allen Drehungen $D_\alpha$ invariant ist, ist immer ein Kreis um +den Nullpunkt. + +\begin{definition} +Ein Homomorphismus $\varphi\colon\mathbb{R}\to\operatorname{GL}_n(\mathbb{R})$ +von der additiven Gruppe $\mathbb{R}$ in die allgemeine lineare Gruppe +heisst eine {\em Einparameter-Untergruppe} von +$\operatorname{GL}(\mathbb{R})$. +\end{definition} + +Die Abbildung +\[ +\varphi +\colon +\mathbb{R}\to\operatorname{GL}_n(\mathbb{R}) +: +\alpha \mapsto +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +ist also eine Einparameter-Untergruppe von $\operatorname{GL}_2(\mathbb{R})$. + +\subsubsection{Der harmonische Oszillator} +Eine Masse $m$ verbunden mit einer Feder mit der Federkonstanten $K$ +schwingt um die Ruhelage $x=0$ entsprechend der Differentialgleichung +\[ +m\frac{d^2}{dt^2} x(t) = -Kx(t). +\] +Die Kreisfrequenz der Schwingung ist +\[ +\omega = \sqrt{\frac{K}{m}}. +\] +Das System kann als zweidimensionales System im Phasenraum mit den +Koordinaten $x_1=x$ und $x_2=p=m\dot{x}$ beschrieben werden. +Die zweidimensionale Differentialgleichung ist +\begin{equation} +\left. +\begin{aligned} +\dot{x}(t) &= \frac{1}{m}p(t)\\ +\dot{p}(t) &= -Kx(t) +\end{aligned} +\quad +\right\} +\qquad\Rightarrow\qquad +\frac{d}{dt} +\begin{pmatrix}x(t)\\p(t)\end{pmatrix} += +\begin{pmatrix} +0&\frac{1}{m}\\ +-K&0 +\end{pmatrix} +\begin{pmatrix}x(t)\\p(t)\end{pmatrix}. +\label{chapter:gruppen:eqn:phasenraumdgl} +\end{equation} +Die Lösung der Differentialgleichung für die Anfangsbedingung $x(0)=1$ und +$p(0)=0$ ist +\[ +x(t) += +\cos \omega t +\qquad\Rightarrow\qquad +p(t) += +-\omega \sin\omega t, +\] +die Lösung zur Anfangsbedingung $x(0)=0$ und $p(0)=1$ ist +\[ +x(t) = \frac{1}{\omega} \sin\omega t, +\qquad +p(t) = \cos \omega t. +\] +In Matrixform kann man die allgemeine Lösung zur Anfangsbedingun $x(0)=x_0$ +und $p(0)=p_0$ +\[ +\begin{pmatrix} +x(t)\\ +p(t) +\end{pmatrix} += +\underbrace{ +\begin{pmatrix} + \cos \omega t & \frac{1}{\omega} \sin\omega t \\ +-\omega \sin\omega t & \cos\omega t +\end{pmatrix} +}_{\Phi_t} +\begin{pmatrix}x_0\\p_0\end{pmatrix} +\] +schreiben. +Die Matrizen $\Phi_t$ bilden eine Einparameter-Untergruppe von +$\operatorname{GL}_n(\mathbb{R})$, da +\begin{align*} +\Phi_s\Phi_t +&= +\begin{pmatrix} + \cos\omega s & \frac{1}{\omega} \sin\omega s \\ +-\omega \sin\omega s & \cos\omega s +\end{pmatrix} +\begin{pmatrix} + \cos\omega t & \frac{1}{\omega} \sin\omega t \\ +-\omega \sin\omega t & \cos\omega t +\end{pmatrix} +\\ +&= +\begin{pmatrix} +\cos\omega s \cos\omega t - \sin\omega s \sin\omega t +& \frac{1}{\omega} ( \cos\omega s \sin\omega t + \sin\omega s \cos \omega t) +\\ +-\omega (\sin\omega s \cos\omega t + \cos\omega s \sin\omega t ) +& \cos\omega s \cos\omega t -\sin\omega s \sin\omega t +\end{pmatrix} +\\ +&= +\begin{pmatrix} + \cos\omega(s+t) & \frac{1}{\omega}\sin\omega(s+t) \\ +-\omega \sin\omega(s+t) & \cos\omega(s+t) +\end{pmatrix} += +\Phi_{s+t} +\end{align*} +gilt. +Die Lösungen der +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +sind in Abbildung~\ref{chapter:gruppen:fig:phasenraum} +Die Matrizen $\Phi_t$ beschreiben eine kontinuierliche Symmetrie +des Differentialgleichungssystems, welches den harmonischen Oszillator +beschreibt. + +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/phasenraum.pdf} +\caption{Die Lösungen der +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +im Phasenraum sind Ellipsen mit Halbachsenverhältnis $\omega^{-1}$. +\label{chapter:gruppen:fig:phasenraum}} +\end{figure} + +\subsection{Mannigfaltigkeiten \label{buch:subsection:mannigfaltigkeit}} \subsection{Der Satz von Noether -- cgit v1.2.1 From 260bd654d33b27c69b47e07217fa2212ef835fbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sat, 3 Apr 2021 16:53:38 +0200 Subject: add new images --- buch/chapters/60-gruppen/images/Makefile | 19 ++ buch/chapters/60-gruppen/images/karten.pdf | Bin 0 -> 486440 bytes buch/chapters/60-gruppen/images/karten.tex | 111 ++++++++++ buch/chapters/60-gruppen/images/kartenkreis.pdf | Bin 0 -> 26310 bytes buch/chapters/60-gruppen/images/kartenkreis.tex | 179 ++++++++++++++++ buch/chapters/60-gruppen/images/phasenraum.pdf | Bin 24581 -> 72789 bytes buch/chapters/60-gruppen/images/phasenraum.tex | 72 +++++-- buch/chapters/60-gruppen/images/torus.png | Bin 0 -> 456476 bytes buch/chapters/60-gruppen/images/torus.pov | 189 +++++++++++++++++ buch/chapters/60-gruppen/symmetrien.tex | 264 +++++++++++++++++++++++- 10 files changed, 812 insertions(+), 22 deletions(-) create mode 100644 buch/chapters/60-gruppen/images/Makefile create mode 100644 buch/chapters/60-gruppen/images/karten.pdf create mode 100644 buch/chapters/60-gruppen/images/karten.tex create mode 100644 buch/chapters/60-gruppen/images/kartenkreis.pdf create mode 100644 buch/chapters/60-gruppen/images/kartenkreis.tex create mode 100644 buch/chapters/60-gruppen/images/torus.png create mode 100644 buch/chapters/60-gruppen/images/torus.pov (limited to 'buch') diff --git a/buch/chapters/60-gruppen/images/Makefile b/buch/chapters/60-gruppen/images/Makefile new file mode 100644 index 0000000..bc65a71 --- /dev/null +++ b/buch/chapters/60-gruppen/images/Makefile @@ -0,0 +1,19 @@ +# +# Makefile +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: phasenraum.pdf kartenkreis.pdf karten.pdf + +phasenraum.pdf: phasenraum.tex + pdflatex phasenraum.tex + +kartenkreis.pdf: kartenkreis.tex + pdflatex kartenkreis.tex + +torus.png: torus.pov + povray +A0.1 -W1920 -H1080 -Otorus.png torus.pov + +karten.pdf: karten.tex torus.png + pdflatex karten.tex + diff --git a/buch/chapters/60-gruppen/images/karten.pdf b/buch/chapters/60-gruppen/images/karten.pdf new file mode 100644 index 0000000..f0a9879 Binary files /dev/null and b/buch/chapters/60-gruppen/images/karten.pdf differ diff --git a/buch/chapters/60-gruppen/images/karten.tex b/buch/chapters/60-gruppen/images/karten.tex new file mode 100644 index 0000000..a13d7c7 --- /dev/null +++ b/buch/chapters/60-gruppen/images/karten.tex @@ -0,0 +1,111 @@ +% +% karten.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\node at (0,0) {\includegraphics[width=10cm]{torus.png}}; + +\def\s{3} + +\node at (-3.5,-0.4) {$U_\alpha$}; +\node at (2.0,-0.4) {$U_\beta$}; + +\draw[->] (-2,-2.2) -- (-3,-4.3); +\node at (-2.5,-3.25) [left] {$\varphi_\alpha$}; + +\draw[->] (1.4,-1.7) -- (3,-4.3); +\node at (2.5,-3.25) [right] {$\varphi_\beta$}; + +\begin{scope}[xshift=-4.5cm,yshift=-8cm] + \begin{scope} + \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \begin{scope}[xshift=1.8cm,yshift=0.6cm,rotate=30] + \fill[color=gray!20] + (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \foreach \x in {0,0.2,...,1}{ + \draw[color=darkgreen] + ({\x*\s},{-0.2*\s}) + -- + ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=orange] + (0,{\y*\s}) + -- + ({1*\s},{\y*\s}); + } + \end{scope} + \end{scope} + + \foreach \x in {0,0.2,...,1}{ + \draw[color=blue,line width=1.4pt] + ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=red,line width=1.4pt] + (0,{\y*\s}) -- ({1*\s},{\y*\s}); + } + + \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; + \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; + + \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; + +\end{scope} + +\begin{scope}[xshift=1.5cm,yshift=-8cm] + \begin{scope} + \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + % x = - [ (sqrt(3)/2)*0.6+(1/2)*0.2 ] = -0.6196 + % y = - [ (-1/2)*0.6 + (sqrt(3)/2)*0.2 ] = + \begin{scope}[xshift=-1.8588cm,yshift=0.3804cm,rotate=-30] + \fill[color=gray!20] + (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \foreach \x in {0,0.2,...,1}{ + \draw[color=blue] + ({\x*\s},{-0.2*\s}) + -- + ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=red] + (0,{\y*\s}) + -- + ({1*\s},{\y*\s}); + } + \end{scope} + \end{scope} + + \foreach \x in {0,0.2,...,1}{ + \draw[color=darkgreen,line width=1.4pt] + ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=orange,line width=1.4pt] (0,{\y*\s}) -- ({1*\s},{\y*\s}); + } + \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; + \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; + \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; +\end{scope} + +\draw[<-,color=white,opacity=0.8,line width=5pt] (2.5,-6.5) arc (55:100:6.5); +\draw[<-,shorten >= 0.1cm,shorten <= 0.3cm] (2.5,-6.5) arc (55:100:6.5); + +\node at (0,-5.8) {$\varphi_\beta\circ\varphi_\alpha^{-1}$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/kartenkreis.pdf b/buch/chapters/60-gruppen/images/kartenkreis.pdf new file mode 100644 index 0000000..3235779 Binary files /dev/null and b/buch/chapters/60-gruppen/images/kartenkreis.pdf differ diff --git a/buch/chapters/60-gruppen/images/kartenkreis.tex b/buch/chapters/60-gruppen/images/kartenkreis.tex new file mode 100644 index 0000000..be6d6b3 --- /dev/null +++ b/buch/chapters/60-gruppen/images/kartenkreis.tex @@ -0,0 +1,179 @@ +% +% kartenkreis.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{3} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\fill[color=red!20] (0,-1) rectangle (1.5,1); +\fill[color=blue!20] (-1.5,-1) rectangle (0,1); +\fill[color=darkgreen!40,opacity=0.5] (-1,0) rectangle (1,1.5); +\fill[color=orange!40,opacity=0.5] (-1,-1.5) rectangle (1,0); +\fill[color=white] (0,0) circle[radius=1]; + +\fill[color=gray!20] + (0,-1.5) -- (0.02,-1.6) -- (0.5,-1.8) -- (0.98,-1.6) -- (1,-1.5) + -- cycle; +\fill[color=gray!20] + (0,1.5) -- (0.02,1.6) -- (0.5,1.8) -- (0.98,1.6) -- (1,1.5) + -- cycle; +\fill[color=gray!20] + (0,-1.5) -- (-0.02,-1.6) -- (-0.5,-1.8) -- (-0.98,-1.6) -- (-1,-1.5) + -- cycle; +\fill[color=gray!20] + (0,1.5) -- (-0.02,1.6) -- (-0.5,1.8) -- (-0.98,1.6) -- (-1,1.5) + -- cycle; + +\fill[color=gray!20] + (1.5,0) -- (1.6,0.02) -- (1.8,0.5) -- (1.6,0.98) -- (1.5,1) + -- cycle; +\fill[color=gray!20] + (-1.5,0) -- (-1.6,0.02) -- (-1.8,0.5) -- (-1.6,0.98) -- (-1.5,1) + -- cycle; +\fill[color=gray!20] + (1.5,0) -- (1.6,-0.02) -- (1.8,-0.5) -- (1.6,-0.98) -- (1.5,-1) + -- cycle; +\fill[color=gray!20] + (-1.5,0) -- (-1.6,-0.02) -- (-1.8,-0.5) -- (-1.6,-0.98) -- (-1.5,-1) + -- cycle; + +\draw[->] (0.5,-1.8) arc (-180:-90:0.1) arc (-90:0:1.3) arc (0:90:0.1); +\draw[->] (1.8,0.5) arc (-90:0:0.1) arc (0:90:1.3) arc (90:180:0.1); +\draw[->] (-0.5,1.8) arc (0:90:0.1) arc (90:180:1.3) arc (180:270:0.1); +\draw[->] (-1.8,-0.5) arc (90:180:0.1) arc (180:270:1.3) arc (270:360:0.1); + +\node at (1.01,1.32) + [right] {$\varphi_3\circ \varphi_1^{-1}(y)=\sqrt{1-y^2}$}; +\node at (1.01,-1.28) + [right] {$\varphi_1\circ \varphi_4^{-1}(x)=-\sqrt{1-x^2}$}; +\node at (-1.24,1.32) + [left] {$\varphi_2\circ\varphi_4^{-1}(x)=\sqrt{1-x^2}$}; +\node at (-1.18,-1.28) + [left] {$\varphi_4\circ\varphi_2^{-1}(y)=-\sqrt{1-y^2}$}; + +\foreach \y in {0.1,0.3,...,0.9}{ + \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] + ({sqrt(1-\y*\y)},{\y}) -- (1.5,\y); + \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] + ({sqrt(1-\y*\y)},{-\y}) -- (1.5,-\y); + \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] + ({-sqrt(1-\y*\y)},{\y}) -- (-1.5,\y); + \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] + ({-sqrt(1-\y*\y)},{-\y}) -- (-1.5,-\y); +} +\foreach \x in {0.1,0.3,...,0.9}{ + \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] + ({\x},{sqrt(1-\x*\x)}) -- ({\x},1.5); + \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] + ({-\x},{sqrt(1-\x*\x)}) -- ({-\x},1.5); + \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] + ({\x},{-sqrt(1-\x*\x)}) -- ({\x},-1.5); + \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] + ({-\x},{-sqrt(1-\x*\x)}) -- ({-\x},-1.5); +} + +\draw[color=gray!20,line width=3pt] (0,0) circle[radius=1]; + +\def\r{1.02} + +\begin{scope} + \clip (0,-1.1) rectangle (1.1,1.1); + \draw[color=red,line width=1.4pt] (-89:\r) arc (-89:89:\r); + \draw[color=red,line width=1.4pt] (0,-\r) circle[radius=0.02]; + \draw[color=red,line width=1.4pt] (0,\r) circle[radius=0.02]; +\end{scope} + +\begin{scope} + \clip (-1.1,-1.1) rectangle (0,1.1); + \draw[color=blue,line width=1.4pt] (91:\r) arc (91:269:\r); + \draw[color=blue,line width=1.4pt] (0,-\r) circle[radius=0.02]; + \draw[color=blue,line width=1.4pt] (0,\r) circle[radius=0.02]; +\end{scope} + +\xdef\r{0.98} + +\begin{scope} + \clip (-1.1,0) rectangle (1.1,1.1); + \draw[color=darkgreen,line width=1.4pt] (1:\r) arc (1:179:\r); + \draw[color=darkgreen,line width=1.4pt] (\r,0) circle[radius=0.02]; + \draw[color=darkgreen,line width=1.4pt] (-\r,0) circle[radius=0.02]; +\end{scope} + +\begin{scope} + \clip (-1.1,-1.1) rectangle (1.1,0); + \draw[color=orange,line width=1.4pt] (181:\r) arc (181:359:\r); + \draw[color=orange,line width=1.4pt] (\r,0) circle[radius=0.02]; + \draw[color=orange,line width=1.4pt] (-\r,0) circle[radius=0.02]; +\end{scope} + +\begin{scope}[yshift=1.5cm] + \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$\mathbb{R}$}]; + \begin{scope} + \clip (-1,-0.1) rectangle (1,0.1); + \draw[color=darkgreen,line width=1.4pt] (-0.98,0) -- (0.98,0); + \draw[color=darkgreen,line width=1.4pt] (-1,0) + circle[radius=0.02]; + \draw[color=darkgreen,line width=1.4pt] (1,0) + circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[yshift=-1.5cm] + \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={below:$\mathbb{R}$}]; + \begin{scope} + \clip (-1,-0.1) rectangle (1,0.1); + \draw[color=orange,line width=1.4pt] (-0.98,0) -- (0.98,0); + \draw[color=orange,line width=1.4pt] (-1,0) circle[radius=0.02]; + \draw[color=orange,line width=1.4pt] (1,0) circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[xshift=1.5cm] + \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$\mathbb{R}$}]; + \begin{scope} + \clip (-0.1,-1) rectangle (0.1,1); + \draw[color=red,line width=1.4pt] (0,-0.98) -- (0,0.98); + \draw[color=red,line width=1.4pt] (0,-1) circle[radius=0.02]; + \draw[color=red,line width=1.4pt] (0,1) circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[xshift=-1.5cm] + \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={left:$\mathbb{R}$}]; + \begin{scope} + \clip (-0.1,-1) rectangle (0.1,1); + \draw[color=blue,line width=1.4pt] (0,-0.98) -- (0,0.98); + \draw[color=blue,line width=1.4pt] (0,-1) circle[radius=0.02]; + \draw[color=blue,line width=1.4pt] (0,1) circle[radius=0.02]; + \end{scope} +\end{scope} + +\node[color=red] at (23:1) [right] {$U_{x>0}$}; +\node[color=red] at (1.25,0) [right] {$\varphi_1$}; + +\node[color=blue] at (157:1) [left] {$U_{x<0}$}; +\node[color=blue] at (-1.25,0) [left] {$\varphi_2$}; + +\node[color=darkgreen] at (115:1) [below right] {$U_{y>0}$}; +\node[color=darkgreen] at (0,1.25) [above] {$\varphi_4$}; + +\node[color=orange] at (-115:1) [above right] {$U_{y<0}$}; +\node[color=orange] at (0,-1.25) [below] {$\varphi_4$}; + +\draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$x$}]; +\draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$y$}]; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/phasenraum.pdf b/buch/chapters/60-gruppen/images/phasenraum.pdf index 2ab46e4..adfb0c6 100644 Binary files a/buch/chapters/60-gruppen/images/phasenraum.pdf and b/buch/chapters/60-gruppen/images/phasenraum.pdf differ diff --git a/buch/chapters/60-gruppen/images/phasenraum.tex b/buch/chapters/60-gruppen/images/phasenraum.tex index 136d91d..2bccc27 100644 --- a/buch/chapters/60-gruppen/images/phasenraum.tex +++ b/buch/chapters/60-gruppen/images/phasenraum.tex @@ -14,32 +14,80 @@ \def\skala{1} \begin{tikzpicture}[>=latex,thick,scale=\skala] -\pgfmathparse{1/sqrt(2)} +\def\m{1} +\def\K{0.444} + +\pgfmathparse{sqrt(\K/\m)} \xdef\o{\pgfmathresult} \def\punkt#1#2{ ({#2*cos(#1)},{\o*#2*sin(#1)}) } -\foreach \r in {1,2,...,6}{ - \draw[line width=0.5pt] - plot[domain=0:359,samples=360] +\foreach \r in {0.5,1,...,6}{ + \draw plot[domain=0:359,samples=360] ({\r*cos(\x)},{\o*\r*sin(\x)}) -- cycle; } -\draw[color=red,line width=1.4pt] - plot[domain=0:359,samples=360] - ({4*cos(\x)},{\o*4*sin(\x)}) -- cycle; -\draw[->] (-6.1,0) -- (6.3,0) coordinate[label={$x$}]; -\draw[->] (0,-4.4) -- (0,4.7) coordinate[label={right:$p$}]; +\def\tangente#1#2{ + \pgfmathparse{#2/\m} + \xdef\u{\pgfmathresult} + + \pgfmathparse{-#1*\K} + \xdef\v{\pgfmathresult} + + \pgfmathparse{sqrt(\u*\u+\v*\v)} + \xdef\l{\pgfmathresult} -\node at \punkt{0}{4} [below right] {$x_0$}; -\node at \punkt{90}{4} [above left] {$\omega x_0$}; + \fill[color=blue] (#1,#2) circle[radius=0.03]; + \draw[color=blue,line width=0.5pt] + ({#1-0.2*\u/\l},{#2-0.2*\v/\l}) + -- + ({#1+0.2*\u/\l},{#2+0.2*\v/\l}); +} + +\foreach \x in {-6.25,-5.75,...,6.3}{ + \foreach \y in {-4.25,-3.75,...,4.3}{ + \tangente{\x}{\y} + } +} -\fill[color=white] \punkt{60}{4} rectangle \punkt{58}{5.9}; +%\foreach \x in {0.5,1,...,5.5,6}{ +% \tangente{\x}{0} +% \tangente{-\x}{0} +% \foreach \y in {0.5,1,...,4}{ +% \tangente{\x}{\y} +% \tangente{-\x}{\y} +% \tangente{\x}{-\y} +% \tangente{-\x}{-\y} +% } +%} +%\foreach \y in {0.5,1,...,4}{ +% \tangente{0}{\y} +% \tangente{0}{-\y} +%} + +\fill[color=white,opacity=0.7] \punkt{60}{4} rectangle \punkt{59}{5.8}; +\fill[color=white,opacity=0.7] \punkt{0}{4} rectangle \punkt{18}{4.9}; + +\draw[->,color=red,line width=1.4pt] + plot[domain=0:60,samples=360] + ({4*cos(\x)},{\o*4*sin(\x)}); + +\draw[->] (-6.5,0) -- (6.7,0) coordinate[label={$x$}]; +\draw[->] (0,-4.5) -- (0,4.7) coordinate[label={right:$p$}]; \fill[color=red] \punkt{60}{4} circle[radius=0.08]; \node[color=red] at \punkt{60}{4} [above right] {$\begin{pmatrix}x(t)\\p(t)\end{pmatrix}$}; +\fill[color=red] \punkt{0}{4} circle[radius=0.08]; +\node[color=red] at \punkt{0}{4} [above right] + {$\begin{pmatrix}x_0\\0\end{pmatrix}$}; + +\fill[color=white] (4,0) circle[radius=0.05]; +\node at (3.9,0) [below right] {$x_0$}; +\fill (0,{\o*4}) circle[radius=0.05]; +\node at (0.1,{\o*4+0.05}) [below left] {$\omega x_0$}; + \end{tikzpicture} \end{document} diff --git a/buch/chapters/60-gruppen/images/torus.png b/buch/chapters/60-gruppen/images/torus.png new file mode 100644 index 0000000..c42440f Binary files /dev/null and b/buch/chapters/60-gruppen/images/torus.png differ diff --git a/buch/chapters/60-gruppen/images/torus.pov b/buch/chapters/60-gruppen/images/torus.pov new file mode 100644 index 0000000..3a8e327 --- /dev/null +++ b/buch/chapters/60-gruppen/images/torus.pov @@ -0,0 +1,189 @@ +// +// diffusion.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule +// +#version 3.7; +#include "colors.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.034; +#declare N = 100; +#declare r = 0.43; +#declare R = 1; + +camera { + location <43, 25, -20> + look_at <0, -0.01, 0> + right 16/9 * x * imagescale + up y * imagescale +} + +light_source { + <10, 20, -40> color White + area_light <1,0,0> <0,0,1>, 10, 10 + adaptive 1 + jitter +} + +sky_sphere { + pigment { + color rgb<1,1,1> + } +} + +#macro rotiere(phi, vv) + < cos(phi) * vv.x - sin(phi) * vv.z, vv.y, sin(phi) * vv.x + cos(phi) * vv.z > +#end + +#macro punkt(phi,theta) + rotiere(phi, < R + r * cos(theta), r * sin(theta), 0 >) +#end + +mesh { + #declare phistep = 2 * pi / N; + #declare thetastep = 2 * 2 * pi / N; + #declare phi = 0; + #while (phi < 2 * pi - phistep/2) + #declare theta = 0; + #while (theta < 2 * pi - thetastep/2) + triangle { + punkt(phi , theta ), + punkt(phi + phistep, theta ), + punkt(phi + phistep, theta + thetastep) + } + triangle { + punkt(phi , theta ), + punkt(phi + phistep, theta + thetastep), + punkt(phi , theta + thetastep) + } + #declare theta = theta + thetastep; + #end + #declare phi = phi + phistep; + #end + pigment { + color Gray + } + finish { + specular 0.9 + metallic + } +} + +#declare thetastart = -0.2; +#declare thetaend = 1.2; +#declare phistart = 5; +#declare phiend = 6; + +union { + #declare thetastep = 0.2; + #declare theta = thetastart; + #while (theta < thetaend + thetastep/2) + #declare phistep = (phiend-phistart)/N; + #declare phi = phistart; + #while (phi < phiend - phistep/2) + sphere { punkt(phi,theta), 0.01 } + cylinder { + punkt(phi,theta), + punkt(phi+phistep,theta), + 0.01 + } + #declare phi = phi + phistep; + #end + sphere { punkt(phi,theta), 0.01 } + #declare theta = theta + thetastep; + #end + + pigment { + color Red + } + finish { + specular 0.9 + metallic + } +} + +union { + #declare phistep = 0.2; + #declare phi = phistart; + #while (phi < phiend + phistep/2) + #declare thetastep = (thetaend-thetastart)/N; + #declare theta = thetastart; + #while (theta < thetaend - thetastep/2) + sphere { punkt(phi,theta), 0.01 } + cylinder { + punkt(phi,theta), + punkt(phi,theta+thetastep), + 0.01 + } + #declare theta = theta + thetastep; + #end + sphere { punkt(phi,theta), 0.01 } + #declare phi = phi + phistep; + #end + pigment { + color Blue + } + finish { + specular 0.9 + metallic + } +} + +#macro punkt2(a,b) + punkt(5.6+a*sqrt(3)/2-b/2,0.2+a/2 + b*sqrt(3)/2) +#end + +#declare darkgreen = rgb<0,0.6,0>; + +#declare astart = 0; +#declare aend = 1; +#declare bstart = -0.2; +#declare bend = 1.2; +union { + #declare a = astart; + #declare astep = 0.2; + #while (a < aend + astep/2) + #declare b = bstart; + #declare bstep = (bend - bstart)/N; + #while (b < bend - bstep/2) + sphere { punkt2(a,b), 0.01 } + cylinder { punkt2(a,b), punkt2(a,b+bstep), 0.01 } + #declare b = b + bstep; + #end + sphere { punkt2(a,b), 0.01 } + #declare a = a + astep; + #end + pigment { + color darkgreen + } + finish { + specular 0.9 + metallic + } +} +union { + #declare b = bstart; + #declare bstep = 0.2; + #while (b < bend + bstep/2) + #declare a = astart; + #declare astep = (aend - astart)/N; + #while (a < aend - astep/2) + sphere { punkt2(a,b), 0.01 } + cylinder { punkt2(a,b), punkt2(a+astep,b), 0.01 } + #declare a = a + astep; + #end + sphere { punkt2(a,b), 0.01 } + #declare b = b + bstep; + #end + pigment { + color Orange + } + finish { + specular 0.9 + metallic + } +} diff --git a/buch/chapters/60-gruppen/symmetrien.tex b/buch/chapters/60-gruppen/symmetrien.tex index 80f6534..b686791 100644 --- a/buch/chapters/60-gruppen/symmetrien.tex +++ b/buch/chapters/60-gruppen/symmetrien.tex @@ -156,6 +156,14 @@ D_{\alpha} ist also eine Einparameter-Untergruppe von $\operatorname{GL}_2(\mathbb{R})$. \subsubsection{Der harmonische Oszillator} +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/phasenraum.pdf} +\caption{Die Lösungen der +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +im Phasenraum sind Ellipsen mit Halbachsenverhältnis $\omega^{-1}$. +\label{chapter:gruppen:fig:phasenraum}} +\end{figure} Eine Masse $m$ verbunden mit einer Feder mit der Federkonstanten $K$ schwingt um die Ruhelage $x=0$ entsprechend der Differentialgleichung \[ @@ -206,7 +214,7 @@ p(t) = \cos \omega t. \] In Matrixform kann man die allgemeine Lösung zur Anfangsbedingun $x(0)=x_0$ und $p(0)=p_0$ -\[ +\begin{equation} \begin{pmatrix} x(t)\\ p(t) @@ -217,9 +225,10 @@ p(t) \cos \omega t & \frac{1}{\omega} \sin\omega t \\ -\omega \sin\omega t & \cos\omega t \end{pmatrix} -}_{\Phi_t} +}_{\displaystyle =\Phi_t} \begin{pmatrix}x_0\\p_0\end{pmatrix} -\] +\label{buch:gruppen:eqn:phi} +\end{equation} schreiben. Die Matrizen $\Phi_t$ bilden eine Einparameter-Untergruppe von $\operatorname{GL}_n(\mathbb{R})$, da @@ -260,17 +269,252 @@ Die Matrizen $\Phi_t$ beschreiben eine kontinuierliche Symmetrie des Differentialgleichungssystems, welches den harmonischen Oszillator beschreibt. -\begin{figure} -\centering -\includegraphics{chapters/60-gruppen/images/phasenraum.pdf} -\caption{Die Lösungen der +\subsubsection{Fluss einer Differentialgleichung} +Die Abbildungen $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} sind jeweils +Matrizen in $\operatorname{GL}_n(\mathbb{R})$. +Der Grund dafür ist, dass die Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} -im Phasenraum sind Ellipsen mit Halbachsenverhältnis $\omega^{-1}$. -\label{chapter:gruppen:fig:phasenraum}} -\end{figure} +linear ist. +Dies hat zur Folge, dass für zwei Anfangsbedingungen $x_1,x_2\in\mathbb{R}^2$ +die Lösung für Linearkombinationen $\lambda x_1+\mu x_2$ durch +Linearkombination der Lösungen erhalten werden kann, also +aus der Formel +\[ +\Phi_t (\lambda x_1 + \mu x_2) = \lambda \Phi_t x_1 + \mu \Phi_t x_2. +\] +Dies zeigt, dass $\Phi_t$ für jedes $t$ eine lineare Abbildung sein muss. + +Für eine beliebige Differentialgleichung kann man immer noch eine Abbildung +$\Phi$ konstruieren, die aber nicht mehr linear ist. +Sei dazu die Differentialgleichung erster Ordnung +\begin{equation} +\frac{dx}{dt} += +f(t,x) +\qquad\text{mit}\qquad +f\colon \mathbb{R}\times\mathbb{R}^n \to \mathbb{R}^n +\label{buch:gruppen:eqn:dgl} +\end{equation} +gegeben. +Für jeden Anfangswert $x_0\in\mathbb{R}^n$ kann man mindestens für eine +gewisse Zeit $t <\varepsilon$ eine Lösung $x(t,x_0)$ finden mit $x(t,x_0)=x_0$. +Aus der Theorie der gewöhnlichen Differentialgleichungen ist auch +bekannt, dass $x(t,x_0)$ mindestens in der Nähe von $x_0$ differenzierbar von +$x_0$ abhängt. +Dies erlaubt eine Abbildung +\[ +\Phi\colon \mathbb{R}\times \mathbb{R}^n \to \mathbb{R}^n +: +(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0) +\] +zu definieren, die sowohl von $t$ als auch von $x_0$ differenzierbar +abhängt. +Aus der Definition folgt unmittelbar, dass $\Phi_0(x_0)=x_0$ ist, dass +also $\Phi_0$ die identische Abbildung von $\mathbb{R}^n$ ist. + +Aus der Definition lässt sich auch ableiten, dass +$\Phi_{s+t}=\Phi_s\circ\Phi_t$ gilt. +$\Phi_t(x_0)=x(t,x_0)$ ist der Endpunkt der Bahn, die bei $x_0$ beginnt +und sich während der Zeit $t$ entwickelt. +$\Phi_s(x(t,x_0))$ ist dann der Endpunkt der Bahn, die bei $x(t,x_0)$ +beginnt und sich während der Zeit $s$ entwickelt. +Somit ist $\Phi_s\circ \Phi_t(x_0)$ der Endpunkt der Bahn, die bei +$x_0$ beginnt und sich über die Zeit $s+t$ entwickelt. +In Formeln bedeutet dies +\[ +\Phi_{s+t} = \Phi_s\circ \Phi_t. +\] +Die Abbildung $t\mapsto \Phi_t$ ist also wieder ein Homomorphismus +von der additiven Gruppe $\mathbb{R}$ in eine Gruppe von differenzierbaren +Abbildungen $\mathbb{R}^n\to\mathbb{R}^n$. + +\begin{definition} +Die Abbildung +\[ +\Phi\colon \mathbb{R}\times\mathbb{R}^n\to\mathbb{R}^n +: +(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0) +\] +heisst der {\em Fluss} der Differentialgleichung +\eqref{buch:gruppen:eqn:dgl}, +wenn für jedes $x_0\in\mathbb{R}^n$ die Kurve $t\mapsto \Phi_t(x_0)$ +eine Lösung der Differentialgleichung ist mit Anfangsbedingung $x_0$. +\end{definition} + +Die Abbildung $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} ist also +der Fluss der Differentialgleichung des harmonischen Oszillators. \subsection{Mannigfaltigkeiten \label{buch:subsection:mannigfaltigkeit}} +Eine Differentialgleichung der Form~\eqref{buch:gruppen:eqn:dgl} +stellt einen Zusammenhang her zwischen einem Punkt $x$ und der +Tangentialrichtung einer Bahnkurve $f(t,x)$. +Die Ableitung liefert die lineare Näherung der Bahkurve +\[ +x(t_0+h) = x(t_0) + h f(t_0,x_0) + o(h) +\] +für $h$ in einer kleinen Umgebung von $0$. +Das funktioniert auch, weil $f(t_0,x_0)$ selbst ein Vektor von +$\mathbb{R}^n$ ist, in dem die Bahnkurve verläuft. + +Diese Idee funktioniert nicht mehr zum Beispiel für eine +Differentialgleichung auf einer Kugeloberfläche, weil alle Punkte +$x(t_0)+hf(t_0,x_0)$ für alle $h\ne 0$ nicht mehr auf der Kugeloberfläche +liegen. +Physikalisch äussert sich das ein einer zusätzlichen Kraft, die nötig +ist, die Bahn auf der Kugeloberfläche zu halten. +Diese Kraft stellt zum Beispiel sicher, dass die Vektoren $f(t,x)$ für +Punkte $x$ auf der Kugeloberfläche immer tangential an die Kugel sind. +Trotzdem ist der Tangentialvektor oder der Geschwindigkeitsvektor +nicht mehr ein Objekt, welches als Teil der Kugeloberfläche definiert +werden kann, er kann nur definiert werden, wenn man sich die Kugel als +in einen höherdimensionalen Raum eingebettet vorstellen kann. + +Um die Idee der Differentialgleichung auf einer beliebigen Fläche +konsistent zu machen ist daher notwendig, die Idee einer Tagentialrichtung +auf eine Art zu definieren, die nicht von der Einbettung der Fläche +in den $n$-dimensionalen Raum abhängig ist. +Das in diesem Abschnitt entwickelte Konzept der {\em Mannigfaltigkeit} +löst dieses Problem. + +\subsubsection{Karten} +Die Navigation auf der Erdoberfläche verwendet das Koordinatensystem +der geographischen Länge und Breite. +Dieses Koordinatensystem funktioniert gut, solange man sich nicht an +den geographischen Polen befindet, denn deren Koordinaten sind +nicht mehr eindeutig. +Alle Punkte mit geographischer Breite $90^\circ$ und beliebiger +geographischer Länge beschreiben den Nordpol. +Auch die Ableitung funktioniert dort nicht mehr. +Bewegt man sich mit konstanter Geschwindigkeit über den Nordpol, +springt die Ableitung der geographischen Breite von einem positiven +Wert auf einen negativen Wert, sie kann also nicht differenzierbar sein. +Diese Einschränkungen sind in der Praxis nur ein geringes Problem dar, +da die meisten Reisen nicht über die Pole erfolgen. + +Der Polarforscher, der in unmittelbarer Umgebung des Poles arbeitet, +kann das Problem lösen, indem er eine lokale Karte für das Gebiet +um den Pol erstellt. +Dafür kann er beliebige Koordinaten verwenden, zum Beispiel auch +ein kartesisches Koordinatensystem, er muss nur eine Methode haben, +wie er seine Koordinaten wieder auf geographische Länge und Breite +umrechnen will. +Und wenn er über Geschwindigkeiten kommunizieren will, dann muss +er auch Ableitungen von Kurven in seinem kartesischen Koordinatensystem +umrechnen können auf die Kugelkoordinaten. +Dazu muss seine Umrechnungsformel von kartesischen Koordinaten +auf Kugelkoordinaten differenzierbar sein. + +Diese Idee wird vom Konzept der Mannigfaltigkeit verallgemeinert. +Eine $n$-dimensionale {\em Mannigfaltigkeit} ist eine Menge $M$ von Punkten, +die lokal, also in der Umgebung eines Punktes, mit möglicherweise mehreren +verschiedenen Koordinatensystemen versehen werden kann. +Ein Koordinatensystem ist eine umkehrbare Abbildung einer offenen Teilmenge +$U\subset M$ in den Raum $\mathbb{R}^n$. +Die Komponenten dieser Abbildung heissen die {\em Koordinaten}. + +\begin{definition} +Eine Karte auf $M$ ist eine umkehrbare Abbildung +$\varphi\colon U\to \mathbb{R}^n$. +Ein differenzierbarer Atlas ist eine Familie von Karten $\varphi_\alpha$ +derart, dass die Definitionsgebiete $U_\alpha$ die ganze Menge $M$ +überdecken, und dass die Kartenwechsel Abbildungen +\[ +\varphi_\beta\circ\varphi_\alpha^{-1} +\colon +\varphi_\alpha(U_\alpha\cap U_\beta) +\to +\varphi_\beta(U_\alpha\cap U_\beta) +\] +als Abbildung von offenen Teilmengen von $\mathbb{R}^n$ differenzierbar +ist. +Eine {$n$-dimensionale differenzierbare Mannigfaltigkeit} ist eine +Menge $M$ mit einem differenzierbaren Atlas. +\end{definition} + +Karten und Atlanten regeln also nur, wie sich verschiedene lokale +Koordinatensysteme ineinander umrechnen lassen. + +\begin{beispiel} +$M=\mathbb{R}^n$ ist eine differenzierbare Mannigfaltigkeit denn +die identische Abbildung $M\to \mathbb{R}^n$ ist eine Karte und ein +Atlas von $M$. +\end{beispiel} + +\begin{beispiel} +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/kartenkreis.pdf} +\caption{Karten für die Kreislinie $S^1\subset\mathbb{R}^2$. +\label{buch:gruppen:fig:kartenkreis}} +\end{figure} +Die Kreislinie in in der Ebene ist eine $1$-dimensionale Mannigfaltigkeit. +Natürlich kann sie nicht mit einer einzigen Karte beschrieben werden, +da es keine umkehrbaren Abbildungen zwischen $\mathbb{R}$ und der Kreislinie +gibt. +Man kann aber die folgenden vier Karten verwenden: +\begin{align*} +\varphi_1&\colon U_{x>0}\{(x,y)\;|\;x^2+y^2=1\wedge x>0\} \to +: +(x,y) \mapsto y\\ +\varphi_2&\colon U_{x<0}\{(x,y)\;|\;x^2+y^2=1\wedge x<0\} \to +: +(x,y) \mapsto y\\ +\varphi_3&\colon U_{y>0}\{(x,y)\;|\;x^2+y^2=1\wedge y>0\} \to +: +(x,y) \mapsto x\\ +\varphi_4&\colon U_{y<0}\{(x,y)\;|\;x^2+y^2=1\wedge y<0\} \to +: +(x,y) \mapsto x +\end{align*} +Die Werte der Kartenabbildungen sind genau die $x$- und $y$-Koordinaten +auf der in den Raum $\mathbb{R}^2$ eingebetteten Kreislinie. + +Für $\varphi_1$ und $\varphi_2$ sind die Definitionsgebiete disjunkt, +hier gibt es also keine Notwendigkeit, Koordinatenumrechnungen vornehmen +zu können. +Dasselbe gilt für $\varphi_3$ und $\varphi_4$. + +Die nichtleeren Schnittmengen der verschiedenen Kartengebiete beschreiben +jeweils die Punkte der Kreislinie in einem Quadranten. +Die Umrechnung zwischen den Koordinaten erfolgt je nach Quadrant durch +\[ +x\mapsto y=\pm\sqrt{1-x^2\mathstrut} +\qquad\text{oder}\qquad +y\mapsto x=\pm\sqrt{1-y^2\mathstrut}, +\] +diese Abbildungen sind im offenen Intervall $(-1,1)$ differenzierbar, +Schwierigkeiten mit der Ableitungen ergeben sich nur an den Stellen +$x=\pm1$ und $y=\pm 1$, die in einem Überschneidungsgebiet von Karten +nicht vorkommen können. +Somit bilden die vier Karten einen differenzierbaren Atlas für +die Kreislinie (Abbildung~\ref{buch:gruppen:fig:kartenkreis}). +\end{beispiel} + +\begin{beispiel} +Ganz analog zum vorangegangenen Beispiel über die Kreisline lässt sich +für eine $n$-di\-men\-sio\-nale Sphäre +\[ +S^n = \{ (x_1,\dots,x_{n+1})\;|\; x_0^2+\dots+x_n^2=1\} +\] +immer ein Atlas aus $2^{n+1}$ Karten mit den Koordinatenabbildungen +\[ +\varphi_{i,\pm} +\colon +U_{i,\pm} += +\{p\in S^n\;|\; \pm x_i >0\} +\to +\mathbb{R}^n +: +p\mapsto (x_1,\dots,\hat{x}_i,\dots,x_{n+1}) +\] +konstruieren, der $S^n$ zu einer $n$-dimensionalen Mannigfaltigkeit macht. +\end{beispiel} + +\subsubsection{Tangentialraum} + +\subsubsection{Einbettung und Karten} \subsection{Der Satz von Noether \label{buch:subsection:noether}} -- cgit v1.2.1 From e4713250376d10840dbfd23ca353e394aa84be08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sat, 3 Apr 2021 20:52:04 +0200 Subject: =?UTF-8?q?Info=20=C3=BCber=20Mannigfaltigkeiten=20hinzuf=C3=BCgen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/chapters/60-gruppen/images/karten.pdf | Bin 486440 -> 487946 bytes buch/chapters/60-gruppen/images/karten.tex | 3 +- buch/chapters/60-gruppen/lie-gruppen.tex | 99 +++++++++++++++++++++++++++++ buch/chapters/60-gruppen/symmetrien.tex | 83 ++++++++++++++++++++++-- 4 files changed, 179 insertions(+), 6 deletions(-) (limited to 'buch') diff --git a/buch/chapters/60-gruppen/images/karten.pdf b/buch/chapters/60-gruppen/images/karten.pdf index f0a9879..d769cca 100644 Binary files a/buch/chapters/60-gruppen/images/karten.pdf and b/buch/chapters/60-gruppen/images/karten.pdf differ diff --git a/buch/chapters/60-gruppen/images/karten.tex b/buch/chapters/60-gruppen/images/karten.tex index a13d7c7..c8eb4a3 100644 --- a/buch/chapters/60-gruppen/images/karten.tex +++ b/buch/chapters/60-gruppen/images/karten.tex @@ -104,7 +104,8 @@ \draw[<-,color=white,opacity=0.8,line width=5pt] (2.5,-6.5) arc (55:100:6.5); \draw[<-,shorten >= 0.1cm,shorten <= 0.3cm] (2.5,-6.5) arc (55:100:6.5); -\node at (0,-5.8) {$\varphi_\beta\circ\varphi_\alpha^{-1}$}; +\node at (0,-5.9) + {$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}$}; \end{tikzpicture} \end{document} diff --git a/buch/chapters/60-gruppen/lie-gruppen.tex b/buch/chapters/60-gruppen/lie-gruppen.tex index 1268ce2..48d6b43 100644 --- a/buch/chapters/60-gruppen/lie-gruppen.tex +++ b/buch/chapters/60-gruppen/lie-gruppen.tex @@ -6,6 +6,105 @@ \section{Lie-Gruppen \label{buch:section:lie-gruppen}} \rhead{Lie-Gruppen} +Die in bisherigen Beispielen untersuchten Matrizengruppen zeichnen sich +durch zusätzliche Eigenschaften aus. +Die Gruppe +\[ +\operatorname{GL}_n(\mathbb{R}) += +\{ A \in M_n(\mathbb{R})\;|\; \det A \ne 0\} +\] +besteht aus den Matrizen, deren Determinante nicht $0$ ist. +Da die Menge der Matrizen mit $\det A=0$ eine abgeschlossene Menge +in $M_n(\mathbb{R}) \simeq \mathbb{R}^{n^2}$ ist, ist +$\operatorname{GL}_n(\mathbb{R})$ eine offene Teilmenge in $\mathbb{R}^{n^2}$, +sie besitzt also automatisch die Struktur einer $n^2$-Mannigfaltigkeit. +Dies gilt jedoch auch für alle anderen Matrizengruppen, die in diesem +Abschnitt genauer untersucht werden sollen. + +\subsection{Mannigfaltigkeitsstruktur der Matrizengruppen +\label{buch:subsection:mannigfaltigkeitsstruktur-der-matrizengruppen}} +Eine Matrizengruppe wird automatsich zu einer Mannigfaltigkeit, +wenn es gelingt, eine Karte für eine Umgebung des neutralen Elements +zu finden. +Dazu muss gezeigt werden, dass sich aus einer solchen Karte für jedes +andere Gruppenelement eine Karte für eine Umgebung ableiten lässt. +Sei also $\varphi_e\colon U_e\mathbb{R}^N$ eine Karte für die Umgebung +$U_e\subset G$ von $e\in G$. +Für $g\in G$ ist dann die Abbildung +\[ +\varphi_g +\colon +U_g += +gU_e +\to +\mathbb{R} +: +h\mapsto \varphi_e(g^{-1}h) +\] +eine Karte für die Umgebung $U_g$ des Gruppenelementes $g$. +schreibt man $l_{g}$ für die Abbildung $h\mapsto gh$, dann +kann man die Kartenabbildung auch $\varphi_g = \varphi_e\circ l_{g^{-1}}$ +schreiben. + +Die Kartenwechsel-Abbildungen für zwei Karten $\varphi_{g_1}$ +und $\varphi_{g_2}$ ist die Abbildung +\[ +\varphi_{g_1,g_2} += +\varphi_{g_1}\circ \varphi_{g_2}^{-1} += +\varphi_e\circ l_{g_1^{-1}} \circ (\varphi_e\circ l_{g_2^{-1}})^{-1} += +\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2^{-1}}^{-1} \varphi_e^{-1} += +\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2}\varphi_e^{-1} += +\varphi_e\circ l_{g_1^{-1}g_2}\varphi_e^{-1} +\] +mit der Ableitung +\[ +D\varphi_e\circ Dl_{g_1^{-1}g_2} D\varphi_e^{-1} += +D\varphi_e\circ Dl_{g_1^{-1}g_2} (D\varphi_e)^{-1}. +\] +Die Abbildung $l_{g_1^{-1}g_2}$ ist aber nur die Multiplikation mit +einer Matrix, also eine lineare Abbildung, so dass der Kartenwechsel +nichts anderes ist als die Darstellung der Matrix der Linksmultiplikation +$l_{g_1^{-1}g_2}$ im Koordinatensystem der Karte $U_e$ ist. +Differenzierbarkeit der Kartenwechsel ist damit sichergestellt, +die Matrizengruppen sind automatisch differenzierbare Mannigfaltigkeiten. + +Die Konstruktion aller Karten aus einer einzigen Karte für eine +Umgebung des neutralen Elements zeigt auch, dass es für die Matrizengruppen +reicht, wenn man die Elemente in einer Umgebung des neutralen +Elementes parametrisieren kann. +Dies ist jedoch nicht nur für die Matrizengruppen möglich. +Wenn eine Gruppe gleichzeitig eine differenzierbare Mannigfaltigkeit +ist, dann können Karten über die ganze Gruppe transportiert werden, +wenn die Multiplikation mit Gruppenelementen eine differenzierbare +Abbildung ist. +Solche Gruppen heissen auch Lie-Gruppen gemäss der folgenden Definition. + +\begin{definition} +\index{Lie-Gruppe}% +Eine {\em Lie-Gruppe} ist eine Gruppe, die gleichzeitig eine differenzierbare +Mannigfaltigkeit ist derart, dass die Abbildungen +\begin{align*} +G\times G \to G &: (g_1,g_2)\mapsto g_1g_2 +G\to G &: g \mapsto g^{-1} +\end{align*} +differenzierbare Abbildungen zwischen Mannigfaltigkeiten sind. +\end{definition} + +Die Abstraktheit dieser Definition täuscht etwas über die +Tatsache hinweg, dass sich mit Hilfe der Darstellungstheorie +jede beliebige Lie-Gruppe als Untermannigfaltigkeit einer +Matrizengruppe verstehen lässt. +Das Studium der Matrizengruppen erlaubt uns daher ohne grosse +Einschränkungen ein Verständnis für die Theorie der Lie-Gruppen +zu entwickeln. \subsection{Drehungen in der Ebene \label{buch:gruppen:drehungen2d}} diff --git a/buch/chapters/60-gruppen/symmetrien.tex b/buch/chapters/60-gruppen/symmetrien.tex index b686791..e7c3240 100644 --- a/buch/chapters/60-gruppen/symmetrien.tex +++ b/buch/chapters/60-gruppen/symmetrien.tex @@ -405,7 +405,7 @@ umrechnen können auf die Kugelkoordinaten. Dazu muss seine Umrechnungsformel von kartesischen Koordinaten auf Kugelkoordinaten differenzierbar sein. -Diese Idee wird vom Konzept der Mannigfaltigkeit verallgemeinert. +Diese Idee wird durch das Konzept der Mannigfaltigkeit verallgemeinert. Eine $n$-dimensionale {\em Mannigfaltigkeit} ist eine Menge $M$ von Punkten, die lokal, also in der Umgebung eines Punktes, mit möglicherweise mehreren verschiedenen Koordinatensystemen versehen werden kann. @@ -413,14 +413,30 @@ Ein Koordinatensystem ist eine umkehrbare Abbildung einer offenen Teilmenge $U\subset M$ in den Raum $\mathbb{R}^n$. Die Komponenten dieser Abbildung heissen die {\em Koordinaten}. +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/karten.pdf} +\caption{Karten +$\varphi_\alpha\colon U_\alpha\to \mathbb{R}^2$ +und +$\varphi_\beta\colon U_\beta\to \mathbb{R}^2$ +auf einem Torus. +Auf dem Überschneidungsgebiet $\varphi_\alpha^{-1}(U_\alpha\cap U_\beta)$ +ist der Kartenwechsel $\varphi_\beta\circ\varphi_\alpha^{-1}$ wohldefiniert +und muss differnzierbar sein, wenn eine differenzierbare Mannigfaltigkeit +entstehen soll. +\label{buch:gruppen:fig:karten}} +\end{figure} + \begin{definition} Eine Karte auf $M$ ist eine umkehrbare Abbildung -$\varphi\colon U\to \mathbb{R}^n$. +$\varphi\colon U\to \mathbb{R}^n$ (siehe auch +Abbildung~\ref{buch:gruppen:fig:karten}). Ein differenzierbarer Atlas ist eine Familie von Karten $\varphi_\alpha$ derart, dass die Definitionsgebiete $U_\alpha$ die ganze Menge $M$ überdecken, und dass die Kartenwechsel Abbildungen \[ -\varphi_\beta\circ\varphi_\alpha^{-1} +\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1} \colon \varphi_\alpha(U_\alpha\cap U_\beta) \to @@ -513,8 +529,65 @@ konstruieren, der $S^n$ zu einer $n$-dimensionalen Mannigfaltigkeit macht. \end{beispiel} \subsubsection{Tangentialraum} - -\subsubsection{Einbettung und Karten} +Mit Hilfe einer Karte $\varphi_\alpha\colon U_\alpha\to\mathbb{R}^n$ +kann das Geschehen in einer Mannigfaltigkeit in den vertrauten +$n$-dimensionalen Raum $\mathbb{B}^n$ transportiert werden. +Eine Kurve $\gamma\colon \mathbb{R}\to M$, die so parametrisiert sein +soll, dass $\gamma(t)\in U_\alpha$ für $t$ in einer Umgebung $I$ von $0$ ist, +wird von der Karte in eine Kurve +$\gamma_\alpha=\varphi_\alpha\circ\gamma\colon I\to \mathbb{R}^n$ +abgebildet, +deren Tangentialvektor wieder ein Vektor in $\mathbb{R}^n$ ist. + +Eine zweite Karte $\varphi_\beta$ führt auf eine andere Kurve +mit der Parametrisierung +$\gamma_\beta=\varphi_\beta\circ\gamma\colon I \to \mathbb{R}^n$ +und einem anderen Tangentialvektor. +Die beiden Tangentialvektoren können aber mit der Ableitung der +Koordinatenwechsel-Abbildung +$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}\colon +\varphi_\alpha(U_\alpha\cap U_\beta)\to \mathbb{R}^n$ +ineinander umgerechnet werden. +Aus +\[ +\gamma_\beta += +\varphi_\beta\circ \gamma += +( +\varphi_\beta +\circ +\varphi_\alpha^{-1} +) +\circ +\varphi_\alpha\circ\gamma += +\varphi_{\beta\alpha} +\circ +\varphi_\alpha\circ\gamma += +\varphi_{\beta\alpha}\circ\gamma_\alpha +\] +folgt durch Ableitung nach dem Kurvenparameter $t$, dass +\[ +\frac{d}{dt}\gamma_\beta(t) += +D\varphi_{\beta\alpha} \frac{d}{dt}\gamma_\alpha(t). +\] +Die Ableitung $D\varphi_{\beta\alpha}$ von $\varphi_{\beta\alpha}$ +an der Stelle $\gamma_\alpha(t)$ berechnet also aus dem Tangentialvektor +einer Kurve in der Karte $\varphi_\alpha$ den Tangentialvektor der +Kurve in der Karte $\varphi_\beta$. + +Die Forderung nach Differenzierbarkeit der Kartenwechselabbildungen +$\varphi_{\beta\alpha}$ stellt also nur sicher, dass die Beschreibung +eines Systemes mit Differentialgleichungen in verschiedenen +Koordinatensystemen auf die gleichen Lösungskurven in der +Mannigfaltigkeit führt. +Insbesondere ist die Verwendung von Karten ist also nur ein Werkzeug, +mit dem die Unmöglichkeit einer globalen Besschreibung einer +Mannigfaltigkeit $M$ mit einem einzigen globalen Koordinatensystem +ohne Singularitäten umgangen werden kann. \subsection{Der Satz von Noether \label{buch:subsection:noether}} -- cgit v1.2.1 From b4867d6eecff66204bd083e3fe1da46a7f1aef42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sun, 4 Apr 2021 10:02:05 +0200 Subject: fix phi_4 --- buch/chapters/60-gruppen/images/kartenkreis.tex | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/chapters/60-gruppen/images/kartenkreis.tex b/buch/chapters/60-gruppen/images/kartenkreis.tex index be6d6b3..8f2d9d5 100644 --- a/buch/chapters/60-gruppen/images/kartenkreis.tex +++ b/buch/chapters/60-gruppen/images/kartenkreis.tex @@ -55,12 +55,19 @@ \node at (1.01,1.32) [right] {$\varphi_3\circ \varphi_1^{-1}(y)=\sqrt{1-y^2}$}; +\node at (1.6,1.6) {$\varphi_{31}$}; + \node at (1.01,-1.28) [right] {$\varphi_1\circ \varphi_4^{-1}(x)=-\sqrt{1-x^2}$}; +\node at (1.6,-1.6) {$\varphi_{14}$}; + \node at (-1.24,1.32) [left] {$\varphi_2\circ\varphi_4^{-1}(x)=\sqrt{1-x^2}$}; +\node at (-1.6,-1.6) {$\varphi_{42}$}; + \node at (-1.18,-1.28) [left] {$\varphi_4\circ\varphi_2^{-1}(y)=-\sqrt{1-y^2}$}; +\node at (-1.6,1.6) {$\varphi_{23}$}; \foreach \y in {0.1,0.3,...,0.9}{ \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] @@ -166,7 +173,7 @@ \node[color=blue] at (-1.25,0) [left] {$\varphi_2$}; \node[color=darkgreen] at (115:1) [below right] {$U_{y>0}$}; -\node[color=darkgreen] at (0,1.25) [above] {$\varphi_4$}; +\node[color=darkgreen] at (0,1.25) [above] {$\varphi_3$}; \node[color=orange] at (-115:1) [above right] {$U_{y<0}$}; \node[color=orange] at (0,-1.25) [below] {$\varphi_4$}; -- cgit v1.2.1 From cca51799a95ab64faa3f0dfb841883c2852037d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sun, 4 Apr 2021 16:11:42 +0200 Subject: tangentialvektoren von o(n), sl_n --- buch/chapters/60-gruppen/images/Makefile | 5 +- buch/chapters/60-gruppen/images/kartenkreis.pdf | Bin 26310 -> 26755 bytes buch/chapters/60-gruppen/images/kartenkreis.tex | 11 +- buch/chapters/60-gruppen/images/sl2.pdf | Bin 0 -> 27116 bytes buch/chapters/60-gruppen/images/sl2.tex | 146 ++++++++ buch/chapters/60-gruppen/lie-gruppen.tex | 469 +++++++++++++++++++++++- buch/chapters/60-gruppen/symmetrien.tex | 159 +++++++- 7 files changed, 755 insertions(+), 35 deletions(-) create mode 100644 buch/chapters/60-gruppen/images/sl2.pdf create mode 100644 buch/chapters/60-gruppen/images/sl2.tex (limited to 'buch') diff --git a/buch/chapters/60-gruppen/images/Makefile b/buch/chapters/60-gruppen/images/Makefile index bc65a71..8824d75 100644 --- a/buch/chapters/60-gruppen/images/Makefile +++ b/buch/chapters/60-gruppen/images/Makefile @@ -3,7 +3,7 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: phasenraum.pdf kartenkreis.pdf karten.pdf +all: phasenraum.pdf kartenkreis.pdf karten.pdf sl2.pdf phasenraum.pdf: phasenraum.tex pdflatex phasenraum.tex @@ -17,3 +17,6 @@ torus.png: torus.pov karten.pdf: karten.tex torus.png pdflatex karten.tex +sl2.pdf: sl2.tex + pdflatex sl2.tex + diff --git a/buch/chapters/60-gruppen/images/kartenkreis.pdf b/buch/chapters/60-gruppen/images/kartenkreis.pdf index 3235779..4619b56 100644 Binary files a/buch/chapters/60-gruppen/images/kartenkreis.pdf and b/buch/chapters/60-gruppen/images/kartenkreis.pdf differ diff --git a/buch/chapters/60-gruppen/images/kartenkreis.tex b/buch/chapters/60-gruppen/images/kartenkreis.tex index 8f2d9d5..4f19937 100644 --- a/buch/chapters/60-gruppen/images/kartenkreis.tex +++ b/buch/chapters/60-gruppen/images/kartenkreis.tex @@ -62,12 +62,13 @@ \node at (1.6,-1.6) {$\varphi_{14}$}; \node at (-1.24,1.32) - [left] {$\varphi_2\circ\varphi_4^{-1}(x)=\sqrt{1-x^2}$}; -\node at (-1.6,-1.6) {$\varphi_{42}$}; + [left] {$\varphi_2\circ\varphi_3^{-1}(x)=\sqrt{1-x^2}$}; +\node at (-1.6,1.6) {$\varphi_{23}$}; \node at (-1.18,-1.28) [left] {$\varphi_4\circ\varphi_2^{-1}(y)=-\sqrt{1-y^2}$}; -\node at (-1.6,1.6) {$\varphi_{23}$}; +\node at (-1.6,-1.6) {$\varphi_{42}$}; + \foreach \y in {0.1,0.3,...,0.9}{ \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] @@ -90,7 +91,9 @@ ({-\x},{-sqrt(1-\x*\x)}) -- ({-\x},-1.5); } -\draw[color=gray!20,line width=3pt] (0,0) circle[radius=1]; +%\draw[color=gray!50,line width=3pt] (0,0) circle[radius=1]; +\draw[color=yellow!30,line width=3pt] (0,0) circle[radius=1]; +\node[color=yellow] at ({1/sqrt(2)},{1/sqrt(2)}) [above right] {$S^1$}; \def\r{1.02} diff --git a/buch/chapters/60-gruppen/images/sl2.pdf b/buch/chapters/60-gruppen/images/sl2.pdf new file mode 100644 index 0000000..ffc0759 Binary files /dev/null and b/buch/chapters/60-gruppen/images/sl2.pdf differ diff --git a/buch/chapters/60-gruppen/images/sl2.tex b/buch/chapters/60-gruppen/images/sl2.tex new file mode 100644 index 0000000..0e44aa9 --- /dev/null +++ b/buch/chapters/60-gruppen/images/sl2.tex @@ -0,0 +1,146 @@ +% +% sl2.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\begin{scope}[xshift=-4.5cm] + \fill[color=blue!20] + (1.4,0) -- (0,1.4) -- (-1.4,0) -- (0,-1.4) -- cycle; + \fill[color=red!40,opacity=0.5] + (1.96,0) -- (0,1) -- (-1.96,0) -- (0,-1) -- cycle; + + \begin{scope} + \clip (-2.1,-2.1) rectangle (2.3,2.3); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({-(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({-(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); + \end{scope} + + \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \draw[->,color=blue] (0,0) -- (1.4,0); + \draw[->,color=blue] (0,0) -- (0,1.4); + + \draw[->,color=red] (0,0) -- (1.96,0); + \draw[->,color=red] (0,0) -- (0,1); + \node at (0,-3.2) + {$\displaystyle + \begin{aligned} + A&=\begin{pmatrix}1&0\\0&-1\end{pmatrix} + \\ + e^{At} + &=\begin{pmatrix}e^t&0\\0&e^{-t}\end{pmatrix} + \end{aligned} + $}; + +\end{scope} + + +\begin{scope} + \fill[color=blue!20] + (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; + \fill[color=red!40,opacity=0.5] + (33:1.4) -- (123:1.4) -- (213:1.4) -- (303:1.4) -- cycle; + + \draw[color=darkgreen] (0,0) circle[radius=1.4]; + + \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \draw[->,color=blue] (0,0) -- (1.4,0); + \draw[->,color=blue] (0,0) -- (0,1.4); + + \draw[->,color=red] (0,0) -- (33:1.4); + \draw[->,color=red] (0,0) -- (123:1.4); + + \node at (0,-3.2) + {$\displaystyle + \begin{aligned} + B + &=\begin{pmatrix}0&-1\\1&0 \end{pmatrix} + \\ + e^{Bt} + &= + \begin{pmatrix} + \cos t&-\sin t\\ + \sin t& \cos t + \end{pmatrix} + \end{aligned}$}; +\end{scope} + + +\begin{scope}[xshift=4.5cm] + \fill[color=blue!20] + (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; + \def\x{0.5} + \fill[color=red!40,opacity=0.5] + ({1.4*cosh(\x)},{1.4*sinh(\x}) + -- + ({1.4*sinh(\x},{1.4*cosh(\x)}) + -- + ({-1.4*cosh(\x)},{-1.4*sinh(\x}) + -- + ({-1.4*sinh(\x},{-1.4*cosh(\x)}) + -- cycle; + + \begin{scope} + \clip (-2.1,-2.1) rectangle (2.2,2.2); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({1.4*cosh(\x)},{1.4*sinh(\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{1.4*cosh(\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({-1.4*cosh(\x)},{1.4*sinh(\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{-1.4*cosh(\x)}); + \end{scope} + + \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \draw[->,color=blue] (0,0) -- (1.4,0); + \draw[->,color=blue] (0,0) -- (0,1.4); + + \draw[->,color=red] (0,0) -- ({1.4*cosh(\x)},{1.4*sinh(\x)}); + \draw[->,color=red] (0,0) -- ({1.4*sinh(\x)},{1.4*cosh(\x)}); + + \node at (0,-3.2) {$\displaystyle + \begin{aligned} + C&=\begin{pmatrix}0&1\\1&0\end{pmatrix} + \\ + e^{Ct} + &= + \begin{pmatrix} + \cosh t&\sinh t\\ + \sinh t&\cosh t + \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/lie-gruppen.tex b/buch/chapters/60-gruppen/lie-gruppen.tex index 48d6b43..6d2531a 100644 --- a/buch/chapters/60-gruppen/lie-gruppen.tex +++ b/buch/chapters/60-gruppen/lie-gruppen.tex @@ -48,6 +48,7 @@ schreibt man $l_{g}$ für die Abbildung $h\mapsto gh$, dann kann man die Kartenabbildung auch $\varphi_g = \varphi_e\circ l_{g^{-1}}$ schreiben. +\subsubsection{Kartenwechsel} Die Kartenwechsel-Abbildungen für zwei Karten $\varphi_{g_1}$ und $\varphi_{g_2}$ ist die Abbildung \[ @@ -93,6 +94,7 @@ Eine {\em Lie-Gruppe} ist eine Gruppe, die gleichzeitig eine differenzierbare Mannigfaltigkeit ist derart, dass die Abbildungen \begin{align*} G\times G \to G &: (g_1,g_2)\mapsto g_1g_2 +\\ G\to G &: g \mapsto g^{-1} \end{align*} differenzierbare Abbildungen zwischen Mannigfaltigkeiten sind. @@ -106,8 +108,79 @@ Das Studium der Matrizengruppen erlaubt uns daher ohne grosse Einschränkungen ein Verständnis für die Theorie der Lie-Gruppen zu entwickeln. +\subsubsection{Tangentialvektoren und die Exponentialabbildung} +Die Matrizengruppen sind alle in der +$n^2$-dimensionalen Mannigfaltigkeit $\operatorname{GL}_n(\mathbb{R})$ +enthalten. +Diffferenzierbare Kurven $\gamma(t)$ in $\operatorname{GL}_n(\mathbb{R})$ +haben daher in jedem Punkt Tangentialvektoren, die als Matrizen in +$M_n(\mathbb{R})$ betrachtet werden können. +Wenn $\gamma(t)$ die Matrixelemente $\gamma_{ij}(t)$ hat, dann ist der +Tangentialvektor im Punkt $\gamma(t)$ durch +\[ +\frac{d}{dt} +\gamma(t) += +\begin{pmatrix} +\dot{\gamma}_{11}(t)&\dots &\dot{\gamma}_{1n}(t)\\ +\vdots &\ddots&\vdots \\ +\dot{\gamma}_{n1}(t)&\dots &\dot{\gamma}_{nn}(t) +\end{pmatrix} +\] +gegeben. + +Im Allgemeinen kann man Tangentialvektoren in verschiedenen Punkten +einer Mannigfaltigkeit nicht miteinander vergleichen. +Die Multiplikation $l_g$, die den Punkt $e$ in den Punkt $g$ verschiebt, +transportiert auch die Tangentialvektoren im Punkt $e$ in +Tangentialvektoren im Punkt $g$. + +\begin{aufgabe} +Gibt es eine Kurve $\gamma(t)\in\mathbb{GL}_n(\mathbb{R})$ mit +$\gamma(0)=e$ derart, dass der Tangentialvektor im Punkt $\gamma(t)$ +für $t>0$ derselbe ist wie der Tangentialvektor im Punkt $e$, transportiert +durch Matrixmultiplikation mit $\gamma(t)$? +\end{aufgabe} + +Eine solche Kurve muss die Differentialgleichung +\begin{equation} +\frac{d}{dt}\gamma(t) += +\gamma(t)\cdot A +\label{buch:gruppen:eqn:expdgl} +\end{equation} +erfüllen, wobei $A\in M_n(\mathbb{R})$ der gegebene Tangentialvektor +in $e=I$ ist. + +Die Matrixexponentialfunktion +\[ +e^{At} += +1+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\frac{A^4t^4}{4!}+\dots +\] +liefert eine Einparametergruppe +$\mathbb{R}\to \operatorname{GL}_n(\mathbb{R})$ mit der Ableitung +\[ +\frac{d}{dt} e^{At} += +\lim_{h\to 0} \frac{e^{A(t+h)}-e^{At}}{h} += +\lim_{h\to 0} e^{At}\frac{e^{Ah}-I}{h} += +e^{At} A. +\] +Sie ist also Lösung der Differentialgleichung~\eqref{buch:gruppen:eqn:expdgl}. + \subsection{Drehungen in der Ebene \label{buch:gruppen:drehungen2d}} +Die Drehungen der Ebene sind die orientierungserhaltenden Symmetrien +des Einheitskreises, der in Abbildung~\ref{buch:gruppen:fig:kartenkreis} +als Mannigfaltigkeit erkannt wurde. +Sie bilden eine Lie-Gruppe, die auf verschiedene Arten als Matrix +beschrieben werden kann. + +\subsubsection{Die Untergruppe +$\operatorname{SO}(2)\subset \operatorname{GL}_2(\mathbb{R})$} Drehungen der Ebene können in einer orthonormierten Basis durch Matrizen der Form \[ @@ -142,6 +215,21 @@ Funktion ist. $D_{\bullet}$ bildet die Menge der Winkel $[0,2\pi)$ bijektiv auf die Menge der Drehmatrizen in der Ebene ab. +Für jedes Intervall $(a,b)\subset\mathbb{R}$ mit Länge +$b-a < 2\pi$ ist die Abbildung $\alpha\mapsto D_{\alpha}$ umkehrbar, +die Umkehrung kann als Karte verwendet werden. +Zwei verschiedene Karten $\alpha_1\colon U_1\to\mathbb{R}$ und +$\alpha_2\colon U_2\to\mathbb{R}$ bilden die Elemente $g\in U_1\cap U_2$ +in Winkel $\alpha_1(g)$ und $\alpha_2(g)$ ab, für die +$D_{\alpha_1(g)}=D_{\alpha_2(g)}$ gilt. +Dies ist gleichbedeutend damit, dass $\alpha_1(g)=\alpha_2(g)+2\pi k$ +mit $k\in \mathbb{Z}$. +In einem Intervall in $U_1\cap U_2$ muss $k$ konstant sein. +Die Kartenwechselabblidung ist also nur die Addition eines Vielfachen +von $2\pi$, mit der identischen Abbildung als Ableitung. +Diese Karten führen also auf besonders einfache Kartenwechselabbildungen. + +\subsubsection{Die Untergruppe $S^1\subset\mathbb{C}$} Ein alternatives Bild für die Drehungen der Ebene kann man in der komplexen Ebene $\mathbb{C}$ erhalten. Die Multiplikation mit der komplexen Zahl $e^{i\alpha}$ beschreibt eine @@ -210,16 +298,60 @@ in die Gruppe $\operatorname{SO}(2)$. Die Menge der Drehmatrizen in der Ebene kann also mit dem Einheitskreis in der komplexen Ebene identifiziert werden. +\subsubsection{Tangentialvektoren von $\operatorname{SO}(2)$} +Da die Gruppe $\operatorname{SO}(2)$ eine eindimensionale Gruppe +ist, kann jede Kurve $\gamma(t)$ durch den Drehwinkel $\alpha(t)$ +mit $\gamma(t) = D_{\alpha(t)}$ beschrieben werden. +Die Ableitung in $M_2(\mathbb{R})$ ist +\begin{align*} +\frac{d}{dt} \gamma(t) +&= +\frac{d}{d\alpha} +\begin{pmatrix} +\cos\alpha(t) & - \sin\alpha(t)\\ +\sin\alpha(t) & \cos\alpha(t) +\end{pmatrix} +\cdot +\frac{d\alpha}{dt} +\\ +&= +\begin{pmatrix} +-\sin\alpha(t)&-\cos\alpha(t)\\ + \cos\alpha(t)&-\sin\alpha(t) +\end{pmatrix} +\cdot +\dot{\alpha}(t) +\\ +&= +\begin{pmatrix} +\cos\alpha(t) & - \sin\alpha(t)\\ +\sin\alpha(t) & \cos\alpha(t) +\end{pmatrix} +\begin{pmatrix} +0&-1\\ +1&0 +\end{pmatrix} +\cdot +\dot{\alpha}(t) += +D_{\alpha(t)}J\cdot\dot{\alpha}(t). +\end{align*} +Alle Tangentialvektoren von $\operatorname{SO}(2)$ im Punkt $D_\alpha$ +entstehen aus $J$ durch Drehung mit der Matrix $D_\alpha$ und Skalierung +mit $\dot{\alpha}(t)$. + % % Isometrien von R^n % \subsection{Isometrien von $\mathbb{R}^n$ \label{buch:gruppen:isometrien}} -Lineare Abbildungen der Ebene $\mathbb{R}^n$ mit dem üblichen Skalarprodukt -können durch $n\times n$-Matrizen beschrieben werden. -Die Matrizen, die das Skalarprodukt erhalten, bilden eine Gruppe, -die in diesem Abschnitt genauer untersucht werden soll. -Eine Matrix $A\in M_{2}(\mathbb{R})$ ändert das Skalarprodukt nicht, wenn + +\subsubsection{Skalarprodukt} +Lineare Abbildungen des Raumes $\mathbb{R}^n$ können durch +$n\times n$-Matrizen beschrieben werden. +Die Matrizen, die das Standardskalarprodukt $\mathbb{R}^n$ erhalten, +bilden eine Gruppe, die in diesem Abschnitt genauer untersucht werden soll. +Eine Matrix $A\in M_{n}(\mathbb{R})$ ändert das Skalarprodukt, wenn für jedes beliebige Paar $x,y$ von Vektoren gilt $\langle Ax,Ay\rangle = \langle x,y\rangle$. Das Standardskalarprodukt kann mit dem Matrixprodukt ausgedrückt werden: @@ -271,6 +403,60 @@ n^2 - \frac{n(n+1)}{2} \] Im Spezialfall $n=2$ ist die Gruppe $O(2)$ eindimensional. +\subsubsection{Tangentialvektoren} +Die orthogonalen Matrizen bilden eine abgeschlossene Untermannigfaltigkeit +von $\operatorname{GL}_n(\mathbb{R})$, nicht jede Matrix $M_n(\mathbb{R})$ +kann also ein Tangentialvektor von $O(n)$ sein. +Um herauszufinden, welche Matrizen als Tangentialvektoren in Frage +kommen, betrachten wir eine Kurve $\gamma\colon\mathbb{R}\to O(n)$ +von orthogonalen Matrizen mit $\gamma(0)=I$. +Orthogonal bedeutet +\[ +\begin{aligned} +&& +0 +&= +\frac{d}{dt}I += +\frac{d}{dt} +(\gamma(t)^t\gamma(t)) += +\dot{\gamma}(t)^t\gamma(t)) ++ +\gamma(t)^t\dot{\gamma}(t)) +\\ +&\Rightarrow& +0 +&= +\dot{\gamma}(0)^t \cdot I + I\cdot \dot{\gamma(0)} += +\dot{\gamma}(0)^t + \dot{\gamma}(0) += +A^t+A=0 +\\ +&\Rightarrow& +A^t&=-A +\end{aligned} +\] +Die Tangentialvektoren von $\operatorname{O}(n)$ sind also genau +die antisymmetrischen Matrizen. + +Für $n=2$ sind alle antisymmetrischen Matrizen Vielfache der Matrix +$J$, wie in Abschnitt~\ref{buch:gruppen:drehungen2d} +gezeigt wurde. + +Für jedes Paar $i0}\{(x,y)\;|\;x^2+y^2=1\wedge x>0\} \to +\varphi_1&\colon U_{x>0}\{(x,y)\;|\;x^2+y^2=1\wedge x>0\} \to\mathbb{R} : -(x,y) \mapsto y\\ -\varphi_2&\colon U_{x<0}\{(x,y)\;|\;x^2+y^2=1\wedge x<0\} \to +(x,y) \mapsto y +\\ +\varphi_2&\colon U_{x<0}\{(x,y)\;|\;x^2+y^2=1\wedge x<0\} \to\mathbb{R} : -(x,y) \mapsto y\\ -\varphi_3&\colon U_{y>0}\{(x,y)\;|\;x^2+y^2=1\wedge y>0\} \to +(x,y) \mapsto y +\\ +\varphi_3&\colon U_{y>0}\{(x,y)\;|\;x^2+y^2=1\wedge y>0\} \to\mathbb{R} : -(x,y) \mapsto x\\ -\varphi_4&\colon U_{y<0}\{(x,y)\;|\;x^2+y^2=1\wedge y<0\} \to +(x,y) \mapsto x +\\ +\varphi_4&\colon U_{y<0}\{(x,y)\;|\;x^2+y^2=1\wedge y<0\} \to\mathbb{R} : (x,y) \mapsto x \end{align*} @@ -493,13 +497,47 @@ Dasselbe gilt für $\varphi_3$ und $\varphi_4$. Die nichtleeren Schnittmengen der verschiedenen Kartengebiete beschreiben jeweils die Punkte der Kreislinie in einem Quadranten. -Die Umrechnung zwischen den Koordinaten erfolgt je nach Quadrant durch -\[ -x\mapsto y=\pm\sqrt{1-x^2\mathstrut} -\qquad\text{oder}\qquad -y\mapsto x=\pm\sqrt{1-y^2\mathstrut}, -\] -diese Abbildungen sind im offenen Intervall $(-1,1)$ differenzierbar, +Die Umrechnung zwischen den Koordinaten und ihre Ableitung +ist je nach Quadrant durch +\begin{align*} +&\text{1.~Quadrant}& +\varphi_{31} +&= +\varphi_3\circ\varphi_1^{-1}\colon y\mapsto\phantom{-}\sqrt{1-y^2\mathstrut} +& +D\varphi_{31} +&= +-\frac{y}{\sqrt{1-y^2\mathstrut}} +\\ +&\text{2.~Quadrant}& +\varphi_{24} +&= +\varphi_3\circ\varphi_1^{-1}\colon x\mapsto\phantom{-}\sqrt{1-x^2\mathstrut} +& +D\varphi_{24} +&= +-\frac{x}{\sqrt{1-x^2\mathstrut}} +\\ +&\text{3.~Quadrant}& +\varphi_{42} +&= +\varphi_3\circ\varphi_1^{-1}\colon y\mapsto-\sqrt{1-y^2\mathstrut} +& +D\varphi_{42} +&= +\phantom{-}\frac{y}{\sqrt{1-y^2\mathstrut}} +\\ +&\text{4.~Quadrant}& +\varphi_{14} +&= +\varphi_3\circ\varphi_1^{-1}\colon x\mapsto-\sqrt{1-x^2\mathstrut} +& +D\varphi_{14} +&= +\phantom{-}\frac{x}{\sqrt{1-x^2\mathstrut}} +\end{align*} +gegeben. +Diese Abbildungen sind im offenen Intervall $(-1,1)$ differenzierbar, Schwierigkeiten mit der Ableitungen ergeben sich nur an den Stellen $x=\pm1$ und $y=\pm 1$, die in einem Überschneidungsgebiet von Karten nicht vorkommen können. @@ -572,7 +610,9 @@ folgt durch Ableitung nach dem Kurvenparameter $t$, dass \[ \frac{d}{dt}\gamma_\beta(t) = -D\varphi_{\beta\alpha} \frac{d}{dt}\gamma_\alpha(t). +D\varphi_{\beta\alpha} +\cdot +\frac{d}{dt}\gamma_\alpha(t). \] Die Ableitung $D\varphi_{\beta\alpha}$ von $\varphi_{\beta\alpha}$ an der Stelle $\gamma_\alpha(t)$ berechnet also aus dem Tangentialvektor @@ -589,6 +629,91 @@ mit dem die Unmöglichkeit einer globalen Besschreibung einer Mannigfaltigkeit $M$ mit einem einzigen globalen Koordinatensystem ohne Singularitäten umgangen werden kann. +\begin{beispiel} +Das Beispiel des Kreises in Abbildung~\ref{buch:gruppen:fig:kartenkreis} +zeigt, dass die Tangentialvektoren je nach Karte sehr verschieden +aussehen können. +Der Tangentialvektor der Kurve $\gamma(t) = (x(t), y(t))$ im Punkt +$\gamma(t)$ ist $\dot{y}(t)$ in den Karten $\varphi_1$ und $\varphi_2$ +und $\dot{x}(t)$ in den Karten $\varphi_3$ und $\varphi_4$. + +Die spezielle Kurve $\gamma(t) = (\cos t,\sin t)$ hat in einem Punkt +$t\in (0,\frac{\pi}2)$. +in der Karte $\varphi_1$ den Tangentialvektor $\dot{y}(t)=\cos t$, +in der Karte $\varphi_3$ aber den Tangentialvektor $\dot{x}=-\sin t$. +Die Ableitung des Kartenwechsels in diesem Punkt ist die $1\times 1$-Matrix +\[ +D\varphi_{31}(\gamma(t)) += +-\frac{y(t)}{\sqrt{1-y(t)^2}} += +-\frac{\sin t}{\sqrt{1-\sin^2 t}} += +-\frac{\sin t}{\cos t} += +-\tan t. +\] +Die Koordinatenumrechnung ist gegeben durch +\[ +\dot{x}(t) += +D\varphi_{31}(\gamma(t)) +\dot{y}(t) +\] +wird für die spezielle Kurve $\gamma(t)=(\cos t,\sin t)$ wird dies zu +\[ +D\varphi_{31}(\gamma(t)) +\cdot +\dot{y}(t) += +-\tan t\cdot \cos t += +-\frac{\sin t}{\cos t}\cdot \cos t += +-\sin t += +\dot{x}(t). +\qedhere +\] +\end{beispiel} + +Betrachtet man die Kreislinie als Kurve in $\mathbb{R}^2$, +dann ist der Tangentialvektor durch +$\dot{\gamma}(t)=(\dot{x}(t),\dot{y}(t))$ gegeben. +Da die Karten Projektionen auf die $x$- bzw.~$y$-Achsen sind, +entsteht der Tangentialvektor in der Karte durch Projektion +von $(\dot{x}(t),\dot{y}(t))$ auf die entsprechende Komponente. + +Die Tangentialvektoren in zwei verschiedenen Punkten der Kurve können +im Allgemeinen nicht miteinander verglichen werden. +Darüber hinweg hilft auch die Tatsache nicht, dass die Kreislinie +in den Vektorraum $\mathbb{R}^2$ eingebettet sind, wo sich Vektoren +durch Translation miteinander vergleichen lassen. +Ein nichtverschwindender Tangentialvektor im Punkt $(1,0)$ hat, +betrachtet als Vektor in $\mathbb{R}^2$ verschwindende $x$-Komponente, +für Tangentialvektoren im Inneren eines Quadranten ist dies nicht +der Fall. + +Eine Möglichkeit, einen Tangentialvektor in $(1,0)$ mit einem +Tangentialvektor im Punkt $(\cos t,\sin t)$ zu vergleichen, besteht +darin, den Vektor um den Winkel $t$ zu drehen. +Dies ist möglich, weil die Kreislinie eine kontinuierliche Symmetrie, +nämlich die Drehung um den Winkel $t$ hat, die es erlaubt, den Punkt $(1,0)$ +in den Punkt $(\cos t,\sin t)$ abzubilden. +Erst diese Symmetrie ermöglicht den Vergleich. +Dieser Ansatz ist für alle Matrizen erfolgreich, wie wir später sehen werden. + +Ein weiterer Ansatz, Tangentialvektoren zu vergleichen, ist die Idee, +einen sogenannten Zusammenhang zu definieren, eine Vorschrift, wie +Tangentialvektoren infinitesimal entlang von Kurven in der Mannigfaltigkeit +transportiert werden können. +Auf einer sogenannten {\em Riemannschen Mannigfaltigkeit} ist zusätzlich +zur Mannigfaltigkeitsstruktur die Längenmessung definiert. +Sie kann dazu verwendet werden, den Transport von Vektoren entlang einer +Kurve so zu definieren, dass dabei Längen und Winkel erhalten bleiben. +Dieser Ansatz ist die Basis der Theorie der Krümmung sogenannter +Riemannscher Mannigfaltigkeiten. + \subsection{Der Satz von Noether \label{buch:subsection:noether}} -- cgit v1.2.1 From b2f142c6a525994a61484238b6ce0e6323863953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sun, 4 Apr 2021 19:37:26 +0200 Subject: fix typos --- buch/chapters/60-gruppen/images/Makefile | 5 +- buch/chapters/60-gruppen/images/scherungen.pdf | Bin 0 -> 24544 bytes buch/chapters/60-gruppen/images/scherungen.tex | 157 +++++++++++++++++++++++++ buch/chapters/60-gruppen/lie-gruppen.tex | 13 ++ 4 files changed, 174 insertions(+), 1 deletion(-) create mode 100644 buch/chapters/60-gruppen/images/scherungen.pdf create mode 100644 buch/chapters/60-gruppen/images/scherungen.tex (limited to 'buch') diff --git a/buch/chapters/60-gruppen/images/Makefile b/buch/chapters/60-gruppen/images/Makefile index 8824d75..3ed39e5 100644 --- a/buch/chapters/60-gruppen/images/Makefile +++ b/buch/chapters/60-gruppen/images/Makefile @@ -3,7 +3,7 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: phasenraum.pdf kartenkreis.pdf karten.pdf sl2.pdf +all: phasenraum.pdf kartenkreis.pdf karten.pdf sl2.pdf scherungen.pdf phasenraum.pdf: phasenraum.tex pdflatex phasenraum.tex @@ -20,3 +20,6 @@ karten.pdf: karten.tex torus.png sl2.pdf: sl2.tex pdflatex sl2.tex +scherungen.pdf: scherungen.tex + pdflatex scherungen.tex + diff --git a/buch/chapters/60-gruppen/images/scherungen.pdf b/buch/chapters/60-gruppen/images/scherungen.pdf new file mode 100644 index 0000000..c7f4988 Binary files /dev/null and b/buch/chapters/60-gruppen/images/scherungen.pdf differ diff --git a/buch/chapters/60-gruppen/images/scherungen.tex b/buch/chapters/60-gruppen/images/scherungen.tex new file mode 100644 index 0000000..893bd12 --- /dev/null +++ b/buch/chapters/60-gruppen/images/scherungen.tex @@ -0,0 +1,157 @@ +% +% scherungen.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{blau}{rgb}{0,0.8,1} +\definecolor{blau}{rgb}{0,0.6,0} +\def\s{1.1} + +\begin{scope}[xshift=-4.6cm] + + \fill[color=blue!20] (0,0) rectangle (2,2); + \fill[color=red!40,opacity=0.5] (0,0) -- (2,\s) -- (2,{2+\s}) -- (0,2) + -- cycle; + + \foreach \x in {-1,...,3}{ + \draw[color=blau] (\x,-1) -- (\x,3); + \draw[color=blau] (-1,\x) -- (3,\x); + } + + \begin{scope} + \clip (-1,-1) rectangle (3,3); + \foreach \x in {-1,...,3}{ + \draw[color=orange] (\x,-1) -- (\x,3); + \draw[color=orange] (-1,{\x-0.5*\s}) -- (3,{\x+1.5*\s}); + } + \end{scope} + + \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; + + \node[color=blue] at (0,2) [above left] {$1$}; + \node[color=blue] at (2,0) [below right] {$1$}; + \draw[->,color=blue] (0,0) -- (2,0); + \draw[->,color=blue] (0,0) -- (0,2); + + \draw[->,color=red] (0,0) -- (2,\s); + \draw[->,color=red] (0,0) -- (0,2); + + \node[color=red] at (2,\s) [below right] {$(1,t)$}; + + \node at (0,0) [below right] {$O$}; + \node at (1,-1.1) [below] {$\displaystyle + \begin{aligned} + M &= \begin{pmatrix}0&0\\1&0 \end{pmatrix} + \\ + e^{Mt} + &= + \begin{pmatrix}1&0\\t&1 \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\begin{scope} + \fill[color=blue!20] (0,0) rectangle (2,2); + \fill[color=red!40,opacity=0.5] (0,0) -- (2,0) -- ({2+\s},2) -- (\s,2) + -- cycle; + + \foreach \x in {-1,...,3}{ + \draw[color=blau] (\x,-1) -- (\x,3); + \draw[color=blau] (-1,\x) -- (3,\x); + } + + \begin{scope} + \clip (-1,-1) rectangle (3,3); + \foreach \x in {-1,...,3}{ + \draw[color=orange] (-1,\x) -- (3,\x); + \draw[color=orange] ({\x-0.5*\s},-1) -- ({\x+1.5*\s},3); + } + \end{scope} + + \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; + + \node[color=blue] at (0,2) [above left] {$1$}; + \node[color=blue] at (2,0) [below right] {$1$}; + \draw[->,color=blue] (0,0) -- (2,0); + \draw[->,color=blue] (0,0) -- (0,2); + + \draw[->,color=red] (0,0) -- (2,0); + \draw[->,color=red] (0,0) -- (\s,2); + + \node[color=red] at (\s,2) [above left] {$(t,1)$}; + + \node at (0,0) [below right] {$O$}; + + \node at (1,-1.1) [below] {$\displaystyle + \begin{aligned} N &= \begin{pmatrix}0&1\\0&0 \end{pmatrix} + \\ + e^{Nt} + &= + \begin{pmatrix}1&t\\0&1 \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\begin{scope}[xshift=3.6cm,yshift=0cm] + \def\punkt#1#2{({1.6005*(#1)+0.4114*(#2)},{-0.2057*(#1)+0.5719*(#2)})} + \fill[color=blue!20] (0,0) rectangle (2,2); + \fill[color=red!40,opacity=0.5] + (0,0) -- \punkt{2}{0} -- \punkt{2}{2} -- \punkt{0}{2} -- cycle; + + \foreach \x in {0,...,4}{ + \draw[color=blau] (\x,-1) -- (\x,3); + } + \foreach \y in {-1,...,3}{ + \draw[color=blau] (0,\y) -- (4,\y); + } + + \begin{scope} + \clip (-0,-1) rectangle (4,3); + \foreach \x in {-1,...,6}{ + \draw[color=orange] \punkt{\x}{-3} -- \punkt{\x}{6}; + \draw[color=orange] \punkt{-3}{\x} -- \punkt{6}{\x}; + } + \end{scope} + + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; + + \node[color=blue] at (0,2) [above left] {$1$}; + \node[color=blue] at (2,0) [below right] {$1$}; + \draw[->,color=blue] (0,0) -- (2,0); + \draw[->,color=blue] (0,0) -- (0,2); + + \draw[->,color=red] (0,0) -- \punkt{2}{0}; + \draw[->,color=red] (0,0) -- \punkt{0}{2}; + + \node at (0,0) [below right] {$O$}; + + \node at (2,-1.1) [below] {$\displaystyle + \begin{aligned} D &= \begin{pmatrix}0.5&0.4\\-0.2&-0.5 \end{pmatrix} + \\ + e^{D\cdot 1} + &= + \begin{pmatrix} + 1.6005 & 0.4114\\ + -0.2057 & 0.5719 + \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/lie-gruppen.tex b/buch/chapters/60-gruppen/lie-gruppen.tex index 6d2531a..d6fc007 100644 --- a/buch/chapters/60-gruppen/lie-gruppen.tex +++ b/buch/chapters/60-gruppen/lie-gruppen.tex @@ -768,8 +768,21 @@ auch diese Matrizen sind flächenerhaltend. \caption{Tangentialvektoren und die davon erzeugen Einparameteruntergruppen für die Lie-Gruppe $\operatorname{SL}_2(\mathbb{R})$ der flächenerhaltenden linearen Abbildungen von $\mathbb{R}^2$. +In allen drei Fällen wird ein blauer Rhombus mit den Ecken in den +Standardbasisvektoren von einer Matrix der Einparameteruntergruppe zu +zum roten Viereck verzerrt, der Flächeninhalt bleibt aber erhalten. +In den beiden Fällen $B$ und $C$ stellen die grünen Kurven die Bahnen +der Bilder der Standardbasisvektoren dar. \label{buch:gruppen:fig:sl2}} \end{figure}% +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/scherungen.pdf} +\caption{Weitere Matrizen mit Spur $0$ und ihre Wirkung +Die inken beiden Beispiele $M$ und $N$ sind nilpotente Matrizen, +die zugehörigen Einparameter-Untergruppen beschreiben Schwerungen. +\label{buch:gruppen:fig:scherungen}} +\end{figure} \end{beispiel} % -- cgit v1.2.1 From 6fd28b0754e453e3f843b6fbe6493022a846f618 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sun, 4 Apr 2021 22:48:42 +0200 Subject: Lie-Algebra stuff --- buch/chapters/60-gruppen/chapter.tex | 2 +- buch/chapters/60-gruppen/lie-algebren.tex | 718 +++++++++++++++++++++++------- buch/chapters/references.bib | 10 + 3 files changed, 562 insertions(+), 168 deletions(-) (limited to 'buch') diff --git a/buch/chapters/60-gruppen/chapter.tex b/buch/chapters/60-gruppen/chapter.tex index c2aa68d..8472b58 100644 --- a/buch/chapters/60-gruppen/chapter.tex +++ b/buch/chapters/60-gruppen/chapter.tex @@ -35,7 +35,7 @@ Zusammenhangs darzustellen. \input{chapters/60-gruppen/symmetrien.tex} \input{chapters/60-gruppen/lie-gruppen.tex} \input{chapters/60-gruppen/lie-algebren.tex} -\input{chapters/60-gruppen/homogen.tex} +%\input{chapters/60-gruppen/homogen.tex} diff --git a/buch/chapters/60-gruppen/lie-algebren.tex b/buch/chapters/60-gruppen/lie-algebren.tex index 366d280..cee8510 100644 --- a/buch/chapters/60-gruppen/lie-algebren.tex +++ b/buch/chapters/60-gruppen/lie-algebren.tex @@ -29,234 +29,618 @@ Lie-Algebra von $\operatorname{SO}(3)$ mit dem Vektorprodukt in $\mathbb{R}^3$ übereinstimmt. % -% Tangentialvektoren und SO(2) +% Die Lie-Algebra einer Matrizengruppe +% +\subsection{Lie-Algebra einer Matrizengruppe +\label{buch:section:lie-algebra-einer-matrizengruppe}} +Zu jedem Tangentialvektor $A$ im Punkt $I$ einer Matrizengruppe gibt es +eine Einparameteruntergruppe, die mit Hilfe der Exponentialfunktion +$e^{At}$ konstruiert werden kann. +Für die folgende Konstruktion arbeiten wir in der Gruppe +$\operatorname{GL}_n(\mathbb{R})$, in der jede Matrix auch ein +Tangentialvektor ist. +Wir werden daraus die Lie-Klammer ableiten und später verifizieren, +dass diese auch für die Tangentialvektoren der Gruppen +$\operatorname{SO}(n)$ oder $\operatorname{SL}_n(\mathbb{R})$ funktioniert. + +\subsubsection{Lie-Klammer} +Zu zwei verschiedenen Tagentialvektoren $A\in M_n(\mathbb{R})$ und +$B\in M_n(\mathbb{R})$ gibt es zwei verschiedene Einparameteruntergruppen +$e^{At}$ und $e^{Bt}$. +Wenn die Matrizen $A$ und $B$ oder die Einparameteruntergruppen +$e^{At}$ und $e^{Bt}$ vertauschbar sind, dann stimmen +$e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ nicht überein. +Die zugehörigen Potenzreihen sind: +\begin{align*} +e^{At} +&= +I+At + \frac{A^2t^2}{2!} + \frac{A^3t^3}{3!} + \dots +\\ +e^{Bt} +&= +I+Bt + \frac{B^2t^2}{2!} + \frac{B^3t^3}{3!} + \dots +\\ +e^{At}e^{Bt} +&= +\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) +\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) +\\ +&= +I+(A+B)t + \biggl(\frac{A^2}{2!}+AB+\frac{B^2}{2!}\biggr)t^2 +\dots +\\ +e^{Bt}e^{At} +&= +\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) +\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) +\\ +&= +I+(B+A)t + \biggl(\frac{B^2}{2!}+BA+\frac{A^2}{2!}\biggr)t^2 +\dots +\intertext{% +Die beiden Kurven $e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ haben zwar den gleichen +Tangentialvektor für $t=0$, sie unterscheiden +sich aber untereinander, und sie unterscheiden sich von der +Einparameteruntergruppe von $A+B$} +e^{(A+B)t} +&= +I + (A+B)t + \frac{t^2}{2}(A^2 + AB + BA + B^2) + \ldots +\intertext{Für die Unterschiede finden wir} +e^{At}e^{Bt} - e^{(A+B)t} +&= +\biggl(AB-\frac{AB+BA}2\biggr)t^2 ++\ldots += +(AB-BA) \frac{t^2}{2} + \ldots += +[A,B]\frac{t^2}{2}+\ldots +\\ +e^{Bt}e^{At} - e^{(A+B)t} +&= +\biggl(BA-\frac{AB+BA}2\biggr)t^2 ++\ldots += +(BA-AB) +\frac{t^2}{2} ++\ldots += +-[A,B]\frac{t^2}{2} +\\ +e^{At}e^{Bt}-e^{Bt}e^{At} +&= +(AB-BA)t^2+\ldots += +\phantom{-}[A,B]t^2+\ldots +\end{align*} +wobei mit $[A,B]=AB-BA$ abgekürzt wird. + +\begin{definition} +\label{buch:gruppen:def:kommutator} +Der Kommutator zweier Matrizen $A,B\in M_n(\mathbb{R})$ ist die Matrix +$[A,B]=AB-BA$. +\end{definition} + +Der Kommutator ist bilinear und antisymmetrisch, da +\begin{align*} +[\lambda A+\mu B,C] +&= +\lambda AC+\mu BC-\lambda CA -\mu CB += +\lambda[A,C]+\mu[B,C] +\\ +[A,\lambda B+\mu C] +&= +\lambda AB + \mu AC - \lambda BA - \mu CA += +\lambda[A,B]+\mu[A,C] +\\ +[A,B] +&= +AB-BA = -(BA-AB) = -[B,A]. +\end{align*} +Aus der letzten Bedingung folgt insbesodnere $[A,A]=0$ + +Der Kommutator $[A,B]$ misst in niedrigster Ordnung den Unterschied +zwischen den $e^{At}$ und $e^{Bt}$. +Der Kommutator der Tangentialvektoren $A$ und $B$ bildet also die +Nichtkommutativität der Matrizen $e^{At}$ und $e^{Bt}$ ab. + + +\subsubsection{Die Jacobi-Identität} +Der Kommutator hat die folgende zusätzliche algebraische Eigenschaft: +\begin{align*} +[A,[B,C]] ++ +[B,[C,A]] ++ +[C,[A,B]] +&= +[A,BC-CB] ++ +[B,CA-AC] ++ +[C,AB-BA] +\\ +&=\phantom{+} +ABC-ACB-BCA+CBA +\\ +&\phantom{=}+ +BCA-BAC-CAB+ACB +\\ +&\phantom{=}+ +CAB-CBA-ABC+BAC +\\ +&=0. +\end{align*} +Diese Eigenschaft findet man auch bei anderen Strukturen, zum Beispiel +bei Vektorfeldern, die man als Differentialoperatoren auf Funktionen +betrachten kann. +Man kann dann einen Kommutator $[X,Y]$ für zwei Vektorfelder +$X$ und $Y$ definieren. +Dieser Kommutator von Vektorfeldern erfüllt ebenfalls die gleiche +Identität. + +\begin{definition} +\label{buch:gruppen:def:jacobi} +Ein bilineares Produkt $[\;,\;]\colon V\times V\to V$ auf dem Vektorraum +erfüllt die {\em Jacobi-Identität}, wenn +\[ +[u,[v,w]] + [v,[w,u]] + [w,[u,v]]=0 +\] +ist für beliebige Vektoren $u,v,w\in V$. +\end{definition} + +\subsubsection{Lie-Algebra} +Die Tangentialvektoren einer Lie-Gruppe tragen also mit dem Kommutator +eine zusätzliche Struktur, nämlich die Struktur einer Lie-Algebra. + +\begin{definition} +Ein Vektorraum $V$ mit einem bilinearen, Produkt +\[ +[\;,\;]\colon V\times V \to V : (u,v) \mapsto [u,v], +\] +welches zusätzlich die Jacobi-Identität~\ref{buch:gruppen:def:jacobi} +erfüllt, heisst eine {\em Lie-Algebra}. +\end{definition} + +Die Lie-Algebra einer Lie-Gruppe $G$ wird mit $LG$ bezeichnet. +$LG$ besteht aus den Tangentialvektoren im Punkt $I$. +Die Exponentialabbildung $\exp\colon LG\to G:A\mapsto e^A$ +ist eine differenzierbare Abbildung von $LG$ in die Gruppe $G$. +Insbesondere kann die Inverse der Exponentialabbildung als eine +Karte in einer Umgebung von $I$ verwendet werden. + +Für die Lie-Algebren der Matrizengruppen, die früher definiert worden +sind, verwenden wir die als Notationskonvention, dass der Name der +Lie-Algebra der mit kleinen Buchstaben geschrieben Name der Lie-Gruppe ist. +Die Lie-Algebra von $\operatorname{SO}(n)$ ist also +$L\operatorname{SO}(n) = \operatorname{os}(n)$, +die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ ist +$L\operatorname{SL}_n(\mathbb{R})=\operatorname{sl}_n(\mathbb{R})$. + + % -\subsection{Tangentialvektoren und $\operatorname{SO}(2)$} -Die Drehungen in der Ebene können reell als Matrizen der Form +% Die Lie-Algebra von SO(3) +% +\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$ +\label{buch:subsection:die-lie-algebra-von-so3}} +Zur Gruppe $\operatorname{SO}(3)$ der Drehmatrizen gehört die Lie-Algebra +$\operatorname{so}(3)$ der antisymmetrischen $3\times 3$-Matrizen. +Solche Matrizen haben die Form \[ -D_{\alpha} +\Omega = \begin{pmatrix} -\cos\alpha&-\sin\alpha\\ -\sin\alpha& \cos\alpha + 0 & \omega_3&-\omega_2\\ +-\omega_3& 0 & \omega_1\\ + \omega_2&-\omega_1& 0 \end{pmatrix} \] -als eidimensionale Kurve innerhalb von $M_2(\mathbb{R})$ beschrieben -werden. -Alternativ können Drehungen um den Winkel $\alpha$ als mit Hilfe von -der Abbildung -$ -\alpha\mapsto e^{i\alpha} -$ -als komplexe Zahlen vom Betrag $1$ beschrieben werden. -Dies sind zwei verschiedene Parametrisierungen der gleichen -geometrischen Transformation. - -Die Ableitung nach $\alpha$ ist $ie^{i\alpha}$, der Tangentialvektor -im Punkt $e^{i\alpha}$ ist also $ie^{i\alpha}$. -Die Multiplikation mit $i$ ist die Drehung um $90^\circ$, der Tangentialvektor -ist also der um $90^\circ$ gedrehte Ortsvektor zum Punkt auf der Kurve. +Der Vektorraum $\operatorname{so}(3)$ ist also dreidimensional. -In der Darstelllung als $2\times 2$-Matrix ist die Ableitung +Die Wirkung von $I+t\Omega$ auf einem Vektor $x$ ist \[ -\frac{d}{d\alpha}D_\alpha +(I+t\Omega) +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} = -\frac{d}{d\alpha} \begin{pmatrix} -\cos\alpha& -\sin\alpha\\ -\sin\alpha& \cos\alpha + 1 & t\omega_3&-t\omega_2\\ +-t\omega_3& 1 & t\omega_1\\ + t\omega_2&-t\omega_1& 1 \end{pmatrix} +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} = \begin{pmatrix} --\sin\alpha & -\cos\alpha \\ - \cos\alpha & -\sin\alpha +x_1-t(-\omega_3x_2+\omega_2x_3)\\ +x_2-t( \omega_3x_1-\omega_1x_3)\\ +x_3-t(-\omega_2x_1+\omega_1x_2) +\end{pmatrix} += +x- t\begin{pmatrix}\omega_1\\\omega_2\\\omega_3\end{pmatrix}\times x += +x+ tx\times \omega. +\] +Die Matrix $\Omega$ ist als die infinitesimale Version einer Drehung +um die Achse $\omega$. + +Wir können die Analogie zwischen Matrizen in $\operatorname{so}(3)$ und +Vektoren in $\mathbb R^3$ noch etwas weiter treiben. Zu jedem Vektor +in $\mathbb R^3$ konstruieren wir eine Matrix in $\operatorname{so}(3)$ +mit Hilfe der Abbildung +\[ +\mathbb R^3\to\operatorname{so}(3) +: +\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix} +\mapsto +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 \end{pmatrix}. \] -Die rechte Seite kann wieder mit der Drehmatrix $D_\alpha$ geschrieben -werden, es ist nämlich +Der Kommutator von zwei so aus Vektoren $\vec u$ und $\vec v$ +konstruierten Matrizen $U$ und $V$ ist: +\begin{align*} +[U,V] +&= +UV-VU +\\ +&= +\begin{pmatrix} + 0 & u_3&-u_1\\ +-u_3& 0 & u_2\\ + u_1&-u_2& 0 +\end{pmatrix} +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 +\end{pmatrix} +- +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 +\end{pmatrix} +\begin{pmatrix} + 0 & u_3&-u_1\\ +-u_3& 0 & u_2\\ + u_1&-u_2& 0 +\end{pmatrix} +\\ +&= +\begin{pmatrix} +u_3v_3+u_1v_1 - u_3v_3 - u_1v_1 + & u_1v_2 - u_2v_1 + & u_3v_2 - u_2v_3 +\\ +u_2v_1 - u_1v_2 + & -u_3v_3-u_2v_2 + u_3v_3+u_2v_2 + & u_3v_1 - u_1v_3 +\\ +u_2v_3 - u_3v_2 + & u_1v_3 - u_3v_1 + &-u_1v_1-u_2v_2 u_1v_1+u_2v_2 +\end{pmatrix} +\\ +&= +\begin{pmatrix} +0 + & u_1v_2 - u_2v_1 + &-(u_2v_3-u_3v_2) +\\ +-( u_1v_2 - u_2v_1) + & 0 + & u_3v_1 - u_1v_3 +\\ +u_2v_3 - u_3v_2 + &-( u_3v_1 - u_1v_3) + & 0 +\end{pmatrix} +\end{align*} +Die Matrix $[U,V]$ gehört zum Vektor $\vec u\times\vec v$. +Damit können wir aus der Jacobi-Identität jetzt folgern, dass +\[ +\vec u\times(\vec v\times w) ++ +\vec v\times(\vec w\times u) ++ +\vec w\times(\vec u\times v) +=0 +\] +für drei beliebige Vektoren $\vec u$, $\vec v$ und $\vec w$ ist. +Dies bedeutet, dass der dreidimensionale Vektorraum $\mathbb R^3$ +mit dem Vektorprodukt zu einer Lie-Algebra wird. +In der Tat verwenden einige Bücher statt der vertrauten Notation +$\vec u\times \vec v$ für das Vektorprodukt die aus der Theorie der +Lie-Algebren entlehnte Notation $[\vec u,\vec v]$, zum Beispiel +das Lehrbuch der Theoretischen Physik \cite{skript:landaulifschitz1} +von Landau und Lifschitz. + +Die Lie-Algebren sind vollständig klassifiziert worden, es gibt +keine nicht trivialen zweidimensionalen Lie-Algebren. +Unser dreidimensionaler Raum ist also auch in dieser Hinsicht speziell: +es ist der kleinste Vektorraum, in dem eine nichttriviale Lie-Algebra-Struktur +möglich ist. + +Die antisymmetrischen Matrizen \[ -\frac{d}{d\alpha}D_\alpha +\omega_{23} += +\begin{pmatrix} 0&1&0\\-1&0&0\\0&0&0\end{pmatrix} +\quad +\omega_{31} = +\begin{pmatrix} 0&0&-1\\0&0&0\\1&0&0\end{pmatrix} +\quad +\omega_{12} += +\begin{pmatrix} 0&0&0\\0&0&1\\0&-1&0\end{pmatrix} +\] +haben die Kommutatoren +\begin{equation} +\begin{aligned} +[\omega_{23},\omega_{31}] +&= \begin{pmatrix} --\sin\alpha & -\cos\alpha \\ - \cos\alpha & -\sin\alpha +0&0&0\\ +0&0&1\\ +0&-1&0 \end{pmatrix} = +\omega_{12} +\\ +[\omega_{31},\omega_{12}] +&= \begin{pmatrix} -\cos\alpha & -\sin\alpha\\ -\sin\alpha & \cos\alpha +0&1&0\\ +-1&0&0\\ +0&0&0 \end{pmatrix} += +\omega_{23} +\\ +[\omega_{12},\omega_{23}] +&= \begin{pmatrix} -0&-1\\ -1& 0 +0&0&-1\\ +0&0&0\\ +1&0&0 \end{pmatrix} = -D_\alpha J. -\] -Der Tangentialvektor an die Kurve $\alpha\mapsto D_\alpha$ innerhalb -$M_2(\mathbb{R})$ im Punkt $D_\alpha$ ist also die Matrix -$JD_\alpha$. -Die Matrix $J$ ist die Drehung um $90^\circ$, denn $J=D_{\frac{\pi}2}$. -Der Zusammenhang zwischen dem Punkt $D_\alpha$ und dem Tangentialvektor -ist also analog zur Beschreibug mit komplexen Zahlen. +\omega_{31} +\end{aligned} +\label{buch:gruppen:eqn:so3-kommutatoren} +\end{equation} -Im Komplexen vermittelt die Exponentialfunktion den Zusammenhang zwischen -dem Winkel $\alpha$ und dre Drehung $e^{i\alpha}$. -Der Grund dafür ist natürlich die Differentialgleichung +\subsection{Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$} +Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ besteht aus den +spurlosen Matrizen in $M_n(\mathbb{R})$. +Der Kommutator solcher Matrizen erfüllt +\[ +\operatorname{Spur}([A,B]) += +\operatorname{Spur}(AB-BA) += +\operatorname{Spur}(AB)-\operatorname{Spur}(BA) += +0, +\] +somit ist \[ -\frac{d}{d\alpha} z(\alpha) = iz(\alpha). +\operatorname{sl}_n(\mathbb{R}) += +\{ +A\in M_n(\mathbb{R})\;|\; \operatorname{Spur}(A)=0 +\} \] -Die analoge Differentialgleichung +mit dem Kommutator eine Lie-Algebra. + +% +% Die Lie-Algebra von U(n) +% +\subsection{Die Lie-Algebra von $\operatorname{U}(n)$} +Die Lie-Gruppe \[ -\frac{d}{d\alpha} D_\alpha = J D_\alpha +U(n) += +\{ +A\in M_n(\mathbb{C} +\;|\; +AA^*=I +\} \] -führt auf die Matrix-Exponentialreihe +heisst die unitäre Gruppe, sie besteht aus den Matrizen, die +das sesquilineare Standardskalarprodukt auf dem komplexen +Vektorraum $\mathbb{C}^n$ invariant lassen. +Sei eine $\gamma(t)$ ein differenzierbare Kurve in $\operatorname{U}(n)$ +derart, dass $\gamma(0)=I$. +Die Ableitung der Identität $AA^*=I$ führt dann auf \begin{align*} -D_\alpha +0 = -\exp (J\alpha) -&= -\sum_{k=0}^\infty \frac{(J\alpha)^k}{k!} +\frac{d}{dt} +\gamma(t)\gamma(t)^* +\bigg|_{t=0} = -I\biggl( -1-\frac{\alpha^2}{2!} + \frac{\alpha^4}{4!} -\frac{\alpha^6}{6!}+\dots -\biggr) +\dot{\gamma}(0)\gamma(0)^* + -J\biggl( -\alpha - \frac{\alpha^3}{3!} -+ \frac{\alpha^5}{5!} -- \frac{\alpha^7}{7!}+\dots -\biggr) -\\ -&= -I\cos\alpha +\gamma(0)\dot{\gamma}(0)^* += +\dot{\gamma}(0) + -J\sin\alpha, +\dot{\gamma}(0)^* +\quad\Rightarrow\quad +\dot{\gamma}(0)&=-\dot{\gamma}(0)^*. +A&=-A^* \end{align*} -welche der Eulerschen Formel $e^{i\alpha} = \cos\alpha + i \sin\alpha$ -analog ist. - -In diesem Beispiel gibt es nur eine Tangentialrichtung und alle in Frage -kommenden Matrizen vertauschen miteinander. -Es ist daher nicht damit zu rechnen, dass sich eine interessante -Algebrastruktur für die Ableitungen konstruieren lässt. - -% -% Die Lie-Algebra einer Matrizengruppe -% -\subsection{Lie-Algebra einer Matrizengruppe} -Das eindimensionale Beispiel $\operatorname{SO}(2)$ hat gezeigt, dass -die Tangentialvektoren in einem beliebigen Punkt $D_\alpha$ aus dem -Tangentialvektor im Punkt $I$ durch Anwendung der Drehung hervorgehen, -die $I$ in $D_\alpha$ abbildet. -Die Drehungen einer eindimensionalen Untergruppe transportieren daher -den Tangentialvektor in $I$ entlang der Kurve auf jeden beliebigen -anderen Punkt. -Zu jedem Tangentialvektor im Punkt $I$ dürfte es daher genau eine -eindimensionale Untergruppe geben. +Die Lie-Algebra $\operatorname{u}(n)$ besteht daher aus den antihermiteschen +Matrizen. -Sei die Abbildung $\varrho\colon\mathbb{R}\to G$ eine Einparameter-Untergruppe -von $G\subset M_n(\mathbb{R})$. -Durch Ableitung der Gleichung $\varrho(t+x) = \varrho(t)\varrho(x)$ nach -$x$ folgt die Differentialgleichung -\[ -\varrho'(t) +Wir sollten noch verifizieren, dass der Kommutator zweier antihermiteschen +Matrizen wieder anithermitesch ist: +\begin{align*} +[A,B]^* +&= +(AB-BA)^* = -\frac{d}{dx}\varrho(t+x)\bigg|_{x=0} +B^*A^*-A^*B^* = -\varrho(t) \frac{d}{dx}\varrho(0)\bigg|_{x=0} +BA - AB = -\varrho(t) \varrho'(0). -\] -Der Tangentialvektor in $\varrho'(t)$ in $\varrho(t)$ ist daher -der Tangentialvektor $\varrho'(0)$ in $I$ transportiert in den Punkt -$\varrho(t)$ mit Hilfe der Matrix $\varrho(t)$. +-[B,A]. +\end{align*} -Aus der Differentialgleichung folgt auch, dass +Eine antihermitesche Matrix erfüllt $a_{ij}=-\overline{a}_{ji}$, +für die Diagonalelemente folgt daher $a_{ii} = -\overline{a}_{ii}$ +oder $\overline{a}_{ii}=-a_{ii}$. +Der Realteil von $a_{ii}$ ist \[ -\varrho(t) = \exp (t\varrho'(0)). +\Re a_{ii} += +\frac{a_{ii}+\overline{a}_{ii}}2 += +0, \] -Zu einem Tangentialvektor in $I$ kann man also immer die -Einparameter-Untergruppe mit Hilfe der Differentialgleichung -oder der expliziten Exponentialreihe rekonstruieren. +die Diagonalelemente einer antihermiteschen Matrix sind daher rein +imaginär. -Die eindimensionale Gruppe $\operatorname{SO}(2)$ ist abelsch und -hat einen eindimensionalen Tangentialraum, man kann also nicht mit -einer interessanten Algebrastruktur rechnen. -Für eine höherdimensionale, nichtabelsche Gruppe sollte sich aus -der Tatsache, dass es verschiedene eindimensionale Untergruppen gibt, -deren Elemente nicht mit den Elemente einer anderen solchen Gruppe -vertauschen, eine interessante Algebra konstruieren lassen, deren -Struktur die Nichtvertauschbarkeit wiederspiegelt. -Seien also $A$ und $B$ Tangentialvektoren einer Matrizengruppe $G$, -die zu den Einparameter-Untergruppen $\varphi(t)=\exp At$ und -$\varrho(t)=\exp Bt$ gehören. -Insbesondere gilt $\varphi'(0)=A$ und $\varrho'(0)=B$. -Das Produkt $\pi(t)=\varphi(t)\varrho(t)$ ist allerdings nicht notwendigerweise -eine Einparametergruppe, denn dazu müsste gelten +% +% Die Lie-Algebra SU(2) +% +\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$} +Die Lie-Algebra $\operatorname{su}(n)$ besteht aus den +spurlosen antihermiteschen Matrizen. +Sie erfüllen daher die folgenden Bedingungen: +\[ +A=\begin{pmatrix}a&b\\c&d\end{pmatrix} +\qquad +\text{mit} +\qquad +\left\{ +\begin{aligned} +a+d&=0&&\Rightarrow& a=is = -d +\\ +b^*&=-c +\end{aligned} +\right. +\] +Damit hat $A$ die Form +\begin{align*} +A=\begin{pmatrix} +is&u+iv\\ +-u+iv&-is +\end{pmatrix} +&= +s +\begin{pmatrix} +i&0\\ +0&-i +\end{pmatrix} ++ +u +\begin{pmatrix} + 0&1\\ +-1&0 +\end{pmatrix} ++ +v +\begin{pmatrix} +0&i\\ +i&0 +\end{pmatrix} +\\ +&= +iv\underbrace{\begin{pmatrix}0&1\\1&0\end{pmatrix}}_{\displaystyle=\sigma_1} ++ +iu\underbrace{\begin{pmatrix}0&-i\\i&0\end{pmatrix}}_{\displaystyle=\sigma_2} ++ +is\underbrace{\begin{pmatrix}1&0\\0&-1\end{pmatrix}}_{\displaystyle=\sigma_3} +\end{align*} +Diese Matrizen heissen die {\em Pauli-Matrizen}, sie haben die Kommutatoren \begin{align*} -\pi(t+s) +[\sigma_1,\sigma_2] &= -\varphi(t+s)\varrho(t+s) +\begin{pmatrix}0&1\\1&0\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +- +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +\begin{pmatrix}0&1\\1&0\end{pmatrix} += +2\begin{pmatrix}i&0\\0&-i \end{pmatrix} = -\varphi(t)\varphi(s)\varrho(t)\varrho(s) +2i\sigma_3, \\ +[\sigma_2,\sigma_3] +&= +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +- +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} += +2 +\begin{pmatrix}0&i\\i&0\end{pmatrix} = -\pi(t)\pi(s) +2i\sigma_1. +\\ +[\sigma_1,\sigma_3] &= -\varphi(t)\varrho(t)\varphi(s)\varrho(s) +\begin{pmatrix}0&1\\1&0\end{pmatrix} +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +- +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +\begin{pmatrix}0&1\\1&0\end{pmatrix} += +2i +\begin{pmatrix}0&-1\\1&0\end{pmatrix} += +2i\sigma_2, \end{align*} -Durch Multiplikation von links mit $\varphi(t)^{-1}$ und -mit $\varrho(s)^{-1}$ von rechts folgt, dass dies genau dann gilt, -wenn -\[ -\varphi(s)\varrho(t)=\varrho(t)\varphi(s). -\] -Die beiden Seiten dieser Gleichung sind erneut verschiedene Punkte -in $G$. -Durch Multiplikation mit $\varrho(t)^{-1}$ von links und mit -$\varphi(s)^{-1}$ von rechts erhält man die äquivaliente -Bedingung -\begin{equation} -\varrho(-t)\varphi(s)\varrho(t)\varphi(-s)=I. -\label{buch:lie:konjugation} -\end{equation} -Ist die Gruppe $G$ nicht kommutativ, kann man nicht -annehmen, dass diese Bedingung erfüllt ist. - -Aus \eqref{buch:lie:konjugation} erhält man jetzt eine Kurve -\[ -t \mapsto \gamma(t,s) = \varrho(-t)\varphi(s)\varrho(t)\varphi(-s) \in G -\] -in der Gruppe, die für $t=0$ durch $I$ geht. -Ihren Tangentialvektor kann man durch Ableitung bekommen: +Bis auf eine Skalierung stimmt dies überein mit den Kommutatorprodukten +der Matrizen $\omega_{23}$, $\omega_{31}$ und $\omega_{12}$ +in \eqref{buch:gruppen:eqn:so3-kommutatoren}. +Die Matrizen $-\frac12i\sigma_j$ haben die Kommutatorprodukte \begin{align*} -\frac{d}{dt}\gamma(t,s) +\bigl[-{\textstyle\frac12}i\sigma_1,-{\textstyle\frac12}i\sigma_2\bigr] +&= +-{\textstyle\frac14}[\sigma_1,\sigma_2] += +-{\textstyle\frac14}\cdot 2i\sigma_3 += +-{\textstyle\frac12}i\sigma_3 +\\ +\bigl[-{\textstyle\frac12}i\sigma_2,-{\textstyle\frac12}i\sigma_3\bigr] &= --\varrho'(-t)\varphi(s)\varrho(t)\varphi(-s) -+\varrho(-t)\varphi(s)\varrho'(t)\varphi(-t) +-{\textstyle\frac14}[\sigma_2,\sigma_3] += +-{\textstyle\frac14}\cdot 2i\sigma_1 += +-{\textstyle\frac12}i\sigma_1 \\ -\frac{d}{dt}\gamma(t)\bigg|_{t=0} +\bigl[-{\textstyle\frac12}i\sigma_3,-{\textstyle\frac12}i\sigma_1\bigr] &= --B\varphi(s) + \varphi(-s)B +-{\textstyle\frac14}[\sigma_3,\sigma_1] += +-{\textstyle\frac14}\cdot 2i\sigma_2 += +-{\textstyle\frac12}i\sigma_2 \end{align*} -Durch erneute Ableitung nach $s$ erhält man dann +Die lineare Abbildung, die \begin{align*} -\frac{d}{ds} \frac{d}{dt}\gamma(t,s)\bigg|_{t=0} -&= --B\varphi'(s) - \varphi(-s)B +\omega_{23}&\mapsto -{\textstyle\frac12}i\sigma_1\\ +\omega_{31}&\mapsto -{\textstyle\frac12}i\sigma_2\\ +\omega_{12}&\mapsto -{\textstyle\frac12}i\sigma_3 \end{align*} +abbildet ist daher ein Isomorphismus der Lie-Algebra $\operatorname{so}(3)$ +auf die Lie-Algebra $\operatorname{su}(2)$. +Die Lie-Gruppen $\operatorname{SO}(3)$ und $\operatorname{SU}(2)$ +haben also die gleiche Lie-Algebra. -% -% Die Lie-Algebra von SO(3) -% -\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$} +Tatsächlich kann man Hilfe von Quaternionen die Matrix $\operatorname{SU}(2)$ +als Einheitsquaternionen beschreiben und damit eine Darstellung der +Drehmatrizen in $\operatorname{SO}(3)$ finden. +Dies wird in Kapitel~\ref{chapter:clifford} dargestellt. -% -% Die Lie-Algebra von SU(2) -% -\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$} diff --git a/buch/chapters/references.bib b/buch/chapters/references.bib index 2eed953..a4579e7 100644 --- a/buch/chapters/references.bib +++ b/buch/chapters/references.bib @@ -123,3 +123,13 @@ abstract = "In this paper, we present Google, a prototype of a large-scale searc year = 2021 } +@book{skript:landaulifschitz1, + author = {Landau, L. D. and Lifschitz, E. M.}, + title = {Mechanik}, + series = {Lehrbuch der theoretischen Physik}, + volume = {1}, + publisher = {Akademie-Verlag}, + year = {1981}, + language = {german}, +} + -- cgit v1.2.1 From 150b2c4844fb8866cb13218874f0b205187a2157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 5 Apr 2021 09:53:30 +0200 Subject: add two Lie-Group-Problems --- buch/chapters/60-gruppen/chapter.tex | 8 +- buch/chapters/60-gruppen/uebungsaufgaben/6001.tex | 233 ++++++++++++++++++++++ buch/chapters/60-gruppen/uebungsaufgaben/6002.tex | 162 +++++++++++++++ 3 files changed, 402 insertions(+), 1 deletion(-) create mode 100644 buch/chapters/60-gruppen/uebungsaufgaben/6001.tex create mode 100644 buch/chapters/60-gruppen/uebungsaufgaben/6002.tex (limited to 'buch') diff --git a/buch/chapters/60-gruppen/chapter.tex b/buch/chapters/60-gruppen/chapter.tex index 8472b58..3b1abc1 100644 --- a/buch/chapters/60-gruppen/chapter.tex +++ b/buch/chapters/60-gruppen/chapter.tex @@ -37,5 +37,11 @@ Zusammenhangs darzustellen. \input{chapters/60-gruppen/lie-algebren.tex} %\input{chapters/60-gruppen/homogen.tex} - +\section*{Übungsaufgaben} +\rhead{Übungsaufgaben} +\aufgabetoplevel{chapters/60-gruppen/uebungsaufgaben} +\begin{uebungsaufgaben} +\uebungsaufgabe{6002} +\uebungsaufgabe{6001} +\end{uebungsaufgaben} diff --git a/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex b/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex new file mode 100644 index 0000000..2acf6f6 --- /dev/null +++ b/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex @@ -0,0 +1,233 @@ +Eine Drehung eines Vektors $\vec{x}$ der Ebene $\mathbb{R}^2$ +um den Winkel $\alpha$ gefolgt von einer Translation um $\vec{t}$ +ist gegeben durch $D_\alpha\vec{x}+\vec{t}$. +Darauf lässt sich jedoch die Theorie der Matrizengruppen nicht +darauf anwenden, weil die Operation nicht die Form einer Matrixmultiplikation +schreiben. +Die Drehung und Translation kann in eine Matrix zusammengefasst werden, +indem zunächst die Ebene mit +\[ +\mathbb{R}^2\to\mathbb{R}^3 +: +\begin{pmatrix}x\\y\end{pmatrix} +\mapsto +\begin{pmatrix}x\\y\\1\end{pmatrix} +\qquad\text{oder in Vektorschreibweise }\qquad +\vec{x}\mapsto\begin{pmatrix}\vec{x}\\1\end{pmatrix} +\] +in den dreidimensionalen Raum eingebettet wird. +Die Drehung und Verschiebung kann damit in der Form +\[ +\begin{pmatrix}D_\alpha\vec{x}+\vec{t}\\1 +\end{pmatrix} += +\begin{pmatrix}D_\alpha&\vec{t}\\0&1\end{pmatrix} +\begin{pmatrix}\vec{x}\\1\end{pmatrix} +\] +als Matrizenoperation geschrieben werden. +Die Gruppe der Drehungen und Verschiebungen der Ebene ist daher +die Gruppe +\[ +G += +\left\{ +\left. +A += +\begin{pmatrix} +D_\alpha&\vec{t}\\ +0&1 +\end{pmatrix} += +\begin{pmatrix} +\cos\alpha & -\sin\alpha & t_x \\ +\sin\alpha & \cos\alpha & t_y \\ + 0 & 0 & 1 +\end{pmatrix} +\; +\right| +\; +\alpha\in\mathbb{R},\vec{t}\in\mathbb{R}^2 +\right\} +\] +Wir kürzen die Elemente von $G$ auch als $(\alpha,\vec{t})$ ab. +\begin{teilaufgaben} +\item +Verifizieren Sie, dass das Produkt zweier solcher Matrizen +$(\alpha_1,\vec{t}_1)$ und $(\alpha_2,\vec{t}_2)$ +wieder die selbe Form $(\alpha,\vec{t})$ hat und berechnen Sie +$\alpha$ und $\vec{t}_j$. +\item +Bestimmen Sie das inverse Element zu $(\alpha,\vec{t}) \in G$. +\item +Die Elemente der Gruppe $G$ sind parametrisiert durch den Winkel $\alpha$ +und die Translationskomponenten $t_x$ und $t_y$. +Rechnen Sie nach, dass +\[ +\alpha\mapsto \begin{pmatrix} D_{\alpha}&0\\0&1\end{pmatrix}, +\quad +t_x\mapsto +\begin{pmatrix} I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix}, +\qquad +t_y\mapsto +\begin{pmatrix} I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} +\] +Einparameteruntergruppen von $G$ sind. +\item +Berechnen Sie die Tangentialvektoren $D$, $X$ und $Y$, +die zu den Einparameteruntergruppen von c) gehören. +\item +Berechnen Sie die Lie-Klammer für alle Paare von Tangentialvektoren. +\end{teilaufgaben} + +\begin{loesung} +\begin{teilaufgaben} +\item +Die Wirkung beider Gruppenelemente auf dem Vektor $\vec{x}$ ist +\begin{align*} +\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} +\begin{pmatrix}D_{\alpha_2}&\vec{t}_2\\0&1\end{pmatrix} +\begin{pmatrix}\vec{x}\\1\end{pmatrix} +&= +\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} +\begin{pmatrix}D_{\alpha_2}\vec{x}+\vec{t}_2\\1\end{pmatrix} += +\begin{pmatrix} +D_{\alpha_1}(D_{\alpha_2}\vec{x}+\vec{t}_2)+\vec{t}_1\\1 +\end{pmatrix} +\\ +&= +\begin{pmatrix} +D_{\alpha_1}D_{\alpha_2}\vec{x} + D_{\alpha_1}\vec{t}_2+\vec{t}_1\\1 +\end{pmatrix} += +\begin{pmatrix} +D_{\alpha_1+\alpha_2}&D_{\alpha_1}\vec{t}_2+\vec{t}_1\\ +0&1 +\end{pmatrix} +\begin{pmatrix}\vec{x}\\1\end{pmatrix}. +\end{align*} +Das Produkt in der Gruppe $G$ kann daher +\[ +(\alpha_1,\vec{t}_1) (\alpha_2,\vec{t}_2) += +(\alpha_1+\alpha_2,\vec{t}_1+D_{\alpha_1}\vec{t}_2) +\] +geschrieben werden. +\item +Die Inverse der Abbildung $\vec{x}\mapsto \vec{y}=D_\alpha\vec{x}+\vec{t}$ +kann gefunden werden, indem man auf der rechten Seite nach $\vec{x}$ +auflöst: +\begin{align*} +\vec{y}&=D_\alpha\vec{x}+\vec{t} +&&\Rightarrow& +D_{\alpha}^{-1}( \vec{y}-\vec{t}) &= \vec{x} +\\ +&&&& \vec{x} &= D_{-\alpha}\vec{y} + (-D_{-\alpha}\vec{t}) +\end{align*} +Die Inverse von $(\alpha,\vec{t})$ ist also $(-\alpha,-D_{-\alpha}\vec{t})$. +\item +Da $D_\alpha$ eine Einparameteruntergruppe von $\operatorname{SO}(2)$ ist, +ist $\alpha\mapsto (D_\alpha,0)$ ebenfalls eine Einparameteruntergruppe. +Für die beiden anderen gilt +\[ +\biggl(I,\begin{pmatrix}t_{x1}\\0\end{pmatrix}\biggr) +\biggl(I,\begin{pmatrix}t_{x2}\\0\end{pmatrix}\biggr) += +\biggl(I,\begin{pmatrix}t_{x1}+t_{x2}\\0\end{pmatrix}\biggr) +\quad\text{und}\quad +\biggl(I,\begin{pmatrix}0\\t_{y1}\end{pmatrix}\biggr) +\biggl(I,\begin{pmatrix}0\\t_{y2}\end{pmatrix}\biggr) += +\biggl(I,\begin{pmatrix}0\\t_{y1}+t_{y2}\end{pmatrix}\biggr), +\] +also sind dies auch Einparameteruntergruppen. +\item +Die Ableitungen sind +\begin{align*} +D +&= +\frac{d}{d\alpha}\begin{pmatrix}D_\alpha&0\\0&1\end{pmatrix}\bigg|_{\alpha=0} += +\begin{pmatrix}J&0\\0&0\end{pmatrix} += +\begin{pmatrix} +0&-1&0\\ +1& 0&0\\ +0& 0&0 +\end{pmatrix} +\\ +X +&= +\frac{d}{dt_x} +\left. +\begin{pmatrix}I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix} +\right|_{t_x=0} += +\begin{pmatrix} +0&0&1\\ +0&0&0\\ +0&0&0 +\end{pmatrix} +& +Y +&= +\frac{d}{dt_y} +\left. +\begin{pmatrix}I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} +\right|_{t_y=0} += +\begin{pmatrix} +0&0&0\\ +0&0&1\\ +0&0&0 +\end{pmatrix} +\end{align*} +\item +Die Vertauschungsrelationen sind +\begin{align*} +[D,X] +&= +DX-XD += +\begin{pmatrix} +0&0&0\\ +0&0&1\\ +0&0&0 +\end{pmatrix} +- +\begin{pmatrix} +0&0&0\\ +0&0&0\\ +0&0&0 +\end{pmatrix} += +Y +\\ +[D,Y] +&= +DY-YD += +\begin{pmatrix} +0&0&-1\\ +0&0&0\\ +0&0&0 +\end{pmatrix} +- +\begin{pmatrix} +0&0&0\\ +0&0&0\\ +0&0&0 +\end{pmatrix} += +-X +\\ +[X,Y] +&= +XY-YX += +0-0=0 +\qedhere +\end{align*} +\end{teilaufgaben} +\end{loesung} diff --git a/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex b/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex new file mode 100644 index 0000000..43464d7 --- /dev/null +++ b/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex @@ -0,0 +1,162 @@ +Die Elemente der Gruppe $G$ der Translationen und Streckungen von +$\mathbb{R}$ kann durch Paare $(\lambda,t)\in\mathbb{R}^+\times\mathbb{R}$ +beschrieben werden, +wobei $\lambda$ durch Streckung und $t$ durch Translation wirkt: +\[ +(\lambda,t)\colon \mathbb{R}\to\mathbb{R}: x\mapsto \lambda x+t. +\] +Dies ist allerdings noch keine Untergruppe einer Matrizengruppe. +Dazu bettet man $\mathbb{R}$ mit Hilfe der Abbildung +\[ +\mathbb{R}\to\mathbb{R}^2 : x\mapsto \begin{pmatrix}x\\1\end{pmatrix} +\] +in $\mathbb{R}^2$ ein. +Die Wirkung von $(\lambda,t)$ ist dann +\[ +\begin{pmatrix}(\lambda,t)\cdot x\\1\end{pmatrix} += +\begin{pmatrix} \lambda x + t\\1\end{pmatrix} += +\begin{pmatrix}\lambda&1\\0&1\end{pmatrix}\begin{pmatrix}x\\1\end{pmatrix}. +\] +Die Wirkung des Paares $(\lambda,t)$ kann also mit Hilfe einer +$2\times 2$-Matrix beschrieben werden. +Die Abbildung +\[ +G\to \operatorname{GL}_2(\mathbb{R}) +: +(\lambda,t) +\mapsto +\begin{pmatrix}\lambda&t\\0&1\end{pmatrix} +\] +bettet die Gruppe $G$ in $\operatorname{GL}_2(\mathbb{R})$ ein. +\begin{teilaufgaben} +\item +Berechnen Sie das Produkt $g_1g_2$ zweier Elemente +$g_j=(\lambda_j,t_j)$. +\item +Bestimmen Sie das inverse Elemente von $(\lambda,t)$ in $G$. +\item +Der sogenannte Kommutator zweier Elemente ist $g_1g_2g_1^{-1}g_2^{-1}$, +berechnen Sie den Kommutator für die Gruppenelemente von a). +\item +Rechnen Sie nach, dass +\[ +s\mapsto \begin{pmatrix}e^s&0\\0&1\end{pmatrix} +,\qquad +t\mapsto \begin{pmatrix}1&t\\0&1\end{pmatrix} +\] +Einparameteruntergruppen von $\operatorname{GL}_2(\mathbb{R})$ sind. +\item +Berechnen Sie die Tangentialvektoren $S$ und $T$ dieser beiden +Einparameteruntergruppen. +\item +Berechnen Sie den Kommutator $[S,T]$ +\end{teilaufgaben} + +\begin{loesung} +\begin{teilaufgaben} +\item +Die beiden Gruppenelemente wirken auf $x$ nach +\[ +(\lambda_1,t_1) +(\lambda_2,t_2) +\cdot +x += +(\lambda_1,t_1)(\lambda_2x+t_2) += +\lambda_1(\lambda_2x+t_2)+t_1) += +\lambda_1\lambda_2 x + (\lambda_1t_2+t_1), +\] +also ist $g_1g_2=(\lambda_1\lambda_2,\lambda_1t_2+t_1)$. +\item +Die Inverse von $(\lambda,t)$ kann erhalten werden, indem man die +Abbildung $x\mapsto y=\lambda x +t$ nach $x$ auflöst: +\[ +y=\lambda x+t +\qquad\Rightarrow\qquad +\lambda^{-1}(y-t) += +\lambda^{-1}y - \lambda^{-1}t. +\] +Daraus liest man ab, dass $(\lambda,t)^{-1}=(\lambda^{-1},-\lambda^{-1}t)$ +ist. +\item +Mit Hilfe der Identität $g_1g_2g_1^{-1}g_2^{-1}=g_1g_2(g_2g_1)^{-1}$ +kann man den Kommutator leichter berechnen +\begin{align*} +g_1g_2&=(\lambda_1\lambda_2,t_1+\lambda_1t_2) +\\ +g_2g_1&= (\lambda_2\lambda_1,t_2+\lambda_2t_1) +\\ +(g_2g_1)^{-1} +&= +(\lambda_1^{-1}\lambda_2^{-1}, + -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) +\\ +g_1g_2g_1^{-1}g_2^{-1} +&= +(\lambda_1\lambda_2,t_1+\lambda_1t_2) +(\lambda_1^{-1}\lambda_2^{-1}, + -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) +\\ +&=(1,t_1+\lambda_1t_2 + \lambda_1\lambda_2( + -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) +) +\\ +&=(1, t_1+\lambda_1t_2 - t_2 -\lambda_2t_1) += +(1,(1-\lambda_2)(t_1-t_2)) +\end{align*} +Der Kommutator ist also das neutrale Element, wenn $\lambda_2=1$ ist. +\item +Dies ist am einfachsten in der Matrixform nachzurechnen: +\begin{align*} +\begin{pmatrix} e^{s_1}&0\\0&1\end{pmatrix} +\begin{pmatrix} e^{s_2}&0\\0&1\end{pmatrix} +&= +\begin{pmatrix}e^{s_1+s_2}&0\\0&1\end{pmatrix} +& +\begin{pmatrix} 1&t_1\\0&1\end{pmatrix} +\begin{pmatrix} 1&t_2\\0&1\end{pmatrix} +&= +\begin{pmatrix} 1&t_1+t_2\\0&1\end{pmatrix} +\end{align*} +\item +Die Tangentialvektoren werden erhalten durch ableiten der +Matrixdarstellung nach dem Parameter +\begin{align*} +S +&= +\frac{d}{ds} \begin{pmatrix}e^s&0\\0&1\end{pmatrix}\bigg|_{s=0} += +\begin{pmatrix}1&0\\0&0\end{pmatrix} +\\ +T +&= +\frac{d}{dt} \begin{pmatrix}1&t\\0&1\end{pmatrix}\bigg|_{t=0} += +\begin{pmatrix}0&1\\0&0\end{pmatrix} +\end{align*} +\item Der Kommutator ist +\[ +[S,T] += +\begin{pmatrix}1&0\\0&0\end{pmatrix} +\begin{pmatrix}0&1\\0&0\end{pmatrix} +- +\begin{pmatrix}0&1\\0&0\end{pmatrix} +\begin{pmatrix}1&0\\0&0\end{pmatrix} += +\begin{pmatrix}0&1\\0&0\end{pmatrix} +- +\begin{pmatrix}0&0\\0&0\end{pmatrix} += +T. +\qedhere +\] +\end{teilaufgaben} +\end{loesung} + -- cgit v1.2.1 From 056b373ca1566df65da3f8e04198db2194a8cec9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 5 Apr 2021 09:59:35 +0200 Subject: remove section on numerical eigenvalue methods --- buch/chapters/40-eigenwerte/chapter.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/chapter.tex b/buch/chapters/40-eigenwerte/chapter.tex index 5f8cb83..242a5e5 100644 --- a/buch/chapters/40-eigenwerte/chapter.tex +++ b/buch/chapters/40-eigenwerte/chapter.tex @@ -35,7 +35,7 @@ Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. \input{chapters/40-eigenwerte/normalformen.tex} \input{chapters/40-eigenwerte/spektralradius.tex} \input{chapters/40-eigenwerte/spektraltheorie.tex} -\input{chapters/40-eigenwerte/numerisch.tex} +%\input{chapters/40-eigenwerte/numerisch.tex} \section*{Übungsaufgaben} \rhead{Übungsaufgaben} -- cgit v1.2.1 From c321e5bc7ce152b7509d6f55c0514590f770b22c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 5 Apr 2021 22:08:36 +0200 Subject: new drawings --- buch/chapters/60-gruppen/uebungsaufgaben/6002.tex | 2 +- buch/chapters/70-graphen/images/Makefile | 5 +- buch/chapters/70-graphen/images/fundamental.pdf | Bin 0 -> 25976 bytes buch/chapters/70-graphen/images/fundamental.tex | 54 +++ buch/chapters/70-graphen/spektral.tex | 190 +++++++++ buch/chapters/70-graphen/wavelets.tex | 202 +++++---- buch/chapters/90-crypto/arith.tex | 282 ++++++++++++- buch/chapters/90-crypto/chapter.tex | 2 +- buch/chapters/90-crypto/ff.tex | 2 +- buch/chapters/90-crypto/images/Makefile | 8 +- buch/chapters/90-crypto/images/multiplikation.pdf | Bin 0 -> 25263 bytes buch/chapters/90-crypto/images/multiplikation.tex | 464 +++++++++++++++++++++ buch/chapters/90-crypto/images/schieberegister.pdf | Bin 0 -> 28254 bytes buch/chapters/90-crypto/images/schieberegister.tex | 120 ++++++ buch/chapters/90-crypto/uebungsaufgaben/9001.tex | 2 +- 15 files changed, 1216 insertions(+), 117 deletions(-) create mode 100644 buch/chapters/70-graphen/images/fundamental.pdf create mode 100644 buch/chapters/70-graphen/images/fundamental.tex create mode 100644 buch/chapters/90-crypto/images/multiplikation.pdf create mode 100644 buch/chapters/90-crypto/images/multiplikation.tex create mode 100644 buch/chapters/90-crypto/images/schieberegister.pdf create mode 100644 buch/chapters/90-crypto/images/schieberegister.tex (limited to 'buch') diff --git a/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex b/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex index 43464d7..14fbe2b 100644 --- a/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex +++ b/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex @@ -108,7 +108,7 @@ g_1g_2g_1^{-1}g_2^{-1} \\ &=(1, t_1+\lambda_1t_2 - t_2 -\lambda_2t_1) = -(1,(1-\lambda_2)(t_1-t_2)) +(1,(1-\lambda_2)(t_1-t_2)). \end{align*} Der Kommutator ist also das neutrale Element, wenn $\lambda_2=1$ ist. \item diff --git a/buch/chapters/70-graphen/images/Makefile b/buch/chapters/70-graphen/images/Makefile index b42cbae..bd77756 100644 --- a/buch/chapters/70-graphen/images/Makefile +++ b/buch/chapters/70-graphen/images/Makefile @@ -3,7 +3,7 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf +all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf peterson.pdf: peterson.tex pdflatex peterson.tex @@ -17,3 +17,6 @@ adjazenzd.pdf: adjazenzd.tex kreis.pdf: kreis.tex pdflatex kreis.tex +fundamental.pdf: fundamental.tex + pdflatex fundamental.tex + diff --git a/buch/chapters/70-graphen/images/fundamental.pdf b/buch/chapters/70-graphen/images/fundamental.pdf new file mode 100644 index 0000000..66b82ca Binary files /dev/null and b/buch/chapters/70-graphen/images/fundamental.pdf differ diff --git a/buch/chapters/70-graphen/images/fundamental.tex b/buch/chapters/70-graphen/images/fundamental.tex new file mode 100644 index 0000000..b7fe9c4 --- /dev/null +++ b/buch/chapters/70-graphen/images/fundamental.tex @@ -0,0 +1,54 @@ +% +% fundamental.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\begin{scope}[xshift=-4.6cm] + \draw[color=red,line width=2pt] (1.8,0) -- (1.8,2); + \draw[color=red,line width=2pt] (0,0) -- (4,0); + \node at (1.8,0) [below] {$i$}; + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \node at (2,-2.3) [below] {Standarbasis}; +\end{scope} + +\begin{scope} + \draw[color=red,line width=1.4pt] + plot[domain=0:360,samples=100] ({\x/90},{2*sin(\x)}); + \draw[color=blue,line width=1.4pt] + plot[domain=0:360,samples=100] ({\x/90},{2*cos(\x)}); + \node[color=blue] at (1,-1) {$\Re f_i$}; + \node[color=red] at (2,1) {$\Im f_i$}; + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + \node at (2,-2.3) [below] {Eigenbasis}; +\end{scope} + +\begin{scope}[xshift=4.6cm] + \foreach \t in {0.02,0.05,0.1,0.2,0.5}{ + \draw[color=red,line width=1.0pt] + plot[domain=-1.8:2.2,samples=100] + ({\x+1.8},{exp(-\x*\x/(4*\t))/(sqrt(4*3.1415*\t))}); + } + \fill[color=red] (1.8,0) circle[radius=0.08]; + \node at (1.8,0) [below] {$\xi$}; + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + \node at (2,-2.3) [below] {Fundamentallösung}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/70-graphen/spektral.tex b/buch/chapters/70-graphen/spektral.tex index 9349f41..f68c814 100644 --- a/buch/chapters/70-graphen/spektral.tex +++ b/buch/chapters/70-graphen/spektral.tex @@ -6,3 +6,193 @@ \section{Spektrale Graphentheorie \label{buch:section:spektrale-graphentheorie}} \rhead{Spektrale Graphentheorie} +Die Laplace-Matrix codiert alle wesentliche Information eines +ungerichteten Graphen. +Sie operiert auf Vektoren, die für jeden Knoten des Graphen eine +Komponente haben. +Dies eröffnet die Möglichkeit, den Graphen über die linearalgebraischen +Eigenschaften der Laplace-Matrix zu studieren. + +\subsection{Grapheigenschaften und Spektrum von $L$ +\label{buch:subsection:grapheigenschaften-und-spektrum-von-l}} +TODO XXX + +\subsection{Wärmeleitung auf einem Graphen +\label{buch:subsection:waermeleitung-auf-einem-graphen}} +Die Vektoren, auf denen die Laplace-Matrix operiert, können betrachtet +werden als Funktionen, die jedem Knoten einen Wert zuordnen. +Eine mögliche physikalische Interpretation davon ist die Temperaturverteilung +auf dem Graphen. +Die Kanten zwischen den Knoten erlauben der Wärmeenergie, von einem Knoten +zu einem anderen zu fliessen. +Je grösser die Temperaturdifferenz zwischen zwei Knoten ist, desto +grösser ist der Wärmefluss und desto schneller ändert sich die Temperatur +der beteiligten Knoten. +Die zeitliche Änderung der Temperatur $T_i$ im Knoten $i$ ist proportional +\[ +\frac{dT_i}{dt} += +\sum_{\text{$j$ Nachbar von $i$}} \kappa (T_j-T_i) += +- +\kappa +\biggl( +d_iT_i +- +\sum_{\text{$j$ Nachbar von $i$}} T_j +\biggr) +\] +Der Term auf der rechten Seite ist genau die Wirkung der +Laplace-Matrix auf dem Vektor $T$ der Temperaturen: +\begin{equation} +\frac{dT}{dt} += +-\kappa L T. +\label{buch:graphen:eqn:waermeleitung} +\end{equation} +Der Wärmefluss, der durch die +Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} beschrieben +wird, codiert ebenfalls wesentliche Informationen über den Graphen. +Je mehr Kanten es zwischen verschiedenen Teilen eines Graphen gibt, +desto schneller findet der Wärmeaustausch zwischen diesen Teilen +statt. +Die Lösungen der Wärmeleitungsgleichung liefern also Informationen +über den Graphen. + +\subsection{Eigenwerte und Eigenvektoren +\label{buch:subsection:ein-zyklischer-graph}} +Die Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} +ist eine lineare Differentialgleichung mit konstanten Koeffizienten, +die mit der Matrixexponentialfunktion gelöst werden. +Die Lösung ist +\[ +f(t) = e^{-\kappa Lt}f(0). +\] + +Die Berechnung der Lösung mit der Matrixexponentialreihe ist ziemlich +ineffizient, da grosse Matrizenprodukte berechnet werden müssen. +Da die Matrix $L$ symmetrisch ist, gibt es eine Basis aus +orthonormierten Eigenvektoren und die Eigenwerte sind reell. +Wir bezeichnen die Eigenvektoren mit $f_1,\dots,f_n$ und die +zugehörigen Eigenwerte mit $\lambda_i$. +Die Funktion $f_i(t)= e^{-\kappa\lambda_it}f_i$ ist dann eine Lösung +der Wärmeleitungsgleichung, denn die beiden Seiten +\begin{align*} +\frac{d}{dt}f_i(t) +&= +-\kappa\lambda_ie^{-\kappa\lambda_it}f_i += +-\kappa\lambda_i f_i(t) +\\ +-\kappa Lf_i(t) +&= +-\kappa e^{-\kappa\lambda_it} Lf_i += +-\kappa e^{-\kappa\lambda_it} \lambda_i f_i += +-\kappa \lambda_i f_i(t) +\end{align*} +von \eqref{buch:graphen:eqn:waermeleitung} stimmen überein. + +Eine Lösung der Wärmeleitungsgleichung zu einer beliebigen +Anfangstemperaturverteilung $f$ kann durch Linearkombination aus +den Lösungen $f_i(t)$ zusammengesetzt werden. +Dazu ist nötig, $f$ aus den Vektoren $f_i$ linear zu kombinieren. +Da aber die $f_i$ orthonormiert sind, ist dies besonders einfach, +die Koeffizienten sind die Skalarprodukte mit den Eigenvektoren: +\[ +f=\sum_{i=1}^n \langle f_i,f\rangle f_i. +\] +Daraus kann man die allgmeine Lösungsformel +\begin{equation} +f(t) += +\sum_{i=1}^n \langle f_i,f\rangle f_i(t) += +\sum_{i=1}^n \langle f_i,f\rangle e^{-\kappa\lambda_i t}f_i +\label{buch:graphen:eqn:eigloesung} +\end{equation} +ableiten. + +\subsection{Beispiel: Ein zyklischer Graph} +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/kreis.pdf} +\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem +Graphen. +\label{buch:graphen:fig:kreis}} +\end{figure} +Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen +von Abbildung~\ref{buch:graphen:fig:kreis}. +Besonders interessant sind die folgenden Funktionen: +\[ +\left. +\begin{aligned} +s_m(k) +&= +\sin\frac{2\pi mk}{n} +\\ +c_m(k) +&= +\cos\frac{2\pi mk}{n} +\end{aligned} +\; +\right\} +\quad +\Rightarrow +\quad +e_m(k) += +e^{2\pi imk/n} += +c_m(k) + is_m(k). +\] +Das Skalarprodukt dieser Funktionen ist +\[ +\langle e_m, e_{m'}\rangle += +\frac1n +\sum_{k=1}^n +\overline{e^{2\pi i km/n}} +e^{2\pi ikm'/n} += +\frac1n +\sum_{k=1}^n +e^{\frac{2\pi i}{n}(m'-m)k} += +\delta_{mm'} +\] +Die Funktionen bilden daher eine Orthonormalbasis des Raums der +Funktionen auf $G$. +Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$ +die Funktionen +\[ +c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2} +\] +eine orthonormierte Basis. + + +Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen +Abbildung auf Funktionen auf dem Graphen gemacht werden. +Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit +Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist. +Dann definieren wir die Funktion $Lf$ durch +\[ +(Lf)(v) += +\sum_{v'\in V} l_{vv'}f(v'). +\] + +\subsection{Standardbasis und Eigenbasis +\label{buch:subsection:standardbasis-und-eigenbasis}} +Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear +kombinieren lassen, ist die Standardbasis. +Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten +\[ +e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} +1\qquad&v=v'\\ +0\qquad&\text{sonst.} +\end{cases} +\] + + diff --git a/buch/chapters/70-graphen/wavelets.tex b/buch/chapters/70-graphen/wavelets.tex index 0739f14..9c88c08 100644 --- a/buch/chapters/70-graphen/wavelets.tex +++ b/buch/chapters/70-graphen/wavelets.tex @@ -6,126 +6,118 @@ \section{Wavelets auf Graphen \label{buch:section:wavelets-auf-graphen}} \rhead{Wavelets auf Graphen} -Graphen werden oft verwendet um geometrische Objekte zu approximieren. -Funktionen auf einem Graphen können dann Approximationen von physikalischen -Grössen wie zum Beispiel der Temperatur auf dem geometrischen Objekt -interpretiert werden. -Verschiedene Basen für die Beschreibung solcher Funktionen sind im Laufe -der Zeit verwendet worden, doch Wavelets auf einem Graphen sind eine -neuere Idee, mit der man aus der Laplace-Matrix Basen gewinnen kann, -die die Idee von langsam sich ausbreitenden Störungen besonders gut -wiederzugeben in der Lage sind. - -In diesem Abschnitt werden erst Funktionen auf einem Graphen genauer -definiert. -In Abschnitt~\ref{buch:subsection:standardbasis-und-eigenbasis} -wird die Eigenbasis mit dem Laplace-Operator konstruiert und mit -der Standarbasis verglichen. -Schliesslich werden in Abschnitt~\ref{buch:subsection:wavelet-basen} -verschiedene Wavelet-Basen konstruiert. - -\subsection{Funktionen auf einem Graphen und die Laplace-Matrix} -Sei $G$ ein Graph mit der Knotenmenge $V$. -Eine Funktion $f$ auf einem Graphen ist eine Funktion $f\colon V\to\mathbb{R}$. -Funktionen auf $G$ sind also Vektoren, die mit den Knoten $V$ indiziert -sind. - -Es gibt auch ein Skalarprodukt für Funktionen auf dem Graphen. -Sind $f$ und $g$ zwei Funktionen auf $G$, dann ist das Skalarprodukt -definiert durch +In Abschnitt~\ref{buch:subsection:standardbasis-und-eigenbasis} wurde +gezeigt dass die Standardbasis den Zusammenhang zwischen den einzelnen +Teilen des Graphen völlig ignoriert, während die Eigenbasis Wellen +beschreibt, die mit vergleichbarer Amplitude sich über den ganzen +Graphen entsprechen. +Die Eigenbasis unterdrückt also die ``Individualität'' der einzelnen +Knoten fast vollständig. + +Wenn man einen Standardbasisvektor in einem Knoten $i$ +als Anfangstemperaturverteilung verwendet, erwartet man eine Lösung, +die für kleine Zeiten $t$ die Energie immer in der Nähe des Knotens $i$ +konzentriert hat. +Weder die Standardbasis noch die Eigenbasis haben diese Eigenschaft. + +\subsection{Vergleich mit der Wärmeleitung auf $\mathbb{R}$} +Ein ähnliches Phänomen findet man bei der Wärmeausbreitung gemäss +der partiellen Differentialgleichung +\[ +\frac{\partial T}{\partial t} = -\kappa \frac{\partial^2 T}{\partial x^2}. +\] +Die von Fourier erfundene Methode, die Fourier-Theorie, verwendet die +Funktionen $e^{ik x}$, die Eigenvektoren der zweiten Ableitung +$\partial^2/\partial x^2$ sind. +Diese haben das gleiche Problem, der Betrag von $e^{ikx}$ ist $1$, die +Entfernung von einem Punkt spielt überhaupt keine Rolle. +Die Funktion \[ -\langle f,g\rangle +F(x,t) = -\frac{1}{|V|}\sum_{v\in V} \overline{f}(v) g(v) +\frac{1}{\sqrt{4\pi\kappa t}}e^{-x^2/4\kappa t} \] -Dies ist das bekannte Skalarprodukt der Vektoren mit Komponenten $f(v)$. +ist eine Lösung der Wärmeleitungsgleichung mit einem Maximum an +der Stelle $0$. +Sie heisst die Fundamentallösung der Wärmeleitungsgleichung. +Durch Überlagerung von Translaten in eine Funktion +\begin{equation} +f(x,t) += +\int_{-\infty}^\infty f(\xi) F(x-\xi,t)\,d\xi +\label{buch:graphen:eqn:fundamentalueberlagerung} +\end{equation} +kann man die allgemeine Lösung aus Fundamentallösungen zusammensetzen. +Die Fundamentallösungen $f(x-\xi,t)$ sind für kleine Zeiten immer noch +deutlich in einer Umgebung von $\xi$ konzentriert. +% XXX Ausbreitung der Fundamentallösung illustrieren \begin{figure} \centering -\includegraphics{chapters/70-graphen/images/kreis.pdf} -\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem -Graphen. -\label{buch:graphen:fig:kreis}} +\includegraphics{chapters/70-graphen/images/fundamental.pdf} +\caption{Vergleich der verschiedenen Funktionenfamilien, mit denen +Lösungenfunktionen durch Linearkombination erzeugt werden können. +In der Standarbasis (links) ist es am einfachsten, die Funktionswerte +abzulesen, in der Eigenbasis (Mitte) kann die zeitliche Entwicklung +besonders leicht berechnet werden. +Dazuwischen liegen die Fundamentallösungen (rechts), die eine einigermassen +übersichtliche Zeitentwicklung haben, die Berechnung der Temperatur an +einer Stelle $x$ zur Zeit $t$ ist aber erst durch das Integral +\eqref{buch:graphen:eqn:fundamentalueberlagerung} gegeben. +\label{buch:graphen:fig:fundamental}} \end{figure} -\begin{beispiel} -Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen -von Abbildung~\ref{buch:graphen:fig:kreis}. -Besonders interessant sind die folgenden Funktionen: -\[ -\left. -\begin{aligned} -s_m(k) -&= -\sin\frac{2\pi mk}{n} -\\ -c_m(k) -&= -\cos\frac{2\pi mk}{n} -\end{aligned} -\; -\right\} -\quad -\Rightarrow -\quad -e_m(k) -= -e^{2\pi imk/n} -= -c_m(k) + is_m(k). -\] -Das Skalarprodukt dieser Funktionen ist -\[ -\langle e_m, e_{m'}\rangle -= -\frac1n -\sum_{k=1}^n -\overline{e^{2\pi i km/n}} -e^{2\pi ikm'/n} + +\subsection{Fundamentallösungen auf einem Graphen} +Die Wärmeleitungsgleichung auf einem Graphen kann für einen +Standardbasisvektor mit Hilfe der +Lösungsformel~\eqref{buch:graphen:eqn:eigloesung} +gefunden werden. +Aus physikalischen Gründen ist aber offensichtlich, dass die +Wärmeenergie Fundamentallösungen $F_i(t)$ für kurze Zeiten $t$ +in der Nähe des Knoten $i$ konzentriert ist. +Dies ist aber aus der expliziten Formel +\begin{equation} +F_i(t) = -\frac1n -\sum_{k=1}^n -e^{\frac{2\pi i}{n}(m'-m)k} +\sum_{j=1}^n \langle f_j,e_i\rangle e^{-\kappa \lambda_i t} f_j = -\delta_{mm'} -\] -Die Funktionen bilden daher eine Orthonormalbasis des Raums der -Funktionen auf $G$. -Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$ -die Funktionen -\[ -c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2} -\] -eine orthonormierte Basis. -\end{beispiel} +\sum_{j=1}^n \overline{f}_{ji} e^{-\kappa \lambda_i t}, +\label{buch:graphen:eqn:fundamentalgraph} +\end{equation} +nicht unmittelbar erkennbar. +Man kann aber aus~\eqref{buch:graphen:eqn:fundamentalgraph} ablesen, +dass für zunehmende Zeit die hohen Frequenzen sehr schnell gedämpft +werden. +Die hohen Frequenzen erzeugen also den scharfen Peak für Zeiten nahe +beim Knoten $i$, die zu kleineren $\lambda_i$ beschreiben die Ausbreitung +über grössere Distanzen. +Die Fundamentallösung interpoliert also in einem gewissen Sinne zwischen +den Extremen der Standardbasis und der Eigenbasis. +Die ``Interpolation'' geht von der Differentialgleichung aus, +sie ist nicht einfach nur ein Filter, der die verschiedenen Frequenzen +auf die gleiche Art bearbeitet. -Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen -Abbildung auf Funktionen auf dem Graphen gemacht werden. -Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit -Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist. -Dann definieren wir die Funktion $Lf$ durch -\[ -(Lf)(v) -= -\sum_{v'\in V} l_{vv'}f(v'). -\] +Gesucht ist eine Methode, eine Familie von Vektoren zu finden, +aus der sich alle Vektoren linear kombinieren lassen, in der aber +auch auf die für die Anwendung interessante Längenskala angepasste +Funktionen gefunden werden können. -\subsection{Standardbasis und Eigenbasis -\label{buch:subsection:standardbasis-und-eigenbasis}} -Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear -kombinieren lassen, ist die Standardbasis. -Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten -\[ -e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} -1\qquad&v=v'\\ -0\qquad&\text{sonst.} -\end{cases} -\] +\subsection{Wavelets und Frequenzspektrum} +Eine Wavelet-Basis der Funktionen auf $\mathbb{R}$ zerlegt -\subsection{Wavelet-Basen -\label{buch:subsection:wavelet-basen}} +\subsection{Frequenzspektrum +\label{buch:subsection:frequenzspektrum}} +Die Fundamentallösung der Wärmeleitunsgleichung haben ein Spektrum, welches +wie $e^{-k^2}$ gegen $0$ geht. +Die Fundamentallösung entsteht dadurch, dass die hohen Frequenzen +schneller dämpft als die tiefen Frequenzen. + + +\subsection{Wavelet-Basen +\label{buch:subsection:}} diff --git a/buch/chapters/90-crypto/arith.tex b/buch/chapters/90-crypto/arith.tex index b6f2fd8..44eb6bb 100644 --- a/buch/chapters/90-crypto/arith.tex +++ b/buch/chapters/90-crypto/arith.tex @@ -6,20 +6,290 @@ \section{Arithmetik für die Kryptographie \label{buch:section:arithmetik-fuer-kryptographie}} \rhead{Arithmetik für die Kryptographie} +Die Algorithmen der mathematischen Kryptographie basieren +auf den Rechenoperationen in grossen, aber endlichen Körpern. +Für die Division liefert der euklidische Algorithmus eine +Methode, der in so vielen Schritten die Inverse findet, +wie Dividend und Divisor Binärstellen haben. +Dies ist weitgehend optimal. + +Die Division ist umkehrbar, in der Kryptographie strebt man aber an, +Funktionen zu konstruieren, die nur mit grossem Aufwand umkehrbar sind. +Eine solche Funktion ist das Potenzieren in einem endlichen Körper. +Die Berechnung von Potenzen durch wiederholte Multiplikation ist jedoch +prohibitiv aufwendig, daher ist ein schneller Potenzierungsalgorithmus +nötig, der in Abschnitt~\ref{buch:subsection:potenzieren} beschrieben +wird. +Bei der Verschlüsselung grosser Datenmengen wie zum Beispiel bei +der Verschlüsselung ganzer Harddisks mit Hilfe des AES-Algorithmus +kommt es auf die Geschwindigkeit auch der elementarsten Operationen +in den endlichen Körpern an. +Solche Methoden werden in den Abschnitten +\ref{buch:subsection:rechenoperationen-in-fp} +und +\ref{buch:subsection:rechenoperatione-in-f2l} +besprochen. \subsection{Potenzieren \label{buch:subsection:potenzieren}} -% XXX Divide-and-Conquer Algorithmus +Wir gehen davon aus, dass wir einen schnellen Algorithmus zur +Berechnung des Produktes zweier Elemente $a,b$ in einer +beliebigen Gruppe $G$ haben. +Die Gruppe $G$ kann die Multiplikation der ganzen oder reellen Zahlen +sein, dies wird zum Beispiel in Implementation der Potenzfunktion +verwendet. +Für kryptographische Anwendungen ist $G$ die multiplikative Gruppe +eines endlichen Körpers oder eine elliptische Kurve. + +Zur Berechnung von $a^k$ sind bei einer naiven Durchführung des +Algorithmus $k-1$ Multiplikationen nötig, immer sofort gefolgt +von einer Reduktion $\mod p$ um sicherzustellen, dass die Resultate +nicht zu gross werden. +Ist $l$ die Anzahl der Binärstellen von $k$, dann benötigt dieser +naive Algorithmus $O(2^l)$ Multiplikationen, die Laufzeit wächst +also exponentiell mit der Bitlänge von $k$ an. +Der nachfolgend beschriebene Algorithmus reduziert die Laufzeit auf +die $O(l)$. + +Zunächst schreiben wir den Exponenten $k$ in binärer Form als +\[ +k = k_l2^l + k_{l-1}2^{l-1} + \dots k_22^2+k_12^1 k_02^0. +\] +Die Potenz $a^k$ kann dann geschrieben werden als +\[ +a^k += +a^{k_l2^l} \cdot a^{k_{l-1}2^{l-1}} \cdot \dots \cdot +a^{k_22^2} \cdot a^{k_12^1} \cdot a^{k_02^0} +\] +Nur diejenigen Faktoren tragen etwas bei, für die $k_i\ne 0$ ist. +Die Potenz kann man daher auch schreiben als +\[ +a^k += +\prod_{k_i\ne 0} a^{2^i}. +\] +Es sind also nur so viele Faktoren zu berücksichtigen, wie $k$ +Binärstellen $1$ hat. + +Die einzelnen Faktoren $a^{2^i}$ können durch wiederholtes Quadrieren +erhalten werden: +\[ +a^{2^i} = a^{2\cdot 2^{i-1}} = (a^{2^{i-1}})^2, +\] +also durch maximal $l-1$ Multiplikationen. +Wenn $k$ keine Ganzzahl ist sondern binäre Nachkommastellen hat, also +\[ +k=k_l2^l + \dots + k_12^1 + k_02^0 + k_{-1}2^{-1} + k_{-2}2^{-2}+\dots, +\] +dann können die Potenzen $a^{2^{-i}}$ durch wiederholtes Wurzelziehen +\[ +a^{2^{-i}} = a^{\frac12\cdot 2^{-i+1}} = \sqrt{a^{2^{-i+1}}} +\] +gefunden werden. +Die Berechnung der Quadratwurzel lässt sich in Hardware effizient +implementieren. + +\begin{algorithmus} +Der folgende Algorithmsu berechnet $a^k$ in $O(\log_2(k))$ +Multiplikationen +\begin{enumerate} +\item Initialisiere $p=1$ und $q=a$ +\item Falls $k$ ungerade ist, setze $p:=p\cdot q$ +\item Setze $q:=q^2$ und $k := k/2$, wobei die ganzzahlige Division durch $2$ +am effizientesten als Rechtsshift implementiert werden kann. +\item Falls $k>0$, fahre weiter bei 2. +\end{enumerate} +\end{algorithmus} + +\begin{beispiel} +Die Berechnung von $1.1^{17}$ mit diesem Algorithmus ergibt +\begin{enumerate} +\item $p=1$, $q=1.1$ +\item $k$ ist ungerade: $p:=1.1$ +\item $q:=q^2=1.21$, $k := 8$ +\item $k$ ist gerade +\item $q:=q^2=1.4641$, $k := 4$ +\item $k$ ist gerade +\item $q:=q^2=2.14358881$, $k := 2$ +\item $k$ ist gerade +\item $q:=q^2=4.5949729863572161$, $k := 1$ +\item $k$ ist ungerade: $p:=1.1\cdot p = 5.05447028499293771$ +\item $k:=0$ +\end{enumerate} +Multiplikationen sind nur nötig in den Schritten 3, 5, 7, 9, 10, es +werden also genau $5$ Multiplikationen ausgeführt. +\end{beispiel} \subsection{Rechenoperationen in $\mathbb{F}_p$ \label{buch:subsection:rechenoperationen-in-fp}} -% XXX Multiplikation: modulare Reduktion mit jedem Digit -% XXX Divide-and-Conquer +Die Multiplikation macht aus zwei Faktoren $a$ und $b$ ein +Resultat mit Bitlänge $\log_2 a+\log_2 b$, die Bitlänge wird +also typischerweise verdoppelt. +In $\mathbb{F}_p$ muss anschliessend das Resultat $\mod p$ +reduziert werden, so dass die Bitlänge wieder höchstens +$\log_2p$ ist. +In folgenden soll gezeigt werden, dass dieser Speicheraufwand +für eine Binärimplementation deutlich reduziert werden kann, +wenn die Reihenfolge der Operationen modifiziert wird. + +Für die Multiplikation von $41\cdot 47$ rechnet man im Binärsystem +\begin{center} +\begin{tabular}{>{$}r<{$}} +\texttt{{\color{darkgreen}1}0{\color{red}1}001}\cdot\texttt{101111}\\ +\hline +\texttt{101111}\\ +\texttt{{\color{red}101111}\phantom{000}}\\ +\texttt{{\color{darkgreen}101111}\phantom{00000}}\\ +\hline +\texttt{11110000111}\\ +\hline +\end{tabular} +\end{center} +In $\mathbb{F}_{53}$ muss im Anschluss Modulo $p=53$ reduziert werden. + +Der Speicheraufwand entsteht zunächst dadurch, dass durch die Multiplikation +mit $2$ die Summanden immer länger werden. +Man kann den die Sumanden kurz halten, indem man jedesmal, wenn +der Summand nach der Multiplikation mit $2$ grösser als $p$ geworden ist, +$p$ subtrahiert (Abbildung~\ref{buch:crypto:fig:reduktion}). +Ebenso kann bei nach jeder Addition das bereits reduzierten zweiten +Faktors wieder reduziert werden. +Die Anzahl der nötigen Reduktionsoperationen wird durch diese +frühzeitig durchgeführten Reduktionen nicht teurer als bei der Durchführung +des Divisionsalgorithmus. + +\begin{figure} +\begin{center} +\begin{tabular}{>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}} +\text{Multiplikation mit $2$}&\text{Reduktion?}&\text{reduziert} + &\text{Summanden}&\text{Summe}&\text{reduziert} +\\ +\hline +\texttt{101111} & &\texttt{101111} + &\texttt{101111}&\texttt{101111}&\texttt{101111} +\\ +\texttt{101111\phantom{0}} &\texttt{{\color{red}1011110}}&\texttt{101001} + & & & +\\ +\texttt{101111\phantom{00}} &\texttt{0{\color{red}111010}}&\texttt{011101} + & & & +\\ +\texttt{101111\phantom{000}} &\texttt{0001010}&\texttt{000101} + &\texttt{000101}&\texttt{110100}&\texttt{110100} +\\ +\texttt{101111\phantom{0000}} &\texttt{0010100}&\texttt{001010} + & & & +\\ +\texttt{101111\phantom{00000}}&\texttt{0101000}&\texttt{010100} + &\texttt{010100}&\texttt{{\color{red}1001000}}&\texttt{10011}\rlap{$\mathstrut=19$} +\end{tabular} +\end{center} +\caption{Multiplikation von $41=\texttt{101001}_2$ mit $47=\texttt{101111}_2$, +Reduktion nach jeder Multiplikation mit $2$: falls das Resultat +$>p$ ist, wie in den rot markierten Zeilen $p=53=\texttt{110101}_2$ +durchgeführt. +Bei der Bildung der Summe wird ebenfalls in jedem Schritt falls nötig +reduziert, angezeigt durch die roten Zahlen in der zweitletzten +Spalte. +Die Anzahl der Subtraktionen, die für die Reduktionen nötig sind, ist +von der selben Grössenordnung wie bei der Durchführung des +Divisionsalgorithmus. +\label{buch:crypto:fig:reduktion}} +\end{figure} + +Es ist also möglich, mit gleichem Aufwand an Operationen +aber mit halbe Speicherplatzbedarf die Multiplikationen in $\mathbb{F}_p$ +durchzuführen. +Die Platzeinsparung ist besonders bei Implementationen in Hardware +hilfreich, wo on-die Speicherplatz teuer sein kann. \subsection{Rechenoperationen in $\mathbb{F}_{2^l}$ \label{buch:subsection:rechenoperatione-in-f2l}} -% XXX Darstellung eines Körpers der Art F_{2^l} -% XXX Addition (XOR) und Multiplikation -% XXX Beispiel F_{2^8} +Von besonderem praktischem Interesse sind die endlichen Körper +$\mathbb{F}_{2^l}$. +Die arithmetischen Operationen in diesen Körpern lassen sich besonders +effizient in Hardware realisieren. + +\subsubsection{Zahldarstellung} +Ein endlicher Körper $\mathbb{F}_{2^l}$ ist definiert durch ein +irreduzibles Polynom in $\mathbb{F}_2[X]$ vom Grad $2^l$ +\[ +m(X) += +X^l + m_{l-1}X^{l-1} + m_{l-2}X^{l-2} + \dots + m_2X^2 + m_1X + m_0 +\] +gegeben. +Ein Element in $\mathbb{F}_2[X]/(m)$ kann dargestellt werden durch ein +Polynom vom Grad $l-1$, also durch +\[ +a = a_{l-1}X^{l-1} + a_{l-2}X^{l-2} +\dots + a_2X^2 + a_1X + a_0. +\] +In einer Maschine kann eine Zahl also als eine Bitfolge der Länge $l$ +dargestellt werden. + +\subsubsection{Addition} +Die Addition in $\mathbb{F}_2$ ist in Hardware besonders leicht zu +realisieren. +Die Addition ist die XOR-Operation, die Multiplikation ist die UND-Verknüfung. +Ausserdem stimmen in $\mathbb{F}_2$ Addition und Subtraktion überein. + +Die Addition zweier Polynome erfolgt komponentenweise. +Die Addition von zwei Elemente von $\mathbb{F}_{2^l}$ kann also +durch die bitweise XOR-Verknüpfung der Darstellungen der Summanden +erfolgen. +Diese Operation ist in einem einzigen Maschinenzyklus realisierbar. +Die Subtraktion, die für die Reduktionsoperation module $m(X)$ nötig +ist, ist mit der Addition identisch. + +\subsubsection{Multiplikation} +Die Multiplikation zweier Polynome benötigt zunächst die Multiplikation +mit $X$, wodurch der Grad des Polynoms ansteigt und möglicherweise so +gross wird, dass eine Reduktionsoperation modulo $m(X)$ nötig wird. +Die Reduktion wird immer dann nötig, wenn der Koeffizient von $X^l$ +nicht $0$ ist. +Der Koeffizient kann dann zum Verschwinden gebracht werden, indem +$m(X)$ addiert wird. + +\begin{figure} +\centering +\includegraphics{chapters/90-crypto/images/schieberegister.pdf} +\caption{Implementation der Multiplikation mit $X$ in einem +endlichen Körper $\mathbb{F}_{2^l}$ mit dem Minimalpolynom +$m(X) = X^8+X^4+X^3+X^+1$ als Feedback-Schieberegister. +\label{buch:crypto:fig:schieberegister}} +\end{figure} + +In Abbildung~\ref{buch:crypto:fig:schieberegister} wird gezeigt, +wie die Reduktion erfolgt, wenn die Multiplikation mit $X$, also der +Shift nach links, einen Überlauf ergibt. +Das Minimalpolynom $m(X)=X^8+X^4+X^3+X+1$ bedeutet, dass in $\mathbb{F}_{2^l}$ +$X^8=X^4+X^3+X+1$ gilt, so dass man das Überlaufbit durch +$X^4+X^3+X+1$ ersetzen und addieren kann. + +Ein Produktes $p(X)\cdot q(X)$, wobei $p(X)$ und +$q(X)$ Repräsentaten von Elementen $\mathbb{F}_{2^l}$ sind, kann jetzt +wie folgt berechnet werden. +Mit dem Schieberegister werden die Vielfachen $X^k\cdot p(X)$ +für $k=0,\dots,l-1$ berechnet. +Diejenigen Vielfachen, für die der Koeffizient von $X^k$ in $q(X)$ +von $0$ verschieden ist werden aufsummiert und ergeben das Produkt. +Der Prozess in Abbildung~\ref{buch:crypto:fig:multiplikation} +dargestellt. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/90-crypto/images/multiplikation.pdf} +\caption{Multiplikation zweier Elemente von $\mathbb{F}_{2^l}$. +Mit Hilfe des Schieberegisters am linken Rand werden die Produkte +$X\cdot p(X)$, $X^2\cdot p(X),\dots,X^7\cdot p(X)$ nach der in +Abbildung~\ref{buch:crypto:fig:schieberegister} dargestellten +Methode berechnet. +Am rechten Rand werden diejenigen $X^k\cdot p(X)$ aufaddiert, +für die der $X^k$-Koeffizient von $q(X)$ von $0$ verschieden ist. +\label{buch:crypto:fig:multiplikation}} +\end{figure} + + % XXX Beispiel F einer Oakley-Gruppe diff --git a/buch/chapters/90-crypto/chapter.tex b/buch/chapters/90-crypto/chapter.tex index 43ac8de..d2fcbbf 100644 --- a/buch/chapters/90-crypto/chapter.tex +++ b/buch/chapters/90-crypto/chapter.tex @@ -20,7 +20,7 @@ In diesem Abschnitt soll dies an einigen Beispielen gezeigt werden. \input{chapters/90-crypto/arith.tex} \input{chapters/90-crypto/ff.tex} \input{chapters/90-crypto/aes.tex} -\input{chapters/90-crypto/rs.tex} +%\input{chapters/90-crypto/rs.tex} \section*{Übungsaufgaben} \rhead{Übungsaufgaben} diff --git a/buch/chapters/90-crypto/ff.tex b/buch/chapters/90-crypto/ff.tex index 4ab9c34..535b359 100644 --- a/buch/chapters/90-crypto/ff.tex +++ b/buch/chapters/90-crypto/ff.tex @@ -26,7 +26,7 @@ In der Praxis werden aber $g$ und $a$ Zahlen mit vielen Binärstellen sein, die die wiederholte Multiplikation ist daher sicher nicht effizient, das Kriterium der einfachen Berechenbarkeit scheint also nicht erfüllt. -Der folgende Algorithmus berechnet die Potenz in $O(\log_2 a$ +Der folgende Algorithmus berechnet die Potenz in $O(\log_2 a)$ Multiplikationen. \begin{algorithmus}[Divide-and-conquer] diff --git a/buch/chapters/90-crypto/images/Makefile b/buch/chapters/90-crypto/images/Makefile index 9480163..bbb960f 100644 --- a/buch/chapters/90-crypto/images/Makefile +++ b/buch/chapters/90-crypto/images/Makefile @@ -3,7 +3,7 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: dh.pdf elliptic.pdf +all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf dh.pdf: dh.tex pdflatex dh.tex @@ -11,3 +11,9 @@ dh.pdf: dh.tex elliptic.pdf: elliptic.tex pdflatex elliptic.tex +schieberegister.pdf: schieberegister.tex + pdflatex schieberegister.tex + +multiplikation.pdf: multiplikation.tex + pdflatex multiplikation.tex + diff --git a/buch/chapters/90-crypto/images/multiplikation.pdf b/buch/chapters/90-crypto/images/multiplikation.pdf new file mode 100644 index 0000000..86345b8 Binary files /dev/null and b/buch/chapters/90-crypto/images/multiplikation.pdf differ diff --git a/buch/chapters/90-crypto/images/multiplikation.tex b/buch/chapters/90-crypto/images/multiplikation.tex new file mode 100644 index 0000000..27c4329 --- /dev/null +++ b/buch/chapters/90-crypto/images/multiplikation.tex @@ -0,0 +1,464 @@ +% +% multiplikation.tex -- +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.45} + +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\def\pfeile{ + \foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-2.1} -- \punkt{(\x-1)}{-3.3}; + } +} + +\begin{scope}[yshift=0.1cm] + \node at \punkt{0}{0.5} [left] {$p(X)=\mathstrut$}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; + \foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.3}; + } +\end{scope} + +\begin{scope}[yshift=-1cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-3cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-5cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{1}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{0}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-7cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{1}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{0}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-9cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-11cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-13cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + +% \pfeile +\end{scope} + +\begin{scope}[xshift=9cm] + +\begin{scope}[yshift=0.1cm] + \draw[->] \punkt{-11.8}{0.5} -- \punkt{-0.1}{0.5}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \draw \punkt{4}{-0.1} -- \punkt{4}{-3}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; +\end{scope} + +\def\summation#1#2#3#4#5#6#7#8{ + \draw[->] \punkt{4}{2.3} -- \punkt{4}{1}; + + \draw[->] \punkt{-11.8}{0.5} -- \punkt{3.5}{0.5}; + + \draw \punkt{4}{0.5} circle[radius=0.2]; + \draw \punkt{4}{0.20} -- \punkt{4}{0.80}; + \draw \punkt{3.7}{0.5} -- \punkt{4.3}{0.5}; + + \draw[->] \punkt{4}{-0.05} -- \punkt{4}{-0.95}; + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + + \node at \punkt{0.5}{-1.5} {\texttt{#1}}; + \node at \punkt{1.5}{-1.5} {\texttt{#2}}; + \node at \punkt{2.5}{-1.5} {\texttt{#3}}; + \node at \punkt{3.5}{-1.5} {\texttt{#4}}; + \node at \punkt{4.5}{-1.5} {\texttt{#5}}; + \node at \punkt{5.5}{-1.5} {\texttt{#6}}; + \node at \punkt{6.5}{-1.5} {\texttt{#7}}; + \node at \punkt{7.5}{-1.5} {\texttt{#8}}; +} + +\begin{scope}[yshift=-1.9cm] + \summation{1}{0}{0}{1}{0}{1}{0}{1} +\end{scope} + +\begin{scope}[yshift=-3.9cm] + \summation{1}{1}{1}{1}{0}{1}{1}{1} +\end{scope} + +\begin{scope}[yshift=-5.9cm] + \summation{1}{1}{1}{1}{0}{1}{1}{1} +\end{scope} + +\begin{scope}[yshift=-7.9cm] + \summation{0}{1}{1}{0}{0}{1}{0}{0} +\end{scope} + +\begin{scope}[yshift=-9.9cm] + \summation{0}{1}{0}{1}{1}{0}{0}{1} +\end{scope} + +\begin{scope}[yshift=-11.9cm] + \summation{0}{1}{0}{1}{1}{0}{0}{1} +\end{scope} + +\begin{scope}[yshift=-13.9cm] + \summation{0}{0}{1}{1}{0}{1}{1}{0} + \node at \punkt{0}{-1.5} [left] {$p(X)\cdot q(X)=\mathstrut$}; +\end{scope} + +\end{scope} + +\begin{scope}[xshift=5cm] + +\begin{scope}[yshift=2cm] + \node at \punkt{0}{0.5} [left] {$q(X)=\mathstrut$}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; + + \draw[->] \punkt{7.5}{-0.1} -- ({7.5*\s},{-1.3}); + \node at ({7.5*\s},{-1.2}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \def\y{1.2} + + \draw[->] \punkt{6.5}{-0.1} -- ({6.5*\s},{-1*2-\y-0.1}); + \node at ({6.5*\s},{-1*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{5.5}{-0.1} -- ({5.5*\s},{-2*2-\y-0.1}); + \node at ({5.5*\s},{-2*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{4.5}{-0.1} -- ({4.5*\s},{-3*2-\y-0.1}); + \node at ({4.5*\s},{-3*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{3.5}{-0.1} -- ({3.5*\s},{-4*2-\y-0.1}); + \node at ({3.5*\s},{-4*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{2.5}{-0.1} -- ({2.5*\s},{-5*2-\y-0.1}); + \node at ({2.5*\s},{-5*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{1.5}{-0.1} -- ({1.5*\s},{-6*2-\y-0.1}); + \node at ({1.5*\s},{-6*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{0.5}{-0.1} -- ({0.5*\s},{-7*2-\y-0.1}); + \node at ({0.5*\s},{-7*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; +\end{scope} + +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/schieberegister.pdf b/buch/chapters/90-crypto/images/schieberegister.pdf new file mode 100644 index 0000000..30b675b Binary files /dev/null and b/buch/chapters/90-crypto/images/schieberegister.pdf differ diff --git a/buch/chapters/90-crypto/images/schieberegister.tex b/buch/chapters/90-crypto/images/schieberegister.tex new file mode 100644 index 0000000..7c24e52 --- /dev/null +++ b/buch/chapters/90-crypto/images/schieberegister.tex @@ -0,0 +1,120 @@ +% +% schieberegister.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.8} + +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\fill[color=blue!20] \punkt{0}{0} rectangle \punkt{8}{1}; + +\node at \punkt{0.5}{1} [above] {$X^7\mathstrut$}; +\node at \punkt{3}{1} [above] {$+\mathstrut$}; +\node at \punkt{3.5}{1} [above] {$X^4\mathstrut$}; +\node at \punkt{5}{1} [above] {$+\mathstrut$}; +\node at \punkt{5.5}{1} [above] {$X^2\mathstrut$}; +\node at \punkt{7}{1} [above] {$+\mathstrut$}; +\node at \punkt{7.5}{1} [above] {$1\mathstrut$}; + +\node at \punkt{0}{1} [above left] {\llap{$p(X)=\mathstrut$}}; + +\node at \punkt{0.5}{0.5} {\texttt{1}}; +\node at \punkt{1.5}{0.5} {\texttt{0}}; +\node at \punkt{2.5}{0.5} {\texttt{0}}; +\node at \punkt{3.5}{0.5} {\texttt{1}}; +\node at \punkt{4.5}{0.5} {\texttt{0}}; +\node at \punkt{5.5}{0.5} {\texttt{1}}; +\node at \punkt{6.5}{0.5} {\texttt{0}}; +\node at \punkt{7.5}{0.5} {\texttt{1}}; + +\draw \punkt{0}{0} rectangle \punkt{8}{1}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; +} + +\fill[color=blue!20] \punkt{-1}{-3} rectangle \punkt{7}{-2}; +\fill[color=darkgreen!20] \punkt{0}{-4} rectangle \punkt{8}{-3}; + +\node[color=darkgreen] at \punkt{-1}{-1.5} [left] + {$m(X) = X^8+X^4+X^3+X+1$}; + +\node[color=darkgreen] at \punkt{-1}{-2.7} [left] + {$\underbrace{X^4+X^3+X+1}_{}= X^8=\mathstrut$}; + +\coordinate (A) at ({-4.15*\s},{-3*\s}); +\coordinate (B) at ({0*\s},{-3.5*\s}); + +\draw[->,color=red,shorten >= 0.1cm] (A) to[out=-90,in=180] (B); +\node[color=red] at \punkt{-3.1}{-3.8} [below] {Feedback}; + +\node at \punkt{-0.5}{-2.5} {\texttt{1}}; +\node at \punkt{0.5}{-2.5} {\texttt{0}}; +\node at \punkt{1.5}{-2.5} {\texttt{0}}; +\node at \punkt{2.5}{-2.5} {\texttt{1}}; +\node at \punkt{3.5}{-2.5} {\texttt{0}}; +\node at \punkt{4.5}{-2.5} {\texttt{1}}; +\node at \punkt{5.5}{-2.5} {\texttt{0}}; +\node at \punkt{6.5}{-2.5} {\texttt{1}}; +\node at \punkt{7.5}{-2.5} {\texttt{0}}; + +\node[color=darkgreen] at \punkt{0.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{1.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{2.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{3.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{4.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{5.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{6.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{7.5}{-3.5} {\texttt{1}}; + +\draw \punkt{0}{-4} rectangle \punkt{8}{-2}; +\draw \punkt{0}{-3} -- \punkt{8}{-3}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{-4} -- \punkt{\x}{-2}; +} + +\foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.9}; +} + +\draw \punkt{0}{-6} rectangle \punkt{8}{-5}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{-6} -- \punkt{\x}{-5}; +} + +\node at \punkt{0.5}{-5.5} {\texttt{0}}; +\node at \punkt{1.5}{-5.5} {\texttt{0}}; +\node at \punkt{2.5}{-5.5} {\texttt{1}}; +\node at \punkt{3.5}{-5.5} {\texttt{1}}; +\node at \punkt{4.5}{-5.5} {\texttt{0}}; +\node at \punkt{5.5}{-5.5} {\texttt{0}}; +\node at \punkt{6.5}{-5.5} {\texttt{0}}; +\node at \punkt{7.5}{-5.5} {\texttt{1}}; + +\node at \punkt{4}{-4.5} {$\|$}; + +\node at \punkt{10.3}{-3} [left] + {$\left.\begin{matrix}\\ \\ \\ \end{matrix}\right\} + = \text{XOR}$}; + +\draw[<-,shorten >= 0.1cm, shorten <= 0.1cm] + \punkt{8.0}{-2.0} arc (-30:30:{2.0*\s}); +\node at \punkt{8.3}{-1} [right] {$\mathstrut \cdot X$}; + +\node at \punkt{8.1}{-5.5} [right] {$=X\cdot p(X)\mathstrut$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/uebungsaufgaben/9001.tex b/buch/chapters/90-crypto/uebungsaufgaben/9001.tex index 5bf4558..7ed1e57 100644 --- a/buch/chapters/90-crypto/uebungsaufgaben/9001.tex +++ b/buch/chapters/90-crypto/uebungsaufgaben/9001.tex @@ -6,7 +6,7 @@ Welchen gemeinsamen Schlüssel verwenden $A$ und $B$? \begin{loesung} Der zu verwendende gemeinsame Schlüssel ist -$g^{ab}=(g^b)^a = y^a\in\mathbb{F}_2027$. +$g^{ab}=(g^b)^a = y^a\in\mathbb{F}_{2027}$. Diese Potenz kann man mit dem Divide-and-Conquer-Algorithmus effizient berechnen. Die Binärdarstellung des privaten Schlüssels von $A$ ist -- cgit v1.2.1 From c4446c32a0fd6e829959ca2bf84bbad211554a87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 6 Apr 2021 16:40:17 +0200 Subject: add new stuff --- buch/chapters/90-crypto/aes.tex | 302 +++++++++++++++++++++++++++++++ buch/chapters/90-crypto/images/Makefile | 9 +- buch/chapters/90-crypto/images/sbox.m | 52 ++++++ buch/chapters/90-crypto/images/sbox.pdf | Bin 0 -> 23568 bytes buch/chapters/90-crypto/images/sbox.tex | 241 ++++++++++++++++++++++++ buch/chapters/90-crypto/images/shift.pdf | Bin 0 -> 1182 bytes buch/chapters/90-crypto/images/shift.tex | 30 +++ 7 files changed, 633 insertions(+), 1 deletion(-) create mode 100644 buch/chapters/90-crypto/images/sbox.m create mode 100644 buch/chapters/90-crypto/images/sbox.pdf create mode 100644 buch/chapters/90-crypto/images/sbox.tex create mode 100644 buch/chapters/90-crypto/images/shift.pdf create mode 100644 buch/chapters/90-crypto/images/shift.tex (limited to 'buch') diff --git a/buch/chapters/90-crypto/aes.tex b/buch/chapters/90-crypto/aes.tex index 6004dde..4df2e8d 100644 --- a/buch/chapters/90-crypto/aes.tex +++ b/buch/chapters/90-crypto/aes.tex @@ -32,4 +32,306 @@ Sicherheit. In diesem Abschnitt soll gezeigt werde, wie sich die AES spezifizierten Operationen als mit der Arithmetik der endlichen Körper beschreiben lassen. +Im Abschnitt~\ref{buch:subsection:byte-operationen} werden +Bytes als Elemente in einem endlichen Körper $\mathbb{F}_{2^8}$ +interpretiert. +Damit kann dann die sogenannte $S$-Box konstruiert werden und +es ist leicht zu verstehen, dass sie invertierbar ist. +Aus den Byte-Operationen können dann Mischoperationen erzeugt +werden, die Bytes untereinander verknüpfen, die aber auch wieder +als Operationen in einem endlichen Körper verstanden werden können. + +\subsection{Byte-Operationen +\label{buch:subsection:byte-operationen}} +Moderne Prozessoren operieren auf Wörtern, die Vielfache von Bytes sind. +Byte-Operationen sind besonders effizient in Hardware zu realisieren. +AES verwendet daher als Grundelemente Operationen auf Bytes, die als +Elemente eines endlichen Körpers $\mathbb{F}_{2^8}$ interpretiert werden. + +\subsubsection{Bytes als Elemente von $\mathbb{F}_{2^8}$} +Das Polynom $m(X)=X^8+X^4+X^3+X+1\in \mathbb{F}_2[X]$ ist irreduzibel, +somit ist $\mathbb{F}_{2^8} = \mathbb{F}_2[X]/(m)$ ein Körper. +Die Elemente können dargestellt werden als Polynome, das Byte +$\texttt{63}_{16}$ bekommt die Form +\[ +p(X) = p_7X^7 + p_6X^6 + \dots + p_2X^2+p_1X + p_0, +\] +sie bestehen daher aus den $8$ Bits $p_7,\dots,p_0$. + +Die Interpretation der Bytes als Elemente eines Körpers bedeutet, +dass jede Multiplikation mit einem nicht verschwindenden Byte +invertierbar ist. +Ausserdem mischen diese Operationen die einzelnen Bits auf einigermassen +undurchsichtige, aber umkehrbare Art durcheinander, wie dies für ein +Verschlüsselungsverfahren wünschenswert ist. + +\subsubsection{$S$-Box} +Für die Operation der $S$-Box wird wie folgt zusammengesetzt. +Zunächst wird ein Byte $x$ durch das zugehörige multiplikative +inverse Element +\[ +x\mapsto \bar{x} = \begin{cases} +x^{-1}&\qquad \text{für $x\in \mathbb{F}_{2^8}^*$}\\ +0 &\qquad \text{für $x=0$} +\end{cases} +\] +ersetzt. + +Im zweiten Schritt betrachten wir $\mathbb{F}_{2^8}$ als einen +$8$-dimensionalen Vektorraum über $\mathbb{F}_2$. +Einem Polynom $p(X)=p_7X^7 + \dots + p_1X+p_0$ wird der Spaltenvektor +mit den Komponenten $p_0$ bis $p_7$ zugeordnet. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/90-crypto/images/sbox.pdf} +\caption{Berechnung der Inversen der Matrix $A$ in der $S$-Box des +AES-Algorithmus mit dem Gauss-Algorithmus +\label{buch:crypto:fig:sbox}} +\end{figure} + +Eine lineare Transformation in diesem Vektorraum kann durch eine +$8\times 8$-Matrix in $M_8(\mathbb{F}_2)$ betrachtet werden. +In der $S$-Box wird die Matrix +\[ +A= +\begin{pmatrix} +1&0&0&0&1&1&1&1\\ +1&1&0&0&0&1&1&1\\ +1&1&1&0&0&0&1&1\\ +1&1&1&1&0&0&0&1\\ +1&1&1&1&1&0&0&0\\ +0&1&1&1&1&1&0&0\\ +0&0&1&1&1&1&1&0\\ +0&0&0&1&1&1&1&1 +\end{pmatrix}, +\qquad +A^{-1} += +\begin{pmatrix} +0&0&1&0&0&1&0&1\\ +1&0&0&1&0&0&1&0\\ +0&1&0&0&1&0&0&1\\ +1&0&1&0&0&1&0&0\\ +0&1&0&1&0&0&1&0\\ +0&0&1&0&1&0&0&1\\ +1&0&0&1&0&1&0&0\\ +0&1&0&0&1&0&1&0 +\end{pmatrix} +\] +verwendet. +Mit dem Gauss-Algorithmus, schematisch dargestellt in +Abbildung~\ref{buch:crypto:fig:sbox}, kann man die Inverse +bestimmen, die Multiplikation mit $A$ ist also eine invertierbare +Abbildung. + +Der letzte Schritt ist dann wieder eine Addition von +$q(X)=X^7+X^6+X+1\in \mathbb{F}_{2^8}$, durch Subtraktion +von $q(X)$ invertiert werden kann. +Die $S$-Box-Operation kann also bektoriell geschrieben werden also +\[ + S(x) = A\overline{x}+q. +\] + +Die Implementation ist möglicherweise mit einer Tabelle am schnellsten, +es sind ja nur 256 Bytes im Definitionsbereich der $S$-Box-Abbildung +und ebenso nur 256 möglich Werte. + +\subsection{Block-Operationen +\label{buch:subsection:block-operationen}} +Die zu verschlüsselnden Daten werden in in Blöcke aufgeteilt, deren +Länge Vielfache von $32$ bit sind. +Die kleinste Blockgrösse ist 128\,Bit, die grösste ist 256\,Bit. +Die Bytes eines Blockes werden dann in einem Rechteck angeordnet +als +\begin{equation} +\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline + b_{0} & b_{4} & b_{8} & b_{12} & b_{16} & b_{20} & b_{24} & b_{28} \\ + b_{1} & b_{5} & b_{9} & b_{13} & b_{17} & b_{21} & b_{25} & b_{29} \\ + b_{2} & b_{6} & b_{10} & b_{14} & b_{18} & b_{22} & b_{26} & b_{30} \\ + b_{3} & b_{7} & b_{11} & b_{15} & b_{19} & b_{23} & b_{27} & b_{31} \\ +\hline +\end{tabular} +\label{buch:crypto:eqn:block} +\end{equation} +für eine Blocklänge von 256\,Bits. + + + +\subsubsection{Zeilenshift} +Die Verschlüsselung muss sicherstellen, dass die Bytes des Blockes +untereinander gut gemischt werden. +Die bisher beschriebenen Operationen operieren immer nur auf einzelnen +Bytes während +die im nächsten Abschnitt beschriebene Spalten-Mischoperation +nur auf Spalten wird. +Die Zeilenmischoperation permutiert die Zeilen in den vier Zeilen +eines Blocks zyklisch, die erste Zeile bleibt an Ort, die zweite +Zeile wird um ein Byte rotiert, die dritte um zwei und die letzte +um 3 Bytes, wie in Abbildung~\ref{buch:crypto:fig:zeilenshift} +dargestellt. +Diese Operation könnte mit einer Permutationsmatrix beschrieben werden, +dies wäre jedoch keine effiziente Implementation. +Der Zeilenschift hat ansonsten keine elegante algebraische Beschreibung. + +\subsubsection{Spalten mischen} +Jede Spalte von \eqref{buch:crypto:eqn:block} kann als Vektor des +vierdimensionalen Vektorraumes $\mathbb{F}_{2^8}^4$. +Die Zeilenmischoperation wendet ein lineare Abbildung auf jeden +Spaltenvektor von~\eqref{buch:crypto:eqn:block}. +Die Koeffizienten der Matrix sind Elemente von $\mathbb{F}_{2^8}$. +Die Matrix ist +\[ +C=\begin{pmatrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16} +\end{pmatrix}. +\] +Um nachzuprüfen, dass die Matrix $C$ invertierbar ist, könnte man den +Gauss-Algorithmus verwenden und damit die Inverse berechnen. +Dazu müsste man die multiplikativen Inversen kennen, was etwas mühsam +ist. +Man kann aber aber auch die Determinante bestimmen, dazu braucht man +nur multiplizieren zu können, was in diesem Fall sehr leicht möglich ist, +weil kein Überlauf entsteht. +Dabei hilft es zu beachten, dass die Multiplikation mit $\texttt{02}_{16}$ +nur eine Einbit-Shiftoperation nach links ist. +Nur die Multiplikation $\texttt{03}_{16}\cdot\texttt{03}_{16}=\text{05}_{16}$ +gibt etwas mehr zu überlegen. +Mit geeigneten Zeilen-Operationen kann man die Berechnung der Determinante +von $C$ mit dem Entwicklungssatz etwas vereinfachen. +Man erhält +\begin{align*} +\det(C) +&= +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left( +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\right) ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +( +\texttt{02}_{16}(\texttt{04}_{16}+\texttt{05}_{16}) ++ +(\texttt{06}_{16}+\texttt{03}_{16}) +) ++ +\texttt{03}_{16}\texttt{03}_{16} +\\ +&= +\texttt{02}_{16} +( +\texttt{02}_{16} ++ +\texttt{05}_{16} +) ++ +\texttt{05}_{16} += +\texttt{0e}_{16}+\texttt{05}_{16} += +\texttt{0a}_{16} +\ne 0. +\end{align*} +Damit ist gezeigt, dass die Matrix $C$ invertierbar auf den +Spaltenvektoren wirkt. +Die Inverse der Matrix kann einmal berechnet und anschliessend +für die Entschlüsselung verwendet werden. + +Alternativ kann man die Multiplikation mit der Matrix $C$ auch +interpretieren als eine Polynommultiplikation. +Dazu interpretiert man die Spalten des Blocks als Polynom vom Grad~3 +mit Koeffizienten in $\mathbb{F}_{2^8}$. +Durch Reduktion mit dem irreduziblen Polynom +$n(Z)=Z^4+1\in\mathbb{F}_{2^8}[X]$ entsteht aus dem Polynomring +wieder ein Körper. +Die Wirkung der Matrix $C$ ist dann nichts anderes als Multiplikation +mit dem Polynom +\[ +c(Z) = \texttt{03}_{16}Z^3 + Z^2+Z^1+\texttt{02}_{16}, +\] +die natürlich ebenfalls umkehrbar ist. + +\subsection{Rundenschlüssel +\label{buch:subsection:rundenschlüssel}} + + + + + diff --git a/buch/chapters/90-crypto/images/Makefile b/buch/chapters/90-crypto/images/Makefile index bbb960f..7d2f375 100644 --- a/buch/chapters/90-crypto/images/Makefile +++ b/buch/chapters/90-crypto/images/Makefile @@ -3,7 +3,8 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf +all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \ + shift.pdf dh.pdf: dh.tex pdflatex dh.tex @@ -17,3 +18,9 @@ schieberegister.pdf: schieberegister.tex multiplikation.pdf: multiplikation.tex pdflatex multiplikation.tex +sbox.pdf: sbox.tex + pdflatex sbox.tex + +shift.pdf: shift.tex + pdflatex shift.tex + diff --git a/buch/chapters/90-crypto/images/sbox.m b/buch/chapters/90-crypto/images/sbox.m new file mode 100644 index 0000000..973ffc9 --- /dev/null +++ b/buch/chapters/90-crypto/images/sbox.m @@ -0,0 +1,52 @@ +# +# sbox.m +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +A=[ +1,0,0,0,1,1,1,1; +1,1,0,0,0,1,1,1; +1,1,1,0,0,0,1,1; +1,1,1,1,0,0,0,1; +1,1,1,1,1,0,0,0; +0,1,1,1,1,1,0,0; +0,0,1,1,1,1,1,0; +0,0,0,1,1,1,1,1; +] + +R = zeros(8,16); +R(:,1:8) = A; +R(:,9:16) = eye(8); + +for k = (1:5) + for i=(k+1:8) + pivot = R(i,k); + R(i,:) = R(i,:) + pivot * R(k,:); + end + R = mod(R, 2) +end + +P = [ +1,0,0,0,0,0,0,0; +0,1,0,0,0,0,0,0; +0,0,1,0,0,0,0,0; +0,0,0,1,0,0,0,0; +0,0,0,0,1,0,0,0; +0,0,0,0,0,0,0,1; +0,0,0,0,0,1,0,0; +0,0,0,0,0,0,1,0; +] + +R = P * R + +for k = (8:-1:2) + for i = (1:k-1) + pivot = R(i,k); + R(i,:) = R(i,:) + pivot * R(k,:); + end + R = mod(R, 2) +end + +B = R(:,9:16) + +A * B diff --git a/buch/chapters/90-crypto/images/sbox.pdf b/buch/chapters/90-crypto/images/sbox.pdf new file mode 100644 index 0000000..7a5bdf3 Binary files /dev/null and b/buch/chapters/90-crypto/images/sbox.pdf differ diff --git a/buch/chapters/90-crypto/images/sbox.tex b/buch/chapters/90-crypto/images/sbox.tex new file mode 100644 index 0000000..41f8812 --- /dev/null +++ b/buch/chapters/90-crypto/images/sbox.tex @@ -0,0 +1,241 @@ +% +% sbox.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\s{0.2} +\def\punkt#1#2{({#1*\s},{(8-(#2))*\s})} + +\definecolor{b}{rgb}{0,0,0} +\definecolor{w}{rgb}{1,1,1} + +\def\feld#1#2#3{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2-1)}; +} + +\def\zeile#1#2#3#4#5#6#7#8#9{ + \feld{0}{#1}{#2} + \feld{1}{#1}{#3} + \feld{2}{#1}{#4} + \feld{3}{#1}{#5} + \feld{4}{#1}{#6} + \feld{5}{#1}{#7} + \feld{6}{#1}{#8} + \feld{7}{#1}{#9} +} +\def\inverse#1#2#3#4#5#6#7#8#9{ + \feld{8}{#1}{#2} + \feld{9}{#1}{#3} + \feld{10}{#1}{#4} + \feld{11}{#1}{#5} + \feld{12}{#1}{#6} + \feld{13}{#1}{#7} + \feld{14}{#1}{#8} + \feld{15}{#1}{#9} +} +\def\rechteck{ + \draw (0,{1*\s}) rectangle ({16*\s},{(8+1)*\s}); + \draw ({8*\s},{1*\s}) -- ({8*\s},{(8+1)*\s}); +} + +\def\pivot#1#2{ + \draw[color=red,line width=1.2pt] + \punkt{(#1+\inset)}{(#2-\inset)} + rectangle + \punkt{(#1+1-\inset)}{(#2-1+\inset)}; +} +\def\inset{0.1} +\def\cleanup#1#2#3{ + \pgfmathparse{(#3-#2)/abs(#3-#2)} + \xdef\signum{\pgfmathresult} + \draw[color=blue!50,line width=1.2pt] + \punkt{(#1+\inset)}{#3} + -- + \punkt{(#1+\inset)}{(#2-1+\inset*\signum)} + -- + \punkt{(#1+1-\inset)}{(#2-1+\inset*\signum)} + -- + \punkt{(#1+1-\inset)}{#3} + ; +} + +\begin{scope} + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1bbwwwbbb \inverse1wbwwwwww + \zeile2bbbwwwbb \inverse2wwbwwwww + \zeile3bbbbwwwb \inverse3wwwbwwww + \zeile4bbbbbwww \inverse4wwwwbwww + \zeile5wbbbbbww \inverse5wwwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{0}{0} + \cleanup{0}{1}{7} +\end{scope} + +\begin{scope}[xshift=4cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wbbwbbww \inverse2bwbwwwww + \zeile3wbbbbbbw \inverse3bwwbwwww + \zeile4wbbbwbbb \inverse4bwwwbwww + \zeile5wbbbbbww \inverse5wwwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{1}{1} + \cleanup{1}{2}{7} +\end{scope} + +\begin{scope}[xshift=8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwbbwbbw \inverse3wbwbwwww + \zeile4wwbbbbbb \inverse4wbwwbwww + \zeile5wwbbwbww \inverse5bbwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{2}{2} + \cleanup{2}{3}{7} +\end{scope} + +\begin{scope}[xshift=12cm,yshift=0cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwbbwbb \inverse4wwbwbwww + \zeile5wwwbwwww \inverse5bwbwwbww + \zeile6wwwbbwbw \inverse6wbbwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{3}{3} + \cleanup{3}{4}{7} + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{8}{7} -- \punkt{8}{11}; +\end{scope} + +\begin{scope}[xshift=12cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwwbw \inverse5bwwbwbww + \zeile6wwwwbwww \inverse6wbwbwwbw + \zeile7wwwwbbwb \inverse7wwbbwwwb + \rechteck + \pivot{4}{4} + \cleanup{4}{5}{7} +\end{scope} + +\begin{scope}[xshift=8cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwwbw \inverse5bwwbwbww + \zeile6wwwwwwwb \inverse6wbwwbwbw + \zeile7wwwwwbww \inverse7wwbwbwwb + \rechteck +\end{scope} + +\begin{scope}[xshift=4cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{7}{7}{-1} +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-2.4cm] + \zeile0bwwwbbbw \inverse0bbwwbwbw + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{6}{6}{-1} + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{8}{7} -- \punkt{8}{11}; +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-4.8cm] + \zeile0bwwwbbww \inverse0wbwbbbbw + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{5}{5}{-1} +\end{scope} + +\begin{scope}[xshift=4cm,yshift=-4.8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbwww \inverse0wbbbwbbb + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwwww \inverse2wbwwbwwb + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{4}{4}{-1} +\end{scope} + +\begin{scope}[xshift=8cm,yshift=-4.8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwwwww \inverse0wwbwwbwb + \zeile1wbwwwwww \inverse1bwwbwwbw + \zeile2wwbwwwww \inverse2wbwwbwwb + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/shift.pdf b/buch/chapters/90-crypto/images/shift.pdf new file mode 100644 index 0000000..bc229a1 Binary files /dev/null and b/buch/chapters/90-crypto/images/shift.pdf differ diff --git a/buch/chapters/90-crypto/images/shift.tex b/buch/chapters/90-crypto/images/shift.tex new file mode 100644 index 0000000..5cfdd92 --- /dev/null +++ b/buch/chapters/90-crypto/images/shift.tex @@ -0,0 +1,30 @@ +% +% shift.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\s{1} +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\draw \punkt{0}{0} rectangle \punkt{8}{4}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{4}; +} +\foreach \y in {1,...,3}{ + \draw \punkt{0}{\y} -- \punkt{8}{\y}; +} + +\end{tikzpicture} +\end{document} + -- cgit v1.2.1 From 8c4ba3a03eb7d0169d7b7ec29fce05840518e1a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 7 Apr 2021 19:59:03 +0200 Subject: add missing files --- buch/chapters/90-crypto/aes.tex | 6 ++ buch/chapters/90-crypto/images/Makefile | 5 +- buch/chapters/90-crypto/images/keys.pdf | Bin 0 -> 11043 bytes buch/chapters/90-crypto/images/keys.tex | 90 ++++++++++++++++++++++++ buch/chapters/90-crypto/images/shift.pdf | Bin 1182 -> 14903 bytes buch/chapters/90-crypto/images/shift.tex | 113 +++++++++++++++++++++++++++++-- 6 files changed, 207 insertions(+), 7 deletions(-) create mode 100644 buch/chapters/90-crypto/images/keys.pdf create mode 100644 buch/chapters/90-crypto/images/keys.tex (limited to 'buch') diff --git a/buch/chapters/90-crypto/aes.tex b/buch/chapters/90-crypto/aes.tex index 4df2e8d..968b2c6 100644 --- a/buch/chapters/90-crypto/aes.tex +++ b/buch/chapters/90-crypto/aes.tex @@ -160,6 +160,12 @@ für eine Blocklänge von 256\,Bits. \subsubsection{Zeilenshift} +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/90-crypto/images/shift.pdf} +\caption{Zeilenshift in einem Block von 256 bits +\label{buch:crypto:fig:shift}} +\end{figure} Die Verschlüsselung muss sicherstellen, dass die Bytes des Blockes untereinander gut gemischt werden. Die bisher beschriebenen Operationen operieren immer nur auf einzelnen diff --git a/buch/chapters/90-crypto/images/Makefile b/buch/chapters/90-crypto/images/Makefile index 7d2f375..f4bed14 100644 --- a/buch/chapters/90-crypto/images/Makefile +++ b/buch/chapters/90-crypto/images/Makefile @@ -4,7 +4,7 @@ # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \ - shift.pdf + shift.pdf keys.pdf dh.pdf: dh.tex pdflatex dh.tex @@ -24,3 +24,6 @@ sbox.pdf: sbox.tex shift.pdf: shift.tex pdflatex shift.tex +keys.pdf: keys.tex + pdflatex keys.tex + diff --git a/buch/chapters/90-crypto/images/keys.pdf b/buch/chapters/90-crypto/images/keys.pdf new file mode 100644 index 0000000..99f991f Binary files /dev/null and b/buch/chapters/90-crypto/images/keys.pdf differ diff --git a/buch/chapters/90-crypto/images/keys.tex b/buch/chapters/90-crypto/images/keys.tex new file mode 100644 index 0000000..68920a5 --- /dev/null +++ b/buch/chapters/90-crypto/images/keys.tex @@ -0,0 +1,90 @@ +% +% keys.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] +\definecolor{darkgreen}{rgb}{0,0.6,0} +\def\s{0.5} +\def\punkt#1#2{({(#1)*\s},{(#2)*\s})} +\def\wort#1#2#3{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; + \draw \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; +} + +\def\summe{ + \foreach \x in {0,3,...,21}{ + \draw[->] \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; + \draw \punkt{(\x+0.5)}{-2.5} circle[radius={0.3*\s}]; + \draw \punkt{(\x+0.5-0.2)}{-2.5} + -- + \punkt{(\x+0.5+0.2)}{-2.5}; + \draw \punkt{(\x+0.5)}{-2.5+0.2} + -- + \punkt{(\x+0.5)}{-2.5-0.2}; + \draw[->] \punkt{(\x+0.5)}{-2.9} -- \punkt{(\x+0.5)}{-4.9}; + } + \foreach \x in {0,3,...,18}{ + \draw[->] \punkt{(\x+1)}{-7} -- \punkt{(\x+2)}{-7} + -- \punkt{(\x+2)}{-2.5} -- \punkt{(\x+3.1)}{-2.5}; + } + \fill[color=white] + \punkt{(9+1.5)}{-5.25} + rectangle + \punkt{(9+2.5)}{-4.25}; + \draw + \punkt{(9+1.5)}{-5.25} + rectangle + \punkt{(9+2.5)}{-4.25}; + \node at \punkt{(9+2)}{-4.75} {$S$}; +} +\def\blocks#1{ + \foreach \x in {0,3,...,21}{ + \wort{\x}{0}{#1} + } +} + +\def\schlange{ + \draw[->] \punkt{22.1}{2} -- \punkt{23}{2} + -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} + -- \punkt{-3}{-8} -- \punkt{-1}{-8} -- \punkt{-1}{-2.5} + -- \punkt{0.1}{-2.5}; + ; + \fill[color=white] \punkt{-3.5}{-1.5} rectangle \punkt{-2.5}{-3.5}; + \draw \punkt{-3.5}{-1.5} rectangle \punkt{-2.5}{-3.5}; + \node at \punkt{-3}{-2.5} {$\pi$}; + \fill[color=white] \punkt{-3.5}{-3.5} rectangle \punkt{-2.5}{-5.5}; + \draw \punkt{-3.5}{-3.5} rectangle \punkt{-2.5}{-5.5}; + \node at \punkt{-3}{-4.5} {$S$}; + \fill[color=white] \punkt{-3.5}{-5.5} rectangle \punkt{-2.5}{-7.5}; + \draw \punkt{-3.5}{-5.5} rectangle \punkt{-2.5}{-7.5}; + \node at \punkt{-3}{-6.5} {$r$}; +} + +\begin{scope} + \blocks{blue!20} + \schlange + \summe +\end{scope} + +\begin{scope}[yshift=-4.5cm] + \blocks{darkgreen!20} + \summe +\end{scope} + +\begin{scope}[yshift=-9cm] + \blocks{darkgreen!20} +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/shift.pdf b/buch/chapters/90-crypto/images/shift.pdf index bc229a1..b007378 100644 Binary files a/buch/chapters/90-crypto/images/shift.pdf and b/buch/chapters/90-crypto/images/shift.pdf differ diff --git a/buch/chapters/90-crypto/images/shift.tex b/buch/chapters/90-crypto/images/shift.tex index 5cfdd92..bcdf819 100644 --- a/buch/chapters/90-crypto/images/shift.tex +++ b/buch/chapters/90-crypto/images/shift.tex @@ -14,17 +14,118 @@ \def\skala{1} \begin{tikzpicture}[>=latex,thick,scale=\skala] -\def\s{1} +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.8} \def\punkt#1#2{({#1*\s},{#2*\s})} -\draw \punkt{0}{0} rectangle \punkt{8}{4}; -\foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{4}; +\def\feld#1#2#3#4{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+1)}; + \node at \punkt{(#1+0.5)}{(#2+0.5)} {$\mathstrut #4$}; } -\foreach \y in {1,...,3}{ - \draw \punkt{0}{\y} -- \punkt{8}{\y}; +\def\gitter{ + \draw \punkt{0}{0} rectangle \punkt{8}{4}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{4}; + } + \foreach \y in {1,...,3}{ + \draw \punkt{0}{\y} -- \punkt{8}{\y}; + } } +\begin{scope} + \feld{0}{3}{red!20}{b_{0}} + \feld{0}{2}{red!20}{b_{1}} + \feld{0}{1}{red!20}{b_{2}} + \feld{0}{0}{red!20}{b_{3}} + + \feld{1}{3}{red!10}{b_{4}} + \feld{1}{2}{red!10}{b_{5}} + \feld{1}{1}{red!10}{b_{6}} + \feld{1}{0}{red!10}{b_{7}} + + \feld{2}{3}{yellow!20}{b_{8}} + \feld{2}{2}{yellow!20}{b_{9}} + \feld{2}{1}{yellow!20}{b_{10}} + \feld{2}{0}{yellow!20}{b_{11}} + + \feld{3}{3}{yellow!10}{b_{12}} + \feld{3}{2}{yellow!10}{b_{13}} + \feld{3}{1}{yellow!10}{b_{14}} + \feld{3}{0}{yellow!10}{b_{15}} + + \feld{4}{3}{darkgreen!20}{b_{16}} + \feld{4}{2}{darkgreen!20}{b_{17}} + \feld{4}{1}{darkgreen!20}{b_{18}} + \feld{4}{0}{darkgreen!20}{b_{19}} + + \feld{5}{3}{darkgreen!10}{b_{20}} + \feld{5}{2}{darkgreen!10}{b_{21}} + \feld{5}{1}{darkgreen!10}{b_{22}} + \feld{5}{0}{darkgreen!10}{b_{23}} + + \feld{6}{3}{blue!20}{b_{24}} + \feld{6}{2}{blue!20}{b_{25}} + \feld{6}{1}{blue!20}{b_{26}} + \feld{6}{0}{blue!20}{b_{27}} + + \feld{7}{3}{blue!10}{b_{28}} + \feld{7}{2}{blue!10}{b_{29}} + \feld{7}{1}{blue!10}{b_{30}} + \feld{7}{0}{blue!10}{b_{31}} + + \gitter + + \draw[->] \punkt{8.1}{2} -- \punkt{9.3}{2}; +\end{scope} + + +\begin{scope}[xshift=7.5cm] + + \feld{0}{3}{red!20}{b_{0}} + \feld{1}{2}{red!20}{b_{1}} + \feld{2}{1}{red!20}{b_{2}} + \feld{3}{0}{red!20}{b_{3}} + + \feld{1}{3}{red!10}{b_{4}} + \feld{2}{2}{red!10}{b_{5}} + \feld{3}{1}{red!10}{b_{6}} + \feld{4}{0}{red!10}{b_{7}} + + \feld{2}{3}{yellow!20}{b_{8}} + \feld{3}{2}{yellow!20}{b_{9}} + \feld{4}{1}{yellow!20}{b_{10}} + \feld{5}{0}{yellow!20}{b_{11}} + + \feld{3}{3}{yellow!10}{b_{12}} + \feld{4}{2}{yellow!10}{b_{13}} + \feld{5}{1}{yellow!10}{b_{14}} + \feld{6}{0}{yellow!10}{b_{15}} + + \feld{4}{3}{darkgreen!20}{b_{16}} + \feld{5}{2}{darkgreen!20}{b_{17}} + \feld{6}{1}{darkgreen!20}{b_{18}} + \feld{7}{0}{darkgreen!20}{b_{19}} + + \feld{5}{3}{darkgreen!10}{b_{20}} + \feld{6}{2}{darkgreen!10}{b_{21}} + \feld{7}{1}{darkgreen!10}{b_{22}} + \feld{0}{0}{darkgreen!10}{b_{23}} + + \feld{6}{3}{blue!20}{b_{24}} + \feld{7}{2}{blue!20}{b_{25}} + \feld{0}{1}{blue!20}{b_{26}} + \feld{1}{0}{blue!20}{b_{27}} + + \feld{7}{3}{blue!10}{b_{28}} + \feld{0}{2}{blue!10}{b_{29}} + \feld{1}{1}{blue!10}{b_{30}} + \feld{2}{0}{blue!10}{b_{31}} + + \gitter + +\end{scope} + \end{tikzpicture} \end{document} -- cgit v1.2.1 From 48a93a731e67c99c153ceeb13ef5bb978bba3cb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 7 Apr 2021 21:26:53 +0200 Subject: add new stuff about AES --- buch/chapters/90-crypto/aes.tex | 94 +++++++++++++++++++++++++++- buch/chapters/90-crypto/images/dh.pdf | Bin 27689 -> 27689 bytes buch/chapters/90-crypto/images/elliptic.pdf | Bin 21278 -> 21278 bytes buch/chapters/90-crypto/images/keys.pdf | Bin 11043 -> 22934 bytes buch/chapters/90-crypto/images/keys.tex | 59 ++++++++++++----- 5 files changed, 137 insertions(+), 16 deletions(-) (limited to 'buch') diff --git a/buch/chapters/90-crypto/aes.tex b/buch/chapters/90-crypto/aes.tex index 968b2c6..acdda22 100644 --- a/buch/chapters/90-crypto/aes.tex +++ b/buch/chapters/90-crypto/aes.tex @@ -333,9 +333,99 @@ c(Z) = \texttt{03}_{16}Z^3 + Z^2+Z^1+\texttt{02}_{16}, \] die natürlich ebenfalls umkehrbar ist. -\subsection{Rundenschlüssel -\label{buch:subsection:rundenschlüssel}} +\subsection{Schlüssel +\label{buch:subsection:schlüssel}} +Die von den Byte- und Blockoperationen mischen die einzelnen Bits +der Daten zwar ganz schön durcheinander, aber es wird noch kein +Schlüsselmaterial eingearbeitet, welches den Prozess einzigartig +macht. +\subsubsection{Schlüsseladdition} +Nach jeder Spaltenmischoperation wird ein Rundenschlüssel +zum Blockhinzuaddiert. +Beim ersten Mal wird dazu einfach das Schlüsselmaterial verwendet. +Für die folgenden Runden muss aus diesem Schlüssel neues +Material, die sogenannten Rundenschlüssel, gewonnen werden. + +\subsubsection{Rundenschlüssel} +\begin{figure} +\centering +\includegraphics{chapters/90-crypto/images/keys.pdf} +\caption{Erzeugung der erweiterten Schlüsseldaten aus dem Schlüssel +$K_0,\dots,K_7$ für Schlüssellänge 256\,bit. +Die mit $S$ beschrifteten Blöcke wenden die $S$-Box auf jedes einzelne +Byte an. +$\pi$ ist die zyklische Vertauschung der Bytes eines Wortes. +Die Operation $r_i$ ist eine Addition einer Konstanten, die in jeder +Runde anders ist. +\label{buch:crypto:fig:keys}} +\end{figure} +Die Erzeugung der Rundenschlüssel ist in Abbildung +\ref{buch:crypto:fig:keys} +schematisch dargestellt. +Die Blöcke beschreiben wieder Spaltenvektoren im vierdimensionalen +Raum $\mathbb{F}_{2^8}^4$. +Die Blöcke $K_0$ bis $K_7$ stellen den ursprünglichen Schlüssel dar. +Die Erzeugung eines neuen Blocks Schlüsselmatrial beginnt damit, +dass der letzte Vektor des vorangegangenblocks drei Operationen +unterworfen werden. +\begin{itemize} +\item +Die Operation $\pi$ vertauscht die Bytes des Vektors zyklisch: +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\def\s{0.6} +\begin{scope} +\draw (0,0) rectangle (\s,{4*\s}); +\foreach \y in {1,...,3}{ + \draw (0,{\y*\s}) (\s,{\y*\s}); +} +\node at ({0.5*\s},{0.5*\s}) {$b_3$}; +\node at ({0.5*\s},{1.5*\s}) {$b_2$}; +\node at ({0.5*\s},{2.5*\s}) {$b_1$}; +\node at ({0.5*\s},{3.5*\s}) {$b_0$}; +\end{scope} +\draw[->] ({1.1*\s},{2*\s}) -- ({4.9*\s},{2*\s}); +\node at ({3*\s},{2*\s}) [above] {$\pi$}; +\begin{scope}[xshift=3cm] +\draw (0,0) rectangle (\s,{4*\s}); +\foreach \y in {1,...,3}{ + \draw (0,{\y*\s}) (\s,{\y*\s}); +} +\node at ({0.5*\s},{0.5*\s}) {$b_0$}; +\node at ({0.5*\s},{1.5*\s}) {$b_3$}; +\node at ({0.5*\s},{2.5*\s}) {$b_2$}; +\node at ({0.5*\s},{3.5*\s}) {$b_1$}; +\end{scope} +\end{tikzpicture} +\end{center} +\item +Die $S$-Operation wendet die $S$-Box auf alle Bytes eines Vektors an. +\item +Die $r_i$ Operation addiert in Runde eine Konstante $r_i$ zur $0$-Komponente. +\end{itemize} +Die Konstante $r_i$ ist wieder ein einzelnes Byte und es ist daher +naheliegend, diese Bytes mit Hilfe der Arithmetik in $\mathbb{F}_{2^8}$ +zu erzeugen. +Man kann daher $r_i$ definieren als +$(\texttt{02}_{16})^{i-1}\in\mathbb{F}_{2^8}$. + +\subsection{Runden} +Der AES-Verschlüsselungsalgorithmus besteht jetzt darin, die bisher +definierten Operationen wiederholt anzuwenden. +Eine einzelne Runde besteht dabei aus folgenden Schritten: +\begin{enumerate} +\item Wende die $S$-Box auf alle Bytes des Blocks an. +\item Führe den Zeilenshift durch. +\item Mische die Spalten (wird in der letzten Runde) +\item Erzeuge den nächsten Rundenschlüssel +\item Addiere den Rundenschlüssel +\end{enumerate} +Der AES-Verschlüsselungsalgorithmus beginnt damit, dass der Schlüssel +zum Datenblock addiert wird. +Anschliessend werden je nach Blocklänge verschiedene Anzahlen von +Runden durchgeführt, 10 Runden für 128\,bit, 12 Runden für 192\,bit und +14 Runden für 256\,bit. diff --git a/buch/chapters/90-crypto/images/dh.pdf b/buch/chapters/90-crypto/images/dh.pdf index 67b95a5..eede4bd 100644 Binary files a/buch/chapters/90-crypto/images/dh.pdf and b/buch/chapters/90-crypto/images/dh.pdf differ diff --git a/buch/chapters/90-crypto/images/elliptic.pdf b/buch/chapters/90-crypto/images/elliptic.pdf index d408f1e..e58639f 100644 Binary files a/buch/chapters/90-crypto/images/elliptic.pdf and b/buch/chapters/90-crypto/images/elliptic.pdf differ diff --git a/buch/chapters/90-crypto/images/keys.pdf b/buch/chapters/90-crypto/images/keys.pdf index 99f991f..2c6b4b9 100644 Binary files a/buch/chapters/90-crypto/images/keys.pdf and b/buch/chapters/90-crypto/images/keys.pdf differ diff --git a/buch/chapters/90-crypto/images/keys.tex b/buch/chapters/90-crypto/images/keys.tex index 68920a5..d556b7c 100644 --- a/buch/chapters/90-crypto/images/keys.tex +++ b/buch/chapters/90-crypto/images/keys.tex @@ -34,55 +34,86 @@ \draw[->] \punkt{(\x+0.5)}{-2.9} -- \punkt{(\x+0.5)}{-4.9}; } \foreach \x in {0,3,...,18}{ - \draw[->] \punkt{(\x+1)}{-7} -- \punkt{(\x+2)}{-7} + \draw[->] \punkt{(\x+1.1)}{-7} -- \punkt{(\x+2)}{-7} -- \punkt{(\x+2)}{-2.5} -- \punkt{(\x+3.1)}{-2.5}; } \fill[color=white] - \punkt{(9+1.5)}{-5.25} + \punkt{(9+1.25)}{-5.5} rectangle - \punkt{(9+2.5)}{-4.25}; + \punkt{(9+2.75)}{-4.00}; \draw - \punkt{(9+1.5)}{-5.25} + \punkt{(9+1.25)}{-5.5} rectangle - \punkt{(9+2.5)}{-4.25}; + \punkt{(9+2.75)}{-4.00}; \node at \punkt{(9+2)}{-4.75} {$S$}; } + \def\blocks#1{ \foreach \x in {0,3,...,21}{ \wort{\x}{0}{#1} } } -\def\schlange{ +\def\schlange#1{ \draw[->] \punkt{22.1}{2} -- \punkt{23}{2} -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} -- \punkt{-3}{-8} -- \punkt{-1}{-8} -- \punkt{-1}{-2.5} -- \punkt{0.1}{-2.5}; ; - \fill[color=white] \punkt{-3.5}{-1.5} rectangle \punkt{-2.5}{-3.5}; - \draw \punkt{-3.5}{-1.5} rectangle \punkt{-2.5}{-3.5}; + \fill[color=white] \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; + \draw \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; \node at \punkt{-3}{-2.5} {$\pi$}; - \fill[color=white] \punkt{-3.5}{-3.5} rectangle \punkt{-2.5}{-5.5}; - \draw \punkt{-3.5}{-3.5} rectangle \punkt{-2.5}{-5.5}; + + \fill[color=white] \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; + \draw \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; \node at \punkt{-3}{-4.5} {$S$}; - \fill[color=white] \punkt{-3.5}{-5.5} rectangle \punkt{-2.5}{-7.5}; - \draw \punkt{-3.5}{-5.5} rectangle \punkt{-2.5}{-7.5}; - \node at \punkt{-3}{-6.5} {$r$}; + + \fill[color=white] \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; + \draw \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; + \node at \punkt{-3}{-6.5} {$r_{#1}$}; } \begin{scope} \blocks{blue!20} - \schlange + \foreach \x in {0,...,7}{ + \node at \punkt{(3*\x+0.5)}{2} {$K_\x$}; + } + \schlange{1} \summe \end{scope} \begin{scope}[yshift=-4.5cm] \blocks{darkgreen!20} + \foreach \x in {8,...,15}{ + \node at \punkt{(3*(\x-8)+0.5)}{2} {$K_{\x}$}; + } + \schlange{2} \summe \end{scope} \begin{scope}[yshift=-9cm] \blocks{darkgreen!20} + \foreach \x in {16,...,23}{ + \node at \punkt{(3*(\x-16)+0.5)}{2} {$K_{\x}$}; + } + \schlange{3} + \summe +\end{scope} + +\begin{scope}[yshift=-13.5cm] + \blocks{darkgreen!20} + \foreach \x in {24,...,31}{ + \node at \punkt{(3*(\x-24)+0.5)}{2} {$K_{\x}$}; + } + \foreach \x in {0,3,...,21}{ + \draw[->,color=gray] + \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; + \node[color=gray] at \punkt{(\x+0.5)}{-2.1} [below] {$\vdots$}; + } + \draw[color=gray] \punkt{22.1}{2} -- \punkt{23}{2} + -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} + -- \punkt{-3}{-2.1}; + \node[color=gray] at \punkt{-3}{-2.1} [below] {$\vdots$}; \end{scope} \end{tikzpicture} -- cgit v1.2.1 From 47354a0dd46c84826157a474ba2560156de509ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 8 Apr 2021 08:52:45 +0200 Subject: binomial images improved --- .../30-endlichekoerper/images/binomial2.pdf | Bin 19246 -> 19417 bytes .../30-endlichekoerper/images/binomial2.tex | 19 +++++++ .../30-endlichekoerper/images/binomial5.pdf | Bin 26050 -> 27894 bytes .../30-endlichekoerper/images/binomial5.tex | 58 +++++++++++++++++++++ 4 files changed, 77 insertions(+) (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/images/binomial2.pdf b/buch/chapters/30-endlichekoerper/images/binomial2.pdf index 92be742..0a07c92 100644 Binary files a/buch/chapters/30-endlichekoerper/images/binomial2.pdf and b/buch/chapters/30-endlichekoerper/images/binomial2.pdf differ diff --git a/buch/chapters/30-endlichekoerper/images/binomial2.tex b/buch/chapters/30-endlichekoerper/images/binomial2.tex index 77ccb57..1856844 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial2.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial2.tex @@ -279,6 +279,25 @@ \dreieck{32}{0} \dreieck{32}{32} +\dreieck{33}{0} +\dreieck{33}{1} +\dreieck{33}{32} +\dreieck{33}{33} + +\dreieck{34}{0} +\dreieck{34}{2} +\dreieck{34}{32} +\dreieck{34}{34} + +\dreieck{35}{0} +\dreieck{35}{1} +\dreieck{35}{2} +\dreieck{35}{3} +\dreieck{35}{32} +\dreieck{35}{33} +\dreieck{35}{34} +\dreieck{35}{35} + \def\etikett#1#2#3{ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; } diff --git a/buch/chapters/30-endlichekoerper/images/binomial5.pdf b/buch/chapters/30-endlichekoerper/images/binomial5.pdf index 1b2a813..a4bdf51 100644 Binary files a/buch/chapters/30-endlichekoerper/images/binomial5.pdf and b/buch/chapters/30-endlichekoerper/images/binomial5.pdf differ diff --git a/buch/chapters/30-endlichekoerper/images/binomial5.tex b/buch/chapters/30-endlichekoerper/images/binomial5.tex index 750b7e0..815e611 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial5.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial5.tex @@ -358,6 +358,64 @@ \dreieck{32}{31}{2} \dreieck{32}{32}{1} +\dreieck{33}{0}{1} +\dreieck{33}{1}{3} +\dreieck{33}{2}{3} +\dreieck{33}{3}{1} +\dreieck{33}{5}{1} +\dreieck{33}{6}{3} +\dreieck{33}{7}{3} +\dreieck{33}{8}{1} +\dreieck{33}{25}{1} +\dreieck{33}{26}{3} +\dreieck{33}{27}{3} +\dreieck{33}{28}{1} +\dreieck{33}{30}{1} +\dreieck{33}{31}{3} +\dreieck{33}{32}{3} +\dreieck{33}{33}{1} + +\dreieck{34}{0}{1} +\dreieck{34}{1}{4} +\dreieck{34}{2}{1} +\dreieck{34}{3}{4} +\dreieck{34}{4}{1} +\dreieck{34}{5}{1} +\dreieck{34}{6}{4} +\dreieck{34}{7}{1} +\dreieck{34}{8}{4} +\dreieck{34}{9}{1} +\dreieck{34}{25}{1} +\dreieck{34}{26}{4} +\dreieck{34}{27}{1} +\dreieck{34}{28}{4} +\dreieck{34}{29}{1} +\dreieck{34}{30}{1} +\dreieck{34}{31}{4} +\dreieck{34}{32}{1} +\dreieck{34}{33}{4} +\dreieck{34}{34}{1} + +\dreieck{35}{0}{1} +\dreieck{35}{5}{2} +\dreieck{35}{10}{1} +\dreieck{35}{25}{1} +\dreieck{35}{30}{2} +\dreieck{35}{35}{1} + +\dreieck{36}{0}{1} +\dreieck{36}{1}{1} +\dreieck{36}{5}{2} +\dreieck{36}{6}{2} +\dreieck{36}{10}{1} +\dreieck{36}{11}{1} +\dreieck{36}{25}{1} +\dreieck{36}{26}{1} +\dreieck{36}{30}{2} +\dreieck{36}{31}{2} +\dreieck{36}{35}{1} +\dreieck{36}{36}{1} + \def\etikett#1#2#3{ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; } -- cgit v1.2.1 From cb47736dc6b9eba6917914b273230b8a50a8c5da Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 10 Apr 2021 18:23:01 +0200 Subject: Add outline --- buch/papers/punktgruppen/main.tex | 28 ++++++++++++++++++++++++++++ buch/papers/punktgruppen/packages.tex | 5 +---- 2 files changed, 29 insertions(+), 4 deletions(-) (limited to 'buch') diff --git a/buch/papers/punktgruppen/main.tex b/buch/papers/punktgruppen/main.tex index 71e9a92..603f293 100644 --- a/buch/papers/punktgruppen/main.tex +++ b/buch/papers/punktgruppen/main.tex @@ -8,5 +8,33 @@ \begin{refsection} \chapterauthor{Tim T\"onz, Naoki Pross} +%% TODO: remove +%% Some ideas to motivate the topic: +%% - Physics in a crystal lattice structure +%% - Birifrencenge and scattering of light / Xray in Crystals +%% - Electron density function in a lattice +%% - Heat diffusion with lattice model +%% - Ising model for ferromagnetism (?? => H.D. Lang) +%% +%% - Homomorphic encryption (or lattice based cryptography) +%% + Q: Is it possible to edit encrypted data without decrypting it first? + +%% TODO: translated and move into a file {{{ + +\section{Motivation} +% birifrengence + +\section{Math} +% lattice group +% symmetry +% space group + +\section{Physics} +\subsection{Electromagnetic Waves} +\subsection{Crystal Lattice} + + +%% }}} + \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/punktgruppen/packages.tex b/buch/papers/punktgruppen/packages.tex index 971bcfe..9953339 100644 --- a/buch/papers/punktgruppen/packages.tex +++ b/buch/papers/punktgruppen/packages.tex @@ -4,7 +4,4 @@ % (c) 2019 Prof Dr Andreas Müller, Hochschule Rapperswil % -% if your paper needs special packages, add package commands as in the -% following example -%\usepackage{packagename} - +\usepackage{tikz-3dplot} -- cgit v1.2.1 From 9b47f234c30f63c41bfff952a9be32bab79302cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sun, 11 Apr 2021 19:12:02 +0200 Subject: fix some typos --- buch/test3.tex | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 buch/test3.tex (limited to 'buch') diff --git a/buch/test3.tex b/buch/test3.tex new file mode 100644 index 0000000..71b1529 --- /dev/null +++ b/buch/test3.tex @@ -0,0 +1,91 @@ +% +% test3.tex -- Test 3 +% +% (c) 2021 Prof. Dr. Andreas Mueller, OST +% +%\documentclass[a4paper,12pt]{book} +\documentclass[a4paper,12pt]{article} +\usepackage{geometry} +\geometry{papersize={210mm,297mm},total={165mm,260mm}} +\usepackage{ngerman} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{times} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{amsfonts} +\usepackage{amsthm} +\usepackage{graphicx} +\usepackage{fancyhdr} +\usepackage{textcomp} +\usepackage[all]{xy} +\usepackage{txfonts} +\usepackage{alltt} +\usepackage{verbatim} +\usepackage{paralist} +\usepackage{makeidx} +\usepackage{array} +\usepackage{hyperref} +\usepackage{caption} +\usepackage{subcaption} +\usepackage{standalone} +\usepackage{environ} +\usepackage{tikz} +\input{../common/linsys.tex} +\newcounter{beispiel} +\newenvironment{beispiele}{ +\bgroup\smallskip\parindent0pt\bf Beispiele\egroup + +\begin{list}{\arabic{beispiel}.} + {\usecounter{beispiel} + \setlength{\labelsep}{5mm} + \setlength{\rightmargin}{0pt} +}}{\end{list}} +\newcounter{uebungsaufgabe} +% environment fuer uebungsaufgaben +\newenvironment{uebungsaufgaben}{ +\begin{list}{\arabic{uebungsaufgabe}.} + {\usecounter{uebungsaufgabe} + \setlength{\labelwidth}{2cm} + \setlength{\leftmargin}{0pt} + \setlength{\labelsep}{5mm} + \setlength{\rightmargin}{0pt} + \setlength{\itemindent}{0pt} +}}{\end{list}\vfill\pagebreak} +\newenvironment{teilaufgaben}{ +\begin{enumerate} +\renewcommand{\labelenumi}{\alph{enumi})} +}{\end{enumerate}} +% Loesung +\NewEnviron{loesung}{% +\begin{proof}[Lösung]% +\renewcommand{\qedsymbol}{$\bigcirc$} +\BODY +\end{proof}} +\NewEnviron{bewertung}{\relax} +\NewEnviron{diskussion}{ +\BODY +} +\RenewEnviron{loesung}{\relax} +\RenewEnviron{diskussion}{\relax} +\newenvironment{hinweis}{% +\renewcommand{\qedsymbol}{} +\begin{proof}[Hinweis]}{\end{proof}} + +\begin{document} +{\parindent0pt\hbox to\hsize{% +Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} +\vspace{0.5cm} + +\section*{Kurztest 3} + +\begin{uebungsaufgaben} + +\item +\input chapters/60-gruppen/uebungsaufgaben/6001.tex +%\item +%\input chapters/60-gruppen/uebungsaufgaben/6002.tex + +\end{uebungsaufgaben} + +\end{document} -- cgit v1.2.1 From 2db90bfe4b174570424c408f04000902411d8755 Mon Sep 17 00:00:00 2001 From: Joshua Baer Date: Mon, 12 Apr 2021 21:51:55 +0200 Subject: update to current state of book --- .../30-endlichekoerper/images/binomial2.tex | 650 ++++---- .../30-endlichekoerper/images/binomial5.tex | 874 +++++----- buch/chapters/40-eigenwerte/chapter.tex | 100 +- buch/chapters/40-eigenwerte/images/Makefile | 88 +- buch/chapters/40-eigenwerte/images/minmax.tex | 268 +-- buch/chapters/40-eigenwerte/spektraltheorie.tex | 1604 +++++++++--------- buch/chapters/60-gruppen/chapter.tex | 94 +- buch/chapters/60-gruppen/images/Makefile | 50 +- buch/chapters/60-gruppen/images/karten.tex | 224 +-- buch/chapters/60-gruppen/images/kartenkreis.tex | 378 ++--- buch/chapters/60-gruppen/images/phasenraum.tex | 186 +-- buch/chapters/60-gruppen/images/scherungen.tex | 314 ++-- buch/chapters/60-gruppen/images/sl2.tex | 292 ++-- buch/chapters/60-gruppen/images/torus.pov | 378 ++--- buch/chapters/60-gruppen/lie-algebren.tex | 1294 +++++++------- buch/chapters/60-gruppen/lie-gruppen.tex | 1762 ++++++++++---------- buch/chapters/60-gruppen/symmetrien.tex | 1450 ++++++++-------- buch/chapters/60-gruppen/uebungsaufgaben/6001.tex | 466 +++--- buch/chapters/60-gruppen/uebungsaufgaben/6002.tex | 324 ++-- buch/chapters/70-graphen/images/Makefile | 44 +- buch/chapters/70-graphen/images/fundamental.tex | 108 +- buch/chapters/70-graphen/spektral.tex | 396 ++--- buch/chapters/70-graphen/wavelets.tex | 250 +-- buch/chapters/90-crypto/aes.tex | 866 +++++----- buch/chapters/90-crypto/arith.tex | 590 +++---- buch/chapters/90-crypto/chapter.tex | 62 +- buch/chapters/90-crypto/ff.tex | 1328 +++++++-------- buch/chapters/90-crypto/images/Makefile | 58 +- buch/chapters/90-crypto/images/keys.tex | 242 +-- buch/chapters/90-crypto/images/multiplikation.tex | 928 +++++------ buch/chapters/90-crypto/images/sbox.m | 104 +- buch/chapters/90-crypto/images/sbox.tex | 482 +++--- buch/chapters/90-crypto/images/schieberegister.tex | 240 +-- buch/chapters/90-crypto/images/shift.tex | 262 +-- buch/chapters/90-crypto/uebungsaufgaben/9001.tex | 62 +- buch/chapters/references.bib | 270 +-- buch/test3.tex | 182 +- 37 files changed, 8635 insertions(+), 8635 deletions(-) (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/images/binomial2.tex b/buch/chapters/30-endlichekoerper/images/binomial2.tex index 1856844..e816b36 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial2.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial2.tex @@ -1,325 +1,325 @@ -% -% binomial2.tex -- Parität der Binomialkoeffizienten -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\def\s{0.37} -\pgfmathparse{\s*sqrt(3)/2} -\xdef\ys{\pgfmathresult} -\pgfmathparse{\s/2} -\xdef\xs{\pgfmathresult} - -% -% #1 = n -% #2 = k -% -\def\dreieck#1#2{ - \fill[color=black] ({\xs*(-#1+2*#2)},{-\ys*#1}) - -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) - -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; -} -\def\zeile#1{ - \fill[color=red!40] - ({\xs*(-#1)},{-\ys*#1}) - -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) - -- ({\xs*(#1+1)},{-\ys*(#1+1)}) - -- ({\xs*(#1)},{-\ys*#1}) -- cycle; -} - -\zeile{2} -\zeile{4} -\zeile{8} -\zeile{16} -\zeile{32} - -\dreieck{0}{0} - -\dreieck{1}{0} -\dreieck{1}{1} - -\dreieck{2}{0} -\dreieck{2}{2} - -\dreieck{3}{0} -\dreieck{3}{1} -\dreieck{3}{2} -\dreieck{3}{3} - -\dreieck{4}{0} -\dreieck{4}{4} - -\dreieck{5}{0} -\dreieck{5}{1} -\dreieck{5}{4} -\dreieck{5}{5} - -\dreieck{6}{0} -\dreieck{6}{2} -\dreieck{6}{4} -\dreieck{6}{6} - -\dreieck{7}{0} -\dreieck{7}{1} -\dreieck{7}{2} -\dreieck{7}{3} -\dreieck{7}{4} -\dreieck{7}{5} -\dreieck{7}{6} -\dreieck{7}{7} - -\dreieck{8}{0} -\dreieck{8}{8} - -\dreieck{9}{0} -\dreieck{9}{1} -\dreieck{9}{8} -\dreieck{9}{9} - -\dreieck{10}{0} -\dreieck{10}{2} -\dreieck{10}{8} -\dreieck{10}{10} - -\dreieck{11}{0} -\dreieck{11}{1} -\dreieck{11}{2} -\dreieck{11}{3} -\dreieck{11}{8} -\dreieck{11}{9} -\dreieck{11}{10} -\dreieck{11}{11} - -\dreieck{12}{0} -\dreieck{12}{4} -\dreieck{12}{8} -\dreieck{12}{12} - -\dreieck{13}{0} -\dreieck{13}{1} -\dreieck{13}{4} -\dreieck{13}{5} -\dreieck{13}{8} -\dreieck{13}{9} -\dreieck{13}{12} -\dreieck{13}{13} - -\dreieck{14}{0} -\dreieck{14}{2} -\dreieck{14}{4} -\dreieck{14}{6} -\dreieck{14}{8} -\dreieck{14}{10} -\dreieck{14}{12} -\dreieck{14}{14} - -\dreieck{15}{0} -\dreieck{15}{1} -\dreieck{15}{2} -\dreieck{15}{3} -\dreieck{15}{4} -\dreieck{15}{5} -\dreieck{15}{6} -\dreieck{15}{7} -\dreieck{15}{8} -\dreieck{15}{9} -\dreieck{15}{10} -\dreieck{15}{11} -\dreieck{15}{12} -\dreieck{15}{13} -\dreieck{15}{14} -\dreieck{15}{15} - -\dreieck{16}{0} -\dreieck{16}{16} - -\dreieck{17}{0} -\dreieck{17}{1} -\dreieck{17}{16} -\dreieck{17}{17} - -\dreieck{18}{0} -\dreieck{18}{2} -\dreieck{18}{16} -\dreieck{18}{18} - -\dreieck{19}{0} -\dreieck{19}{1} -\dreieck{19}{2} -\dreieck{19}{3} -\dreieck{19}{16} -\dreieck{19}{17} -\dreieck{19}{18} -\dreieck{19}{19} - -\dreieck{20}{0} -\dreieck{20}{4} -\dreieck{20}{16} -\dreieck{20}{20} - -\dreieck{21}{0} -\dreieck{21}{1} -\dreieck{21}{4} -\dreieck{21}{5} -\dreieck{21}{16} -\dreieck{21}{17} -\dreieck{21}{20} -\dreieck{21}{21} - -\dreieck{22}{0} -\dreieck{22}{2} -\dreieck{22}{4} -\dreieck{22}{6} -\dreieck{22}{16} -\dreieck{22}{18} -\dreieck{22}{20} -\dreieck{22}{22} - -\dreieck{23}{0} -\dreieck{23}{1} -\dreieck{23}{2} -\dreieck{23}{3} -\dreieck{23}{4} -\dreieck{23}{5} -\dreieck{23}{6} -\dreieck{23}{7} -\dreieck{23}{16} -\dreieck{23}{17} -\dreieck{23}{18} -\dreieck{23}{19} -\dreieck{23}{20} -\dreieck{23}{21} -\dreieck{23}{22} -\dreieck{23}{23} - -\dreieck{24}{0} -\dreieck{24}{8} -\dreieck{24}{16} -\dreieck{24}{24} - -\dreieck{25}{0} -\dreieck{25}{1} -\dreieck{25}{8} -\dreieck{25}{9} -\dreieck{25}{16} -\dreieck{25}{17} -\dreieck{25}{24} -\dreieck{25}{25} - -\dreieck{26}{0} -\dreieck{26}{2} -\dreieck{26}{8} -\dreieck{26}{10} -\dreieck{26}{16} -\dreieck{26}{18} -\dreieck{26}{24} -\dreieck{26}{26} - -\dreieck{27}{0} -\dreieck{27}{1} -\dreieck{27}{2} -\dreieck{27}{3} -\dreieck{27}{8} -\dreieck{27}{9} -\dreieck{27}{10} -\dreieck{27}{11} -\dreieck{27}{16} -\dreieck{27}{17} -\dreieck{27}{18} -\dreieck{27}{19} -\dreieck{27}{24} -\dreieck{27}{25} -\dreieck{27}{26} -\dreieck{27}{27} - -\dreieck{28}{0} -\dreieck{28}{4} -\dreieck{28}{8} -\dreieck{28}{12} -\dreieck{28}{16} -\dreieck{28}{20} -\dreieck{28}{24} -\dreieck{28}{28} - -\dreieck{29}{0} -\dreieck{29}{1} -\dreieck{29}{4} -\dreieck{29}{5} -\dreieck{29}{8} -\dreieck{29}{9} -\dreieck{29}{12} -\dreieck{29}{13} -\dreieck{29}{16} -\dreieck{29}{17} -\dreieck{29}{20} -\dreieck{29}{21} -\dreieck{29}{24} -\dreieck{29}{25} -\dreieck{29}{28} -\dreieck{29}{29} - -\foreach \k in {0,2,...,30}{ - \dreieck{30}{\k} -} - -\foreach \k in {0,...,31}{ - \dreieck{31}{\k} -} - -\dreieck{32}{0} -\dreieck{32}{32} - -\dreieck{33}{0} -\dreieck{33}{1} -\dreieck{33}{32} -\dreieck{33}{33} - -\dreieck{34}{0} -\dreieck{34}{2} -\dreieck{34}{32} -\dreieck{34}{34} - -\dreieck{35}{0} -\dreieck{35}{1} -\dreieck{35}{2} -\dreieck{35}{3} -\dreieck{35}{32} -\dreieck{35}{33} -\dreieck{35}{34} -\dreieck{35}{35} - -\def\etikett#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; -} - -\etikett{0}{-2}{n=0} -\etikett{2}{-2}{n=2} -\etikett{4}{-2}{n=4} -\etikett{8}{-2}{n=8} -\etikett{16}{-2}{n=16} -\etikett{32}{-2}{n=32} - -\def\exponent#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; -} - -\exponent{-2}{0}{k=0} -\exponent{0}{2}{k=2} -\exponent{2}{4}{k=4} -\exponent{6}{8}{k=8} -\exponent{14}{16}{k=16} -\exponent{30}{32}{k=32} - -\end{tikzpicture} -\end{document} - +% +% binomial2.tex -- Parität der Binomialkoeffizienten +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\s{0.37} +\pgfmathparse{\s*sqrt(3)/2} +\xdef\ys{\pgfmathresult} +\pgfmathparse{\s/2} +\xdef\xs{\pgfmathresult} + +% +% #1 = n +% #2 = k +% +\def\dreieck#1#2{ + \fill[color=black] ({\xs*(-#1+2*#2)},{-\ys*#1}) + -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) + -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; +} +\def\zeile#1{ + \fill[color=red!40] + ({\xs*(-#1)},{-\ys*#1}) + -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) + -- ({\xs*(#1+1)},{-\ys*(#1+1)}) + -- ({\xs*(#1)},{-\ys*#1}) -- cycle; +} + +\zeile{2} +\zeile{4} +\zeile{8} +\zeile{16} +\zeile{32} + +\dreieck{0}{0} + +\dreieck{1}{0} +\dreieck{1}{1} + +\dreieck{2}{0} +\dreieck{2}{2} + +\dreieck{3}{0} +\dreieck{3}{1} +\dreieck{3}{2} +\dreieck{3}{3} + +\dreieck{4}{0} +\dreieck{4}{4} + +\dreieck{5}{0} +\dreieck{5}{1} +\dreieck{5}{4} +\dreieck{5}{5} + +\dreieck{6}{0} +\dreieck{6}{2} +\dreieck{6}{4} +\dreieck{6}{6} + +\dreieck{7}{0} +\dreieck{7}{1} +\dreieck{7}{2} +\dreieck{7}{3} +\dreieck{7}{4} +\dreieck{7}{5} +\dreieck{7}{6} +\dreieck{7}{7} + +\dreieck{8}{0} +\dreieck{8}{8} + +\dreieck{9}{0} +\dreieck{9}{1} +\dreieck{9}{8} +\dreieck{9}{9} + +\dreieck{10}{0} +\dreieck{10}{2} +\dreieck{10}{8} +\dreieck{10}{10} + +\dreieck{11}{0} +\dreieck{11}{1} +\dreieck{11}{2} +\dreieck{11}{3} +\dreieck{11}{8} +\dreieck{11}{9} +\dreieck{11}{10} +\dreieck{11}{11} + +\dreieck{12}{0} +\dreieck{12}{4} +\dreieck{12}{8} +\dreieck{12}{12} + +\dreieck{13}{0} +\dreieck{13}{1} +\dreieck{13}{4} +\dreieck{13}{5} +\dreieck{13}{8} +\dreieck{13}{9} +\dreieck{13}{12} +\dreieck{13}{13} + +\dreieck{14}{0} +\dreieck{14}{2} +\dreieck{14}{4} +\dreieck{14}{6} +\dreieck{14}{8} +\dreieck{14}{10} +\dreieck{14}{12} +\dreieck{14}{14} + +\dreieck{15}{0} +\dreieck{15}{1} +\dreieck{15}{2} +\dreieck{15}{3} +\dreieck{15}{4} +\dreieck{15}{5} +\dreieck{15}{6} +\dreieck{15}{7} +\dreieck{15}{8} +\dreieck{15}{9} +\dreieck{15}{10} +\dreieck{15}{11} +\dreieck{15}{12} +\dreieck{15}{13} +\dreieck{15}{14} +\dreieck{15}{15} + +\dreieck{16}{0} +\dreieck{16}{16} + +\dreieck{17}{0} +\dreieck{17}{1} +\dreieck{17}{16} +\dreieck{17}{17} + +\dreieck{18}{0} +\dreieck{18}{2} +\dreieck{18}{16} +\dreieck{18}{18} + +\dreieck{19}{0} +\dreieck{19}{1} +\dreieck{19}{2} +\dreieck{19}{3} +\dreieck{19}{16} +\dreieck{19}{17} +\dreieck{19}{18} +\dreieck{19}{19} + +\dreieck{20}{0} +\dreieck{20}{4} +\dreieck{20}{16} +\dreieck{20}{20} + +\dreieck{21}{0} +\dreieck{21}{1} +\dreieck{21}{4} +\dreieck{21}{5} +\dreieck{21}{16} +\dreieck{21}{17} +\dreieck{21}{20} +\dreieck{21}{21} + +\dreieck{22}{0} +\dreieck{22}{2} +\dreieck{22}{4} +\dreieck{22}{6} +\dreieck{22}{16} +\dreieck{22}{18} +\dreieck{22}{20} +\dreieck{22}{22} + +\dreieck{23}{0} +\dreieck{23}{1} +\dreieck{23}{2} +\dreieck{23}{3} +\dreieck{23}{4} +\dreieck{23}{5} +\dreieck{23}{6} +\dreieck{23}{7} +\dreieck{23}{16} +\dreieck{23}{17} +\dreieck{23}{18} +\dreieck{23}{19} +\dreieck{23}{20} +\dreieck{23}{21} +\dreieck{23}{22} +\dreieck{23}{23} + +\dreieck{24}{0} +\dreieck{24}{8} +\dreieck{24}{16} +\dreieck{24}{24} + +\dreieck{25}{0} +\dreieck{25}{1} +\dreieck{25}{8} +\dreieck{25}{9} +\dreieck{25}{16} +\dreieck{25}{17} +\dreieck{25}{24} +\dreieck{25}{25} + +\dreieck{26}{0} +\dreieck{26}{2} +\dreieck{26}{8} +\dreieck{26}{10} +\dreieck{26}{16} +\dreieck{26}{18} +\dreieck{26}{24} +\dreieck{26}{26} + +\dreieck{27}{0} +\dreieck{27}{1} +\dreieck{27}{2} +\dreieck{27}{3} +\dreieck{27}{8} +\dreieck{27}{9} +\dreieck{27}{10} +\dreieck{27}{11} +\dreieck{27}{16} +\dreieck{27}{17} +\dreieck{27}{18} +\dreieck{27}{19} +\dreieck{27}{24} +\dreieck{27}{25} +\dreieck{27}{26} +\dreieck{27}{27} + +\dreieck{28}{0} +\dreieck{28}{4} +\dreieck{28}{8} +\dreieck{28}{12} +\dreieck{28}{16} +\dreieck{28}{20} +\dreieck{28}{24} +\dreieck{28}{28} + +\dreieck{29}{0} +\dreieck{29}{1} +\dreieck{29}{4} +\dreieck{29}{5} +\dreieck{29}{8} +\dreieck{29}{9} +\dreieck{29}{12} +\dreieck{29}{13} +\dreieck{29}{16} +\dreieck{29}{17} +\dreieck{29}{20} +\dreieck{29}{21} +\dreieck{29}{24} +\dreieck{29}{25} +\dreieck{29}{28} +\dreieck{29}{29} + +\foreach \k in {0,2,...,30}{ + \dreieck{30}{\k} +} + +\foreach \k in {0,...,31}{ + \dreieck{31}{\k} +} + +\dreieck{32}{0} +\dreieck{32}{32} + +\dreieck{33}{0} +\dreieck{33}{1} +\dreieck{33}{32} +\dreieck{33}{33} + +\dreieck{34}{0} +\dreieck{34}{2} +\dreieck{34}{32} +\dreieck{34}{34} + +\dreieck{35}{0} +\dreieck{35}{1} +\dreieck{35}{2} +\dreieck{35}{3} +\dreieck{35}{32} +\dreieck{35}{33} +\dreieck{35}{34} +\dreieck{35}{35} + +\def\etikett#1#2#3{ + \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; +} + +\etikett{0}{-2}{n=0} +\etikett{2}{-2}{n=2} +\etikett{4}{-2}{n=4} +\etikett{8}{-2}{n=8} +\etikett{16}{-2}{n=16} +\etikett{32}{-2}{n=32} + +\def\exponent#1#2#3{ + \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; +} + +\exponent{-2}{0}{k=0} +\exponent{0}{2}{k=2} +\exponent{2}{4}{k=4} +\exponent{6}{8}{k=8} +\exponent{14}{16}{k=16} +\exponent{30}{32}{k=32} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/30-endlichekoerper/images/binomial5.tex b/buch/chapters/30-endlichekoerper/images/binomial5.tex index 815e611..f5aac0a 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial5.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial5.tex @@ -1,437 +1,437 @@ -% -% binomial2.tex -- Parität der Binomialkoeffizienten -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{farbe0}{rgb}{1,1,1} -\input{farben.tex} - -\def\s{0.37} -\pgfmathparse{\s*sqrt(3)/2} -\xdef\ys{\pgfmathresult} -\pgfmathparse{\s/2} -\xdef\xs{\pgfmathresult} - -% -% #1 = n -% #2 = k -% -\def\dreieck#1#2#3{ - \fill[color=farbe#3] ({\xs*(-#1+2*#2)},{-\ys*#1}) - -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) - -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; - \node[color=white] at ( ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)-0.03}) {$\scriptstyle #3$}; -} - -\definecolor{gelb}{rgb}{1,0.8,0.2} -\def\zeile#1{ - \fill[color=gelb] - ({\xs*(-#1)},{-\ys*#1}) - -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) - -- ({\xs*(#1+1)},{-\ys*(#1+1)}) - -- ({\xs*(#1)},{-\ys*#1}) -- cycle; -} - -\zeile{5} -\zeile{25} - -\dreieck{0}{0}{1} - -\dreieck{1}{0}{1} -\dreieck{1}{1}{1} - -\dreieck{2}{0}{1} -\dreieck{2}{1}{2} -\dreieck{2}{2}{1} - -\dreieck{3}{0}{1} -\dreieck{3}{1}{3} -\dreieck{3}{2}{3} -\dreieck{3}{3}{1} - -\dreieck{4}{0}{1} -\dreieck{4}{1}{4} -\dreieck{4}{2}{1} -\dreieck{4}{3}{4} -\dreieck{4}{4}{1} - -\dreieck{5}{0}{1} -\dreieck{5}{5}{1} - -\dreieck{6}{0}{1} -\dreieck{6}{1}{1} -\dreieck{6}{5}{1} -\dreieck{6}{6}{1} - -\dreieck{7}{0}{1} -\dreieck{7}{1}{2} -\dreieck{7}{2}{1} -\dreieck{7}{5}{1} -\dreieck{7}{6}{2} -\dreieck{7}{7}{1} - -\dreieck{8}{0}{1} -\dreieck{8}{1}{3} -\dreieck{8}{2}{3} -\dreieck{8}{3}{1} -\dreieck{8}{5}{1} -\dreieck{8}{6}{3} -\dreieck{8}{7}{3} -\dreieck{8}{8}{1} - -\dreieck{9}{0}{1} -\dreieck{9}{1}{4} -\dreieck{9}{2}{1} -\dreieck{9}{3}{4} -\dreieck{9}{4}{1} -\dreieck{9}{5}{1} -\dreieck{9}{6}{4} -\dreieck{9}{7}{1} -\dreieck{9}{8}{4} -\dreieck{9}{9}{1} - -\dreieck{10}{0}{1} -\dreieck{10}{5}{2} -\dreieck{10}{10}{1} - -\dreieck{11}{0}{1} -\dreieck{11}{1}{1} -\dreieck{11}{5}{2} -\dreieck{11}{6}{2} -\dreieck{11}{10}{1} -\dreieck{11}{11}{1} - -\dreieck{12}{0}{1} -\dreieck{12}{1}{2} -\dreieck{12}{2}{1} -\dreieck{12}{5}{2} -\dreieck{12}{6}{4} -\dreieck{12}{7}{2} -\dreieck{12}{10}{1} -\dreieck{12}{11}{2} -\dreieck{12}{12}{1} - -\dreieck{13}{0}{1} -\dreieck{13}{1}{3} -\dreieck{13}{2}{3} -\dreieck{13}{3}{1} -\dreieck{13}{5}{2} -\dreieck{13}{6}{1} -\dreieck{13}{7}{1} -\dreieck{13}{8}{2} -\dreieck{13}{10}{1} -\dreieck{13}{11}{3} -\dreieck{13}{12}{3} -\dreieck{13}{13}{1} - -\dreieck{14}{0}{1} -\dreieck{14}{1}{4} -\dreieck{14}{2}{1} -\dreieck{14}{3}{4} -\dreieck{14}{4}{1} -\dreieck{14}{5}{2} -\dreieck{14}{6}{3} -\dreieck{14}{7}{2} -\dreieck{14}{8}{3} -\dreieck{14}{9}{2} -\dreieck{14}{10}{1} -\dreieck{14}{11}{4} -\dreieck{14}{12}{1} -\dreieck{14}{13}{4} -\dreieck{14}{14}{1} - -\dreieck{15}{0}{1} -\dreieck{15}{5}{3} -\dreieck{15}{10}{3} -\dreieck{15}{15}{1} - -\dreieck{16}{0}{1} -\dreieck{16}{1}{1} -\dreieck{16}{5}{3} -\dreieck{16}{6}{3} -\dreieck{16}{10}{3} -\dreieck{16}{11}{3} -\dreieck{16}{15}{1} -\dreieck{16}{16}{3} - -\dreieck{17}{0}{1} -\dreieck{17}{1}{2} -\dreieck{17}{2}{1} -\dreieck{17}{5}{3} -\dreieck{17}{6}{1} -\dreieck{17}{7}{3} -\dreieck{17}{10}{3} -\dreieck{17}{11}{1} -\dreieck{17}{12}{3} -\dreieck{17}{15}{1} -\dreieck{17}{16}{2} -\dreieck{17}{17}{1} - -\dreieck{18}{0}{1} -\dreieck{18}{1}{3} -\dreieck{18}{2}{3} -\dreieck{18}{3}{1} -\dreieck{18}{5}{3} -\dreieck{18}{6}{4} -\dreieck{18}{7}{4} -\dreieck{18}{8}{3} -\dreieck{18}{10}{3} -\dreieck{18}{11}{4} -\dreieck{18}{12}{4} -\dreieck{18}{13}{3} -\dreieck{18}{15}{1} -\dreieck{18}{16}{3} -\dreieck{18}{17}{3} -\dreieck{18}{18}{1} - -\dreieck{19}{0}{1} -\dreieck{19}{1}{4} -\dreieck{19}{2}{1} -\dreieck{19}{3}{4} -\dreieck{19}{4}{1} -\dreieck{19}{5}{3} -\dreieck{19}{6}{2} -\dreieck{19}{7}{3} -\dreieck{19}{8}{2} -\dreieck{19}{9}{3} -\dreieck{19}{10}{3} -\dreieck{19}{11}{2} -\dreieck{19}{12}{3} -\dreieck{19}{13}{2} -\dreieck{19}{14}{3} -\dreieck{19}{15}{1} -\dreieck{19}{16}{4} -\dreieck{19}{17}{1} -\dreieck{19}{18}{4} -\dreieck{19}{19}{1} - -\dreieck{20}{0}{1} -\dreieck{20}{5}{4} -\dreieck{20}{10}{1} -\dreieck{20}{15}{4} -\dreieck{20}{20}{1} - -\dreieck{21}{0}{1} -\dreieck{21}{1}{1} -\dreieck{21}{5}{4} -\dreieck{21}{6}{4} -\dreieck{21}{10}{1} -\dreieck{21}{11}{1} -\dreieck{21}{15}{4} -\dreieck{21}{16}{4} -\dreieck{21}{20}{1} -\dreieck{21}{21}{1} - -\dreieck{22}{0}{1} -\dreieck{22}{1}{2} -\dreieck{22}{2}{1} -\dreieck{22}{5}{4} -\dreieck{22}{6}{3} -\dreieck{22}{7}{4} -\dreieck{22}{10}{1} -\dreieck{22}{11}{2} -\dreieck{22}{12}{1} -\dreieck{22}{15}{4} -\dreieck{22}{16}{3} -\dreieck{22}{17}{4} -\dreieck{22}{20}{1} -\dreieck{22}{21}{2} -\dreieck{22}{22}{1} - -\dreieck{23}{0}{1} -\dreieck{23}{1}{3} -\dreieck{23}{2}{3} -\dreieck{23}{3}{1} -\dreieck{23}{5}{4} -\dreieck{23}{6}{2} -\dreieck{23}{7}{2} -\dreieck{23}{8}{4} -\dreieck{23}{10}{1} -\dreieck{23}{11}{3} -\dreieck{23}{12}{3} -\dreieck{23}{13}{1} -\dreieck{23}{15}{4} -\dreieck{23}{16}{2} -\dreieck{23}{17}{2} -\dreieck{23}{18}{4} -\dreieck{23}{20}{1} -\dreieck{23}{21}{3} -\dreieck{23}{22}{3} -\dreieck{23}{23}{1} - -\dreieck{24}{0}{1} -\dreieck{24}{1}{4} -\dreieck{24}{2}{1} -\dreieck{24}{3}{4} -\dreieck{24}{4}{1} -\dreieck{24}{5}{4} -\dreieck{24}{6}{1} -\dreieck{24}{7}{4} -\dreieck{24}{8}{1} -\dreieck{24}{9}{4} -\dreieck{24}{10}{1} -\dreieck{24}{11}{4} -\dreieck{24}{12}{1} -\dreieck{24}{13}{4} -\dreieck{24}{14}{1} -\dreieck{24}{15}{4} -\dreieck{24}{16}{1} -\dreieck{24}{17}{4} -\dreieck{24}{18}{1} -\dreieck{24}{19}{4} -\dreieck{24}{20}{1} -\dreieck{24}{21}{4} -\dreieck{24}{22}{1} -\dreieck{24}{23}{4} -\dreieck{24}{24}{1} - -\dreieck{25}{0}{1} -\dreieck{25}{25}{1} - -\dreieck{26}{0}{1} -\dreieck{26}{1}{1} -\dreieck{26}{25}{1} -\dreieck{26}{26}{1} - -\dreieck{27}{0}{1} -\dreieck{27}{1}{2} -\dreieck{27}{2}{1} -\dreieck{27}{25}{1} -\dreieck{27}{26}{2} -\dreieck{27}{27}{1} - -\dreieck{28}{0}{1} -\dreieck{28}{1}{3} -\dreieck{28}{2}{3} -\dreieck{28}{3}{1} -\dreieck{28}{25}{1} -\dreieck{28}{26}{3} -\dreieck{28}{27}{3} -\dreieck{28}{28}{1} - -\dreieck{29}{0}{1} -\dreieck{29}{1}{4} -\dreieck{29}{2}{1} -\dreieck{29}{3}{4} -\dreieck{29}{4}{1} -\dreieck{29}{25}{1} -\dreieck{29}{26}{4} -\dreieck{29}{27}{1} -\dreieck{29}{28}{4} -\dreieck{29}{29}{1} - -\dreieck{30}{0}{1} -\dreieck{30}{5}{1} -\dreieck{30}{25}{1} -\dreieck{30}{30}{1} - -\dreieck{31}{0}{1} -\dreieck{31}{1}{1} -\dreieck{31}{5}{1} -\dreieck{31}{6}{1} -\dreieck{31}{25}{1} -\dreieck{31}{26}{1} -\dreieck{31}{30}{1} -\dreieck{31}{31}{1} - -\dreieck{32}{0}{1} -\dreieck{32}{1}{2} -\dreieck{32}{2}{1} -\dreieck{32}{5}{1} -\dreieck{32}{6}{2} -\dreieck{32}{7}{1} -\dreieck{32}{25}{1} -\dreieck{32}{26}{2} -\dreieck{32}{27}{1} -\dreieck{32}{30}{1} -\dreieck{32}{31}{2} -\dreieck{32}{32}{1} - -\dreieck{33}{0}{1} -\dreieck{33}{1}{3} -\dreieck{33}{2}{3} -\dreieck{33}{3}{1} -\dreieck{33}{5}{1} -\dreieck{33}{6}{3} -\dreieck{33}{7}{3} -\dreieck{33}{8}{1} -\dreieck{33}{25}{1} -\dreieck{33}{26}{3} -\dreieck{33}{27}{3} -\dreieck{33}{28}{1} -\dreieck{33}{30}{1} -\dreieck{33}{31}{3} -\dreieck{33}{32}{3} -\dreieck{33}{33}{1} - -\dreieck{34}{0}{1} -\dreieck{34}{1}{4} -\dreieck{34}{2}{1} -\dreieck{34}{3}{4} -\dreieck{34}{4}{1} -\dreieck{34}{5}{1} -\dreieck{34}{6}{4} -\dreieck{34}{7}{1} -\dreieck{34}{8}{4} -\dreieck{34}{9}{1} -\dreieck{34}{25}{1} -\dreieck{34}{26}{4} -\dreieck{34}{27}{1} -\dreieck{34}{28}{4} -\dreieck{34}{29}{1} -\dreieck{34}{30}{1} -\dreieck{34}{31}{4} -\dreieck{34}{32}{1} -\dreieck{34}{33}{4} -\dreieck{34}{34}{1} - -\dreieck{35}{0}{1} -\dreieck{35}{5}{2} -\dreieck{35}{10}{1} -\dreieck{35}{25}{1} -\dreieck{35}{30}{2} -\dreieck{35}{35}{1} - -\dreieck{36}{0}{1} -\dreieck{36}{1}{1} -\dreieck{36}{5}{2} -\dreieck{36}{6}{2} -\dreieck{36}{10}{1} -\dreieck{36}{11}{1} -\dreieck{36}{25}{1} -\dreieck{36}{26}{1} -\dreieck{36}{30}{2} -\dreieck{36}{31}{2} -\dreieck{36}{35}{1} -\dreieck{36}{36}{1} - -\def\etikett#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; -} - -\etikett{0}{-2}{n=0} -\etikett{5}{-2}{n=5} -\etikett{25}{-2}{n=25} - -\def\exponent#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; -} - -\exponent{-2}{0}{k=0} -\exponent{3}{5}{k=5} -\exponent{23}{25}{k=25} - -\end{tikzpicture} -\end{document} - +% +% binomial2.tex -- Parität der Binomialkoeffizienten +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{farbe0}{rgb}{1,1,1} +\input{farben.tex} + +\def\s{0.37} +\pgfmathparse{\s*sqrt(3)/2} +\xdef\ys{\pgfmathresult} +\pgfmathparse{\s/2} +\xdef\xs{\pgfmathresult} + +% +% #1 = n +% #2 = k +% +\def\dreieck#1#2#3{ + \fill[color=farbe#3] ({\xs*(-#1+2*#2)},{-\ys*#1}) + -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) + -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; + \node[color=white] at ( ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)-0.03}) {$\scriptstyle #3$}; +} + +\definecolor{gelb}{rgb}{1,0.8,0.2} +\def\zeile#1{ + \fill[color=gelb] + ({\xs*(-#1)},{-\ys*#1}) + -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) + -- ({\xs*(#1+1)},{-\ys*(#1+1)}) + -- ({\xs*(#1)},{-\ys*#1}) -- cycle; +} + +\zeile{5} +\zeile{25} + +\dreieck{0}{0}{1} + +\dreieck{1}{0}{1} +\dreieck{1}{1}{1} + +\dreieck{2}{0}{1} +\dreieck{2}{1}{2} +\dreieck{2}{2}{1} + +\dreieck{3}{0}{1} +\dreieck{3}{1}{3} +\dreieck{3}{2}{3} +\dreieck{3}{3}{1} + +\dreieck{4}{0}{1} +\dreieck{4}{1}{4} +\dreieck{4}{2}{1} +\dreieck{4}{3}{4} +\dreieck{4}{4}{1} + +\dreieck{5}{0}{1} +\dreieck{5}{5}{1} + +\dreieck{6}{0}{1} +\dreieck{6}{1}{1} +\dreieck{6}{5}{1} +\dreieck{6}{6}{1} + +\dreieck{7}{0}{1} +\dreieck{7}{1}{2} +\dreieck{7}{2}{1} +\dreieck{7}{5}{1} +\dreieck{7}{6}{2} +\dreieck{7}{7}{1} + +\dreieck{8}{0}{1} +\dreieck{8}{1}{3} +\dreieck{8}{2}{3} +\dreieck{8}{3}{1} +\dreieck{8}{5}{1} +\dreieck{8}{6}{3} +\dreieck{8}{7}{3} +\dreieck{8}{8}{1} + +\dreieck{9}{0}{1} +\dreieck{9}{1}{4} +\dreieck{9}{2}{1} +\dreieck{9}{3}{4} +\dreieck{9}{4}{1} +\dreieck{9}{5}{1} +\dreieck{9}{6}{4} +\dreieck{9}{7}{1} +\dreieck{9}{8}{4} +\dreieck{9}{9}{1} + +\dreieck{10}{0}{1} +\dreieck{10}{5}{2} +\dreieck{10}{10}{1} + +\dreieck{11}{0}{1} +\dreieck{11}{1}{1} +\dreieck{11}{5}{2} +\dreieck{11}{6}{2} +\dreieck{11}{10}{1} +\dreieck{11}{11}{1} + +\dreieck{12}{0}{1} +\dreieck{12}{1}{2} +\dreieck{12}{2}{1} +\dreieck{12}{5}{2} +\dreieck{12}{6}{4} +\dreieck{12}{7}{2} +\dreieck{12}{10}{1} +\dreieck{12}{11}{2} +\dreieck{12}{12}{1} + +\dreieck{13}{0}{1} +\dreieck{13}{1}{3} +\dreieck{13}{2}{3} +\dreieck{13}{3}{1} +\dreieck{13}{5}{2} +\dreieck{13}{6}{1} +\dreieck{13}{7}{1} +\dreieck{13}{8}{2} +\dreieck{13}{10}{1} +\dreieck{13}{11}{3} +\dreieck{13}{12}{3} +\dreieck{13}{13}{1} + +\dreieck{14}{0}{1} +\dreieck{14}{1}{4} +\dreieck{14}{2}{1} +\dreieck{14}{3}{4} +\dreieck{14}{4}{1} +\dreieck{14}{5}{2} +\dreieck{14}{6}{3} +\dreieck{14}{7}{2} +\dreieck{14}{8}{3} +\dreieck{14}{9}{2} +\dreieck{14}{10}{1} +\dreieck{14}{11}{4} +\dreieck{14}{12}{1} +\dreieck{14}{13}{4} +\dreieck{14}{14}{1} + +\dreieck{15}{0}{1} +\dreieck{15}{5}{3} +\dreieck{15}{10}{3} +\dreieck{15}{15}{1} + +\dreieck{16}{0}{1} +\dreieck{16}{1}{1} +\dreieck{16}{5}{3} +\dreieck{16}{6}{3} +\dreieck{16}{10}{3} +\dreieck{16}{11}{3} +\dreieck{16}{15}{1} +\dreieck{16}{16}{3} + +\dreieck{17}{0}{1} +\dreieck{17}{1}{2} +\dreieck{17}{2}{1} +\dreieck{17}{5}{3} +\dreieck{17}{6}{1} +\dreieck{17}{7}{3} +\dreieck{17}{10}{3} +\dreieck{17}{11}{1} +\dreieck{17}{12}{3} +\dreieck{17}{15}{1} +\dreieck{17}{16}{2} +\dreieck{17}{17}{1} + +\dreieck{18}{0}{1} +\dreieck{18}{1}{3} +\dreieck{18}{2}{3} +\dreieck{18}{3}{1} +\dreieck{18}{5}{3} +\dreieck{18}{6}{4} +\dreieck{18}{7}{4} +\dreieck{18}{8}{3} +\dreieck{18}{10}{3} +\dreieck{18}{11}{4} +\dreieck{18}{12}{4} +\dreieck{18}{13}{3} +\dreieck{18}{15}{1} +\dreieck{18}{16}{3} +\dreieck{18}{17}{3} +\dreieck{18}{18}{1} + +\dreieck{19}{0}{1} +\dreieck{19}{1}{4} +\dreieck{19}{2}{1} +\dreieck{19}{3}{4} +\dreieck{19}{4}{1} +\dreieck{19}{5}{3} +\dreieck{19}{6}{2} +\dreieck{19}{7}{3} +\dreieck{19}{8}{2} +\dreieck{19}{9}{3} +\dreieck{19}{10}{3} +\dreieck{19}{11}{2} +\dreieck{19}{12}{3} +\dreieck{19}{13}{2} +\dreieck{19}{14}{3} +\dreieck{19}{15}{1} +\dreieck{19}{16}{4} +\dreieck{19}{17}{1} +\dreieck{19}{18}{4} +\dreieck{19}{19}{1} + +\dreieck{20}{0}{1} +\dreieck{20}{5}{4} +\dreieck{20}{10}{1} +\dreieck{20}{15}{4} +\dreieck{20}{20}{1} + +\dreieck{21}{0}{1} +\dreieck{21}{1}{1} +\dreieck{21}{5}{4} +\dreieck{21}{6}{4} +\dreieck{21}{10}{1} +\dreieck{21}{11}{1} +\dreieck{21}{15}{4} +\dreieck{21}{16}{4} +\dreieck{21}{20}{1} +\dreieck{21}{21}{1} + +\dreieck{22}{0}{1} +\dreieck{22}{1}{2} +\dreieck{22}{2}{1} +\dreieck{22}{5}{4} +\dreieck{22}{6}{3} +\dreieck{22}{7}{4} +\dreieck{22}{10}{1} +\dreieck{22}{11}{2} +\dreieck{22}{12}{1} +\dreieck{22}{15}{4} +\dreieck{22}{16}{3} +\dreieck{22}{17}{4} +\dreieck{22}{20}{1} +\dreieck{22}{21}{2} +\dreieck{22}{22}{1} + +\dreieck{23}{0}{1} +\dreieck{23}{1}{3} +\dreieck{23}{2}{3} +\dreieck{23}{3}{1} +\dreieck{23}{5}{4} +\dreieck{23}{6}{2} +\dreieck{23}{7}{2} +\dreieck{23}{8}{4} +\dreieck{23}{10}{1} +\dreieck{23}{11}{3} +\dreieck{23}{12}{3} +\dreieck{23}{13}{1} +\dreieck{23}{15}{4} +\dreieck{23}{16}{2} +\dreieck{23}{17}{2} +\dreieck{23}{18}{4} +\dreieck{23}{20}{1} +\dreieck{23}{21}{3} +\dreieck{23}{22}{3} +\dreieck{23}{23}{1} + +\dreieck{24}{0}{1} +\dreieck{24}{1}{4} +\dreieck{24}{2}{1} +\dreieck{24}{3}{4} +\dreieck{24}{4}{1} +\dreieck{24}{5}{4} +\dreieck{24}{6}{1} +\dreieck{24}{7}{4} +\dreieck{24}{8}{1} +\dreieck{24}{9}{4} +\dreieck{24}{10}{1} +\dreieck{24}{11}{4} +\dreieck{24}{12}{1} +\dreieck{24}{13}{4} +\dreieck{24}{14}{1} +\dreieck{24}{15}{4} +\dreieck{24}{16}{1} +\dreieck{24}{17}{4} +\dreieck{24}{18}{1} +\dreieck{24}{19}{4} +\dreieck{24}{20}{1} +\dreieck{24}{21}{4} +\dreieck{24}{22}{1} +\dreieck{24}{23}{4} +\dreieck{24}{24}{1} + +\dreieck{25}{0}{1} +\dreieck{25}{25}{1} + +\dreieck{26}{0}{1} +\dreieck{26}{1}{1} +\dreieck{26}{25}{1} +\dreieck{26}{26}{1} + +\dreieck{27}{0}{1} +\dreieck{27}{1}{2} +\dreieck{27}{2}{1} +\dreieck{27}{25}{1} +\dreieck{27}{26}{2} +\dreieck{27}{27}{1} + +\dreieck{28}{0}{1} +\dreieck{28}{1}{3} +\dreieck{28}{2}{3} +\dreieck{28}{3}{1} +\dreieck{28}{25}{1} +\dreieck{28}{26}{3} +\dreieck{28}{27}{3} +\dreieck{28}{28}{1} + +\dreieck{29}{0}{1} +\dreieck{29}{1}{4} +\dreieck{29}{2}{1} +\dreieck{29}{3}{4} +\dreieck{29}{4}{1} +\dreieck{29}{25}{1} +\dreieck{29}{26}{4} +\dreieck{29}{27}{1} +\dreieck{29}{28}{4} +\dreieck{29}{29}{1} + +\dreieck{30}{0}{1} +\dreieck{30}{5}{1} +\dreieck{30}{25}{1} +\dreieck{30}{30}{1} + +\dreieck{31}{0}{1} +\dreieck{31}{1}{1} +\dreieck{31}{5}{1} +\dreieck{31}{6}{1} +\dreieck{31}{25}{1} +\dreieck{31}{26}{1} +\dreieck{31}{30}{1} +\dreieck{31}{31}{1} + +\dreieck{32}{0}{1} +\dreieck{32}{1}{2} +\dreieck{32}{2}{1} +\dreieck{32}{5}{1} +\dreieck{32}{6}{2} +\dreieck{32}{7}{1} +\dreieck{32}{25}{1} +\dreieck{32}{26}{2} +\dreieck{32}{27}{1} +\dreieck{32}{30}{1} +\dreieck{32}{31}{2} +\dreieck{32}{32}{1} + +\dreieck{33}{0}{1} +\dreieck{33}{1}{3} +\dreieck{33}{2}{3} +\dreieck{33}{3}{1} +\dreieck{33}{5}{1} +\dreieck{33}{6}{3} +\dreieck{33}{7}{3} +\dreieck{33}{8}{1} +\dreieck{33}{25}{1} +\dreieck{33}{26}{3} +\dreieck{33}{27}{3} +\dreieck{33}{28}{1} +\dreieck{33}{30}{1} +\dreieck{33}{31}{3} +\dreieck{33}{32}{3} +\dreieck{33}{33}{1} + +\dreieck{34}{0}{1} +\dreieck{34}{1}{4} +\dreieck{34}{2}{1} +\dreieck{34}{3}{4} +\dreieck{34}{4}{1} +\dreieck{34}{5}{1} +\dreieck{34}{6}{4} +\dreieck{34}{7}{1} +\dreieck{34}{8}{4} +\dreieck{34}{9}{1} +\dreieck{34}{25}{1} +\dreieck{34}{26}{4} +\dreieck{34}{27}{1} +\dreieck{34}{28}{4} +\dreieck{34}{29}{1} +\dreieck{34}{30}{1} +\dreieck{34}{31}{4} +\dreieck{34}{32}{1} +\dreieck{34}{33}{4} +\dreieck{34}{34}{1} + +\dreieck{35}{0}{1} +\dreieck{35}{5}{2} +\dreieck{35}{10}{1} +\dreieck{35}{25}{1} +\dreieck{35}{30}{2} +\dreieck{35}{35}{1} + +\dreieck{36}{0}{1} +\dreieck{36}{1}{1} +\dreieck{36}{5}{2} +\dreieck{36}{6}{2} +\dreieck{36}{10}{1} +\dreieck{36}{11}{1} +\dreieck{36}{25}{1} +\dreieck{36}{26}{1} +\dreieck{36}{30}{2} +\dreieck{36}{31}{2} +\dreieck{36}{35}{1} +\dreieck{36}{36}{1} + +\def\etikett#1#2#3{ + \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; +} + +\etikett{0}{-2}{n=0} +\etikett{5}{-2}{n=5} +\etikett{25}{-2}{n=25} + +\def\exponent#1#2#3{ + \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; +} + +\exponent{-2}{0}{k=0} +\exponent{3}{5}{k=5} +\exponent{23}{25}{k=25} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/chapter.tex b/buch/chapters/40-eigenwerte/chapter.tex index 242a5e5..34c2444 100644 --- a/buch/chapters/40-eigenwerte/chapter.tex +++ b/buch/chapters/40-eigenwerte/chapter.tex @@ -1,50 +1,50 @@ -% -% chapter.tex -- Kapitel über Eigenwerte und Eigenvektoren -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\chapter{Eigenwerte und Eigenvektoren -\label{buch:chapter:eigenwerte-und-eigenvektoren}} -\lhead{Eigenwerte und Eigenvektoren} -\rhead{} -Die algebraischen Eigenschaften einer Matrix $A$ sind eng mit der -Frage nach linearen Beziehungen unter den Potenzen von $A^k$ verbunden. -Im Allgemeinen ist die Berechnung dieser Potenzen eher unübersichtlich, -es sei denn, die Matrix hat eine spezielle Form. -Die Potenzen einer Diagonalmatrix erhält man, indem man die Diagonalelemente -potenziert. -Auch für Dreiecksmatrizen ist mindestens die Berechnung der Diagonalelemente -von $A^k$ einfach. -Die Theorie der Eigenwerte und Eigenvektoren ermöglicht, Matrizen in -eine solche besonders einfache Form zu bringen. - -In Abschnitt~\ref{buch:section:grundlagen} werden die grundlegenden -Definitionen der Eigenwerttheorie in Erinnerung gerufen. -Damit kann dann in Abschnitt~\ref{buch:section:normalformen} -gezeigt werden, wie Matrizen in besonders einfache Form gebracht -werden können. -Die Eigenwerte bestimmen auch die Eigenschaften von numerischen -Algorithmen, wie in den Abschnitten~\ref{buch:section:spektralradius} -und \ref{buch:section:numerisch} dargestellt wird. -Für viele Funktionen kann man auch den Wert $f(A)$ berechnen, unter -geeigneten Voraussetzungen an den Spektralradius. -Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. - - -\input{chapters/40-eigenwerte/grundlagen.tex} -\input{chapters/40-eigenwerte/normalformen.tex} -\input{chapters/40-eigenwerte/spektralradius.tex} -\input{chapters/40-eigenwerte/spektraltheorie.tex} -%\input{chapters/40-eigenwerte/numerisch.tex} - -\section*{Übungsaufgaben} -\rhead{Übungsaufgaben} -\aufgabetoplevel{chapters/40-eigenwerte/uebungsaufgaben} -\begin{uebungsaufgaben} -\uebungsaufgabe{4001} -\uebungsaufgabe{4002} -\uebungsaufgabe{4003} -\uebungsaufgabe{4004} -\uebungsaufgabe{4005} -\end{uebungsaufgaben} - +% +% chapter.tex -- Kapitel über Eigenwerte und Eigenvektoren +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\chapter{Eigenwerte und Eigenvektoren +\label{buch:chapter:eigenwerte-und-eigenvektoren}} +\lhead{Eigenwerte und Eigenvektoren} +\rhead{} +Die algebraischen Eigenschaften einer Matrix $A$ sind eng mit der +Frage nach linearen Beziehungen unter den Potenzen von $A^k$ verbunden. +Im Allgemeinen ist die Berechnung dieser Potenzen eher unübersichtlich, +es sei denn, die Matrix hat eine spezielle Form. +Die Potenzen einer Diagonalmatrix erhält man, indem man die Diagonalelemente +potenziert. +Auch für Dreiecksmatrizen ist mindestens die Berechnung der Diagonalelemente +von $A^k$ einfach. +Die Theorie der Eigenwerte und Eigenvektoren ermöglicht, Matrizen in +eine solche besonders einfache Form zu bringen. + +In Abschnitt~\ref{buch:section:grundlagen} werden die grundlegenden +Definitionen der Eigenwerttheorie in Erinnerung gerufen. +Damit kann dann in Abschnitt~\ref{buch:section:normalformen} +gezeigt werden, wie Matrizen in besonders einfache Form gebracht +werden können. +Die Eigenwerte bestimmen auch die Eigenschaften von numerischen +Algorithmen, wie in den Abschnitten~\ref{buch:section:spektralradius} +und \ref{buch:section:numerisch} dargestellt wird. +Für viele Funktionen kann man auch den Wert $f(A)$ berechnen, unter +geeigneten Voraussetzungen an den Spektralradius. +Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. + + +\input{chapters/40-eigenwerte/grundlagen.tex} +\input{chapters/40-eigenwerte/normalformen.tex} +\input{chapters/40-eigenwerte/spektralradius.tex} +\input{chapters/40-eigenwerte/spektraltheorie.tex} +%\input{chapters/40-eigenwerte/numerisch.tex} + +\section*{Übungsaufgaben} +\rhead{Übungsaufgaben} +\aufgabetoplevel{chapters/40-eigenwerte/uebungsaufgaben} +\begin{uebungsaufgaben} +\uebungsaufgabe{4001} +\uebungsaufgabe{4002} +\uebungsaufgabe{4003} +\uebungsaufgabe{4004} +\uebungsaufgabe{4005} +\end{uebungsaufgaben} + diff --git a/buch/chapters/40-eigenwerte/images/Makefile b/buch/chapters/40-eigenwerte/images/Makefile index 54b36d5..4d882f0 100644 --- a/buch/chapters/40-eigenwerte/images/Makefile +++ b/buch/chapters/40-eigenwerte/images/Makefile @@ -1,44 +1,44 @@ -# -# Makefile -# -# (c) 2020 Prof Dr Andreas Müller, Hochschule Rappersil -# -all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf \ - wurzelapprox.pdf wurzel.pdf dimjk.pdf jknilp.pdf \ - normalform.pdf minmax.pdf - -sp.pdf: sp.tex sppaths.tex - pdflatex sp.tex - -sppaths.tex: spbeispiel.m - octave spbeispiel.m - -nilpotent.pdf: nilpotent.tex - pdflatex nilpotent.tex - -kernbild.pdf: kernbild.tex bild2.jpg kern2.jpg - pdflatex kernbild.tex - -kombiniert.pdf: kombiniert.tex kombiniert.jpg - pdflatex kombiniert.tex - -wurzelapprox.pdf: wurzelapprox.tex wa.tex - pdflatex wurzelapprox.tex - -wa.tex: wa.m - octave wa.m - -wurzel.pdf: wurzel.tex - pdflatex wurzel.tex - -dimjk.pdf: dimjk.tex - pdflatex dimjk.tex - -jknilp.pdf: jknilp.tex - pdflatex jknilp.tex - -normalform.pdf: normalform.tex - pdflatex normalform.tex - -minmax.pdf: minmax.tex - pdflatex minmax.tex +# +# Makefile +# +# (c) 2020 Prof Dr Andreas Müller, Hochschule Rappersil +# +all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf \ + wurzelapprox.pdf wurzel.pdf dimjk.pdf jknilp.pdf \ + normalform.pdf minmax.pdf + +sp.pdf: sp.tex sppaths.tex + pdflatex sp.tex + +sppaths.tex: spbeispiel.m + octave spbeispiel.m + +nilpotent.pdf: nilpotent.tex + pdflatex nilpotent.tex + +kernbild.pdf: kernbild.tex bild2.jpg kern2.jpg + pdflatex kernbild.tex + +kombiniert.pdf: kombiniert.tex kombiniert.jpg + pdflatex kombiniert.tex + +wurzelapprox.pdf: wurzelapprox.tex wa.tex + pdflatex wurzelapprox.tex + +wa.tex: wa.m + octave wa.m + +wurzel.pdf: wurzel.tex + pdflatex wurzel.tex + +dimjk.pdf: dimjk.tex + pdflatex dimjk.tex + +jknilp.pdf: jknilp.tex + pdflatex jknilp.tex + +normalform.pdf: normalform.tex + pdflatex normalform.tex + +minmax.pdf: minmax.tex + pdflatex minmax.tex diff --git a/buch/chapters/40-eigenwerte/images/minmax.tex b/buch/chapters/40-eigenwerte/images/minmax.tex index f661d5b..cf81834 100644 --- a/buch/chapters/40-eigenwerte/images/minmax.tex +++ b/buch/chapters/40-eigenwerte/images/minmax.tex @@ -1,134 +1,134 @@ -% -% minmax.tex -- minimum und maximum -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\def\mittellinie{ - plot[domain=0:6.2832,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}) -} - -\begin{scope} - \fill[color=darkgreen!20] - plot[domain=0:6.2832,samples=360] - ({\x},{sin(180*\x/3.1415)}) - -- - plot[domain=6.2832:0,samples=360] - ({\x},{cos(180*\x/3.1415)}) - -- cycle; - \foreach \x in {0.5,1,...,6}{ - \draw[color=darkgreen] - ({\x},{sin(180*\x/3.1415)}) - -- - ({\x},{cos(180*\x/3.1415)}); - } - - \node[color=darkgreen] at (2,-0.8) [left] {$|f(x)-g(x)|$}; - \draw[color=darkgreen,line width=0.3pt] (2,-0.8) -- (2.5,-0.7); - - \draw[color=blue,line width=1.4pt] plot[domain=0:6.29,samples=360] - ({\x},{sin(180*\x/3.1415)}); - \draw[color=red,line width=1.4pt] plot[domain=0:6.29,samples=360] - ({\x},{cos(180*\x/3.1415)}); - \draw[color=purple!50,line width=1.4pt] \mittellinie; - \node[color=purple!50] at (6.2832,0.5) [right] {$\frac12(f(x)+g(x))$}; - - \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={below:$x$}]; - \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; - - - \xdef\x{2} - \node[color=blue] at (\x,{sin(180*\x/3.1415)}) [above right] {$f(x)$}; - \pgfmathparse{2.5*3.14159-\x} - \xdef\x{\pgfmathresult} - \node[color=red] at (\x,{cos(180*\x/3.1415)}) [above left] {$g(x)$}; - -\end{scope} - -\draw[->,line width=4pt,color=gray!40] ({3.1415-1},-1.3) -- ({3.1415-2.3},-3); -\draw[->,line width=4pt,color=gray!40] ({3.1415+1},-1.3) -- ({3.1415+2.3},-3); - -\node at ({3.1415-1.75},-2.15) [left] {$\frac12(f(x)+g(x))+\frac12|f(x)-g(x)|$}; -\node at ({3.1415+1.75},-2.15) [right] {$\frac12(f(x)+g(x))-\frac12|f(x)-g(x)|$}; - -\def\s{(-0.1)} - -\begin{scope}[xshift=-3.4cm,yshift=-4.6cm] - \fill[color=darkgreen!20] - \mittellinie - -- - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- cycle; - \foreach \x in {0.5,1,...,6}{ - \draw[color=darkgreen] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); - } - \draw[color=darkgreen,line width=1.4pt] - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); - - \node[color=darkgreen] at (2,-0.3) [left] {$|f(x)-g(x)|$}; - \draw[color=darkgreen,line width=0.3pt] (2,-0.3) -- (2.5,0.2); - - \draw[color=purple!50,line width=1.4pt] \mittellinie; - \pgfmathparse{0.75*3.1415+\s} - \xdef\x{\pgfmathresult} - \node[color=darkgreen] at (\x,{sin(180*\x/3.1415)}) [above right] - {$\max(f(x),g(x))$}; - \node[color=purple!50] at ({1.25*3.1415},-0.7) [below] - {$\frac12(f(x)+g(x))$}; - \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; -\end{scope} - - -\begin{scope}[xshift=+3.4cm,yshift=-4.6cm] - \fill[color=darkgreen!20] - \mittellinie - -- - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- cycle; - \foreach \x in {0.5,1,...,6}{ - \draw[color=darkgreen] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); - } - \draw[color=darkgreen,line width=1.4pt] - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); - - \node[color=darkgreen] at (3,0.3) [right] {$|f(x)-g(x)|$}; - \draw[color=darkgreen,line width=0.3pt] (3,0.3) -- (2.5,-0.4); - - \draw[color=purple!50,line width=1.4pt] \mittellinie; - \pgfmathparse{0.75*3.1415-\s} - \xdef\x{\pgfmathresult} - \node[color=darkgreen] at (\x,{cos(180*\x/3.1415)}) [below left] - {$\min(f(x),g(x))$}; - \node[color=purple!50] at ({0.25*3.1415},0.7) [above right] - {$\frac12(f(x)+g(x))$}; - \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% minmax.tex -- minimum und maximum +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.5,0} + +\def\mittellinie{ + plot[domain=0:6.2832,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}) +} + +\begin{scope} + \fill[color=darkgreen!20] + plot[domain=0:6.2832,samples=360] + ({\x},{sin(180*\x/3.1415)}) + -- + plot[domain=6.2832:0,samples=360] + ({\x},{cos(180*\x/3.1415)}) + -- cycle; + \foreach \x in {0.5,1,...,6}{ + \draw[color=darkgreen] + ({\x},{sin(180*\x/3.1415)}) + -- + ({\x},{cos(180*\x/3.1415)}); + } + + \node[color=darkgreen] at (2,-0.8) [left] {$|f(x)-g(x)|$}; + \draw[color=darkgreen,line width=0.3pt] (2,-0.8) -- (2.5,-0.7); + + \draw[color=blue,line width=1.4pt] plot[domain=0:6.29,samples=360] + ({\x},{sin(180*\x/3.1415)}); + \draw[color=red,line width=1.4pt] plot[domain=0:6.29,samples=360] + ({\x},{cos(180*\x/3.1415)}); + \draw[color=purple!50,line width=1.4pt] \mittellinie; + \node[color=purple!50] at (6.2832,0.5) [right] {$\frac12(f(x)+g(x))$}; + + \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={below:$x$}]; + \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; + + + \xdef\x{2} + \node[color=blue] at (\x,{sin(180*\x/3.1415)}) [above right] {$f(x)$}; + \pgfmathparse{2.5*3.14159-\x} + \xdef\x{\pgfmathresult} + \node[color=red] at (\x,{cos(180*\x/3.1415)}) [above left] {$g(x)$}; + +\end{scope} + +\draw[->,line width=4pt,color=gray!40] ({3.1415-1},-1.3) -- ({3.1415-2.3},-3); +\draw[->,line width=4pt,color=gray!40] ({3.1415+1},-1.3) -- ({3.1415+2.3},-3); + +\node at ({3.1415-1.75},-2.15) [left] {$\frac12(f(x)+g(x))+\frac12|f(x)-g(x)|$}; +\node at ({3.1415+1.75},-2.15) [right] {$\frac12(f(x)+g(x))-\frac12|f(x)-g(x)|$}; + +\def\s{(-0.1)} + +\begin{scope}[xshift=-3.4cm,yshift=-4.6cm] + \fill[color=darkgreen!20] + \mittellinie + -- + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- cycle; + \foreach \x in {0.5,1,...,6}{ + \draw[color=darkgreen] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); + } + \draw[color=darkgreen,line width=1.4pt] + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); + + \node[color=darkgreen] at (2,-0.3) [left] {$|f(x)-g(x)|$}; + \draw[color=darkgreen,line width=0.3pt] (2,-0.3) -- (2.5,0.2); + + \draw[color=purple!50,line width=1.4pt] \mittellinie; + \pgfmathparse{0.75*3.1415+\s} + \xdef\x{\pgfmathresult} + \node[color=darkgreen] at (\x,{sin(180*\x/3.1415)}) [above right] + {$\max(f(x),g(x))$}; + \node[color=purple!50] at ({1.25*3.1415},-0.7) [below] + {$\frac12(f(x)+g(x))$}; + \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; +\end{scope} + + +\begin{scope}[xshift=+3.4cm,yshift=-4.6cm] + \fill[color=darkgreen!20] + \mittellinie + -- + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- cycle; + \foreach \x in {0.5,1,...,6}{ + \draw[color=darkgreen] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); + } + \draw[color=darkgreen,line width=1.4pt] + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); + + \node[color=darkgreen] at (3,0.3) [right] {$|f(x)-g(x)|$}; + \draw[color=darkgreen,line width=0.3pt] (3,0.3) -- (2.5,-0.4); + + \draw[color=purple!50,line width=1.4pt] \mittellinie; + \pgfmathparse{0.75*3.1415-\s} + \xdef\x{\pgfmathresult} + \node[color=darkgreen] at (\x,{cos(180*\x/3.1415)}) [below left] + {$\min(f(x),g(x))$}; + \node[color=purple!50] at ({0.25*3.1415},0.7) [above right] + {$\frac12(f(x)+g(x))$}; + \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/spektraltheorie.tex b/buch/chapters/40-eigenwerte/spektraltheorie.tex index 466b99e..367a4c9 100644 --- a/buch/chapters/40-eigenwerte/spektraltheorie.tex +++ b/buch/chapters/40-eigenwerte/spektraltheorie.tex @@ -1,802 +1,802 @@ -% -% spektraltheorie.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Spektraltheorie -\label{buch:section:spektraltheorie}} -Aufgabe der Spektraltheorie ist, Bedingungen an eine Matrix $A$ und eine -Funktion $f(z)$ zu finden, unter denen es möglich ist, $f(A)$ auf -konsistente Art und Weise zu definieren. -Weiter müssen Methoden entwickelt werden, mit denen $f(A)$ berechnet -werden kann. -Für ein Polynom $p(z)$ ist $p(A)$ durch einsetzen definiert. -Für Funktionen, die sich nicht durch ein Polynom darstellen lassen, -muss eine Approximation der Funktion durch Polynome verwendet werden. -Sei also $p_n(z)$ eine Folge von Polynomen, die als Approximation der -Funktion $f(z)$ verwendet werden soll. -Das Ziel ist, $f(A)$ als den Grenzwert der Matrixfolge $p_n(A)$ -zu definieren. - -Zunächst ist nicht klar, wie eine solche Folge gewählt werden muss. -Es muss eine Teilmenge von $K\subset\mathbb{C}$ spezifiziert werden, -auf der die Funktionenfolge $p_n(z)$ konvergieren muss, -damit auch die Konvergenz der Matrizenfolge $p_n(A)$ garantiert ist. -Auch die Art der Konvergenz von $p_n(z)$ auf der Menge $K$ ist noch -unklar. -Da der Abstand zweier Matrizen $A$ und $B$ in der Operatornorm -mit der grössten Abweichung $\|(A-B)v\|$ für Einheitsvektoren $v$ -gemessen wird, ist es einigermassen plausibel, dass -die grösse Abweichung zwischen zwei Polynomen $|p(z) - q(z)|$ auf -der Menge $K$ kleine sein muss, wenn $\|p(A)-q(A)\|$ klein -sein soll. -Da die Differenz $p(z)-q(z)$ für beliebige Polynome, die sich nicht -nur um eine Konstante unterscheiden, mit $z$ über alle Grenzen wächst, -muss $K$ beschränkt sein. -Gesucht ist also eine kompakte Menge $K\subset\mathbb{C}$ und eine -Folge $p_n(z)$ von Polynomen, die auf $K$ gleichmässig gegen $f(z)$ -konvergieren. -Die Wahl von $K$ muss sicherstellen, dass für jede gleichmässig -konvergente Folge von Polynomen $p_n(z)$ auch die Matrizenfolge -$p_n(A)$ konvergiert. - -Es wird sich zeigen, dass die Menge $K$ das Spektrum von $A$ ist, -also eine endliche Teilmenge von $\mathbb{C}$. -Jede Funktion kann auf so einer Menge durch Polynome exakt wiedergegeben -werden. -Es gibt insbesondere Folgen von Polynomen, die eingeschränkt -auf das Spektrum gleich sind, also $p_n(z)=p_m(z)$ für alle $z\in K$, -die aber ausserhalb des Spektrums alle verschieden sind. -Als Beispiel kann die Matrix -\[ -N=\begin{pmatrix}0&1\\0&0\end{pmatrix} -\] -herangezogen werden. -Ihr Spektrum ist $\operatorname{Sp}(N)=\{0\}\subset\mathbb{C}$. -Zwei Polynome stimmen genau dann auf $\operatorname{Sp}(N)$ überein, -wenn der konstante Koeffizient gleich ist. -Die Polynome $p(z)=z$ und $q(z)=z^2$ stimmen daher auf dem Spektrum -überein. -Für die Matrizen gilt aber $p(N)=N$ und $q(N)=N^2=0$, die Matrizen -stimmen also nicht überein. -Es braucht also zusätzliche Bedingungen an die Matrix $A$, die -sicherstellen, dass $p(A)=0$ ist, wann immer $p(z)=0$ für -$z\in\operatorname{Sp}(A)$ gilt. - -In diesem Abschnitt sollen diese Fragen untersucht werden. -In Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -wird gezeigt, wie sich Funktionen durch Polynome approximieren -lassen, woraus sich dann Approximationen von $f(A)$ für diagonalisierbare -Matrizen mit reellen Eigenwerten ergeben. - -Der Satz von Stone-Weierstrass, der in -Abschnitt~\ref{buch:subsetion:stone-weierstrass} dargestellt wird, -ist ein sehr allgemeines Approximationsresultat, welches nicht nur -zeigt, dass die Approximation unter sehr natürlichen Voraussetzungen -beliebig genau möglich ist, sondern uns im komplexen Fall auch -weitere Einsicht dafür geben kann, welche Voraussetzungen an eine -komplexe Matrix gestellt werden müssen, damit man damit rechnen kann, -dass die Approximation zu einer konsistenten Definition von $f(A)$ führt. - -% -% Approximation -% -\subsection{Approximation durch Polynome -\label{buch:subsection:approximation-durch-polynome}} -Die der Berechnung von $f(A)$ für eine beleibige stetige Funktion, -die sich nicht als Potenzreihe schreiben lässt, verwendet Approximationen -von Polynomen. -Die numerische Mathematik hat eine grosse Menge von solchen -Approximationsverfahren entwickelt, wovon zwei kurz (ohne Beweise) -vorgestellt werden sollen. - -\subsubsection{Das Legendre-Interpolationspolynom} -Zu vorgegebenen, verschiedenen Zahlen $z_i\in\mathbb{C}$, $0\le i\le n$, -die auch die {\em Stützstellen} genannt werden, -gibt es immer ein Polynom vom Grade $n$, welches in den $z_i$ vorgegebene -Werte $f(z_i)$ annimmt. -Ein solches Polynom lässt sich im Prinzip mit Hilfe eines linearen -Gleichungssystems finden, man kann aber auch direkt eine Lösung -konstruieren. -Dazu bildet man erst die Polynome -\begin{align*} -l(z) &= (z-z_0)(z-z_1)\dots (z-z_n) \qquad\text{und} -\\ -l_i(z) &= (z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n). -\end{align*} -Darin bedeutet der Hut, dass dieser Term weggelassen werden soll. -Für $z\ne z_i$ ist $l_i(z)=l(z)/(z-z_i)$. -Die Polynome -\[ -k_i(z) -= -\frac{l_i(z)}{l_i(z_i)} -= -\frac{(z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n)}{(z_i-z_0)\dots \widehat{(z_i-z_i)}\dots (z_i-z_n)} -\] -haben die Eigenschaft -$k_i(z_j)=\delta_{ij}$. -Damit lässt sich jetzt ein Polynom -\[ -p(z) = \sum_{j=0}^n f(z_j) \frac{l_j(z)}{l_j(z_j)} -\] -vom Grad $n$ konstruieren, welches die Werte -\[ -p(z_i) -= -\sum_{j=0}^n f(z_j) \frac{l_j(z_i)}{l_j(z_j)} -= -\sum_{j=0}^n f(z_j) \delta_{ij} -= -f_(z_i) -\] -annimmt. -Das Polynom $p(z)$ heisst das {\em Legendre-Interpolationspolynom}. - -Zwar lässt sich also für eine endliche Menge von komplexen Zahlen immer -ein Polynom finden, welches vorgeschriebene Wert in allen diesen Zahlen -annimmt, doch ist die Stabilität für grosse $n$ eher beschränkt. - - -\subsubsection{Gleichmassige Approximation mit Bernstein-Polynomen} -Das Legendre-Interpolationspolynom nimmt in den Stützstellen die -verlangten Werte an, aber ausserhalb der Stützstellen ist nicht -garantiert, dass man eine gute Approximation einer Funktion $f(z)$ -erhält. - -Für die Approximation auf einem reellen Interval $[a,b]$ hat -Sergei Natanowitsch Bernstein ein -Dazu werden zuerst die reellen Bernsteinpolynome vom Grad $n$ -durch -\begin{align*} -B_{i,n}(t) = \binom{n}{i} t^i(1-t)^{n-i}. -\end{align*} -definiert. -Als Approximationspolynom für die auf dem Interval -$[0,1]$ definierte, stetige Funktion $f(t)$ kann man dann -\[ -B_n(f)(t) -= -\sum_{i=0}^n B_{i,n}(t) f\biggl(\frac{i}{n}\biggr) -\] -verwenden. -Die Polynome $B_n(f)(t)$ konvergieren gleichmässig auf $[0,1]$ -gegen die Funktion $f(t)$. -Über die Konvergenz ausserhalb des reellen Intervalls wird nichts -ausgesagt. -Die Approximation mit Bernstein-Polynomen ist daher nur sinnvoll, -wenn man weiss, dass die Eigenwerte der Matrix reell sind, was im -wesentlichen auf diagonalisierbare Matrizen führt. - -Für ein anderes Interval $[a,b]$ kann man ein Approximationspolynom -erhalten, indem man die affine Transformation -$s\mapsto (s-a)/(b-a)$ -von $[a,b]$ auf $[0,1]$ -verwendet. - -% -% Der Satz von Stone-Weierstrass -% -\subsection{Der Satz von Stone-Weierstrasss -\label{buch:subsetion:stone-weierstrass}} -Der Satz von Stone-Weierstrass behandelt im Gegensatz zu den in -Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -besprochenen Approximationsmethoden nicht nur Funktionen von -reellen Variablen durch Polynome. -Vielmehr kann das Definitionsgebiet irgend eine abgeschlossene -und beschränkte Teilmenge eines reellen oder komplexen Vektorraumes -sein und die Funktionen können Polynome aber auch viel allgemeinere -Funktionen verwendet werden, wie zum Beispiel die Funktionen -$x\mapsto \cos nx$ und $x\mapsto \sin nx$ definiert auf dem -Intervall $[0,2\pi]$. -In diesem Fall liefert der Satz von Stone-Weierstrass die Aussage, -dass sich jede stetige periodische Funktion gleichmässig durch -trigonometrische Polynome approximieren lässt. - -Die Aussage des Satz von Stone-Weierstrass über reelle Funktionen -lässt sich nicht auf komplexe Funktionen erweitern. -Von besonderem Interesse ist jedoch, dass der Beweis des Satz -zeigt, warum solche Aussagen für komplexe Funktionen nicht mehr -zutreffen. -Im Falle der Approximation von komplexen Funktionen $f(z)$ durch Polynome -zwecks Definition von $f(A)$ werden sich daraus Bedingungen an die -Matrix ableiten lassen, die eine konsistente Definition überhaupt -erst ermöglichen werden. - -\subsubsection{Punkte trennen} -Aus den konstanten Funktionen lassen sich durch algebraische -Operationen nur weitere konstante Funktionen erzeugen. -Die konstanten Funktionen sind also nur dann eine genügend -reichhaltige Menge, wenn die Menge $K$ nur einen einzigen Punkt -enthält. -Damit sich Funktionen approximieren lassen, die in zwei Punkten -verschiedene Werte haben, muss es auch unter den zur Approximation -zur Verfügung stehenden Funktionen solche haben, deren Werte sich -in diesen Punkten unterscheiden. -Diese Bedingung wird in der folgenden Definition formalisiert. - -\begin{definition} -Sei $K$ eine beliebige Menge und $A$ eine Menge von Funktionen -$K\to \mathbb{C}$. -Man sagt, $A$ {\em trennt die Punkte von $K$}, wenn es für jedes Paar -\index{Punkte trennen}% -von Punkten $x,y\in K$ eine Funktion $f\in A$ gibt derart, dass -$f(x)\ne f(y)$. -\end{definition} - -Man kann sich die Funktionen $f$, die gemäss dieser Definition die Punkte -von $K$ trennen, als eine Art Koordinaten der Punkte in $K$ vorstellen. -Die Punkte der Teilmenge $K\subset \mathbb{R}^n$ werden zum Beispiel -von den Koordinatenfunktionen $x\mapsto x_i$ getrennt. -Wir schreiben für die $i$-Koordinate daher auch als Funktion $x_i(x)=x_i$. -Zwei verschiedene Punkte $x,y\in K$ unterscheiden sich in mindestens -einer Koordinate. -Für diese Koordinate sind dann die Werte der zugehörigen -Koordinatenfunktion $x_i=x_i(x)\ne x_i(y)=y_i$ verschieden, die -Funktionen $x_1(x)$ bis $x_n(x)$ trennen also die Punkte. - -\begin{beispiel} -Wir betrachten einen Kreis in der Ebene, also die Menge -\[ -S^1 -= -\{(x_1,x_2)\;|\; x_1^2 + x_2^2=1\} -\] -$S^1$ ist eine abgeschlossene und beschränkte Menge in $\mathbb{R}^2$. -Die Funktion $x\mapsto x_1$ trennt die Punkte nicht, denn zu jedem -Punkt $(x_1,x_2)\in S^2$ gibt es den an der ersten Achse -gespiegelten Punkt $\sigma(x)=(x_1,-x_2)$, dessen erste Koordinate -den gleichen Wert hat. -Ebenso trennt die Koordinatenfunktion $x\mapsto x_2$ die Punkte nicht. -Die Menge $A=\{ x_1(x), x_2(x)\}$ bestehend aus den beiden -Koordinatenfunktionen trennt dagegen die Punkte von $S^1$, da die Punkte -sich immer in mindestens einem Punkt unterscheiden. - -Man könnte auch versuchen, den Kreis in Polarkoordinaten zu beschreiben. -Die Funktion $\varphi(x)$, die jedem Punkt $x\in S^1$ den Polarwinkel -zuordnet, trennt sicher die Punkte des Kreises. -Zwei verschiedene Punkte auf dem Kreis haben verschieden Polarwinkel. -Die Menge $\{\varphi\}$ trennt also die Punkte von $S^1$. -Allerdings ist die Funktion nicht stetig, was zwar der Definition -nicht widerspricht aber ein Hindernis für spätere Anwendungen ist. -\end{beispiel} - - -\subsubsection{Der Satz von Stone-Weierstrass für reelle Funktionen} -Die Beispiele von Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -haben bezeigt, dass sich reellwertige Funktionen einer reellen -Variable durch Polynome beliebig genau approximieren lassen. -Es wurde sogar eine Methode vorgestellt, die eine auf einem Intervall -gleichmässig konvergente Polynomefolge produziert. -Die Variable $x\in[a,b]$ trennt natürlich die Punkte, die Algebra der -Polynome in der Variablen $x$ enthält also sicher Funktionen, die in -verschiedenen Punkten des Intervalls auch verschiedene Werte annehmen. -Nicht ganz so selbstverständlich ist aber, dass sich daraus bereits -ergibt, dass jede beliebige Funktion sich als Polynome in $x$ -approximieren lässt. -Dies ist der Inhalt des folgenden Satzes von Stone-Weierstrass. - -\begin{figure} -\centering -\includegraphics{chapters/40-eigenwerte/images/wurzel.pdf} -\caption{Konstruktion einer monoton wachsenden Approximationsfolge für -$\sqrt{a}$ -\label{buch:eigenwerte:fig:wurzelverfahren}} -\end{figure} - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/wurzelapprox.pdf} -\caption{Monoton wachsende Approximation der Funktion $t\mapsto\sqrt{t}$ mit -Polynomen $u_n(t)$ nach -\eqref{buch:eigenwerte:eqn:wurzelapproximation} -(links) und der Fehler der Approximation -(rechts). -\label{buch:eigenwerte:fig:wurzelapproximation}} -\end{figure} - -\begin{satz}[Stone-Weierstrass] -\label{buch:satz:stone-weierstrass} -Enthält eine $\mathbb{R}$-Algebra $A$ von stetigen, rellen Funktionen -auf einer kompakten Menge $K$ die konstanten Funktionen und trennt sie -Punkte, d.~h.~für zwei verschiedene Punkte $x,y\in K$ gibt es -immer eine Funktion $f\in A$ mit $f(x)\ne f(y)$, dann ist jede stetige, -reelle Funktion auf $K$ gleichmässig approximierbar durch Funktionen -in $A$. -\end{satz} - -Für den Beweis des Satzes wird ein Hilfsresultat benötigt, welches wir -zunächst ableiten. -Es besagt, dass sich die Wurzelfunktion $t\mapsto\sqrt{t}$ -auf dem Interval $[0,1]$ gleichmässig -von unten durch Polynome approximieren lässt, die in -Abbildung~\ref{buch:eigenwerte:fig:wurzelapproximation} dargestellt -sind. - -\begin{satz} -Die rekursiv definierte Folge von Polynomen -\begin{equation} -u_{n+1}(t) -= -u_n(t) + \frac12(t-u_n(t)^2), -\qquad -u_0(t)=0 -\label{buch:eigenwerte:eqn:wurzelapproximation} -\end{equation} -ist monoton wachsend und approximiert die Wurzelfunktion $t\mapsto\sqrt{t}$ -gleichmässig auf dem Intervall $[0,1]$. -\end{satz} - -\begin{figure} -\centering -\includegraphics{chapters/40-eigenwerte/images/minmax.pdf} -\caption{Graphische Erklärung der -Identitäten~\eqref{buch:eigenwerte:eqn:minmax} für -$\max(f(x),g(x))$ und $\min(f(x),g(x))$. -Die purpurrote Kurve stellt den Mittelwert von $f(x)$ und $g(x)$ dar, -die vertikalen grünen Linien haben die Länge der Differenz $|f(x)-g(x)|$. -Das Maximum erhält man, indem man den halben Betrag der Differenz zum -Mittelwert hinzuaddiert, das Minimum erhält man durch Subtraktion -der selben Grösse. -\label{buch:eigenwerte:fig:minmax}} -\end{figure} - -\begin{proof}[Beweis] -Wer konstruieren zunächst das in -Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} -visualierte Verfahren, mit dem für jede Zahl $a\in[0,1]$ -die Wurzel $\sqrt{a}$ berechnet werden kann. -Sei $u < \sqrt{a}$ eine Approximation der Wurzel. -Die Approximation ist der exakte Wert der Lösung, wenn $a-u^2=0$. -In jedem anderen Fall muss $u$ um einen Betrag $d$ vergrössert werden. -Natürlich muss immer noch $u+d<\sqrt{a}$ sein. -Man kann die maximal zulässige Korrektur $d$ geometrisch abschätzen, -wie dies in Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} -skizziert ist. -Die maximale Steigung des Graphen der Funktion $u\mapsto u^2$ ist $2$, -daher darf man $u$ maximal um die Hälfte der Differenz $a-u^2$ (grün) -vergrössern, also $d=\frac12(a-u^2)$. -Die Rekursionsformel -\[ -u_{n+1} = u_n + d = u_n + \frac12(a-u_n^2) -\] -mit dem Startwert $u_0=0$ liefert daher eine -Folge, die gegen $\sqrt{a}$ konvergiert. -\end{proof} - -\begin{proof}[Beweis des Satzes von Stone-Weierstrass] -Da $A$ eine Algebra ist, ist mit jeder Funktion $f\in A$ für jedes Polynome -$p\in\mathbb{R}[X]$ auch $p(f)$ eine Funktion in $A$. -\begin{enumerate} -\item Schritt: Für jede Funktion $f\in A$ lässt sich auch $|f|$ durch -Funktionen in $A$ beliebig genau durch eine monoton wachsende Folge -von Funktionen approximieren. - -Da $A$ eine Algebra ist, ist $f^2\in A$. -Sei ausserdem $m^2=\sup \{f(x)^2\;|\;x\in K\}$, so dass $f^2/m^2$ eine Funktion -mit Werten im Intervall $[0,1]$ ist. -Die Funktionen $f_n(x)=mu_n(f(x)^2/m^2)$ sind ebenfalls in $A$ und -approximieren gleichmässig $\sqrt{f(x)^2}=|f(x)|$. -\item Schritt: Für zwei Funktionen $f,g\in A$ gibt es eine monoton wachsende -Folge, die $\max(f,g)$ gleichmässig beliebig genau approximiert -und eine monoton fallende Folge, die $\min(f,g)$ gleichmässig beliebig -genau approximiert. - - -Diese Folgen können aus der Approximationsfolge für den Betrag einer -Funktion und den Identitäten -\begin{equation} -\begin{aligned} -\max(f,g) &= \frac12(f+g+|f-g|) \\ -\min(f,g) &= \frac12(f+g-|f-g|) -\end{aligned} -\label{buch:eigenwerte:eqn:minmax} -\end{equation} -gefunden werden, die in Abbildung~\ref{buch:eigenwerte:fig:minmax} -graphisch erklärt werden. -\item Schritt: Zu zwei beliebigen Punkten $x,y\in K$ und Werten -$\alpha,\beta\in\mathbb{R}$ gibt es immer eine Funktion in $A$, -die in den Punkten $x,y$ die vorgegebenen Werte $\alpha$ bzw.~$\beta$ -annimmt. -Da $A$ die Punkte trennt, gibt es eine Funktion $f_0$ mit $f_0(x)\ne f_0(y)$. -Dann ist die Funktion -\[ -f(t) -= -\beta + \frac{f_0(t)-f_0(y)}{f_0(x)-f_0(y)}(\alpha-\beta) -\] -wohldefiniert und nimmt die verlangten Werte an. -\item Schritt: Zu jeder stetigen Funktion $f\colon K\to\mathbb{R}$, jedem -Punkt $x\in K$ und jedem $\varepsilon>0$ gibt es eine Funktion $g\in A$ derart, -dass $g(x)=f(x)$ und $g(y) \le f(y)+\varepsilon$ für alle $y\in K$. - -Zu jedem $z\in K$ gibt es eine Funktion in $A$ mit -$h_z(x)=f(x)$ und $h_z(z) \le f(z)+\frac12\varepsilon$. -Wegen der Stetigkeit von $h_z$ gibt es eine Umgebung $V_z$ von $z$, in der -immer noch gilt $h_z(y)\le f(y)+\varepsilon$ für $y\in V_z$. -Wegen der Kompaktheit von $K$ kann man endlich viele Punkte $z_i$ wählen -derart, dass die $V_{z_i}$ immer noch $K$ überdecken. -Dann erfüllt die Funktion -\( -g(z) = \inf h_{z_i} -\) -die Bedingungen $g(x) = f(x)$ und für $z\in V_{z_i}$ -\[ -g(z) = \inf_{j} h_{z_j}(z) \le h_{z_i}(z) \le f(z)+\varepsilon. -\] -Ausserdem ist $g(z)$ nach dem zweiten Schritt beliebig genau durch -Funktionen in $A$ approximierbar. -\item Schritt: Jede stetige Funktion $f\colon K\to\mathbb{R}$ kann -beliebig genau durch Funktionen in $A$ approximiert werden. -Sei $\varepsilon > 0$. - -Nach dem vierten Schritt gibt es für jedes $y\in K$ eine Funktion $g_y$ -derart, dass $g_y(y)=f(y)$ und $g_y(x) \le f(x) + \varepsilon$ für -$x\in K$. -Da $g_y$ stetig ist, gilt ausserdem $g_y(x) \ge f(x) -\varepsilon$ in -einer Umgebung $U_y$ von $y$. -Da $K$ kompakt ist, kann man endlich viele $y_i$ derart, dass die $U_{y_i}$ -immer noch ganz $K$ überdecken. -Die Funktion $g=\sup g_{y_i}$ erfüllt dann überall $g(x) \le f(x)+\varepsilon$, -weil jede der Funktionen $g_y$ diese Ungleichung erfüllt. -Ausserdem gilt für $x\in V_{x_j}$ -\[ -g(x) = \sup_i g_{x_i}(x) \ge g_{x_j}(x) \ge f(x)-\varepsilon. -\] -Somit ist -\[ -|f(x)-g(x)| \le \varepsilon. -\] -Damit ist $f(x)$ beliebig nahe an der Funktion $g(x)$, die sich -beliebig genau durch Funktionen aus $A$ approximieren lässt. -\qedhere -\end{enumerate} -\end{proof} - -Im ersten Schritt des Beweises ist ganz entscheidend, dass man die -Betragsfunktion konstruieren kann. -Daraus leiten sich dann alle folgenden Konstruktionen ab. - -\subsubsection{Anwendung auf symmetrische und hermitesche Matrizen} -Für symmetrische und hermitesche Matrizen $A$ ist bekannt, dass die -Eigenwerte reell sind, also das Spektrum $\operatorname{A}\subset\mathbb{R}$ -ist. -Für eine Funktion $\mathbb{R}\to \mathbb{R}$ lässt sich nach dem -Satz~\ref{buch:satz:stone-weierstrass} immer eine Folge $p_n$ von -approximierenden Polynomen in $x$ finden, die auf $\operatorname{Sp}(A)$ -gleichmässig konvergiert. -Die Matrix $f(A)$ kann dann definiert werden also der Grenzwert -\[ -f(A) = \lim_{n\to\infty} p_n(A). -\] -Da diese Matrizen auch diagonalisierbar sind, kann man eine Basis -aus Eigenvektoren verwenden. -Die Wirkung von $p_n(A)$ auf einem Eigenvektor $v$ zum Eigenwert $\lambda$ -ist -\[ -p_n(A)v -= -(a_kA^k + a_{k-1}A^{k-1}+\dots +a_2A^2+a_1A+a_0I)v -= -(a_k\lambda^k + a_{k-1}\lambda^{k-1}+\dots + a_2\lambda^2 + a_1\lambda + a_0)v -= -p_n(\lambda)v. -\] -Im Grenzwert wirkt $f(A)$ daher durch Multiplikation eines Eigenvektors -mit $f(\lambda)$, die Matrix $f(A)$ hat in der genannten Basis die -Diagonalform -\[ -A=\begin{pmatrix} -\lambda_1& & & \\ - &\lambda_2& & \\ - & &\ddots& \\ - & & &\lambda_n -\end{pmatrix} -\qquad\Rightarrow\qquad -f(A)=\begin{pmatrix} -f(\lambda_1)& & & \\ - &f(\lambda_2)& & \\ - & &\ddots& \\ - & & &f(\lambda_n) -\end{pmatrix}. -\] - -\begin{satz} -\label{buch:eigenwerte:satz:spektralsatz} -Ist $A$ symmetrische oder selbstadjungiert Matrix und $f$ eine Funktion -auf dem Spektrum $\operatorname{Sp}(A)$ von $A$. -Dann gibt es genau eine Matrix $f(A)$, die Grenzwert jeder beliebigen -Folge $p_n(A)$ für Polynomfolgen, die $\operatorname{Sp}(A)$ gleichmässig -gegen $f$ konvergieren. -\end{satz} - -\subsubsection{Unmöglichkeit der Approximation von $z\mapsto \overline{z}$ -in $\mathbb{C}[z]$} -Der Satz~\ref{buch:satz:stone-weierstrass} von Stone-Weierstrass für -reelle Funktionen gilt nicht für komplexe Funktionen. -In diesem Abschnitt zeigen wir, dass sich die Funktion $z\mapsto\overline{z}$ -auf der Einheitskreisscheibe $K=\{z\in\mathbb{C}\;|\; |z|\le 1\}$ nicht -gleichmässig durch Polynome $p(z)$ mit komplexen Koeffizienten approximieren -lässt. - -Wäre eine solche Approximation möglich, dann könnte man $\overline{z}$ -auch durch eine Potenzreihe -\[ -\overline{z} -= -\sum_{k=0}^\infty a_kz^k -\] -darstellen. -Das Wegintegral beider Seiten über den Pfad $\gamma(t) = e^{it}$ -in der komplexen Ebene ist -\begin{align*} -\oint_\gamma z^k\,dz -&= -\int_0^{2\pi} e^{ikt} ie^{it}\,dt -= -i\int_0^{2\pi} e^{it(k+1)}\,dt -= -i\biggl[ \frac{1}{i(k+1)} e^{it(k+1)}\biggr]_0^{2\pi} -= -0 -\\ -\oint_\gamma -\sum_{k=0}^\infty a_kz^k -\,dz -&= -\sum_{k=0}^\infty a_k \oint_\gamma z^k\,dz -= -\sum_{k=0}^\infty a_k\cdot 0 -= -0 -\\ -\oint_\gamma \overline{z}\,dz -&= -\int_0^{2\pi} e^{it} ie^{it}\,dt -= -i\int_0^{2\pi} \,dt = 2\pi i, -\end{align*} -dabei wurde $\overline{\gamma}(t)=e^{-it}$ verwendet. -Insbesondere widersprechen sich die beiden Integrale. -Die ursprüngliche Annahmen, $\overline{z}$ lasse sich durch Polynome -gleichmässig approximieren, muss daher verworfen werden. - -\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen} -Der Satz von Stone-Weierstrass kann nach dem vorangegangene Abschnitt -also nicht gelten. -Um den Beweis des Satzes~\ref{buch:satz:stone-weierstrass} -auf komplexe Zahlen zu übertragen, muss im ersten Schritt ein Weg -gefunden werden, den Betrag einer Funktion zu approximieren. - -Im reellen Fall geschah dies, indem zunächst eine Polynom-Approximation -für die Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer -Funktion angewendet wurde. -Der Betrag einer komplexen Zahl $z$ ist aber nicht allein aus $z$ -berechenbar, man braucht in irgend einer Form Zugang zu Real- -und Imaginärteil. -Zum Beispiel kann man Real- und Imaginärteil als -$\Re z= \frac12(z+\overline{z})$ und $\Im z = \frac12(z-\overline{z})$ -bestimmen. -Kenntnis von Real- und Imaginärteil ist als gleichbedeutend mit -der Kenntnis der komplex Konjugierten $\overline{z}$. -Der Betrag lässt sich daraus als $|z|^2 = z\overline{z}$ finden. -Beide Beispiele zeigen, dass man den im Beweis benötigten Betrag -nur dann bestimmen kann, wenn mit jeder Funktion aus $A$ auch die -komplex konjugierte Funktion zur Verfügung steht. - -\begin{satz}[Stone-Weierstrass] -Enthält eine $\mathbb{C}$-Algebra $A$ von stetigen, komplexwertigen -Funktionen auf einer kompakten Menge $K$ die konstanten Funktionen, -trennt sie Punkte und ist ausserdem mit jeder Funktion $f\in A$ auch -die komplex konjugiert Funktion $\overline{f}\in A$, -dann lässt sich jede stetige, komplexwertige Funktion -auf $K$ gleichmässig durch Funktionen aus $A$ approximieren. -\end{satz} - -Mit Hilfe der konjugiert komplexen Funktion lässt sich immer eine -Approximation für die Betragsfunktion finden, so dass sich der -Beweis des reellen Satzes von Stone-Weierstrass übertragen lässt. - -% -% Normale Matrizen -% -\subsection{Normale Matrizen -\label{buch:subsection:normale-matrizen}} -Aus dem Satz von Stone-Weierstrass für komplexe Matrizen kann man -jetzt einen Spektralsätze für eine etwas grössere Klasse von Matrizen -ableiten, als im Satz~\ref{buch:eigenwerte:satz:spektralsatz} -möglich war. -Der Satz besagt, dass für eine beliebige Funktion $f$ auf dem Spektrum -$\operatorname{Sp}(A)$ eine Folge von auf $\operatorname{Sp}(A)$ -gleichmässig konvergenten, approximierenden Polynomen -$p_n(z,\overline{z})$ gefunden werden kann. -Doch wie soll jetzt aus dieser Polynomfolge ein Kandidat von $f(A)$ -gefunden werden? - -Zunächst stellt sich die Frage, was für die Variable $\overline{z}$ -eingesetzt werden soll. -$1\times 1$-Matrizen sind notwendigerweise diagonal, also muss -man in diesem Fall die Matrix $\overline{A}$ für die Variable -$\overline{z}$ eingesetzt werden. -Dies erklärt aber noch nicht, wie für $n\times n$-Matrizen -vorzugehen ist, wenn $n>1$ ist. - -Die Notwendigkeit, die Variable $\overline{z}$ hinzuzunehmen -ergab sich aus der Anforderung, dass der Betrag aus $|z|^2=z\overline{z}$ -konstruiert werden können muss. -Insbesondere muss beim Einsetzen eine Matrix entstehen, die nur -positive Eigenwerte hat. -Für eine beliebige komplexe $n\times n$-Matrix $A$ ist aber -$A\overline{A}$ nicht notwendigerweise positiv, wie das Beispiel -\[ -A -= -\begin{pmatrix}0&i\\i&0\end{pmatrix} -\qquad -\Rightarrow -\qquad -A\overline{A} -= -\begin{pmatrix}0&i\\-i&0\end{pmatrix} -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -= -\begin{pmatrix} --1&0\\ - 0&-1 -\end{pmatrix} -= --I -\] -zeigt. -Eine positive Matrix entsteht dagegen immer, wenn man statt -$A$ die Adjungierte $A^*=\overline{A}^t$ verwendet. - -Die Substitution von $A$ für $z$ und $A^*$ für $\overline{z}$ -in einem Polynom $p(z,\overline{z})$ ist nicht unbedingt eindeutig. -Schon das Polynom $p(z,\overline{z})=z\overline{z}$ kann man auch -als $\overline{z}z$ schreiben. -Damit die Substition eindeutig wird, muss man also fordern, dass -$AA^* = A^*A$ ist. - -\begin{definition} -Eine Matrix $A\in M_n(\mathbb{C})$ heisst {\em normal}, wenn $AA^*=A^*A$ gilt. -\end{definition} - -\subsubsection{Beispiele normaler Matrizen} - -\begin{enumerate} -\item -Hermitesche und Antihermitesche Matrizen sind normal, denn solche -Matrizen erfüllen $A^*=\pm A$ und damit -\( -AA^* = \pm A^2 = A^*A. -\) -\item -Symmetrische und antisymmetrische Matrizen sind normal, -denn aus $A=A^t$ folgt $A^*=\overline{A}^t$ und damit -\begin{align*} -AA^* &= A\overline{A}^t = -\\ -A^*A &= -\end{align*} -\item -Unitäre Matrizen $U$ sind normal, das $UU^*=I=U^*U$ gilt. -\item -Orthogonale Matrizen sind normal wegen $O(n) = U(n) \cap M_n(\mathbb{R})$. -\end{enumerate} - -Jede Matrix lässt sich durch Wahl einer geeigneten Basis in Jordansche -Normalform bringen. -Allerdings sind Jordan-Blöcke keine normalen Matrizen, wie der folgende -Satz zeigt. - -\begin{satz} -Eine Dreiecksmatrix ist genau dann normal, wenn sie diagonal ist. -\end{satz} - -\begin{proof}[Beweis] -Sei $A$ eine obere Dreiecksmatrix, das Argument für eine untere Dreiecksmatrix -funktioniert gleich. -Wir berechnen ein Diagonalelement für beide Produkte $AA^*$ und $A^*A$. -Dazu brauchen wir die Matrixelemente von $A$ und $A^*$. -Bezeichnen wir die Matrixelemente von $A$ mit $a_{ij}$, dann hat $A^*$ -die Matrixelemente $(A^*)_{ij}=\overline{a}_{ji}$. -Damit kann man die Diagonalelemente der Produkte als -\begin{align*} -(AA^*)_{ii} -&= -\sum_{j=1}^n a_{ij}\overline{a}_{ij} -= -\sum_{j=i}^n |a_{ij}|^2 -\\ -(A^*A)_{ii} -&= -\sum_{j=1}^n \overline{a}_{ji}a_{ji} -= -\sum_{j=1}^i |a_{ji}|^2 -\end{align*} -ausrechnen. -Der obere Ausdruck ist die quadrierte Länge der Zeile $i$ der Matrix $A$, -der untere ist die quadrierte Länge der Spalte $i$. -Da die Matrix eine obere Dreiecksmatrix ist, hat die erste Spalte höchstens -ein einziges von $0$ verschiedenes Element. -Daher kann auch die erste Zeile höchstens dieses eine Elemente haben. -Die Matrix hat daher Blockstruktur mit einem $1\times 1$-Block in der -linken obere Ecke und einem $n-1$-dimensionalen Block für den Rest. -Durch Wiederholen des Arguments für den $(n-1)\times (n-1)$-Block -kann man so schrittweise schliessen, dass die Matrix $A$ diagonal sein muss. -\end{proof} - - -\begin{satz} -Sind $A$ und $B$ normale Matrizen und $AB^*=B^*A$, dann sind auch $A+B$ -und $AB$ normal. -\end{satz} - -\begin{proof}[Beweis] -Zunächst folgt aus $AB^*=B^*A$ auch -$A^*B = (B^*A)^* = (AB^*)^* = BA^*$. -Der Beweis erfolgt durch Nachrechnen: -\begin{align*} -(A+B)(A+B)^* -&= -AA^* + AB^* + BA^*+BB^* -\\ -(A+B)^*(A+B) -&= -A^*A + A^*B + B^*A + B^*B -\end{align*} -Die ersten und letzten Terme auf der rechten Seite stimmen überein, weil -$A$ und $B$ normal sind. -Die gemischten Terme stimmen überein wegen der Vertauschbarkeit von -$A$ und $B^*$. - -Für das Produkt rechnet man -\begin{align*} -(AB)(AB)^* -&= ABB^*A^* = AB^*BA^* -= B^*AA^*B -= -B^*A^*AB -= -(AB)^*(AB), -\end{align*} -was zeigt, dass auch $AB$ normal ist. -\end{proof} - -\subsubsection{Äquivalente Bedingungen} -Es gibt eine grosse Zahl äquivalenter Eigenschaften für normale Matrizen. -Die folgenden Eigenschaften sind äquivalent: -\begin{enumerate} -\item -Die Matrix $A$ ist mit einer unitären Matrix diagonalisierbar -\item -Es gibt eine orthonormale Basis von Eigenvektoren von $A$ für $\mathbb{C}^n$ -\item -Für jeden Vektor $x\in\mathbb{C}^n$ gilt $\|Ax\|=\|A^*x\|$ -\item -Die Forbenius-Norm der Matrix $A$ kann mit den Eigenwerten $\lambda_i$ -von $A$ berechnet werden: -$\operatorname{Spur}(A^*A) = \sum_{i=1}^n |\lambda_i|^2$ -\item -Der hermitesche Teil $\frac12(A+A^*)$ und der antihermitesche Teil -$\frac12(A-A^*)$ von $A$ vertauschen. -\item -$A^*$ ist ein Polynom vom Grad $n-1$ in $A$. -\item -Es gibt eine unitäre Matrix $U$ derart, dass $A^*=AU$ -\item -Es gibt eine Polarzerlegugn $A=UP$ mit einer unitären Matrix $U$ und -einer postiv semidefiniten Matrix $P$, die untereinander vertauschen. -\item -Es gibt eine Matrix $N$ mit verschiedenen Eigenwerten, mit denen $A$ -vertauscht. -\item -Wenn $A$ die (absteigend geordneten) singulärwerte $\sigma_i$ und -die absteigend geordneten Eigenwerte $\lambda_i$ hat, -dann it $\sigma_i=|\lambda_i|$. -\end{enumerate} - - - - +% +% spektraltheorie.tex +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Spektraltheorie +\label{buch:section:spektraltheorie}} +Aufgabe der Spektraltheorie ist, Bedingungen an eine Matrix $A$ und eine +Funktion $f(z)$ zu finden, unter denen es möglich ist, $f(A)$ auf +konsistente Art und Weise zu definieren. +Weiter müssen Methoden entwickelt werden, mit denen $f(A)$ berechnet +werden kann. +Für ein Polynom $p(z)$ ist $p(A)$ durch einsetzen definiert. +Für Funktionen, die sich nicht durch ein Polynom darstellen lassen, +muss eine Approximation der Funktion durch Polynome verwendet werden. +Sei also $p_n(z)$ eine Folge von Polynomen, die als Approximation der +Funktion $f(z)$ verwendet werden soll. +Das Ziel ist, $f(A)$ als den Grenzwert der Matrixfolge $p_n(A)$ +zu definieren. + +Zunächst ist nicht klar, wie eine solche Folge gewählt werden muss. +Es muss eine Teilmenge von $K\subset\mathbb{C}$ spezifiziert werden, +auf der die Funktionenfolge $p_n(z)$ konvergieren muss, +damit auch die Konvergenz der Matrizenfolge $p_n(A)$ garantiert ist. +Auch die Art der Konvergenz von $p_n(z)$ auf der Menge $K$ ist noch +unklar. +Da der Abstand zweier Matrizen $A$ und $B$ in der Operatornorm +mit der grössten Abweichung $\|(A-B)v\|$ für Einheitsvektoren $v$ +gemessen wird, ist es einigermassen plausibel, dass +die grösse Abweichung zwischen zwei Polynomen $|p(z) - q(z)|$ auf +der Menge $K$ kleine sein muss, wenn $\|p(A)-q(A)\|$ klein +sein soll. +Da die Differenz $p(z)-q(z)$ für beliebige Polynome, die sich nicht +nur um eine Konstante unterscheiden, mit $z$ über alle Grenzen wächst, +muss $K$ beschränkt sein. +Gesucht ist also eine kompakte Menge $K\subset\mathbb{C}$ und eine +Folge $p_n(z)$ von Polynomen, die auf $K$ gleichmässig gegen $f(z)$ +konvergieren. +Die Wahl von $K$ muss sicherstellen, dass für jede gleichmässig +konvergente Folge von Polynomen $p_n(z)$ auch die Matrizenfolge +$p_n(A)$ konvergiert. + +Es wird sich zeigen, dass die Menge $K$ das Spektrum von $A$ ist, +also eine endliche Teilmenge von $\mathbb{C}$. +Jede Funktion kann auf so einer Menge durch Polynome exakt wiedergegeben +werden. +Es gibt insbesondere Folgen von Polynomen, die eingeschränkt +auf das Spektrum gleich sind, also $p_n(z)=p_m(z)$ für alle $z\in K$, +die aber ausserhalb des Spektrums alle verschieden sind. +Als Beispiel kann die Matrix +\[ +N=\begin{pmatrix}0&1\\0&0\end{pmatrix} +\] +herangezogen werden. +Ihr Spektrum ist $\operatorname{Sp}(N)=\{0\}\subset\mathbb{C}$. +Zwei Polynome stimmen genau dann auf $\operatorname{Sp}(N)$ überein, +wenn der konstante Koeffizient gleich ist. +Die Polynome $p(z)=z$ und $q(z)=z^2$ stimmen daher auf dem Spektrum +überein. +Für die Matrizen gilt aber $p(N)=N$ und $q(N)=N^2=0$, die Matrizen +stimmen also nicht überein. +Es braucht also zusätzliche Bedingungen an die Matrix $A$, die +sicherstellen, dass $p(A)=0$ ist, wann immer $p(z)=0$ für +$z\in\operatorname{Sp}(A)$ gilt. + +In diesem Abschnitt sollen diese Fragen untersucht werden. +In Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +wird gezeigt, wie sich Funktionen durch Polynome approximieren +lassen, woraus sich dann Approximationen von $f(A)$ für diagonalisierbare +Matrizen mit reellen Eigenwerten ergeben. + +Der Satz von Stone-Weierstrass, der in +Abschnitt~\ref{buch:subsetion:stone-weierstrass} dargestellt wird, +ist ein sehr allgemeines Approximationsresultat, welches nicht nur +zeigt, dass die Approximation unter sehr natürlichen Voraussetzungen +beliebig genau möglich ist, sondern uns im komplexen Fall auch +weitere Einsicht dafür geben kann, welche Voraussetzungen an eine +komplexe Matrix gestellt werden müssen, damit man damit rechnen kann, +dass die Approximation zu einer konsistenten Definition von $f(A)$ führt. + +% +% Approximation +% +\subsection{Approximation durch Polynome +\label{buch:subsection:approximation-durch-polynome}} +Die der Berechnung von $f(A)$ für eine beleibige stetige Funktion, +die sich nicht als Potenzreihe schreiben lässt, verwendet Approximationen +von Polynomen. +Die numerische Mathematik hat eine grosse Menge von solchen +Approximationsverfahren entwickelt, wovon zwei kurz (ohne Beweise) +vorgestellt werden sollen. + +\subsubsection{Das Legendre-Interpolationspolynom} +Zu vorgegebenen, verschiedenen Zahlen $z_i\in\mathbb{C}$, $0\le i\le n$, +die auch die {\em Stützstellen} genannt werden, +gibt es immer ein Polynom vom Grade $n$, welches in den $z_i$ vorgegebene +Werte $f(z_i)$ annimmt. +Ein solches Polynom lässt sich im Prinzip mit Hilfe eines linearen +Gleichungssystems finden, man kann aber auch direkt eine Lösung +konstruieren. +Dazu bildet man erst die Polynome +\begin{align*} +l(z) &= (z-z_0)(z-z_1)\dots (z-z_n) \qquad\text{und} +\\ +l_i(z) &= (z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n). +\end{align*} +Darin bedeutet der Hut, dass dieser Term weggelassen werden soll. +Für $z\ne z_i$ ist $l_i(z)=l(z)/(z-z_i)$. +Die Polynome +\[ +k_i(z) += +\frac{l_i(z)}{l_i(z_i)} += +\frac{(z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n)}{(z_i-z_0)\dots \widehat{(z_i-z_i)}\dots (z_i-z_n)} +\] +haben die Eigenschaft +$k_i(z_j)=\delta_{ij}$. +Damit lässt sich jetzt ein Polynom +\[ +p(z) = \sum_{j=0}^n f(z_j) \frac{l_j(z)}{l_j(z_j)} +\] +vom Grad $n$ konstruieren, welches die Werte +\[ +p(z_i) += +\sum_{j=0}^n f(z_j) \frac{l_j(z_i)}{l_j(z_j)} += +\sum_{j=0}^n f(z_j) \delta_{ij} += +f_(z_i) +\] +annimmt. +Das Polynom $p(z)$ heisst das {\em Legendre-Interpolationspolynom}. + +Zwar lässt sich also für eine endliche Menge von komplexen Zahlen immer +ein Polynom finden, welches vorgeschriebene Wert in allen diesen Zahlen +annimmt, doch ist die Stabilität für grosse $n$ eher beschränkt. + + +\subsubsection{Gleichmassige Approximation mit Bernstein-Polynomen} +Das Legendre-Interpolationspolynom nimmt in den Stützstellen die +verlangten Werte an, aber ausserhalb der Stützstellen ist nicht +garantiert, dass man eine gute Approximation einer Funktion $f(z)$ +erhält. + +Für die Approximation auf einem reellen Interval $[a,b]$ hat +Sergei Natanowitsch Bernstein ein +Dazu werden zuerst die reellen Bernsteinpolynome vom Grad $n$ +durch +\begin{align*} +B_{i,n}(t) = \binom{n}{i} t^i(1-t)^{n-i}. +\end{align*} +definiert. +Als Approximationspolynom für die auf dem Interval +$[0,1]$ definierte, stetige Funktion $f(t)$ kann man dann +\[ +B_n(f)(t) += +\sum_{i=0}^n B_{i,n}(t) f\biggl(\frac{i}{n}\biggr) +\] +verwenden. +Die Polynome $B_n(f)(t)$ konvergieren gleichmässig auf $[0,1]$ +gegen die Funktion $f(t)$. +Über die Konvergenz ausserhalb des reellen Intervalls wird nichts +ausgesagt. +Die Approximation mit Bernstein-Polynomen ist daher nur sinnvoll, +wenn man weiss, dass die Eigenwerte der Matrix reell sind, was im +wesentlichen auf diagonalisierbare Matrizen führt. + +Für ein anderes Interval $[a,b]$ kann man ein Approximationspolynom +erhalten, indem man die affine Transformation +$s\mapsto (s-a)/(b-a)$ +von $[a,b]$ auf $[0,1]$ +verwendet. + +% +% Der Satz von Stone-Weierstrass +% +\subsection{Der Satz von Stone-Weierstrasss +\label{buch:subsetion:stone-weierstrass}} +Der Satz von Stone-Weierstrass behandelt im Gegensatz zu den in +Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +besprochenen Approximationsmethoden nicht nur Funktionen von +reellen Variablen durch Polynome. +Vielmehr kann das Definitionsgebiet irgend eine abgeschlossene +und beschränkte Teilmenge eines reellen oder komplexen Vektorraumes +sein und die Funktionen können Polynome aber auch viel allgemeinere +Funktionen verwendet werden, wie zum Beispiel die Funktionen +$x\mapsto \cos nx$ und $x\mapsto \sin nx$ definiert auf dem +Intervall $[0,2\pi]$. +In diesem Fall liefert der Satz von Stone-Weierstrass die Aussage, +dass sich jede stetige periodische Funktion gleichmässig durch +trigonometrische Polynome approximieren lässt. + +Die Aussage des Satz von Stone-Weierstrass über reelle Funktionen +lässt sich nicht auf komplexe Funktionen erweitern. +Von besonderem Interesse ist jedoch, dass der Beweis des Satz +zeigt, warum solche Aussagen für komplexe Funktionen nicht mehr +zutreffen. +Im Falle der Approximation von komplexen Funktionen $f(z)$ durch Polynome +zwecks Definition von $f(A)$ werden sich daraus Bedingungen an die +Matrix ableiten lassen, die eine konsistente Definition überhaupt +erst ermöglichen werden. + +\subsubsection{Punkte trennen} +Aus den konstanten Funktionen lassen sich durch algebraische +Operationen nur weitere konstante Funktionen erzeugen. +Die konstanten Funktionen sind also nur dann eine genügend +reichhaltige Menge, wenn die Menge $K$ nur einen einzigen Punkt +enthält. +Damit sich Funktionen approximieren lassen, die in zwei Punkten +verschiedene Werte haben, muss es auch unter den zur Approximation +zur Verfügung stehenden Funktionen solche haben, deren Werte sich +in diesen Punkten unterscheiden. +Diese Bedingung wird in der folgenden Definition formalisiert. + +\begin{definition} +Sei $K$ eine beliebige Menge und $A$ eine Menge von Funktionen +$K\to \mathbb{C}$. +Man sagt, $A$ {\em trennt die Punkte von $K$}, wenn es für jedes Paar +\index{Punkte trennen}% +von Punkten $x,y\in K$ eine Funktion $f\in A$ gibt derart, dass +$f(x)\ne f(y)$. +\end{definition} + +Man kann sich die Funktionen $f$, die gemäss dieser Definition die Punkte +von $K$ trennen, als eine Art Koordinaten der Punkte in $K$ vorstellen. +Die Punkte der Teilmenge $K\subset \mathbb{R}^n$ werden zum Beispiel +von den Koordinatenfunktionen $x\mapsto x_i$ getrennt. +Wir schreiben für die $i$-Koordinate daher auch als Funktion $x_i(x)=x_i$. +Zwei verschiedene Punkte $x,y\in K$ unterscheiden sich in mindestens +einer Koordinate. +Für diese Koordinate sind dann die Werte der zugehörigen +Koordinatenfunktion $x_i=x_i(x)\ne x_i(y)=y_i$ verschieden, die +Funktionen $x_1(x)$ bis $x_n(x)$ trennen also die Punkte. + +\begin{beispiel} +Wir betrachten einen Kreis in der Ebene, also die Menge +\[ +S^1 += +\{(x_1,x_2)\;|\; x_1^2 + x_2^2=1\} +\] +$S^1$ ist eine abgeschlossene und beschränkte Menge in $\mathbb{R}^2$. +Die Funktion $x\mapsto x_1$ trennt die Punkte nicht, denn zu jedem +Punkt $(x_1,x_2)\in S^2$ gibt es den an der ersten Achse +gespiegelten Punkt $\sigma(x)=(x_1,-x_2)$, dessen erste Koordinate +den gleichen Wert hat. +Ebenso trennt die Koordinatenfunktion $x\mapsto x_2$ die Punkte nicht. +Die Menge $A=\{ x_1(x), x_2(x)\}$ bestehend aus den beiden +Koordinatenfunktionen trennt dagegen die Punkte von $S^1$, da die Punkte +sich immer in mindestens einem Punkt unterscheiden. + +Man könnte auch versuchen, den Kreis in Polarkoordinaten zu beschreiben. +Die Funktion $\varphi(x)$, die jedem Punkt $x\in S^1$ den Polarwinkel +zuordnet, trennt sicher die Punkte des Kreises. +Zwei verschiedene Punkte auf dem Kreis haben verschieden Polarwinkel. +Die Menge $\{\varphi\}$ trennt also die Punkte von $S^1$. +Allerdings ist die Funktion nicht stetig, was zwar der Definition +nicht widerspricht aber ein Hindernis für spätere Anwendungen ist. +\end{beispiel} + + +\subsubsection{Der Satz von Stone-Weierstrass für reelle Funktionen} +Die Beispiele von Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +haben bezeigt, dass sich reellwertige Funktionen einer reellen +Variable durch Polynome beliebig genau approximieren lassen. +Es wurde sogar eine Methode vorgestellt, die eine auf einem Intervall +gleichmässig konvergente Polynomefolge produziert. +Die Variable $x\in[a,b]$ trennt natürlich die Punkte, die Algebra der +Polynome in der Variablen $x$ enthält also sicher Funktionen, die in +verschiedenen Punkten des Intervalls auch verschiedene Werte annehmen. +Nicht ganz so selbstverständlich ist aber, dass sich daraus bereits +ergibt, dass jede beliebige Funktion sich als Polynome in $x$ +approximieren lässt. +Dies ist der Inhalt des folgenden Satzes von Stone-Weierstrass. + +\begin{figure} +\centering +\includegraphics{chapters/40-eigenwerte/images/wurzel.pdf} +\caption{Konstruktion einer monoton wachsenden Approximationsfolge für +$\sqrt{a}$ +\label{buch:eigenwerte:fig:wurzelverfahren}} +\end{figure} + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/wurzelapprox.pdf} +\caption{Monoton wachsende Approximation der Funktion $t\mapsto\sqrt{t}$ mit +Polynomen $u_n(t)$ nach +\eqref{buch:eigenwerte:eqn:wurzelapproximation} +(links) und der Fehler der Approximation +(rechts). +\label{buch:eigenwerte:fig:wurzelapproximation}} +\end{figure} + +\begin{satz}[Stone-Weierstrass] +\label{buch:satz:stone-weierstrass} +Enthält eine $\mathbb{R}$-Algebra $A$ von stetigen, rellen Funktionen +auf einer kompakten Menge $K$ die konstanten Funktionen und trennt sie +Punkte, d.~h.~für zwei verschiedene Punkte $x,y\in K$ gibt es +immer eine Funktion $f\in A$ mit $f(x)\ne f(y)$, dann ist jede stetige, +reelle Funktion auf $K$ gleichmässig approximierbar durch Funktionen +in $A$. +\end{satz} + +Für den Beweis des Satzes wird ein Hilfsresultat benötigt, welches wir +zunächst ableiten. +Es besagt, dass sich die Wurzelfunktion $t\mapsto\sqrt{t}$ +auf dem Interval $[0,1]$ gleichmässig +von unten durch Polynome approximieren lässt, die in +Abbildung~\ref{buch:eigenwerte:fig:wurzelapproximation} dargestellt +sind. + +\begin{satz} +Die rekursiv definierte Folge von Polynomen +\begin{equation} +u_{n+1}(t) += +u_n(t) + \frac12(t-u_n(t)^2), +\qquad +u_0(t)=0 +\label{buch:eigenwerte:eqn:wurzelapproximation} +\end{equation} +ist monoton wachsend und approximiert die Wurzelfunktion $t\mapsto\sqrt{t}$ +gleichmässig auf dem Intervall $[0,1]$. +\end{satz} + +\begin{figure} +\centering +\includegraphics{chapters/40-eigenwerte/images/minmax.pdf} +\caption{Graphische Erklärung der +Identitäten~\eqref{buch:eigenwerte:eqn:minmax} für +$\max(f(x),g(x))$ und $\min(f(x),g(x))$. +Die purpurrote Kurve stellt den Mittelwert von $f(x)$ und $g(x)$ dar, +die vertikalen grünen Linien haben die Länge der Differenz $|f(x)-g(x)|$. +Das Maximum erhält man, indem man den halben Betrag der Differenz zum +Mittelwert hinzuaddiert, das Minimum erhält man durch Subtraktion +der selben Grösse. +\label{buch:eigenwerte:fig:minmax}} +\end{figure} + +\begin{proof}[Beweis] +Wer konstruieren zunächst das in +Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} +visualierte Verfahren, mit dem für jede Zahl $a\in[0,1]$ +die Wurzel $\sqrt{a}$ berechnet werden kann. +Sei $u < \sqrt{a}$ eine Approximation der Wurzel. +Die Approximation ist der exakte Wert der Lösung, wenn $a-u^2=0$. +In jedem anderen Fall muss $u$ um einen Betrag $d$ vergrössert werden. +Natürlich muss immer noch $u+d<\sqrt{a}$ sein. +Man kann die maximal zulässige Korrektur $d$ geometrisch abschätzen, +wie dies in Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} +skizziert ist. +Die maximale Steigung des Graphen der Funktion $u\mapsto u^2$ ist $2$, +daher darf man $u$ maximal um die Hälfte der Differenz $a-u^2$ (grün) +vergrössern, also $d=\frac12(a-u^2)$. +Die Rekursionsformel +\[ +u_{n+1} = u_n + d = u_n + \frac12(a-u_n^2) +\] +mit dem Startwert $u_0=0$ liefert daher eine +Folge, die gegen $\sqrt{a}$ konvergiert. +\end{proof} + +\begin{proof}[Beweis des Satzes von Stone-Weierstrass] +Da $A$ eine Algebra ist, ist mit jeder Funktion $f\in A$ für jedes Polynome +$p\in\mathbb{R}[X]$ auch $p(f)$ eine Funktion in $A$. +\begin{enumerate} +\item Schritt: Für jede Funktion $f\in A$ lässt sich auch $|f|$ durch +Funktionen in $A$ beliebig genau durch eine monoton wachsende Folge +von Funktionen approximieren. + +Da $A$ eine Algebra ist, ist $f^2\in A$. +Sei ausserdem $m^2=\sup \{f(x)^2\;|\;x\in K\}$, so dass $f^2/m^2$ eine Funktion +mit Werten im Intervall $[0,1]$ ist. +Die Funktionen $f_n(x)=mu_n(f(x)^2/m^2)$ sind ebenfalls in $A$ und +approximieren gleichmässig $\sqrt{f(x)^2}=|f(x)|$. +\item Schritt: Für zwei Funktionen $f,g\in A$ gibt es eine monoton wachsende +Folge, die $\max(f,g)$ gleichmässig beliebig genau approximiert +und eine monoton fallende Folge, die $\min(f,g)$ gleichmässig beliebig +genau approximiert. + + +Diese Folgen können aus der Approximationsfolge für den Betrag einer +Funktion und den Identitäten +\begin{equation} +\begin{aligned} +\max(f,g) &= \frac12(f+g+|f-g|) \\ +\min(f,g) &= \frac12(f+g-|f-g|) +\end{aligned} +\label{buch:eigenwerte:eqn:minmax} +\end{equation} +gefunden werden, die in Abbildung~\ref{buch:eigenwerte:fig:minmax} +graphisch erklärt werden. +\item Schritt: Zu zwei beliebigen Punkten $x,y\in K$ und Werten +$\alpha,\beta\in\mathbb{R}$ gibt es immer eine Funktion in $A$, +die in den Punkten $x,y$ die vorgegebenen Werte $\alpha$ bzw.~$\beta$ +annimmt. +Da $A$ die Punkte trennt, gibt es eine Funktion $f_0$ mit $f_0(x)\ne f_0(y)$. +Dann ist die Funktion +\[ +f(t) += +\beta + \frac{f_0(t)-f_0(y)}{f_0(x)-f_0(y)}(\alpha-\beta) +\] +wohldefiniert und nimmt die verlangten Werte an. +\item Schritt: Zu jeder stetigen Funktion $f\colon K\to\mathbb{R}$, jedem +Punkt $x\in K$ und jedem $\varepsilon>0$ gibt es eine Funktion $g\in A$ derart, +dass $g(x)=f(x)$ und $g(y) \le f(y)+\varepsilon$ für alle $y\in K$. + +Zu jedem $z\in K$ gibt es eine Funktion in $A$ mit +$h_z(x)=f(x)$ und $h_z(z) \le f(z)+\frac12\varepsilon$. +Wegen der Stetigkeit von $h_z$ gibt es eine Umgebung $V_z$ von $z$, in der +immer noch gilt $h_z(y)\le f(y)+\varepsilon$ für $y\in V_z$. +Wegen der Kompaktheit von $K$ kann man endlich viele Punkte $z_i$ wählen +derart, dass die $V_{z_i}$ immer noch $K$ überdecken. +Dann erfüllt die Funktion +\( +g(z) = \inf h_{z_i} +\) +die Bedingungen $g(x) = f(x)$ und für $z\in V_{z_i}$ +\[ +g(z) = \inf_{j} h_{z_j}(z) \le h_{z_i}(z) \le f(z)+\varepsilon. +\] +Ausserdem ist $g(z)$ nach dem zweiten Schritt beliebig genau durch +Funktionen in $A$ approximierbar. +\item Schritt: Jede stetige Funktion $f\colon K\to\mathbb{R}$ kann +beliebig genau durch Funktionen in $A$ approximiert werden. +Sei $\varepsilon > 0$. + +Nach dem vierten Schritt gibt es für jedes $y\in K$ eine Funktion $g_y$ +derart, dass $g_y(y)=f(y)$ und $g_y(x) \le f(x) + \varepsilon$ für +$x\in K$. +Da $g_y$ stetig ist, gilt ausserdem $g_y(x) \ge f(x) -\varepsilon$ in +einer Umgebung $U_y$ von $y$. +Da $K$ kompakt ist, kann man endlich viele $y_i$ derart, dass die $U_{y_i}$ +immer noch ganz $K$ überdecken. +Die Funktion $g=\sup g_{y_i}$ erfüllt dann überall $g(x) \le f(x)+\varepsilon$, +weil jede der Funktionen $g_y$ diese Ungleichung erfüllt. +Ausserdem gilt für $x\in V_{x_j}$ +\[ +g(x) = \sup_i g_{x_i}(x) \ge g_{x_j}(x) \ge f(x)-\varepsilon. +\] +Somit ist +\[ +|f(x)-g(x)| \le \varepsilon. +\] +Damit ist $f(x)$ beliebig nahe an der Funktion $g(x)$, die sich +beliebig genau durch Funktionen aus $A$ approximieren lässt. +\qedhere +\end{enumerate} +\end{proof} + +Im ersten Schritt des Beweises ist ganz entscheidend, dass man die +Betragsfunktion konstruieren kann. +Daraus leiten sich dann alle folgenden Konstruktionen ab. + +\subsubsection{Anwendung auf symmetrische und hermitesche Matrizen} +Für symmetrische und hermitesche Matrizen $A$ ist bekannt, dass die +Eigenwerte reell sind, also das Spektrum $\operatorname{A}\subset\mathbb{R}$ +ist. +Für eine Funktion $\mathbb{R}\to \mathbb{R}$ lässt sich nach dem +Satz~\ref{buch:satz:stone-weierstrass} immer eine Folge $p_n$ von +approximierenden Polynomen in $x$ finden, die auf $\operatorname{Sp}(A)$ +gleichmässig konvergiert. +Die Matrix $f(A)$ kann dann definiert werden also der Grenzwert +\[ +f(A) = \lim_{n\to\infty} p_n(A). +\] +Da diese Matrizen auch diagonalisierbar sind, kann man eine Basis +aus Eigenvektoren verwenden. +Die Wirkung von $p_n(A)$ auf einem Eigenvektor $v$ zum Eigenwert $\lambda$ +ist +\[ +p_n(A)v += +(a_kA^k + a_{k-1}A^{k-1}+\dots +a_2A^2+a_1A+a_0I)v += +(a_k\lambda^k + a_{k-1}\lambda^{k-1}+\dots + a_2\lambda^2 + a_1\lambda + a_0)v += +p_n(\lambda)v. +\] +Im Grenzwert wirkt $f(A)$ daher durch Multiplikation eines Eigenvektors +mit $f(\lambda)$, die Matrix $f(A)$ hat in der genannten Basis die +Diagonalform +\[ +A=\begin{pmatrix} +\lambda_1& & & \\ + &\lambda_2& & \\ + & &\ddots& \\ + & & &\lambda_n +\end{pmatrix} +\qquad\Rightarrow\qquad +f(A)=\begin{pmatrix} +f(\lambda_1)& & & \\ + &f(\lambda_2)& & \\ + & &\ddots& \\ + & & &f(\lambda_n) +\end{pmatrix}. +\] + +\begin{satz} +\label{buch:eigenwerte:satz:spektralsatz} +Ist $A$ symmetrische oder selbstadjungiert Matrix und $f$ eine Funktion +auf dem Spektrum $\operatorname{Sp}(A)$ von $A$. +Dann gibt es genau eine Matrix $f(A)$, die Grenzwert jeder beliebigen +Folge $p_n(A)$ für Polynomfolgen, die $\operatorname{Sp}(A)$ gleichmässig +gegen $f$ konvergieren. +\end{satz} + +\subsubsection{Unmöglichkeit der Approximation von $z\mapsto \overline{z}$ +in $\mathbb{C}[z]$} +Der Satz~\ref{buch:satz:stone-weierstrass} von Stone-Weierstrass für +reelle Funktionen gilt nicht für komplexe Funktionen. +In diesem Abschnitt zeigen wir, dass sich die Funktion $z\mapsto\overline{z}$ +auf der Einheitskreisscheibe $K=\{z\in\mathbb{C}\;|\; |z|\le 1\}$ nicht +gleichmässig durch Polynome $p(z)$ mit komplexen Koeffizienten approximieren +lässt. + +Wäre eine solche Approximation möglich, dann könnte man $\overline{z}$ +auch durch eine Potenzreihe +\[ +\overline{z} += +\sum_{k=0}^\infty a_kz^k +\] +darstellen. +Das Wegintegral beider Seiten über den Pfad $\gamma(t) = e^{it}$ +in der komplexen Ebene ist +\begin{align*} +\oint_\gamma z^k\,dz +&= +\int_0^{2\pi} e^{ikt} ie^{it}\,dt += +i\int_0^{2\pi} e^{it(k+1)}\,dt += +i\biggl[ \frac{1}{i(k+1)} e^{it(k+1)}\biggr]_0^{2\pi} += +0 +\\ +\oint_\gamma +\sum_{k=0}^\infty a_kz^k +\,dz +&= +\sum_{k=0}^\infty a_k \oint_\gamma z^k\,dz += +\sum_{k=0}^\infty a_k\cdot 0 += +0 +\\ +\oint_\gamma \overline{z}\,dz +&= +\int_0^{2\pi} e^{it} ie^{it}\,dt += +i\int_0^{2\pi} \,dt = 2\pi i, +\end{align*} +dabei wurde $\overline{\gamma}(t)=e^{-it}$ verwendet. +Insbesondere widersprechen sich die beiden Integrale. +Die ursprüngliche Annahmen, $\overline{z}$ lasse sich durch Polynome +gleichmässig approximieren, muss daher verworfen werden. + +\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen} +Der Satz von Stone-Weierstrass kann nach dem vorangegangene Abschnitt +also nicht gelten. +Um den Beweis des Satzes~\ref{buch:satz:stone-weierstrass} +auf komplexe Zahlen zu übertragen, muss im ersten Schritt ein Weg +gefunden werden, den Betrag einer Funktion zu approximieren. + +Im reellen Fall geschah dies, indem zunächst eine Polynom-Approximation +für die Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer +Funktion angewendet wurde. +Der Betrag einer komplexen Zahl $z$ ist aber nicht allein aus $z$ +berechenbar, man braucht in irgend einer Form Zugang zu Real- +und Imaginärteil. +Zum Beispiel kann man Real- und Imaginärteil als +$\Re z= \frac12(z+\overline{z})$ und $\Im z = \frac12(z-\overline{z})$ +bestimmen. +Kenntnis von Real- und Imaginärteil ist als gleichbedeutend mit +der Kenntnis der komplex Konjugierten $\overline{z}$. +Der Betrag lässt sich daraus als $|z|^2 = z\overline{z}$ finden. +Beide Beispiele zeigen, dass man den im Beweis benötigten Betrag +nur dann bestimmen kann, wenn mit jeder Funktion aus $A$ auch die +komplex konjugierte Funktion zur Verfügung steht. + +\begin{satz}[Stone-Weierstrass] +Enthält eine $\mathbb{C}$-Algebra $A$ von stetigen, komplexwertigen +Funktionen auf einer kompakten Menge $K$ die konstanten Funktionen, +trennt sie Punkte und ist ausserdem mit jeder Funktion $f\in A$ auch +die komplex konjugiert Funktion $\overline{f}\in A$, +dann lässt sich jede stetige, komplexwertige Funktion +auf $K$ gleichmässig durch Funktionen aus $A$ approximieren. +\end{satz} + +Mit Hilfe der konjugiert komplexen Funktion lässt sich immer eine +Approximation für die Betragsfunktion finden, so dass sich der +Beweis des reellen Satzes von Stone-Weierstrass übertragen lässt. + +% +% Normale Matrizen +% +\subsection{Normale Matrizen +\label{buch:subsection:normale-matrizen}} +Aus dem Satz von Stone-Weierstrass für komplexe Matrizen kann man +jetzt einen Spektralsätze für eine etwas grössere Klasse von Matrizen +ableiten, als im Satz~\ref{buch:eigenwerte:satz:spektralsatz} +möglich war. +Der Satz besagt, dass für eine beliebige Funktion $f$ auf dem Spektrum +$\operatorname{Sp}(A)$ eine Folge von auf $\operatorname{Sp}(A)$ +gleichmässig konvergenten, approximierenden Polynomen +$p_n(z,\overline{z})$ gefunden werden kann. +Doch wie soll jetzt aus dieser Polynomfolge ein Kandidat von $f(A)$ +gefunden werden? + +Zunächst stellt sich die Frage, was für die Variable $\overline{z}$ +eingesetzt werden soll. +$1\times 1$-Matrizen sind notwendigerweise diagonal, also muss +man in diesem Fall die Matrix $\overline{A}$ für die Variable +$\overline{z}$ eingesetzt werden. +Dies erklärt aber noch nicht, wie für $n\times n$-Matrizen +vorzugehen ist, wenn $n>1$ ist. + +Die Notwendigkeit, die Variable $\overline{z}$ hinzuzunehmen +ergab sich aus der Anforderung, dass der Betrag aus $|z|^2=z\overline{z}$ +konstruiert werden können muss. +Insbesondere muss beim Einsetzen eine Matrix entstehen, die nur +positive Eigenwerte hat. +Für eine beliebige komplexe $n\times n$-Matrix $A$ ist aber +$A\overline{A}$ nicht notwendigerweise positiv, wie das Beispiel +\[ +A += +\begin{pmatrix}0&i\\i&0\end{pmatrix} +\qquad +\Rightarrow +\qquad +A\overline{A} += +\begin{pmatrix}0&i\\-i&0\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} += +\begin{pmatrix} +-1&0\\ + 0&-1 +\end{pmatrix} += +-I +\] +zeigt. +Eine positive Matrix entsteht dagegen immer, wenn man statt +$A$ die Adjungierte $A^*=\overline{A}^t$ verwendet. + +Die Substitution von $A$ für $z$ und $A^*$ für $\overline{z}$ +in einem Polynom $p(z,\overline{z})$ ist nicht unbedingt eindeutig. +Schon das Polynom $p(z,\overline{z})=z\overline{z}$ kann man auch +als $\overline{z}z$ schreiben. +Damit die Substition eindeutig wird, muss man also fordern, dass +$AA^* = A^*A$ ist. + +\begin{definition} +Eine Matrix $A\in M_n(\mathbb{C})$ heisst {\em normal}, wenn $AA^*=A^*A$ gilt. +\end{definition} + +\subsubsection{Beispiele normaler Matrizen} + +\begin{enumerate} +\item +Hermitesche und Antihermitesche Matrizen sind normal, denn solche +Matrizen erfüllen $A^*=\pm A$ und damit +\( +AA^* = \pm A^2 = A^*A. +\) +\item +Symmetrische und antisymmetrische Matrizen sind normal, +denn aus $A=A^t$ folgt $A^*=\overline{A}^t$ und damit +\begin{align*} +AA^* &= A\overline{A}^t = +\\ +A^*A &= +\end{align*} +\item +Unitäre Matrizen $U$ sind normal, das $UU^*=I=U^*U$ gilt. +\item +Orthogonale Matrizen sind normal wegen $O(n) = U(n) \cap M_n(\mathbb{R})$. +\end{enumerate} + +Jede Matrix lässt sich durch Wahl einer geeigneten Basis in Jordansche +Normalform bringen. +Allerdings sind Jordan-Blöcke keine normalen Matrizen, wie der folgende +Satz zeigt. + +\begin{satz} +Eine Dreiecksmatrix ist genau dann normal, wenn sie diagonal ist. +\end{satz} + +\begin{proof}[Beweis] +Sei $A$ eine obere Dreiecksmatrix, das Argument für eine untere Dreiecksmatrix +funktioniert gleich. +Wir berechnen ein Diagonalelement für beide Produkte $AA^*$ und $A^*A$. +Dazu brauchen wir die Matrixelemente von $A$ und $A^*$. +Bezeichnen wir die Matrixelemente von $A$ mit $a_{ij}$, dann hat $A^*$ +die Matrixelemente $(A^*)_{ij}=\overline{a}_{ji}$. +Damit kann man die Diagonalelemente der Produkte als +\begin{align*} +(AA^*)_{ii} +&= +\sum_{j=1}^n a_{ij}\overline{a}_{ij} += +\sum_{j=i}^n |a_{ij}|^2 +\\ +(A^*A)_{ii} +&= +\sum_{j=1}^n \overline{a}_{ji}a_{ji} += +\sum_{j=1}^i |a_{ji}|^2 +\end{align*} +ausrechnen. +Der obere Ausdruck ist die quadrierte Länge der Zeile $i$ der Matrix $A$, +der untere ist die quadrierte Länge der Spalte $i$. +Da die Matrix eine obere Dreiecksmatrix ist, hat die erste Spalte höchstens +ein einziges von $0$ verschiedenes Element. +Daher kann auch die erste Zeile höchstens dieses eine Elemente haben. +Die Matrix hat daher Blockstruktur mit einem $1\times 1$-Block in der +linken obere Ecke und einem $n-1$-dimensionalen Block für den Rest. +Durch Wiederholen des Arguments für den $(n-1)\times (n-1)$-Block +kann man so schrittweise schliessen, dass die Matrix $A$ diagonal sein muss. +\end{proof} + + +\begin{satz} +Sind $A$ und $B$ normale Matrizen und $AB^*=B^*A$, dann sind auch $A+B$ +und $AB$ normal. +\end{satz} + +\begin{proof}[Beweis] +Zunächst folgt aus $AB^*=B^*A$ auch +$A^*B = (B^*A)^* = (AB^*)^* = BA^*$. +Der Beweis erfolgt durch Nachrechnen: +\begin{align*} +(A+B)(A+B)^* +&= +AA^* + AB^* + BA^*+BB^* +\\ +(A+B)^*(A+B) +&= +A^*A + A^*B + B^*A + B^*B +\end{align*} +Die ersten und letzten Terme auf der rechten Seite stimmen überein, weil +$A$ und $B$ normal sind. +Die gemischten Terme stimmen überein wegen der Vertauschbarkeit von +$A$ und $B^*$. + +Für das Produkt rechnet man +\begin{align*} +(AB)(AB)^* +&= ABB^*A^* = AB^*BA^* += B^*AA^*B += +B^*A^*AB += +(AB)^*(AB), +\end{align*} +was zeigt, dass auch $AB$ normal ist. +\end{proof} + +\subsubsection{Äquivalente Bedingungen} +Es gibt eine grosse Zahl äquivalenter Eigenschaften für normale Matrizen. +Die folgenden Eigenschaften sind äquivalent: +\begin{enumerate} +\item +Die Matrix $A$ ist mit einer unitären Matrix diagonalisierbar +\item +Es gibt eine orthonormale Basis von Eigenvektoren von $A$ für $\mathbb{C}^n$ +\item +Für jeden Vektor $x\in\mathbb{C}^n$ gilt $\|Ax\|=\|A^*x\|$ +\item +Die Forbenius-Norm der Matrix $A$ kann mit den Eigenwerten $\lambda_i$ +von $A$ berechnet werden: +$\operatorname{Spur}(A^*A) = \sum_{i=1}^n |\lambda_i|^2$ +\item +Der hermitesche Teil $\frac12(A+A^*)$ und der antihermitesche Teil +$\frac12(A-A^*)$ von $A$ vertauschen. +\item +$A^*$ ist ein Polynom vom Grad $n-1$ in $A$. +\item +Es gibt eine unitäre Matrix $U$ derart, dass $A^*=AU$ +\item +Es gibt eine Polarzerlegugn $A=UP$ mit einer unitären Matrix $U$ und +einer postiv semidefiniten Matrix $P$, die untereinander vertauschen. +\item +Es gibt eine Matrix $N$ mit verschiedenen Eigenwerten, mit denen $A$ +vertauscht. +\item +Wenn $A$ die (absteigend geordneten) singulärwerte $\sigma_i$ und +die absteigend geordneten Eigenwerte $\lambda_i$ hat, +dann it $\sigma_i=|\lambda_i|$. +\end{enumerate} + + + + diff --git a/buch/chapters/60-gruppen/chapter.tex b/buch/chapters/60-gruppen/chapter.tex index 3b1abc1..aa5469f 100644 --- a/buch/chapters/60-gruppen/chapter.tex +++ b/buch/chapters/60-gruppen/chapter.tex @@ -1,47 +1,47 @@ -% -% chapter.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\chapter{Matrizengruppen -\label{buch:chapter:matrizengruppen}} -\lhead{Matrizengruppen} -\rhead{} -Matrizen können dazu verwendet werden, Symmetrien von geometrischen oder -physikalischen Systemen zu beschreiben. -Neben diskreten Symmetrien wie zum Beispiel Spiegelungen gehören dazu -auch kontinuierliche Symmetrien wie Translationen oder Invarianz einer -phyisikalischen Grösse über die Zeit. -Solche Symmetrien müssen durch Matrizen beschrieben werden können, -die auf stetige oder sogar differenzierbare Art von der Zeit abhängen. -Die Menge der Matrizen, die zur Beschreibung solcher Symmetrien benutzt -werden, muss also eine zusätzliche Struktur haben, die ermöglicht, -sinnvoll über Stetigkeit und Differenzierbarkeit bei Matrizen -zu sprechen. - -Die Menge der Matrizen bilden zunächst eine Gruppe, -die zusätzliche differenziarbare Struktur macht daraus -eine sogenannte Lie-Gruppe. -Die Ableitungen nach einem Parameter liegen in der sogenannten -Lie-Algebra, einer Matrizen-Algebra mit dem antisymmetrischen -Lie-Klammer-Produkt $[A,B]=AB-BA$, auch Kommutator genannt. -Lie-Gruppe und Lie-Algebra sind eng miteinander verknüpft, -so eng, dass sich die meisten Eigenschaften der Gruppe aus den Eigenschaften -der Lie-Gruppe aus der Lie-Algebra ableiten lassen. -Die Verbindung wird hergestellt durch die Exponentialabbildung. -Ziel dieses Kapitels ist, die Grundzüge dieses interessanten -Zusammenhangs darzustellen. - -\input{chapters/60-gruppen/symmetrien.tex} -\input{chapters/60-gruppen/lie-gruppen.tex} -\input{chapters/60-gruppen/lie-algebren.tex} -%\input{chapters/60-gruppen/homogen.tex} - -\section*{Übungsaufgaben} -\rhead{Übungsaufgaben} -\aufgabetoplevel{chapters/60-gruppen/uebungsaufgaben} -\begin{uebungsaufgaben} -\uebungsaufgabe{6002} -\uebungsaufgabe{6001} -\end{uebungsaufgaben} - +% +% chapter.tex +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\chapter{Matrizengruppen +\label{buch:chapter:matrizengruppen}} +\lhead{Matrizengruppen} +\rhead{} +Matrizen können dazu verwendet werden, Symmetrien von geometrischen oder +physikalischen Systemen zu beschreiben. +Neben diskreten Symmetrien wie zum Beispiel Spiegelungen gehören dazu +auch kontinuierliche Symmetrien wie Translationen oder Invarianz einer +phyisikalischen Grösse über die Zeit. +Solche Symmetrien müssen durch Matrizen beschrieben werden können, +die auf stetige oder sogar differenzierbare Art von der Zeit abhängen. +Die Menge der Matrizen, die zur Beschreibung solcher Symmetrien benutzt +werden, muss also eine zusätzliche Struktur haben, die ermöglicht, +sinnvoll über Stetigkeit und Differenzierbarkeit bei Matrizen +zu sprechen. + +Die Menge der Matrizen bilden zunächst eine Gruppe, +die zusätzliche differenziarbare Struktur macht daraus +eine sogenannte Lie-Gruppe. +Die Ableitungen nach einem Parameter liegen in der sogenannten +Lie-Algebra, einer Matrizen-Algebra mit dem antisymmetrischen +Lie-Klammer-Produkt $[A,B]=AB-BA$, auch Kommutator genannt. +Lie-Gruppe und Lie-Algebra sind eng miteinander verknüpft, +so eng, dass sich die meisten Eigenschaften der Gruppe aus den Eigenschaften +der Lie-Gruppe aus der Lie-Algebra ableiten lassen. +Die Verbindung wird hergestellt durch die Exponentialabbildung. +Ziel dieses Kapitels ist, die Grundzüge dieses interessanten +Zusammenhangs darzustellen. + +\input{chapters/60-gruppen/symmetrien.tex} +\input{chapters/60-gruppen/lie-gruppen.tex} +\input{chapters/60-gruppen/lie-algebren.tex} +%\input{chapters/60-gruppen/homogen.tex} + +\section*{Übungsaufgaben} +\rhead{Übungsaufgaben} +\aufgabetoplevel{chapters/60-gruppen/uebungsaufgaben} +\begin{uebungsaufgaben} +\uebungsaufgabe{6002} +\uebungsaufgabe{6001} +\end{uebungsaufgaben} + diff --git a/buch/chapters/60-gruppen/images/Makefile b/buch/chapters/60-gruppen/images/Makefile index 3ed39e5..8cd824f 100644 --- a/buch/chapters/60-gruppen/images/Makefile +++ b/buch/chapters/60-gruppen/images/Makefile @@ -1,25 +1,25 @@ -# -# Makefile -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -all: phasenraum.pdf kartenkreis.pdf karten.pdf sl2.pdf scherungen.pdf - -phasenraum.pdf: phasenraum.tex - pdflatex phasenraum.tex - -kartenkreis.pdf: kartenkreis.tex - pdflatex kartenkreis.tex - -torus.png: torus.pov - povray +A0.1 -W1920 -H1080 -Otorus.png torus.pov - -karten.pdf: karten.tex torus.png - pdflatex karten.tex - -sl2.pdf: sl2.tex - pdflatex sl2.tex - -scherungen.pdf: scherungen.tex - pdflatex scherungen.tex - +# +# Makefile +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: phasenraum.pdf kartenkreis.pdf karten.pdf sl2.pdf scherungen.pdf + +phasenraum.pdf: phasenraum.tex + pdflatex phasenraum.tex + +kartenkreis.pdf: kartenkreis.tex + pdflatex kartenkreis.tex + +torus.png: torus.pov + povray +A0.1 -W1920 -H1080 -Otorus.png torus.pov + +karten.pdf: karten.tex torus.png + pdflatex karten.tex + +sl2.pdf: sl2.tex + pdflatex sl2.tex + +scherungen.pdf: scherungen.tex + pdflatex scherungen.tex + diff --git a/buch/chapters/60-gruppen/images/karten.tex b/buch/chapters/60-gruppen/images/karten.tex index c8eb4a3..67c8d70 100644 --- a/buch/chapters/60-gruppen/images/karten.tex +++ b/buch/chapters/60-gruppen/images/karten.tex @@ -1,112 +1,112 @@ -% -% karten.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\node at (0,0) {\includegraphics[width=10cm]{torus.png}}; - -\def\s{3} - -\node at (-3.5,-0.4) {$U_\alpha$}; -\node at (2.0,-0.4) {$U_\beta$}; - -\draw[->] (-2,-2.2) -- (-3,-4.3); -\node at (-2.5,-3.25) [left] {$\varphi_\alpha$}; - -\draw[->] (1.4,-1.7) -- (3,-4.3); -\node at (2.5,-3.25) [right] {$\varphi_\beta$}; - -\begin{scope}[xshift=-4.5cm,yshift=-8cm] - \begin{scope} - \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - \begin{scope}[xshift=1.8cm,yshift=0.6cm,rotate=30] - \fill[color=gray!20] - (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - \foreach \x in {0,0.2,...,1}{ - \draw[color=darkgreen] - ({\x*\s},{-0.2*\s}) - -- - ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=orange] - (0,{\y*\s}) - -- - ({1*\s},{\y*\s}); - } - \end{scope} - \end{scope} - - \foreach \x in {0,0.2,...,1}{ - \draw[color=blue,line width=1.4pt] - ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=red,line width=1.4pt] - (0,{\y*\s}) -- ({1*\s},{\y*\s}); - } - - \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; - \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; - - \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; - -\end{scope} - -\begin{scope}[xshift=1.5cm,yshift=-8cm] - \begin{scope} - \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - % x = - [ (sqrt(3)/2)*0.6+(1/2)*0.2 ] = -0.6196 - % y = - [ (-1/2)*0.6 + (sqrt(3)/2)*0.2 ] = - \begin{scope}[xshift=-1.8588cm,yshift=0.3804cm,rotate=-30] - \fill[color=gray!20] - (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - \foreach \x in {0,0.2,...,1}{ - \draw[color=blue] - ({\x*\s},{-0.2*\s}) - -- - ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=red] - (0,{\y*\s}) - -- - ({1*\s},{\y*\s}); - } - \end{scope} - \end{scope} - - \foreach \x in {0,0.2,...,1}{ - \draw[color=darkgreen,line width=1.4pt] - ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=orange,line width=1.4pt] (0,{\y*\s}) -- ({1*\s},{\y*\s}); - } - \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; - \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; - \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; -\end{scope} - -\draw[<-,color=white,opacity=0.8,line width=5pt] (2.5,-6.5) arc (55:100:6.5); -\draw[<-,shorten >= 0.1cm,shorten <= 0.3cm] (2.5,-6.5) arc (55:100:6.5); - -\node at (0,-5.9) - {$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}$}; - -\end{tikzpicture} -\end{document} - +% +% karten.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\node at (0,0) {\includegraphics[width=10cm]{torus.png}}; + +\def\s{3} + +\node at (-3.5,-0.4) {$U_\alpha$}; +\node at (2.0,-0.4) {$U_\beta$}; + +\draw[->] (-2,-2.2) -- (-3,-4.3); +\node at (-2.5,-3.25) [left] {$\varphi_\alpha$}; + +\draw[->] (1.4,-1.7) -- (3,-4.3); +\node at (2.5,-3.25) [right] {$\varphi_\beta$}; + +\begin{scope}[xshift=-4.5cm,yshift=-8cm] + \begin{scope} + \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \begin{scope}[xshift=1.8cm,yshift=0.6cm,rotate=30] + \fill[color=gray!20] + (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \foreach \x in {0,0.2,...,1}{ + \draw[color=darkgreen] + ({\x*\s},{-0.2*\s}) + -- + ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=orange] + (0,{\y*\s}) + -- + ({1*\s},{\y*\s}); + } + \end{scope} + \end{scope} + + \foreach \x in {0,0.2,...,1}{ + \draw[color=blue,line width=1.4pt] + ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=red,line width=1.4pt] + (0,{\y*\s}) -- ({1*\s},{\y*\s}); + } + + \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; + \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; + + \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; + +\end{scope} + +\begin{scope}[xshift=1.5cm,yshift=-8cm] + \begin{scope} + \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + % x = - [ (sqrt(3)/2)*0.6+(1/2)*0.2 ] = -0.6196 + % y = - [ (-1/2)*0.6 + (sqrt(3)/2)*0.2 ] = + \begin{scope}[xshift=-1.8588cm,yshift=0.3804cm,rotate=-30] + \fill[color=gray!20] + (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \foreach \x in {0,0.2,...,1}{ + \draw[color=blue] + ({\x*\s},{-0.2*\s}) + -- + ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=red] + (0,{\y*\s}) + -- + ({1*\s},{\y*\s}); + } + \end{scope} + \end{scope} + + \foreach \x in {0,0.2,...,1}{ + \draw[color=darkgreen,line width=1.4pt] + ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=orange,line width=1.4pt] (0,{\y*\s}) -- ({1*\s},{\y*\s}); + } + \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; + \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; + \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; +\end{scope} + +\draw[<-,color=white,opacity=0.8,line width=5pt] (2.5,-6.5) arc (55:100:6.5); +\draw[<-,shorten >= 0.1cm,shorten <= 0.3cm] (2.5,-6.5) arc (55:100:6.5); + +\node at (0,-5.9) + {$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/kartenkreis.tex b/buch/chapters/60-gruppen/images/kartenkreis.tex index 4f19937..ff6331e 100644 --- a/buch/chapters/60-gruppen/images/kartenkreis.tex +++ b/buch/chapters/60-gruppen/images/kartenkreis.tex @@ -1,189 +1,189 @@ -% -% kartenkreis.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{3} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\fill[color=red!20] (0,-1) rectangle (1.5,1); -\fill[color=blue!20] (-1.5,-1) rectangle (0,1); -\fill[color=darkgreen!40,opacity=0.5] (-1,0) rectangle (1,1.5); -\fill[color=orange!40,opacity=0.5] (-1,-1.5) rectangle (1,0); -\fill[color=white] (0,0) circle[radius=1]; - -\fill[color=gray!20] - (0,-1.5) -- (0.02,-1.6) -- (0.5,-1.8) -- (0.98,-1.6) -- (1,-1.5) - -- cycle; -\fill[color=gray!20] - (0,1.5) -- (0.02,1.6) -- (0.5,1.8) -- (0.98,1.6) -- (1,1.5) - -- cycle; -\fill[color=gray!20] - (0,-1.5) -- (-0.02,-1.6) -- (-0.5,-1.8) -- (-0.98,-1.6) -- (-1,-1.5) - -- cycle; -\fill[color=gray!20] - (0,1.5) -- (-0.02,1.6) -- (-0.5,1.8) -- (-0.98,1.6) -- (-1,1.5) - -- cycle; - -\fill[color=gray!20] - (1.5,0) -- (1.6,0.02) -- (1.8,0.5) -- (1.6,0.98) -- (1.5,1) - -- cycle; -\fill[color=gray!20] - (-1.5,0) -- (-1.6,0.02) -- (-1.8,0.5) -- (-1.6,0.98) -- (-1.5,1) - -- cycle; -\fill[color=gray!20] - (1.5,0) -- (1.6,-0.02) -- (1.8,-0.5) -- (1.6,-0.98) -- (1.5,-1) - -- cycle; -\fill[color=gray!20] - (-1.5,0) -- (-1.6,-0.02) -- (-1.8,-0.5) -- (-1.6,-0.98) -- (-1.5,-1) - -- cycle; - -\draw[->] (0.5,-1.8) arc (-180:-90:0.1) arc (-90:0:1.3) arc (0:90:0.1); -\draw[->] (1.8,0.5) arc (-90:0:0.1) arc (0:90:1.3) arc (90:180:0.1); -\draw[->] (-0.5,1.8) arc (0:90:0.1) arc (90:180:1.3) arc (180:270:0.1); -\draw[->] (-1.8,-0.5) arc (90:180:0.1) arc (180:270:1.3) arc (270:360:0.1); - -\node at (1.01,1.32) - [right] {$\varphi_3\circ \varphi_1^{-1}(y)=\sqrt{1-y^2}$}; -\node at (1.6,1.6) {$\varphi_{31}$}; - -\node at (1.01,-1.28) - [right] {$\varphi_1\circ \varphi_4^{-1}(x)=-\sqrt{1-x^2}$}; -\node at (1.6,-1.6) {$\varphi_{14}$}; - -\node at (-1.24,1.32) - [left] {$\varphi_2\circ\varphi_3^{-1}(x)=\sqrt{1-x^2}$}; -\node at (-1.6,1.6) {$\varphi_{23}$}; - -\node at (-1.18,-1.28) - [left] {$\varphi_4\circ\varphi_2^{-1}(y)=-\sqrt{1-y^2}$}; -\node at (-1.6,-1.6) {$\varphi_{42}$}; - - -\foreach \y in {0.1,0.3,...,0.9}{ - \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] - ({sqrt(1-\y*\y)},{\y}) -- (1.5,\y); - \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] - ({sqrt(1-\y*\y)},{-\y}) -- (1.5,-\y); - \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] - ({-sqrt(1-\y*\y)},{\y}) -- (-1.5,\y); - \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] - ({-sqrt(1-\y*\y)},{-\y}) -- (-1.5,-\y); -} -\foreach \x in {0.1,0.3,...,0.9}{ - \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] - ({\x},{sqrt(1-\x*\x)}) -- ({\x},1.5); - \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] - ({-\x},{sqrt(1-\x*\x)}) -- ({-\x},1.5); - \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] - ({\x},{-sqrt(1-\x*\x)}) -- ({\x},-1.5); - \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] - ({-\x},{-sqrt(1-\x*\x)}) -- ({-\x},-1.5); -} - -%\draw[color=gray!50,line width=3pt] (0,0) circle[radius=1]; -\draw[color=yellow!30,line width=3pt] (0,0) circle[radius=1]; -\node[color=yellow] at ({1/sqrt(2)},{1/sqrt(2)}) [above right] {$S^1$}; - -\def\r{1.02} - -\begin{scope} - \clip (0,-1.1) rectangle (1.1,1.1); - \draw[color=red,line width=1.4pt] (-89:\r) arc (-89:89:\r); - \draw[color=red,line width=1.4pt] (0,-\r) circle[radius=0.02]; - \draw[color=red,line width=1.4pt] (0,\r) circle[radius=0.02]; -\end{scope} - -\begin{scope} - \clip (-1.1,-1.1) rectangle (0,1.1); - \draw[color=blue,line width=1.4pt] (91:\r) arc (91:269:\r); - \draw[color=blue,line width=1.4pt] (0,-\r) circle[radius=0.02]; - \draw[color=blue,line width=1.4pt] (0,\r) circle[radius=0.02]; -\end{scope} - -\xdef\r{0.98} - -\begin{scope} - \clip (-1.1,0) rectangle (1.1,1.1); - \draw[color=darkgreen,line width=1.4pt] (1:\r) arc (1:179:\r); - \draw[color=darkgreen,line width=1.4pt] (\r,0) circle[radius=0.02]; - \draw[color=darkgreen,line width=1.4pt] (-\r,0) circle[radius=0.02]; -\end{scope} - -\begin{scope} - \clip (-1.1,-1.1) rectangle (1.1,0); - \draw[color=orange,line width=1.4pt] (181:\r) arc (181:359:\r); - \draw[color=orange,line width=1.4pt] (\r,0) circle[radius=0.02]; - \draw[color=orange,line width=1.4pt] (-\r,0) circle[radius=0.02]; -\end{scope} - -\begin{scope}[yshift=1.5cm] - \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$\mathbb{R}$}]; - \begin{scope} - \clip (-1,-0.1) rectangle (1,0.1); - \draw[color=darkgreen,line width=1.4pt] (-0.98,0) -- (0.98,0); - \draw[color=darkgreen,line width=1.4pt] (-1,0) - circle[radius=0.02]; - \draw[color=darkgreen,line width=1.4pt] (1,0) - circle[radius=0.02]; - \end{scope} -\end{scope} - -\begin{scope}[yshift=-1.5cm] - \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={below:$\mathbb{R}$}]; - \begin{scope} - \clip (-1,-0.1) rectangle (1,0.1); - \draw[color=orange,line width=1.4pt] (-0.98,0) -- (0.98,0); - \draw[color=orange,line width=1.4pt] (-1,0) circle[radius=0.02]; - \draw[color=orange,line width=1.4pt] (1,0) circle[radius=0.02]; - \end{scope} -\end{scope} - -\begin{scope}[xshift=1.5cm] - \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$\mathbb{R}$}]; - \begin{scope} - \clip (-0.1,-1) rectangle (0.1,1); - \draw[color=red,line width=1.4pt] (0,-0.98) -- (0,0.98); - \draw[color=red,line width=1.4pt] (0,-1) circle[radius=0.02]; - \draw[color=red,line width=1.4pt] (0,1) circle[radius=0.02]; - \end{scope} -\end{scope} - -\begin{scope}[xshift=-1.5cm] - \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={left:$\mathbb{R}$}]; - \begin{scope} - \clip (-0.1,-1) rectangle (0.1,1); - \draw[color=blue,line width=1.4pt] (0,-0.98) -- (0,0.98); - \draw[color=blue,line width=1.4pt] (0,-1) circle[radius=0.02]; - \draw[color=blue,line width=1.4pt] (0,1) circle[radius=0.02]; - \end{scope} -\end{scope} - -\node[color=red] at (23:1) [right] {$U_{x>0}$}; -\node[color=red] at (1.25,0) [right] {$\varphi_1$}; - -\node[color=blue] at (157:1) [left] {$U_{x<0}$}; -\node[color=blue] at (-1.25,0) [left] {$\varphi_2$}; - -\node[color=darkgreen] at (115:1) [below right] {$U_{y>0}$}; -\node[color=darkgreen] at (0,1.25) [above] {$\varphi_3$}; - -\node[color=orange] at (-115:1) [above right] {$U_{y<0}$}; -\node[color=orange] at (0,-1.25) [below] {$\varphi_4$}; - -\draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$x$}]; -\draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$y$}]; - -\end{tikzpicture} -\end{document} - +% +% kartenkreis.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{3} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\fill[color=red!20] (0,-1) rectangle (1.5,1); +\fill[color=blue!20] (-1.5,-1) rectangle (0,1); +\fill[color=darkgreen!40,opacity=0.5] (-1,0) rectangle (1,1.5); +\fill[color=orange!40,opacity=0.5] (-1,-1.5) rectangle (1,0); +\fill[color=white] (0,0) circle[radius=1]; + +\fill[color=gray!20] + (0,-1.5) -- (0.02,-1.6) -- (0.5,-1.8) -- (0.98,-1.6) -- (1,-1.5) + -- cycle; +\fill[color=gray!20] + (0,1.5) -- (0.02,1.6) -- (0.5,1.8) -- (0.98,1.6) -- (1,1.5) + -- cycle; +\fill[color=gray!20] + (0,-1.5) -- (-0.02,-1.6) -- (-0.5,-1.8) -- (-0.98,-1.6) -- (-1,-1.5) + -- cycle; +\fill[color=gray!20] + (0,1.5) -- (-0.02,1.6) -- (-0.5,1.8) -- (-0.98,1.6) -- (-1,1.5) + -- cycle; + +\fill[color=gray!20] + (1.5,0) -- (1.6,0.02) -- (1.8,0.5) -- (1.6,0.98) -- (1.5,1) + -- cycle; +\fill[color=gray!20] + (-1.5,0) -- (-1.6,0.02) -- (-1.8,0.5) -- (-1.6,0.98) -- (-1.5,1) + -- cycle; +\fill[color=gray!20] + (1.5,0) -- (1.6,-0.02) -- (1.8,-0.5) -- (1.6,-0.98) -- (1.5,-1) + -- cycle; +\fill[color=gray!20] + (-1.5,0) -- (-1.6,-0.02) -- (-1.8,-0.5) -- (-1.6,-0.98) -- (-1.5,-1) + -- cycle; + +\draw[->] (0.5,-1.8) arc (-180:-90:0.1) arc (-90:0:1.3) arc (0:90:0.1); +\draw[->] (1.8,0.5) arc (-90:0:0.1) arc (0:90:1.3) arc (90:180:0.1); +\draw[->] (-0.5,1.8) arc (0:90:0.1) arc (90:180:1.3) arc (180:270:0.1); +\draw[->] (-1.8,-0.5) arc (90:180:0.1) arc (180:270:1.3) arc (270:360:0.1); + +\node at (1.01,1.32) + [right] {$\varphi_3\circ \varphi_1^{-1}(y)=\sqrt{1-y^2}$}; +\node at (1.6,1.6) {$\varphi_{31}$}; + +\node at (1.01,-1.28) + [right] {$\varphi_1\circ \varphi_4^{-1}(x)=-\sqrt{1-x^2}$}; +\node at (1.6,-1.6) {$\varphi_{14}$}; + +\node at (-1.24,1.32) + [left] {$\varphi_2\circ\varphi_3^{-1}(x)=\sqrt{1-x^2}$}; +\node at (-1.6,1.6) {$\varphi_{23}$}; + +\node at (-1.18,-1.28) + [left] {$\varphi_4\circ\varphi_2^{-1}(y)=-\sqrt{1-y^2}$}; +\node at (-1.6,-1.6) {$\varphi_{42}$}; + + +\foreach \y in {0.1,0.3,...,0.9}{ + \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] + ({sqrt(1-\y*\y)},{\y}) -- (1.5,\y); + \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] + ({sqrt(1-\y*\y)},{-\y}) -- (1.5,-\y); + \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] + ({-sqrt(1-\y*\y)},{\y}) -- (-1.5,\y); + \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] + ({-sqrt(1-\y*\y)},{-\y}) -- (-1.5,-\y); +} +\foreach \x in {0.1,0.3,...,0.9}{ + \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] + ({\x},{sqrt(1-\x*\x)}) -- ({\x},1.5); + \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] + ({-\x},{sqrt(1-\x*\x)}) -- ({-\x},1.5); + \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] + ({\x},{-sqrt(1-\x*\x)}) -- ({\x},-1.5); + \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] + ({-\x},{-sqrt(1-\x*\x)}) -- ({-\x},-1.5); +} + +%\draw[color=gray!50,line width=3pt] (0,0) circle[radius=1]; +\draw[color=yellow!30,line width=3pt] (0,0) circle[radius=1]; +\node[color=yellow] at ({1/sqrt(2)},{1/sqrt(2)}) [above right] {$S^1$}; + +\def\r{1.02} + +\begin{scope} + \clip (0,-1.1) rectangle (1.1,1.1); + \draw[color=red,line width=1.4pt] (-89:\r) arc (-89:89:\r); + \draw[color=red,line width=1.4pt] (0,-\r) circle[radius=0.02]; + \draw[color=red,line width=1.4pt] (0,\r) circle[radius=0.02]; +\end{scope} + +\begin{scope} + \clip (-1.1,-1.1) rectangle (0,1.1); + \draw[color=blue,line width=1.4pt] (91:\r) arc (91:269:\r); + \draw[color=blue,line width=1.4pt] (0,-\r) circle[radius=0.02]; + \draw[color=blue,line width=1.4pt] (0,\r) circle[radius=0.02]; +\end{scope} + +\xdef\r{0.98} + +\begin{scope} + \clip (-1.1,0) rectangle (1.1,1.1); + \draw[color=darkgreen,line width=1.4pt] (1:\r) arc (1:179:\r); + \draw[color=darkgreen,line width=1.4pt] (\r,0) circle[radius=0.02]; + \draw[color=darkgreen,line width=1.4pt] (-\r,0) circle[radius=0.02]; +\end{scope} + +\begin{scope} + \clip (-1.1,-1.1) rectangle (1.1,0); + \draw[color=orange,line width=1.4pt] (181:\r) arc (181:359:\r); + \draw[color=orange,line width=1.4pt] (\r,0) circle[radius=0.02]; + \draw[color=orange,line width=1.4pt] (-\r,0) circle[radius=0.02]; +\end{scope} + +\begin{scope}[yshift=1.5cm] + \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$\mathbb{R}$}]; + \begin{scope} + \clip (-1,-0.1) rectangle (1,0.1); + \draw[color=darkgreen,line width=1.4pt] (-0.98,0) -- (0.98,0); + \draw[color=darkgreen,line width=1.4pt] (-1,0) + circle[radius=0.02]; + \draw[color=darkgreen,line width=1.4pt] (1,0) + circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[yshift=-1.5cm] + \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={below:$\mathbb{R}$}]; + \begin{scope} + \clip (-1,-0.1) rectangle (1,0.1); + \draw[color=orange,line width=1.4pt] (-0.98,0) -- (0.98,0); + \draw[color=orange,line width=1.4pt] (-1,0) circle[radius=0.02]; + \draw[color=orange,line width=1.4pt] (1,0) circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[xshift=1.5cm] + \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$\mathbb{R}$}]; + \begin{scope} + \clip (-0.1,-1) rectangle (0.1,1); + \draw[color=red,line width=1.4pt] (0,-0.98) -- (0,0.98); + \draw[color=red,line width=1.4pt] (0,-1) circle[radius=0.02]; + \draw[color=red,line width=1.4pt] (0,1) circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[xshift=-1.5cm] + \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={left:$\mathbb{R}$}]; + \begin{scope} + \clip (-0.1,-1) rectangle (0.1,1); + \draw[color=blue,line width=1.4pt] (0,-0.98) -- (0,0.98); + \draw[color=blue,line width=1.4pt] (0,-1) circle[radius=0.02]; + \draw[color=blue,line width=1.4pt] (0,1) circle[radius=0.02]; + \end{scope} +\end{scope} + +\node[color=red] at (23:1) [right] {$U_{x>0}$}; +\node[color=red] at (1.25,0) [right] {$\varphi_1$}; + +\node[color=blue] at (157:1) [left] {$U_{x<0}$}; +\node[color=blue] at (-1.25,0) [left] {$\varphi_2$}; + +\node[color=darkgreen] at (115:1) [below right] {$U_{y>0}$}; +\node[color=darkgreen] at (0,1.25) [above] {$\varphi_3$}; + +\node[color=orange] at (-115:1) [above right] {$U_{y<0}$}; +\node[color=orange] at (0,-1.25) [below] {$\varphi_4$}; + +\draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$x$}]; +\draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$y$}]; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/phasenraum.tex b/buch/chapters/60-gruppen/images/phasenraum.tex index 2bccc27..2305b26 100644 --- a/buch/chapters/60-gruppen/images/phasenraum.tex +++ b/buch/chapters/60-gruppen/images/phasenraum.tex @@ -1,93 +1,93 @@ -% -% phasenraum.tex -- -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\def\m{1} -\def\K{0.444} - -\pgfmathparse{sqrt(\K/\m)} -\xdef\o{\pgfmathresult} - -\def\punkt#1#2{ ({#2*cos(#1)},{\o*#2*sin(#1)}) } - -\foreach \r in {0.5,1,...,6}{ - \draw plot[domain=0:359,samples=360] - ({\r*cos(\x)},{\o*\r*sin(\x)}) -- cycle; -} - -\def\tangente#1#2{ - \pgfmathparse{#2/\m} - \xdef\u{\pgfmathresult} - - \pgfmathparse{-#1*\K} - \xdef\v{\pgfmathresult} - - \pgfmathparse{sqrt(\u*\u+\v*\v)} - \xdef\l{\pgfmathresult} - - \fill[color=blue] (#1,#2) circle[radius=0.03]; - \draw[color=blue,line width=0.5pt] - ({#1-0.2*\u/\l},{#2-0.2*\v/\l}) - -- - ({#1+0.2*\u/\l},{#2+0.2*\v/\l}); -} - -\foreach \x in {-6.25,-5.75,...,6.3}{ - \foreach \y in {-4.25,-3.75,...,4.3}{ - \tangente{\x}{\y} - } -} - -%\foreach \x in {0.5,1,...,5.5,6}{ -% \tangente{\x}{0} -% \tangente{-\x}{0} -% \foreach \y in {0.5,1,...,4}{ -% \tangente{\x}{\y} -% \tangente{-\x}{\y} -% \tangente{\x}{-\y} -% \tangente{-\x}{-\y} -% } -%} -%\foreach \y in {0.5,1,...,4}{ -% \tangente{0}{\y} -% \tangente{0}{-\y} -%} - -\fill[color=white,opacity=0.7] \punkt{60}{4} rectangle \punkt{59}{5.8}; -\fill[color=white,opacity=0.7] \punkt{0}{4} rectangle \punkt{18}{4.9}; - -\draw[->,color=red,line width=1.4pt] - plot[domain=0:60,samples=360] - ({4*cos(\x)},{\o*4*sin(\x)}); - -\draw[->] (-6.5,0) -- (6.7,0) coordinate[label={$x$}]; -\draw[->] (0,-4.5) -- (0,4.7) coordinate[label={right:$p$}]; - -\fill[color=red] \punkt{60}{4} circle[radius=0.08]; -\node[color=red] at \punkt{60}{4} [above right] - {$\begin{pmatrix}x(t)\\p(t)\end{pmatrix}$}; - -\fill[color=red] \punkt{0}{4} circle[radius=0.08]; -\node[color=red] at \punkt{0}{4} [above right] - {$\begin{pmatrix}x_0\\0\end{pmatrix}$}; - -\fill[color=white] (4,0) circle[radius=0.05]; -\node at (3.9,0) [below right] {$x_0$}; -\fill (0,{\o*4}) circle[radius=0.05]; -\node at (0.1,{\o*4+0.05}) [below left] {$\omega x_0$}; - -\end{tikzpicture} -\end{document} - +% +% phasenraum.tex -- +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\m{1} +\def\K{0.444} + +\pgfmathparse{sqrt(\K/\m)} +\xdef\o{\pgfmathresult} + +\def\punkt#1#2{ ({#2*cos(#1)},{\o*#2*sin(#1)}) } + +\foreach \r in {0.5,1,...,6}{ + \draw plot[domain=0:359,samples=360] + ({\r*cos(\x)},{\o*\r*sin(\x)}) -- cycle; +} + +\def\tangente#1#2{ + \pgfmathparse{#2/\m} + \xdef\u{\pgfmathresult} + + \pgfmathparse{-#1*\K} + \xdef\v{\pgfmathresult} + + \pgfmathparse{sqrt(\u*\u+\v*\v)} + \xdef\l{\pgfmathresult} + + \fill[color=blue] (#1,#2) circle[radius=0.03]; + \draw[color=blue,line width=0.5pt] + ({#1-0.2*\u/\l},{#2-0.2*\v/\l}) + -- + ({#1+0.2*\u/\l},{#2+0.2*\v/\l}); +} + +\foreach \x in {-6.25,-5.75,...,6.3}{ + \foreach \y in {-4.25,-3.75,...,4.3}{ + \tangente{\x}{\y} + } +} + +%\foreach \x in {0.5,1,...,5.5,6}{ +% \tangente{\x}{0} +% \tangente{-\x}{0} +% \foreach \y in {0.5,1,...,4}{ +% \tangente{\x}{\y} +% \tangente{-\x}{\y} +% \tangente{\x}{-\y} +% \tangente{-\x}{-\y} +% } +%} +%\foreach \y in {0.5,1,...,4}{ +% \tangente{0}{\y} +% \tangente{0}{-\y} +%} + +\fill[color=white,opacity=0.7] \punkt{60}{4} rectangle \punkt{59}{5.8}; +\fill[color=white,opacity=0.7] \punkt{0}{4} rectangle \punkt{18}{4.9}; + +\draw[->,color=red,line width=1.4pt] + plot[domain=0:60,samples=360] + ({4*cos(\x)},{\o*4*sin(\x)}); + +\draw[->] (-6.5,0) -- (6.7,0) coordinate[label={$x$}]; +\draw[->] (0,-4.5) -- (0,4.7) coordinate[label={right:$p$}]; + +\fill[color=red] \punkt{60}{4} circle[radius=0.08]; +\node[color=red] at \punkt{60}{4} [above right] + {$\begin{pmatrix}x(t)\\p(t)\end{pmatrix}$}; + +\fill[color=red] \punkt{0}{4} circle[radius=0.08]; +\node[color=red] at \punkt{0}{4} [above right] + {$\begin{pmatrix}x_0\\0\end{pmatrix}$}; + +\fill[color=white] (4,0) circle[radius=0.05]; +\node at (3.9,0) [below right] {$x_0$}; +\fill (0,{\o*4}) circle[radius=0.05]; +\node at (0.1,{\o*4+0.05}) [below left] {$\omega x_0$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/scherungen.tex b/buch/chapters/60-gruppen/images/scherungen.tex index 893bd12..f6df172 100644 --- a/buch/chapters/60-gruppen/images/scherungen.tex +++ b/buch/chapters/60-gruppen/images/scherungen.tex @@ -1,157 +1,157 @@ -% -% scherungen.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{blau}{rgb}{0,0.8,1} -\definecolor{blau}{rgb}{0,0.6,0} -\def\s{1.1} - -\begin{scope}[xshift=-4.6cm] - - \fill[color=blue!20] (0,0) rectangle (2,2); - \fill[color=red!40,opacity=0.5] (0,0) -- (2,\s) -- (2,{2+\s}) -- (0,2) - -- cycle; - - \foreach \x in {-1,...,3}{ - \draw[color=blau] (\x,-1) -- (\x,3); - \draw[color=blau] (-1,\x) -- (3,\x); - } - - \begin{scope} - \clip (-1,-1) rectangle (3,3); - \foreach \x in {-1,...,3}{ - \draw[color=orange] (\x,-1) -- (\x,3); - \draw[color=orange] (-1,{\x-0.5*\s}) -- (3,{\x+1.5*\s}); - } - \end{scope} - - \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; - - \node[color=blue] at (0,2) [above left] {$1$}; - \node[color=blue] at (2,0) [below right] {$1$}; - \draw[->,color=blue] (0,0) -- (2,0); - \draw[->,color=blue] (0,0) -- (0,2); - - \draw[->,color=red] (0,0) -- (2,\s); - \draw[->,color=red] (0,0) -- (0,2); - - \node[color=red] at (2,\s) [below right] {$(1,t)$}; - - \node at (0,0) [below right] {$O$}; - \node at (1,-1.1) [below] {$\displaystyle - \begin{aligned} - M &= \begin{pmatrix}0&0\\1&0 \end{pmatrix} - \\ - e^{Mt} - &= - \begin{pmatrix}1&0\\t&1 \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\begin{scope} - \fill[color=blue!20] (0,0) rectangle (2,2); - \fill[color=red!40,opacity=0.5] (0,0) -- (2,0) -- ({2+\s},2) -- (\s,2) - -- cycle; - - \foreach \x in {-1,...,3}{ - \draw[color=blau] (\x,-1) -- (\x,3); - \draw[color=blau] (-1,\x) -- (3,\x); - } - - \begin{scope} - \clip (-1,-1) rectangle (3,3); - \foreach \x in {-1,...,3}{ - \draw[color=orange] (-1,\x) -- (3,\x); - \draw[color=orange] ({\x-0.5*\s},-1) -- ({\x+1.5*\s},3); - } - \end{scope} - - \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; - - \node[color=blue] at (0,2) [above left] {$1$}; - \node[color=blue] at (2,0) [below right] {$1$}; - \draw[->,color=blue] (0,0) -- (2,0); - \draw[->,color=blue] (0,0) -- (0,2); - - \draw[->,color=red] (0,0) -- (2,0); - \draw[->,color=red] (0,0) -- (\s,2); - - \node[color=red] at (\s,2) [above left] {$(t,1)$}; - - \node at (0,0) [below right] {$O$}; - - \node at (1,-1.1) [below] {$\displaystyle - \begin{aligned} N &= \begin{pmatrix}0&1\\0&0 \end{pmatrix} - \\ - e^{Nt} - &= - \begin{pmatrix}1&t\\0&1 \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\begin{scope}[xshift=3.6cm,yshift=0cm] - \def\punkt#1#2{({1.6005*(#1)+0.4114*(#2)},{-0.2057*(#1)+0.5719*(#2)})} - \fill[color=blue!20] (0,0) rectangle (2,2); - \fill[color=red!40,opacity=0.5] - (0,0) -- \punkt{2}{0} -- \punkt{2}{2} -- \punkt{0}{2} -- cycle; - - \foreach \x in {0,...,4}{ - \draw[color=blau] (\x,-1) -- (\x,3); - } - \foreach \y in {-1,...,3}{ - \draw[color=blau] (0,\y) -- (4,\y); - } - - \begin{scope} - \clip (-0,-1) rectangle (4,3); - \foreach \x in {-1,...,6}{ - \draw[color=orange] \punkt{\x}{-3} -- \punkt{\x}{6}; - \draw[color=orange] \punkt{-3}{\x} -- \punkt{6}{\x}; - } - \end{scope} - - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; - - \node[color=blue] at (0,2) [above left] {$1$}; - \node[color=blue] at (2,0) [below right] {$1$}; - \draw[->,color=blue] (0,0) -- (2,0); - \draw[->,color=blue] (0,0) -- (0,2); - - \draw[->,color=red] (0,0) -- \punkt{2}{0}; - \draw[->,color=red] (0,0) -- \punkt{0}{2}; - - \node at (0,0) [below right] {$O$}; - - \node at (2,-1.1) [below] {$\displaystyle - \begin{aligned} D &= \begin{pmatrix}0.5&0.4\\-0.2&-0.5 \end{pmatrix} - \\ - e^{D\cdot 1} - &= - \begin{pmatrix} - 1.6005 & 0.4114\\ - -0.2057 & 0.5719 - \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% scherungen.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{blau}{rgb}{0,0.8,1} +\definecolor{blau}{rgb}{0,0.6,0} +\def\s{1.1} + +\begin{scope}[xshift=-4.6cm] + + \fill[color=blue!20] (0,0) rectangle (2,2); + \fill[color=red!40,opacity=0.5] (0,0) -- (2,\s) -- (2,{2+\s}) -- (0,2) + -- cycle; + + \foreach \x in {-1,...,3}{ + \draw[color=blau] (\x,-1) -- (\x,3); + \draw[color=blau] (-1,\x) -- (3,\x); + } + + \begin{scope} + \clip (-1,-1) rectangle (3,3); + \foreach \x in {-1,...,3}{ + \draw[color=orange] (\x,-1) -- (\x,3); + \draw[color=orange] (-1,{\x-0.5*\s}) -- (3,{\x+1.5*\s}); + } + \end{scope} + + \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; + + \node[color=blue] at (0,2) [above left] {$1$}; + \node[color=blue] at (2,0) [below right] {$1$}; + \draw[->,color=blue] (0,0) -- (2,0); + \draw[->,color=blue] (0,0) -- (0,2); + + \draw[->,color=red] (0,0) -- (2,\s); + \draw[->,color=red] (0,0) -- (0,2); + + \node[color=red] at (2,\s) [below right] {$(1,t)$}; + + \node at (0,0) [below right] {$O$}; + \node at (1,-1.1) [below] {$\displaystyle + \begin{aligned} + M &= \begin{pmatrix}0&0\\1&0 \end{pmatrix} + \\ + e^{Mt} + &= + \begin{pmatrix}1&0\\t&1 \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\begin{scope} + \fill[color=blue!20] (0,0) rectangle (2,2); + \fill[color=red!40,opacity=0.5] (0,0) -- (2,0) -- ({2+\s},2) -- (\s,2) + -- cycle; + + \foreach \x in {-1,...,3}{ + \draw[color=blau] (\x,-1) -- (\x,3); + \draw[color=blau] (-1,\x) -- (3,\x); + } + + \begin{scope} + \clip (-1,-1) rectangle (3,3); + \foreach \x in {-1,...,3}{ + \draw[color=orange] (-1,\x) -- (3,\x); + \draw[color=orange] ({\x-0.5*\s},-1) -- ({\x+1.5*\s},3); + } + \end{scope} + + \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; + + \node[color=blue] at (0,2) [above left] {$1$}; + \node[color=blue] at (2,0) [below right] {$1$}; + \draw[->,color=blue] (0,0) -- (2,0); + \draw[->,color=blue] (0,0) -- (0,2); + + \draw[->,color=red] (0,0) -- (2,0); + \draw[->,color=red] (0,0) -- (\s,2); + + \node[color=red] at (\s,2) [above left] {$(t,1)$}; + + \node at (0,0) [below right] {$O$}; + + \node at (1,-1.1) [below] {$\displaystyle + \begin{aligned} N &= \begin{pmatrix}0&1\\0&0 \end{pmatrix} + \\ + e^{Nt} + &= + \begin{pmatrix}1&t\\0&1 \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\begin{scope}[xshift=3.6cm,yshift=0cm] + \def\punkt#1#2{({1.6005*(#1)+0.4114*(#2)},{-0.2057*(#1)+0.5719*(#2)})} + \fill[color=blue!20] (0,0) rectangle (2,2); + \fill[color=red!40,opacity=0.5] + (0,0) -- \punkt{2}{0} -- \punkt{2}{2} -- \punkt{0}{2} -- cycle; + + \foreach \x in {0,...,4}{ + \draw[color=blau] (\x,-1) -- (\x,3); + } + \foreach \y in {-1,...,3}{ + \draw[color=blau] (0,\y) -- (4,\y); + } + + \begin{scope} + \clip (-0,-1) rectangle (4,3); + \foreach \x in {-1,...,6}{ + \draw[color=orange] \punkt{\x}{-3} -- \punkt{\x}{6}; + \draw[color=orange] \punkt{-3}{\x} -- \punkt{6}{\x}; + } + \end{scope} + + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; + + \node[color=blue] at (0,2) [above left] {$1$}; + \node[color=blue] at (2,0) [below right] {$1$}; + \draw[->,color=blue] (0,0) -- (2,0); + \draw[->,color=blue] (0,0) -- (0,2); + + \draw[->,color=red] (0,0) -- \punkt{2}{0}; + \draw[->,color=red] (0,0) -- \punkt{0}{2}; + + \node at (0,0) [below right] {$O$}; + + \node at (2,-1.1) [below] {$\displaystyle + \begin{aligned} D &= \begin{pmatrix}0.5&0.4\\-0.2&-0.5 \end{pmatrix} + \\ + e^{D\cdot 1} + &= + \begin{pmatrix} + 1.6005 & 0.4114\\ + -0.2057 & 0.5719 + \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/sl2.tex b/buch/chapters/60-gruppen/images/sl2.tex index 0e44aa9..c41308c 100644 --- a/buch/chapters/60-gruppen/images/sl2.tex +++ b/buch/chapters/60-gruppen/images/sl2.tex @@ -1,146 +1,146 @@ -% -% sl2.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\begin{scope}[xshift=-4.5cm] - \fill[color=blue!20] - (1.4,0) -- (0,1.4) -- (-1.4,0) -- (0,-1.4) -- cycle; - \fill[color=red!40,opacity=0.5] - (1.96,0) -- (0,1) -- (-1.96,0) -- (0,-1) -- cycle; - - \begin{scope} - \clip (-2.1,-2.1) rectangle (2.3,2.3); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({-(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({-(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); - \end{scope} - - \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \draw[->,color=blue] (0,0) -- (1.4,0); - \draw[->,color=blue] (0,0) -- (0,1.4); - - \draw[->,color=red] (0,0) -- (1.96,0); - \draw[->,color=red] (0,0) -- (0,1); - \node at (0,-3.2) - {$\displaystyle - \begin{aligned} - A&=\begin{pmatrix}1&0\\0&-1\end{pmatrix} - \\ - e^{At} - &=\begin{pmatrix}e^t&0\\0&e^{-t}\end{pmatrix} - \end{aligned} - $}; - -\end{scope} - - -\begin{scope} - \fill[color=blue!20] - (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; - \fill[color=red!40,opacity=0.5] - (33:1.4) -- (123:1.4) -- (213:1.4) -- (303:1.4) -- cycle; - - \draw[color=darkgreen] (0,0) circle[radius=1.4]; - - \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \draw[->,color=blue] (0,0) -- (1.4,0); - \draw[->,color=blue] (0,0) -- (0,1.4); - - \draw[->,color=red] (0,0) -- (33:1.4); - \draw[->,color=red] (0,0) -- (123:1.4); - - \node at (0,-3.2) - {$\displaystyle - \begin{aligned} - B - &=\begin{pmatrix}0&-1\\1&0 \end{pmatrix} - \\ - e^{Bt} - &= - \begin{pmatrix} - \cos t&-\sin t\\ - \sin t& \cos t - \end{pmatrix} - \end{aligned}$}; -\end{scope} - - -\begin{scope}[xshift=4.5cm] - \fill[color=blue!20] - (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; - \def\x{0.5} - \fill[color=red!40,opacity=0.5] - ({1.4*cosh(\x)},{1.4*sinh(\x}) - -- - ({1.4*sinh(\x},{1.4*cosh(\x)}) - -- - ({-1.4*cosh(\x)},{-1.4*sinh(\x}) - -- - ({-1.4*sinh(\x},{-1.4*cosh(\x)}) - -- cycle; - - \begin{scope} - \clip (-2.1,-2.1) rectangle (2.2,2.2); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({1.4*cosh(\x)},{1.4*sinh(\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{1.4*cosh(\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({-1.4*cosh(\x)},{1.4*sinh(\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{-1.4*cosh(\x)}); - \end{scope} - - \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \draw[->,color=blue] (0,0) -- (1.4,0); - \draw[->,color=blue] (0,0) -- (0,1.4); - - \draw[->,color=red] (0,0) -- ({1.4*cosh(\x)},{1.4*sinh(\x)}); - \draw[->,color=red] (0,0) -- ({1.4*sinh(\x)},{1.4*cosh(\x)}); - - \node at (0,-3.2) {$\displaystyle - \begin{aligned} - C&=\begin{pmatrix}0&1\\1&0\end{pmatrix} - \\ - e^{Ct} - &= - \begin{pmatrix} - \cosh t&\sinh t\\ - \sinh t&\cosh t - \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% sl2.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\begin{scope}[xshift=-4.5cm] + \fill[color=blue!20] + (1.4,0) -- (0,1.4) -- (-1.4,0) -- (0,-1.4) -- cycle; + \fill[color=red!40,opacity=0.5] + (1.96,0) -- (0,1) -- (-1.96,0) -- (0,-1) -- cycle; + + \begin{scope} + \clip (-2.1,-2.1) rectangle (2.3,2.3); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({-(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({-(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); + \end{scope} + + \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \draw[->,color=blue] (0,0) -- (1.4,0); + \draw[->,color=blue] (0,0) -- (0,1.4); + + \draw[->,color=red] (0,0) -- (1.96,0); + \draw[->,color=red] (0,0) -- (0,1); + \node at (0,-3.2) + {$\displaystyle + \begin{aligned} + A&=\begin{pmatrix}1&0\\0&-1\end{pmatrix} + \\ + e^{At} + &=\begin{pmatrix}e^t&0\\0&e^{-t}\end{pmatrix} + \end{aligned} + $}; + +\end{scope} + + +\begin{scope} + \fill[color=blue!20] + (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; + \fill[color=red!40,opacity=0.5] + (33:1.4) -- (123:1.4) -- (213:1.4) -- (303:1.4) -- cycle; + + \draw[color=darkgreen] (0,0) circle[radius=1.4]; + + \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \draw[->,color=blue] (0,0) -- (1.4,0); + \draw[->,color=blue] (0,0) -- (0,1.4); + + \draw[->,color=red] (0,0) -- (33:1.4); + \draw[->,color=red] (0,0) -- (123:1.4); + + \node at (0,-3.2) + {$\displaystyle + \begin{aligned} + B + &=\begin{pmatrix}0&-1\\1&0 \end{pmatrix} + \\ + e^{Bt} + &= + \begin{pmatrix} + \cos t&-\sin t\\ + \sin t& \cos t + \end{pmatrix} + \end{aligned}$}; +\end{scope} + + +\begin{scope}[xshift=4.5cm] + \fill[color=blue!20] + (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; + \def\x{0.5} + \fill[color=red!40,opacity=0.5] + ({1.4*cosh(\x)},{1.4*sinh(\x}) + -- + ({1.4*sinh(\x},{1.4*cosh(\x)}) + -- + ({-1.4*cosh(\x)},{-1.4*sinh(\x}) + -- + ({-1.4*sinh(\x},{-1.4*cosh(\x)}) + -- cycle; + + \begin{scope} + \clip (-2.1,-2.1) rectangle (2.2,2.2); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({1.4*cosh(\x)},{1.4*sinh(\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{1.4*cosh(\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({-1.4*cosh(\x)},{1.4*sinh(\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{-1.4*cosh(\x)}); + \end{scope} + + \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \draw[->,color=blue] (0,0) -- (1.4,0); + \draw[->,color=blue] (0,0) -- (0,1.4); + + \draw[->,color=red] (0,0) -- ({1.4*cosh(\x)},{1.4*sinh(\x)}); + \draw[->,color=red] (0,0) -- ({1.4*sinh(\x)},{1.4*cosh(\x)}); + + \node at (0,-3.2) {$\displaystyle + \begin{aligned} + C&=\begin{pmatrix}0&1\\1&0\end{pmatrix} + \\ + e^{Ct} + &= + \begin{pmatrix} + \cosh t&\sinh t\\ + \sinh t&\cosh t + \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/torus.pov b/buch/chapters/60-gruppen/images/torus.pov index 3a8e327..ee09c36 100644 --- a/buch/chapters/60-gruppen/images/torus.pov +++ b/buch/chapters/60-gruppen/images/torus.pov @@ -1,189 +1,189 @@ -// -// diffusion.pov -// -// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule -// -#version 3.7; -#include "colors.inc" - -global_settings { - assumed_gamma 1 -} - -#declare imagescale = 0.034; -#declare N = 100; -#declare r = 0.43; -#declare R = 1; - -camera { - location <43, 25, -20> - look_at <0, -0.01, 0> - right 16/9 * x * imagescale - up y * imagescale -} - -light_source { - <10, 20, -40> color White - area_light <1,0,0> <0,0,1>, 10, 10 - adaptive 1 - jitter -} - -sky_sphere { - pigment { - color rgb<1,1,1> - } -} - -#macro rotiere(phi, vv) - < cos(phi) * vv.x - sin(phi) * vv.z, vv.y, sin(phi) * vv.x + cos(phi) * vv.z > -#end - -#macro punkt(phi,theta) - rotiere(phi, < R + r * cos(theta), r * sin(theta), 0 >) -#end - -mesh { - #declare phistep = 2 * pi / N; - #declare thetastep = 2 * 2 * pi / N; - #declare phi = 0; - #while (phi < 2 * pi - phistep/2) - #declare theta = 0; - #while (theta < 2 * pi - thetastep/2) - triangle { - punkt(phi , theta ), - punkt(phi + phistep, theta ), - punkt(phi + phistep, theta + thetastep) - } - triangle { - punkt(phi , theta ), - punkt(phi + phistep, theta + thetastep), - punkt(phi , theta + thetastep) - } - #declare theta = theta + thetastep; - #end - #declare phi = phi + phistep; - #end - pigment { - color Gray - } - finish { - specular 0.9 - metallic - } -} - -#declare thetastart = -0.2; -#declare thetaend = 1.2; -#declare phistart = 5; -#declare phiend = 6; - -union { - #declare thetastep = 0.2; - #declare theta = thetastart; - #while (theta < thetaend + thetastep/2) - #declare phistep = (phiend-phistart)/N; - #declare phi = phistart; - #while (phi < phiend - phistep/2) - sphere { punkt(phi,theta), 0.01 } - cylinder { - punkt(phi,theta), - punkt(phi+phistep,theta), - 0.01 - } - #declare phi = phi + phistep; - #end - sphere { punkt(phi,theta), 0.01 } - #declare theta = theta + thetastep; - #end - - pigment { - color Red - } - finish { - specular 0.9 - metallic - } -} - -union { - #declare phistep = 0.2; - #declare phi = phistart; - #while (phi < phiend + phistep/2) - #declare thetastep = (thetaend-thetastart)/N; - #declare theta = thetastart; - #while (theta < thetaend - thetastep/2) - sphere { punkt(phi,theta), 0.01 } - cylinder { - punkt(phi,theta), - punkt(phi,theta+thetastep), - 0.01 - } - #declare theta = theta + thetastep; - #end - sphere { punkt(phi,theta), 0.01 } - #declare phi = phi + phistep; - #end - pigment { - color Blue - } - finish { - specular 0.9 - metallic - } -} - -#macro punkt2(a,b) - punkt(5.6+a*sqrt(3)/2-b/2,0.2+a/2 + b*sqrt(3)/2) -#end - -#declare darkgreen = rgb<0,0.6,0>; - -#declare astart = 0; -#declare aend = 1; -#declare bstart = -0.2; -#declare bend = 1.2; -union { - #declare a = astart; - #declare astep = 0.2; - #while (a < aend + astep/2) - #declare b = bstart; - #declare bstep = (bend - bstart)/N; - #while (b < bend - bstep/2) - sphere { punkt2(a,b), 0.01 } - cylinder { punkt2(a,b), punkt2(a,b+bstep), 0.01 } - #declare b = b + bstep; - #end - sphere { punkt2(a,b), 0.01 } - #declare a = a + astep; - #end - pigment { - color darkgreen - } - finish { - specular 0.9 - metallic - } -} -union { - #declare b = bstart; - #declare bstep = 0.2; - #while (b < bend + bstep/2) - #declare a = astart; - #declare astep = (aend - astart)/N; - #while (a < aend - astep/2) - sphere { punkt2(a,b), 0.01 } - cylinder { punkt2(a,b), punkt2(a+astep,b), 0.01 } - #declare a = a + astep; - #end - sphere { punkt2(a,b), 0.01 } - #declare b = b + bstep; - #end - pigment { - color Orange - } - finish { - specular 0.9 - metallic - } -} +// +// diffusion.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule +// +#version 3.7; +#include "colors.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.034; +#declare N = 100; +#declare r = 0.43; +#declare R = 1; + +camera { + location <43, 25, -20> + look_at <0, -0.01, 0> + right 16/9 * x * imagescale + up y * imagescale +} + +light_source { + <10, 20, -40> color White + area_light <1,0,0> <0,0,1>, 10, 10 + adaptive 1 + jitter +} + +sky_sphere { + pigment { + color rgb<1,1,1> + } +} + +#macro rotiere(phi, vv) + < cos(phi) * vv.x - sin(phi) * vv.z, vv.y, sin(phi) * vv.x + cos(phi) * vv.z > +#end + +#macro punkt(phi,theta) + rotiere(phi, < R + r * cos(theta), r * sin(theta), 0 >) +#end + +mesh { + #declare phistep = 2 * pi / N; + #declare thetastep = 2 * 2 * pi / N; + #declare phi = 0; + #while (phi < 2 * pi - phistep/2) + #declare theta = 0; + #while (theta < 2 * pi - thetastep/2) + triangle { + punkt(phi , theta ), + punkt(phi + phistep, theta ), + punkt(phi + phistep, theta + thetastep) + } + triangle { + punkt(phi , theta ), + punkt(phi + phistep, theta + thetastep), + punkt(phi , theta + thetastep) + } + #declare theta = theta + thetastep; + #end + #declare phi = phi + phistep; + #end + pigment { + color Gray + } + finish { + specular 0.9 + metallic + } +} + +#declare thetastart = -0.2; +#declare thetaend = 1.2; +#declare phistart = 5; +#declare phiend = 6; + +union { + #declare thetastep = 0.2; + #declare theta = thetastart; + #while (theta < thetaend + thetastep/2) + #declare phistep = (phiend-phistart)/N; + #declare phi = phistart; + #while (phi < phiend - phistep/2) + sphere { punkt(phi,theta), 0.01 } + cylinder { + punkt(phi,theta), + punkt(phi+phistep,theta), + 0.01 + } + #declare phi = phi + phistep; + #end + sphere { punkt(phi,theta), 0.01 } + #declare theta = theta + thetastep; + #end + + pigment { + color Red + } + finish { + specular 0.9 + metallic + } +} + +union { + #declare phistep = 0.2; + #declare phi = phistart; + #while (phi < phiend + phistep/2) + #declare thetastep = (thetaend-thetastart)/N; + #declare theta = thetastart; + #while (theta < thetaend - thetastep/2) + sphere { punkt(phi,theta), 0.01 } + cylinder { + punkt(phi,theta), + punkt(phi,theta+thetastep), + 0.01 + } + #declare theta = theta + thetastep; + #end + sphere { punkt(phi,theta), 0.01 } + #declare phi = phi + phistep; + #end + pigment { + color Blue + } + finish { + specular 0.9 + metallic + } +} + +#macro punkt2(a,b) + punkt(5.6+a*sqrt(3)/2-b/2,0.2+a/2 + b*sqrt(3)/2) +#end + +#declare darkgreen = rgb<0,0.6,0>; + +#declare astart = 0; +#declare aend = 1; +#declare bstart = -0.2; +#declare bend = 1.2; +union { + #declare a = astart; + #declare astep = 0.2; + #while (a < aend + astep/2) + #declare b = bstart; + #declare bstep = (bend - bstart)/N; + #while (b < bend - bstep/2) + sphere { punkt2(a,b), 0.01 } + cylinder { punkt2(a,b), punkt2(a,b+bstep), 0.01 } + #declare b = b + bstep; + #end + sphere { punkt2(a,b), 0.01 } + #declare a = a + astep; + #end + pigment { + color darkgreen + } + finish { + specular 0.9 + metallic + } +} +union { + #declare b = bstart; + #declare bstep = 0.2; + #while (b < bend + bstep/2) + #declare a = astart; + #declare astep = (aend - astart)/N; + #while (a < aend - astep/2) + sphere { punkt2(a,b), 0.01 } + cylinder { punkt2(a,b), punkt2(a+astep,b), 0.01 } + #declare a = a + astep; + #end + sphere { punkt2(a,b), 0.01 } + #declare b = b + bstep; + #end + pigment { + color Orange + } + finish { + specular 0.9 + metallic + } +} diff --git a/buch/chapters/60-gruppen/lie-algebren.tex b/buch/chapters/60-gruppen/lie-algebren.tex index cee8510..482ba6f 100644 --- a/buch/chapters/60-gruppen/lie-algebren.tex +++ b/buch/chapters/60-gruppen/lie-algebren.tex @@ -1,647 +1,647 @@ -% -% lie-algebren.tex -- Lie-Algebren -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Lie-Algebren -\label{buch:section:lie-algebren}} -\rhead{Lie-Algebren} -Im vorangegangenen Abschnitt wurde gezeigt, dass alle beschriebenen -Matrizengruppen als Untermannigfaltigkeiten im $n^2$-dimensionalen -Vektorraum $M_n(\mathbb{R}9$ betrachtet werden können. -Die Gruppen haben damit nicht nur die algebraische Struktur einer -Matrixgruppe, sie haben auch die geometrische Struktur einer -Mannigfaltigkeit. -Insbesondere ist es sinnvoll, von Ableitungen zu sprechen. - -Eindimensionale Untergruppen einer Gruppe können auch als Kurven -innerhalb der Gruppe angesehen werden. -In diesem Abschnitt soll gezeigt werden, wie man zu jeder eindimensionalen -Untergruppe einen Vektor in $M_n(\mathbb{R})$ finden kann derart, dass -der Vektor als Tangentialvektor an diese Kurve gelten kann. -Aus einer Abbildung zwischen der Gruppe und diesen Tagentialvektoren -erhält man dann auch eine algebraische Struktur auf diesen Tangentialvektoren, -die sogenannte Lie-Algebra. -Sie ist charakteristisch für die Gruppe. -Insbesondere werden wir sehen, wie die Gruppen $\operatorname{SO}(3)$ -und $\operatorname{SU}(2)$ die gleich Lie-Algebra haben und dass die -Lie-Algebra von $\operatorname{SO}(3)$ mit dem Vektorprodukt in $\mathbb{R}^3$ -übereinstimmt. - -% -% Die Lie-Algebra einer Matrizengruppe -% -\subsection{Lie-Algebra einer Matrizengruppe -\label{buch:section:lie-algebra-einer-matrizengruppe}} -Zu jedem Tangentialvektor $A$ im Punkt $I$ einer Matrizengruppe gibt es -eine Einparameteruntergruppe, die mit Hilfe der Exponentialfunktion -$e^{At}$ konstruiert werden kann. -Für die folgende Konstruktion arbeiten wir in der Gruppe -$\operatorname{GL}_n(\mathbb{R})$, in der jede Matrix auch ein -Tangentialvektor ist. -Wir werden daraus die Lie-Klammer ableiten und später verifizieren, -dass diese auch für die Tangentialvektoren der Gruppen -$\operatorname{SO}(n)$ oder $\operatorname{SL}_n(\mathbb{R})$ funktioniert. - -\subsubsection{Lie-Klammer} -Zu zwei verschiedenen Tagentialvektoren $A\in M_n(\mathbb{R})$ und -$B\in M_n(\mathbb{R})$ gibt es zwei verschiedene Einparameteruntergruppen -$e^{At}$ und $e^{Bt}$. -Wenn die Matrizen $A$ und $B$ oder die Einparameteruntergruppen -$e^{At}$ und $e^{Bt}$ vertauschbar sind, dann stimmen -$e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ nicht überein. -Die zugehörigen Potenzreihen sind: -\begin{align*} -e^{At} -&= -I+At + \frac{A^2t^2}{2!} + \frac{A^3t^3}{3!} + \dots -\\ -e^{Bt} -&= -I+Bt + \frac{B^2t^2}{2!} + \frac{B^3t^3}{3!} + \dots -\\ -e^{At}e^{Bt} -&= -\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) -\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) -\\ -&= -I+(A+B)t + \biggl(\frac{A^2}{2!}+AB+\frac{B^2}{2!}\biggr)t^2 +\dots -\\ -e^{Bt}e^{At} -&= -\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) -\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) -\\ -&= -I+(B+A)t + \biggl(\frac{B^2}{2!}+BA+\frac{A^2}{2!}\biggr)t^2 +\dots -\intertext{% -Die beiden Kurven $e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ haben zwar den gleichen -Tangentialvektor für $t=0$, sie unterscheiden -sich aber untereinander, und sie unterscheiden sich von der -Einparameteruntergruppe von $A+B$} -e^{(A+B)t} -&= -I + (A+B)t + \frac{t^2}{2}(A^2 + AB + BA + B^2) + \ldots -\intertext{Für die Unterschiede finden wir} -e^{At}e^{Bt} - e^{(A+B)t} -&= -\biggl(AB-\frac{AB+BA}2\biggr)t^2 -+\ldots -= -(AB-BA) \frac{t^2}{2} + \ldots -= -[A,B]\frac{t^2}{2}+\ldots -\\ -e^{Bt}e^{At} - e^{(A+B)t} -&= -\biggl(BA-\frac{AB+BA}2\biggr)t^2 -+\ldots -= -(BA-AB) -\frac{t^2}{2} -+\ldots -= --[A,B]\frac{t^2}{2} -\\ -e^{At}e^{Bt}-e^{Bt}e^{At} -&= -(AB-BA)t^2+\ldots -= -\phantom{-}[A,B]t^2+\ldots -\end{align*} -wobei mit $[A,B]=AB-BA$ abgekürzt wird. - -\begin{definition} -\label{buch:gruppen:def:kommutator} -Der Kommutator zweier Matrizen $A,B\in M_n(\mathbb{R})$ ist die Matrix -$[A,B]=AB-BA$. -\end{definition} - -Der Kommutator ist bilinear und antisymmetrisch, da -\begin{align*} -[\lambda A+\mu B,C] -&= -\lambda AC+\mu BC-\lambda CA -\mu CB -= -\lambda[A,C]+\mu[B,C] -\\ -[A,\lambda B+\mu C] -&= -\lambda AB + \mu AC - \lambda BA - \mu CA -= -\lambda[A,B]+\mu[A,C] -\\ -[A,B] -&= -AB-BA = -(BA-AB) = -[B,A]. -\end{align*} -Aus der letzten Bedingung folgt insbesodnere $[A,A]=0$ - -Der Kommutator $[A,B]$ misst in niedrigster Ordnung den Unterschied -zwischen den $e^{At}$ und $e^{Bt}$. -Der Kommutator der Tangentialvektoren $A$ und $B$ bildet also die -Nichtkommutativität der Matrizen $e^{At}$ und $e^{Bt}$ ab. - - -\subsubsection{Die Jacobi-Identität} -Der Kommutator hat die folgende zusätzliche algebraische Eigenschaft: -\begin{align*} -[A,[B,C]] -+ -[B,[C,A]] -+ -[C,[A,B]] -&= -[A,BC-CB] -+ -[B,CA-AC] -+ -[C,AB-BA] -\\ -&=\phantom{+} -ABC-ACB-BCA+CBA -\\ -&\phantom{=}+ -BCA-BAC-CAB+ACB -\\ -&\phantom{=}+ -CAB-CBA-ABC+BAC -\\ -&=0. -\end{align*} -Diese Eigenschaft findet man auch bei anderen Strukturen, zum Beispiel -bei Vektorfeldern, die man als Differentialoperatoren auf Funktionen -betrachten kann. -Man kann dann einen Kommutator $[X,Y]$ für zwei Vektorfelder -$X$ und $Y$ definieren. -Dieser Kommutator von Vektorfeldern erfüllt ebenfalls die gleiche -Identität. - -\begin{definition} -\label{buch:gruppen:def:jacobi} -Ein bilineares Produkt $[\;,\;]\colon V\times V\to V$ auf dem Vektorraum -erfüllt die {\em Jacobi-Identität}, wenn -\[ -[u,[v,w]] + [v,[w,u]] + [w,[u,v]]=0 -\] -ist für beliebige Vektoren $u,v,w\in V$. -\end{definition} - -\subsubsection{Lie-Algebra} -Die Tangentialvektoren einer Lie-Gruppe tragen also mit dem Kommutator -eine zusätzliche Struktur, nämlich die Struktur einer Lie-Algebra. - -\begin{definition} -Ein Vektorraum $V$ mit einem bilinearen, Produkt -\[ -[\;,\;]\colon V\times V \to V : (u,v) \mapsto [u,v], -\] -welches zusätzlich die Jacobi-Identität~\ref{buch:gruppen:def:jacobi} -erfüllt, heisst eine {\em Lie-Algebra}. -\end{definition} - -Die Lie-Algebra einer Lie-Gruppe $G$ wird mit $LG$ bezeichnet. -$LG$ besteht aus den Tangentialvektoren im Punkt $I$. -Die Exponentialabbildung $\exp\colon LG\to G:A\mapsto e^A$ -ist eine differenzierbare Abbildung von $LG$ in die Gruppe $G$. -Insbesondere kann die Inverse der Exponentialabbildung als eine -Karte in einer Umgebung von $I$ verwendet werden. - -Für die Lie-Algebren der Matrizengruppen, die früher definiert worden -sind, verwenden wir die als Notationskonvention, dass der Name der -Lie-Algebra der mit kleinen Buchstaben geschrieben Name der Lie-Gruppe ist. -Die Lie-Algebra von $\operatorname{SO}(n)$ ist also -$L\operatorname{SO}(n) = \operatorname{os}(n)$, -die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ ist -$L\operatorname{SL}_n(\mathbb{R})=\operatorname{sl}_n(\mathbb{R})$. - - -% -% Die Lie-Algebra von SO(3) -% -\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$ -\label{buch:subsection:die-lie-algebra-von-so3}} -Zur Gruppe $\operatorname{SO}(3)$ der Drehmatrizen gehört die Lie-Algebra -$\operatorname{so}(3)$ der antisymmetrischen $3\times 3$-Matrizen. -Solche Matrizen haben die Form -\[ -\Omega -= -\begin{pmatrix} - 0 & \omega_3&-\omega_2\\ --\omega_3& 0 & \omega_1\\ - \omega_2&-\omega_1& 0 -\end{pmatrix} -\] -Der Vektorraum $\operatorname{so}(3)$ ist also dreidimensional. - -Die Wirkung von $I+t\Omega$ auf einem Vektor $x$ ist -\[ -(I+t\Omega) -\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} -= -\begin{pmatrix} - 1 & t\omega_3&-t\omega_2\\ --t\omega_3& 1 & t\omega_1\\ - t\omega_2&-t\omega_1& 1 -\end{pmatrix} -\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} -= -\begin{pmatrix} -x_1-t(-\omega_3x_2+\omega_2x_3)\\ -x_2-t( \omega_3x_1-\omega_1x_3)\\ -x_3-t(-\omega_2x_1+\omega_1x_2) -\end{pmatrix} -= -x- t\begin{pmatrix}\omega_1\\\omega_2\\\omega_3\end{pmatrix}\times x -= -x+ tx\times \omega. -\] -Die Matrix $\Omega$ ist als die infinitesimale Version einer Drehung -um die Achse $\omega$. - -Wir können die Analogie zwischen Matrizen in $\operatorname{so}(3)$ und -Vektoren in $\mathbb R^3$ noch etwas weiter treiben. Zu jedem Vektor -in $\mathbb R^3$ konstruieren wir eine Matrix in $\operatorname{so}(3)$ -mit Hilfe der Abbildung -\[ -\mathbb R^3\to\operatorname{so}(3) -: -\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix} -\mapsto -\begin{pmatrix} - 0 & v_3&-v_1\\ --v_3& 0 & v_2\\ - v_1&-v_2& 0 -\end{pmatrix}. -\] -Der Kommutator von zwei so aus Vektoren $\vec u$ und $\vec v$ -konstruierten Matrizen $U$ und $V$ ist: -\begin{align*} -[U,V] -&= -UV-VU -\\ -&= -\begin{pmatrix} - 0 & u_3&-u_1\\ --u_3& 0 & u_2\\ - u_1&-u_2& 0 -\end{pmatrix} -\begin{pmatrix} - 0 & v_3&-v_1\\ --v_3& 0 & v_2\\ - v_1&-v_2& 0 -\end{pmatrix} -- -\begin{pmatrix} - 0 & v_3&-v_1\\ --v_3& 0 & v_2\\ - v_1&-v_2& 0 -\end{pmatrix} -\begin{pmatrix} - 0 & u_3&-u_1\\ --u_3& 0 & u_2\\ - u_1&-u_2& 0 -\end{pmatrix} -\\ -&= -\begin{pmatrix} -u_3v_3+u_1v_1 - u_3v_3 - u_1v_1 - & u_1v_2 - u_2v_1 - & u_3v_2 - u_2v_3 -\\ -u_2v_1 - u_1v_2 - & -u_3v_3-u_2v_2 + u_3v_3+u_2v_2 - & u_3v_1 - u_1v_3 -\\ -u_2v_3 - u_3v_2 - & u_1v_3 - u_3v_1 - &-u_1v_1-u_2v_2 u_1v_1+u_2v_2 -\end{pmatrix} -\\ -&= -\begin{pmatrix} -0 - & u_1v_2 - u_2v_1 - &-(u_2v_3-u_3v_2) -\\ --( u_1v_2 - u_2v_1) - & 0 - & u_3v_1 - u_1v_3 -\\ -u_2v_3 - u_3v_2 - &-( u_3v_1 - u_1v_3) - & 0 -\end{pmatrix} -\end{align*} -Die Matrix $[U,V]$ gehört zum Vektor $\vec u\times\vec v$. -Damit können wir aus der Jacobi-Identität jetzt folgern, dass -\[ -\vec u\times(\vec v\times w) -+ -\vec v\times(\vec w\times u) -+ -\vec w\times(\vec u\times v) -=0 -\] -für drei beliebige Vektoren $\vec u$, $\vec v$ und $\vec w$ ist. -Dies bedeutet, dass der dreidimensionale Vektorraum $\mathbb R^3$ -mit dem Vektorprodukt zu einer Lie-Algebra wird. -In der Tat verwenden einige Bücher statt der vertrauten Notation -$\vec u\times \vec v$ für das Vektorprodukt die aus der Theorie der -Lie-Algebren entlehnte Notation $[\vec u,\vec v]$, zum Beispiel -das Lehrbuch der Theoretischen Physik \cite{skript:landaulifschitz1} -von Landau und Lifschitz. - -Die Lie-Algebren sind vollständig klassifiziert worden, es gibt -keine nicht trivialen zweidimensionalen Lie-Algebren. -Unser dreidimensionaler Raum ist also auch in dieser Hinsicht speziell: -es ist der kleinste Vektorraum, in dem eine nichttriviale Lie-Algebra-Struktur -möglich ist. - -Die antisymmetrischen Matrizen -\[ -\omega_{23} -= -\begin{pmatrix} 0&1&0\\-1&0&0\\0&0&0\end{pmatrix} -\quad -\omega_{31} -= -\begin{pmatrix} 0&0&-1\\0&0&0\\1&0&0\end{pmatrix} -\quad -\omega_{12} -= -\begin{pmatrix} 0&0&0\\0&0&1\\0&-1&0\end{pmatrix} -\] -haben die Kommutatoren -\begin{equation} -\begin{aligned} -[\omega_{23},\omega_{31}] -&= -\begin{pmatrix} -0&0&0\\ -0&0&1\\ -0&-1&0 -\end{pmatrix} -= -\omega_{12} -\\ -[\omega_{31},\omega_{12}] -&= -\begin{pmatrix} -0&1&0\\ --1&0&0\\ -0&0&0 -\end{pmatrix} -= -\omega_{23} -\\ -[\omega_{12},\omega_{23}] -&= -\begin{pmatrix} -0&0&-1\\ -0&0&0\\ -1&0&0 -\end{pmatrix} -= -\omega_{31} -\end{aligned} -\label{buch:gruppen:eqn:so3-kommutatoren} -\end{equation} - -\subsection{Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$} -Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ besteht aus den -spurlosen Matrizen in $M_n(\mathbb{R})$. -Der Kommutator solcher Matrizen erfüllt -\[ -\operatorname{Spur}([A,B]) -= -\operatorname{Spur}(AB-BA) -= -\operatorname{Spur}(AB)-\operatorname{Spur}(BA) -= -0, -\] -somit ist -\[ -\operatorname{sl}_n(\mathbb{R}) -= -\{ -A\in M_n(\mathbb{R})\;|\; \operatorname{Spur}(A)=0 -\} -\] -mit dem Kommutator eine Lie-Algebra. - -% -% Die Lie-Algebra von U(n) -% -\subsection{Die Lie-Algebra von $\operatorname{U}(n)$} -Die Lie-Gruppe -\[ -U(n) -= -\{ -A\in M_n(\mathbb{C} -\;|\; -AA^*=I -\} -\] -heisst die unitäre Gruppe, sie besteht aus den Matrizen, die -das sesquilineare Standardskalarprodukt auf dem komplexen -Vektorraum $\mathbb{C}^n$ invariant lassen. -Sei eine $\gamma(t)$ ein differenzierbare Kurve in $\operatorname{U}(n)$ -derart, dass $\gamma(0)=I$. -Die Ableitung der Identität $AA^*=I$ führt dann auf -\begin{align*} -0 -= -\frac{d}{dt} -\gamma(t)\gamma(t)^* -\bigg|_{t=0} -= -\dot{\gamma}(0)\gamma(0)^* -+ -\gamma(0)\dot{\gamma}(0)^* -= -\dot{\gamma}(0) -+ -\dot{\gamma}(0)^* -\quad\Rightarrow\quad -\dot{\gamma}(0)&=-\dot{\gamma}(0)^*. -A&=-A^* -\end{align*} -Die Lie-Algebra $\operatorname{u}(n)$ besteht daher aus den antihermiteschen -Matrizen. - -Wir sollten noch verifizieren, dass der Kommutator zweier antihermiteschen -Matrizen wieder anithermitesch ist: -\begin{align*} -[A,B]^* -&= -(AB-BA)^* -= -B^*A^*-A^*B^* -= -BA - AB -= --[B,A]. -\end{align*} - -Eine antihermitesche Matrix erfüllt $a_{ij}=-\overline{a}_{ji}$, -für die Diagonalelemente folgt daher $a_{ii} = -\overline{a}_{ii}$ -oder $\overline{a}_{ii}=-a_{ii}$. -Der Realteil von $a_{ii}$ ist -\[ -\Re a_{ii} -= -\frac{a_{ii}+\overline{a}_{ii}}2 -= -0, -\] -die Diagonalelemente einer antihermiteschen Matrix sind daher rein -imaginär. - - -% -% Die Lie-Algebra SU(2) -% -\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$} -Die Lie-Algebra $\operatorname{su}(n)$ besteht aus den -spurlosen antihermiteschen Matrizen. -Sie erfüllen daher die folgenden Bedingungen: -\[ -A=\begin{pmatrix}a&b\\c&d\end{pmatrix} -\qquad -\text{mit} -\qquad -\left\{ -\begin{aligned} -a+d&=0&&\Rightarrow& a=is = -d -\\ -b^*&=-c -\end{aligned} -\right. -\] -Damit hat $A$ die Form -\begin{align*} -A=\begin{pmatrix} -is&u+iv\\ --u+iv&-is -\end{pmatrix} -&= -s -\begin{pmatrix} -i&0\\ -0&-i -\end{pmatrix} -+ -u -\begin{pmatrix} - 0&1\\ --1&0 -\end{pmatrix} -+ -v -\begin{pmatrix} -0&i\\ -i&0 -\end{pmatrix} -\\ -&= -iv\underbrace{\begin{pmatrix}0&1\\1&0\end{pmatrix}}_{\displaystyle=\sigma_1} -+ -iu\underbrace{\begin{pmatrix}0&-i\\i&0\end{pmatrix}}_{\displaystyle=\sigma_2} -+ -is\underbrace{\begin{pmatrix}1&0\\0&-1\end{pmatrix}}_{\displaystyle=\sigma_3} -\end{align*} -Diese Matrizen heissen die {\em Pauli-Matrizen}, sie haben die Kommutatoren -\begin{align*} -[\sigma_1,\sigma_2] -&= -\begin{pmatrix}0&1\\1&0\end{pmatrix} -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -- -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -\begin{pmatrix}0&1\\1&0\end{pmatrix} -= -2\begin{pmatrix}i&0\\0&-i \end{pmatrix} -= -2i\sigma_3, -\\ -[\sigma_2,\sigma_3] -&= -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -- -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -= -2 -\begin{pmatrix}0&i\\i&0\end{pmatrix} -= -2i\sigma_1. -\\ -[\sigma_1,\sigma_3] -&= -\begin{pmatrix}0&1\\1&0\end{pmatrix} -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -- -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -\begin{pmatrix}0&1\\1&0\end{pmatrix} -= -2i -\begin{pmatrix}0&-1\\1&0\end{pmatrix} -= -2i\sigma_2, -\end{align*} -Bis auf eine Skalierung stimmt dies überein mit den Kommutatorprodukten -der Matrizen $\omega_{23}$, $\omega_{31}$ und $\omega_{12}$ -in \eqref{buch:gruppen:eqn:so3-kommutatoren}. -Die Matrizen $-\frac12i\sigma_j$ haben die Kommutatorprodukte -\begin{align*} -\bigl[-{\textstyle\frac12}i\sigma_1,-{\textstyle\frac12}i\sigma_2\bigr] -&= --{\textstyle\frac14}[\sigma_1,\sigma_2] -= --{\textstyle\frac14}\cdot 2i\sigma_3 -= --{\textstyle\frac12}i\sigma_3 -\\ -\bigl[-{\textstyle\frac12}i\sigma_2,-{\textstyle\frac12}i\sigma_3\bigr] -&= --{\textstyle\frac14}[\sigma_2,\sigma_3] -= --{\textstyle\frac14}\cdot 2i\sigma_1 -= --{\textstyle\frac12}i\sigma_1 -\\ -\bigl[-{\textstyle\frac12}i\sigma_3,-{\textstyle\frac12}i\sigma_1\bigr] -&= --{\textstyle\frac14}[\sigma_3,\sigma_1] -= --{\textstyle\frac14}\cdot 2i\sigma_2 -= --{\textstyle\frac12}i\sigma_2 -\end{align*} -Die lineare Abbildung, die -\begin{align*} -\omega_{23}&\mapsto -{\textstyle\frac12}i\sigma_1\\ -\omega_{31}&\mapsto -{\textstyle\frac12}i\sigma_2\\ -\omega_{12}&\mapsto -{\textstyle\frac12}i\sigma_3 -\end{align*} -abbildet ist daher ein Isomorphismus der Lie-Algebra $\operatorname{so}(3)$ -auf die Lie-Algebra $\operatorname{su}(2)$. -Die Lie-Gruppen $\operatorname{SO}(3)$ und $\operatorname{SU}(2)$ -haben also die gleiche Lie-Algebra. - -Tatsächlich kann man Hilfe von Quaternionen die Matrix $\operatorname{SU}(2)$ -als Einheitsquaternionen beschreiben und damit eine Darstellung der -Drehmatrizen in $\operatorname{SO}(3)$ finden. -Dies wird in Kapitel~\ref{chapter:clifford} dargestellt. - - - - - +% +% lie-algebren.tex -- Lie-Algebren +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Lie-Algebren +\label{buch:section:lie-algebren}} +\rhead{Lie-Algebren} +Im vorangegangenen Abschnitt wurde gezeigt, dass alle beschriebenen +Matrizengruppen als Untermannigfaltigkeiten im $n^2$-dimensionalen +Vektorraum $M_n(\mathbb{R}9$ betrachtet werden können. +Die Gruppen haben damit nicht nur die algebraische Struktur einer +Matrixgruppe, sie haben auch die geometrische Struktur einer +Mannigfaltigkeit. +Insbesondere ist es sinnvoll, von Ableitungen zu sprechen. + +Eindimensionale Untergruppen einer Gruppe können auch als Kurven +innerhalb der Gruppe angesehen werden. +In diesem Abschnitt soll gezeigt werden, wie man zu jeder eindimensionalen +Untergruppe einen Vektor in $M_n(\mathbb{R})$ finden kann derart, dass +der Vektor als Tangentialvektor an diese Kurve gelten kann. +Aus einer Abbildung zwischen der Gruppe und diesen Tagentialvektoren +erhält man dann auch eine algebraische Struktur auf diesen Tangentialvektoren, +die sogenannte Lie-Algebra. +Sie ist charakteristisch für die Gruppe. +Insbesondere werden wir sehen, wie die Gruppen $\operatorname{SO}(3)$ +und $\operatorname{SU}(2)$ die gleich Lie-Algebra haben und dass die +Lie-Algebra von $\operatorname{SO}(3)$ mit dem Vektorprodukt in $\mathbb{R}^3$ +übereinstimmt. + +% +% Die Lie-Algebra einer Matrizengruppe +% +\subsection{Lie-Algebra einer Matrizengruppe +\label{buch:section:lie-algebra-einer-matrizengruppe}} +Zu jedem Tangentialvektor $A$ im Punkt $I$ einer Matrizengruppe gibt es +eine Einparameteruntergruppe, die mit Hilfe der Exponentialfunktion +$e^{At}$ konstruiert werden kann. +Für die folgende Konstruktion arbeiten wir in der Gruppe +$\operatorname{GL}_n(\mathbb{R})$, in der jede Matrix auch ein +Tangentialvektor ist. +Wir werden daraus die Lie-Klammer ableiten und später verifizieren, +dass diese auch für die Tangentialvektoren der Gruppen +$\operatorname{SO}(n)$ oder $\operatorname{SL}_n(\mathbb{R})$ funktioniert. + +\subsubsection{Lie-Klammer} +Zu zwei verschiedenen Tagentialvektoren $A\in M_n(\mathbb{R})$ und +$B\in M_n(\mathbb{R})$ gibt es zwei verschiedene Einparameteruntergruppen +$e^{At}$ und $e^{Bt}$. +Wenn die Matrizen $A$ und $B$ oder die Einparameteruntergruppen +$e^{At}$ und $e^{Bt}$ vertauschbar sind, dann stimmen +$e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ nicht überein. +Die zugehörigen Potenzreihen sind: +\begin{align*} +e^{At} +&= +I+At + \frac{A^2t^2}{2!} + \frac{A^3t^3}{3!} + \dots +\\ +e^{Bt} +&= +I+Bt + \frac{B^2t^2}{2!} + \frac{B^3t^3}{3!} + \dots +\\ +e^{At}e^{Bt} +&= +\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) +\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) +\\ +&= +I+(A+B)t + \biggl(\frac{A^2}{2!}+AB+\frac{B^2}{2!}\biggr)t^2 +\dots +\\ +e^{Bt}e^{At} +&= +\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) +\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) +\\ +&= +I+(B+A)t + \biggl(\frac{B^2}{2!}+BA+\frac{A^2}{2!}\biggr)t^2 +\dots +\intertext{% +Die beiden Kurven $e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ haben zwar den gleichen +Tangentialvektor für $t=0$, sie unterscheiden +sich aber untereinander, und sie unterscheiden sich von der +Einparameteruntergruppe von $A+B$} +e^{(A+B)t} +&= +I + (A+B)t + \frac{t^2}{2}(A^2 + AB + BA + B^2) + \ldots +\intertext{Für die Unterschiede finden wir} +e^{At}e^{Bt} - e^{(A+B)t} +&= +\biggl(AB-\frac{AB+BA}2\biggr)t^2 ++\ldots += +(AB-BA) \frac{t^2}{2} + \ldots += +[A,B]\frac{t^2}{2}+\ldots +\\ +e^{Bt}e^{At} - e^{(A+B)t} +&= +\biggl(BA-\frac{AB+BA}2\biggr)t^2 ++\ldots += +(BA-AB) +\frac{t^2}{2} ++\ldots += +-[A,B]\frac{t^2}{2} +\\ +e^{At}e^{Bt}-e^{Bt}e^{At} +&= +(AB-BA)t^2+\ldots += +\phantom{-}[A,B]t^2+\ldots +\end{align*} +wobei mit $[A,B]=AB-BA$ abgekürzt wird. + +\begin{definition} +\label{buch:gruppen:def:kommutator} +Der Kommutator zweier Matrizen $A,B\in M_n(\mathbb{R})$ ist die Matrix +$[A,B]=AB-BA$. +\end{definition} + +Der Kommutator ist bilinear und antisymmetrisch, da +\begin{align*} +[\lambda A+\mu B,C] +&= +\lambda AC+\mu BC-\lambda CA -\mu CB += +\lambda[A,C]+\mu[B,C] +\\ +[A,\lambda B+\mu C] +&= +\lambda AB + \mu AC - \lambda BA - \mu CA += +\lambda[A,B]+\mu[A,C] +\\ +[A,B] +&= +AB-BA = -(BA-AB) = -[B,A]. +\end{align*} +Aus der letzten Bedingung folgt insbesodnere $[A,A]=0$ + +Der Kommutator $[A,B]$ misst in niedrigster Ordnung den Unterschied +zwischen den $e^{At}$ und $e^{Bt}$. +Der Kommutator der Tangentialvektoren $A$ und $B$ bildet also die +Nichtkommutativität der Matrizen $e^{At}$ und $e^{Bt}$ ab. + + +\subsubsection{Die Jacobi-Identität} +Der Kommutator hat die folgende zusätzliche algebraische Eigenschaft: +\begin{align*} +[A,[B,C]] ++ +[B,[C,A]] ++ +[C,[A,B]] +&= +[A,BC-CB] ++ +[B,CA-AC] ++ +[C,AB-BA] +\\ +&=\phantom{+} +ABC-ACB-BCA+CBA +\\ +&\phantom{=}+ +BCA-BAC-CAB+ACB +\\ +&\phantom{=}+ +CAB-CBA-ABC+BAC +\\ +&=0. +\end{align*} +Diese Eigenschaft findet man auch bei anderen Strukturen, zum Beispiel +bei Vektorfeldern, die man als Differentialoperatoren auf Funktionen +betrachten kann. +Man kann dann einen Kommutator $[X,Y]$ für zwei Vektorfelder +$X$ und $Y$ definieren. +Dieser Kommutator von Vektorfeldern erfüllt ebenfalls die gleiche +Identität. + +\begin{definition} +\label{buch:gruppen:def:jacobi} +Ein bilineares Produkt $[\;,\;]\colon V\times V\to V$ auf dem Vektorraum +erfüllt die {\em Jacobi-Identität}, wenn +\[ +[u,[v,w]] + [v,[w,u]] + [w,[u,v]]=0 +\] +ist für beliebige Vektoren $u,v,w\in V$. +\end{definition} + +\subsubsection{Lie-Algebra} +Die Tangentialvektoren einer Lie-Gruppe tragen also mit dem Kommutator +eine zusätzliche Struktur, nämlich die Struktur einer Lie-Algebra. + +\begin{definition} +Ein Vektorraum $V$ mit einem bilinearen, Produkt +\[ +[\;,\;]\colon V\times V \to V : (u,v) \mapsto [u,v], +\] +welches zusätzlich die Jacobi-Identität~\ref{buch:gruppen:def:jacobi} +erfüllt, heisst eine {\em Lie-Algebra}. +\end{definition} + +Die Lie-Algebra einer Lie-Gruppe $G$ wird mit $LG$ bezeichnet. +$LG$ besteht aus den Tangentialvektoren im Punkt $I$. +Die Exponentialabbildung $\exp\colon LG\to G:A\mapsto e^A$ +ist eine differenzierbare Abbildung von $LG$ in die Gruppe $G$. +Insbesondere kann die Inverse der Exponentialabbildung als eine +Karte in einer Umgebung von $I$ verwendet werden. + +Für die Lie-Algebren der Matrizengruppen, die früher definiert worden +sind, verwenden wir die als Notationskonvention, dass der Name der +Lie-Algebra der mit kleinen Buchstaben geschrieben Name der Lie-Gruppe ist. +Die Lie-Algebra von $\operatorname{SO}(n)$ ist also +$L\operatorname{SO}(n) = \operatorname{os}(n)$, +die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ ist +$L\operatorname{SL}_n(\mathbb{R})=\operatorname{sl}_n(\mathbb{R})$. + + +% +% Die Lie-Algebra von SO(3) +% +\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$ +\label{buch:subsection:die-lie-algebra-von-so3}} +Zur Gruppe $\operatorname{SO}(3)$ der Drehmatrizen gehört die Lie-Algebra +$\operatorname{so}(3)$ der antisymmetrischen $3\times 3$-Matrizen. +Solche Matrizen haben die Form +\[ +\Omega += +\begin{pmatrix} + 0 & \omega_3&-\omega_2\\ +-\omega_3& 0 & \omega_1\\ + \omega_2&-\omega_1& 0 +\end{pmatrix} +\] +Der Vektorraum $\operatorname{so}(3)$ ist also dreidimensional. + +Die Wirkung von $I+t\Omega$ auf einem Vektor $x$ ist +\[ +(I+t\Omega) +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} += +\begin{pmatrix} + 1 & t\omega_3&-t\omega_2\\ +-t\omega_3& 1 & t\omega_1\\ + t\omega_2&-t\omega_1& 1 +\end{pmatrix} +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} += +\begin{pmatrix} +x_1-t(-\omega_3x_2+\omega_2x_3)\\ +x_2-t( \omega_3x_1-\omega_1x_3)\\ +x_3-t(-\omega_2x_1+\omega_1x_2) +\end{pmatrix} += +x- t\begin{pmatrix}\omega_1\\\omega_2\\\omega_3\end{pmatrix}\times x += +x+ tx\times \omega. +\] +Die Matrix $\Omega$ ist als die infinitesimale Version einer Drehung +um die Achse $\omega$. + +Wir können die Analogie zwischen Matrizen in $\operatorname{so}(3)$ und +Vektoren in $\mathbb R^3$ noch etwas weiter treiben. Zu jedem Vektor +in $\mathbb R^3$ konstruieren wir eine Matrix in $\operatorname{so}(3)$ +mit Hilfe der Abbildung +\[ +\mathbb R^3\to\operatorname{so}(3) +: +\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix} +\mapsto +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 +\end{pmatrix}. +\] +Der Kommutator von zwei so aus Vektoren $\vec u$ und $\vec v$ +konstruierten Matrizen $U$ und $V$ ist: +\begin{align*} +[U,V] +&= +UV-VU +\\ +&= +\begin{pmatrix} + 0 & u_3&-u_1\\ +-u_3& 0 & u_2\\ + u_1&-u_2& 0 +\end{pmatrix} +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 +\end{pmatrix} +- +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 +\end{pmatrix} +\begin{pmatrix} + 0 & u_3&-u_1\\ +-u_3& 0 & u_2\\ + u_1&-u_2& 0 +\end{pmatrix} +\\ +&= +\begin{pmatrix} +u_3v_3+u_1v_1 - u_3v_3 - u_1v_1 + & u_1v_2 - u_2v_1 + & u_3v_2 - u_2v_3 +\\ +u_2v_1 - u_1v_2 + & -u_3v_3-u_2v_2 + u_3v_3+u_2v_2 + & u_3v_1 - u_1v_3 +\\ +u_2v_3 - u_3v_2 + & u_1v_3 - u_3v_1 + &-u_1v_1-u_2v_2 u_1v_1+u_2v_2 +\end{pmatrix} +\\ +&= +\begin{pmatrix} +0 + & u_1v_2 - u_2v_1 + &-(u_2v_3-u_3v_2) +\\ +-( u_1v_2 - u_2v_1) + & 0 + & u_3v_1 - u_1v_3 +\\ +u_2v_3 - u_3v_2 + &-( u_3v_1 - u_1v_3) + & 0 +\end{pmatrix} +\end{align*} +Die Matrix $[U,V]$ gehört zum Vektor $\vec u\times\vec v$. +Damit können wir aus der Jacobi-Identität jetzt folgern, dass +\[ +\vec u\times(\vec v\times w) ++ +\vec v\times(\vec w\times u) ++ +\vec w\times(\vec u\times v) +=0 +\] +für drei beliebige Vektoren $\vec u$, $\vec v$ und $\vec w$ ist. +Dies bedeutet, dass der dreidimensionale Vektorraum $\mathbb R^3$ +mit dem Vektorprodukt zu einer Lie-Algebra wird. +In der Tat verwenden einige Bücher statt der vertrauten Notation +$\vec u\times \vec v$ für das Vektorprodukt die aus der Theorie der +Lie-Algebren entlehnte Notation $[\vec u,\vec v]$, zum Beispiel +das Lehrbuch der Theoretischen Physik \cite{skript:landaulifschitz1} +von Landau und Lifschitz. + +Die Lie-Algebren sind vollständig klassifiziert worden, es gibt +keine nicht trivialen zweidimensionalen Lie-Algebren. +Unser dreidimensionaler Raum ist also auch in dieser Hinsicht speziell: +es ist der kleinste Vektorraum, in dem eine nichttriviale Lie-Algebra-Struktur +möglich ist. + +Die antisymmetrischen Matrizen +\[ +\omega_{23} += +\begin{pmatrix} 0&1&0\\-1&0&0\\0&0&0\end{pmatrix} +\quad +\omega_{31} += +\begin{pmatrix} 0&0&-1\\0&0&0\\1&0&0\end{pmatrix} +\quad +\omega_{12} += +\begin{pmatrix} 0&0&0\\0&0&1\\0&-1&0\end{pmatrix} +\] +haben die Kommutatoren +\begin{equation} +\begin{aligned} +[\omega_{23},\omega_{31}] +&= +\begin{pmatrix} +0&0&0\\ +0&0&1\\ +0&-1&0 +\end{pmatrix} += +\omega_{12} +\\ +[\omega_{31},\omega_{12}] +&= +\begin{pmatrix} +0&1&0\\ +-1&0&0\\ +0&0&0 +\end{pmatrix} += +\omega_{23} +\\ +[\omega_{12},\omega_{23}] +&= +\begin{pmatrix} +0&0&-1\\ +0&0&0\\ +1&0&0 +\end{pmatrix} += +\omega_{31} +\end{aligned} +\label{buch:gruppen:eqn:so3-kommutatoren} +\end{equation} + +\subsection{Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$} +Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ besteht aus den +spurlosen Matrizen in $M_n(\mathbb{R})$. +Der Kommutator solcher Matrizen erfüllt +\[ +\operatorname{Spur}([A,B]) += +\operatorname{Spur}(AB-BA) += +\operatorname{Spur}(AB)-\operatorname{Spur}(BA) += +0, +\] +somit ist +\[ +\operatorname{sl}_n(\mathbb{R}) += +\{ +A\in M_n(\mathbb{R})\;|\; \operatorname{Spur}(A)=0 +\} +\] +mit dem Kommutator eine Lie-Algebra. + +% +% Die Lie-Algebra von U(n) +% +\subsection{Die Lie-Algebra von $\operatorname{U}(n)$} +Die Lie-Gruppe +\[ +U(n) += +\{ +A\in M_n(\mathbb{C} +\;|\; +AA^*=I +\} +\] +heisst die unitäre Gruppe, sie besteht aus den Matrizen, die +das sesquilineare Standardskalarprodukt auf dem komplexen +Vektorraum $\mathbb{C}^n$ invariant lassen. +Sei eine $\gamma(t)$ ein differenzierbare Kurve in $\operatorname{U}(n)$ +derart, dass $\gamma(0)=I$. +Die Ableitung der Identität $AA^*=I$ führt dann auf +\begin{align*} +0 += +\frac{d}{dt} +\gamma(t)\gamma(t)^* +\bigg|_{t=0} += +\dot{\gamma}(0)\gamma(0)^* ++ +\gamma(0)\dot{\gamma}(0)^* += +\dot{\gamma}(0) ++ +\dot{\gamma}(0)^* +\quad\Rightarrow\quad +\dot{\gamma}(0)&=-\dot{\gamma}(0)^*. +A&=-A^* +\end{align*} +Die Lie-Algebra $\operatorname{u}(n)$ besteht daher aus den antihermiteschen +Matrizen. + +Wir sollten noch verifizieren, dass der Kommutator zweier antihermiteschen +Matrizen wieder anithermitesch ist: +\begin{align*} +[A,B]^* +&= +(AB-BA)^* += +B^*A^*-A^*B^* += +BA - AB += +-[B,A]. +\end{align*} + +Eine antihermitesche Matrix erfüllt $a_{ij}=-\overline{a}_{ji}$, +für die Diagonalelemente folgt daher $a_{ii} = -\overline{a}_{ii}$ +oder $\overline{a}_{ii}=-a_{ii}$. +Der Realteil von $a_{ii}$ ist +\[ +\Re a_{ii} += +\frac{a_{ii}+\overline{a}_{ii}}2 += +0, +\] +die Diagonalelemente einer antihermiteschen Matrix sind daher rein +imaginär. + + +% +% Die Lie-Algebra SU(2) +% +\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$} +Die Lie-Algebra $\operatorname{su}(n)$ besteht aus den +spurlosen antihermiteschen Matrizen. +Sie erfüllen daher die folgenden Bedingungen: +\[ +A=\begin{pmatrix}a&b\\c&d\end{pmatrix} +\qquad +\text{mit} +\qquad +\left\{ +\begin{aligned} +a+d&=0&&\Rightarrow& a=is = -d +\\ +b^*&=-c +\end{aligned} +\right. +\] +Damit hat $A$ die Form +\begin{align*} +A=\begin{pmatrix} +is&u+iv\\ +-u+iv&-is +\end{pmatrix} +&= +s +\begin{pmatrix} +i&0\\ +0&-i +\end{pmatrix} ++ +u +\begin{pmatrix} + 0&1\\ +-1&0 +\end{pmatrix} ++ +v +\begin{pmatrix} +0&i\\ +i&0 +\end{pmatrix} +\\ +&= +iv\underbrace{\begin{pmatrix}0&1\\1&0\end{pmatrix}}_{\displaystyle=\sigma_1} ++ +iu\underbrace{\begin{pmatrix}0&-i\\i&0\end{pmatrix}}_{\displaystyle=\sigma_2} ++ +is\underbrace{\begin{pmatrix}1&0\\0&-1\end{pmatrix}}_{\displaystyle=\sigma_3} +\end{align*} +Diese Matrizen heissen die {\em Pauli-Matrizen}, sie haben die Kommutatoren +\begin{align*} +[\sigma_1,\sigma_2] +&= +\begin{pmatrix}0&1\\1&0\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +- +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +\begin{pmatrix}0&1\\1&0\end{pmatrix} += +2\begin{pmatrix}i&0\\0&-i \end{pmatrix} += +2i\sigma_3, +\\ +[\sigma_2,\sigma_3] +&= +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +- +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} += +2 +\begin{pmatrix}0&i\\i&0\end{pmatrix} += +2i\sigma_1. +\\ +[\sigma_1,\sigma_3] +&= +\begin{pmatrix}0&1\\1&0\end{pmatrix} +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +- +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +\begin{pmatrix}0&1\\1&0\end{pmatrix} += +2i +\begin{pmatrix}0&-1\\1&0\end{pmatrix} += +2i\sigma_2, +\end{align*} +Bis auf eine Skalierung stimmt dies überein mit den Kommutatorprodukten +der Matrizen $\omega_{23}$, $\omega_{31}$ und $\omega_{12}$ +in \eqref{buch:gruppen:eqn:so3-kommutatoren}. +Die Matrizen $-\frac12i\sigma_j$ haben die Kommutatorprodukte +\begin{align*} +\bigl[-{\textstyle\frac12}i\sigma_1,-{\textstyle\frac12}i\sigma_2\bigr] +&= +-{\textstyle\frac14}[\sigma_1,\sigma_2] += +-{\textstyle\frac14}\cdot 2i\sigma_3 += +-{\textstyle\frac12}i\sigma_3 +\\ +\bigl[-{\textstyle\frac12}i\sigma_2,-{\textstyle\frac12}i\sigma_3\bigr] +&= +-{\textstyle\frac14}[\sigma_2,\sigma_3] += +-{\textstyle\frac14}\cdot 2i\sigma_1 += +-{\textstyle\frac12}i\sigma_1 +\\ +\bigl[-{\textstyle\frac12}i\sigma_3,-{\textstyle\frac12}i\sigma_1\bigr] +&= +-{\textstyle\frac14}[\sigma_3,\sigma_1] += +-{\textstyle\frac14}\cdot 2i\sigma_2 += +-{\textstyle\frac12}i\sigma_2 +\end{align*} +Die lineare Abbildung, die +\begin{align*} +\omega_{23}&\mapsto -{\textstyle\frac12}i\sigma_1\\ +\omega_{31}&\mapsto -{\textstyle\frac12}i\sigma_2\\ +\omega_{12}&\mapsto -{\textstyle\frac12}i\sigma_3 +\end{align*} +abbildet ist daher ein Isomorphismus der Lie-Algebra $\operatorname{so}(3)$ +auf die Lie-Algebra $\operatorname{su}(2)$. +Die Lie-Gruppen $\operatorname{SO}(3)$ und $\operatorname{SU}(2)$ +haben also die gleiche Lie-Algebra. + +Tatsächlich kann man Hilfe von Quaternionen die Matrix $\operatorname{SU}(2)$ +als Einheitsquaternionen beschreiben und damit eine Darstellung der +Drehmatrizen in $\operatorname{SO}(3)$ finden. +Dies wird in Kapitel~\ref{chapter:clifford} dargestellt. + + + + + diff --git a/buch/chapters/60-gruppen/lie-gruppen.tex b/buch/chapters/60-gruppen/lie-gruppen.tex index d6fc007..2c88b76 100644 --- a/buch/chapters/60-gruppen/lie-gruppen.tex +++ b/buch/chapters/60-gruppen/lie-gruppen.tex @@ -1,881 +1,881 @@ -% -% lie-gruppen.tex -- Lie-Gruppebn -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Lie-Gruppen -\label{buch:section:lie-gruppen}} -\rhead{Lie-Gruppen} -Die in bisherigen Beispielen untersuchten Matrizengruppen zeichnen sich -durch zusätzliche Eigenschaften aus. -Die Gruppe -\[ -\operatorname{GL}_n(\mathbb{R}) -= -\{ A \in M_n(\mathbb{R})\;|\; \det A \ne 0\} -\] -besteht aus den Matrizen, deren Determinante nicht $0$ ist. -Da die Menge der Matrizen mit $\det A=0$ eine abgeschlossene Menge -in $M_n(\mathbb{R}) \simeq \mathbb{R}^{n^2}$ ist, ist -$\operatorname{GL}_n(\mathbb{R})$ eine offene Teilmenge in $\mathbb{R}^{n^2}$, -sie besitzt also automatisch die Struktur einer $n^2$-Mannigfaltigkeit. -Dies gilt jedoch auch für alle anderen Matrizengruppen, die in diesem -Abschnitt genauer untersucht werden sollen. - -\subsection{Mannigfaltigkeitsstruktur der Matrizengruppen -\label{buch:subsection:mannigfaltigkeitsstruktur-der-matrizengruppen}} -Eine Matrizengruppe wird automatsich zu einer Mannigfaltigkeit, -wenn es gelingt, eine Karte für eine Umgebung des neutralen Elements -zu finden. -Dazu muss gezeigt werden, dass sich aus einer solchen Karte für jedes -andere Gruppenelement eine Karte für eine Umgebung ableiten lässt. -Sei also $\varphi_e\colon U_e\mathbb{R}^N$ eine Karte für die Umgebung -$U_e\subset G$ von $e\in G$. -Für $g\in G$ ist dann die Abbildung -\[ -\varphi_g -\colon -U_g -= -gU_e -\to -\mathbb{R} -: -h\mapsto \varphi_e(g^{-1}h) -\] -eine Karte für die Umgebung $U_g$ des Gruppenelementes $g$. -schreibt man $l_{g}$ für die Abbildung $h\mapsto gh$, dann -kann man die Kartenabbildung auch $\varphi_g = \varphi_e\circ l_{g^{-1}}$ -schreiben. - -\subsubsection{Kartenwechsel} -Die Kartenwechsel-Abbildungen für zwei Karten $\varphi_{g_1}$ -und $\varphi_{g_2}$ ist die Abbildung -\[ -\varphi_{g_1,g_2} -= -\varphi_{g_1}\circ \varphi_{g_2}^{-1} -= -\varphi_e\circ l_{g_1^{-1}} \circ (\varphi_e\circ l_{g_2^{-1}})^{-1} -= -\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2^{-1}}^{-1} \varphi_e^{-1} -= -\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2}\varphi_e^{-1} -= -\varphi_e\circ l_{g_1^{-1}g_2}\varphi_e^{-1} -\] -mit der Ableitung -\[ -D\varphi_e\circ Dl_{g_1^{-1}g_2} D\varphi_e^{-1} -= -D\varphi_e\circ Dl_{g_1^{-1}g_2} (D\varphi_e)^{-1}. -\] -Die Abbildung $l_{g_1^{-1}g_2}$ ist aber nur die Multiplikation mit -einer Matrix, also eine lineare Abbildung, so dass der Kartenwechsel -nichts anderes ist als die Darstellung der Matrix der Linksmultiplikation -$l_{g_1^{-1}g_2}$ im Koordinatensystem der Karte $U_e$ ist. -Differenzierbarkeit der Kartenwechsel ist damit sichergestellt, -die Matrizengruppen sind automatisch differenzierbare Mannigfaltigkeiten. - -Die Konstruktion aller Karten aus einer einzigen Karte für eine -Umgebung des neutralen Elements zeigt auch, dass es für die Matrizengruppen -reicht, wenn man die Elemente in einer Umgebung des neutralen -Elementes parametrisieren kann. -Dies ist jedoch nicht nur für die Matrizengruppen möglich. -Wenn eine Gruppe gleichzeitig eine differenzierbare Mannigfaltigkeit -ist, dann können Karten über die ganze Gruppe transportiert werden, -wenn die Multiplikation mit Gruppenelementen eine differenzierbare -Abbildung ist. -Solche Gruppen heissen auch Lie-Gruppen gemäss der folgenden Definition. - -\begin{definition} -\index{Lie-Gruppe}% -Eine {\em Lie-Gruppe} ist eine Gruppe, die gleichzeitig eine differenzierbare -Mannigfaltigkeit ist derart, dass die Abbildungen -\begin{align*} -G\times G \to G &: (g_1,g_2)\mapsto g_1g_2 -\\ -G\to G &: g \mapsto g^{-1} -\end{align*} -differenzierbare Abbildungen zwischen Mannigfaltigkeiten sind. -\end{definition} - -Die Abstraktheit dieser Definition täuscht etwas über die -Tatsache hinweg, dass sich mit Hilfe der Darstellungstheorie -jede beliebige Lie-Gruppe als Untermannigfaltigkeit einer -Matrizengruppe verstehen lässt. -Das Studium der Matrizengruppen erlaubt uns daher ohne grosse -Einschränkungen ein Verständnis für die Theorie der Lie-Gruppen -zu entwickeln. - -\subsubsection{Tangentialvektoren und die Exponentialabbildung} -Die Matrizengruppen sind alle in der -$n^2$-dimensionalen Mannigfaltigkeit $\operatorname{GL}_n(\mathbb{R})$ -enthalten. -Diffferenzierbare Kurven $\gamma(t)$ in $\operatorname{GL}_n(\mathbb{R})$ -haben daher in jedem Punkt Tangentialvektoren, die als Matrizen in -$M_n(\mathbb{R})$ betrachtet werden können. -Wenn $\gamma(t)$ die Matrixelemente $\gamma_{ij}(t)$ hat, dann ist der -Tangentialvektor im Punkt $\gamma(t)$ durch -\[ -\frac{d}{dt} -\gamma(t) -= -\begin{pmatrix} -\dot{\gamma}_{11}(t)&\dots &\dot{\gamma}_{1n}(t)\\ -\vdots &\ddots&\vdots \\ -\dot{\gamma}_{n1}(t)&\dots &\dot{\gamma}_{nn}(t) -\end{pmatrix} -\] -gegeben. - -Im Allgemeinen kann man Tangentialvektoren in verschiedenen Punkten -einer Mannigfaltigkeit nicht miteinander vergleichen. -Die Multiplikation $l_g$, die den Punkt $e$ in den Punkt $g$ verschiebt, -transportiert auch die Tangentialvektoren im Punkt $e$ in -Tangentialvektoren im Punkt $g$. - -\begin{aufgabe} -Gibt es eine Kurve $\gamma(t)\in\mathbb{GL}_n(\mathbb{R})$ mit -$\gamma(0)=e$ derart, dass der Tangentialvektor im Punkt $\gamma(t)$ -für $t>0$ derselbe ist wie der Tangentialvektor im Punkt $e$, transportiert -durch Matrixmultiplikation mit $\gamma(t)$? -\end{aufgabe} - -Eine solche Kurve muss die Differentialgleichung -\begin{equation} -\frac{d}{dt}\gamma(t) -= -\gamma(t)\cdot A -\label{buch:gruppen:eqn:expdgl} -\end{equation} -erfüllen, wobei $A\in M_n(\mathbb{R})$ der gegebene Tangentialvektor -in $e=I$ ist. - -Die Matrixexponentialfunktion -\[ -e^{At} -= -1+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\frac{A^4t^4}{4!}+\dots -\] -liefert eine Einparametergruppe -$\mathbb{R}\to \operatorname{GL}_n(\mathbb{R})$ mit der Ableitung -\[ -\frac{d}{dt} e^{At} -= -\lim_{h\to 0} \frac{e^{A(t+h)}-e^{At}}{h} -= -\lim_{h\to 0} e^{At}\frac{e^{Ah}-I}{h} -= -e^{At} A. -\] -Sie ist also Lösung der Differentialgleichung~\eqref{buch:gruppen:eqn:expdgl}. - -\subsection{Drehungen in der Ebene -\label{buch:gruppen:drehungen2d}} -Die Drehungen der Ebene sind die orientierungserhaltenden Symmetrien -des Einheitskreises, der in Abbildung~\ref{buch:gruppen:fig:kartenkreis} -als Mannigfaltigkeit erkannt wurde. -Sie bilden eine Lie-Gruppe, die auf verschiedene Arten als Matrix -beschrieben werden kann. - -\subsubsection{Die Untergruppe -$\operatorname{SO}(2)\subset \operatorname{GL}_2(\mathbb{R})$} -Drehungen der Ebene können in einer orthonormierten Basis durch -Matrizen der Form -\[ -D_{\alpha} -= -\begin{pmatrix} -\cos\alpha&-\sin\alpha\\ -\sin\alpha& \cos\alpha -\end{pmatrix} -\] -dargestellt werden. -Wir bezeichnen die Menge der Drehmatrizen in der Ebene mit -$\operatorname{SO}(2)\subset\operatorname{GL}_2(\mathbb{R})$. -Die Abbildung -\[ -D_{\bullet} -\colon -\mathbb{R}\to \operatorname{SO}(2) -: -\alpha \mapsto D_{\alpha} -\] -hat die Eigenschaften -\begin{align*} -D_{\alpha+\beta}&= D_{\alpha}D_{\beta} -\\ -D_0&=I -\\ -D_{2k\pi}&=I\qquad \forall k\in\mathbb{Z}. -\end{align*} -Daraus folgt zum Beispiel, dass $D_{\bullet}$ eine $2\pi$-periodische -Funktion ist. -$D_{\bullet}$ bildet die Menge der Winkel $[0,2\pi)$ bijektiv auf -die Menge der Drehmatrizen in der Ebene ab. - -Für jedes Intervall $(a,b)\subset\mathbb{R}$ mit Länge -$b-a < 2\pi$ ist die Abbildung $\alpha\mapsto D_{\alpha}$ umkehrbar, -die Umkehrung kann als Karte verwendet werden. -Zwei verschiedene Karten $\alpha_1\colon U_1\to\mathbb{R}$ und -$\alpha_2\colon U_2\to\mathbb{R}$ bilden die Elemente $g\in U_1\cap U_2$ -in Winkel $\alpha_1(g)$ und $\alpha_2(g)$ ab, für die -$D_{\alpha_1(g)}=D_{\alpha_2(g)}$ gilt. -Dies ist gleichbedeutend damit, dass $\alpha_1(g)=\alpha_2(g)+2\pi k$ -mit $k\in \mathbb{Z}$. -In einem Intervall in $U_1\cap U_2$ muss $k$ konstant sein. -Die Kartenwechselabblidung ist also nur die Addition eines Vielfachen -von $2\pi$, mit der identischen Abbildung als Ableitung. -Diese Karten führen also auf besonders einfache Kartenwechselabbildungen. - -\subsubsection{Die Untergruppe $S^1\subset\mathbb{C}$} -Ein alternatives Bild für die Drehungen der Ebene kann man in der komplexen -Ebene $\mathbb{C}$ erhalten. -Die Multiplikation mit der komplexen Zahl $e^{i\alpha}$ beschreibt eine -Drehung der komplexen Ebene um den Winkel $\alpha$. -Die Zahlen der Form $e^{i\alpha}$ haben den Betrag $1$ und die Abbildung -\[ -f\colon \mathbb{R}\to \mathbb{C}:\alpha \mapsto e^{i\alpha} -\] -hat die Eigenschaften -\begin{align*} -f(\alpha+\beta) &= f(\alpha)f(\beta) -\\ -f(0)&=1 -\\ -f(2\pi k)&=1\qquad\forall k\in\mathbb{Z}, -\end{align*} -die zu den Eigenschaften der Abbildung $\alpha\mapsto D_{\alpha}$ -analog sind. - -Jede komplexe Zahl $z$ vom Betrag $1$ kann geschrieben werden in der Form -$z=e^{i\alpha}$, die Abbildung $f$ ist also eine Parametrisierung des -Einheitskreises in der Ebene. -Wir bezeichen $S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ die komplexen Zahlen vom -Betrag $1$. -$S^1$ ist eine Gruppe bezüglich der Multiplikation, da für jede Zahl -$z,w\in S^1$ gilt -$|z^{-1}|=1$ und $|zw|=1$ und damit $z^{-1}\in S^1$ und $zw\in S^1$. - -Zu einer komplexen Zahl $z\in S^1$ gibt es einen bis auf Vielfache -von $2\pi$ eindeutigen Winkel $\alpha(z)$ derart, dass $e^{i\alpha(z)}=z$. -Damit kann man jetzt die Abbildung -\[ -\varphi -\colon -S^1\to \operatorname{SO}(2) -: -z\mapsto D_{\alpha(z)} -\] -konstruieren. -Da $D_{\alpha}$ $2\pi$-periodisch ist, geben um Vielfache -von $2\pi$ verschiedene Wahlen von $\alpha(z)$ die gleiche -Matrix $D_{\alpha(z)}$, die Abbildung $\varphi$ ist daher -wohldefiniert. -$\varphi$ erfüllt ausserdem die Bedingungen -\begin{align*} -\varphi(z_1z_2) -&= -D_{\alpha(z_1z_2)} -= -D_{\alpha(z_1)+\alpha(z_2)} -= -D_{\alpha(z_1)}D_{\alpha(z_2)} -= -\varphi(z_1)\varphi(z_2) -\\ -\varphi(1) -&= -D_{\alpha(1)} -= -D_0 -= -I -\end{align*} -Die Abbildung $\varphi$ ist ein Homomorphismus der Gruppe $S^1$ -in die Gruppe $\operatorname{SO}(2)$. -Die Menge der Drehmatrizen in der Ebene kann also mit dem Einheitskreis -in der komplexen Ebene identifiziert werden. - -\subsubsection{Tangentialvektoren von $\operatorname{SO}(2)$} -Da die Gruppe $\operatorname{SO}(2)$ eine eindimensionale Gruppe -ist, kann jede Kurve $\gamma(t)$ durch den Drehwinkel $\alpha(t)$ -mit $\gamma(t) = D_{\alpha(t)}$ beschrieben werden. -Die Ableitung in $M_2(\mathbb{R})$ ist -\begin{align*} -\frac{d}{dt} \gamma(t) -&= -\frac{d}{d\alpha} -\begin{pmatrix} -\cos\alpha(t) & - \sin\alpha(t)\\ -\sin\alpha(t) & \cos\alpha(t) -\end{pmatrix} -\cdot -\frac{d\alpha}{dt} -\\ -&= -\begin{pmatrix} --\sin\alpha(t)&-\cos\alpha(t)\\ - \cos\alpha(t)&-\sin\alpha(t) -\end{pmatrix} -\cdot -\dot{\alpha}(t) -\\ -&= -\begin{pmatrix} -\cos\alpha(t) & - \sin\alpha(t)\\ -\sin\alpha(t) & \cos\alpha(t) -\end{pmatrix} -\begin{pmatrix} -0&-1\\ -1&0 -\end{pmatrix} -\cdot -\dot{\alpha}(t) -= -D_{\alpha(t)}J\cdot\dot{\alpha}(t). -\end{align*} -Alle Tangentialvektoren von $\operatorname{SO}(2)$ im Punkt $D_\alpha$ -entstehen aus $J$ durch Drehung mit der Matrix $D_\alpha$ und Skalierung -mit $\dot{\alpha}(t)$. - -% -% Isometrien von R^n -% -\subsection{Isometrien von $\mathbb{R}^n$ -\label{buch:gruppen:isometrien}} - -\subsubsection{Skalarprodukt} -Lineare Abbildungen des Raumes $\mathbb{R}^n$ können durch -$n\times n$-Matrizen beschrieben werden. -Die Matrizen, die das Standardskalarprodukt $\mathbb{R}^n$ erhalten, -bilden eine Gruppe, die in diesem Abschnitt genauer untersucht werden soll. -Eine Matrix $A\in M_{n}(\mathbb{R})$ ändert das Skalarprodukt, wenn -für jedes beliebige Paar $x,y$ von Vektoren gilt -$\langle Ax,Ay\rangle = \langle x,y\rangle$. -Das Standardskalarprodukt kann mit dem Matrixprodukt ausgedrückt werden: -\[ -\langle Ax,Ay\rangle -= -(Ax)^tAy -= -x^tA^tAy -= -x^ty -= -\langle x,y\rangle -\] -für jedes Paar von Vektoren $x,y\in\mathbb{R}$. - -Mit dem Skalarprodukt kann man auch die Matrixelemente einer Matrix -einer Abbildung $f$ in der Standardbasis bestimmen. -Das Skalarprodukt $\langle e_i, v\rangle$ ist die Länge der Projektion -des Vektors $v$ auf die Richtung $e_i$. -Die Komponenten von $Ae_j$ sind daher $a_{ij}=\langle e_i,f(e_j)\rangle$. -Die Matrix $A$ der Abbildung $f$ hat also die Matrixelemente -$a_{ij}=e_i^tAe_j$. - -\subsubsection{Die orthogonale Gruppe $\operatorname{O}(n)$} -Die Matrixelemente von $A^tA$ sind -$\langle A^tAe_i, e_j\rangle =\langle e_i,e_j\rangle = \delta_{ij}$ -sind diejenigen der Einheitsmatrix, -die Matrix $A$ erfüllt $AA^t=I$ oder $A^{-1}=A^t$. -Dies sind die {\em orthogonalen} Matrizen. -Die Menge $\operatorname{O}(n)$ der isometrischen Abbildungen besteht -daher aus den Matrizen -\[ -\operatorname{O}(n) -= -\{ A\in M_n(\mathbb{R})\;|\; AA^t=I\}. -\] -Die Matrixgleichung $AA^t=I$ liefert $n(n+1)/2$ unabhängige Bedingungen, -die die orthogonalen Matrizen innerhalb der $n^2$-dimensionalen -Menge $M_n(\mathbb{R})$ auszeichnen. -Die Menge $\operatorname{O}(n)$ der orthogonalen Matrizen hat daher -die Dimension -\[ -n^2 - \frac{n(n+1)}{2} -= -\frac{2n^2-n^2-n}{2} -= -\frac{n(n-1)}2. -\] -Im Spezialfall $n=2$ ist die Gruppe $O(2)$ eindimensional. - -\subsubsection{Tangentialvektoren} -Die orthogonalen Matrizen bilden eine abgeschlossene Untermannigfaltigkeit -von $\operatorname{GL}_n(\mathbb{R})$, nicht jede Matrix $M_n(\mathbb{R})$ -kann also ein Tangentialvektor von $O(n)$ sein. -Um herauszufinden, welche Matrizen als Tangentialvektoren in Frage -kommen, betrachten wir eine Kurve $\gamma\colon\mathbb{R}\to O(n)$ -von orthogonalen Matrizen mit $\gamma(0)=I$. -Orthogonal bedeutet -\[ -\begin{aligned} -&& -0 -&= -\frac{d}{dt}I -= -\frac{d}{dt} -(\gamma(t)^t\gamma(t)) -= -\dot{\gamma}(t)^t\gamma(t)) -+ -\gamma(t)^t\dot{\gamma}(t)) -\\ -&\Rightarrow& -0 -&= -\dot{\gamma}(0)^t \cdot I + I\cdot \dot{\gamma(0)} -= -\dot{\gamma}(0)^t + \dot{\gamma}(0) -= -A^t+A=0 -\\ -&\Rightarrow& -A^t&=-A -\end{aligned} -\] -Die Tangentialvektoren von $\operatorname{O}(n)$ sind also genau -die antisymmetrischen Matrizen. - -Für $n=2$ sind alle antisymmetrischen Matrizen Vielfache der Matrix -$J$, wie in Abschnitt~\ref{buch:gruppen:drehungen2d} -gezeigt wurde. - -Für jedes Paar $i0$ derselbe ist wie der Tangentialvektor im Punkt $e$, transportiert +durch Matrixmultiplikation mit $\gamma(t)$? +\end{aufgabe} + +Eine solche Kurve muss die Differentialgleichung +\begin{equation} +\frac{d}{dt}\gamma(t) += +\gamma(t)\cdot A +\label{buch:gruppen:eqn:expdgl} +\end{equation} +erfüllen, wobei $A\in M_n(\mathbb{R})$ der gegebene Tangentialvektor +in $e=I$ ist. + +Die Matrixexponentialfunktion +\[ +e^{At} += +1+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\frac{A^4t^4}{4!}+\dots +\] +liefert eine Einparametergruppe +$\mathbb{R}\to \operatorname{GL}_n(\mathbb{R})$ mit der Ableitung +\[ +\frac{d}{dt} e^{At} += +\lim_{h\to 0} \frac{e^{A(t+h)}-e^{At}}{h} += +\lim_{h\to 0} e^{At}\frac{e^{Ah}-I}{h} += +e^{At} A. +\] +Sie ist also Lösung der Differentialgleichung~\eqref{buch:gruppen:eqn:expdgl}. + +\subsection{Drehungen in der Ebene +\label{buch:gruppen:drehungen2d}} +Die Drehungen der Ebene sind die orientierungserhaltenden Symmetrien +des Einheitskreises, der in Abbildung~\ref{buch:gruppen:fig:kartenkreis} +als Mannigfaltigkeit erkannt wurde. +Sie bilden eine Lie-Gruppe, die auf verschiedene Arten als Matrix +beschrieben werden kann. + +\subsubsection{Die Untergruppe +$\operatorname{SO}(2)\subset \operatorname{GL}_2(\mathbb{R})$} +Drehungen der Ebene können in einer orthonormierten Basis durch +Matrizen der Form +\[ +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +dargestellt werden. +Wir bezeichnen die Menge der Drehmatrizen in der Ebene mit +$\operatorname{SO}(2)\subset\operatorname{GL}_2(\mathbb{R})$. +Die Abbildung +\[ +D_{\bullet} +\colon +\mathbb{R}\to \operatorname{SO}(2) +: +\alpha \mapsto D_{\alpha} +\] +hat die Eigenschaften +\begin{align*} +D_{\alpha+\beta}&= D_{\alpha}D_{\beta} +\\ +D_0&=I +\\ +D_{2k\pi}&=I\qquad \forall k\in\mathbb{Z}. +\end{align*} +Daraus folgt zum Beispiel, dass $D_{\bullet}$ eine $2\pi$-periodische +Funktion ist. +$D_{\bullet}$ bildet die Menge der Winkel $[0,2\pi)$ bijektiv auf +die Menge der Drehmatrizen in der Ebene ab. + +Für jedes Intervall $(a,b)\subset\mathbb{R}$ mit Länge +$b-a < 2\pi$ ist die Abbildung $\alpha\mapsto D_{\alpha}$ umkehrbar, +die Umkehrung kann als Karte verwendet werden. +Zwei verschiedene Karten $\alpha_1\colon U_1\to\mathbb{R}$ und +$\alpha_2\colon U_2\to\mathbb{R}$ bilden die Elemente $g\in U_1\cap U_2$ +in Winkel $\alpha_1(g)$ und $\alpha_2(g)$ ab, für die +$D_{\alpha_1(g)}=D_{\alpha_2(g)}$ gilt. +Dies ist gleichbedeutend damit, dass $\alpha_1(g)=\alpha_2(g)+2\pi k$ +mit $k\in \mathbb{Z}$. +In einem Intervall in $U_1\cap U_2$ muss $k$ konstant sein. +Die Kartenwechselabblidung ist also nur die Addition eines Vielfachen +von $2\pi$, mit der identischen Abbildung als Ableitung. +Diese Karten führen also auf besonders einfache Kartenwechselabbildungen. + +\subsubsection{Die Untergruppe $S^1\subset\mathbb{C}$} +Ein alternatives Bild für die Drehungen der Ebene kann man in der komplexen +Ebene $\mathbb{C}$ erhalten. +Die Multiplikation mit der komplexen Zahl $e^{i\alpha}$ beschreibt eine +Drehung der komplexen Ebene um den Winkel $\alpha$. +Die Zahlen der Form $e^{i\alpha}$ haben den Betrag $1$ und die Abbildung +\[ +f\colon \mathbb{R}\to \mathbb{C}:\alpha \mapsto e^{i\alpha} +\] +hat die Eigenschaften +\begin{align*} +f(\alpha+\beta) &= f(\alpha)f(\beta) +\\ +f(0)&=1 +\\ +f(2\pi k)&=1\qquad\forall k\in\mathbb{Z}, +\end{align*} +die zu den Eigenschaften der Abbildung $\alpha\mapsto D_{\alpha}$ +analog sind. + +Jede komplexe Zahl $z$ vom Betrag $1$ kann geschrieben werden in der Form +$z=e^{i\alpha}$, die Abbildung $f$ ist also eine Parametrisierung des +Einheitskreises in der Ebene. +Wir bezeichen $S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ die komplexen Zahlen vom +Betrag $1$. +$S^1$ ist eine Gruppe bezüglich der Multiplikation, da für jede Zahl +$z,w\in S^1$ gilt +$|z^{-1}|=1$ und $|zw|=1$ und damit $z^{-1}\in S^1$ und $zw\in S^1$. + +Zu einer komplexen Zahl $z\in S^1$ gibt es einen bis auf Vielfache +von $2\pi$ eindeutigen Winkel $\alpha(z)$ derart, dass $e^{i\alpha(z)}=z$. +Damit kann man jetzt die Abbildung +\[ +\varphi +\colon +S^1\to \operatorname{SO}(2) +: +z\mapsto D_{\alpha(z)} +\] +konstruieren. +Da $D_{\alpha}$ $2\pi$-periodisch ist, geben um Vielfache +von $2\pi$ verschiedene Wahlen von $\alpha(z)$ die gleiche +Matrix $D_{\alpha(z)}$, die Abbildung $\varphi$ ist daher +wohldefiniert. +$\varphi$ erfüllt ausserdem die Bedingungen +\begin{align*} +\varphi(z_1z_2) +&= +D_{\alpha(z_1z_2)} += +D_{\alpha(z_1)+\alpha(z_2)} += +D_{\alpha(z_1)}D_{\alpha(z_2)} += +\varphi(z_1)\varphi(z_2) +\\ +\varphi(1) +&= +D_{\alpha(1)} += +D_0 += +I +\end{align*} +Die Abbildung $\varphi$ ist ein Homomorphismus der Gruppe $S^1$ +in die Gruppe $\operatorname{SO}(2)$. +Die Menge der Drehmatrizen in der Ebene kann also mit dem Einheitskreis +in der komplexen Ebene identifiziert werden. + +\subsubsection{Tangentialvektoren von $\operatorname{SO}(2)$} +Da die Gruppe $\operatorname{SO}(2)$ eine eindimensionale Gruppe +ist, kann jede Kurve $\gamma(t)$ durch den Drehwinkel $\alpha(t)$ +mit $\gamma(t) = D_{\alpha(t)}$ beschrieben werden. +Die Ableitung in $M_2(\mathbb{R})$ ist +\begin{align*} +\frac{d}{dt} \gamma(t) +&= +\frac{d}{d\alpha} +\begin{pmatrix} +\cos\alpha(t) & - \sin\alpha(t)\\ +\sin\alpha(t) & \cos\alpha(t) +\end{pmatrix} +\cdot +\frac{d\alpha}{dt} +\\ +&= +\begin{pmatrix} +-\sin\alpha(t)&-\cos\alpha(t)\\ + \cos\alpha(t)&-\sin\alpha(t) +\end{pmatrix} +\cdot +\dot{\alpha}(t) +\\ +&= +\begin{pmatrix} +\cos\alpha(t) & - \sin\alpha(t)\\ +\sin\alpha(t) & \cos\alpha(t) +\end{pmatrix} +\begin{pmatrix} +0&-1\\ +1&0 +\end{pmatrix} +\cdot +\dot{\alpha}(t) += +D_{\alpha(t)}J\cdot\dot{\alpha}(t). +\end{align*} +Alle Tangentialvektoren von $\operatorname{SO}(2)$ im Punkt $D_\alpha$ +entstehen aus $J$ durch Drehung mit der Matrix $D_\alpha$ und Skalierung +mit $\dot{\alpha}(t)$. + +% +% Isometrien von R^n +% +\subsection{Isometrien von $\mathbb{R}^n$ +\label{buch:gruppen:isometrien}} + +\subsubsection{Skalarprodukt} +Lineare Abbildungen des Raumes $\mathbb{R}^n$ können durch +$n\times n$-Matrizen beschrieben werden. +Die Matrizen, die das Standardskalarprodukt $\mathbb{R}^n$ erhalten, +bilden eine Gruppe, die in diesem Abschnitt genauer untersucht werden soll. +Eine Matrix $A\in M_{n}(\mathbb{R})$ ändert das Skalarprodukt, wenn +für jedes beliebige Paar $x,y$ von Vektoren gilt +$\langle Ax,Ay\rangle = \langle x,y\rangle$. +Das Standardskalarprodukt kann mit dem Matrixprodukt ausgedrückt werden: +\[ +\langle Ax,Ay\rangle += +(Ax)^tAy += +x^tA^tAy += +x^ty += +\langle x,y\rangle +\] +für jedes Paar von Vektoren $x,y\in\mathbb{R}$. + +Mit dem Skalarprodukt kann man auch die Matrixelemente einer Matrix +einer Abbildung $f$ in der Standardbasis bestimmen. +Das Skalarprodukt $\langle e_i, v\rangle$ ist die Länge der Projektion +des Vektors $v$ auf die Richtung $e_i$. +Die Komponenten von $Ae_j$ sind daher $a_{ij}=\langle e_i,f(e_j)\rangle$. +Die Matrix $A$ der Abbildung $f$ hat also die Matrixelemente +$a_{ij}=e_i^tAe_j$. + +\subsubsection{Die orthogonale Gruppe $\operatorname{O}(n)$} +Die Matrixelemente von $A^tA$ sind +$\langle A^tAe_i, e_j\rangle =\langle e_i,e_j\rangle = \delta_{ij}$ +sind diejenigen der Einheitsmatrix, +die Matrix $A$ erfüllt $AA^t=I$ oder $A^{-1}=A^t$. +Dies sind die {\em orthogonalen} Matrizen. +Die Menge $\operatorname{O}(n)$ der isometrischen Abbildungen besteht +daher aus den Matrizen +\[ +\operatorname{O}(n) += +\{ A\in M_n(\mathbb{R})\;|\; AA^t=I\}. +\] +Die Matrixgleichung $AA^t=I$ liefert $n(n+1)/2$ unabhängige Bedingungen, +die die orthogonalen Matrizen innerhalb der $n^2$-dimensionalen +Menge $M_n(\mathbb{R})$ auszeichnen. +Die Menge $\operatorname{O}(n)$ der orthogonalen Matrizen hat daher +die Dimension +\[ +n^2 - \frac{n(n+1)}{2} += +\frac{2n^2-n^2-n}{2} += +\frac{n(n-1)}2. +\] +Im Spezialfall $n=2$ ist die Gruppe $O(2)$ eindimensional. + +\subsubsection{Tangentialvektoren} +Die orthogonalen Matrizen bilden eine abgeschlossene Untermannigfaltigkeit +von $\operatorname{GL}_n(\mathbb{R})$, nicht jede Matrix $M_n(\mathbb{R})$ +kann also ein Tangentialvektor von $O(n)$ sein. +Um herauszufinden, welche Matrizen als Tangentialvektoren in Frage +kommen, betrachten wir eine Kurve $\gamma\colon\mathbb{R}\to O(n)$ +von orthogonalen Matrizen mit $\gamma(0)=I$. +Orthogonal bedeutet +\[ +\begin{aligned} +&& +0 +&= +\frac{d}{dt}I += +\frac{d}{dt} +(\gamma(t)^t\gamma(t)) += +\dot{\gamma}(t)^t\gamma(t)) ++ +\gamma(t)^t\dot{\gamma}(t)) +\\ +&\Rightarrow& +0 +&= +\dot{\gamma}(0)^t \cdot I + I\cdot \dot{\gamma(0)} += +\dot{\gamma}(0)^t + \dot{\gamma}(0) += +A^t+A=0 +\\ +&\Rightarrow& +A^t&=-A +\end{aligned} +\] +Die Tangentialvektoren von $\operatorname{O}(n)$ sind also genau +die antisymmetrischen Matrizen. + +Für $n=2$ sind alle antisymmetrischen Matrizen Vielfache der Matrix +$J$, wie in Abschnitt~\ref{buch:gruppen:drehungen2d} +gezeigt wurde. + +Für jedes Paar $i0}\{(x,y)\;|\;x^2+y^2=1\wedge x>0\} \to\mathbb{R} -: -(x,y) \mapsto y -\\ -\varphi_2&\colon U_{x<0}\{(x,y)\;|\;x^2+y^2=1\wedge x<0\} \to\mathbb{R} -: -(x,y) \mapsto y -\\ -\varphi_3&\colon U_{y>0}\{(x,y)\;|\;x^2+y^2=1\wedge y>0\} \to\mathbb{R} -: -(x,y) \mapsto x -\\ -\varphi_4&\colon U_{y<0}\{(x,y)\;|\;x^2+y^2=1\wedge y<0\} \to\mathbb{R} -: -(x,y) \mapsto x -\end{align*} -Die Werte der Kartenabbildungen sind genau die $x$- und $y$-Koordinaten -auf der in den Raum $\mathbb{R}^2$ eingebetteten Kreislinie. - -Für $\varphi_1$ und $\varphi_2$ sind die Definitionsgebiete disjunkt, -hier gibt es also keine Notwendigkeit, Koordinatenumrechnungen vornehmen -zu können. -Dasselbe gilt für $\varphi_3$ und $\varphi_4$. - -Die nichtleeren Schnittmengen der verschiedenen Kartengebiete beschreiben -jeweils die Punkte der Kreislinie in einem Quadranten. -Die Umrechnung zwischen den Koordinaten und ihre Ableitung -ist je nach Quadrant durch -\begin{align*} -&\text{1.~Quadrant}& -\varphi_{31} -&= -\varphi_3\circ\varphi_1^{-1}\colon y\mapsto\phantom{-}\sqrt{1-y^2\mathstrut} -& -D\varphi_{31} -&= --\frac{y}{\sqrt{1-y^2\mathstrut}} -\\ -&\text{2.~Quadrant}& -\varphi_{24} -&= -\varphi_3\circ\varphi_1^{-1}\colon x\mapsto\phantom{-}\sqrt{1-x^2\mathstrut} -& -D\varphi_{24} -&= --\frac{x}{\sqrt{1-x^2\mathstrut}} -\\ -&\text{3.~Quadrant}& -\varphi_{42} -&= -\varphi_3\circ\varphi_1^{-1}\colon y\mapsto-\sqrt{1-y^2\mathstrut} -& -D\varphi_{42} -&= -\phantom{-}\frac{y}{\sqrt{1-y^2\mathstrut}} -\\ -&\text{4.~Quadrant}& -\varphi_{14} -&= -\varphi_3\circ\varphi_1^{-1}\colon x\mapsto-\sqrt{1-x^2\mathstrut} -& -D\varphi_{14} -&= -\phantom{-}\frac{x}{\sqrt{1-x^2\mathstrut}} -\end{align*} -gegeben. -Diese Abbildungen sind im offenen Intervall $(-1,1)$ differenzierbar, -Schwierigkeiten mit der Ableitungen ergeben sich nur an den Stellen -$x=\pm1$ und $y=\pm 1$, die in einem Überschneidungsgebiet von Karten -nicht vorkommen können. -Somit bilden die vier Karten einen differenzierbaren Atlas für -die Kreislinie (Abbildung~\ref{buch:gruppen:fig:kartenkreis}). -\end{beispiel} - -\begin{beispiel} -Ganz analog zum vorangegangenen Beispiel über die Kreisline lässt sich -für eine $n$-di\-men\-sio\-nale Sphäre -\[ -S^n = \{ (x_1,\dots,x_{n+1})\;|\; x_0^2+\dots+x_n^2=1\} -\] -immer ein Atlas aus $2^{n+1}$ Karten mit den Koordinatenabbildungen -\[ -\varphi_{i,\pm} -\colon -U_{i,\pm} -= -\{p\in S^n\;|\; \pm x_i >0\} -\to -\mathbb{R}^n -: -p\mapsto (x_1,\dots,\hat{x}_i,\dots,x_{n+1}) -\] -konstruieren, der $S^n$ zu einer $n$-dimensionalen Mannigfaltigkeit macht. -\end{beispiel} - -\subsubsection{Tangentialraum} -Mit Hilfe einer Karte $\varphi_\alpha\colon U_\alpha\to\mathbb{R}^n$ -kann das Geschehen in einer Mannigfaltigkeit in den vertrauten -$n$-dimensionalen Raum $\mathbb{B}^n$ transportiert werden. -Eine Kurve $\gamma\colon \mathbb{R}\to M$, die so parametrisiert sein -soll, dass $\gamma(t)\in U_\alpha$ für $t$ in einer Umgebung $I$ von $0$ ist, -wird von der Karte in eine Kurve -$\gamma_\alpha=\varphi_\alpha\circ\gamma\colon I\to \mathbb{R}^n$ -abgebildet, -deren Tangentialvektor wieder ein Vektor in $\mathbb{R}^n$ ist. - -Eine zweite Karte $\varphi_\beta$ führt auf eine andere Kurve -mit der Parametrisierung -$\gamma_\beta=\varphi_\beta\circ\gamma\colon I \to \mathbb{R}^n$ -und einem anderen Tangentialvektor. -Die beiden Tangentialvektoren können aber mit der Ableitung der -Koordinatenwechsel-Abbildung -$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}\colon -\varphi_\alpha(U_\alpha\cap U_\beta)\to \mathbb{R}^n$ -ineinander umgerechnet werden. -Aus -\[ -\gamma_\beta -= -\varphi_\beta\circ \gamma -= -( -\varphi_\beta -\circ -\varphi_\alpha^{-1} -) -\circ -\varphi_\alpha\circ\gamma -= -\varphi_{\beta\alpha} -\circ -\varphi_\alpha\circ\gamma -= -\varphi_{\beta\alpha}\circ\gamma_\alpha -\] -folgt durch Ableitung nach dem Kurvenparameter $t$, dass -\[ -\frac{d}{dt}\gamma_\beta(t) -= -D\varphi_{\beta\alpha} -\cdot -\frac{d}{dt}\gamma_\alpha(t). -\] -Die Ableitung $D\varphi_{\beta\alpha}$ von $\varphi_{\beta\alpha}$ -an der Stelle $\gamma_\alpha(t)$ berechnet also aus dem Tangentialvektor -einer Kurve in der Karte $\varphi_\alpha$ den Tangentialvektor der -Kurve in der Karte $\varphi_\beta$. - -Die Forderung nach Differenzierbarkeit der Kartenwechselabbildungen -$\varphi_{\beta\alpha}$ stellt also nur sicher, dass die Beschreibung -eines Systemes mit Differentialgleichungen in verschiedenen -Koordinatensystemen auf die gleichen Lösungskurven in der -Mannigfaltigkeit führt. -Insbesondere ist die Verwendung von Karten ist also nur ein Werkzeug, -mit dem die Unmöglichkeit einer globalen Besschreibung einer -Mannigfaltigkeit $M$ mit einem einzigen globalen Koordinatensystem -ohne Singularitäten umgangen werden kann. - -\begin{beispiel} -Das Beispiel des Kreises in Abbildung~\ref{buch:gruppen:fig:kartenkreis} -zeigt, dass die Tangentialvektoren je nach Karte sehr verschieden -aussehen können. -Der Tangentialvektor der Kurve $\gamma(t) = (x(t), y(t))$ im Punkt -$\gamma(t)$ ist $\dot{y}(t)$ in den Karten $\varphi_1$ und $\varphi_2$ -und $\dot{x}(t)$ in den Karten $\varphi_3$ und $\varphi_4$. - -Die spezielle Kurve $\gamma(t) = (\cos t,\sin t)$ hat in einem Punkt -$t\in (0,\frac{\pi}2)$. -in der Karte $\varphi_1$ den Tangentialvektor $\dot{y}(t)=\cos t$, -in der Karte $\varphi_3$ aber den Tangentialvektor $\dot{x}=-\sin t$. -Die Ableitung des Kartenwechsels in diesem Punkt ist die $1\times 1$-Matrix -\[ -D\varphi_{31}(\gamma(t)) -= --\frac{y(t)}{\sqrt{1-y(t)^2}} -= --\frac{\sin t}{\sqrt{1-\sin^2 t}} -= --\frac{\sin t}{\cos t} -= --\tan t. -\] -Die Koordinatenumrechnung ist gegeben durch -\[ -\dot{x}(t) -= -D\varphi_{31}(\gamma(t)) -\dot{y}(t) -\] -wird für die spezielle Kurve $\gamma(t)=(\cos t,\sin t)$ wird dies zu -\[ -D\varphi_{31}(\gamma(t)) -\cdot -\dot{y}(t) -= --\tan t\cdot \cos t -= --\frac{\sin t}{\cos t}\cdot \cos t -= --\sin t -= -\dot{x}(t). -\qedhere -\] -\end{beispiel} - -Betrachtet man die Kreislinie als Kurve in $\mathbb{R}^2$, -dann ist der Tangentialvektor durch -$\dot{\gamma}(t)=(\dot{x}(t),\dot{y}(t))$ gegeben. -Da die Karten Projektionen auf die $x$- bzw.~$y$-Achsen sind, -entsteht der Tangentialvektor in der Karte durch Projektion -von $(\dot{x}(t),\dot{y}(t))$ auf die entsprechende Komponente. - -Die Tangentialvektoren in zwei verschiedenen Punkten der Kurve können -im Allgemeinen nicht miteinander verglichen werden. -Darüber hinweg hilft auch die Tatsache nicht, dass die Kreislinie -in den Vektorraum $\mathbb{R}^2$ eingebettet sind, wo sich Vektoren -durch Translation miteinander vergleichen lassen. -Ein nichtverschwindender Tangentialvektor im Punkt $(1,0)$ hat, -betrachtet als Vektor in $\mathbb{R}^2$ verschwindende $x$-Komponente, -für Tangentialvektoren im Inneren eines Quadranten ist dies nicht -der Fall. - -Eine Möglichkeit, einen Tangentialvektor in $(1,0)$ mit einem -Tangentialvektor im Punkt $(\cos t,\sin t)$ zu vergleichen, besteht -darin, den Vektor um den Winkel $t$ zu drehen. -Dies ist möglich, weil die Kreislinie eine kontinuierliche Symmetrie, -nämlich die Drehung um den Winkel $t$ hat, die es erlaubt, den Punkt $(1,0)$ -in den Punkt $(\cos t,\sin t)$ abzubilden. -Erst diese Symmetrie ermöglicht den Vergleich. -Dieser Ansatz ist für alle Matrizen erfolgreich, wie wir später sehen werden. - -Ein weiterer Ansatz, Tangentialvektoren zu vergleichen, ist die Idee, -einen sogenannten Zusammenhang zu definieren, eine Vorschrift, wie -Tangentialvektoren infinitesimal entlang von Kurven in der Mannigfaltigkeit -transportiert werden können. -Auf einer sogenannten {\em Riemannschen Mannigfaltigkeit} ist zusätzlich -zur Mannigfaltigkeitsstruktur die Längenmessung definiert. -Sie kann dazu verwendet werden, den Transport von Vektoren entlang einer -Kurve so zu definieren, dass dabei Längen und Winkel erhalten bleiben. -Dieser Ansatz ist die Basis der Theorie der Krümmung sogenannter -Riemannscher Mannigfaltigkeiten. - -\subsection{Der Satz von Noether -\label{buch:subsection:noether}} - - - - - - - +% +% symmetrien.tex -- Geometrische Beschreibung von Symmetrien, O(n), SO(n), +% Spiegelungen +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Symmetrien +\label{buch:section:symmetrien}} +\rhead{Symmetrien} +Der geometrische Begriff der Symmetrie meint die Eigenschaft eines +geometrischen Objektes, dass es bei einer Bewegung auf sich selbst +abgebildet wird. +Das Wort stammt aus dem altgriechischen, wo es {\em Gleichmass} +bedeutet. +Spiegelsymmetrische Objekte zeichnen sich zum Beispiel dadurch aus, +dass Messungen von Strecken die gleichen Werte ergeben wie die Messungen +der entsprechenden gespiegelten Strecken (siehe auch +Abbildung~\ref{buch:lie:bild:castlehoward}, was die Herkunft des +Begriffs verständlich macht. +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/60-gruppen/images/castle.jpeg} +\caption{Das Castle Howard in Yorkshire war in dieser ausgeprägt symmetrischen +Form geplant, wurde dann aber in modifizeirter Form gebaut. +Messungen zwischen Punkten in der rechten Hälfte des Bildes +ergeben die gleichen Werte wie Messungen entsprechenden Strecken +in der linken Hälfte, was den Begriff Symmetrie rechtfertigt. +\label{buch:lie:bild:castlehoward}} +\end{figure} +In der Physik wird dem Begriff der Symmetrie daher auch eine erweiterte +Bedeutung gegeben. +Jede Transformation eines Systems, welche bestimmte Grössen nicht +verändert, wird als Symmetrie bezeichnet. +Die Gesetze der Physik sind typischerweise unabhängig davon, wo man den +den Nullpunkt der Zeit oder das räumlichen Koordinatensystems ansetzt, +eine Transformation des Zeitnullpunktes oder des Ursprungs des +Koordinatensystems ändert daher die Bewegungsgleichungen nicht, sie ist +eine Symmetrie des Systems. + +Umgekehrt kann man fragen, welche Symmetrien ein System hat. +Da sich Symmetrien zusammensetzen und umkehren lassen, kann man in davon +ausgehen, dass die Symmetrietransformationen eine Gruppe bilden. +Besonders interessant ist dies im Falle von Transformationen, die +durch Matrizen beschrieben weren. +Eine unter der Symmetrie erhaltene Eigenschaft definiert so eine +Untergruppe der Gruppe $\operatorname{GL}_n(\mathbb{R})$ der +invertierbaren Matrizen. +Die erhaltenen Eigenschaften definieren eine Menge von Gleichungen, +denen die Elemente der Untergruppe genügen müssen. +Als Lösungsmenge einer Gleichung erhält die Untergruppe damit eine +zusätzliche geometrische Struktur, man nennt sie eine differenzierbare +Mannigfaltigkeit. +Dieser Begriff wird im Abschnitt~\ref{buch:subsection:mannigfaltigkeit} +eingeführt. +Es wird sich zum Beispiel zeigen, dass die Menge der Drehungen der +Ebene mit den Punkten eines Kreises parametrisieren lassen, +die Lösungen der Gleichung $x^2+y^2=1$ sind. + +Eine Lie-Gruppe ist eine Gruppe, die gleichzeitig eine differenzierbare +Mannigfaltigkeit ist. +Die Existenz von geometrischen Konzepten wie Tangentialvektoren +ermöglicht zusätzliche Werkzeuge, mit denen diese Gruppe untersucht +und verstanden werden können. +Ziel dieses Abschnitts ist, die Grundlagen für diese Untersuchung zu +schaffen, die dann im Abschnitt~\ref{buch:section:lie-algebren} +durchgeführt werden soll. + +\subsection{Algebraische Symmetrien +\label{buch:subsection:algebraische-symmetrien}} +Mit Matrizen lassen sich Symmetrien in einem geometrischen Problem +oder in einem physikalischen System beschreiben. +Man denkt dabei gerne zuerst an geometrische Symmetrien wie die +Symmetrie unter Punktspiegelung oder die Spiegelung an der $x_1$-$x_2$-Ebene, +wie sie zum Beispiel durch die Abbildungen +\[ +\mathbb{R}^3\to\mathbb{R}^3 : x\mapsto -x +\qquad\text{oder}\qquad +\mathbb{R}^3\to\mathbb{R}^3 : +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} +\mapsto +\begin{pmatrix}-x_1\\x_2\\x_3\end{pmatrix} +\] +dargestellt werden. +Beide haben zunächst die Eigenschaft, dass Längen und Winkel und damit +das Skalarprodukt erhalten sind. +Diese Eigenschaft allein erlaubt aber noch nicht, die beiden Transformationen +zu unterscheiden. +Die Punktspiegelung zeichnet sich dadurch aus, das alle Geraden und alle +Ebenen durch den Ursprung auf sich selbst abgebildet werden. +Dies funktioniert für die Ebenenspiegelung nicht, dort bleibt nur die +Spiegelungsebene (die $x_1$-$x_2$-Ebene im vorliegenden Fall) und +ihre Normale erhalten. +Die folgenden Beispiele sollen zeigen, wie solche Symmetriedefinitionen +auf algebraische Bedingungen an die Matrixelemente führen. + +Zu jeder Abbildung $f\colon\mathbb{R}^n\to\mathbb{R}^n$, unter der +ein geometrisches Objekt in $\mathbb{R}^n$ symmetrisch ist, können wir +sofort weitere Abbildungen angeben, die ebenfalls Symmetrien sind. +Zum Beispiel sind die iterierten Abbildungen $f\circ f$, $f\circ f\circ f$ +u.~s.~w., die wir auch $f^n$ mit $n\in\mathbb{N}$ schreiben werden, +ebenfalls Symmetrien. +Wenn die Symmetrie auch umkehrbar ist, dann gilt dies sogar für alle +$n\in\mathbb{Z}$. +Wir erhalten so eine Abbildung +$\varphi\colon \mathbb{Z}\to \operatorname{GL}_n(\mathbb{R}):n\mapsto f^n$ +mit den Eigenschaften $\varphi(0)=f^0 = I$ und +$\varphi(n+m)=f^{n+m}=f^n\circ f^m = \varphi(n)\circ\varphi(m)$. +$\varphi$ ist ein Homomorphismus der Gruppe $\mathbb{Z}$ in die Gruppe +$\operatorname{GL}_n(\mathbb{R})$. +Wir nennen dies eine {\em diskrete Symmetrie}. + +\subsection{Kontinuierliche Symmetrien +\label{buch:subsection:kontinuierliche-symmetrien}} +Von besonderem Interesse sind kontinuierliche Symmetrien. +Dies sind Abbildungen eines Systems, die von einem Parameter +abhängen. +Zum Beispiel können wir Drehungen der Ebene $\mathbb{R}^2$ um den +Winkel $\alpha$ durch Matrizen +\[ +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +beschrieben werden. +Ein Kreis um den Nullpunkt bleibt unter jeder dieser Drehungen invariant. +Im Gegensatz dazu sind alle $3n$-Ecke mit Schwerpunkt $0$ nur invariant +unter der einen Drehung $D_{\frac{2\pi}3}$ invariant. +Die kleinste Menge, die einen vorgegebenen Punkt enthält und unter +allen Drehungen $D_\alpha$ invariant ist, ist immer ein Kreis um +den Nullpunkt. + +\begin{definition} +Ein Homomorphismus $\varphi\colon\mathbb{R}\to\operatorname{GL}_n(\mathbb{R})$ +von der additiven Gruppe $\mathbb{R}$ in die allgemeine lineare Gruppe +heisst eine {\em Einparameter-Untergruppe} von +$\operatorname{GL}_n(\mathbb{R})$. +\end{definition} + +Die Abbildung +\[ +\varphi +\colon +\mathbb{R}\to\operatorname{GL}_n(\mathbb{R}) +: +\alpha \mapsto +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +ist also eine Einparameter-Untergruppe von $\operatorname{GL}_2(\mathbb{R})$. + +\subsubsection{Der harmonische Oszillator} +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/phasenraum.pdf} +\caption{Die Lösungen der +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +im Phasenraum sind Ellipsen mit Halbachsenverhältnis $\omega^{-1}$. +\label{chapter:gruppen:fig:phasenraum}} +\end{figure} +Eine Masse $m$ verbunden mit einer Feder mit der Federkonstanten $K$ +schwingt um die Ruhelage $x=0$ entsprechend der Differentialgleichung +\[ +m\frac{d^2}{dt^2} x(t) = -Kx(t). +\] +Die Kreisfrequenz der Schwingung ist +\[ +\omega = \sqrt{\frac{K}{m}}. +\] +Das System kann als zweidimensionales System im Phasenraum mit den +Koordinaten $x_1=x$ und $x_2=p=m\dot{x}$ beschrieben werden. +Die zweidimensionale Differentialgleichung ist +\begin{equation} +\left. +\begin{aligned} +\dot{x}(t) &= \frac{1}{m}p(t)\\ +\dot{p}(t) &= -Kx(t) +\end{aligned} +\quad +\right\} +\qquad\Rightarrow\qquad +\frac{d}{dt} +\begin{pmatrix}x(t)\\p(t)\end{pmatrix} += +\begin{pmatrix} +0&\frac{1}{m}\\ +-K&0 +\end{pmatrix} +\begin{pmatrix}x(t)\\p(t)\end{pmatrix}. +\label{chapter:gruppen:eqn:phasenraumdgl} +\end{equation} +Die Lösung der Differentialgleichung für die Anfangsbedingung $x(0)=1$ und +$p(0)=0$ ist +\[ +x(t) += +\cos \omega t +\qquad\Rightarrow\qquad +p(t) += +-\omega \sin\omega t, +\] +die Lösung zur Anfangsbedingung $x(0)=0$ und $p(0)=1$ ist +\[ +x(t) = \frac{1}{\omega} \sin\omega t, +\qquad +p(t) = \cos \omega t. +\] +In Matrixform kann man die allgemeine Lösung zur Anfangsbedingun $x(0)=x_0$ +und $p(0)=p_0$ +\begin{equation} +\begin{pmatrix} +x(t)\\ +p(t) +\end{pmatrix} += +\underbrace{ +\begin{pmatrix} + \cos \omega t & \frac{1}{\omega} \sin\omega t \\ +-\omega \sin\omega t & \cos\omega t +\end{pmatrix} +}_{\displaystyle =\Phi_t} +\begin{pmatrix}x_0\\p_0\end{pmatrix} +\label{buch:gruppen:eqn:phi} +\end{equation} +schreiben. +Die Matrizen $\Phi_t$ bilden eine Einparameter-Untergruppe von +$\operatorname{GL}_n(\mathbb{R})$, da +\begin{align*} +\Phi_s\Phi_t +&= +\begin{pmatrix} + \cos\omega s & \frac{1}{\omega} \sin\omega s \\ +-\omega \sin\omega s & \cos\omega s +\end{pmatrix} +\begin{pmatrix} + \cos\omega t & \frac{1}{\omega} \sin\omega t \\ +-\omega \sin\omega t & \cos\omega t +\end{pmatrix} +\\ +&= +\begin{pmatrix} +\cos\omega s \cos\omega t - \sin\omega s \sin\omega t +& \frac{1}{\omega} ( \cos\omega s \sin\omega t + \sin\omega s \cos \omega t) +\\ +-\omega (\sin\omega s \cos\omega t + \cos\omega s \sin\omega t ) +& \cos\omega s \cos\omega t -\sin\omega s \sin\omega t +\end{pmatrix} +\\ +&= +\begin{pmatrix} + \cos\omega(s+t) & \frac{1}{\omega}\sin\omega(s+t) \\ +-\omega \sin\omega(s+t) & \cos\omega(s+t) +\end{pmatrix} += +\Phi_{s+t} +\end{align*} +gilt. +Die Lösungen der +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +sind in Abbildung~\ref{chapter:gruppen:fig:phasenraum} +Die Matrizen $\Phi_t$ beschreiben eine kontinuierliche Symmetrie +des Differentialgleichungssystems, welches den harmonischen Oszillator +beschreibt. + +\subsubsection{Fluss einer Differentialgleichung} +Die Abbildungen $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} sind jeweils +Matrizen in $\operatorname{GL}_n(\mathbb{R})$. +Der Grund dafür ist, dass die +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +linear ist. +Dies hat zur Folge, dass für zwei Anfangsbedingungen $x_1,x_2\in\mathbb{R}^2$ +die Lösung für Linearkombinationen $\lambda x_1+\mu x_2$ durch +Linearkombination der Lösungen erhalten werden kann, also +aus der Formel +\[ +\Phi_t (\lambda x_1 + \mu x_2) = \lambda \Phi_t x_1 + \mu \Phi_t x_2. +\] +Dies zeigt, dass $\Phi_t$ für jedes $t$ eine lineare Abbildung sein muss. + +Für eine beliebige Differentialgleichung kann man immer noch eine Abbildung +$\Phi$ konstruieren, die aber nicht mehr linear ist. +Sei dazu die Differentialgleichung erster Ordnung +\begin{equation} +\frac{dx}{dt} += +f(t,x) +\qquad\text{mit}\qquad +f\colon \mathbb{R}\times\mathbb{R}^n \to \mathbb{R}^n +\label{buch:gruppen:eqn:dgl} +\end{equation} +gegeben. +Für jeden Anfangswert $x_0\in\mathbb{R}^n$ kann man mindestens für eine +gewisse Zeit $t <\varepsilon$ eine Lösung $x(t,x_0)$ finden mit $x(t,x_0)=x_0$. +Aus der Theorie der gewöhnlichen Differentialgleichungen ist auch +bekannt, dass $x(t,x_0)$ mindestens in der Nähe von $x_0$ differenzierbar von +$x_0$ abhängt. +Dies erlaubt eine Abbildung +\[ +\Phi\colon \mathbb{R}\times \mathbb{R}^n \to \mathbb{R}^n +: +(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0) +\] +zu definieren, die sowohl von $t$ als auch von $x_0$ differenzierbar +abhängt. +Aus der Definition folgt unmittelbar, dass $\Phi_0(x_0)=x_0$ ist, dass +also $\Phi_0$ die identische Abbildung von $\mathbb{R}^n$ ist. + +Aus der Definition lässt sich auch ableiten, dass +$\Phi_{s+t}=\Phi_s\circ\Phi_t$ gilt. +$\Phi_t(x_0)=x(t,x_0)$ ist der Endpunkt der Bahn, die bei $x_0$ beginnt +und sich während der Zeit $t$ entwickelt. +$\Phi_s(x(t,x_0))$ ist dann der Endpunkt der Bahn, die bei $x(t,x_0)$ +beginnt und sich während der Zeit $s$ entwickelt. +Somit ist $\Phi_s\circ \Phi_t(x_0)$ der Endpunkt der Bahn, die bei +$x_0$ beginnt und sich über die Zeit $s+t$ entwickelt. +In Formeln bedeutet dies +\[ +\Phi_{s+t} = \Phi_s\circ \Phi_t. +\] +Die Abbildung $t\mapsto \Phi_t$ ist also wieder ein Homomorphismus +von der additiven Gruppe $\mathbb{R}$ in eine Gruppe von differenzierbaren +Abbildungen $\mathbb{R}^n\to\mathbb{R}^n$. + +\begin{definition} +Die Abbildung +\[ +\Phi\colon \mathbb{R}\times\mathbb{R}^n\to\mathbb{R}^n +: +(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0) +\] +heisst der {\em Fluss} der Differentialgleichung +\eqref{buch:gruppen:eqn:dgl}, +wenn für jedes $x_0\in\mathbb{R}^n$ die Kurve $t\mapsto \Phi_t(x_0)$ +eine Lösung der Differentialgleichung ist mit Anfangsbedingung $x_0$. +\end{definition} + +Die Abbildung $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} ist also +der Fluss der Differentialgleichung des harmonischen Oszillators. + +\subsection{Mannigfaltigkeiten +\label{buch:subsection:mannigfaltigkeit}} +Eine Differentialgleichung der Form~\eqref{buch:gruppen:eqn:dgl} +stellt einen Zusammenhang her zwischen einem Punkt $x$ und der +Tangentialrichtung einer Bahnkurve $f(t,x)$. +Die Ableitung liefert die lineare Näherung der Bahkurve +\[ +x(t_0+h) = x(t_0) + h f(t_0,x_0) + o(h) +\] +für $h$ in einer kleinen Umgebung von $0$. +Das funktioniert auch, weil $f(t_0,x_0)$ selbst ein Vektor von +$\mathbb{R}^n$ ist, in dem die Bahnkurve verläuft. + +Diese Idee funktioniert nicht mehr zum Beispiel für eine +Differentialgleichung auf einer Kugeloberfläche, weil alle Punkte +$x(t_0)+hf(t_0,x_0)$ für alle $h\ne 0$ nicht mehr auf der Kugeloberfläche +liegen. +Physikalisch äussert sich das ein einer zusätzlichen Kraft, die nötig +ist, die Bahn auf der Kugeloberfläche zu halten. +Diese Kraft stellt zum Beispiel sicher, dass die Vektoren $f(t,x)$ für +Punkte $x$ auf der Kugeloberfläche immer tangential an die Kugel sind. +Trotzdem ist der Tangentialvektor oder der Geschwindigkeitsvektor +nicht mehr ein Objekt, welches als Teil der Kugeloberfläche definiert +werden kann, er kann nur definiert werden, wenn man sich die Kugel als +in einen höherdimensionalen Raum eingebettet vorstellen kann. + +Um die Idee der Differentialgleichung auf einer beliebigen Fläche +konsistent zu machen ist daher notwendig, die Idee einer Tagentialrichtung +auf eine Art zu definieren, die nicht von der Einbettung der Fläche +in den $n$-dimensionalen Raum abhängig ist. +Das in diesem Abschnitt entwickelte Konzept der {\em Mannigfaltigkeit} +löst dieses Problem. + +\subsubsection{Karten} +Die Navigation auf der Erdoberfläche verwendet das Koordinatensystem +der geographischen Länge und Breite. +Dieses Koordinatensystem funktioniert gut, solange man sich nicht an +den geographischen Polen befindet, denn deren Koordinaten sind +nicht mehr eindeutig. +Alle Punkte mit geographischer Breite $90^\circ$ und beliebiger +geographischer Länge beschreiben den Nordpol. +Auch die Ableitung funktioniert dort nicht mehr. +Bewegt man sich mit konstanter Geschwindigkeit über den Nordpol, +springt die Ableitung der geographischen Breite von einem positiven +Wert auf einen negativen Wert, sie kann also nicht differenzierbar sein. +Diese Einschränkungen sind in der Praxis nur ein geringes Problem dar, +da die meisten Reisen nicht über die Pole erfolgen. + +Der Polarforscher, der in unmittelbarer Umgebung des Poles arbeitet, +kann das Problem lösen, indem er eine lokale Karte für das Gebiet +um den Pol erstellt. +Dafür kann er beliebige Koordinaten verwenden, zum Beispiel auch +ein kartesisches Koordinatensystem, er muss nur eine Methode haben, +wie er seine Koordinaten wieder auf geographische Länge und Breite +umrechnen will. +Und wenn er über Geschwindigkeiten kommunizieren will, dann muss +er auch Ableitungen von Kurven in seinem kartesischen Koordinatensystem +umrechnen können auf die Kugelkoordinaten. +Dazu muss seine Umrechnungsformel von kartesischen Koordinaten +auf Kugelkoordinaten differenzierbar sein. + +Diese Idee wird durch das Konzept der Mannigfaltigkeit verallgemeinert. +Eine $n$-dimensionale {\em Mannigfaltigkeit} ist eine Menge $M$ von Punkten, +die lokal, also in der Umgebung eines Punktes, mit möglicherweise mehreren +verschiedenen Koordinatensystemen versehen werden kann. +Ein Koordinatensystem ist eine umkehrbare Abbildung einer offenen Teilmenge +$U\subset M$ in den Raum $\mathbb{R}^n$. +Die Komponenten dieser Abbildung heissen die {\em Koordinaten}. + +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/karten.pdf} +\caption{Karten +$\varphi_\alpha\colon U_\alpha\to \mathbb{R}^2$ +und +$\varphi_\beta\colon U_\beta\to \mathbb{R}^2$ +auf einem Torus. +Auf dem Überschneidungsgebiet $\varphi_\alpha^{-1}(U_\alpha\cap U_\beta)$ +ist der Kartenwechsel $\varphi_\beta\circ\varphi_\alpha^{-1}$ wohldefiniert +und muss differnzierbar sein, wenn eine differenzierbare Mannigfaltigkeit +entstehen soll. +\label{buch:gruppen:fig:karten}} +\end{figure} + +\begin{definition} +Eine Karte auf $M$ ist eine umkehrbare Abbildung +$\varphi\colon U\to \mathbb{R}^n$ (siehe auch +Abbildung~\ref{buch:gruppen:fig:karten}). +Ein differenzierbarer Atlas ist eine Familie von Karten $\varphi_\alpha$ +derart, dass die Definitionsgebiete $U_\alpha$ die ganze Menge $M$ +überdecken, und dass die Kartenwechsel Abbildungen +\[ +\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1} +\colon +\varphi_\alpha(U_\alpha\cap U_\beta) +\to +\varphi_\beta(U_\alpha\cap U_\beta) +\] +als Abbildung von offenen Teilmengen von $\mathbb{R}^n$ differenzierbar +ist. +Eine {$n$-dimensionale differenzierbare Mannigfaltigkeit} ist eine +Menge $M$ mit einem differenzierbaren Atlas. +\end{definition} + +Karten und Atlanten regeln also nur, wie sich verschiedene lokale +Koordinatensysteme ineinander umrechnen lassen. + +\begin{beispiel} +$M=\mathbb{R}^n$ ist eine differenzierbare Mannigfaltigkeit denn +die identische Abbildung $M\to \mathbb{R}^n$ ist eine Karte und ein +Atlas von $M$. +\end{beispiel} + +\begin{beispiel} +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/kartenkreis.pdf} +\caption{Karten für die Kreislinie $S^1\subset\mathbb{R}^2$. +\label{buch:gruppen:fig:kartenkreis}} +\end{figure} +Die Kreislinie in in der Ebene ist eine $1$-dimensionale Mannigfaltigkeit. +Natürlich kann sie nicht mit einer einzigen Karte beschrieben werden, +da es keine umkehrbaren Abbildungen zwischen $\mathbb{R}$ und der Kreislinie +gibt. +Die Projektionen auf die einzelnen Koordinaten liefern die folgenden +vier Karten: +\begin{align*} +\varphi_1&\colon U_{x>0}\{(x,y)\;|\;x^2+y^2=1\wedge x>0\} \to\mathbb{R} +: +(x,y) \mapsto y +\\ +\varphi_2&\colon U_{x<0}\{(x,y)\;|\;x^2+y^2=1\wedge x<0\} \to\mathbb{R} +: +(x,y) \mapsto y +\\ +\varphi_3&\colon U_{y>0}\{(x,y)\;|\;x^2+y^2=1\wedge y>0\} \to\mathbb{R} +: +(x,y) \mapsto x +\\ +\varphi_4&\colon U_{y<0}\{(x,y)\;|\;x^2+y^2=1\wedge y<0\} \to\mathbb{R} +: +(x,y) \mapsto x +\end{align*} +Die Werte der Kartenabbildungen sind genau die $x$- und $y$-Koordinaten +auf der in den Raum $\mathbb{R}^2$ eingebetteten Kreislinie. + +Für $\varphi_1$ und $\varphi_2$ sind die Definitionsgebiete disjunkt, +hier gibt es also keine Notwendigkeit, Koordinatenumrechnungen vornehmen +zu können. +Dasselbe gilt für $\varphi_3$ und $\varphi_4$. + +Die nichtleeren Schnittmengen der verschiedenen Kartengebiete beschreiben +jeweils die Punkte der Kreislinie in einem Quadranten. +Die Umrechnung zwischen den Koordinaten und ihre Ableitung +ist je nach Quadrant durch +\begin{align*} +&\text{1.~Quadrant}& +\varphi_{31} +&= +\varphi_3\circ\varphi_1^{-1}\colon y\mapsto\phantom{-}\sqrt{1-y^2\mathstrut} +& +D\varphi_{31} +&= +-\frac{y}{\sqrt{1-y^2\mathstrut}} +\\ +&\text{2.~Quadrant}& +\varphi_{24} +&= +\varphi_3\circ\varphi_1^{-1}\colon x\mapsto\phantom{-}\sqrt{1-x^2\mathstrut} +& +D\varphi_{24} +&= +-\frac{x}{\sqrt{1-x^2\mathstrut}} +\\ +&\text{3.~Quadrant}& +\varphi_{42} +&= +\varphi_3\circ\varphi_1^{-1}\colon y\mapsto-\sqrt{1-y^2\mathstrut} +& +D\varphi_{42} +&= +\phantom{-}\frac{y}{\sqrt{1-y^2\mathstrut}} +\\ +&\text{4.~Quadrant}& +\varphi_{14} +&= +\varphi_3\circ\varphi_1^{-1}\colon x\mapsto-\sqrt{1-x^2\mathstrut} +& +D\varphi_{14} +&= +\phantom{-}\frac{x}{\sqrt{1-x^2\mathstrut}} +\end{align*} +gegeben. +Diese Abbildungen sind im offenen Intervall $(-1,1)$ differenzierbar, +Schwierigkeiten mit der Ableitungen ergeben sich nur an den Stellen +$x=\pm1$ und $y=\pm 1$, die in einem Überschneidungsgebiet von Karten +nicht vorkommen können. +Somit bilden die vier Karten einen differenzierbaren Atlas für +die Kreislinie (Abbildung~\ref{buch:gruppen:fig:kartenkreis}). +\end{beispiel} + +\begin{beispiel} +Ganz analog zum vorangegangenen Beispiel über die Kreisline lässt sich +für eine $n$-di\-men\-sio\-nale Sphäre +\[ +S^n = \{ (x_1,\dots,x_{n+1})\;|\; x_0^2+\dots+x_n^2=1\} +\] +immer ein Atlas aus $2^{n+1}$ Karten mit den Koordinatenabbildungen +\[ +\varphi_{i,\pm} +\colon +U_{i,\pm} += +\{p\in S^n\;|\; \pm x_i >0\} +\to +\mathbb{R}^n +: +p\mapsto (x_1,\dots,\hat{x}_i,\dots,x_{n+1}) +\] +konstruieren, der $S^n$ zu einer $n$-dimensionalen Mannigfaltigkeit macht. +\end{beispiel} + +\subsubsection{Tangentialraum} +Mit Hilfe einer Karte $\varphi_\alpha\colon U_\alpha\to\mathbb{R}^n$ +kann das Geschehen in einer Mannigfaltigkeit in den vertrauten +$n$-dimensionalen Raum $\mathbb{B}^n$ transportiert werden. +Eine Kurve $\gamma\colon \mathbb{R}\to M$, die so parametrisiert sein +soll, dass $\gamma(t)\in U_\alpha$ für $t$ in einer Umgebung $I$ von $0$ ist, +wird von der Karte in eine Kurve +$\gamma_\alpha=\varphi_\alpha\circ\gamma\colon I\to \mathbb{R}^n$ +abgebildet, +deren Tangentialvektor wieder ein Vektor in $\mathbb{R}^n$ ist. + +Eine zweite Karte $\varphi_\beta$ führt auf eine andere Kurve +mit der Parametrisierung +$\gamma_\beta=\varphi_\beta\circ\gamma\colon I \to \mathbb{R}^n$ +und einem anderen Tangentialvektor. +Die beiden Tangentialvektoren können aber mit der Ableitung der +Koordinatenwechsel-Abbildung +$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}\colon +\varphi_\alpha(U_\alpha\cap U_\beta)\to \mathbb{R}^n$ +ineinander umgerechnet werden. +Aus +\[ +\gamma_\beta += +\varphi_\beta\circ \gamma += +( +\varphi_\beta +\circ +\varphi_\alpha^{-1} +) +\circ +\varphi_\alpha\circ\gamma += +\varphi_{\beta\alpha} +\circ +\varphi_\alpha\circ\gamma += +\varphi_{\beta\alpha}\circ\gamma_\alpha +\] +folgt durch Ableitung nach dem Kurvenparameter $t$, dass +\[ +\frac{d}{dt}\gamma_\beta(t) += +D\varphi_{\beta\alpha} +\cdot +\frac{d}{dt}\gamma_\alpha(t). +\] +Die Ableitung $D\varphi_{\beta\alpha}$ von $\varphi_{\beta\alpha}$ +an der Stelle $\gamma_\alpha(t)$ berechnet also aus dem Tangentialvektor +einer Kurve in der Karte $\varphi_\alpha$ den Tangentialvektor der +Kurve in der Karte $\varphi_\beta$. + +Die Forderung nach Differenzierbarkeit der Kartenwechselabbildungen +$\varphi_{\beta\alpha}$ stellt also nur sicher, dass die Beschreibung +eines Systemes mit Differentialgleichungen in verschiedenen +Koordinatensystemen auf die gleichen Lösungskurven in der +Mannigfaltigkeit führt. +Insbesondere ist die Verwendung von Karten ist also nur ein Werkzeug, +mit dem die Unmöglichkeit einer globalen Besschreibung einer +Mannigfaltigkeit $M$ mit einem einzigen globalen Koordinatensystem +ohne Singularitäten umgangen werden kann. + +\begin{beispiel} +Das Beispiel des Kreises in Abbildung~\ref{buch:gruppen:fig:kartenkreis} +zeigt, dass die Tangentialvektoren je nach Karte sehr verschieden +aussehen können. +Der Tangentialvektor der Kurve $\gamma(t) = (x(t), y(t))$ im Punkt +$\gamma(t)$ ist $\dot{y}(t)$ in den Karten $\varphi_1$ und $\varphi_2$ +und $\dot{x}(t)$ in den Karten $\varphi_3$ und $\varphi_4$. + +Die spezielle Kurve $\gamma(t) = (\cos t,\sin t)$ hat in einem Punkt +$t\in (0,\frac{\pi}2)$. +in der Karte $\varphi_1$ den Tangentialvektor $\dot{y}(t)=\cos t$, +in der Karte $\varphi_3$ aber den Tangentialvektor $\dot{x}=-\sin t$. +Die Ableitung des Kartenwechsels in diesem Punkt ist die $1\times 1$-Matrix +\[ +D\varphi_{31}(\gamma(t)) += +-\frac{y(t)}{\sqrt{1-y(t)^2}} += +-\frac{\sin t}{\sqrt{1-\sin^2 t}} += +-\frac{\sin t}{\cos t} += +-\tan t. +\] +Die Koordinatenumrechnung ist gegeben durch +\[ +\dot{x}(t) += +D\varphi_{31}(\gamma(t)) +\dot{y}(t) +\] +wird für die spezielle Kurve $\gamma(t)=(\cos t,\sin t)$ wird dies zu +\[ +D\varphi_{31}(\gamma(t)) +\cdot +\dot{y}(t) += +-\tan t\cdot \cos t += +-\frac{\sin t}{\cos t}\cdot \cos t += +-\sin t += +\dot{x}(t). +\qedhere +\] +\end{beispiel} + +Betrachtet man die Kreislinie als Kurve in $\mathbb{R}^2$, +dann ist der Tangentialvektor durch +$\dot{\gamma}(t)=(\dot{x}(t),\dot{y}(t))$ gegeben. +Da die Karten Projektionen auf die $x$- bzw.~$y$-Achsen sind, +entsteht der Tangentialvektor in der Karte durch Projektion +von $(\dot{x}(t),\dot{y}(t))$ auf die entsprechende Komponente. + +Die Tangentialvektoren in zwei verschiedenen Punkten der Kurve können +im Allgemeinen nicht miteinander verglichen werden. +Darüber hinweg hilft auch die Tatsache nicht, dass die Kreislinie +in den Vektorraum $\mathbb{R}^2$ eingebettet sind, wo sich Vektoren +durch Translation miteinander vergleichen lassen. +Ein nichtverschwindender Tangentialvektor im Punkt $(1,0)$ hat, +betrachtet als Vektor in $\mathbb{R}^2$ verschwindende $x$-Komponente, +für Tangentialvektoren im Inneren eines Quadranten ist dies nicht +der Fall. + +Eine Möglichkeit, einen Tangentialvektor in $(1,0)$ mit einem +Tangentialvektor im Punkt $(\cos t,\sin t)$ zu vergleichen, besteht +darin, den Vektor um den Winkel $t$ zu drehen. +Dies ist möglich, weil die Kreislinie eine kontinuierliche Symmetrie, +nämlich die Drehung um den Winkel $t$ hat, die es erlaubt, den Punkt $(1,0)$ +in den Punkt $(\cos t,\sin t)$ abzubilden. +Erst diese Symmetrie ermöglicht den Vergleich. +Dieser Ansatz ist für alle Matrizen erfolgreich, wie wir später sehen werden. + +Ein weiterer Ansatz, Tangentialvektoren zu vergleichen, ist die Idee, +einen sogenannten Zusammenhang zu definieren, eine Vorschrift, wie +Tangentialvektoren infinitesimal entlang von Kurven in der Mannigfaltigkeit +transportiert werden können. +Auf einer sogenannten {\em Riemannschen Mannigfaltigkeit} ist zusätzlich +zur Mannigfaltigkeitsstruktur die Längenmessung definiert. +Sie kann dazu verwendet werden, den Transport von Vektoren entlang einer +Kurve so zu definieren, dass dabei Längen und Winkel erhalten bleiben. +Dieser Ansatz ist die Basis der Theorie der Krümmung sogenannter +Riemannscher Mannigfaltigkeiten. + +\subsection{Der Satz von Noether +\label{buch:subsection:noether}} + + + + + + + diff --git a/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex b/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex index 2acf6f6..5c973fd 100644 --- a/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex +++ b/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex @@ -1,233 +1,233 @@ -Eine Drehung eines Vektors $\vec{x}$ der Ebene $\mathbb{R}^2$ -um den Winkel $\alpha$ gefolgt von einer Translation um $\vec{t}$ -ist gegeben durch $D_\alpha\vec{x}+\vec{t}$. -Darauf lässt sich jedoch die Theorie der Matrizengruppen nicht -darauf anwenden, weil die Operation nicht die Form einer Matrixmultiplikation -schreiben. -Die Drehung und Translation kann in eine Matrix zusammengefasst werden, -indem zunächst die Ebene mit -\[ -\mathbb{R}^2\to\mathbb{R}^3 -: -\begin{pmatrix}x\\y\end{pmatrix} -\mapsto -\begin{pmatrix}x\\y\\1\end{pmatrix} -\qquad\text{oder in Vektorschreibweise }\qquad -\vec{x}\mapsto\begin{pmatrix}\vec{x}\\1\end{pmatrix} -\] -in den dreidimensionalen Raum eingebettet wird. -Die Drehung und Verschiebung kann damit in der Form -\[ -\begin{pmatrix}D_\alpha\vec{x}+\vec{t}\\1 -\end{pmatrix} -= -\begin{pmatrix}D_\alpha&\vec{t}\\0&1\end{pmatrix} -\begin{pmatrix}\vec{x}\\1\end{pmatrix} -\] -als Matrizenoperation geschrieben werden. -Die Gruppe der Drehungen und Verschiebungen der Ebene ist daher -die Gruppe -\[ -G -= -\left\{ -\left. -A -= -\begin{pmatrix} -D_\alpha&\vec{t}\\ -0&1 -\end{pmatrix} -= -\begin{pmatrix} -\cos\alpha & -\sin\alpha & t_x \\ -\sin\alpha & \cos\alpha & t_y \\ - 0 & 0 & 1 -\end{pmatrix} -\; -\right| -\; -\alpha\in\mathbb{R},\vec{t}\in\mathbb{R}^2 -\right\} -\] -Wir kürzen die Elemente von $G$ auch als $(\alpha,\vec{t})$ ab. -\begin{teilaufgaben} -\item -Verifizieren Sie, dass das Produkt zweier solcher Matrizen -$(\alpha_1,\vec{t}_1)$ und $(\alpha_2,\vec{t}_2)$ -wieder die selbe Form $(\alpha,\vec{t})$ hat und berechnen Sie -$\alpha$ und $\vec{t}_j$. -\item -Bestimmen Sie das inverse Element zu $(\alpha,\vec{t}) \in G$. -\item -Die Elemente der Gruppe $G$ sind parametrisiert durch den Winkel $\alpha$ -und die Translationskomponenten $t_x$ und $t_y$. -Rechnen Sie nach, dass -\[ -\alpha\mapsto \begin{pmatrix} D_{\alpha}&0\\0&1\end{pmatrix}, -\quad -t_x\mapsto -\begin{pmatrix} I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix}, -\qquad -t_y\mapsto -\begin{pmatrix} I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} -\] -Einparameteruntergruppen von $G$ sind. -\item -Berechnen Sie die Tangentialvektoren $D$, $X$ und $Y$, -die zu den Einparameteruntergruppen von c) gehören. -\item -Berechnen Sie die Lie-Klammer für alle Paare von Tangentialvektoren. -\end{teilaufgaben} - -\begin{loesung} -\begin{teilaufgaben} -\item -Die Wirkung beider Gruppenelemente auf dem Vektor $\vec{x}$ ist -\begin{align*} -\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} -\begin{pmatrix}D_{\alpha_2}&\vec{t}_2\\0&1\end{pmatrix} -\begin{pmatrix}\vec{x}\\1\end{pmatrix} -&= -\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} -\begin{pmatrix}D_{\alpha_2}\vec{x}+\vec{t}_2\\1\end{pmatrix} -= -\begin{pmatrix} -D_{\alpha_1}(D_{\alpha_2}\vec{x}+\vec{t}_2)+\vec{t}_1\\1 -\end{pmatrix} -\\ -&= -\begin{pmatrix} -D_{\alpha_1}D_{\alpha_2}\vec{x} + D_{\alpha_1}\vec{t}_2+\vec{t}_1\\1 -\end{pmatrix} -= -\begin{pmatrix} -D_{\alpha_1+\alpha_2}&D_{\alpha_1}\vec{t}_2+\vec{t}_1\\ -0&1 -\end{pmatrix} -\begin{pmatrix}\vec{x}\\1\end{pmatrix}. -\end{align*} -Das Produkt in der Gruppe $G$ kann daher -\[ -(\alpha_1,\vec{t}_1) (\alpha_2,\vec{t}_2) -= -(\alpha_1+\alpha_2,\vec{t}_1+D_{\alpha_1}\vec{t}_2) -\] -geschrieben werden. -\item -Die Inverse der Abbildung $\vec{x}\mapsto \vec{y}=D_\alpha\vec{x}+\vec{t}$ -kann gefunden werden, indem man auf der rechten Seite nach $\vec{x}$ -auflöst: -\begin{align*} -\vec{y}&=D_\alpha\vec{x}+\vec{t} -&&\Rightarrow& -D_{\alpha}^{-1}( \vec{y}-\vec{t}) &= \vec{x} -\\ -&&&& \vec{x} &= D_{-\alpha}\vec{y} + (-D_{-\alpha}\vec{t}) -\end{align*} -Die Inverse von $(\alpha,\vec{t})$ ist also $(-\alpha,-D_{-\alpha}\vec{t})$. -\item -Da $D_\alpha$ eine Einparameteruntergruppe von $\operatorname{SO}(2)$ ist, -ist $\alpha\mapsto (D_\alpha,0)$ ebenfalls eine Einparameteruntergruppe. -Für die beiden anderen gilt -\[ -\biggl(I,\begin{pmatrix}t_{x1}\\0\end{pmatrix}\biggr) -\biggl(I,\begin{pmatrix}t_{x2}\\0\end{pmatrix}\biggr) -= -\biggl(I,\begin{pmatrix}t_{x1}+t_{x2}\\0\end{pmatrix}\biggr) -\quad\text{und}\quad -\biggl(I,\begin{pmatrix}0\\t_{y1}\end{pmatrix}\biggr) -\biggl(I,\begin{pmatrix}0\\t_{y2}\end{pmatrix}\biggr) -= -\biggl(I,\begin{pmatrix}0\\t_{y1}+t_{y2}\end{pmatrix}\biggr), -\] -also sind dies auch Einparameteruntergruppen. -\item -Die Ableitungen sind -\begin{align*} -D -&= -\frac{d}{d\alpha}\begin{pmatrix}D_\alpha&0\\0&1\end{pmatrix}\bigg|_{\alpha=0} -= -\begin{pmatrix}J&0\\0&0\end{pmatrix} -= -\begin{pmatrix} -0&-1&0\\ -1& 0&0\\ -0& 0&0 -\end{pmatrix} -\\ -X -&= -\frac{d}{dt_x} -\left. -\begin{pmatrix}I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix} -\right|_{t_x=0} -= -\begin{pmatrix} -0&0&1\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -& -Y -&= -\frac{d}{dt_y} -\left. -\begin{pmatrix}I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} -\right|_{t_y=0} -= -\begin{pmatrix} -0&0&0\\ -0&0&1\\ -0&0&0 -\end{pmatrix} -\end{align*} -\item -Die Vertauschungsrelationen sind -\begin{align*} -[D,X] -&= -DX-XD -= -\begin{pmatrix} -0&0&0\\ -0&0&1\\ -0&0&0 -\end{pmatrix} -- -\begin{pmatrix} -0&0&0\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -= -Y -\\ -[D,Y] -&= -DY-YD -= -\begin{pmatrix} -0&0&-1\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -- -\begin{pmatrix} -0&0&0\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -= --X -\\ -[X,Y] -&= -XY-YX -= -0-0=0 -\qedhere -\end{align*} -\end{teilaufgaben} -\end{loesung} +Eine Drehung eines Vektors $\vec{x}$ der Ebene $\mathbb{R}^2$ +um den Winkel $\alpha$ gefolgt von einer Translation um $\vec{t}$ +ist gegeben durch $D_\alpha\vec{x}+\vec{t}$. +Darauf lässt sich jedoch die Theorie der Matrizengruppen nicht +darauf anwenden, weil die Operation nicht die Form einer Matrixmultiplikation +schreiben. +Die Drehung und Translation kann in eine Matrix zusammengefasst werden, +indem zunächst die Ebene mit +\[ +\mathbb{R}^2\to\mathbb{R}^3 +: +\begin{pmatrix}x\\y\end{pmatrix} +\mapsto +\begin{pmatrix}x\\y\\1\end{pmatrix} +\qquad\text{oder in Vektorschreibweise }\qquad +\vec{x}\mapsto\begin{pmatrix}\vec{x}\\1\end{pmatrix} +\] +in den dreidimensionalen Raum eingebettet wird. +Die Drehung und Verschiebung kann damit in der Form +\[ +\begin{pmatrix}D_\alpha\vec{x}+\vec{t}\\1 +\end{pmatrix} += +\begin{pmatrix}D_\alpha&\vec{t}\\0&1\end{pmatrix} +\begin{pmatrix}\vec{x}\\1\end{pmatrix} +\] +als Matrizenoperation geschrieben werden. +Die Gruppe der Drehungen und Verschiebungen der Ebene ist daher +die Gruppe +\[ +G += +\left\{ +\left. +A += +\begin{pmatrix} +D_\alpha&\vec{t}\\ +0&1 +\end{pmatrix} += +\begin{pmatrix} +\cos\alpha & -\sin\alpha & t_x \\ +\sin\alpha & \cos\alpha & t_y \\ + 0 & 0 & 1 +\end{pmatrix} +\; +\right| +\; +\alpha\in\mathbb{R},\vec{t}\in\mathbb{R}^2 +\right\} +\] +Wir kürzen die Elemente von $G$ auch als $(\alpha,\vec{t})$ ab. +\begin{teilaufgaben} +\item +Verifizieren Sie, dass das Produkt zweier solcher Matrizen +$(\alpha_1,\vec{t}_1)$ und $(\alpha_2,\vec{t}_2)$ +wieder die selbe Form $(\alpha,\vec{t})$ hat und berechnen Sie +$\alpha$ und $\vec{t}_j$. +\item +Bestimmen Sie das inverse Element zu $(\alpha,\vec{t}) \in G$. +\item +Die Elemente der Gruppe $G$ sind parametrisiert durch den Winkel $\alpha$ +und die Translationskomponenten $t_x$ und $t_y$. +Rechnen Sie nach, dass +\[ +\alpha\mapsto \begin{pmatrix} D_{\alpha}&0\\0&1\end{pmatrix}, +\quad +t_x\mapsto +\begin{pmatrix} I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix}, +\qquad +t_y\mapsto +\begin{pmatrix} I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} +\] +Einparameteruntergruppen von $G$ sind. +\item +Berechnen Sie die Tangentialvektoren $D$, $X$ und $Y$, +die zu den Einparameteruntergruppen von c) gehören. +\item +Berechnen Sie die Lie-Klammer für alle Paare von Tangentialvektoren. +\end{teilaufgaben} + +\begin{loesung} +\begin{teilaufgaben} +\item +Die Wirkung beider Gruppenelemente auf dem Vektor $\vec{x}$ ist +\begin{align*} +\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} +\begin{pmatrix}D_{\alpha_2}&\vec{t}_2\\0&1\end{pmatrix} +\begin{pmatrix}\vec{x}\\1\end{pmatrix} +&= +\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} +\begin{pmatrix}D_{\alpha_2}\vec{x}+\vec{t}_2\\1\end{pmatrix} += +\begin{pmatrix} +D_{\alpha_1}(D_{\alpha_2}\vec{x}+\vec{t}_2)+\vec{t}_1\\1 +\end{pmatrix} +\\ +&= +\begin{pmatrix} +D_{\alpha_1}D_{\alpha_2}\vec{x} + D_{\alpha_1}\vec{t}_2+\vec{t}_1\\1 +\end{pmatrix} += +\begin{pmatrix} +D_{\alpha_1+\alpha_2}&D_{\alpha_1}\vec{t}_2+\vec{t}_1\\ +0&1 +\end{pmatrix} +\begin{pmatrix}\vec{x}\\1\end{pmatrix}. +\end{align*} +Das Produkt in der Gruppe $G$ kann daher +\[ +(\alpha_1,\vec{t}_1) (\alpha_2,\vec{t}_2) += +(\alpha_1+\alpha_2,\vec{t}_1+D_{\alpha_1}\vec{t}_2) +\] +geschrieben werden. +\item +Die Inverse der Abbildung $\vec{x}\mapsto \vec{y}=D_\alpha\vec{x}+\vec{t}$ +kann gefunden werden, indem man auf der rechten Seite nach $\vec{x}$ +auflöst: +\begin{align*} +\vec{y}&=D_\alpha\vec{x}+\vec{t} +&&\Rightarrow& +D_{\alpha}^{-1}( \vec{y}-\vec{t}) &= \vec{x} +\\ +&&&& \vec{x} &= D_{-\alpha}\vec{y} + (-D_{-\alpha}\vec{t}) +\end{align*} +Die Inverse von $(\alpha,\vec{t})$ ist also $(-\alpha,-D_{-\alpha}\vec{t})$. +\item +Da $D_\alpha$ eine Einparameteruntergruppe von $\operatorname{SO}(2)$ ist, +ist $\alpha\mapsto (D_\alpha,0)$ ebenfalls eine Einparameteruntergruppe. +Für die beiden anderen gilt +\[ +\biggl(I,\begin{pmatrix}t_{x1}\\0\end{pmatrix}\biggr) +\biggl(I,\begin{pmatrix}t_{x2}\\0\end{pmatrix}\biggr) += +\biggl(I,\begin{pmatrix}t_{x1}+t_{x2}\\0\end{pmatrix}\biggr) +\quad\text{und}\quad +\biggl(I,\begin{pmatrix}0\\t_{y1}\end{pmatrix}\biggr) +\biggl(I,\begin{pmatrix}0\\t_{y2}\end{pmatrix}\biggr) += +\biggl(I,\begin{pmatrix}0\\t_{y1}+t_{y2}\end{pmatrix}\biggr), +\] +also sind dies auch Einparameteruntergruppen. +\item +Die Ableitungen sind +\begin{align*} +D +&= +\frac{d}{d\alpha}\begin{pmatrix}D_\alpha&0\\0&1\end{pmatrix}\bigg|_{\alpha=0} += +\begin{pmatrix}J&0\\0&0\end{pmatrix} += +\begin{pmatrix} +0&-1&0\\ +1& 0&0\\ +0& 0&0 +\end{pmatrix} +\\ +X +&= +\frac{d}{dt_x} +\left. +\begin{pmatrix}I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix} +\right|_{t_x=0} += +\begin{pmatrix} +0&0&1\\ +0&0&0\\ +0&0&0 +\end{pmatrix} +& +Y +&= +\frac{d}{dt_y} +\left. +\begin{pmatrix}I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} +\right|_{t_y=0} += +\begin{pmatrix} +0&0&0\\ +0&0&1\\ +0&0&0 +\end{pmatrix} +\end{align*} +\item +Die Vertauschungsrelationen sind +\begin{align*} +[D,X] +&= +DX-XD += +\begin{pmatrix} +0&0&0\\ +0&0&1\\ +0&0&0 +\end{pmatrix} +- +\begin{pmatrix} +0&0&0\\ +0&0&0\\ +0&0&0 +\end{pmatrix} += +Y +\\ +[D,Y] +&= +DY-YD += +\begin{pmatrix} +0&0&-1\\ +0&0&0\\ +0&0&0 +\end{pmatrix} +- +\begin{pmatrix} +0&0&0\\ +0&0&0\\ +0&0&0 +\end{pmatrix} += +-X +\\ +[X,Y] +&= +XY-YX += +0-0=0 +\qedhere +\end{align*} +\end{teilaufgaben} +\end{loesung} diff --git a/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex b/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex index 14fbe2b..25ac535 100644 --- a/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex +++ b/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex @@ -1,162 +1,162 @@ -Die Elemente der Gruppe $G$ der Translationen und Streckungen von -$\mathbb{R}$ kann durch Paare $(\lambda,t)\in\mathbb{R}^+\times\mathbb{R}$ -beschrieben werden, -wobei $\lambda$ durch Streckung und $t$ durch Translation wirkt: -\[ -(\lambda,t)\colon \mathbb{R}\to\mathbb{R}: x\mapsto \lambda x+t. -\] -Dies ist allerdings noch keine Untergruppe einer Matrizengruppe. -Dazu bettet man $\mathbb{R}$ mit Hilfe der Abbildung -\[ -\mathbb{R}\to\mathbb{R}^2 : x\mapsto \begin{pmatrix}x\\1\end{pmatrix} -\] -in $\mathbb{R}^2$ ein. -Die Wirkung von $(\lambda,t)$ ist dann -\[ -\begin{pmatrix}(\lambda,t)\cdot x\\1\end{pmatrix} -= -\begin{pmatrix} \lambda x + t\\1\end{pmatrix} -= -\begin{pmatrix}\lambda&1\\0&1\end{pmatrix}\begin{pmatrix}x\\1\end{pmatrix}. -\] -Die Wirkung des Paares $(\lambda,t)$ kann also mit Hilfe einer -$2\times 2$-Matrix beschrieben werden. -Die Abbildung -\[ -G\to \operatorname{GL}_2(\mathbb{R}) -: -(\lambda,t) -\mapsto -\begin{pmatrix}\lambda&t\\0&1\end{pmatrix} -\] -bettet die Gruppe $G$ in $\operatorname{GL}_2(\mathbb{R})$ ein. -\begin{teilaufgaben} -\item -Berechnen Sie das Produkt $g_1g_2$ zweier Elemente -$g_j=(\lambda_j,t_j)$. -\item -Bestimmen Sie das inverse Elemente von $(\lambda,t)$ in $G$. -\item -Der sogenannte Kommutator zweier Elemente ist $g_1g_2g_1^{-1}g_2^{-1}$, -berechnen Sie den Kommutator für die Gruppenelemente von a). -\item -Rechnen Sie nach, dass -\[ -s\mapsto \begin{pmatrix}e^s&0\\0&1\end{pmatrix} -,\qquad -t\mapsto \begin{pmatrix}1&t\\0&1\end{pmatrix} -\] -Einparameteruntergruppen von $\operatorname{GL}_2(\mathbb{R})$ sind. -\item -Berechnen Sie die Tangentialvektoren $S$ und $T$ dieser beiden -Einparameteruntergruppen. -\item -Berechnen Sie den Kommutator $[S,T]$ -\end{teilaufgaben} - -\begin{loesung} -\begin{teilaufgaben} -\item -Die beiden Gruppenelemente wirken auf $x$ nach -\[ -(\lambda_1,t_1) -(\lambda_2,t_2) -\cdot -x -= -(\lambda_1,t_1)(\lambda_2x+t_2) -= -\lambda_1(\lambda_2x+t_2)+t_1) -= -\lambda_1\lambda_2 x + (\lambda_1t_2+t_1), -\] -also ist $g_1g_2=(\lambda_1\lambda_2,\lambda_1t_2+t_1)$. -\item -Die Inverse von $(\lambda,t)$ kann erhalten werden, indem man die -Abbildung $x\mapsto y=\lambda x +t$ nach $x$ auflöst: -\[ -y=\lambda x+t -\qquad\Rightarrow\qquad -\lambda^{-1}(y-t) -= -\lambda^{-1}y - \lambda^{-1}t. -\] -Daraus liest man ab, dass $(\lambda,t)^{-1}=(\lambda^{-1},-\lambda^{-1}t)$ -ist. -\item -Mit Hilfe der Identität $g_1g_2g_1^{-1}g_2^{-1}=g_1g_2(g_2g_1)^{-1}$ -kann man den Kommutator leichter berechnen -\begin{align*} -g_1g_2&=(\lambda_1\lambda_2,t_1+\lambda_1t_2) -\\ -g_2g_1&= (\lambda_2\lambda_1,t_2+\lambda_2t_1) -\\ -(g_2g_1)^{-1} -&= -(\lambda_1^{-1}\lambda_2^{-1}, - -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) -\\ -g_1g_2g_1^{-1}g_2^{-1} -&= -(\lambda_1\lambda_2,t_1+\lambda_1t_2) -(\lambda_1^{-1}\lambda_2^{-1}, - -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) -\\ -&=(1,t_1+\lambda_1t_2 + \lambda_1\lambda_2( - -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) -) -\\ -&=(1, t_1+\lambda_1t_2 - t_2 -\lambda_2t_1) -= -(1,(1-\lambda_2)(t_1-t_2)). -\end{align*} -Der Kommutator ist also das neutrale Element, wenn $\lambda_2=1$ ist. -\item -Dies ist am einfachsten in der Matrixform nachzurechnen: -\begin{align*} -\begin{pmatrix} e^{s_1}&0\\0&1\end{pmatrix} -\begin{pmatrix} e^{s_2}&0\\0&1\end{pmatrix} -&= -\begin{pmatrix}e^{s_1+s_2}&0\\0&1\end{pmatrix} -& -\begin{pmatrix} 1&t_1\\0&1\end{pmatrix} -\begin{pmatrix} 1&t_2\\0&1\end{pmatrix} -&= -\begin{pmatrix} 1&t_1+t_2\\0&1\end{pmatrix} -\end{align*} -\item -Die Tangentialvektoren werden erhalten durch ableiten der -Matrixdarstellung nach dem Parameter -\begin{align*} -S -&= -\frac{d}{ds} \begin{pmatrix}e^s&0\\0&1\end{pmatrix}\bigg|_{s=0} -= -\begin{pmatrix}1&0\\0&0\end{pmatrix} -\\ -T -&= -\frac{d}{dt} \begin{pmatrix}1&t\\0&1\end{pmatrix}\bigg|_{t=0} -= -\begin{pmatrix}0&1\\0&0\end{pmatrix} -\end{align*} -\item Der Kommutator ist -\[ -[S,T] -= -\begin{pmatrix}1&0\\0&0\end{pmatrix} -\begin{pmatrix}0&1\\0&0\end{pmatrix} -- -\begin{pmatrix}0&1\\0&0\end{pmatrix} -\begin{pmatrix}1&0\\0&0\end{pmatrix} -= -\begin{pmatrix}0&1\\0&0\end{pmatrix} -- -\begin{pmatrix}0&0\\0&0\end{pmatrix} -= -T. -\qedhere -\] -\end{teilaufgaben} -\end{loesung} - +Die Elemente der Gruppe $G$ der Translationen und Streckungen von +$\mathbb{R}$ kann durch Paare $(\lambda,t)\in\mathbb{R}^+\times\mathbb{R}$ +beschrieben werden, +wobei $\lambda$ durch Streckung und $t$ durch Translation wirkt: +\[ +(\lambda,t)\colon \mathbb{R}\to\mathbb{R}: x\mapsto \lambda x+t. +\] +Dies ist allerdings noch keine Untergruppe einer Matrizengruppe. +Dazu bettet man $\mathbb{R}$ mit Hilfe der Abbildung +\[ +\mathbb{R}\to\mathbb{R}^2 : x\mapsto \begin{pmatrix}x\\1\end{pmatrix} +\] +in $\mathbb{R}^2$ ein. +Die Wirkung von $(\lambda,t)$ ist dann +\[ +\begin{pmatrix}(\lambda,t)\cdot x\\1\end{pmatrix} += +\begin{pmatrix} \lambda x + t\\1\end{pmatrix} += +\begin{pmatrix}\lambda&1\\0&1\end{pmatrix}\begin{pmatrix}x\\1\end{pmatrix}. +\] +Die Wirkung des Paares $(\lambda,t)$ kann also mit Hilfe einer +$2\times 2$-Matrix beschrieben werden. +Die Abbildung +\[ +G\to \operatorname{GL}_2(\mathbb{R}) +: +(\lambda,t) +\mapsto +\begin{pmatrix}\lambda&t\\0&1\end{pmatrix} +\] +bettet die Gruppe $G$ in $\operatorname{GL}_2(\mathbb{R})$ ein. +\begin{teilaufgaben} +\item +Berechnen Sie das Produkt $g_1g_2$ zweier Elemente +$g_j=(\lambda_j,t_j)$. +\item +Bestimmen Sie das inverse Elemente von $(\lambda,t)$ in $G$. +\item +Der sogenannte Kommutator zweier Elemente ist $g_1g_2g_1^{-1}g_2^{-1}$, +berechnen Sie den Kommutator für die Gruppenelemente von a). +\item +Rechnen Sie nach, dass +\[ +s\mapsto \begin{pmatrix}e^s&0\\0&1\end{pmatrix} +,\qquad +t\mapsto \begin{pmatrix}1&t\\0&1\end{pmatrix} +\] +Einparameteruntergruppen von $\operatorname{GL}_2(\mathbb{R})$ sind. +\item +Berechnen Sie die Tangentialvektoren $S$ und $T$ dieser beiden +Einparameteruntergruppen. +\item +Berechnen Sie den Kommutator $[S,T]$ +\end{teilaufgaben} + +\begin{loesung} +\begin{teilaufgaben} +\item +Die beiden Gruppenelemente wirken auf $x$ nach +\[ +(\lambda_1,t_1) +(\lambda_2,t_2) +\cdot +x += +(\lambda_1,t_1)(\lambda_2x+t_2) += +\lambda_1(\lambda_2x+t_2)+t_1) += +\lambda_1\lambda_2 x + (\lambda_1t_2+t_1), +\] +also ist $g_1g_2=(\lambda_1\lambda_2,\lambda_1t_2+t_1)$. +\item +Die Inverse von $(\lambda,t)$ kann erhalten werden, indem man die +Abbildung $x\mapsto y=\lambda x +t$ nach $x$ auflöst: +\[ +y=\lambda x+t +\qquad\Rightarrow\qquad +\lambda^{-1}(y-t) += +\lambda^{-1}y - \lambda^{-1}t. +\] +Daraus liest man ab, dass $(\lambda,t)^{-1}=(\lambda^{-1},-\lambda^{-1}t)$ +ist. +\item +Mit Hilfe der Identität $g_1g_2g_1^{-1}g_2^{-1}=g_1g_2(g_2g_1)^{-1}$ +kann man den Kommutator leichter berechnen +\begin{align*} +g_1g_2&=(\lambda_1\lambda_2,t_1+\lambda_1t_2) +\\ +g_2g_1&= (\lambda_2\lambda_1,t_2+\lambda_2t_1) +\\ +(g_2g_1)^{-1} +&= +(\lambda_1^{-1}\lambda_2^{-1}, + -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) +\\ +g_1g_2g_1^{-1}g_2^{-1} +&= +(\lambda_1\lambda_2,t_1+\lambda_1t_2) +(\lambda_1^{-1}\lambda_2^{-1}, + -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) +\\ +&=(1,t_1+\lambda_1t_2 + \lambda_1\lambda_2( + -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) +) +\\ +&=(1, t_1+\lambda_1t_2 - t_2 -\lambda_2t_1) += +(1,(1-\lambda_2)(t_1-t_2)). +\end{align*} +Der Kommutator ist also das neutrale Element, wenn $\lambda_2=1$ ist. +\item +Dies ist am einfachsten in der Matrixform nachzurechnen: +\begin{align*} +\begin{pmatrix} e^{s_1}&0\\0&1\end{pmatrix} +\begin{pmatrix} e^{s_2}&0\\0&1\end{pmatrix} +&= +\begin{pmatrix}e^{s_1+s_2}&0\\0&1\end{pmatrix} +& +\begin{pmatrix} 1&t_1\\0&1\end{pmatrix} +\begin{pmatrix} 1&t_2\\0&1\end{pmatrix} +&= +\begin{pmatrix} 1&t_1+t_2\\0&1\end{pmatrix} +\end{align*} +\item +Die Tangentialvektoren werden erhalten durch ableiten der +Matrixdarstellung nach dem Parameter +\begin{align*} +S +&= +\frac{d}{ds} \begin{pmatrix}e^s&0\\0&1\end{pmatrix}\bigg|_{s=0} += +\begin{pmatrix}1&0\\0&0\end{pmatrix} +\\ +T +&= +\frac{d}{dt} \begin{pmatrix}1&t\\0&1\end{pmatrix}\bigg|_{t=0} += +\begin{pmatrix}0&1\\0&0\end{pmatrix} +\end{align*} +\item Der Kommutator ist +\[ +[S,T] += +\begin{pmatrix}1&0\\0&0\end{pmatrix} +\begin{pmatrix}0&1\\0&0\end{pmatrix} +- +\begin{pmatrix}0&1\\0&0\end{pmatrix} +\begin{pmatrix}1&0\\0&0\end{pmatrix} += +\begin{pmatrix}0&1\\0&0\end{pmatrix} +- +\begin{pmatrix}0&0\\0&0\end{pmatrix} += +T. +\qedhere +\] +\end{teilaufgaben} +\end{loesung} + diff --git a/buch/chapters/70-graphen/images/Makefile b/buch/chapters/70-graphen/images/Makefile index bd77756..c1bc5df 100644 --- a/buch/chapters/70-graphen/images/Makefile +++ b/buch/chapters/70-graphen/images/Makefile @@ -1,22 +1,22 @@ -# -# Makefile -- Bilder für Kapitel Graphen -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf - -peterson.pdf: peterson.tex - pdflatex peterson.tex - -adjazenzu.pdf: adjazenzu.tex - pdflatex adjazenzu.tex - -adjazenzd.pdf: adjazenzd.tex - pdflatex adjazenzd.tex - -kreis.pdf: kreis.tex - pdflatex kreis.tex - -fundamental.pdf: fundamental.tex - pdflatex fundamental.tex - +# +# Makefile -- Bilder für Kapitel Graphen +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf + +peterson.pdf: peterson.tex + pdflatex peterson.tex + +adjazenzu.pdf: adjazenzu.tex + pdflatex adjazenzu.tex + +adjazenzd.pdf: adjazenzd.tex + pdflatex adjazenzd.tex + +kreis.pdf: kreis.tex + pdflatex kreis.tex + +fundamental.pdf: fundamental.tex + pdflatex fundamental.tex + diff --git a/buch/chapters/70-graphen/images/fundamental.tex b/buch/chapters/70-graphen/images/fundamental.tex index b7fe9c4..388bdf7 100644 --- a/buch/chapters/70-graphen/images/fundamental.tex +++ b/buch/chapters/70-graphen/images/fundamental.tex @@ -1,54 +1,54 @@ -% -% fundamental.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\begin{scope}[xshift=-4.6cm] - \draw[color=red,line width=2pt] (1.8,0) -- (1.8,2); - \draw[color=red,line width=2pt] (0,0) -- (4,0); - \node at (1.8,0) [below] {$i$}; - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \node at (2,-2.3) [below] {Standarbasis}; -\end{scope} - -\begin{scope} - \draw[color=red,line width=1.4pt] - plot[domain=0:360,samples=100] ({\x/90},{2*sin(\x)}); - \draw[color=blue,line width=1.4pt] - plot[domain=0:360,samples=100] ({\x/90},{2*cos(\x)}); - \node[color=blue] at (1,-1) {$\Re f_i$}; - \node[color=red] at (2,1) {$\Im f_i$}; - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - \node at (2,-2.3) [below] {Eigenbasis}; -\end{scope} - -\begin{scope}[xshift=4.6cm] - \foreach \t in {0.02,0.05,0.1,0.2,0.5}{ - \draw[color=red,line width=1.0pt] - plot[domain=-1.8:2.2,samples=100] - ({\x+1.8},{exp(-\x*\x/(4*\t))/(sqrt(4*3.1415*\t))}); - } - \fill[color=red] (1.8,0) circle[radius=0.08]; - \node at (1.8,0) [below] {$\xi$}; - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - \node at (2,-2.3) [below] {Fundamentallösung}; -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% fundamental.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\begin{scope}[xshift=-4.6cm] + \draw[color=red,line width=2pt] (1.8,0) -- (1.8,2); + \draw[color=red,line width=2pt] (0,0) -- (4,0); + \node at (1.8,0) [below] {$i$}; + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \node at (2,-2.3) [below] {Standarbasis}; +\end{scope} + +\begin{scope} + \draw[color=red,line width=1.4pt] + plot[domain=0:360,samples=100] ({\x/90},{2*sin(\x)}); + \draw[color=blue,line width=1.4pt] + plot[domain=0:360,samples=100] ({\x/90},{2*cos(\x)}); + \node[color=blue] at (1,-1) {$\Re f_i$}; + \node[color=red] at (2,1) {$\Im f_i$}; + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + \node at (2,-2.3) [below] {Eigenbasis}; +\end{scope} + +\begin{scope}[xshift=4.6cm] + \foreach \t in {0.02,0.05,0.1,0.2,0.5}{ + \draw[color=red,line width=1.0pt] + plot[domain=-1.8:2.2,samples=100] + ({\x+1.8},{exp(-\x*\x/(4*\t))/(sqrt(4*3.1415*\t))}); + } + \fill[color=red] (1.8,0) circle[radius=0.08]; + \node at (1.8,0) [below] {$\xi$}; + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + \node at (2,-2.3) [below] {Fundamentallösung}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/70-graphen/spektral.tex b/buch/chapters/70-graphen/spektral.tex index f68c814..72e3519 100644 --- a/buch/chapters/70-graphen/spektral.tex +++ b/buch/chapters/70-graphen/spektral.tex @@ -1,198 +1,198 @@ -% -% spektral.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Spektrale Graphentheorie -\label{buch:section:spektrale-graphentheorie}} -\rhead{Spektrale Graphentheorie} -Die Laplace-Matrix codiert alle wesentliche Information eines -ungerichteten Graphen. -Sie operiert auf Vektoren, die für jeden Knoten des Graphen eine -Komponente haben. -Dies eröffnet die Möglichkeit, den Graphen über die linearalgebraischen -Eigenschaften der Laplace-Matrix zu studieren. - -\subsection{Grapheigenschaften und Spektrum von $L$ -\label{buch:subsection:grapheigenschaften-und-spektrum-von-l}} -TODO XXX - -\subsection{Wärmeleitung auf einem Graphen -\label{buch:subsection:waermeleitung-auf-einem-graphen}} -Die Vektoren, auf denen die Laplace-Matrix operiert, können betrachtet -werden als Funktionen, die jedem Knoten einen Wert zuordnen. -Eine mögliche physikalische Interpretation davon ist die Temperaturverteilung -auf dem Graphen. -Die Kanten zwischen den Knoten erlauben der Wärmeenergie, von einem Knoten -zu einem anderen zu fliessen. -Je grösser die Temperaturdifferenz zwischen zwei Knoten ist, desto -grösser ist der Wärmefluss und desto schneller ändert sich die Temperatur -der beteiligten Knoten. -Die zeitliche Änderung der Temperatur $T_i$ im Knoten $i$ ist proportional -\[ -\frac{dT_i}{dt} -= -\sum_{\text{$j$ Nachbar von $i$}} \kappa (T_j-T_i) -= -- -\kappa -\biggl( -d_iT_i -- -\sum_{\text{$j$ Nachbar von $i$}} T_j -\biggr) -\] -Der Term auf der rechten Seite ist genau die Wirkung der -Laplace-Matrix auf dem Vektor $T$ der Temperaturen: -\begin{equation} -\frac{dT}{dt} -= --\kappa L T. -\label{buch:graphen:eqn:waermeleitung} -\end{equation} -Der Wärmefluss, der durch die -Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} beschrieben -wird, codiert ebenfalls wesentliche Informationen über den Graphen. -Je mehr Kanten es zwischen verschiedenen Teilen eines Graphen gibt, -desto schneller findet der Wärmeaustausch zwischen diesen Teilen -statt. -Die Lösungen der Wärmeleitungsgleichung liefern also Informationen -über den Graphen. - -\subsection{Eigenwerte und Eigenvektoren -\label{buch:subsection:ein-zyklischer-graph}} -Die Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} -ist eine lineare Differentialgleichung mit konstanten Koeffizienten, -die mit der Matrixexponentialfunktion gelöst werden. -Die Lösung ist -\[ -f(t) = e^{-\kappa Lt}f(0). -\] - -Die Berechnung der Lösung mit der Matrixexponentialreihe ist ziemlich -ineffizient, da grosse Matrizenprodukte berechnet werden müssen. -Da die Matrix $L$ symmetrisch ist, gibt es eine Basis aus -orthonormierten Eigenvektoren und die Eigenwerte sind reell. -Wir bezeichnen die Eigenvektoren mit $f_1,\dots,f_n$ und die -zugehörigen Eigenwerte mit $\lambda_i$. -Die Funktion $f_i(t)= e^{-\kappa\lambda_it}f_i$ ist dann eine Lösung -der Wärmeleitungsgleichung, denn die beiden Seiten -\begin{align*} -\frac{d}{dt}f_i(t) -&= --\kappa\lambda_ie^{-\kappa\lambda_it}f_i -= --\kappa\lambda_i f_i(t) -\\ --\kappa Lf_i(t) -&= --\kappa e^{-\kappa\lambda_it} Lf_i -= --\kappa e^{-\kappa\lambda_it} \lambda_i f_i -= --\kappa \lambda_i f_i(t) -\end{align*} -von \eqref{buch:graphen:eqn:waermeleitung} stimmen überein. - -Eine Lösung der Wärmeleitungsgleichung zu einer beliebigen -Anfangstemperaturverteilung $f$ kann durch Linearkombination aus -den Lösungen $f_i(t)$ zusammengesetzt werden. -Dazu ist nötig, $f$ aus den Vektoren $f_i$ linear zu kombinieren. -Da aber die $f_i$ orthonormiert sind, ist dies besonders einfach, -die Koeffizienten sind die Skalarprodukte mit den Eigenvektoren: -\[ -f=\sum_{i=1}^n \langle f_i,f\rangle f_i. -\] -Daraus kann man die allgmeine Lösungsformel -\begin{equation} -f(t) -= -\sum_{i=1}^n \langle f_i,f\rangle f_i(t) -= -\sum_{i=1}^n \langle f_i,f\rangle e^{-\kappa\lambda_i t}f_i -\label{buch:graphen:eqn:eigloesung} -\end{equation} -ableiten. - -\subsection{Beispiel: Ein zyklischer Graph} -\begin{figure} -\centering -\includegraphics{chapters/70-graphen/images/kreis.pdf} -\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem -Graphen. -\label{buch:graphen:fig:kreis}} -\end{figure} -Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen -von Abbildung~\ref{buch:graphen:fig:kreis}. -Besonders interessant sind die folgenden Funktionen: -\[ -\left. -\begin{aligned} -s_m(k) -&= -\sin\frac{2\pi mk}{n} -\\ -c_m(k) -&= -\cos\frac{2\pi mk}{n} -\end{aligned} -\; -\right\} -\quad -\Rightarrow -\quad -e_m(k) -= -e^{2\pi imk/n} -= -c_m(k) + is_m(k). -\] -Das Skalarprodukt dieser Funktionen ist -\[ -\langle e_m, e_{m'}\rangle -= -\frac1n -\sum_{k=1}^n -\overline{e^{2\pi i km/n}} -e^{2\pi ikm'/n} -= -\frac1n -\sum_{k=1}^n -e^{\frac{2\pi i}{n}(m'-m)k} -= -\delta_{mm'} -\] -Die Funktionen bilden daher eine Orthonormalbasis des Raums der -Funktionen auf $G$. -Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$ -die Funktionen -\[ -c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2} -\] -eine orthonormierte Basis. - - -Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen -Abbildung auf Funktionen auf dem Graphen gemacht werden. -Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit -Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist. -Dann definieren wir die Funktion $Lf$ durch -\[ -(Lf)(v) -= -\sum_{v'\in V} l_{vv'}f(v'). -\] - -\subsection{Standardbasis und Eigenbasis -\label{buch:subsection:standardbasis-und-eigenbasis}} -Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear -kombinieren lassen, ist die Standardbasis. -Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten -\[ -e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} -1\qquad&v=v'\\ -0\qquad&\text{sonst.} -\end{cases} -\] - - +% +% spektral.tex +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Spektrale Graphentheorie +\label{buch:section:spektrale-graphentheorie}} +\rhead{Spektrale Graphentheorie} +Die Laplace-Matrix codiert alle wesentliche Information eines +ungerichteten Graphen. +Sie operiert auf Vektoren, die für jeden Knoten des Graphen eine +Komponente haben. +Dies eröffnet die Möglichkeit, den Graphen über die linearalgebraischen +Eigenschaften der Laplace-Matrix zu studieren. + +\subsection{Grapheigenschaften und Spektrum von $L$ +\label{buch:subsection:grapheigenschaften-und-spektrum-von-l}} +TODO XXX + +\subsection{Wärmeleitung auf einem Graphen +\label{buch:subsection:waermeleitung-auf-einem-graphen}} +Die Vektoren, auf denen die Laplace-Matrix operiert, können betrachtet +werden als Funktionen, die jedem Knoten einen Wert zuordnen. +Eine mögliche physikalische Interpretation davon ist die Temperaturverteilung +auf dem Graphen. +Die Kanten zwischen den Knoten erlauben der Wärmeenergie, von einem Knoten +zu einem anderen zu fliessen. +Je grösser die Temperaturdifferenz zwischen zwei Knoten ist, desto +grösser ist der Wärmefluss und desto schneller ändert sich die Temperatur +der beteiligten Knoten. +Die zeitliche Änderung der Temperatur $T_i$ im Knoten $i$ ist proportional +\[ +\frac{dT_i}{dt} += +\sum_{\text{$j$ Nachbar von $i$}} \kappa (T_j-T_i) += +- +\kappa +\biggl( +d_iT_i +- +\sum_{\text{$j$ Nachbar von $i$}} T_j +\biggr) +\] +Der Term auf der rechten Seite ist genau die Wirkung der +Laplace-Matrix auf dem Vektor $T$ der Temperaturen: +\begin{equation} +\frac{dT}{dt} += +-\kappa L T. +\label{buch:graphen:eqn:waermeleitung} +\end{equation} +Der Wärmefluss, der durch die +Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} beschrieben +wird, codiert ebenfalls wesentliche Informationen über den Graphen. +Je mehr Kanten es zwischen verschiedenen Teilen eines Graphen gibt, +desto schneller findet der Wärmeaustausch zwischen diesen Teilen +statt. +Die Lösungen der Wärmeleitungsgleichung liefern also Informationen +über den Graphen. + +\subsection{Eigenwerte und Eigenvektoren +\label{buch:subsection:ein-zyklischer-graph}} +Die Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} +ist eine lineare Differentialgleichung mit konstanten Koeffizienten, +die mit der Matrixexponentialfunktion gelöst werden. +Die Lösung ist +\[ +f(t) = e^{-\kappa Lt}f(0). +\] + +Die Berechnung der Lösung mit der Matrixexponentialreihe ist ziemlich +ineffizient, da grosse Matrizenprodukte berechnet werden müssen. +Da die Matrix $L$ symmetrisch ist, gibt es eine Basis aus +orthonormierten Eigenvektoren und die Eigenwerte sind reell. +Wir bezeichnen die Eigenvektoren mit $f_1,\dots,f_n$ und die +zugehörigen Eigenwerte mit $\lambda_i$. +Die Funktion $f_i(t)= e^{-\kappa\lambda_it}f_i$ ist dann eine Lösung +der Wärmeleitungsgleichung, denn die beiden Seiten +\begin{align*} +\frac{d}{dt}f_i(t) +&= +-\kappa\lambda_ie^{-\kappa\lambda_it}f_i += +-\kappa\lambda_i f_i(t) +\\ +-\kappa Lf_i(t) +&= +-\kappa e^{-\kappa\lambda_it} Lf_i += +-\kappa e^{-\kappa\lambda_it} \lambda_i f_i += +-\kappa \lambda_i f_i(t) +\end{align*} +von \eqref{buch:graphen:eqn:waermeleitung} stimmen überein. + +Eine Lösung der Wärmeleitungsgleichung zu einer beliebigen +Anfangstemperaturverteilung $f$ kann durch Linearkombination aus +den Lösungen $f_i(t)$ zusammengesetzt werden. +Dazu ist nötig, $f$ aus den Vektoren $f_i$ linear zu kombinieren. +Da aber die $f_i$ orthonormiert sind, ist dies besonders einfach, +die Koeffizienten sind die Skalarprodukte mit den Eigenvektoren: +\[ +f=\sum_{i=1}^n \langle f_i,f\rangle f_i. +\] +Daraus kann man die allgmeine Lösungsformel +\begin{equation} +f(t) += +\sum_{i=1}^n \langle f_i,f\rangle f_i(t) += +\sum_{i=1}^n \langle f_i,f\rangle e^{-\kappa\lambda_i t}f_i +\label{buch:graphen:eqn:eigloesung} +\end{equation} +ableiten. + +\subsection{Beispiel: Ein zyklischer Graph} +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/kreis.pdf} +\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem +Graphen. +\label{buch:graphen:fig:kreis}} +\end{figure} +Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen +von Abbildung~\ref{buch:graphen:fig:kreis}. +Besonders interessant sind die folgenden Funktionen: +\[ +\left. +\begin{aligned} +s_m(k) +&= +\sin\frac{2\pi mk}{n} +\\ +c_m(k) +&= +\cos\frac{2\pi mk}{n} +\end{aligned} +\; +\right\} +\quad +\Rightarrow +\quad +e_m(k) += +e^{2\pi imk/n} += +c_m(k) + is_m(k). +\] +Das Skalarprodukt dieser Funktionen ist +\[ +\langle e_m, e_{m'}\rangle += +\frac1n +\sum_{k=1}^n +\overline{e^{2\pi i km/n}} +e^{2\pi ikm'/n} += +\frac1n +\sum_{k=1}^n +e^{\frac{2\pi i}{n}(m'-m)k} += +\delta_{mm'} +\] +Die Funktionen bilden daher eine Orthonormalbasis des Raums der +Funktionen auf $G$. +Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$ +die Funktionen +\[ +c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2} +\] +eine orthonormierte Basis. + + +Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen +Abbildung auf Funktionen auf dem Graphen gemacht werden. +Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit +Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist. +Dann definieren wir die Funktion $Lf$ durch +\[ +(Lf)(v) += +\sum_{v'\in V} l_{vv'}f(v'). +\] + +\subsection{Standardbasis und Eigenbasis +\label{buch:subsection:standardbasis-und-eigenbasis}} +Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear +kombinieren lassen, ist die Standardbasis. +Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten +\[ +e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} +1\qquad&v=v'\\ +0\qquad&\text{sonst.} +\end{cases} +\] + + diff --git a/buch/chapters/70-graphen/wavelets.tex b/buch/chapters/70-graphen/wavelets.tex index 9c88c08..26a9e42 100644 --- a/buch/chapters/70-graphen/wavelets.tex +++ b/buch/chapters/70-graphen/wavelets.tex @@ -1,125 +1,125 @@ -% -% wavelets.tex -- Wavelets auf Graphen -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Wavelets auf Graphen -\label{buch:section:wavelets-auf-graphen}} -\rhead{Wavelets auf Graphen} -In Abschnitt~\ref{buch:subsection:standardbasis-und-eigenbasis} wurde -gezeigt dass die Standardbasis den Zusammenhang zwischen den einzelnen -Teilen des Graphen völlig ignoriert, während die Eigenbasis Wellen -beschreibt, die mit vergleichbarer Amplitude sich über den ganzen -Graphen entsprechen. -Die Eigenbasis unterdrückt also die ``Individualität'' der einzelnen -Knoten fast vollständig. - -Wenn man einen Standardbasisvektor in einem Knoten $i$ -als Anfangstemperaturverteilung verwendet, erwartet man eine Lösung, -die für kleine Zeiten $t$ die Energie immer in der Nähe des Knotens $i$ -konzentriert hat. -Weder die Standardbasis noch die Eigenbasis haben diese Eigenschaft. - -\subsection{Vergleich mit der Wärmeleitung auf $\mathbb{R}$} -Ein ähnliches Phänomen findet man bei der Wärmeausbreitung gemäss -der partiellen Differentialgleichung -\[ -\frac{\partial T}{\partial t} = -\kappa \frac{\partial^2 T}{\partial x^2}. -\] -Die von Fourier erfundene Methode, die Fourier-Theorie, verwendet die -Funktionen $e^{ik x}$, die Eigenvektoren der zweiten Ableitung -$\partial^2/\partial x^2$ sind. -Diese haben das gleiche Problem, der Betrag von $e^{ikx}$ ist $1$, die -Entfernung von einem Punkt spielt überhaupt keine Rolle. -Die Funktion -\[ -F(x,t) -= -\frac{1}{\sqrt{4\pi\kappa t}}e^{-x^2/4\kappa t} -\] -ist eine Lösung der Wärmeleitungsgleichung mit einem Maximum an -der Stelle $0$. -Sie heisst die Fundamentallösung der Wärmeleitungsgleichung. -Durch Überlagerung von Translaten in eine Funktion -\begin{equation} -f(x,t) -= -\int_{-\infty}^\infty f(\xi) F(x-\xi,t)\,d\xi -\label{buch:graphen:eqn:fundamentalueberlagerung} -\end{equation} -kann man die allgemeine Lösung aus Fundamentallösungen zusammensetzen. -Die Fundamentallösungen $f(x-\xi,t)$ sind für kleine Zeiten immer noch -deutlich in einer Umgebung von $\xi$ konzentriert. - -% XXX Ausbreitung der Fundamentallösung illustrieren -\begin{figure} -\centering -\includegraphics{chapters/70-graphen/images/fundamental.pdf} -\caption{Vergleich der verschiedenen Funktionenfamilien, mit denen -Lösungenfunktionen durch Linearkombination erzeugt werden können. -In der Standarbasis (links) ist es am einfachsten, die Funktionswerte -abzulesen, in der Eigenbasis (Mitte) kann die zeitliche Entwicklung -besonders leicht berechnet werden. -Dazuwischen liegen die Fundamentallösungen (rechts), die eine einigermassen -übersichtliche Zeitentwicklung haben, die Berechnung der Temperatur an -einer Stelle $x$ zur Zeit $t$ ist aber erst durch das Integral -\eqref{buch:graphen:eqn:fundamentalueberlagerung} gegeben. -\label{buch:graphen:fig:fundamental}} -\end{figure} - -\subsection{Fundamentallösungen auf einem Graphen} -Die Wärmeleitungsgleichung auf einem Graphen kann für einen -Standardbasisvektor mit Hilfe der -Lösungsformel~\eqref{buch:graphen:eqn:eigloesung} -gefunden werden. -Aus physikalischen Gründen ist aber offensichtlich, dass die -Wärmeenergie Fundamentallösungen $F_i(t)$ für kurze Zeiten $t$ -in der Nähe des Knoten $i$ konzentriert ist. -Dies ist aber aus der expliziten Formel -\begin{equation} -F_i(t) -= -\sum_{j=1}^n \langle f_j,e_i\rangle e^{-\kappa \lambda_i t} f_j -= -\sum_{j=1}^n \overline{f}_{ji} e^{-\kappa \lambda_i t}, -\label{buch:graphen:eqn:fundamentalgraph} -\end{equation} -nicht unmittelbar erkennbar. - -Man kann aber aus~\eqref{buch:graphen:eqn:fundamentalgraph} ablesen, -dass für zunehmende Zeit die hohen Frequenzen sehr schnell gedämpft -werden. -Die hohen Frequenzen erzeugen also den scharfen Peak für Zeiten nahe -beim Knoten $i$, die zu kleineren $\lambda_i$ beschreiben die Ausbreitung -über grössere Distanzen. -Die Fundamentallösung interpoliert also in einem gewissen Sinne zwischen -den Extremen der Standardbasis und der Eigenbasis. -Die ``Interpolation'' geht von der Differentialgleichung aus, -sie ist nicht einfach nur ein Filter, der die verschiedenen Frequenzen -auf die gleiche Art bearbeitet. - -Gesucht ist eine Methode, eine Familie von Vektoren zu finden, -aus der sich alle Vektoren linear kombinieren lassen, in der aber -auch auf die für die Anwendung interessante Längenskala angepasste -Funktionen gefunden werden können. - -\subsection{Wavelets und Frequenzspektrum} -Eine Wavelet-Basis der Funktionen auf $\mathbb{R}$ zerlegt - - -\subsection{Frequenzspektrum -\label{buch:subsection:frequenzspektrum}} -Die Fundamentallösung der Wärmeleitunsgleichung haben ein Spektrum, welches -wie $e^{-k^2}$ gegen $0$ geht. - -Die Fundamentallösung entsteht dadurch, dass die hohen Frequenzen -schneller dämpft als die tiefen Frequenzen. - - -\subsection{Wavelet-Basen -\label{buch:subsection:}} - - - - - +% +% wavelets.tex -- Wavelets auf Graphen +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Wavelets auf Graphen +\label{buch:section:wavelets-auf-graphen}} +\rhead{Wavelets auf Graphen} +In Abschnitt~\ref{buch:subsection:standardbasis-und-eigenbasis} wurde +gezeigt dass die Standardbasis den Zusammenhang zwischen den einzelnen +Teilen des Graphen völlig ignoriert, während die Eigenbasis Wellen +beschreibt, die mit vergleichbarer Amplitude sich über den ganzen +Graphen entsprechen. +Die Eigenbasis unterdrückt also die ``Individualität'' der einzelnen +Knoten fast vollständig. + +Wenn man einen Standardbasisvektor in einem Knoten $i$ +als Anfangstemperaturverteilung verwendet, erwartet man eine Lösung, +die für kleine Zeiten $t$ die Energie immer in der Nähe des Knotens $i$ +konzentriert hat. +Weder die Standardbasis noch die Eigenbasis haben diese Eigenschaft. + +\subsection{Vergleich mit der Wärmeleitung auf $\mathbb{R}$} +Ein ähnliches Phänomen findet man bei der Wärmeausbreitung gemäss +der partiellen Differentialgleichung +\[ +\frac{\partial T}{\partial t} = -\kappa \frac{\partial^2 T}{\partial x^2}. +\] +Die von Fourier erfundene Methode, die Fourier-Theorie, verwendet die +Funktionen $e^{ik x}$, die Eigenvektoren der zweiten Ableitung +$\partial^2/\partial x^2$ sind. +Diese haben das gleiche Problem, der Betrag von $e^{ikx}$ ist $1$, die +Entfernung von einem Punkt spielt überhaupt keine Rolle. +Die Funktion +\[ +F(x,t) += +\frac{1}{\sqrt{4\pi\kappa t}}e^{-x^2/4\kappa t} +\] +ist eine Lösung der Wärmeleitungsgleichung mit einem Maximum an +der Stelle $0$. +Sie heisst die Fundamentallösung der Wärmeleitungsgleichung. +Durch Überlagerung von Translaten in eine Funktion +\begin{equation} +f(x,t) += +\int_{-\infty}^\infty f(\xi) F(x-\xi,t)\,d\xi +\label{buch:graphen:eqn:fundamentalueberlagerung} +\end{equation} +kann man die allgemeine Lösung aus Fundamentallösungen zusammensetzen. +Die Fundamentallösungen $f(x-\xi,t)$ sind für kleine Zeiten immer noch +deutlich in einer Umgebung von $\xi$ konzentriert. + +% XXX Ausbreitung der Fundamentallösung illustrieren +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/fundamental.pdf} +\caption{Vergleich der verschiedenen Funktionenfamilien, mit denen +Lösungenfunktionen durch Linearkombination erzeugt werden können. +In der Standarbasis (links) ist es am einfachsten, die Funktionswerte +abzulesen, in der Eigenbasis (Mitte) kann die zeitliche Entwicklung +besonders leicht berechnet werden. +Dazuwischen liegen die Fundamentallösungen (rechts), die eine einigermassen +übersichtliche Zeitentwicklung haben, die Berechnung der Temperatur an +einer Stelle $x$ zur Zeit $t$ ist aber erst durch das Integral +\eqref{buch:graphen:eqn:fundamentalueberlagerung} gegeben. +\label{buch:graphen:fig:fundamental}} +\end{figure} + +\subsection{Fundamentallösungen auf einem Graphen} +Die Wärmeleitungsgleichung auf einem Graphen kann für einen +Standardbasisvektor mit Hilfe der +Lösungsformel~\eqref{buch:graphen:eqn:eigloesung} +gefunden werden. +Aus physikalischen Gründen ist aber offensichtlich, dass die +Wärmeenergie Fundamentallösungen $F_i(t)$ für kurze Zeiten $t$ +in der Nähe des Knoten $i$ konzentriert ist. +Dies ist aber aus der expliziten Formel +\begin{equation} +F_i(t) += +\sum_{j=1}^n \langle f_j,e_i\rangle e^{-\kappa \lambda_i t} f_j += +\sum_{j=1}^n \overline{f}_{ji} e^{-\kappa \lambda_i t}, +\label{buch:graphen:eqn:fundamentalgraph} +\end{equation} +nicht unmittelbar erkennbar. + +Man kann aber aus~\eqref{buch:graphen:eqn:fundamentalgraph} ablesen, +dass für zunehmende Zeit die hohen Frequenzen sehr schnell gedämpft +werden. +Die hohen Frequenzen erzeugen also den scharfen Peak für Zeiten nahe +beim Knoten $i$, die zu kleineren $\lambda_i$ beschreiben die Ausbreitung +über grössere Distanzen. +Die Fundamentallösung interpoliert also in einem gewissen Sinne zwischen +den Extremen der Standardbasis und der Eigenbasis. +Die ``Interpolation'' geht von der Differentialgleichung aus, +sie ist nicht einfach nur ein Filter, der die verschiedenen Frequenzen +auf die gleiche Art bearbeitet. + +Gesucht ist eine Methode, eine Familie von Vektoren zu finden, +aus der sich alle Vektoren linear kombinieren lassen, in der aber +auch auf die für die Anwendung interessante Längenskala angepasste +Funktionen gefunden werden können. + +\subsection{Wavelets und Frequenzspektrum} +Eine Wavelet-Basis der Funktionen auf $\mathbb{R}$ zerlegt + + +\subsection{Frequenzspektrum +\label{buch:subsection:frequenzspektrum}} +Die Fundamentallösung der Wärmeleitunsgleichung haben ein Spektrum, welches +wie $e^{-k^2}$ gegen $0$ geht. + +Die Fundamentallösung entsteht dadurch, dass die hohen Frequenzen +schneller dämpft als die tiefen Frequenzen. + + +\subsection{Wavelet-Basen +\label{buch:subsection:}} + + + + + diff --git a/buch/chapters/90-crypto/aes.tex b/buch/chapters/90-crypto/aes.tex index acdda22..168ff2c 100644 --- a/buch/chapters/90-crypto/aes.tex +++ b/buch/chapters/90-crypto/aes.tex @@ -1,433 +1,433 @@ -% -% aes.tex -- Beschreibung des AES Algorithmus -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Advanced Encryption Standard -- AES -\label{buch:section:aes}} -\rhead{Advanced Encryption Standard} -Eine wichtige Forderung bei der Konzeption des damals neuen -Advanced Encryption Standard war, dass darin keine ``willkürlich'' -erscheinenden Operationen geben darf, bei denen der Verdacht -entstehen könnte, dass sich dahinter noch offengelegtes Wissen -über einen möglichen Angriff auf den Verschlüsselungsalgorithmus -verbergen könnte. -Dies war eine Schwäche des vor AES üblichen DES Verschlüsselungsalgorithmus. -In seiner Definition kommt eine Reihe von Konstanten vor, über deren -Herkunft nichts bekannt war. -Die Gerüchteküche wollte wissen, dass die NSA die Konstanten aus dem -ursprünglichen Vorschlag abgeändert habe, und dass dies geschehen sei, -um den Algorithmus durch die NSA angreifbar zu machen. - -Eine weiter Forderung war, dass die Sicherheit des neuen -Verschlüsselungsstandards ``skalierbar'' sein soll, dass man also -die Schlüssellänge mit der Zeit von 128~Bit auf 196 oder sogar 256~Bit -steigern kann. -Der Standard wird dadurch langlebiger und gleichzeitig entsteht die -Möglichkeit, Sicherheit gegen Rechenleistung einzutauschen. -Weniger leistungsfähige Systeme können den Algorithmus immer noch -nutzen, entweder mit geringerer Verschlüsselungsrate oder geringerer -Sicherheit. - -In diesem Abschnitt soll gezeigt werde, wie sich die AES -spezifizierten Operationen als mit der Arithmetik der -endlichen Körper beschreiben lassen. -Im Abschnitt~\ref{buch:subsection:byte-operationen} werden -Bytes als Elemente in einem endlichen Körper $\mathbb{F}_{2^8}$ -interpretiert. -Damit kann dann die sogenannte $S$-Box konstruiert werden und -es ist leicht zu verstehen, dass sie invertierbar ist. -Aus den Byte-Operationen können dann Mischoperationen erzeugt -werden, die Bytes untereinander verknüpfen, die aber auch wieder -als Operationen in einem endlichen Körper verstanden werden können. - -\subsection{Byte-Operationen -\label{buch:subsection:byte-operationen}} -Moderne Prozessoren operieren auf Wörtern, die Vielfache von Bytes sind. -Byte-Operationen sind besonders effizient in Hardware zu realisieren. -AES verwendet daher als Grundelemente Operationen auf Bytes, die als -Elemente eines endlichen Körpers $\mathbb{F}_{2^8}$ interpretiert werden. - -\subsubsection{Bytes als Elemente von $\mathbb{F}_{2^8}$} -Das Polynom $m(X)=X^8+X^4+X^3+X+1\in \mathbb{F}_2[X]$ ist irreduzibel, -somit ist $\mathbb{F}_{2^8} = \mathbb{F}_2[X]/(m)$ ein Körper. -Die Elemente können dargestellt werden als Polynome, das Byte -$\texttt{63}_{16}$ bekommt die Form -\[ -p(X) = p_7X^7 + p_6X^6 + \dots + p_2X^2+p_1X + p_0, -\] -sie bestehen daher aus den $8$ Bits $p_7,\dots,p_0$. - -Die Interpretation der Bytes als Elemente eines Körpers bedeutet, -dass jede Multiplikation mit einem nicht verschwindenden Byte -invertierbar ist. -Ausserdem mischen diese Operationen die einzelnen Bits auf einigermassen -undurchsichtige, aber umkehrbare Art durcheinander, wie dies für ein -Verschlüsselungsverfahren wünschenswert ist. - -\subsubsection{$S$-Box} -Für die Operation der $S$-Box wird wie folgt zusammengesetzt. -Zunächst wird ein Byte $x$ durch das zugehörige multiplikative -inverse Element -\[ -x\mapsto \bar{x} = \begin{cases} -x^{-1}&\qquad \text{für $x\in \mathbb{F}_{2^8}^*$}\\ -0 &\qquad \text{für $x=0$} -\end{cases} -\] -ersetzt. - -Im zweiten Schritt betrachten wir $\mathbb{F}_{2^8}$ als einen -$8$-dimensionalen Vektorraum über $\mathbb{F}_2$. -Einem Polynom $p(X)=p_7X^7 + \dots + p_1X+p_0$ wird der Spaltenvektor -mit den Komponenten $p_0$ bis $p_7$ zugeordnet. - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/90-crypto/images/sbox.pdf} -\caption{Berechnung der Inversen der Matrix $A$ in der $S$-Box des -AES-Algorithmus mit dem Gauss-Algorithmus -\label{buch:crypto:fig:sbox}} -\end{figure} - -Eine lineare Transformation in diesem Vektorraum kann durch eine -$8\times 8$-Matrix in $M_8(\mathbb{F}_2)$ betrachtet werden. -In der $S$-Box wird die Matrix -\[ -A= -\begin{pmatrix} -1&0&0&0&1&1&1&1\\ -1&1&0&0&0&1&1&1\\ -1&1&1&0&0&0&1&1\\ -1&1&1&1&0&0&0&1\\ -1&1&1&1&1&0&0&0\\ -0&1&1&1&1&1&0&0\\ -0&0&1&1&1&1&1&0\\ -0&0&0&1&1&1&1&1 -\end{pmatrix}, -\qquad -A^{-1} -= -\begin{pmatrix} -0&0&1&0&0&1&0&1\\ -1&0&0&1&0&0&1&0\\ -0&1&0&0&1&0&0&1\\ -1&0&1&0&0&1&0&0\\ -0&1&0&1&0&0&1&0\\ -0&0&1&0&1&0&0&1\\ -1&0&0&1&0&1&0&0\\ -0&1&0&0&1&0&1&0 -\end{pmatrix} -\] -verwendet. -Mit dem Gauss-Algorithmus, schematisch dargestellt in -Abbildung~\ref{buch:crypto:fig:sbox}, kann man die Inverse -bestimmen, die Multiplikation mit $A$ ist also eine invertierbare -Abbildung. - -Der letzte Schritt ist dann wieder eine Addition von -$q(X)=X^7+X^6+X+1\in \mathbb{F}_{2^8}$, durch Subtraktion -von $q(X)$ invertiert werden kann. -Die $S$-Box-Operation kann also bektoriell geschrieben werden also -\[ - S(x) = A\overline{x}+q. -\] - -Die Implementation ist möglicherweise mit einer Tabelle am schnellsten, -es sind ja nur 256 Bytes im Definitionsbereich der $S$-Box-Abbildung -und ebenso nur 256 möglich Werte. - -\subsection{Block-Operationen -\label{buch:subsection:block-operationen}} -Die zu verschlüsselnden Daten werden in in Blöcke aufgeteilt, deren -Länge Vielfache von $32$ bit sind. -Die kleinste Blockgrösse ist 128\,Bit, die grösste ist 256\,Bit. -Die Bytes eines Blockes werden dann in einem Rechteck angeordnet -als -\begin{equation} -\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} -\hline - b_{0} & b_{4} & b_{8} & b_{12} & b_{16} & b_{20} & b_{24} & b_{28} \\ - b_{1} & b_{5} & b_{9} & b_{13} & b_{17} & b_{21} & b_{25} & b_{29} \\ - b_{2} & b_{6} & b_{10} & b_{14} & b_{18} & b_{22} & b_{26} & b_{30} \\ - b_{3} & b_{7} & b_{11} & b_{15} & b_{19} & b_{23} & b_{27} & b_{31} \\ -\hline -\end{tabular} -\label{buch:crypto:eqn:block} -\end{equation} -für eine Blocklänge von 256\,Bits. - - - -\subsubsection{Zeilenshift} -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/90-crypto/images/shift.pdf} -\caption{Zeilenshift in einem Block von 256 bits -\label{buch:crypto:fig:shift}} -\end{figure} -Die Verschlüsselung muss sicherstellen, dass die Bytes des Blockes -untereinander gut gemischt werden. -Die bisher beschriebenen Operationen operieren immer nur auf einzelnen -Bytes während -die im nächsten Abschnitt beschriebene Spalten-Mischoperation -nur auf Spalten wird. -Die Zeilenmischoperation permutiert die Zeilen in den vier Zeilen -eines Blocks zyklisch, die erste Zeile bleibt an Ort, die zweite -Zeile wird um ein Byte rotiert, die dritte um zwei und die letzte -um 3 Bytes, wie in Abbildung~\ref{buch:crypto:fig:zeilenshift} -dargestellt. -Diese Operation könnte mit einer Permutationsmatrix beschrieben werden, -dies wäre jedoch keine effiziente Implementation. -Der Zeilenschift hat ansonsten keine elegante algebraische Beschreibung. - -\subsubsection{Spalten mischen} -Jede Spalte von \eqref{buch:crypto:eqn:block} kann als Vektor des -vierdimensionalen Vektorraumes $\mathbb{F}_{2^8}^4$. -Die Zeilenmischoperation wendet ein lineare Abbildung auf jeden -Spaltenvektor von~\eqref{buch:crypto:eqn:block}. -Die Koeffizienten der Matrix sind Elemente von $\mathbb{F}_{2^8}$. -Die Matrix ist -\[ -C=\begin{pmatrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16} -\end{pmatrix}. -\] -Um nachzuprüfen, dass die Matrix $C$ invertierbar ist, könnte man den -Gauss-Algorithmus verwenden und damit die Inverse berechnen. -Dazu müsste man die multiplikativen Inversen kennen, was etwas mühsam -ist. -Man kann aber aber auch die Determinante bestimmen, dazu braucht man -nur multiplizieren zu können, was in diesem Fall sehr leicht möglich ist, -weil kein Überlauf entsteht. -Dabei hilft es zu beachten, dass die Multiplikation mit $\texttt{02}_{16}$ -nur eine Einbit-Shiftoperation nach links ist. -Nur die Multiplikation $\texttt{03}_{16}\cdot\texttt{03}_{16}=\text{05}_{16}$ -gibt etwas mehr zu überlegen. -Mit geeigneten Zeilen-Operationen kann man die Berechnung der Determinante -von $C$ mit dem Entwicklungssatz etwas vereinfachen. -Man erhält -\begin{align*} -\det(C) -&= -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -\left( -\texttt{02}_{16} -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}\\ -\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\right) -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -( -\texttt{02}_{16}(\texttt{04}_{16}+\texttt{05}_{16}) -+ -(\texttt{06}_{16}+\texttt{03}_{16}) -) -+ -\texttt{03}_{16}\texttt{03}_{16} -\\ -&= -\texttt{02}_{16} -( -\texttt{02}_{16} -+ -\texttt{05}_{16} -) -+ -\texttt{05}_{16} -= -\texttt{0e}_{16}+\texttt{05}_{16} -= -\texttt{0a}_{16} -\ne 0. -\end{align*} -Damit ist gezeigt, dass die Matrix $C$ invertierbar auf den -Spaltenvektoren wirkt. -Die Inverse der Matrix kann einmal berechnet und anschliessend -für die Entschlüsselung verwendet werden. - -Alternativ kann man die Multiplikation mit der Matrix $C$ auch -interpretieren als eine Polynommultiplikation. -Dazu interpretiert man die Spalten des Blocks als Polynom vom Grad~3 -mit Koeffizienten in $\mathbb{F}_{2^8}$. -Durch Reduktion mit dem irreduziblen Polynom -$n(Z)=Z^4+1\in\mathbb{F}_{2^8}[X]$ entsteht aus dem Polynomring -wieder ein Körper. -Die Wirkung der Matrix $C$ ist dann nichts anderes als Multiplikation -mit dem Polynom -\[ -c(Z) = \texttt{03}_{16}Z^3 + Z^2+Z^1+\texttt{02}_{16}, -\] -die natürlich ebenfalls umkehrbar ist. - -\subsection{Schlüssel -\label{buch:subsection:schlüssel}} -Die von den Byte- und Blockoperationen mischen die einzelnen Bits -der Daten zwar ganz schön durcheinander, aber es wird noch kein -Schlüsselmaterial eingearbeitet, welches den Prozess einzigartig -macht. - -\subsubsection{Schlüsseladdition} -Nach jeder Spaltenmischoperation wird ein Rundenschlüssel -zum Blockhinzuaddiert. -Beim ersten Mal wird dazu einfach das Schlüsselmaterial verwendet. -Für die folgenden Runden muss aus diesem Schlüssel neues -Material, die sogenannten Rundenschlüssel, gewonnen werden. - -\subsubsection{Rundenschlüssel} -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/keys.pdf} -\caption{Erzeugung der erweiterten Schlüsseldaten aus dem Schlüssel -$K_0,\dots,K_7$ für Schlüssellänge 256\,bit. -Die mit $S$ beschrifteten Blöcke wenden die $S$-Box auf jedes einzelne -Byte an. -$\pi$ ist die zyklische Vertauschung der Bytes eines Wortes. -Die Operation $r_i$ ist eine Addition einer Konstanten, die in jeder -Runde anders ist. -\label{buch:crypto:fig:keys}} -\end{figure} -Die Erzeugung der Rundenschlüssel ist in Abbildung -\ref{buch:crypto:fig:keys} -schematisch dargestellt. -Die Blöcke beschreiben wieder Spaltenvektoren im vierdimensionalen -Raum $\mathbb{F}_{2^8}^4$. -Die Blöcke $K_0$ bis $K_7$ stellen den ursprünglichen Schlüssel dar. -Die Erzeugung eines neuen Blocks Schlüsselmatrial beginnt damit, -dass der letzte Vektor des vorangegangenblocks drei Operationen -unterworfen werden. -\begin{itemize} -\item -Die Operation $\pi$ vertauscht die Bytes des Vektors zyklisch: -\begin{center} -\begin{tikzpicture}[>=latex,thick] -\def\s{0.6} -\begin{scope} -\draw (0,0) rectangle (\s,{4*\s}); -\foreach \y in {1,...,3}{ - \draw (0,{\y*\s}) (\s,{\y*\s}); -} -\node at ({0.5*\s},{0.5*\s}) {$b_3$}; -\node at ({0.5*\s},{1.5*\s}) {$b_2$}; -\node at ({0.5*\s},{2.5*\s}) {$b_1$}; -\node at ({0.5*\s},{3.5*\s}) {$b_0$}; -\end{scope} -\draw[->] ({1.1*\s},{2*\s}) -- ({4.9*\s},{2*\s}); -\node at ({3*\s},{2*\s}) [above] {$\pi$}; -\begin{scope}[xshift=3cm] -\draw (0,0) rectangle (\s,{4*\s}); -\foreach \y in {1,...,3}{ - \draw (0,{\y*\s}) (\s,{\y*\s}); -} -\node at ({0.5*\s},{0.5*\s}) {$b_0$}; -\node at ({0.5*\s},{1.5*\s}) {$b_3$}; -\node at ({0.5*\s},{2.5*\s}) {$b_2$}; -\node at ({0.5*\s},{3.5*\s}) {$b_1$}; -\end{scope} -\end{tikzpicture} -\end{center} -\item -Die $S$-Operation wendet die $S$-Box auf alle Bytes eines Vektors an. -\item -Die $r_i$ Operation addiert in Runde eine Konstante $r_i$ zur $0$-Komponente. -\end{itemize} -Die Konstante $r_i$ ist wieder ein einzelnes Byte und es ist daher -naheliegend, diese Bytes mit Hilfe der Arithmetik in $\mathbb{F}_{2^8}$ -zu erzeugen. -Man kann daher $r_i$ definieren als -$(\texttt{02}_{16})^{i-1}\in\mathbb{F}_{2^8}$. - -\subsection{Runden} -Der AES-Verschlüsselungsalgorithmus besteht jetzt darin, die bisher -definierten Operationen wiederholt anzuwenden. -Eine einzelne Runde besteht dabei aus folgenden Schritten: -\begin{enumerate} -\item Wende die $S$-Box auf alle Bytes des Blocks an. -\item Führe den Zeilenshift durch. -\item Mische die Spalten (wird in der letzten Runde) -\item Erzeuge den nächsten Rundenschlüssel -\item Addiere den Rundenschlüssel -\end{enumerate} -Der AES-Verschlüsselungsalgorithmus beginnt damit, dass der Schlüssel -zum Datenblock addiert wird. -Anschliessend werden je nach Blocklänge verschiedene Anzahlen von -Runden durchgeführt, 10 Runden für 128\,bit, 12 Runden für 192\,bit und -14 Runden für 256\,bit. - - - - - +% +% aes.tex -- Beschreibung des AES Algorithmus +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Advanced Encryption Standard -- AES +\label{buch:section:aes}} +\rhead{Advanced Encryption Standard} +Eine wichtige Forderung bei der Konzeption des damals neuen +Advanced Encryption Standard war, dass darin keine ``willkürlich'' +erscheinenden Operationen geben darf, bei denen der Verdacht +entstehen könnte, dass sich dahinter noch offengelegtes Wissen +über einen möglichen Angriff auf den Verschlüsselungsalgorithmus +verbergen könnte. +Dies war eine Schwäche des vor AES üblichen DES Verschlüsselungsalgorithmus. +In seiner Definition kommt eine Reihe von Konstanten vor, über deren +Herkunft nichts bekannt war. +Die Gerüchteküche wollte wissen, dass die NSA die Konstanten aus dem +ursprünglichen Vorschlag abgeändert habe, und dass dies geschehen sei, +um den Algorithmus durch die NSA angreifbar zu machen. + +Eine weiter Forderung war, dass die Sicherheit des neuen +Verschlüsselungsstandards ``skalierbar'' sein soll, dass man also +die Schlüssellänge mit der Zeit von 128~Bit auf 196 oder sogar 256~Bit +steigern kann. +Der Standard wird dadurch langlebiger und gleichzeitig entsteht die +Möglichkeit, Sicherheit gegen Rechenleistung einzutauschen. +Weniger leistungsfähige Systeme können den Algorithmus immer noch +nutzen, entweder mit geringerer Verschlüsselungsrate oder geringerer +Sicherheit. + +In diesem Abschnitt soll gezeigt werde, wie sich die AES +spezifizierten Operationen als mit der Arithmetik der +endlichen Körper beschreiben lassen. +Im Abschnitt~\ref{buch:subsection:byte-operationen} werden +Bytes als Elemente in einem endlichen Körper $\mathbb{F}_{2^8}$ +interpretiert. +Damit kann dann die sogenannte $S$-Box konstruiert werden und +es ist leicht zu verstehen, dass sie invertierbar ist. +Aus den Byte-Operationen können dann Mischoperationen erzeugt +werden, die Bytes untereinander verknüpfen, die aber auch wieder +als Operationen in einem endlichen Körper verstanden werden können. + +\subsection{Byte-Operationen +\label{buch:subsection:byte-operationen}} +Moderne Prozessoren operieren auf Wörtern, die Vielfache von Bytes sind. +Byte-Operationen sind besonders effizient in Hardware zu realisieren. +AES verwendet daher als Grundelemente Operationen auf Bytes, die als +Elemente eines endlichen Körpers $\mathbb{F}_{2^8}$ interpretiert werden. + +\subsubsection{Bytes als Elemente von $\mathbb{F}_{2^8}$} +Das Polynom $m(X)=X^8+X^4+X^3+X+1\in \mathbb{F}_2[X]$ ist irreduzibel, +somit ist $\mathbb{F}_{2^8} = \mathbb{F}_2[X]/(m)$ ein Körper. +Die Elemente können dargestellt werden als Polynome, das Byte +$\texttt{63}_{16}$ bekommt die Form +\[ +p(X) = p_7X^7 + p_6X^6 + \dots + p_2X^2+p_1X + p_0, +\] +sie bestehen daher aus den $8$ Bits $p_7,\dots,p_0$. + +Die Interpretation der Bytes als Elemente eines Körpers bedeutet, +dass jede Multiplikation mit einem nicht verschwindenden Byte +invertierbar ist. +Ausserdem mischen diese Operationen die einzelnen Bits auf einigermassen +undurchsichtige, aber umkehrbare Art durcheinander, wie dies für ein +Verschlüsselungsverfahren wünschenswert ist. + +\subsubsection{$S$-Box} +Für die Operation der $S$-Box wird wie folgt zusammengesetzt. +Zunächst wird ein Byte $x$ durch das zugehörige multiplikative +inverse Element +\[ +x\mapsto \bar{x} = \begin{cases} +x^{-1}&\qquad \text{für $x\in \mathbb{F}_{2^8}^*$}\\ +0 &\qquad \text{für $x=0$} +\end{cases} +\] +ersetzt. + +Im zweiten Schritt betrachten wir $\mathbb{F}_{2^8}$ als einen +$8$-dimensionalen Vektorraum über $\mathbb{F}_2$. +Einem Polynom $p(X)=p_7X^7 + \dots + p_1X+p_0$ wird der Spaltenvektor +mit den Komponenten $p_0$ bis $p_7$ zugeordnet. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/90-crypto/images/sbox.pdf} +\caption{Berechnung der Inversen der Matrix $A$ in der $S$-Box des +AES-Algorithmus mit dem Gauss-Algorithmus +\label{buch:crypto:fig:sbox}} +\end{figure} + +Eine lineare Transformation in diesem Vektorraum kann durch eine +$8\times 8$-Matrix in $M_8(\mathbb{F}_2)$ betrachtet werden. +In der $S$-Box wird die Matrix +\[ +A= +\begin{pmatrix} +1&0&0&0&1&1&1&1\\ +1&1&0&0&0&1&1&1\\ +1&1&1&0&0&0&1&1\\ +1&1&1&1&0&0&0&1\\ +1&1&1&1&1&0&0&0\\ +0&1&1&1&1&1&0&0\\ +0&0&1&1&1&1&1&0\\ +0&0&0&1&1&1&1&1 +\end{pmatrix}, +\qquad +A^{-1} += +\begin{pmatrix} +0&0&1&0&0&1&0&1\\ +1&0&0&1&0&0&1&0\\ +0&1&0&0&1&0&0&1\\ +1&0&1&0&0&1&0&0\\ +0&1&0&1&0&0&1&0\\ +0&0&1&0&1&0&0&1\\ +1&0&0&1&0&1&0&0\\ +0&1&0&0&1&0&1&0 +\end{pmatrix} +\] +verwendet. +Mit dem Gauss-Algorithmus, schematisch dargestellt in +Abbildung~\ref{buch:crypto:fig:sbox}, kann man die Inverse +bestimmen, die Multiplikation mit $A$ ist also eine invertierbare +Abbildung. + +Der letzte Schritt ist dann wieder eine Addition von +$q(X)=X^7+X^6+X+1\in \mathbb{F}_{2^8}$, durch Subtraktion +von $q(X)$ invertiert werden kann. +Die $S$-Box-Operation kann also bektoriell geschrieben werden also +\[ + S(x) = A\overline{x}+q. +\] + +Die Implementation ist möglicherweise mit einer Tabelle am schnellsten, +es sind ja nur 256 Bytes im Definitionsbereich der $S$-Box-Abbildung +und ebenso nur 256 möglich Werte. + +\subsection{Block-Operationen +\label{buch:subsection:block-operationen}} +Die zu verschlüsselnden Daten werden in in Blöcke aufgeteilt, deren +Länge Vielfache von $32$ bit sind. +Die kleinste Blockgrösse ist 128\,Bit, die grösste ist 256\,Bit. +Die Bytes eines Blockes werden dann in einem Rechteck angeordnet +als +\begin{equation} +\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline + b_{0} & b_{4} & b_{8} & b_{12} & b_{16} & b_{20} & b_{24} & b_{28} \\ + b_{1} & b_{5} & b_{9} & b_{13} & b_{17} & b_{21} & b_{25} & b_{29} \\ + b_{2} & b_{6} & b_{10} & b_{14} & b_{18} & b_{22} & b_{26} & b_{30} \\ + b_{3} & b_{7} & b_{11} & b_{15} & b_{19} & b_{23} & b_{27} & b_{31} \\ +\hline +\end{tabular} +\label{buch:crypto:eqn:block} +\end{equation} +für eine Blocklänge von 256\,Bits. + + + +\subsubsection{Zeilenshift} +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/90-crypto/images/shift.pdf} +\caption{Zeilenshift in einem Block von 256 bits +\label{buch:crypto:fig:shift}} +\end{figure} +Die Verschlüsselung muss sicherstellen, dass die Bytes des Blockes +untereinander gut gemischt werden. +Die bisher beschriebenen Operationen operieren immer nur auf einzelnen +Bytes während +die im nächsten Abschnitt beschriebene Spalten-Mischoperation +nur auf Spalten wird. +Die Zeilenmischoperation permutiert die Zeilen in den vier Zeilen +eines Blocks zyklisch, die erste Zeile bleibt an Ort, die zweite +Zeile wird um ein Byte rotiert, die dritte um zwei und die letzte +um 3 Bytes, wie in Abbildung~\ref{buch:crypto:fig:zeilenshift} +dargestellt. +Diese Operation könnte mit einer Permutationsmatrix beschrieben werden, +dies wäre jedoch keine effiziente Implementation. +Der Zeilenschift hat ansonsten keine elegante algebraische Beschreibung. + +\subsubsection{Spalten mischen} +Jede Spalte von \eqref{buch:crypto:eqn:block} kann als Vektor des +vierdimensionalen Vektorraumes $\mathbb{F}_{2^8}^4$. +Die Zeilenmischoperation wendet ein lineare Abbildung auf jeden +Spaltenvektor von~\eqref{buch:crypto:eqn:block}. +Die Koeffizienten der Matrix sind Elemente von $\mathbb{F}_{2^8}$. +Die Matrix ist +\[ +C=\begin{pmatrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16} +\end{pmatrix}. +\] +Um nachzuprüfen, dass die Matrix $C$ invertierbar ist, könnte man den +Gauss-Algorithmus verwenden und damit die Inverse berechnen. +Dazu müsste man die multiplikativen Inversen kennen, was etwas mühsam +ist. +Man kann aber aber auch die Determinante bestimmen, dazu braucht man +nur multiplizieren zu können, was in diesem Fall sehr leicht möglich ist, +weil kein Überlauf entsteht. +Dabei hilft es zu beachten, dass die Multiplikation mit $\texttt{02}_{16}$ +nur eine Einbit-Shiftoperation nach links ist. +Nur die Multiplikation $\texttt{03}_{16}\cdot\texttt{03}_{16}=\text{05}_{16}$ +gibt etwas mehr zu überlegen. +Mit geeigneten Zeilen-Operationen kann man die Berechnung der Determinante +von $C$ mit dem Entwicklungssatz etwas vereinfachen. +Man erhält +\begin{align*} +\det(C) +&= +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left( +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\right) ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +( +\texttt{02}_{16}(\texttt{04}_{16}+\texttt{05}_{16}) ++ +(\texttt{06}_{16}+\texttt{03}_{16}) +) ++ +\texttt{03}_{16}\texttt{03}_{16} +\\ +&= +\texttt{02}_{16} +( +\texttt{02}_{16} ++ +\texttt{05}_{16} +) ++ +\texttt{05}_{16} += +\texttt{0e}_{16}+\texttt{05}_{16} += +\texttt{0a}_{16} +\ne 0. +\end{align*} +Damit ist gezeigt, dass die Matrix $C$ invertierbar auf den +Spaltenvektoren wirkt. +Die Inverse der Matrix kann einmal berechnet und anschliessend +für die Entschlüsselung verwendet werden. + +Alternativ kann man die Multiplikation mit der Matrix $C$ auch +interpretieren als eine Polynommultiplikation. +Dazu interpretiert man die Spalten des Blocks als Polynom vom Grad~3 +mit Koeffizienten in $\mathbb{F}_{2^8}$. +Durch Reduktion mit dem irreduziblen Polynom +$n(Z)=Z^4+1\in\mathbb{F}_{2^8}[X]$ entsteht aus dem Polynomring +wieder ein Körper. +Die Wirkung der Matrix $C$ ist dann nichts anderes als Multiplikation +mit dem Polynom +\[ +c(Z) = \texttt{03}_{16}Z^3 + Z^2+Z^1+\texttt{02}_{16}, +\] +die natürlich ebenfalls umkehrbar ist. + +\subsection{Schlüssel +\label{buch:subsection:schlüssel}} +Die von den Byte- und Blockoperationen mischen die einzelnen Bits +der Daten zwar ganz schön durcheinander, aber es wird noch kein +Schlüsselmaterial eingearbeitet, welches den Prozess einzigartig +macht. + +\subsubsection{Schlüsseladdition} +Nach jeder Spaltenmischoperation wird ein Rundenschlüssel +zum Blockhinzuaddiert. +Beim ersten Mal wird dazu einfach das Schlüsselmaterial verwendet. +Für die folgenden Runden muss aus diesem Schlüssel neues +Material, die sogenannten Rundenschlüssel, gewonnen werden. + +\subsubsection{Rundenschlüssel} +\begin{figure} +\centering +\includegraphics{chapters/90-crypto/images/keys.pdf} +\caption{Erzeugung der erweiterten Schlüsseldaten aus dem Schlüssel +$K_0,\dots,K_7$ für Schlüssellänge 256\,bit. +Die mit $S$ beschrifteten Blöcke wenden die $S$-Box auf jedes einzelne +Byte an. +$\pi$ ist die zyklische Vertauschung der Bytes eines Wortes. +Die Operation $r_i$ ist eine Addition einer Konstanten, die in jeder +Runde anders ist. +\label{buch:crypto:fig:keys}} +\end{figure} +Die Erzeugung der Rundenschlüssel ist in Abbildung +\ref{buch:crypto:fig:keys} +schematisch dargestellt. +Die Blöcke beschreiben wieder Spaltenvektoren im vierdimensionalen +Raum $\mathbb{F}_{2^8}^4$. +Die Blöcke $K_0$ bis $K_7$ stellen den ursprünglichen Schlüssel dar. +Die Erzeugung eines neuen Blocks Schlüsselmatrial beginnt damit, +dass der letzte Vektor des vorangegangenblocks drei Operationen +unterworfen werden. +\begin{itemize} +\item +Die Operation $\pi$ vertauscht die Bytes des Vektors zyklisch: +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\def\s{0.6} +\begin{scope} +\draw (0,0) rectangle (\s,{4*\s}); +\foreach \y in {1,...,3}{ + \draw (0,{\y*\s}) (\s,{\y*\s}); +} +\node at ({0.5*\s},{0.5*\s}) {$b_3$}; +\node at ({0.5*\s},{1.5*\s}) {$b_2$}; +\node at ({0.5*\s},{2.5*\s}) {$b_1$}; +\node at ({0.5*\s},{3.5*\s}) {$b_0$}; +\end{scope} +\draw[->] ({1.1*\s},{2*\s}) -- ({4.9*\s},{2*\s}); +\node at ({3*\s},{2*\s}) [above] {$\pi$}; +\begin{scope}[xshift=3cm] +\draw (0,0) rectangle (\s,{4*\s}); +\foreach \y in {1,...,3}{ + \draw (0,{\y*\s}) (\s,{\y*\s}); +} +\node at ({0.5*\s},{0.5*\s}) {$b_0$}; +\node at ({0.5*\s},{1.5*\s}) {$b_3$}; +\node at ({0.5*\s},{2.5*\s}) {$b_2$}; +\node at ({0.5*\s},{3.5*\s}) {$b_1$}; +\end{scope} +\end{tikzpicture} +\end{center} +\item +Die $S$-Operation wendet die $S$-Box auf alle Bytes eines Vektors an. +\item +Die $r_i$ Operation addiert in Runde eine Konstante $r_i$ zur $0$-Komponente. +\end{itemize} +Die Konstante $r_i$ ist wieder ein einzelnes Byte und es ist daher +naheliegend, diese Bytes mit Hilfe der Arithmetik in $\mathbb{F}_{2^8}$ +zu erzeugen. +Man kann daher $r_i$ definieren als +$(\texttt{02}_{16})^{i-1}\in\mathbb{F}_{2^8}$. + +\subsection{Runden} +Der AES-Verschlüsselungsalgorithmus besteht jetzt darin, die bisher +definierten Operationen wiederholt anzuwenden. +Eine einzelne Runde besteht dabei aus folgenden Schritten: +\begin{enumerate} +\item Wende die $S$-Box auf alle Bytes des Blocks an. +\item Führe den Zeilenshift durch. +\item Mische die Spalten (wird in der letzten Runde) +\item Erzeuge den nächsten Rundenschlüssel +\item Addiere den Rundenschlüssel +\end{enumerate} +Der AES-Verschlüsselungsalgorithmus beginnt damit, dass der Schlüssel +zum Datenblock addiert wird. +Anschliessend werden je nach Blocklänge verschiedene Anzahlen von +Runden durchgeführt, 10 Runden für 128\,bit, 12 Runden für 192\,bit und +14 Runden für 256\,bit. + + + + + diff --git a/buch/chapters/90-crypto/arith.tex b/buch/chapters/90-crypto/arith.tex index 44eb6bb..3386fc0 100644 --- a/buch/chapters/90-crypto/arith.tex +++ b/buch/chapters/90-crypto/arith.tex @@ -1,295 +1,295 @@ -% -% arith.tex -% -% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Arithmetik für die Kryptographie -\label{buch:section:arithmetik-fuer-kryptographie}} -\rhead{Arithmetik für die Kryptographie} -Die Algorithmen der mathematischen Kryptographie basieren -auf den Rechenoperationen in grossen, aber endlichen Körpern. -Für die Division liefert der euklidische Algorithmus eine -Methode, der in so vielen Schritten die Inverse findet, -wie Dividend und Divisor Binärstellen haben. -Dies ist weitgehend optimal. - -Die Division ist umkehrbar, in der Kryptographie strebt man aber an, -Funktionen zu konstruieren, die nur mit grossem Aufwand umkehrbar sind. -Eine solche Funktion ist das Potenzieren in einem endlichen Körper. -Die Berechnung von Potenzen durch wiederholte Multiplikation ist jedoch -prohibitiv aufwendig, daher ist ein schneller Potenzierungsalgorithmus -nötig, der in Abschnitt~\ref{buch:subsection:potenzieren} beschrieben -wird. -Bei der Verschlüsselung grosser Datenmengen wie zum Beispiel bei -der Verschlüsselung ganzer Harddisks mit Hilfe des AES-Algorithmus -kommt es auf die Geschwindigkeit auch der elementarsten Operationen -in den endlichen Körpern an. -Solche Methoden werden in den Abschnitten -\ref{buch:subsection:rechenoperationen-in-fp} -und -\ref{buch:subsection:rechenoperatione-in-f2l} -besprochen. - -\subsection{Potenzieren -\label{buch:subsection:potenzieren}} -Wir gehen davon aus, dass wir einen schnellen Algorithmus zur -Berechnung des Produktes zweier Elemente $a,b$ in einer -beliebigen Gruppe $G$ haben. -Die Gruppe $G$ kann die Multiplikation der ganzen oder reellen Zahlen -sein, dies wird zum Beispiel in Implementation der Potenzfunktion -verwendet. -Für kryptographische Anwendungen ist $G$ die multiplikative Gruppe -eines endlichen Körpers oder eine elliptische Kurve. - -Zur Berechnung von $a^k$ sind bei einer naiven Durchführung des -Algorithmus $k-1$ Multiplikationen nötig, immer sofort gefolgt -von einer Reduktion $\mod p$ um sicherzustellen, dass die Resultate -nicht zu gross werden. -Ist $l$ die Anzahl der Binärstellen von $k$, dann benötigt dieser -naive Algorithmus $O(2^l)$ Multiplikationen, die Laufzeit wächst -also exponentiell mit der Bitlänge von $k$ an. -Der nachfolgend beschriebene Algorithmus reduziert die Laufzeit auf -die $O(l)$. - -Zunächst schreiben wir den Exponenten $k$ in binärer Form als -\[ -k = k_l2^l + k_{l-1}2^{l-1} + \dots k_22^2+k_12^1 k_02^0. -\] -Die Potenz $a^k$ kann dann geschrieben werden als -\[ -a^k -= -a^{k_l2^l} \cdot a^{k_{l-1}2^{l-1}} \cdot \dots \cdot -a^{k_22^2} \cdot a^{k_12^1} \cdot a^{k_02^0} -\] -Nur diejenigen Faktoren tragen etwas bei, für die $k_i\ne 0$ ist. -Die Potenz kann man daher auch schreiben als -\[ -a^k -= -\prod_{k_i\ne 0} a^{2^i}. -\] -Es sind also nur so viele Faktoren zu berücksichtigen, wie $k$ -Binärstellen $1$ hat. - -Die einzelnen Faktoren $a^{2^i}$ können durch wiederholtes Quadrieren -erhalten werden: -\[ -a^{2^i} = a^{2\cdot 2^{i-1}} = (a^{2^{i-1}})^2, -\] -also durch maximal $l-1$ Multiplikationen. -Wenn $k$ keine Ganzzahl ist sondern binäre Nachkommastellen hat, also -\[ -k=k_l2^l + \dots + k_12^1 + k_02^0 + k_{-1}2^{-1} + k_{-2}2^{-2}+\dots, -\] -dann können die Potenzen $a^{2^{-i}}$ durch wiederholtes Wurzelziehen -\[ -a^{2^{-i}} = a^{\frac12\cdot 2^{-i+1}} = \sqrt{a^{2^{-i+1}}} -\] -gefunden werden. -Die Berechnung der Quadratwurzel lässt sich in Hardware effizient -implementieren. - -\begin{algorithmus} -Der folgende Algorithmsu berechnet $a^k$ in $O(\log_2(k))$ -Multiplikationen -\begin{enumerate} -\item Initialisiere $p=1$ und $q=a$ -\item Falls $k$ ungerade ist, setze $p:=p\cdot q$ -\item Setze $q:=q^2$ und $k := k/2$, wobei die ganzzahlige Division durch $2$ -am effizientesten als Rechtsshift implementiert werden kann. -\item Falls $k>0$, fahre weiter bei 2. -\end{enumerate} -\end{algorithmus} - -\begin{beispiel} -Die Berechnung von $1.1^{17}$ mit diesem Algorithmus ergibt -\begin{enumerate} -\item $p=1$, $q=1.1$ -\item $k$ ist ungerade: $p:=1.1$ -\item $q:=q^2=1.21$, $k := 8$ -\item $k$ ist gerade -\item $q:=q^2=1.4641$, $k := 4$ -\item $k$ ist gerade -\item $q:=q^2=2.14358881$, $k := 2$ -\item $k$ ist gerade -\item $q:=q^2=4.5949729863572161$, $k := 1$ -\item $k$ ist ungerade: $p:=1.1\cdot p = 5.05447028499293771$ -\item $k:=0$ -\end{enumerate} -Multiplikationen sind nur nötig in den Schritten 3, 5, 7, 9, 10, es -werden also genau $5$ Multiplikationen ausgeführt. -\end{beispiel} - -\subsection{Rechenoperationen in $\mathbb{F}_p$ -\label{buch:subsection:rechenoperationen-in-fp}} -Die Multiplikation macht aus zwei Faktoren $a$ und $b$ ein -Resultat mit Bitlänge $\log_2 a+\log_2 b$, die Bitlänge wird -also typischerweise verdoppelt. -In $\mathbb{F}_p$ muss anschliessend das Resultat $\mod p$ -reduziert werden, so dass die Bitlänge wieder höchstens -$\log_2p$ ist. -In folgenden soll gezeigt werden, dass dieser Speicheraufwand -für eine Binärimplementation deutlich reduziert werden kann, -wenn die Reihenfolge der Operationen modifiziert wird. - -Für die Multiplikation von $41\cdot 47$ rechnet man im Binärsystem -\begin{center} -\begin{tabular}{>{$}r<{$}} -\texttt{{\color{darkgreen}1}0{\color{red}1}001}\cdot\texttt{101111}\\ -\hline -\texttt{101111}\\ -\texttt{{\color{red}101111}\phantom{000}}\\ -\texttt{{\color{darkgreen}101111}\phantom{00000}}\\ -\hline -\texttt{11110000111}\\ -\hline -\end{tabular} -\end{center} -In $\mathbb{F}_{53}$ muss im Anschluss Modulo $p=53$ reduziert werden. - -Der Speicheraufwand entsteht zunächst dadurch, dass durch die Multiplikation -mit $2$ die Summanden immer länger werden. -Man kann den die Sumanden kurz halten, indem man jedesmal, wenn -der Summand nach der Multiplikation mit $2$ grösser als $p$ geworden ist, -$p$ subtrahiert (Abbildung~\ref{buch:crypto:fig:reduktion}). -Ebenso kann bei nach jeder Addition das bereits reduzierten zweiten -Faktors wieder reduziert werden. -Die Anzahl der nötigen Reduktionsoperationen wird durch diese -frühzeitig durchgeführten Reduktionen nicht teurer als bei der Durchführung -des Divisionsalgorithmus. - -\begin{figure} -\begin{center} -\begin{tabular}{>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}} -\text{Multiplikation mit $2$}&\text{Reduktion?}&\text{reduziert} - &\text{Summanden}&\text{Summe}&\text{reduziert} -\\ -\hline -\texttt{101111} & &\texttt{101111} - &\texttt{101111}&\texttt{101111}&\texttt{101111} -\\ -\texttt{101111\phantom{0}} &\texttt{{\color{red}1011110}}&\texttt{101001} - & & & -\\ -\texttt{101111\phantom{00}} &\texttt{0{\color{red}111010}}&\texttt{011101} - & & & -\\ -\texttt{101111\phantom{000}} &\texttt{0001010}&\texttt{000101} - &\texttt{000101}&\texttt{110100}&\texttt{110100} -\\ -\texttt{101111\phantom{0000}} &\texttt{0010100}&\texttt{001010} - & & & -\\ -\texttt{101111\phantom{00000}}&\texttt{0101000}&\texttt{010100} - &\texttt{010100}&\texttt{{\color{red}1001000}}&\texttt{10011}\rlap{$\mathstrut=19$} -\end{tabular} -\end{center} -\caption{Multiplikation von $41=\texttt{101001}_2$ mit $47=\texttt{101111}_2$, -Reduktion nach jeder Multiplikation mit $2$: falls das Resultat -$>p$ ist, wie in den rot markierten Zeilen $p=53=\texttt{110101}_2$ -durchgeführt. -Bei der Bildung der Summe wird ebenfalls in jedem Schritt falls nötig -reduziert, angezeigt durch die roten Zahlen in der zweitletzten -Spalte. -Die Anzahl der Subtraktionen, die für die Reduktionen nötig sind, ist -von der selben Grössenordnung wie bei der Durchführung des -Divisionsalgorithmus. -\label{buch:crypto:fig:reduktion}} -\end{figure} - -Es ist also möglich, mit gleichem Aufwand an Operationen -aber mit halbe Speicherplatzbedarf die Multiplikationen in $\mathbb{F}_p$ -durchzuführen. -Die Platzeinsparung ist besonders bei Implementationen in Hardware -hilfreich, wo on-die Speicherplatz teuer sein kann. - -\subsection{Rechenoperationen in $\mathbb{F}_{2^l}$ -\label{buch:subsection:rechenoperatione-in-f2l}} -Von besonderem praktischem Interesse sind die endlichen Körper -$\mathbb{F}_{2^l}$. -Die arithmetischen Operationen in diesen Körpern lassen sich besonders -effizient in Hardware realisieren. - -\subsubsection{Zahldarstellung} -Ein endlicher Körper $\mathbb{F}_{2^l}$ ist definiert durch ein -irreduzibles Polynom in $\mathbb{F}_2[X]$ vom Grad $2^l$ -\[ -m(X) -= -X^l + m_{l-1}X^{l-1} + m_{l-2}X^{l-2} + \dots + m_2X^2 + m_1X + m_0 -\] -gegeben. -Ein Element in $\mathbb{F}_2[X]/(m)$ kann dargestellt werden durch ein -Polynom vom Grad $l-1$, also durch -\[ -a = a_{l-1}X^{l-1} + a_{l-2}X^{l-2} +\dots + a_2X^2 + a_1X + a_0. -\] -In einer Maschine kann eine Zahl also als eine Bitfolge der Länge $l$ -dargestellt werden. - -\subsubsection{Addition} -Die Addition in $\mathbb{F}_2$ ist in Hardware besonders leicht zu -realisieren. -Die Addition ist die XOR-Operation, die Multiplikation ist die UND-Verknüfung. -Ausserdem stimmen in $\mathbb{F}_2$ Addition und Subtraktion überein. - -Die Addition zweier Polynome erfolgt komponentenweise. -Die Addition von zwei Elemente von $\mathbb{F}_{2^l}$ kann also -durch die bitweise XOR-Verknüpfung der Darstellungen der Summanden -erfolgen. -Diese Operation ist in einem einzigen Maschinenzyklus realisierbar. -Die Subtraktion, die für die Reduktionsoperation module $m(X)$ nötig -ist, ist mit der Addition identisch. - -\subsubsection{Multiplikation} -Die Multiplikation zweier Polynome benötigt zunächst die Multiplikation -mit $X$, wodurch der Grad des Polynoms ansteigt und möglicherweise so -gross wird, dass eine Reduktionsoperation modulo $m(X)$ nötig wird. -Die Reduktion wird immer dann nötig, wenn der Koeffizient von $X^l$ -nicht $0$ ist. -Der Koeffizient kann dann zum Verschwinden gebracht werden, indem -$m(X)$ addiert wird. - -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/schieberegister.pdf} -\caption{Implementation der Multiplikation mit $X$ in einem -endlichen Körper $\mathbb{F}_{2^l}$ mit dem Minimalpolynom -$m(X) = X^8+X^4+X^3+X^+1$ als Feedback-Schieberegister. -\label{buch:crypto:fig:schieberegister}} -\end{figure} - -In Abbildung~\ref{buch:crypto:fig:schieberegister} wird gezeigt, -wie die Reduktion erfolgt, wenn die Multiplikation mit $X$, also der -Shift nach links, einen Überlauf ergibt. -Das Minimalpolynom $m(X)=X^8+X^4+X^3+X+1$ bedeutet, dass in $\mathbb{F}_{2^l}$ -$X^8=X^4+X^3+X+1$ gilt, so dass man das Überlaufbit durch -$X^4+X^3+X+1$ ersetzen und addieren kann. - -Ein Produktes $p(X)\cdot q(X)$, wobei $p(X)$ und -$q(X)$ Repräsentaten von Elementen $\mathbb{F}_{2^l}$ sind, kann jetzt -wie folgt berechnet werden. -Mit dem Schieberegister werden die Vielfachen $X^k\cdot p(X)$ -für $k=0,\dots,l-1$ berechnet. -Diejenigen Vielfachen, für die der Koeffizient von $X^k$ in $q(X)$ -von $0$ verschieden ist werden aufsummiert und ergeben das Produkt. -Der Prozess in Abbildung~\ref{buch:crypto:fig:multiplikation} -dargestellt. - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/90-crypto/images/multiplikation.pdf} -\caption{Multiplikation zweier Elemente von $\mathbb{F}_{2^l}$. -Mit Hilfe des Schieberegisters am linken Rand werden die Produkte -$X\cdot p(X)$, $X^2\cdot p(X),\dots,X^7\cdot p(X)$ nach der in -Abbildung~\ref{buch:crypto:fig:schieberegister} dargestellten -Methode berechnet. -Am rechten Rand werden diejenigen $X^k\cdot p(X)$ aufaddiert, -für die der $X^k$-Koeffizient von $q(X)$ von $0$ verschieden ist. -\label{buch:crypto:fig:multiplikation}} -\end{figure} - - -% XXX Beispiel F einer Oakley-Gruppe - +% +% arith.tex +% +% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Arithmetik für die Kryptographie +\label{buch:section:arithmetik-fuer-kryptographie}} +\rhead{Arithmetik für die Kryptographie} +Die Algorithmen der mathematischen Kryptographie basieren +auf den Rechenoperationen in grossen, aber endlichen Körpern. +Für die Division liefert der euklidische Algorithmus eine +Methode, der in so vielen Schritten die Inverse findet, +wie Dividend und Divisor Binärstellen haben. +Dies ist weitgehend optimal. + +Die Division ist umkehrbar, in der Kryptographie strebt man aber an, +Funktionen zu konstruieren, die nur mit grossem Aufwand umkehrbar sind. +Eine solche Funktion ist das Potenzieren in einem endlichen Körper. +Die Berechnung von Potenzen durch wiederholte Multiplikation ist jedoch +prohibitiv aufwendig, daher ist ein schneller Potenzierungsalgorithmus +nötig, der in Abschnitt~\ref{buch:subsection:potenzieren} beschrieben +wird. +Bei der Verschlüsselung grosser Datenmengen wie zum Beispiel bei +der Verschlüsselung ganzer Harddisks mit Hilfe des AES-Algorithmus +kommt es auf die Geschwindigkeit auch der elementarsten Operationen +in den endlichen Körpern an. +Solche Methoden werden in den Abschnitten +\ref{buch:subsection:rechenoperationen-in-fp} +und +\ref{buch:subsection:rechenoperatione-in-f2l} +besprochen. + +\subsection{Potenzieren +\label{buch:subsection:potenzieren}} +Wir gehen davon aus, dass wir einen schnellen Algorithmus zur +Berechnung des Produktes zweier Elemente $a,b$ in einer +beliebigen Gruppe $G$ haben. +Die Gruppe $G$ kann die Multiplikation der ganzen oder reellen Zahlen +sein, dies wird zum Beispiel in Implementation der Potenzfunktion +verwendet. +Für kryptographische Anwendungen ist $G$ die multiplikative Gruppe +eines endlichen Körpers oder eine elliptische Kurve. + +Zur Berechnung von $a^k$ sind bei einer naiven Durchführung des +Algorithmus $k-1$ Multiplikationen nötig, immer sofort gefolgt +von einer Reduktion $\mod p$ um sicherzustellen, dass die Resultate +nicht zu gross werden. +Ist $l$ die Anzahl der Binärstellen von $k$, dann benötigt dieser +naive Algorithmus $O(2^l)$ Multiplikationen, die Laufzeit wächst +also exponentiell mit der Bitlänge von $k$ an. +Der nachfolgend beschriebene Algorithmus reduziert die Laufzeit auf +die $O(l)$. + +Zunächst schreiben wir den Exponenten $k$ in binärer Form als +\[ +k = k_l2^l + k_{l-1}2^{l-1} + \dots k_22^2+k_12^1 k_02^0. +\] +Die Potenz $a^k$ kann dann geschrieben werden als +\[ +a^k += +a^{k_l2^l} \cdot a^{k_{l-1}2^{l-1}} \cdot \dots \cdot +a^{k_22^2} \cdot a^{k_12^1} \cdot a^{k_02^0} +\] +Nur diejenigen Faktoren tragen etwas bei, für die $k_i\ne 0$ ist. +Die Potenz kann man daher auch schreiben als +\[ +a^k += +\prod_{k_i\ne 0} a^{2^i}. +\] +Es sind also nur so viele Faktoren zu berücksichtigen, wie $k$ +Binärstellen $1$ hat. + +Die einzelnen Faktoren $a^{2^i}$ können durch wiederholtes Quadrieren +erhalten werden: +\[ +a^{2^i} = a^{2\cdot 2^{i-1}} = (a^{2^{i-1}})^2, +\] +also durch maximal $l-1$ Multiplikationen. +Wenn $k$ keine Ganzzahl ist sondern binäre Nachkommastellen hat, also +\[ +k=k_l2^l + \dots + k_12^1 + k_02^0 + k_{-1}2^{-1} + k_{-2}2^{-2}+\dots, +\] +dann können die Potenzen $a^{2^{-i}}$ durch wiederholtes Wurzelziehen +\[ +a^{2^{-i}} = a^{\frac12\cdot 2^{-i+1}} = \sqrt{a^{2^{-i+1}}} +\] +gefunden werden. +Die Berechnung der Quadratwurzel lässt sich in Hardware effizient +implementieren. + +\begin{algorithmus} +Der folgende Algorithmsu berechnet $a^k$ in $O(\log_2(k))$ +Multiplikationen +\begin{enumerate} +\item Initialisiere $p=1$ und $q=a$ +\item Falls $k$ ungerade ist, setze $p:=p\cdot q$ +\item Setze $q:=q^2$ und $k := k/2$, wobei die ganzzahlige Division durch $2$ +am effizientesten als Rechtsshift implementiert werden kann. +\item Falls $k>0$, fahre weiter bei 2. +\end{enumerate} +\end{algorithmus} + +\begin{beispiel} +Die Berechnung von $1.1^{17}$ mit diesem Algorithmus ergibt +\begin{enumerate} +\item $p=1$, $q=1.1$ +\item $k$ ist ungerade: $p:=1.1$ +\item $q:=q^2=1.21$, $k := 8$ +\item $k$ ist gerade +\item $q:=q^2=1.4641$, $k := 4$ +\item $k$ ist gerade +\item $q:=q^2=2.14358881$, $k := 2$ +\item $k$ ist gerade +\item $q:=q^2=4.5949729863572161$, $k := 1$ +\item $k$ ist ungerade: $p:=1.1\cdot p = 5.05447028499293771$ +\item $k:=0$ +\end{enumerate} +Multiplikationen sind nur nötig in den Schritten 3, 5, 7, 9, 10, es +werden also genau $5$ Multiplikationen ausgeführt. +\end{beispiel} + +\subsection{Rechenoperationen in $\mathbb{F}_p$ +\label{buch:subsection:rechenoperationen-in-fp}} +Die Multiplikation macht aus zwei Faktoren $a$ und $b$ ein +Resultat mit Bitlänge $\log_2 a+\log_2 b$, die Bitlänge wird +also typischerweise verdoppelt. +In $\mathbb{F}_p$ muss anschliessend das Resultat $\mod p$ +reduziert werden, so dass die Bitlänge wieder höchstens +$\log_2p$ ist. +In folgenden soll gezeigt werden, dass dieser Speicheraufwand +für eine Binärimplementation deutlich reduziert werden kann, +wenn die Reihenfolge der Operationen modifiziert wird. + +Für die Multiplikation von $41\cdot 47$ rechnet man im Binärsystem +\begin{center} +\begin{tabular}{>{$}r<{$}} +\texttt{{\color{darkgreen}1}0{\color{red}1}001}\cdot\texttt{101111}\\ +\hline +\texttt{101111}\\ +\texttt{{\color{red}101111}\phantom{000}}\\ +\texttt{{\color{darkgreen}101111}\phantom{00000}}\\ +\hline +\texttt{11110000111}\\ +\hline +\end{tabular} +\end{center} +In $\mathbb{F}_{53}$ muss im Anschluss Modulo $p=53$ reduziert werden. + +Der Speicheraufwand entsteht zunächst dadurch, dass durch die Multiplikation +mit $2$ die Summanden immer länger werden. +Man kann den die Sumanden kurz halten, indem man jedesmal, wenn +der Summand nach der Multiplikation mit $2$ grösser als $p$ geworden ist, +$p$ subtrahiert (Abbildung~\ref{buch:crypto:fig:reduktion}). +Ebenso kann bei nach jeder Addition das bereits reduzierten zweiten +Faktors wieder reduziert werden. +Die Anzahl der nötigen Reduktionsoperationen wird durch diese +frühzeitig durchgeführten Reduktionen nicht teurer als bei der Durchführung +des Divisionsalgorithmus. + +\begin{figure} +\begin{center} +\begin{tabular}{>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}} +\text{Multiplikation mit $2$}&\text{Reduktion?}&\text{reduziert} + &\text{Summanden}&\text{Summe}&\text{reduziert} +\\ +\hline +\texttt{101111} & &\texttt{101111} + &\texttt{101111}&\texttt{101111}&\texttt{101111} +\\ +\texttt{101111\phantom{0}} &\texttt{{\color{red}1011110}}&\texttt{101001} + & & & +\\ +\texttt{101111\phantom{00}} &\texttt{0{\color{red}111010}}&\texttt{011101} + & & & +\\ +\texttt{101111\phantom{000}} &\texttt{0001010}&\texttt{000101} + &\texttt{000101}&\texttt{110100}&\texttt{110100} +\\ +\texttt{101111\phantom{0000}} &\texttt{0010100}&\texttt{001010} + & & & +\\ +\texttt{101111\phantom{00000}}&\texttt{0101000}&\texttt{010100} + &\texttt{010100}&\texttt{{\color{red}1001000}}&\texttt{10011}\rlap{$\mathstrut=19$} +\end{tabular} +\end{center} +\caption{Multiplikation von $41=\texttt{101001}_2$ mit $47=\texttt{101111}_2$, +Reduktion nach jeder Multiplikation mit $2$: falls das Resultat +$>p$ ist, wie in den rot markierten Zeilen $p=53=\texttt{110101}_2$ +durchgeführt. +Bei der Bildung der Summe wird ebenfalls in jedem Schritt falls nötig +reduziert, angezeigt durch die roten Zahlen in der zweitletzten +Spalte. +Die Anzahl der Subtraktionen, die für die Reduktionen nötig sind, ist +von der selben Grössenordnung wie bei der Durchführung des +Divisionsalgorithmus. +\label{buch:crypto:fig:reduktion}} +\end{figure} + +Es ist also möglich, mit gleichem Aufwand an Operationen +aber mit halbe Speicherplatzbedarf die Multiplikationen in $\mathbb{F}_p$ +durchzuführen. +Die Platzeinsparung ist besonders bei Implementationen in Hardware +hilfreich, wo on-die Speicherplatz teuer sein kann. + +\subsection{Rechenoperationen in $\mathbb{F}_{2^l}$ +\label{buch:subsection:rechenoperatione-in-f2l}} +Von besonderem praktischem Interesse sind die endlichen Körper +$\mathbb{F}_{2^l}$. +Die arithmetischen Operationen in diesen Körpern lassen sich besonders +effizient in Hardware realisieren. + +\subsubsection{Zahldarstellung} +Ein endlicher Körper $\mathbb{F}_{2^l}$ ist definiert durch ein +irreduzibles Polynom in $\mathbb{F}_2[X]$ vom Grad $2^l$ +\[ +m(X) += +X^l + m_{l-1}X^{l-1} + m_{l-2}X^{l-2} + \dots + m_2X^2 + m_1X + m_0 +\] +gegeben. +Ein Element in $\mathbb{F}_2[X]/(m)$ kann dargestellt werden durch ein +Polynom vom Grad $l-1$, also durch +\[ +a = a_{l-1}X^{l-1} + a_{l-2}X^{l-2} +\dots + a_2X^2 + a_1X + a_0. +\] +In einer Maschine kann eine Zahl also als eine Bitfolge der Länge $l$ +dargestellt werden. + +\subsubsection{Addition} +Die Addition in $\mathbb{F}_2$ ist in Hardware besonders leicht zu +realisieren. +Die Addition ist die XOR-Operation, die Multiplikation ist die UND-Verknüfung. +Ausserdem stimmen in $\mathbb{F}_2$ Addition und Subtraktion überein. + +Die Addition zweier Polynome erfolgt komponentenweise. +Die Addition von zwei Elemente von $\mathbb{F}_{2^l}$ kann also +durch die bitweise XOR-Verknüpfung der Darstellungen der Summanden +erfolgen. +Diese Operation ist in einem einzigen Maschinenzyklus realisierbar. +Die Subtraktion, die für die Reduktionsoperation module $m(X)$ nötig +ist, ist mit der Addition identisch. + +\subsubsection{Multiplikation} +Die Multiplikation zweier Polynome benötigt zunächst die Multiplikation +mit $X$, wodurch der Grad des Polynoms ansteigt und möglicherweise so +gross wird, dass eine Reduktionsoperation modulo $m(X)$ nötig wird. +Die Reduktion wird immer dann nötig, wenn der Koeffizient von $X^l$ +nicht $0$ ist. +Der Koeffizient kann dann zum Verschwinden gebracht werden, indem +$m(X)$ addiert wird. + +\begin{figure} +\centering +\includegraphics{chapters/90-crypto/images/schieberegister.pdf} +\caption{Implementation der Multiplikation mit $X$ in einem +endlichen Körper $\mathbb{F}_{2^l}$ mit dem Minimalpolynom +$m(X) = X^8+X^4+X^3+X^+1$ als Feedback-Schieberegister. +\label{buch:crypto:fig:schieberegister}} +\end{figure} + +In Abbildung~\ref{buch:crypto:fig:schieberegister} wird gezeigt, +wie die Reduktion erfolgt, wenn die Multiplikation mit $X$, also der +Shift nach links, einen Überlauf ergibt. +Das Minimalpolynom $m(X)=X^8+X^4+X^3+X+1$ bedeutet, dass in $\mathbb{F}_{2^l}$ +$X^8=X^4+X^3+X+1$ gilt, so dass man das Überlaufbit durch +$X^4+X^3+X+1$ ersetzen und addieren kann. + +Ein Produktes $p(X)\cdot q(X)$, wobei $p(X)$ und +$q(X)$ Repräsentaten von Elementen $\mathbb{F}_{2^l}$ sind, kann jetzt +wie folgt berechnet werden. +Mit dem Schieberegister werden die Vielfachen $X^k\cdot p(X)$ +für $k=0,\dots,l-1$ berechnet. +Diejenigen Vielfachen, für die der Koeffizient von $X^k$ in $q(X)$ +von $0$ verschieden ist werden aufsummiert und ergeben das Produkt. +Der Prozess in Abbildung~\ref{buch:crypto:fig:multiplikation} +dargestellt. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/90-crypto/images/multiplikation.pdf} +\caption{Multiplikation zweier Elemente von $\mathbb{F}_{2^l}$. +Mit Hilfe des Schieberegisters am linken Rand werden die Produkte +$X\cdot p(X)$, $X^2\cdot p(X),\dots,X^7\cdot p(X)$ nach der in +Abbildung~\ref{buch:crypto:fig:schieberegister} dargestellten +Methode berechnet. +Am rechten Rand werden diejenigen $X^k\cdot p(X)$ aufaddiert, +für die der $X^k$-Koeffizient von $q(X)$ von $0$ verschieden ist. +\label{buch:crypto:fig:multiplikation}} +\end{figure} + + +% XXX Beispiel F einer Oakley-Gruppe + diff --git a/buch/chapters/90-crypto/chapter.tex b/buch/chapters/90-crypto/chapter.tex index d2fcbbf..920941d 100644 --- a/buch/chapters/90-crypto/chapter.tex +++ b/buch/chapters/90-crypto/chapter.tex @@ -1,31 +1,31 @@ -% -% chapter.tex -- Anwendungen von Matrizen in der Codierungstheorie und -% Kryptographie -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -% !TeX spellcheck = de_CH -\chapter{Anwendungen in Kryptographie und Codierungstheorie -\label{buch:chapter:kryptographie}} -\lhead{Kryptographie und Codierungstheorie} -\rhead{} -Die algebraische Theorie der endlichen Körper hat sich als besonders -nützliche herausgestellt in der Krypographie. -Die Eigenschaften dieser Körper sind reichhaltig genug, um -kryptographsch widerstandsfähige Algorithmen zu liefern, die -auch in ihrer Stärke beliebig skaliert werden können. -Gleichzeitig liefert die Algebra auch eine effiziente Implementierung. -In diesem Abschnitt soll dies an einigen Beispielen gezeigt werden. - -\input{chapters/90-crypto/arith.tex} -\input{chapters/90-crypto/ff.tex} -\input{chapters/90-crypto/aes.tex} -%\input{chapters/90-crypto/rs.tex} - -\section*{Übungsaufgaben} -\rhead{Übungsaufgaben} -\aufgabetoplevel{chapters/90-crypto/uebungsaufgaben} -\begin{uebungsaufgaben} -\uebungsaufgabe{9001} -\end{uebungsaufgaben} - +% +% chapter.tex -- Anwendungen von Matrizen in der Codierungstheorie und +% Kryptographie +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +% !TeX spellcheck = de_CH +\chapter{Anwendungen in Kryptographie und Codierungstheorie +\label{buch:chapter:kryptographie}} +\lhead{Kryptographie und Codierungstheorie} +\rhead{} +Die algebraische Theorie der endlichen Körper hat sich als besonders +nützliche herausgestellt in der Krypographie. +Die Eigenschaften dieser Körper sind reichhaltig genug, um +kryptographsch widerstandsfähige Algorithmen zu liefern, die +auch in ihrer Stärke beliebig skaliert werden können. +Gleichzeitig liefert die Algebra auch eine effiziente Implementierung. +In diesem Abschnitt soll dies an einigen Beispielen gezeigt werden. + +\input{chapters/90-crypto/arith.tex} +\input{chapters/90-crypto/ff.tex} +\input{chapters/90-crypto/aes.tex} +%\input{chapters/90-crypto/rs.tex} + +\section*{Übungsaufgaben} +\rhead{Übungsaufgaben} +\aufgabetoplevel{chapters/90-crypto/uebungsaufgaben} +\begin{uebungsaufgaben} +\uebungsaufgabe{9001} +\end{uebungsaufgaben} + diff --git a/buch/chapters/90-crypto/ff.tex b/buch/chapters/90-crypto/ff.tex index 535b359..8a38f93 100644 --- a/buch/chapters/90-crypto/ff.tex +++ b/buch/chapters/90-crypto/ff.tex @@ -1,664 +1,664 @@ -% -% ff.tex -- Kryptographie und endliche Körper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% - -\section{Kryptographie und endliche Körper -\label{buch:section:kryptographie-und-endliche-koerper}} -\rhead{Kryptographie und endliche Körper} - -\subsection{Potenzen in $\mathbb{F}_p$ und diskreter Logarithmus -\label{buch:subsection:potenzen-diskreter-logarithmus}} -Für kryptographische Anwendungen wird eine einfach zu berechnende -Funktion benötigt, -die ohne zusätzliches Wissen, üblicherweise der Schlüssel genannt, -nicht ohne weiteres umkehrbar ist. -Die arithmetischen Operationen in einem endlichen Körper sind -mit geringem Aufwand durchführbar. -Für die ``schwierigste'' Operation, die Division, steht der -euklidische Algorithmus zur Verfügung. - -Die nächstschwierigere Operation ist die Potenzfunktion. -Für $g\in \Bbbk$ und $a\in\mathbb{N}$ ist die Potenz $g^a\in\Bbbk$ -natürlich durch die wiederholte Multiplikation definiert. -In der Praxis werden aber $g$ und $a$ Zahlen mit vielen Binärstellen -sein, die die wiederholte Multiplikation ist daher sicher nicht -effizient, das Kriterium der einfachen Berechenbarkeit scheint -also nicht erfüllt. -Der folgende Algorithmus berechnet die Potenz in $O(\log_2 a)$ -Multiplikationen. - -\begin{algorithmus}[Divide-and-conquer] -\label{buch:crypto:algo:divide-and-conquer} -Sei $a=a_0 + a_12^1 + a_22^2 + \dots + a_k2^k$ die Binärdarstellung -der Zahl $a$. -\begin{enumerate} -\item setze $f=g$, $x=1$, $i=0$ -\label{divide-and-conquer-1} -\item solange $i\ge k$ ist, führe aus -\label{divide-and-conquer-2} -\begin{enumerate} -\item -\label{divide-and-conquer-3} -falls $a_i=1$ setze $x \coloneqq x \cdot f$ -\item -\label{divide-and-conquer-4} -$i \coloneqq i+1$ und $f\coloneqq f\cdot f$ -\end{enumerate} -\end{enumerate} -Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen -berechnet werden. -\end{algorithmus} - -\begin{proof}[Beweis] -Die Initalisierung in Schritt~\ref{divide-and-conquer-1} stellt sicher, -dass $x$ den Wert $g^0$ hat. -Schritt~\ref{divide-and-conquer-4} stellt sicher, -dass die Variable $f$ immer den Wert $g^{2^i}$ hat. -Im Schritt~\ref{divide-and-conquer-3} wird zu $x$ die Potenz -$g^{a_i2^i}$ hinzumultipliziert. -Am Ende des Algorithmus hat daher $x$ den Wert -\[ -x = g^{a_02^0} \cdot g^{a_12^1} \cdot g^{a_22^2} \cdot\ldots\cdot 2^{a_k2^k} -= -g^{a_0+a_12+a_22^2+\dots+a_k2^k} -= -g^a. -\] -Die Schleife wird $\lfloor1+\log_2ab\rfloor$ mal durchlaufen. -In jedem Fall wird auf jeden Fall die Multiplikation in -Schritt~\ref{divide-and-conquer-4} durchgeführt -und im schlimmsten Fall auch noch die Multiplikation in -Schritt~\ref{divide-and-conquer-3}. -Es werden also nicht mehr als $2\lfloor 1+\log_2a\rfloor=O(\log_2a)$ -Multiplikationen durchgeführt. -\end{proof} - -\begin{beispiel} -Man berechne die Potenz $7^{2021}$ in $\mathbb{F}_p$. -Die Binärdarstellung von 2021 ist $2021_{10}=\texttt{11111100101}_2$. -Wir stellen die nötigen Operationen des -Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} in der folgenden -Tabelle -\begin{center} -\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} -\hline - i& f& a_i& x\\ -\hline - 0& 7& 1& 7\\ - 1& 49& 0& 7\\ - 2&1110& 1& 24\\ - 3& 486& 0& 24\\ - 4&1234& 0& 24\\ - 5& 667& 1& 516\\ - 6& 785& 1& 977\\ - 7& 418& 1& 430\\ - 8& 439& 1& 284\\ - 9& 362& 1& 819\\ -10& 653& 1& 333\\ -\hline -\end{tabular} -\end{center} -Daraus liest man ab, dass $7^{2021}=333\in\mathbb{F}_{1291}$. -\end{beispiel} - -Die Tabelle suggeriert, dass die Potenzen von $g$ ``wild'', also -scheinbar ohne System in $\mathbb{F}_p$ herumspringen. -Dies deutet an, dass die Umkehrung der Exponentialfunktion in $\mathbb{F}_p$ -schwierig ist. -Die Umkehrfunktion der Exponentialfunktion, die Umkehrfunktion von -$x\mapsto g^x$ in $\mathbb{F}_p$ heisst der {\em diskrete Logarithmus}. -\index{diskreter Logarithmus}% -Tatsächlich ist der diskrete Logarithmus ähnlich schwierig zu bestimmen -wie das Faktorisieren von Zahlen, die das Produkt grosser -Primafaktoren ähnlicher Grössenordnung wie $p$ sind. -Die Funktion $x\mapsto g^x$ ist die gesuchte, schwierig zu invertierende -Funktion. - -Auf dern ersten Blick scheint der -Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} -den Nachteil zu haben, dass erst die Binärdarstellung der Zahl $a$ -ermittelt werden muss. -In einem Computer ist dies aber normalerweise kein Problem, da $a$ -im Computer ohnehin binär dargestellt ist. -Die Binärziffern werden in der Reihenfolge vom niederwertigsten zum -höchstwertigen Bit benötigt. -Die folgende Modifikation des Algorithmus ermittelt laufend -auch die Binärstellen von $a$. -Die dazu notwendigen Operationen sind im Binärsystem besonders -effizient implementierbar, die Division durch 2 ist ein Bitshift, der -Rest ist einfach das niederwertigste Bit der Zahl. - -\begin{algorithmus} -\label{buch:crypto:algo:divide-and-conquer2} -\begin{enumerate} -\item -Setze $f=g$, $x=1$, $i=0$ -\item -Solange $a>0$ ist, führe aus -\begin{enumerate} -\item -Verwende den euklidischen Algorithmus um $r$ und $b$ zu bestimmen mit $a=2b+r$ -\item -Falls $r=1$ setze $x \coloneqq x \cdot f$ -\item -$i \coloneqq i+1$, $a = b$ und $f\coloneqq f\cdot f$ -\end{enumerate} -\end{enumerate} -Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen -berechnet werden. -\end{algorithmus} - - -% -% Diffie-Hellman Schlüsseltausch -% -\subsection{Diffie-Hellman-Schlüsseltausch -\label{buch:subsection:diffie-hellman}} -Eine Grundaufgabe der Verschlüsselung im Internet ist, dass zwei -Kommunikationspartner einen gemeinsamen Schlüssel für die Verschlüsselung -der Daten aushandeln können müssen. -Es muss davon ausgegangen werden, dass die Kommunikation abgehört wird. -Trotzdem soll es für einen Lauscher nicht möglich sein, den -ausgehandelten Schlüssel zu ermitteln. - -% XXX Historisches zu Diffie und Hellman - -Die beiden Partner $A$ und $B$ einigen sich zunächst auf eine Zahl $g$, -die öffentlich bekannt sein darf. -Weiter erzeugen sie eine zufällige Zahl $a$ und $b$, die sie geheim -halten. -Das Verfahren soll aus diesen beiden Zahlen einen Schlüssel erzeugen, -den beide Partner berechnen können, ohne dass sie $a$ oder $b$ -übermitteln müssen. -Die beiden Zahlen werden daher auch die privaten Schlüssel genannt. - -Die Idee von Diffie und Hellman ist jetzt, die Werte $x=g^a$ und $y=g^b$ -zu übertragen. -In $\mathbb{R}$ würden dadurch natürlich dem Lauscher auch $a$ offenbart, -er könnte einfach $a=\log_g x$ berechnen. -Ebenso kann auch $b$ als $b=\log_g y$ erhalten werden, die beiden -privaten Schlüssel wären also nicht mehr privat. -Statt der Potenzfunktion in $\mathbb{R}$ muss also eine Funktion -verwendet werden, die nicht so leicht umgekehrt werden kann. -Die Potenzfunktion in $\mathbb{F}_p$ erfüllt genau diese Eigenschaft. -Die Kommunikationspartner einigen sich also auch noch auf die (grosse) -Primzahl $p$ und übermitteln $x=g^a\in\mathbb{F}_p$ und -$y=g^b\in\mathbb{F}_p$. - -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/dh.pdf} -\caption{Schlüsselaustausch nach Diffie-Hellman. -Die Kommunikationspartner $A$ und $B$ einigen sich öffentlich auf -$p\in\mathbb{N}$ und $g\in\mathbb{F}_p$. -$A$ wählt dann einen privaten Schlüssel $a\in\mathbb{N}$ und -$B$ wählt $b\in\mathbb{N}$, sie tauschen dann $x=g^a$ und $y=g^b$ -aus. -$A$ erhält den gemeinsamen Schlüssel aus $y^a$, $B$ erhält ihn -aus $x^b$. -\label{buch:crypto:fig:dh}} -\end{figure} - -Aus $x$ und $y$ muss jetzt der gemeinsame Schlüssel abgeleitet werden. -$A$ kennt $y=g^b$ und $a$, $B$ kennt $x=g^a$ und $b$. -Beide können die Zahl $s=g^{ab}\in\mathbb{F}_p$ berechnen. -$A$ macht das, indem er $y^a=(g^b)^a = g^{ab}$ rechnet, -$B$ rechnet $x^b = (g^a)^b = g^{ab}$, beide natürlich in $\mathbb{F}_p$. -Der Lauscher kann aber $g^{ab}$ nicht ermitteln, dazu müsste er -$a$ oder $b$ ermitteln können. -Die Zahl $s=g^{ab}$ kann also als gemeinsamer Schlüssel verwendet -werden. - - - -\subsection{Elliptische Kurven -\label{buch:subsection:elliptische-kurven}} -Das Diffie-Hellman-Verfahren basiert auf der Schwierigkeit, in einem -Körper $\mathbb{F}_p$ die Gleichung $a^x=b$ nach $x$ aufzulösen. -Die Addition in $\mathbb{F}_p$ wird dazu nicht benötigt. -Es reicht, eine Menge mit einer Multiplikation zu haben, in der das -die Gleichung $a^x=b$ schwierig zu lösen ist. -Ein Gruppe wäre also durchaus ausreichend. - -Ein Kandidat für eine solche Gruppe könnte der Einheitskreis -$S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ in der komplexen Ebene sein. -Wählt man eine Zahl $g=e^{i\alpha}$, wobei $\alpha$ ein irrationales -Vielfaches von $\pi$ ist, dann sind alle Potenzen $g^n$ für natürliche -Exponenten voneinander verschieden. -Wäre nämlich $g^{n_1}=g^{n_2}$, dann wäre $e^{i\alpha(n_1-n_2)}=1$ und -somit müsste $\alpha=2k\pi/(n_1-n_2)$ sein. -Damit wäre aber $\alpha$ ein rationales Vielfaches von $\pi$, im Widerspruch -zur Voraussetzung. -Die Abbildung $n\mapsto g^n\in S^1$ ist auf den ersten Blick etwa ähnlich -undurchschaubar wie die Abbildung $n\mapsto g^n\in\mathbb{F}_p$. -Es gibt zwar die komplexe Logarithmusfunktion, mit der man $n$ bestimmen -kann, dazu muss man aber den Wert von $g^n$ mit beliebiger Genauigkeit -kennen, denn die Werte von $g^n$ können beliebig nahe beieinander liegen. - -Der Einheitskreis ist die Lösungsmenge der Gleichung $x^2+y^2=1$ für -reelle Koordinaten $x$ und $y$, -doch Rundungsunsicherheiten verunmöglichen den Einsatz in einem -Verfahren ähnlich dem Diffie-Hellman-Verfahren. -Dieses Problem kann gelöst werden, indem für die Variablen Werte -aus einem endlichen Körper verwendet werden. -Gesucht ist also eine Gleichung in zwei Variablen, deren Lösungsmenge -in einem endlichen Körper eine Gruppenstruktur trägt. -Die Lösungsmenge ist eine ``Kurve'' von Punkten mit -Koordinaten in einem endlichen Körper. - -In diesem Abschnitt wird gezeigt, dass sogenannte elliptische Kurven -über endlichen Körpern genau die verlangen Eigenschaften haben. - -\subsubsection{Elliptische Kurven} -Elliptische Kurven sind Lösungen einer Gleichung der Form -\begin{equation} -Y^2+XY=X^3+aX+b -\label{buch:crypto:eqn:ellipticcurve} -\end{equation} -mit Werten von $X$ und $Y$ in einem geeigneten Körper. -Die Koeffizienten $a$ und $b$ müssen so gewählt werden, dass die -Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} genügend viele -Lösungen hat. -Über den komplexen Zahlen hat die Gleichung natürlich für jede Wahl von -$X$ drei Lösungen. -Für einen endlichen Körper können wir dies im allgemeinen nicht erwarten, -aber wenn wir genügend viele Wurzeln zu $\mathbb{F}$ hinzufügen können wir -mindestens erreichen, dass die Lösungsmenge so viele Elemente hat, -dass ein Versuch, die Gleichung $g^x=b$ mittels Durchprobierens zu -lösen, zum Scheitern verurteil ist. - -\begin{definition} -\label{buch:crypto:def:ellipticcurve} -Die {\em elliptische Kurve} $E_{a,b}(\Bbbk)$ über dem Körper $\Bbbk$ ist -die Menge -\[ -E_{a,b}(\Bbbk) -= -\{(X,Y)\in\Bbbk^2\;|\;Y^2+XY=X^3+aX+b\}, -\] -für $a,b\in\Bbbk$. -\end{definition} - -Um die Anschauung zu vereinfachen, werden wir elliptische Kurven über -dem Körper $\mathbb{R}$ visualisieren. -Die daraus gewonnenen geometrischen Einsichten werden wir anschliessend -algebraisch umsetzen. -In den reellen Zahlen kann man die -Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} -noch etwas vereinfachen. -Indem man in \eqref{buch:crypto:eqn:ellipticcurve} -quadratisch ergänzt, bekommt man -\begin{align} -Y^2 + XY + \frac14X^2 &= X^3+\frac14 X^2 +aX+b -\notag -\\ -\Rightarrow\qquad -v^2&=X^3+\frac14X^2+aX+b, -\label{buch:crypto:eqn:ell2} -\end{align} -indem man $v=Y+\frac12X$ setzt. -Man beachte, dass man diese Substition nur machen kann, wenn $\frac12$ -definiert ist. -In $\mathbb{R}$ ist dies kein Problem, aber genau über den Körpern -mit Charakteristik $2$, die wir für die Computer-Implementation -bevorzugen, ist dies nicht möglich. -Es geht hier aber nur um die Visualisierung. - -Auch die Form \eqref{buch:crypto:eqn:ell2} lässt sich noch etwas -vereinfachen. -Setzt man $X=u-\frac1{12}$, dann verschwindet nach einiger Rechnung, -die wir hier nicht durchführen wollen, der quadratische Term -auf der rechten Seite. -Die interessierenden Punkte sind Lösungen der einfacheren Gleichung -\begin{equation} -v^2 -= -u^3+\biggl(a-\frac{1}{48}\biggr)u + b-\frac{a}{12}+\frac{1}{864} -= -u^3+Au+B. -\label{buch:crypto:ellvereinfacht} -\end{equation} -In dieser Form ist mit $(u,v)$ immer auch $(u,-v)$ eine Lösung, -die Kurve ist symmetrisch bezüglich der $u$-Achse. -Ebenso kann man ablesen, dass nur diejenigen $u$-Werte möglich sind, -für die das kubische Polynom $u^3+Au+B$ auf der rechten Seite von -\eqref{buch:crypto:ellvereinfacht} -nicht negativ ist. - -Sind $u_1$, $u_2$ und $u_3$ die Nullstellen des kubischen Polynoms -auf der rechten Seite von~\eqref{buch:crypto:ellvereinfacht}, folgt -\[ -v^2 -= -(u-u_1)(u-u_2)(u-u_3) -= -u^3 --(u_1+u_2+u_3)u^2 -+(u_1u_2+u_1u_3+u_2u_3)u -- -u_1u_2u_3. -\] -Durch Koeffizientenvergleich sieht man, dass $u_1+u_2+u_3=0$ sein muss. -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/elliptic.pdf} -\caption{Elliptische Kurve in $\mathbb{R}$ in der Form -$v^2=u^3+Au+B$ mit Nullstellen $u_1$, $u_2$ und $u_3$ des -kubischen Polynoms auf der rechten Seite. -Die blauen Punkte und Geraden illustrieren die Definition der -Gruppenoperation in der elliptischen Kurve. -\label{buch:crypto:fig:elliptischekurve}} -\end{figure} -Abbildung~\ref{buch:crypto:fig:elliptischekurve} -zeigt eine elliptische Kurve in der Ebene. - -\subsubsection{Geometrische Definition der Gruppenoperation} -In der speziellen Form \ref{buch:crypto:ellvereinfacht} ist die -elliptische Kurve symmetrisch unter Spiegelung an der $u$-Achse. -Die Spiegelung ist eine Involution, zweimalige Ausführung führt auf -den ursprünglichen Punkt zurück. -Die Inverse in einer Gruppe hat diese Eigenschaft auch, es ist -daher naheliegend, den gespiegelten Punkt als die Inverse eines -Elementes zu nehmen. - -Eine Gerade durch zwei Punkte der -in Abbildung~\ref{buch:crypto:fig:elliptischekurve} -dargestellten Kurve schneidet die Kurve ein drittes Mal. -Die Gruppenoperation wird so definiert, dass drei Punkte der Kurve -auf einer Geraden das Gruppenprodukt $e$ haben. -Da aus $g_1g_2g_3=e$ folgt $g_3=(g_1g_2)^{-1}$ oder -$g_1g_2=g_3^{-1}$, erhält man das Gruppenprodukt zweier Elemente -auf der elliptischen Kurve indem erst den dritten Schnittpunkt -ermittelt und diesen dann an der $u$-Achse spiegelt. - -Die geometrische Konstruktion schlägt fehl, wenn $g_1=g_2$ ist. -In diesem Fall kann man die Tangente im Punkt $g_1$ an die Kurve -verwenden. -Dieser Fall tritt zum Beispiel auch in den drei Punkten -$(u_1,0)$, $(u_2,0)$ und $(u_3,0)$ ein. - -Um das neutrale Element der Gruppe zu finden, können wir -zwei Punkte $g$ und $g^{-1}$ miteinander verknüpfen. -Die Gerade durch $g$ und $g^{-1}$ schneidet aber die Kurve -kein drittes Mal. -Ausserdem sind alle Geraden durch $g$ und $g^{-1}$ für verschiedene -$g$ parallel. -Das neutrale Element entspricht also einem unendlich weit entfernten Punkt. -Das neutrale Element entsteht immer dann als Produkt, wenn zwei -Punkte die gleiche $u$-Koordinaten haben. - -\subsubsection{Gruppenoperation, algebraische Konstruktion} -Nach den geometrischen Vorarbeiten zur Definition der Gruppenoperation -kann können wir die Konstruktion jetzt algebraisch umsetzen. - -Zunächst überlegen wir uns wieder eine Involution, welche als Inverse -dienen kann. -Dazu beachten wir, dass die linke Seite der definierenden Gleichung -\begin{equation} -Y^2+XY=X^3-aX+b. -\label{buch:crypto:eqn:grupopgl} -\end{equation} -auch als $Y(Y+X)$ geschrieben werden kann. -Die Abbildung $Y\mapsto -X-Y$ macht daraus -\[ -(-X-Y)(-X-Y+X)=(X+Y)Y, -\] -dies ist also die gesuchte Involution. - -Seien also $g_1=(x_1,y_1)$ und $g_2=(x_2,y_2)$ zwei verschiedene Lösungen -der Gleichung \eqref{buch:crypto:eqn:grupopgl} -Als erstes brauchen wir eine Gleichung für die Gerade durch die beiden -Punkte. -Sei also $l(X,Y)$ eine Linearform derart, dass $l(g_1)=d$ und $l(g_2)=d$ -für ein geeignetes $d\in\Bbbk$. -Dann gilt auch für die Punkte -\[ -g(t) = tg_1 + (1-t)g_2 -\qquad\Rightarrow\qquad -l(g(t)) -= -tl(g_1) + (1-t)l(g_2) -= -tc+(1-t)c -= -(t+1-t)c -=c, -\] -jeder Punkt der Geraden durch $g_1$ und $g_2$ lässt sich in dieser Form -schreiben. - -Setzt man jetzt $g(t)$ in die Gleichung ein, erhält man eine kubische -Gleichung in $t$, von der wir bereits zwei Nullstellen kennen, nämlich -$0$ und $1$. -Die kubische Gleichung muss also durch $t$ und $(t-1)$ teilbar sein. -Diese Berechnung kann man einfach in einem Computeralgebrasystem -durchführen. -Das Polynom ist -\[ -p(t) -= -\] -Nach Division durch $t(t-1)$ erhält man als den Quotienten -\begin{align*} -q(t) -&= -(y_2-y_1)^2 -+ -(y_2-y_1) (x_2-x_1) -+ -t(x_2-x_1)^3 -- -2x_2^3+3x_1x_2^2-x_1^3 -\end{align*} -und den Rest -\[ -r(t) -= -t(y_1^2+x_1y_1-x_1^3-ax_1-b) -+ -(1-t)(y_2^2+x_2y_2-x_2^3-ax_2-b). -\] -Die Klammerausdrücke verschwinden, da die sie gleichbedeutend damit sind, -dass die Punkte Lösungen von \eqref{buch:crypto:eqn:grupopgl} sind. - -Für den dritten Punkt auf der Geraden muss $t$ so gewählt werden, dass -$q(t)=0$ ist. -Dies ist aber eine lineare Gleichung mit der Lösung -\begin{align*} -t -&= --\frac{ -(y_1-y_2)^2 -+ -(y_2-y_1)(x_2-x_1) --2x_2^3+3x_1x_2^2-x_1^3 -}{(x_2-x_1)^3} -. -\end{align*} -Setzt man dies $g(t)$ ein, erhält man für die Koordinaten des dritten -Punktes $g_3$ die Werte -\begin{align} -x_3 -&= -\frac{ -(y_2-y_1)^2(x_2-x_1) + (y_2-y_1)(x_2-x_1)^2 --(x_2^4+x_1^4) -}{ -(x_2-x_1)^3 -} -\label{buch:crypto:eqn:x3} -\\ -y_3 -&= -\frac{ -(y_2-y_1)^3 -+(x_2-x_1)(y_2-y_1)^2 --(x_{2}-x_{1})^3 ( y_{2} - y_{1}) --(x_{2}-x_{1})^2 ( x_{1} y_{2}- x_{2} y_{1}) -}{ -(x_2-x_1)^3 -} -\label{buch:crypto:eqn:y3} -\end{align} -Die Gleichungen -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -ermöglichen also, das Element $g_1g_2^{-1}$ zu berechnen. -Interessant daran ist, dass in den Formeln die Konstanten $a$ und $b$ -gar nicht vorkommen. - -Es bleibt noch der wichtige Fall des Quadrierens in der Gruppe zu -behandeln, also den Fall $g_1=g_2$. -In diese Fall sind die Formeln -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -ganz offensichtlich nicht anwendbar. -Die geometrische Anschauung hat nahegelegt, die Tangent an die Kurve -im Punkt $g_1$ zu nehmen. -In $\mathbb{R}$ würde man dafür einen Grenzübergang $g_2\to g_1$ machen, -aber in einem endlichen Körper ist dies natürlich nicht möglich. - -Wir schreiben die Gerade als Parameterdarstellung in der Form -\( -t\mapsto g(t)= (x_1+ut, y_1+vt) -\) -für beliebige Parameter in $\Bbbk$. -Die Werte $u_1$ und $u_2$ müssen so gewählt werden, dass $g(t)$ eine -Tangente wird. -Setzt man $g(t)$ in die Gleichung~\eqref{buch:crypto:eqn:grupopgl} ein, -entsteht ein kubische Gleichung, die genau dann eine doppelte Nullstelle -bei $0$ hat, wenn $u,v$ die Tangentenrichtung beschreiben. -Einsetzen von $g(t)$ in \eqref{buch:crypto:eqn:grupopgl} -ergibt die Gleichung -\begin{align} -0 -&= --u^3t^3 -+ -(-3u^2x_{1}+v^2+uv)t^2 -+ -(2vy_1+uy_1-3ux_1^2+vx_1-au)t -+ -(y_1^2+x_1y_1-x_1^3-ax_1-b) -\label{buch:crypto:eqn:tangente1} -\end{align} -Damit bei $t=0$ eine doppelte Nullstelle mussen die letzten beiden -Koeffizienten verschwinden, dies führt auf die Gleichungen -\begin{align} -y_1^2+x_1y_1&=x_1^3+ax_1+b -\label{buch:crypto:eqn:rest1} -\\ -(2y_1 -+x_1)v -+(y_1 --3x_1^2 --a)u -&=0 -\label{buch:crypto:eqn:rest2} -\end{align} -Die erste Gleichung \eqref{buch:crypto:eqn:rest1} drückt aus, -dass $g_1$ ein Punkt der Kurve ist, sie ist automatisch erfüllt. - -Die zweite Gleichung -\eqref{buch:crypto:eqn:rest2} -legt das Verhältnis von $u$ und $v$, also die -\label{buch:crypto:eqn:rest2} -Tangentenrichtung fest. -Eine mögliche Lösung ist -\begin{equation} -\begin{aligned} -u &= x_1+2y_1 -\\ -v &= -y_1+3x_1^2+a. -\end{aligned} -\label{buch:crypto:eqn:uv} -\end{equation} - -Der Quotient ist ein lineares Polynom in $t$, die Nullstelle parametrisiert -den Punkt, der $(g_1)^{-2}$ entspricht. -Der zugehörige Wert von $t$ ist -\begin{equation} -t=-\frac{3u^2x_1-v^2-uv}{u^3}. -\label{buch:crypto:eqn:t} -\end{equation} - - -Setzt man -\label{buch:crypto:eqn:t} -und -\eqref{buch:crypto:eqn:uv} -in $g(t)$ ein, erhält man sehr komplizierte Ausdrücke für den dritten Punkt. -Wir verzichten darauf, diese Ausdrücke hier aufzuschreiben. -In der Praxis wird man in einem Körper der Charakteristik 2 arbeiten. -In diesem Körper werden alle geraden Koeffizienten zu $0$, alle ungeraden -Koeffizienten werden unabhängig vom Vorzeichen zu $1$. -Damit bekommt man die folgenden, sehr viel übersichtlicheren Ausdrücke -für den dritten Punkt: -\begin{equation} -\begin{aligned} -x -&= --\frac{ -y_1^2+x_1y_1+x_1^4+x_1^3+ax_1-a^2 - }{ -x_1^2 -} -\\ -y -&= -\frac{ -y_1^3+(x_1^2+x_1+a)y_1^2+(x_1^4 +a^2)y_1+x_1^6+ax_1^4+ax_1^3+a^2x_1^2+a^2x_1+a^3 -}{ - x_1^3 -} -\end{aligned} -\label{buch:crypto:eqn:tangentechar2} -\end{equation} -Damit haben wir einen vollständigen Formelsatz für die Berechnung der -Gruppenoperation in der elliptischen Kurve mindestens für den praktisch -relevanten Fall einer Kurve über einem Körper der Charakteristik $2$. - -\begin{satz} -Die elliptische Kurve -\[ -E_{a,b}(\mathbb{F}_{p^l}) -= -\{ -(X,Y)\in\mathbb{F}_{p^l} -\;|\; -Y^2+XY = X^3-aX-b -\} -\] -trägt eine Gruppenstruktur, die wie folgt definiert ist: -\begin{enumerate} -\item Der Punkt $(0,0)$ entspricht dem neutralen Element. -\item Das inverse Element von $(x,y)$ ist $(-x,-y-x)$. -\item Für zwei verschiedene Punkte $g_1$ und $g_2$ kann $g_3=(g_1g_2)^{-1}$ -mit Hilfe der Formeln -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -gefunden werden. -\item Für einen Punkt $g_1$ kann $g_3=g_1^{-2}$ in Charakteristik $2$ mit -Hilfe der Formeln -\eqref{buch:crypto:eqn:tangentechar2} -gefunden werden. -\end{enumerate} -Diese Operationen machen $E_{a,b}(\mathbb{F}_{p^l})$ zu einer endlichen -abelschen Gruppe. -\end{satz} - -\subsubsection{Beispiele} -% XXX -TODO: elliptische Kurven in IPsec: Oakley Gruppen - -\subsubsection{Diffie-Hellman in einer elliptischen Kurve} -% XXX -TODO: $g^x$ in einer elliptischen Kurve - - - +% +% ff.tex -- Kryptographie und endliche Körper +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% + +\section{Kryptographie und endliche Körper +\label{buch:section:kryptographie-und-endliche-koerper}} +\rhead{Kryptographie und endliche Körper} + +\subsection{Potenzen in $\mathbb{F}_p$ und diskreter Logarithmus +\label{buch:subsection:potenzen-diskreter-logarithmus}} +Für kryptographische Anwendungen wird eine einfach zu berechnende +Funktion benötigt, +die ohne zusätzliches Wissen, üblicherweise der Schlüssel genannt, +nicht ohne weiteres umkehrbar ist. +Die arithmetischen Operationen in einem endlichen Körper sind +mit geringem Aufwand durchführbar. +Für die ``schwierigste'' Operation, die Division, steht der +euklidische Algorithmus zur Verfügung. + +Die nächstschwierigere Operation ist die Potenzfunktion. +Für $g\in \Bbbk$ und $a\in\mathbb{N}$ ist die Potenz $g^a\in\Bbbk$ +natürlich durch die wiederholte Multiplikation definiert. +In der Praxis werden aber $g$ und $a$ Zahlen mit vielen Binärstellen +sein, die die wiederholte Multiplikation ist daher sicher nicht +effizient, das Kriterium der einfachen Berechenbarkeit scheint +also nicht erfüllt. +Der folgende Algorithmus berechnet die Potenz in $O(\log_2 a)$ +Multiplikationen. + +\begin{algorithmus}[Divide-and-conquer] +\label{buch:crypto:algo:divide-and-conquer} +Sei $a=a_0 + a_12^1 + a_22^2 + \dots + a_k2^k$ die Binärdarstellung +der Zahl $a$. +\begin{enumerate} +\item setze $f=g$, $x=1$, $i=0$ +\label{divide-and-conquer-1} +\item solange $i\ge k$ ist, führe aus +\label{divide-and-conquer-2} +\begin{enumerate} +\item +\label{divide-and-conquer-3} +falls $a_i=1$ setze $x \coloneqq x \cdot f$ +\item +\label{divide-and-conquer-4} +$i \coloneqq i+1$ und $f\coloneqq f\cdot f$ +\end{enumerate} +\end{enumerate} +Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen +berechnet werden. +\end{algorithmus} + +\begin{proof}[Beweis] +Die Initalisierung in Schritt~\ref{divide-and-conquer-1} stellt sicher, +dass $x$ den Wert $g^0$ hat. +Schritt~\ref{divide-and-conquer-4} stellt sicher, +dass die Variable $f$ immer den Wert $g^{2^i}$ hat. +Im Schritt~\ref{divide-and-conquer-3} wird zu $x$ die Potenz +$g^{a_i2^i}$ hinzumultipliziert. +Am Ende des Algorithmus hat daher $x$ den Wert +\[ +x = g^{a_02^0} \cdot g^{a_12^1} \cdot g^{a_22^2} \cdot\ldots\cdot 2^{a_k2^k} += +g^{a_0+a_12+a_22^2+\dots+a_k2^k} += +g^a. +\] +Die Schleife wird $\lfloor1+\log_2ab\rfloor$ mal durchlaufen. +In jedem Fall wird auf jeden Fall die Multiplikation in +Schritt~\ref{divide-and-conquer-4} durchgeführt +und im schlimmsten Fall auch noch die Multiplikation in +Schritt~\ref{divide-and-conquer-3}. +Es werden also nicht mehr als $2\lfloor 1+\log_2a\rfloor=O(\log_2a)$ +Multiplikationen durchgeführt. +\end{proof} + +\begin{beispiel} +Man berechne die Potenz $7^{2021}$ in $\mathbb{F}_p$. +Die Binärdarstellung von 2021 ist $2021_{10}=\texttt{11111100101}_2$. +Wir stellen die nötigen Operationen des +Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} in der folgenden +Tabelle +\begin{center} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} +\hline + i& f& a_i& x\\ +\hline + 0& 7& 1& 7\\ + 1& 49& 0& 7\\ + 2&1110& 1& 24\\ + 3& 486& 0& 24\\ + 4&1234& 0& 24\\ + 5& 667& 1& 516\\ + 6& 785& 1& 977\\ + 7& 418& 1& 430\\ + 8& 439& 1& 284\\ + 9& 362& 1& 819\\ +10& 653& 1& 333\\ +\hline +\end{tabular} +\end{center} +Daraus liest man ab, dass $7^{2021}=333\in\mathbb{F}_{1291}$. +\end{beispiel} + +Die Tabelle suggeriert, dass die Potenzen von $g$ ``wild'', also +scheinbar ohne System in $\mathbb{F}_p$ herumspringen. +Dies deutet an, dass die Umkehrung der Exponentialfunktion in $\mathbb{F}_p$ +schwierig ist. +Die Umkehrfunktion der Exponentialfunktion, die Umkehrfunktion von +$x\mapsto g^x$ in $\mathbb{F}_p$ heisst der {\em diskrete Logarithmus}. +\index{diskreter Logarithmus}% +Tatsächlich ist der diskrete Logarithmus ähnlich schwierig zu bestimmen +wie das Faktorisieren von Zahlen, die das Produkt grosser +Primafaktoren ähnlicher Grössenordnung wie $p$ sind. +Die Funktion $x\mapsto g^x$ ist die gesuchte, schwierig zu invertierende +Funktion. + +Auf dern ersten Blick scheint der +Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} +den Nachteil zu haben, dass erst die Binärdarstellung der Zahl $a$ +ermittelt werden muss. +In einem Computer ist dies aber normalerweise kein Problem, da $a$ +im Computer ohnehin binär dargestellt ist. +Die Binärziffern werden in der Reihenfolge vom niederwertigsten zum +höchstwertigen Bit benötigt. +Die folgende Modifikation des Algorithmus ermittelt laufend +auch die Binärstellen von $a$. +Die dazu notwendigen Operationen sind im Binärsystem besonders +effizient implementierbar, die Division durch 2 ist ein Bitshift, der +Rest ist einfach das niederwertigste Bit der Zahl. + +\begin{algorithmus} +\label{buch:crypto:algo:divide-and-conquer2} +\begin{enumerate} +\item +Setze $f=g$, $x=1$, $i=0$ +\item +Solange $a>0$ ist, führe aus +\begin{enumerate} +\item +Verwende den euklidischen Algorithmus um $r$ und $b$ zu bestimmen mit $a=2b+r$ +\item +Falls $r=1$ setze $x \coloneqq x \cdot f$ +\item +$i \coloneqq i+1$, $a = b$ und $f\coloneqq f\cdot f$ +\end{enumerate} +\end{enumerate} +Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen +berechnet werden. +\end{algorithmus} + + +% +% Diffie-Hellman Schlüsseltausch +% +\subsection{Diffie-Hellman-Schlüsseltausch +\label{buch:subsection:diffie-hellman}} +Eine Grundaufgabe der Verschlüsselung im Internet ist, dass zwei +Kommunikationspartner einen gemeinsamen Schlüssel für die Verschlüsselung +der Daten aushandeln können müssen. +Es muss davon ausgegangen werden, dass die Kommunikation abgehört wird. +Trotzdem soll es für einen Lauscher nicht möglich sein, den +ausgehandelten Schlüssel zu ermitteln. + +% XXX Historisches zu Diffie und Hellman + +Die beiden Partner $A$ und $B$ einigen sich zunächst auf eine Zahl $g$, +die öffentlich bekannt sein darf. +Weiter erzeugen sie eine zufällige Zahl $a$ und $b$, die sie geheim +halten. +Das Verfahren soll aus diesen beiden Zahlen einen Schlüssel erzeugen, +den beide Partner berechnen können, ohne dass sie $a$ oder $b$ +übermitteln müssen. +Die beiden Zahlen werden daher auch die privaten Schlüssel genannt. + +Die Idee von Diffie und Hellman ist jetzt, die Werte $x=g^a$ und $y=g^b$ +zu übertragen. +In $\mathbb{R}$ würden dadurch natürlich dem Lauscher auch $a$ offenbart, +er könnte einfach $a=\log_g x$ berechnen. +Ebenso kann auch $b$ als $b=\log_g y$ erhalten werden, die beiden +privaten Schlüssel wären also nicht mehr privat. +Statt der Potenzfunktion in $\mathbb{R}$ muss also eine Funktion +verwendet werden, die nicht so leicht umgekehrt werden kann. +Die Potenzfunktion in $\mathbb{F}_p$ erfüllt genau diese Eigenschaft. +Die Kommunikationspartner einigen sich also auch noch auf die (grosse) +Primzahl $p$ und übermitteln $x=g^a\in\mathbb{F}_p$ und +$y=g^b\in\mathbb{F}_p$. + +\begin{figure} +\centering +\includegraphics{chapters/90-crypto/images/dh.pdf} +\caption{Schlüsselaustausch nach Diffie-Hellman. +Die Kommunikationspartner $A$ und $B$ einigen sich öffentlich auf +$p\in\mathbb{N}$ und $g\in\mathbb{F}_p$. +$A$ wählt dann einen privaten Schlüssel $a\in\mathbb{N}$ und +$B$ wählt $b\in\mathbb{N}$, sie tauschen dann $x=g^a$ und $y=g^b$ +aus. +$A$ erhält den gemeinsamen Schlüssel aus $y^a$, $B$ erhält ihn +aus $x^b$. +\label{buch:crypto:fig:dh}} +\end{figure} + +Aus $x$ und $y$ muss jetzt der gemeinsame Schlüssel abgeleitet werden. +$A$ kennt $y=g^b$ und $a$, $B$ kennt $x=g^a$ und $b$. +Beide können die Zahl $s=g^{ab}\in\mathbb{F}_p$ berechnen. +$A$ macht das, indem er $y^a=(g^b)^a = g^{ab}$ rechnet, +$B$ rechnet $x^b = (g^a)^b = g^{ab}$, beide natürlich in $\mathbb{F}_p$. +Der Lauscher kann aber $g^{ab}$ nicht ermitteln, dazu müsste er +$a$ oder $b$ ermitteln können. +Die Zahl $s=g^{ab}$ kann also als gemeinsamer Schlüssel verwendet +werden. + + + +\subsection{Elliptische Kurven +\label{buch:subsection:elliptische-kurven}} +Das Diffie-Hellman-Verfahren basiert auf der Schwierigkeit, in einem +Körper $\mathbb{F}_p$ die Gleichung $a^x=b$ nach $x$ aufzulösen. +Die Addition in $\mathbb{F}_p$ wird dazu nicht benötigt. +Es reicht, eine Menge mit einer Multiplikation zu haben, in der das +die Gleichung $a^x=b$ schwierig zu lösen ist. +Ein Gruppe wäre also durchaus ausreichend. + +Ein Kandidat für eine solche Gruppe könnte der Einheitskreis +$S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ in der komplexen Ebene sein. +Wählt man eine Zahl $g=e^{i\alpha}$, wobei $\alpha$ ein irrationales +Vielfaches von $\pi$ ist, dann sind alle Potenzen $g^n$ für natürliche +Exponenten voneinander verschieden. +Wäre nämlich $g^{n_1}=g^{n_2}$, dann wäre $e^{i\alpha(n_1-n_2)}=1$ und +somit müsste $\alpha=2k\pi/(n_1-n_2)$ sein. +Damit wäre aber $\alpha$ ein rationales Vielfaches von $\pi$, im Widerspruch +zur Voraussetzung. +Die Abbildung $n\mapsto g^n\in S^1$ ist auf den ersten Blick etwa ähnlich +undurchschaubar wie die Abbildung $n\mapsto g^n\in\mathbb{F}_p$. +Es gibt zwar die komplexe Logarithmusfunktion, mit der man $n$ bestimmen +kann, dazu muss man aber den Wert von $g^n$ mit beliebiger Genauigkeit +kennen, denn die Werte von $g^n$ können beliebig nahe beieinander liegen. + +Der Einheitskreis ist die Lösungsmenge der Gleichung $x^2+y^2=1$ für +reelle Koordinaten $x$ und $y$, +doch Rundungsunsicherheiten verunmöglichen den Einsatz in einem +Verfahren ähnlich dem Diffie-Hellman-Verfahren. +Dieses Problem kann gelöst werden, indem für die Variablen Werte +aus einem endlichen Körper verwendet werden. +Gesucht ist also eine Gleichung in zwei Variablen, deren Lösungsmenge +in einem endlichen Körper eine Gruppenstruktur trägt. +Die Lösungsmenge ist eine ``Kurve'' von Punkten mit +Koordinaten in einem endlichen Körper. + +In diesem Abschnitt wird gezeigt, dass sogenannte elliptische Kurven +über endlichen Körpern genau die verlangen Eigenschaften haben. + +\subsubsection{Elliptische Kurven} +Elliptische Kurven sind Lösungen einer Gleichung der Form +\begin{equation} +Y^2+XY=X^3+aX+b +\label{buch:crypto:eqn:ellipticcurve} +\end{equation} +mit Werten von $X$ und $Y$ in einem geeigneten Körper. +Die Koeffizienten $a$ und $b$ müssen so gewählt werden, dass die +Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} genügend viele +Lösungen hat. +Über den komplexen Zahlen hat die Gleichung natürlich für jede Wahl von +$X$ drei Lösungen. +Für einen endlichen Körper können wir dies im allgemeinen nicht erwarten, +aber wenn wir genügend viele Wurzeln zu $\mathbb{F}$ hinzufügen können wir +mindestens erreichen, dass die Lösungsmenge so viele Elemente hat, +dass ein Versuch, die Gleichung $g^x=b$ mittels Durchprobierens zu +lösen, zum Scheitern verurteil ist. + +\begin{definition} +\label{buch:crypto:def:ellipticcurve} +Die {\em elliptische Kurve} $E_{a,b}(\Bbbk)$ über dem Körper $\Bbbk$ ist +die Menge +\[ +E_{a,b}(\Bbbk) += +\{(X,Y)\in\Bbbk^2\;|\;Y^2+XY=X^3+aX+b\}, +\] +für $a,b\in\Bbbk$. +\end{definition} + +Um die Anschauung zu vereinfachen, werden wir elliptische Kurven über +dem Körper $\mathbb{R}$ visualisieren. +Die daraus gewonnenen geometrischen Einsichten werden wir anschliessend +algebraisch umsetzen. +In den reellen Zahlen kann man die +Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} +noch etwas vereinfachen. +Indem man in \eqref{buch:crypto:eqn:ellipticcurve} +quadratisch ergänzt, bekommt man +\begin{align} +Y^2 + XY + \frac14X^2 &= X^3+\frac14 X^2 +aX+b +\notag +\\ +\Rightarrow\qquad +v^2&=X^3+\frac14X^2+aX+b, +\label{buch:crypto:eqn:ell2} +\end{align} +indem man $v=Y+\frac12X$ setzt. +Man beachte, dass man diese Substition nur machen kann, wenn $\frac12$ +definiert ist. +In $\mathbb{R}$ ist dies kein Problem, aber genau über den Körpern +mit Charakteristik $2$, die wir für die Computer-Implementation +bevorzugen, ist dies nicht möglich. +Es geht hier aber nur um die Visualisierung. + +Auch die Form \eqref{buch:crypto:eqn:ell2} lässt sich noch etwas +vereinfachen. +Setzt man $X=u-\frac1{12}$, dann verschwindet nach einiger Rechnung, +die wir hier nicht durchführen wollen, der quadratische Term +auf der rechten Seite. +Die interessierenden Punkte sind Lösungen der einfacheren Gleichung +\begin{equation} +v^2 += +u^3+\biggl(a-\frac{1}{48}\biggr)u + b-\frac{a}{12}+\frac{1}{864} += +u^3+Au+B. +\label{buch:crypto:ellvereinfacht} +\end{equation} +In dieser Form ist mit $(u,v)$ immer auch $(u,-v)$ eine Lösung, +die Kurve ist symmetrisch bezüglich der $u$-Achse. +Ebenso kann man ablesen, dass nur diejenigen $u$-Werte möglich sind, +für die das kubische Polynom $u^3+Au+B$ auf der rechten Seite von +\eqref{buch:crypto:ellvereinfacht} +nicht negativ ist. + +Sind $u_1$, $u_2$ und $u_3$ die Nullstellen des kubischen Polynoms +auf der rechten Seite von~\eqref{buch:crypto:ellvereinfacht}, folgt +\[ +v^2 += +(u-u_1)(u-u_2)(u-u_3) += +u^3 +-(u_1+u_2+u_3)u^2 ++(u_1u_2+u_1u_3+u_2u_3)u +- +u_1u_2u_3. +\] +Durch Koeffizientenvergleich sieht man, dass $u_1+u_2+u_3=0$ sein muss. +\begin{figure} +\centering +\includegraphics{chapters/90-crypto/images/elliptic.pdf} +\caption{Elliptische Kurve in $\mathbb{R}$ in der Form +$v^2=u^3+Au+B$ mit Nullstellen $u_1$, $u_2$ und $u_3$ des +kubischen Polynoms auf der rechten Seite. +Die blauen Punkte und Geraden illustrieren die Definition der +Gruppenoperation in der elliptischen Kurve. +\label{buch:crypto:fig:elliptischekurve}} +\end{figure} +Abbildung~\ref{buch:crypto:fig:elliptischekurve} +zeigt eine elliptische Kurve in der Ebene. + +\subsubsection{Geometrische Definition der Gruppenoperation} +In der speziellen Form \ref{buch:crypto:ellvereinfacht} ist die +elliptische Kurve symmetrisch unter Spiegelung an der $u$-Achse. +Die Spiegelung ist eine Involution, zweimalige Ausführung führt auf +den ursprünglichen Punkt zurück. +Die Inverse in einer Gruppe hat diese Eigenschaft auch, es ist +daher naheliegend, den gespiegelten Punkt als die Inverse eines +Elementes zu nehmen. + +Eine Gerade durch zwei Punkte der +in Abbildung~\ref{buch:crypto:fig:elliptischekurve} +dargestellten Kurve schneidet die Kurve ein drittes Mal. +Die Gruppenoperation wird so definiert, dass drei Punkte der Kurve +auf einer Geraden das Gruppenprodukt $e$ haben. +Da aus $g_1g_2g_3=e$ folgt $g_3=(g_1g_2)^{-1}$ oder +$g_1g_2=g_3^{-1}$, erhält man das Gruppenprodukt zweier Elemente +auf der elliptischen Kurve indem erst den dritten Schnittpunkt +ermittelt und diesen dann an der $u$-Achse spiegelt. + +Die geometrische Konstruktion schlägt fehl, wenn $g_1=g_2$ ist. +In diesem Fall kann man die Tangente im Punkt $g_1$ an die Kurve +verwenden. +Dieser Fall tritt zum Beispiel auch in den drei Punkten +$(u_1,0)$, $(u_2,0)$ und $(u_3,0)$ ein. + +Um das neutrale Element der Gruppe zu finden, können wir +zwei Punkte $g$ und $g^{-1}$ miteinander verknüpfen. +Die Gerade durch $g$ und $g^{-1}$ schneidet aber die Kurve +kein drittes Mal. +Ausserdem sind alle Geraden durch $g$ und $g^{-1}$ für verschiedene +$g$ parallel. +Das neutrale Element entspricht also einem unendlich weit entfernten Punkt. +Das neutrale Element entsteht immer dann als Produkt, wenn zwei +Punkte die gleiche $u$-Koordinaten haben. + +\subsubsection{Gruppenoperation, algebraische Konstruktion} +Nach den geometrischen Vorarbeiten zur Definition der Gruppenoperation +kann können wir die Konstruktion jetzt algebraisch umsetzen. + +Zunächst überlegen wir uns wieder eine Involution, welche als Inverse +dienen kann. +Dazu beachten wir, dass die linke Seite der definierenden Gleichung +\begin{equation} +Y^2+XY=X^3-aX+b. +\label{buch:crypto:eqn:grupopgl} +\end{equation} +auch als $Y(Y+X)$ geschrieben werden kann. +Die Abbildung $Y\mapsto -X-Y$ macht daraus +\[ +(-X-Y)(-X-Y+X)=(X+Y)Y, +\] +dies ist also die gesuchte Involution. + +Seien also $g_1=(x_1,y_1)$ und $g_2=(x_2,y_2)$ zwei verschiedene Lösungen +der Gleichung \eqref{buch:crypto:eqn:grupopgl} +Als erstes brauchen wir eine Gleichung für die Gerade durch die beiden +Punkte. +Sei also $l(X,Y)$ eine Linearform derart, dass $l(g_1)=d$ und $l(g_2)=d$ +für ein geeignetes $d\in\Bbbk$. +Dann gilt auch für die Punkte +\[ +g(t) = tg_1 + (1-t)g_2 +\qquad\Rightarrow\qquad +l(g(t)) += +tl(g_1) + (1-t)l(g_2) += +tc+(1-t)c += +(t+1-t)c +=c, +\] +jeder Punkt der Geraden durch $g_1$ und $g_2$ lässt sich in dieser Form +schreiben. + +Setzt man jetzt $g(t)$ in die Gleichung ein, erhält man eine kubische +Gleichung in $t$, von der wir bereits zwei Nullstellen kennen, nämlich +$0$ und $1$. +Die kubische Gleichung muss also durch $t$ und $(t-1)$ teilbar sein. +Diese Berechnung kann man einfach in einem Computeralgebrasystem +durchführen. +Das Polynom ist +\[ +p(t) += +\] +Nach Division durch $t(t-1)$ erhält man als den Quotienten +\begin{align*} +q(t) +&= +(y_2-y_1)^2 ++ +(y_2-y_1) (x_2-x_1) ++ +t(x_2-x_1)^3 +- +2x_2^3+3x_1x_2^2-x_1^3 +\end{align*} +und den Rest +\[ +r(t) += +t(y_1^2+x_1y_1-x_1^3-ax_1-b) ++ +(1-t)(y_2^2+x_2y_2-x_2^3-ax_2-b). +\] +Die Klammerausdrücke verschwinden, da die sie gleichbedeutend damit sind, +dass die Punkte Lösungen von \eqref{buch:crypto:eqn:grupopgl} sind. + +Für den dritten Punkt auf der Geraden muss $t$ so gewählt werden, dass +$q(t)=0$ ist. +Dies ist aber eine lineare Gleichung mit der Lösung +\begin{align*} +t +&= +-\frac{ +(y_1-y_2)^2 ++ +(y_2-y_1)(x_2-x_1) +-2x_2^3+3x_1x_2^2-x_1^3 +}{(x_2-x_1)^3} +. +\end{align*} +Setzt man dies $g(t)$ ein, erhält man für die Koordinaten des dritten +Punktes $g_3$ die Werte +\begin{align} +x_3 +&= +\frac{ +(y_2-y_1)^2(x_2-x_1) + (y_2-y_1)(x_2-x_1)^2 +-(x_2^4+x_1^4) +}{ +(x_2-x_1)^3 +} +\label{buch:crypto:eqn:x3} +\\ +y_3 +&= +\frac{ +(y_2-y_1)^3 ++(x_2-x_1)(y_2-y_1)^2 +-(x_{2}-x_{1})^3 ( y_{2} - y_{1}) +-(x_{2}-x_{1})^2 ( x_{1} y_{2}- x_{2} y_{1}) +}{ +(x_2-x_1)^3 +} +\label{buch:crypto:eqn:y3} +\end{align} +Die Gleichungen +\eqref{buch:crypto:eqn:x3} +und +\eqref{buch:crypto:eqn:y3} +ermöglichen also, das Element $g_1g_2^{-1}$ zu berechnen. +Interessant daran ist, dass in den Formeln die Konstanten $a$ und $b$ +gar nicht vorkommen. + +Es bleibt noch der wichtige Fall des Quadrierens in der Gruppe zu +behandeln, also den Fall $g_1=g_2$. +In diese Fall sind die Formeln +\eqref{buch:crypto:eqn:x3} +und +\eqref{buch:crypto:eqn:y3} +ganz offensichtlich nicht anwendbar. +Die geometrische Anschauung hat nahegelegt, die Tangent an die Kurve +im Punkt $g_1$ zu nehmen. +In $\mathbb{R}$ würde man dafür einen Grenzübergang $g_2\to g_1$ machen, +aber in einem endlichen Körper ist dies natürlich nicht möglich. + +Wir schreiben die Gerade als Parameterdarstellung in der Form +\( +t\mapsto g(t)= (x_1+ut, y_1+vt) +\) +für beliebige Parameter in $\Bbbk$. +Die Werte $u_1$ und $u_2$ müssen so gewählt werden, dass $g(t)$ eine +Tangente wird. +Setzt man $g(t)$ in die Gleichung~\eqref{buch:crypto:eqn:grupopgl} ein, +entsteht ein kubische Gleichung, die genau dann eine doppelte Nullstelle +bei $0$ hat, wenn $u,v$ die Tangentenrichtung beschreiben. +Einsetzen von $g(t)$ in \eqref{buch:crypto:eqn:grupopgl} +ergibt die Gleichung +\begin{align} +0 +&= +-u^3t^3 ++ +(-3u^2x_{1}+v^2+uv)t^2 ++ +(2vy_1+uy_1-3ux_1^2+vx_1-au)t ++ +(y_1^2+x_1y_1-x_1^3-ax_1-b) +\label{buch:crypto:eqn:tangente1} +\end{align} +Damit bei $t=0$ eine doppelte Nullstelle mussen die letzten beiden +Koeffizienten verschwinden, dies führt auf die Gleichungen +\begin{align} +y_1^2+x_1y_1&=x_1^3+ax_1+b +\label{buch:crypto:eqn:rest1} +\\ +(2y_1 ++x_1)v ++(y_1 +-3x_1^2 +-a)u +&=0 +\label{buch:crypto:eqn:rest2} +\end{align} +Die erste Gleichung \eqref{buch:crypto:eqn:rest1} drückt aus, +dass $g_1$ ein Punkt der Kurve ist, sie ist automatisch erfüllt. + +Die zweite Gleichung +\eqref{buch:crypto:eqn:rest2} +legt das Verhältnis von $u$ und $v$, also die +\label{buch:crypto:eqn:rest2} +Tangentenrichtung fest. +Eine mögliche Lösung ist +\begin{equation} +\begin{aligned} +u &= x_1+2y_1 +\\ +v &= -y_1+3x_1^2+a. +\end{aligned} +\label{buch:crypto:eqn:uv} +\end{equation} + +Der Quotient ist ein lineares Polynom in $t$, die Nullstelle parametrisiert +den Punkt, der $(g_1)^{-2}$ entspricht. +Der zugehörige Wert von $t$ ist +\begin{equation} +t=-\frac{3u^2x_1-v^2-uv}{u^3}. +\label{buch:crypto:eqn:t} +\end{equation} + + +Setzt man +\label{buch:crypto:eqn:t} +und +\eqref{buch:crypto:eqn:uv} +in $g(t)$ ein, erhält man sehr komplizierte Ausdrücke für den dritten Punkt. +Wir verzichten darauf, diese Ausdrücke hier aufzuschreiben. +In der Praxis wird man in einem Körper der Charakteristik 2 arbeiten. +In diesem Körper werden alle geraden Koeffizienten zu $0$, alle ungeraden +Koeffizienten werden unabhängig vom Vorzeichen zu $1$. +Damit bekommt man die folgenden, sehr viel übersichtlicheren Ausdrücke +für den dritten Punkt: +\begin{equation} +\begin{aligned} +x +&= +-\frac{ +y_1^2+x_1y_1+x_1^4+x_1^3+ax_1-a^2 + }{ +x_1^2 +} +\\ +y +&= +\frac{ +y_1^3+(x_1^2+x_1+a)y_1^2+(x_1^4 +a^2)y_1+x_1^6+ax_1^4+ax_1^3+a^2x_1^2+a^2x_1+a^3 +}{ + x_1^3 +} +\end{aligned} +\label{buch:crypto:eqn:tangentechar2} +\end{equation} +Damit haben wir einen vollständigen Formelsatz für die Berechnung der +Gruppenoperation in der elliptischen Kurve mindestens für den praktisch +relevanten Fall einer Kurve über einem Körper der Charakteristik $2$. + +\begin{satz} +Die elliptische Kurve +\[ +E_{a,b}(\mathbb{F}_{p^l}) += +\{ +(X,Y)\in\mathbb{F}_{p^l} +\;|\; +Y^2+XY = X^3-aX-b +\} +\] +trägt eine Gruppenstruktur, die wie folgt definiert ist: +\begin{enumerate} +\item Der Punkt $(0,0)$ entspricht dem neutralen Element. +\item Das inverse Element von $(x,y)$ ist $(-x,-y-x)$. +\item Für zwei verschiedene Punkte $g_1$ und $g_2$ kann $g_3=(g_1g_2)^{-1}$ +mit Hilfe der Formeln +\eqref{buch:crypto:eqn:x3} +und +\eqref{buch:crypto:eqn:y3} +gefunden werden. +\item Für einen Punkt $g_1$ kann $g_3=g_1^{-2}$ in Charakteristik $2$ mit +Hilfe der Formeln +\eqref{buch:crypto:eqn:tangentechar2} +gefunden werden. +\end{enumerate} +Diese Operationen machen $E_{a,b}(\mathbb{F}_{p^l})$ zu einer endlichen +abelschen Gruppe. +\end{satz} + +\subsubsection{Beispiele} +% XXX +TODO: elliptische Kurven in IPsec: Oakley Gruppen + +\subsubsection{Diffie-Hellman in einer elliptischen Kurve} +% XXX +TODO: $g^x$ in einer elliptischen Kurve + + + diff --git a/buch/chapters/90-crypto/images/Makefile b/buch/chapters/90-crypto/images/Makefile index f4bed14..5df9178 100644 --- a/buch/chapters/90-crypto/images/Makefile +++ b/buch/chapters/90-crypto/images/Makefile @@ -1,29 +1,29 @@ -# -# Makefile -- build images for crypto chapter -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \ - shift.pdf keys.pdf - -dh.pdf: dh.tex - pdflatex dh.tex - -elliptic.pdf: elliptic.tex - pdflatex elliptic.tex - -schieberegister.pdf: schieberegister.tex - pdflatex schieberegister.tex - -multiplikation.pdf: multiplikation.tex - pdflatex multiplikation.tex - -sbox.pdf: sbox.tex - pdflatex sbox.tex - -shift.pdf: shift.tex - pdflatex shift.tex - -keys.pdf: keys.tex - pdflatex keys.tex - +# +# Makefile -- build images for crypto chapter +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \ + shift.pdf keys.pdf + +dh.pdf: dh.tex + pdflatex dh.tex + +elliptic.pdf: elliptic.tex + pdflatex elliptic.tex + +schieberegister.pdf: schieberegister.tex + pdflatex schieberegister.tex + +multiplikation.pdf: multiplikation.tex + pdflatex multiplikation.tex + +sbox.pdf: sbox.tex + pdflatex sbox.tex + +shift.pdf: shift.tex + pdflatex shift.tex + +keys.pdf: keys.tex + pdflatex keys.tex + diff --git a/buch/chapters/90-crypto/images/keys.tex b/buch/chapters/90-crypto/images/keys.tex index d556b7c..4b1b566 100644 --- a/buch/chapters/90-crypto/images/keys.tex +++ b/buch/chapters/90-crypto/images/keys.tex @@ -1,121 +1,121 @@ -% -% keys.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] -\definecolor{darkgreen}{rgb}{0,0.6,0} -\def\s{0.5} -\def\punkt#1#2{({(#1)*\s},{(#2)*\s})} -\def\wort#1#2#3{ - \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; - \draw \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; -} - -\def\summe{ - \foreach \x in {0,3,...,21}{ - \draw[->] \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; - \draw \punkt{(\x+0.5)}{-2.5} circle[radius={0.3*\s}]; - \draw \punkt{(\x+0.5-0.2)}{-2.5} - -- - \punkt{(\x+0.5+0.2)}{-2.5}; - \draw \punkt{(\x+0.5)}{-2.5+0.2} - -- - \punkt{(\x+0.5)}{-2.5-0.2}; - \draw[->] \punkt{(\x+0.5)}{-2.9} -- \punkt{(\x+0.5)}{-4.9}; - } - \foreach \x in {0,3,...,18}{ - \draw[->] \punkt{(\x+1.1)}{-7} -- \punkt{(\x+2)}{-7} - -- \punkt{(\x+2)}{-2.5} -- \punkt{(\x+3.1)}{-2.5}; - } - \fill[color=white] - \punkt{(9+1.25)}{-5.5} - rectangle - \punkt{(9+2.75)}{-4.00}; - \draw - \punkt{(9+1.25)}{-5.5} - rectangle - \punkt{(9+2.75)}{-4.00}; - \node at \punkt{(9+2)}{-4.75} {$S$}; -} - -\def\blocks#1{ - \foreach \x in {0,3,...,21}{ - \wort{\x}{0}{#1} - } -} - -\def\schlange#1{ - \draw[->] \punkt{22.1}{2} -- \punkt{23}{2} - -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} - -- \punkt{-3}{-8} -- \punkt{-1}{-8} -- \punkt{-1}{-2.5} - -- \punkt{0.1}{-2.5}; - ; - \fill[color=white] \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; - \draw \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; - \node at \punkt{-3}{-2.5} {$\pi$}; - - \fill[color=white] \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; - \draw \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; - \node at \punkt{-3}{-4.5} {$S$}; - - \fill[color=white] \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; - \draw \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; - \node at \punkt{-3}{-6.5} {$r_{#1}$}; -} - -\begin{scope} - \blocks{blue!20} - \foreach \x in {0,...,7}{ - \node at \punkt{(3*\x+0.5)}{2} {$K_\x$}; - } - \schlange{1} - \summe -\end{scope} - -\begin{scope}[yshift=-4.5cm] - \blocks{darkgreen!20} - \foreach \x in {8,...,15}{ - \node at \punkt{(3*(\x-8)+0.5)}{2} {$K_{\x}$}; - } - \schlange{2} - \summe -\end{scope} - -\begin{scope}[yshift=-9cm] - \blocks{darkgreen!20} - \foreach \x in {16,...,23}{ - \node at \punkt{(3*(\x-16)+0.5)}{2} {$K_{\x}$}; - } - \schlange{3} - \summe -\end{scope} - -\begin{scope}[yshift=-13.5cm] - \blocks{darkgreen!20} - \foreach \x in {24,...,31}{ - \node at \punkt{(3*(\x-24)+0.5)}{2} {$K_{\x}$}; - } - \foreach \x in {0,3,...,21}{ - \draw[->,color=gray] - \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; - \node[color=gray] at \punkt{(\x+0.5)}{-2.1} [below] {$\vdots$}; - } - \draw[color=gray] \punkt{22.1}{2} -- \punkt{23}{2} - -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} - -- \punkt{-3}{-2.1}; - \node[color=gray] at \punkt{-3}{-2.1} [below] {$\vdots$}; -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% keys.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] +\definecolor{darkgreen}{rgb}{0,0.6,0} +\def\s{0.5} +\def\punkt#1#2{({(#1)*\s},{(#2)*\s})} +\def\wort#1#2#3{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; + \draw \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; +} + +\def\summe{ + \foreach \x in {0,3,...,21}{ + \draw[->] \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; + \draw \punkt{(\x+0.5)}{-2.5} circle[radius={0.3*\s}]; + \draw \punkt{(\x+0.5-0.2)}{-2.5} + -- + \punkt{(\x+0.5+0.2)}{-2.5}; + \draw \punkt{(\x+0.5)}{-2.5+0.2} + -- + \punkt{(\x+0.5)}{-2.5-0.2}; + \draw[->] \punkt{(\x+0.5)}{-2.9} -- \punkt{(\x+0.5)}{-4.9}; + } + \foreach \x in {0,3,...,18}{ + \draw[->] \punkt{(\x+1.1)}{-7} -- \punkt{(\x+2)}{-7} + -- \punkt{(\x+2)}{-2.5} -- \punkt{(\x+3.1)}{-2.5}; + } + \fill[color=white] + \punkt{(9+1.25)}{-5.5} + rectangle + \punkt{(9+2.75)}{-4.00}; + \draw + \punkt{(9+1.25)}{-5.5} + rectangle + \punkt{(9+2.75)}{-4.00}; + \node at \punkt{(9+2)}{-4.75} {$S$}; +} + +\def\blocks#1{ + \foreach \x in {0,3,...,21}{ + \wort{\x}{0}{#1} + } +} + +\def\schlange#1{ + \draw[->] \punkt{22.1}{2} -- \punkt{23}{2} + -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} + -- \punkt{-3}{-8} -- \punkt{-1}{-8} -- \punkt{-1}{-2.5} + -- \punkt{0.1}{-2.5}; + ; + \fill[color=white] \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; + \draw \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; + \node at \punkt{-3}{-2.5} {$\pi$}; + + \fill[color=white] \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; + \draw \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; + \node at \punkt{-3}{-4.5} {$S$}; + + \fill[color=white] \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; + \draw \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; + \node at \punkt{-3}{-6.5} {$r_{#1}$}; +} + +\begin{scope} + \blocks{blue!20} + \foreach \x in {0,...,7}{ + \node at \punkt{(3*\x+0.5)}{2} {$K_\x$}; + } + \schlange{1} + \summe +\end{scope} + +\begin{scope}[yshift=-4.5cm] + \blocks{darkgreen!20} + \foreach \x in {8,...,15}{ + \node at \punkt{(3*(\x-8)+0.5)}{2} {$K_{\x}$}; + } + \schlange{2} + \summe +\end{scope} + +\begin{scope}[yshift=-9cm] + \blocks{darkgreen!20} + \foreach \x in {16,...,23}{ + \node at \punkt{(3*(\x-16)+0.5)}{2} {$K_{\x}$}; + } + \schlange{3} + \summe +\end{scope} + +\begin{scope}[yshift=-13.5cm] + \blocks{darkgreen!20} + \foreach \x in {24,...,31}{ + \node at \punkt{(3*(\x-24)+0.5)}{2} {$K_{\x}$}; + } + \foreach \x in {0,3,...,21}{ + \draw[->,color=gray] + \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; + \node[color=gray] at \punkt{(\x+0.5)}{-2.1} [below] {$\vdots$}; + } + \draw[color=gray] \punkt{22.1}{2} -- \punkt{23}{2} + -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} + -- \punkt{-3}{-2.1}; + \node[color=gray] at \punkt{-3}{-2.1} [below] {$\vdots$}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/multiplikation.tex b/buch/chapters/90-crypto/images/multiplikation.tex index 27c4329..dd59097 100644 --- a/buch/chapters/90-crypto/images/multiplikation.tex +++ b/buch/chapters/90-crypto/images/multiplikation.tex @@ -1,464 +1,464 @@ -% -% multiplikation.tex -- -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\def\s{0.45} - -\def\punkt#1#2{({#1*\s},{#2*\s})} - -\def\pfeile{ - \foreach \x in {0.5,1.5,...,7.5}{ - \draw[->,color=blue] \punkt{\x}{-2.1} -- \punkt{(\x-1)}{-3.3}; - } -} - -\begin{scope}[yshift=0.1cm] - \node at \punkt{0}{0.5} [left] {$p(X)=\mathstrut$}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{1}}; - \foreach \x in {0.5,1.5,...,7.5}{ - \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.3}; - } -\end{scope} - -\begin{scope}[yshift=-1cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{1}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - - \draw[->,color=darkgreen] - \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; - \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{0}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-3cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{1}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{1}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{0}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{0}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-5cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{1}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{1}}; - \node at \punkt{1.5}{-1.5} {\texttt{1}}; - \node at \punkt{2.5}{-1.5} {\texttt{0}}; - \node at \punkt{3.5}{-1.5} {\texttt{0}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{1}}; - \node at \punkt{6.5}{-1.5} {\texttt{0}}; - \node at \punkt{7.5}{-1.5} {\texttt{0}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-7cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{1}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - - \draw[->,color=darkgreen] - \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; - \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{1}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{0}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-9cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - - \draw[->,color=darkgreen] - \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; - \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{1}}; - \node at \punkt{5.5}{-1.5} {\texttt{1}}; - \node at \punkt{6.5}{-1.5} {\texttt{0}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-11cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{1}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{1}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{0}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-13cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{1}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{1}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{0}}; - \node at \punkt{4.5}{-1.5} {\texttt{1}}; - \node at \punkt{5.5}{-1.5} {\texttt{1}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - -% \pfeile -\end{scope} - -\begin{scope}[xshift=9cm] - -\begin{scope}[yshift=0.1cm] - \draw[->] \punkt{-11.8}{0.5} -- \punkt{-0.1}{0.5}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \draw \punkt{4}{-0.1} -- \punkt{4}{-3}; - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{1}}; -\end{scope} - -\def\summation#1#2#3#4#5#6#7#8{ - \draw[->] \punkt{4}{2.3} -- \punkt{4}{1}; - - \draw[->] \punkt{-11.8}{0.5} -- \punkt{3.5}{0.5}; - - \draw \punkt{4}{0.5} circle[radius=0.2]; - \draw \punkt{4}{0.20} -- \punkt{4}{0.80}; - \draw \punkt{3.7}{0.5} -- \punkt{4.3}{0.5}; - - \draw[->] \punkt{4}{-0.05} -- \punkt{4}{-0.95}; - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - - \node at \punkt{0.5}{-1.5} {\texttt{#1}}; - \node at \punkt{1.5}{-1.5} {\texttt{#2}}; - \node at \punkt{2.5}{-1.5} {\texttt{#3}}; - \node at \punkt{3.5}{-1.5} {\texttt{#4}}; - \node at \punkt{4.5}{-1.5} {\texttt{#5}}; - \node at \punkt{5.5}{-1.5} {\texttt{#6}}; - \node at \punkt{6.5}{-1.5} {\texttt{#7}}; - \node at \punkt{7.5}{-1.5} {\texttt{#8}}; -} - -\begin{scope}[yshift=-1.9cm] - \summation{1}{0}{0}{1}{0}{1}{0}{1} -\end{scope} - -\begin{scope}[yshift=-3.9cm] - \summation{1}{1}{1}{1}{0}{1}{1}{1} -\end{scope} - -\begin{scope}[yshift=-5.9cm] - \summation{1}{1}{1}{1}{0}{1}{1}{1} -\end{scope} - -\begin{scope}[yshift=-7.9cm] - \summation{0}{1}{1}{0}{0}{1}{0}{0} -\end{scope} - -\begin{scope}[yshift=-9.9cm] - \summation{0}{1}{0}{1}{1}{0}{0}{1} -\end{scope} - -\begin{scope}[yshift=-11.9cm] - \summation{0}{1}{0}{1}{1}{0}{0}{1} -\end{scope} - -\begin{scope}[yshift=-13.9cm] - \summation{0}{0}{1}{1}{0}{1}{1}{0} - \node at \punkt{0}{-1.5} [left] {$p(X)\cdot q(X)=\mathstrut$}; -\end{scope} - -\end{scope} - -\begin{scope}[xshift=5cm] - -\begin{scope}[yshift=2cm] - \node at \punkt{0}{0.5} [left] {$q(X)=\mathstrut$}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{1}}; - - \draw[->] \punkt{7.5}{-0.1} -- ({7.5*\s},{-1.3}); - \node at ({7.5*\s},{-1.2}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \def\y{1.2} - - \draw[->] \punkt{6.5}{-0.1} -- ({6.5*\s},{-1*2-\y-0.1}); - \node at ({6.5*\s},{-1*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; - - \draw[->] \punkt{5.5}{-0.1} -- ({5.5*\s},{-2*2-\y-0.1}); - \node at ({5.5*\s},{-2*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \draw[->] \punkt{4.5}{-0.1} -- ({4.5*\s},{-3*2-\y-0.1}); - \node at ({4.5*\s},{-3*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; - - \draw[->] \punkt{3.5}{-0.1} -- ({3.5*\s},{-4*2-\y-0.1}); - \node at ({3.5*\s},{-4*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \draw[->] \punkt{2.5}{-0.1} -- ({2.5*\s},{-5*2-\y-0.1}); - \node at ({2.5*\s},{-5*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \draw[->] \punkt{1.5}{-0.1} -- ({1.5*\s},{-6*2-\y-0.1}); - \node at ({1.5*\s},{-6*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; - - \draw[->] \punkt{0.5}{-0.1} -- ({0.5*\s},{-7*2-\y-0.1}); - \node at ({0.5*\s},{-7*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; -\end{scope} - -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% multiplikation.tex -- +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.45} + +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\def\pfeile{ + \foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-2.1} -- \punkt{(\x-1)}{-3.3}; + } +} + +\begin{scope}[yshift=0.1cm] + \node at \punkt{0}{0.5} [left] {$p(X)=\mathstrut$}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; + \foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.3}; + } +\end{scope} + +\begin{scope}[yshift=-1cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-3cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-5cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{1}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{0}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-7cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{1}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{0}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-9cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-11cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-13cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + +% \pfeile +\end{scope} + +\begin{scope}[xshift=9cm] + +\begin{scope}[yshift=0.1cm] + \draw[->] \punkt{-11.8}{0.5} -- \punkt{-0.1}{0.5}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \draw \punkt{4}{-0.1} -- \punkt{4}{-3}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; +\end{scope} + +\def\summation#1#2#3#4#5#6#7#8{ + \draw[->] \punkt{4}{2.3} -- \punkt{4}{1}; + + \draw[->] \punkt{-11.8}{0.5} -- \punkt{3.5}{0.5}; + + \draw \punkt{4}{0.5} circle[radius=0.2]; + \draw \punkt{4}{0.20} -- \punkt{4}{0.80}; + \draw \punkt{3.7}{0.5} -- \punkt{4.3}{0.5}; + + \draw[->] \punkt{4}{-0.05} -- \punkt{4}{-0.95}; + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + + \node at \punkt{0.5}{-1.5} {\texttt{#1}}; + \node at \punkt{1.5}{-1.5} {\texttt{#2}}; + \node at \punkt{2.5}{-1.5} {\texttt{#3}}; + \node at \punkt{3.5}{-1.5} {\texttt{#4}}; + \node at \punkt{4.5}{-1.5} {\texttt{#5}}; + \node at \punkt{5.5}{-1.5} {\texttt{#6}}; + \node at \punkt{6.5}{-1.5} {\texttt{#7}}; + \node at \punkt{7.5}{-1.5} {\texttt{#8}}; +} + +\begin{scope}[yshift=-1.9cm] + \summation{1}{0}{0}{1}{0}{1}{0}{1} +\end{scope} + +\begin{scope}[yshift=-3.9cm] + \summation{1}{1}{1}{1}{0}{1}{1}{1} +\end{scope} + +\begin{scope}[yshift=-5.9cm] + \summation{1}{1}{1}{1}{0}{1}{1}{1} +\end{scope} + +\begin{scope}[yshift=-7.9cm] + \summation{0}{1}{1}{0}{0}{1}{0}{0} +\end{scope} + +\begin{scope}[yshift=-9.9cm] + \summation{0}{1}{0}{1}{1}{0}{0}{1} +\end{scope} + +\begin{scope}[yshift=-11.9cm] + \summation{0}{1}{0}{1}{1}{0}{0}{1} +\end{scope} + +\begin{scope}[yshift=-13.9cm] + \summation{0}{0}{1}{1}{0}{1}{1}{0} + \node at \punkt{0}{-1.5} [left] {$p(X)\cdot q(X)=\mathstrut$}; +\end{scope} + +\end{scope} + +\begin{scope}[xshift=5cm] + +\begin{scope}[yshift=2cm] + \node at \punkt{0}{0.5} [left] {$q(X)=\mathstrut$}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; + + \draw[->] \punkt{7.5}{-0.1} -- ({7.5*\s},{-1.3}); + \node at ({7.5*\s},{-1.2}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \def\y{1.2} + + \draw[->] \punkt{6.5}{-0.1} -- ({6.5*\s},{-1*2-\y-0.1}); + \node at ({6.5*\s},{-1*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{5.5}{-0.1} -- ({5.5*\s},{-2*2-\y-0.1}); + \node at ({5.5*\s},{-2*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{4.5}{-0.1} -- ({4.5*\s},{-3*2-\y-0.1}); + \node at ({4.5*\s},{-3*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{3.5}{-0.1} -- ({3.5*\s},{-4*2-\y-0.1}); + \node at ({3.5*\s},{-4*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{2.5}{-0.1} -- ({2.5*\s},{-5*2-\y-0.1}); + \node at ({2.5*\s},{-5*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{1.5}{-0.1} -- ({1.5*\s},{-6*2-\y-0.1}); + \node at ({1.5*\s},{-6*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{0.5}{-0.1} -- ({0.5*\s},{-7*2-\y-0.1}); + \node at ({0.5*\s},{-7*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; +\end{scope} + +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/sbox.m b/buch/chapters/90-crypto/images/sbox.m index 973ffc9..1f0c2ce 100644 --- a/buch/chapters/90-crypto/images/sbox.m +++ b/buch/chapters/90-crypto/images/sbox.m @@ -1,52 +1,52 @@ -# -# sbox.m -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -A=[ -1,0,0,0,1,1,1,1; -1,1,0,0,0,1,1,1; -1,1,1,0,0,0,1,1; -1,1,1,1,0,0,0,1; -1,1,1,1,1,0,0,0; -0,1,1,1,1,1,0,0; -0,0,1,1,1,1,1,0; -0,0,0,1,1,1,1,1; -] - -R = zeros(8,16); -R(:,1:8) = A; -R(:,9:16) = eye(8); - -for k = (1:5) - for i=(k+1:8) - pivot = R(i,k); - R(i,:) = R(i,:) + pivot * R(k,:); - end - R = mod(R, 2) -end - -P = [ -1,0,0,0,0,0,0,0; -0,1,0,0,0,0,0,0; -0,0,1,0,0,0,0,0; -0,0,0,1,0,0,0,0; -0,0,0,0,1,0,0,0; -0,0,0,0,0,0,0,1; -0,0,0,0,0,1,0,0; -0,0,0,0,0,0,1,0; -] - -R = P * R - -for k = (8:-1:2) - for i = (1:k-1) - pivot = R(i,k); - R(i,:) = R(i,:) + pivot * R(k,:); - end - R = mod(R, 2) -end - -B = R(:,9:16) - -A * B +# +# sbox.m +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +A=[ +1,0,0,0,1,1,1,1; +1,1,0,0,0,1,1,1; +1,1,1,0,0,0,1,1; +1,1,1,1,0,0,0,1; +1,1,1,1,1,0,0,0; +0,1,1,1,1,1,0,0; +0,0,1,1,1,1,1,0; +0,0,0,1,1,1,1,1; +] + +R = zeros(8,16); +R(:,1:8) = A; +R(:,9:16) = eye(8); + +for k = (1:5) + for i=(k+1:8) + pivot = R(i,k); + R(i,:) = R(i,:) + pivot * R(k,:); + end + R = mod(R, 2) +end + +P = [ +1,0,0,0,0,0,0,0; +0,1,0,0,0,0,0,0; +0,0,1,0,0,0,0,0; +0,0,0,1,0,0,0,0; +0,0,0,0,1,0,0,0; +0,0,0,0,0,0,0,1; +0,0,0,0,0,1,0,0; +0,0,0,0,0,0,1,0; +] + +R = P * R + +for k = (8:-1:2) + for i = (1:k-1) + pivot = R(i,k); + R(i,:) = R(i,:) + pivot * R(k,:); + end + R = mod(R, 2) +end + +B = R(:,9:16) + +A * B diff --git a/buch/chapters/90-crypto/images/sbox.tex b/buch/chapters/90-crypto/images/sbox.tex index 41f8812..fefb823 100644 --- a/buch/chapters/90-crypto/images/sbox.tex +++ b/buch/chapters/90-crypto/images/sbox.tex @@ -1,241 +1,241 @@ -% -% sbox.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\def\s{0.2} -\def\punkt#1#2{({#1*\s},{(8-(#2))*\s})} - -\definecolor{b}{rgb}{0,0,0} -\definecolor{w}{rgb}{1,1,1} - -\def\feld#1#2#3{ - \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2-1)}; -} - -\def\zeile#1#2#3#4#5#6#7#8#9{ - \feld{0}{#1}{#2} - \feld{1}{#1}{#3} - \feld{2}{#1}{#4} - \feld{3}{#1}{#5} - \feld{4}{#1}{#6} - \feld{5}{#1}{#7} - \feld{6}{#1}{#8} - \feld{7}{#1}{#9} -} -\def\inverse#1#2#3#4#5#6#7#8#9{ - \feld{8}{#1}{#2} - \feld{9}{#1}{#3} - \feld{10}{#1}{#4} - \feld{11}{#1}{#5} - \feld{12}{#1}{#6} - \feld{13}{#1}{#7} - \feld{14}{#1}{#8} - \feld{15}{#1}{#9} -} -\def\rechteck{ - \draw (0,{1*\s}) rectangle ({16*\s},{(8+1)*\s}); - \draw ({8*\s},{1*\s}) -- ({8*\s},{(8+1)*\s}); -} - -\def\pivot#1#2{ - \draw[color=red,line width=1.2pt] - \punkt{(#1+\inset)}{(#2-\inset)} - rectangle - \punkt{(#1+1-\inset)}{(#2-1+\inset)}; -} -\def\inset{0.1} -\def\cleanup#1#2#3{ - \pgfmathparse{(#3-#2)/abs(#3-#2)} - \xdef\signum{\pgfmathresult} - \draw[color=blue!50,line width=1.2pt] - \punkt{(#1+\inset)}{#3} - -- - \punkt{(#1+\inset)}{(#2-1+\inset*\signum)} - -- - \punkt{(#1+1-\inset)}{(#2-1+\inset*\signum)} - -- - \punkt{(#1+1-\inset)}{#3} - ; -} - -\begin{scope} - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1bbwwwbbb \inverse1wbwwwwww - \zeile2bbbwwwbb \inverse2wwbwwwww - \zeile3bbbbwwwb \inverse3wwwbwwww - \zeile4bbbbbwww \inverse4wwwwbwww - \zeile5wbbbbbww \inverse5wwwwwbww - \zeile6wwbbbbbw \inverse6wwwwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{0}{0} - \cleanup{0}{1}{7} -\end{scope} - -\begin{scope}[xshift=4cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wbbwbbww \inverse2bwbwwwww - \zeile3wbbbbbbw \inverse3bwwbwwww - \zeile4wbbbwbbb \inverse4bwwwbwww - \zeile5wbbbbbww \inverse5wwwwwbww - \zeile6wwbbbbbw \inverse6wwwwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{1}{1} - \cleanup{1}{2}{7} -\end{scope} - -\begin{scope}[xshift=8cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwbbwbbw \inverse3wbwbwwww - \zeile4wwbbbbbb \inverse4wbwwbwww - \zeile5wwbbwbww \inverse5bbwwwbww - \zeile6wwbbbbbw \inverse6wwwwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{2}{2} - \cleanup{2}{3}{7} -\end{scope} - -\begin{scope}[xshift=12cm,yshift=0cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwbbwbb \inverse4wwbwbwww - \zeile5wwwbwwww \inverse5bwbwwbww - \zeile6wwwbbwbw \inverse6wbbwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{3}{3} - \cleanup{3}{4}{7} - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{8}{7} -- \punkt{8}{11}; -\end{scope} - -\begin{scope}[xshift=12cm,yshift=-2.4cm] - \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwwb \inverse4wwwbbwww - \zeile5wwwwwwbw \inverse5bwwbwbww - \zeile6wwwwbwww \inverse6wbwbwwbw - \zeile7wwwwbbwb \inverse7wwbbwwwb - \rechteck - \pivot{4}{4} - \cleanup{4}{5}{7} -\end{scope} - -\begin{scope}[xshift=8cm,yshift=-2.4cm] - \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwwb \inverse4wwwbbwww - \zeile5wwwwwwbw \inverse5bwwbwbww - \zeile6wwwwwwwb \inverse6wbwwbwbw - \zeile7wwwwwbww \inverse7wwbwbwwb - \rechteck -\end{scope} - -\begin{scope}[xshift=4cm,yshift=-2.4cm] - \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwwb \inverse4wwwbbwww - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{7}{7}{-1} -\end{scope} - -\begin{scope}[xshift=0cm,yshift=-2.4cm] - \zeile0bwwwbbbw \inverse0bbwwbwbw - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{6}{6}{-1} - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{8}{7} -- \punkt{8}{11}; -\end{scope} - -\begin{scope}[xshift=0cm,yshift=-4.8cm] - \zeile0bwwwbbww \inverse0wbwbbbbw - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwww \inverse3bwbwwbww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{5}{5}{-1} -\end{scope} - -\begin{scope}[xshift=4cm,yshift=-4.8cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbwww \inverse0wbbbwbbb - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwwww \inverse2wbwwbwwb - \zeile3wwwbwwww \inverse3bwbwwbww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{4}{4}{-1} -\end{scope} - -\begin{scope}[xshift=8cm,yshift=-4.8cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwwwww \inverse0wwbwwbwb - \zeile1wbwwwwww \inverse1bwwbwwbw - \zeile2wwbwwwww \inverse2wbwwbwwb - \zeile3wwwbwwww \inverse3bwbwwbww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% sbox.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\s{0.2} +\def\punkt#1#2{({#1*\s},{(8-(#2))*\s})} + +\definecolor{b}{rgb}{0,0,0} +\definecolor{w}{rgb}{1,1,1} + +\def\feld#1#2#3{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2-1)}; +} + +\def\zeile#1#2#3#4#5#6#7#8#9{ + \feld{0}{#1}{#2} + \feld{1}{#1}{#3} + \feld{2}{#1}{#4} + \feld{3}{#1}{#5} + \feld{4}{#1}{#6} + \feld{5}{#1}{#7} + \feld{6}{#1}{#8} + \feld{7}{#1}{#9} +} +\def\inverse#1#2#3#4#5#6#7#8#9{ + \feld{8}{#1}{#2} + \feld{9}{#1}{#3} + \feld{10}{#1}{#4} + \feld{11}{#1}{#5} + \feld{12}{#1}{#6} + \feld{13}{#1}{#7} + \feld{14}{#1}{#8} + \feld{15}{#1}{#9} +} +\def\rechteck{ + \draw (0,{1*\s}) rectangle ({16*\s},{(8+1)*\s}); + \draw ({8*\s},{1*\s}) -- ({8*\s},{(8+1)*\s}); +} + +\def\pivot#1#2{ + \draw[color=red,line width=1.2pt] + \punkt{(#1+\inset)}{(#2-\inset)} + rectangle + \punkt{(#1+1-\inset)}{(#2-1+\inset)}; +} +\def\inset{0.1} +\def\cleanup#1#2#3{ + \pgfmathparse{(#3-#2)/abs(#3-#2)} + \xdef\signum{\pgfmathresult} + \draw[color=blue!50,line width=1.2pt] + \punkt{(#1+\inset)}{#3} + -- + \punkt{(#1+\inset)}{(#2-1+\inset*\signum)} + -- + \punkt{(#1+1-\inset)}{(#2-1+\inset*\signum)} + -- + \punkt{(#1+1-\inset)}{#3} + ; +} + +\begin{scope} + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1bbwwwbbb \inverse1wbwwwwww + \zeile2bbbwwwbb \inverse2wwbwwwww + \zeile3bbbbwwwb \inverse3wwwbwwww + \zeile4bbbbbwww \inverse4wwwwbwww + \zeile5wbbbbbww \inverse5wwwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{0}{0} + \cleanup{0}{1}{7} +\end{scope} + +\begin{scope}[xshift=4cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wbbwbbww \inverse2bwbwwwww + \zeile3wbbbbbbw \inverse3bwwbwwww + \zeile4wbbbwbbb \inverse4bwwwbwww + \zeile5wbbbbbww \inverse5wwwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{1}{1} + \cleanup{1}{2}{7} +\end{scope} + +\begin{scope}[xshift=8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwbbwbbw \inverse3wbwbwwww + \zeile4wwbbbbbb \inverse4wbwwbwww + \zeile5wwbbwbww \inverse5bbwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{2}{2} + \cleanup{2}{3}{7} +\end{scope} + +\begin{scope}[xshift=12cm,yshift=0cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwbbwbb \inverse4wwbwbwww + \zeile5wwwbwwww \inverse5bwbwwbww + \zeile6wwwbbwbw \inverse6wbbwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{3}{3} + \cleanup{3}{4}{7} + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{8}{7} -- \punkt{8}{11}; +\end{scope} + +\begin{scope}[xshift=12cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwwbw \inverse5bwwbwbww + \zeile6wwwwbwww \inverse6wbwbwwbw + \zeile7wwwwbbwb \inverse7wwbbwwwb + \rechteck + \pivot{4}{4} + \cleanup{4}{5}{7} +\end{scope} + +\begin{scope}[xshift=8cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwwbw \inverse5bwwbwbww + \zeile6wwwwwwwb \inverse6wbwwbwbw + \zeile7wwwwwbww \inverse7wwbwbwwb + \rechteck +\end{scope} + +\begin{scope}[xshift=4cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{7}{7}{-1} +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-2.4cm] + \zeile0bwwwbbbw \inverse0bbwwbwbw + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{6}{6}{-1} + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{8}{7} -- \punkt{8}{11}; +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-4.8cm] + \zeile0bwwwbbww \inverse0wbwbbbbw + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{5}{5}{-1} +\end{scope} + +\begin{scope}[xshift=4cm,yshift=-4.8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbwww \inverse0wbbbwbbb + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwwww \inverse2wbwwbwwb + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{4}{4}{-1} +\end{scope} + +\begin{scope}[xshift=8cm,yshift=-4.8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwwwww \inverse0wwbwwbwb + \zeile1wbwwwwww \inverse1bwwbwwbw + \zeile2wwbwwwww \inverse2wbwwbwwb + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/schieberegister.tex b/buch/chapters/90-crypto/images/schieberegister.tex index 7c24e52..49302ac 100644 --- a/buch/chapters/90-crypto/images/schieberegister.tex +++ b/buch/chapters/90-crypto/images/schieberegister.tex @@ -1,120 +1,120 @@ -% -% schieberegister.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\def\s{0.8} - -\def\punkt#1#2{({#1*\s},{#2*\s})} - -\fill[color=blue!20] \punkt{0}{0} rectangle \punkt{8}{1}; - -\node at \punkt{0.5}{1} [above] {$X^7\mathstrut$}; -\node at \punkt{3}{1} [above] {$+\mathstrut$}; -\node at \punkt{3.5}{1} [above] {$X^4\mathstrut$}; -\node at \punkt{5}{1} [above] {$+\mathstrut$}; -\node at \punkt{5.5}{1} [above] {$X^2\mathstrut$}; -\node at \punkt{7}{1} [above] {$+\mathstrut$}; -\node at \punkt{7.5}{1} [above] {$1\mathstrut$}; - -\node at \punkt{0}{1} [above left] {\llap{$p(X)=\mathstrut$}}; - -\node at \punkt{0.5}{0.5} {\texttt{1}}; -\node at \punkt{1.5}{0.5} {\texttt{0}}; -\node at \punkt{2.5}{0.5} {\texttt{0}}; -\node at \punkt{3.5}{0.5} {\texttt{1}}; -\node at \punkt{4.5}{0.5} {\texttt{0}}; -\node at \punkt{5.5}{0.5} {\texttt{1}}; -\node at \punkt{6.5}{0.5} {\texttt{0}}; -\node at \punkt{7.5}{0.5} {\texttt{1}}; - -\draw \punkt{0}{0} rectangle \punkt{8}{1}; -\foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; -} - -\fill[color=blue!20] \punkt{-1}{-3} rectangle \punkt{7}{-2}; -\fill[color=darkgreen!20] \punkt{0}{-4} rectangle \punkt{8}{-3}; - -\node[color=darkgreen] at \punkt{-1}{-1.5} [left] - {$m(X) = X^8+X^4+X^3+X+1$}; - -\node[color=darkgreen] at \punkt{-1}{-2.7} [left] - {$\underbrace{X^4+X^3+X+1}_{}= X^8=\mathstrut$}; - -\coordinate (A) at ({-4.15*\s},{-3*\s}); -\coordinate (B) at ({0*\s},{-3.5*\s}); - -\draw[->,color=red,shorten >= 0.1cm] (A) to[out=-90,in=180] (B); -\node[color=red] at \punkt{-3.1}{-3.8} [below] {Feedback}; - -\node at \punkt{-0.5}{-2.5} {\texttt{1}}; -\node at \punkt{0.5}{-2.5} {\texttt{0}}; -\node at \punkt{1.5}{-2.5} {\texttt{0}}; -\node at \punkt{2.5}{-2.5} {\texttt{1}}; -\node at \punkt{3.5}{-2.5} {\texttt{0}}; -\node at \punkt{4.5}{-2.5} {\texttt{1}}; -\node at \punkt{5.5}{-2.5} {\texttt{0}}; -\node at \punkt{6.5}{-2.5} {\texttt{1}}; -\node at \punkt{7.5}{-2.5} {\texttt{0}}; - -\node[color=darkgreen] at \punkt{0.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{1.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{2.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{3.5}{-3.5} {\texttt{1}}; -\node[color=darkgreen] at \punkt{4.5}{-3.5} {\texttt{1}}; -\node[color=darkgreen] at \punkt{5.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{6.5}{-3.5} {\texttt{1}}; -\node[color=darkgreen] at \punkt{7.5}{-3.5} {\texttt{1}}; - -\draw \punkt{0}{-4} rectangle \punkt{8}{-2}; -\draw \punkt{0}{-3} -- \punkt{8}{-3}; -\foreach \x in {1,...,7}{ - \draw \punkt{\x}{-4} -- \punkt{\x}{-2}; -} - -\foreach \x in {0.5,1.5,...,7.5}{ - \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.9}; -} - -\draw \punkt{0}{-6} rectangle \punkt{8}{-5}; -\foreach \x in {1,...,7}{ - \draw \punkt{\x}{-6} -- \punkt{\x}{-5}; -} - -\node at \punkt{0.5}{-5.5} {\texttt{0}}; -\node at \punkt{1.5}{-5.5} {\texttt{0}}; -\node at \punkt{2.5}{-5.5} {\texttt{1}}; -\node at \punkt{3.5}{-5.5} {\texttt{1}}; -\node at \punkt{4.5}{-5.5} {\texttt{0}}; -\node at \punkt{5.5}{-5.5} {\texttt{0}}; -\node at \punkt{6.5}{-5.5} {\texttt{0}}; -\node at \punkt{7.5}{-5.5} {\texttt{1}}; - -\node at \punkt{4}{-4.5} {$\|$}; - -\node at \punkt{10.3}{-3} [left] - {$\left.\begin{matrix}\\ \\ \\ \end{matrix}\right\} + = \text{XOR}$}; - -\draw[<-,shorten >= 0.1cm, shorten <= 0.1cm] - \punkt{8.0}{-2.0} arc (-30:30:{2.0*\s}); -\node at \punkt{8.3}{-1} [right] {$\mathstrut \cdot X$}; - -\node at \punkt{8.1}{-5.5} [right] {$=X\cdot p(X)\mathstrut$}; - -\end{tikzpicture} -\end{document} - +% +% schieberegister.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.8} + +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\fill[color=blue!20] \punkt{0}{0} rectangle \punkt{8}{1}; + +\node at \punkt{0.5}{1} [above] {$X^7\mathstrut$}; +\node at \punkt{3}{1} [above] {$+\mathstrut$}; +\node at \punkt{3.5}{1} [above] {$X^4\mathstrut$}; +\node at \punkt{5}{1} [above] {$+\mathstrut$}; +\node at \punkt{5.5}{1} [above] {$X^2\mathstrut$}; +\node at \punkt{7}{1} [above] {$+\mathstrut$}; +\node at \punkt{7.5}{1} [above] {$1\mathstrut$}; + +\node at \punkt{0}{1} [above left] {\llap{$p(X)=\mathstrut$}}; + +\node at \punkt{0.5}{0.5} {\texttt{1}}; +\node at \punkt{1.5}{0.5} {\texttt{0}}; +\node at \punkt{2.5}{0.5} {\texttt{0}}; +\node at \punkt{3.5}{0.5} {\texttt{1}}; +\node at \punkt{4.5}{0.5} {\texttt{0}}; +\node at \punkt{5.5}{0.5} {\texttt{1}}; +\node at \punkt{6.5}{0.5} {\texttt{0}}; +\node at \punkt{7.5}{0.5} {\texttt{1}}; + +\draw \punkt{0}{0} rectangle \punkt{8}{1}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; +} + +\fill[color=blue!20] \punkt{-1}{-3} rectangle \punkt{7}{-2}; +\fill[color=darkgreen!20] \punkt{0}{-4} rectangle \punkt{8}{-3}; + +\node[color=darkgreen] at \punkt{-1}{-1.5} [left] + {$m(X) = X^8+X^4+X^3+X+1$}; + +\node[color=darkgreen] at \punkt{-1}{-2.7} [left] + {$\underbrace{X^4+X^3+X+1}_{}= X^8=\mathstrut$}; + +\coordinate (A) at ({-4.15*\s},{-3*\s}); +\coordinate (B) at ({0*\s},{-3.5*\s}); + +\draw[->,color=red,shorten >= 0.1cm] (A) to[out=-90,in=180] (B); +\node[color=red] at \punkt{-3.1}{-3.8} [below] {Feedback}; + +\node at \punkt{-0.5}{-2.5} {\texttt{1}}; +\node at \punkt{0.5}{-2.5} {\texttt{0}}; +\node at \punkt{1.5}{-2.5} {\texttt{0}}; +\node at \punkt{2.5}{-2.5} {\texttt{1}}; +\node at \punkt{3.5}{-2.5} {\texttt{0}}; +\node at \punkt{4.5}{-2.5} {\texttt{1}}; +\node at \punkt{5.5}{-2.5} {\texttt{0}}; +\node at \punkt{6.5}{-2.5} {\texttt{1}}; +\node at \punkt{7.5}{-2.5} {\texttt{0}}; + +\node[color=darkgreen] at \punkt{0.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{1.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{2.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{3.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{4.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{5.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{6.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{7.5}{-3.5} {\texttt{1}}; + +\draw \punkt{0}{-4} rectangle \punkt{8}{-2}; +\draw \punkt{0}{-3} -- \punkt{8}{-3}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{-4} -- \punkt{\x}{-2}; +} + +\foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.9}; +} + +\draw \punkt{0}{-6} rectangle \punkt{8}{-5}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{-6} -- \punkt{\x}{-5}; +} + +\node at \punkt{0.5}{-5.5} {\texttt{0}}; +\node at \punkt{1.5}{-5.5} {\texttt{0}}; +\node at \punkt{2.5}{-5.5} {\texttt{1}}; +\node at \punkt{3.5}{-5.5} {\texttt{1}}; +\node at \punkt{4.5}{-5.5} {\texttt{0}}; +\node at \punkt{5.5}{-5.5} {\texttt{0}}; +\node at \punkt{6.5}{-5.5} {\texttt{0}}; +\node at \punkt{7.5}{-5.5} {\texttt{1}}; + +\node at \punkt{4}{-4.5} {$\|$}; + +\node at \punkt{10.3}{-3} [left] + {$\left.\begin{matrix}\\ \\ \\ \end{matrix}\right\} + = \text{XOR}$}; + +\draw[<-,shorten >= 0.1cm, shorten <= 0.1cm] + \punkt{8.0}{-2.0} arc (-30:30:{2.0*\s}); +\node at \punkt{8.3}{-1} [right] {$\mathstrut \cdot X$}; + +\node at \punkt{8.1}{-5.5} [right] {$=X\cdot p(X)\mathstrut$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/shift.tex b/buch/chapters/90-crypto/images/shift.tex index bcdf819..af225a7 100644 --- a/buch/chapters/90-crypto/images/shift.tex +++ b/buch/chapters/90-crypto/images/shift.tex @@ -1,131 +1,131 @@ -% -% shift.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\def\s{0.8} -\def\punkt#1#2{({#1*\s},{#2*\s})} - -\def\feld#1#2#3#4{ - \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+1)}; - \node at \punkt{(#1+0.5)}{(#2+0.5)} {$\mathstrut #4$}; -} -\def\gitter{ - \draw \punkt{0}{0} rectangle \punkt{8}{4}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{4}; - } - \foreach \y in {1,...,3}{ - \draw \punkt{0}{\y} -- \punkt{8}{\y}; - } -} - -\begin{scope} - \feld{0}{3}{red!20}{b_{0}} - \feld{0}{2}{red!20}{b_{1}} - \feld{0}{1}{red!20}{b_{2}} - \feld{0}{0}{red!20}{b_{3}} - - \feld{1}{3}{red!10}{b_{4}} - \feld{1}{2}{red!10}{b_{5}} - \feld{1}{1}{red!10}{b_{6}} - \feld{1}{0}{red!10}{b_{7}} - - \feld{2}{3}{yellow!20}{b_{8}} - \feld{2}{2}{yellow!20}{b_{9}} - \feld{2}{1}{yellow!20}{b_{10}} - \feld{2}{0}{yellow!20}{b_{11}} - - \feld{3}{3}{yellow!10}{b_{12}} - \feld{3}{2}{yellow!10}{b_{13}} - \feld{3}{1}{yellow!10}{b_{14}} - \feld{3}{0}{yellow!10}{b_{15}} - - \feld{4}{3}{darkgreen!20}{b_{16}} - \feld{4}{2}{darkgreen!20}{b_{17}} - \feld{4}{1}{darkgreen!20}{b_{18}} - \feld{4}{0}{darkgreen!20}{b_{19}} - - \feld{5}{3}{darkgreen!10}{b_{20}} - \feld{5}{2}{darkgreen!10}{b_{21}} - \feld{5}{1}{darkgreen!10}{b_{22}} - \feld{5}{0}{darkgreen!10}{b_{23}} - - \feld{6}{3}{blue!20}{b_{24}} - \feld{6}{2}{blue!20}{b_{25}} - \feld{6}{1}{blue!20}{b_{26}} - \feld{6}{0}{blue!20}{b_{27}} - - \feld{7}{3}{blue!10}{b_{28}} - \feld{7}{2}{blue!10}{b_{29}} - \feld{7}{1}{blue!10}{b_{30}} - \feld{7}{0}{blue!10}{b_{31}} - - \gitter - - \draw[->] \punkt{8.1}{2} -- \punkt{9.3}{2}; -\end{scope} - - -\begin{scope}[xshift=7.5cm] - - \feld{0}{3}{red!20}{b_{0}} - \feld{1}{2}{red!20}{b_{1}} - \feld{2}{1}{red!20}{b_{2}} - \feld{3}{0}{red!20}{b_{3}} - - \feld{1}{3}{red!10}{b_{4}} - \feld{2}{2}{red!10}{b_{5}} - \feld{3}{1}{red!10}{b_{6}} - \feld{4}{0}{red!10}{b_{7}} - - \feld{2}{3}{yellow!20}{b_{8}} - \feld{3}{2}{yellow!20}{b_{9}} - \feld{4}{1}{yellow!20}{b_{10}} - \feld{5}{0}{yellow!20}{b_{11}} - - \feld{3}{3}{yellow!10}{b_{12}} - \feld{4}{2}{yellow!10}{b_{13}} - \feld{5}{1}{yellow!10}{b_{14}} - \feld{6}{0}{yellow!10}{b_{15}} - - \feld{4}{3}{darkgreen!20}{b_{16}} - \feld{5}{2}{darkgreen!20}{b_{17}} - \feld{6}{1}{darkgreen!20}{b_{18}} - \feld{7}{0}{darkgreen!20}{b_{19}} - - \feld{5}{3}{darkgreen!10}{b_{20}} - \feld{6}{2}{darkgreen!10}{b_{21}} - \feld{7}{1}{darkgreen!10}{b_{22}} - \feld{0}{0}{darkgreen!10}{b_{23}} - - \feld{6}{3}{blue!20}{b_{24}} - \feld{7}{2}{blue!20}{b_{25}} - \feld{0}{1}{blue!20}{b_{26}} - \feld{1}{0}{blue!20}{b_{27}} - - \feld{7}{3}{blue!10}{b_{28}} - \feld{0}{2}{blue!10}{b_{29}} - \feld{1}{1}{blue!10}{b_{30}} - \feld{2}{0}{blue!10}{b_{31}} - - \gitter - -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% shift.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.8} +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\def\feld#1#2#3#4{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+1)}; + \node at \punkt{(#1+0.5)}{(#2+0.5)} {$\mathstrut #4$}; +} +\def\gitter{ + \draw \punkt{0}{0} rectangle \punkt{8}{4}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{4}; + } + \foreach \y in {1,...,3}{ + \draw \punkt{0}{\y} -- \punkt{8}{\y}; + } +} + +\begin{scope} + \feld{0}{3}{red!20}{b_{0}} + \feld{0}{2}{red!20}{b_{1}} + \feld{0}{1}{red!20}{b_{2}} + \feld{0}{0}{red!20}{b_{3}} + + \feld{1}{3}{red!10}{b_{4}} + \feld{1}{2}{red!10}{b_{5}} + \feld{1}{1}{red!10}{b_{6}} + \feld{1}{0}{red!10}{b_{7}} + + \feld{2}{3}{yellow!20}{b_{8}} + \feld{2}{2}{yellow!20}{b_{9}} + \feld{2}{1}{yellow!20}{b_{10}} + \feld{2}{0}{yellow!20}{b_{11}} + + \feld{3}{3}{yellow!10}{b_{12}} + \feld{3}{2}{yellow!10}{b_{13}} + \feld{3}{1}{yellow!10}{b_{14}} + \feld{3}{0}{yellow!10}{b_{15}} + + \feld{4}{3}{darkgreen!20}{b_{16}} + \feld{4}{2}{darkgreen!20}{b_{17}} + \feld{4}{1}{darkgreen!20}{b_{18}} + \feld{4}{0}{darkgreen!20}{b_{19}} + + \feld{5}{3}{darkgreen!10}{b_{20}} + \feld{5}{2}{darkgreen!10}{b_{21}} + \feld{5}{1}{darkgreen!10}{b_{22}} + \feld{5}{0}{darkgreen!10}{b_{23}} + + \feld{6}{3}{blue!20}{b_{24}} + \feld{6}{2}{blue!20}{b_{25}} + \feld{6}{1}{blue!20}{b_{26}} + \feld{6}{0}{blue!20}{b_{27}} + + \feld{7}{3}{blue!10}{b_{28}} + \feld{7}{2}{blue!10}{b_{29}} + \feld{7}{1}{blue!10}{b_{30}} + \feld{7}{0}{blue!10}{b_{31}} + + \gitter + + \draw[->] \punkt{8.1}{2} -- \punkt{9.3}{2}; +\end{scope} + + +\begin{scope}[xshift=7.5cm] + + \feld{0}{3}{red!20}{b_{0}} + \feld{1}{2}{red!20}{b_{1}} + \feld{2}{1}{red!20}{b_{2}} + \feld{3}{0}{red!20}{b_{3}} + + \feld{1}{3}{red!10}{b_{4}} + \feld{2}{2}{red!10}{b_{5}} + \feld{3}{1}{red!10}{b_{6}} + \feld{4}{0}{red!10}{b_{7}} + + \feld{2}{3}{yellow!20}{b_{8}} + \feld{3}{2}{yellow!20}{b_{9}} + \feld{4}{1}{yellow!20}{b_{10}} + \feld{5}{0}{yellow!20}{b_{11}} + + \feld{3}{3}{yellow!10}{b_{12}} + \feld{4}{2}{yellow!10}{b_{13}} + \feld{5}{1}{yellow!10}{b_{14}} + \feld{6}{0}{yellow!10}{b_{15}} + + \feld{4}{3}{darkgreen!20}{b_{16}} + \feld{5}{2}{darkgreen!20}{b_{17}} + \feld{6}{1}{darkgreen!20}{b_{18}} + \feld{7}{0}{darkgreen!20}{b_{19}} + + \feld{5}{3}{darkgreen!10}{b_{20}} + \feld{6}{2}{darkgreen!10}{b_{21}} + \feld{7}{1}{darkgreen!10}{b_{22}} + \feld{0}{0}{darkgreen!10}{b_{23}} + + \feld{6}{3}{blue!20}{b_{24}} + \feld{7}{2}{blue!20}{b_{25}} + \feld{0}{1}{blue!20}{b_{26}} + \feld{1}{0}{blue!20}{b_{27}} + + \feld{7}{3}{blue!10}{b_{28}} + \feld{0}{2}{blue!10}{b_{29}} + \feld{1}{1}{blue!10}{b_{30}} + \feld{2}{0}{blue!10}{b_{31}} + + \gitter + +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/uebungsaufgaben/9001.tex b/buch/chapters/90-crypto/uebungsaufgaben/9001.tex index 7ed1e57..9cda25e 100644 --- a/buch/chapters/90-crypto/uebungsaufgaben/9001.tex +++ b/buch/chapters/90-crypto/uebungsaufgaben/9001.tex @@ -1,31 +1,31 @@ -$A$ und $B$ einigen sich darauf, das Diffie-Hellman-Verfahren für -$p=2027$ durchzuführen und mit $g=3$ zu arbeiten. -$A$ verwenden $a=49$ als privaten Schlüssel und erhält von $B$ -den öffentlichen Schlüssel $y=1772$. -Welchen gemeinsamen Schlüssel verwenden $A$ und $B$? - -\begin{loesung} -Der zu verwendende gemeinsame Schlüssel ist -$g^{ab}=(g^b)^a = y^a\in\mathbb{F}_{2027}$. -Diese Potenz kann man mit dem Divide-and-Conquer-Algorithmus effizient -berechnen. -Die Binärdarstellung des privaten Schlüssels von $A$ ist -$a=49_{10}=\texttt{110001}_2$. -Der Algorithmus verläuft wie folgt: -\begin{center} -\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} -\hline -i&g^{2^i}&a_i& x\\ -\hline -0& 3& 1& 3\\ -1& 9& 0& 3\\ -2& 81& 0& 3\\ -3& 480& 0& 3\\ -4& 1349& 1& 2020\\ -5& 1582& 1& 1088\\ -\hline -\end{tabular} -\end{center} -Der gemeinsame Schlüssel ist daher $s=1088$. -\end{loesung} - +$A$ und $B$ einigen sich darauf, das Diffie-Hellman-Verfahren für +$p=2027$ durchzuführen und mit $g=3$ zu arbeiten. +$A$ verwenden $a=49$ als privaten Schlüssel und erhält von $B$ +den öffentlichen Schlüssel $y=1772$. +Welchen gemeinsamen Schlüssel verwenden $A$ und $B$? + +\begin{loesung} +Der zu verwendende gemeinsame Schlüssel ist +$g^{ab}=(g^b)^a = y^a\in\mathbb{F}_{2027}$. +Diese Potenz kann man mit dem Divide-and-Conquer-Algorithmus effizient +berechnen. +Die Binärdarstellung des privaten Schlüssels von $A$ ist +$a=49_{10}=\texttt{110001}_2$. +Der Algorithmus verläuft wie folgt: +\begin{center} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} +\hline +i&g^{2^i}&a_i& x\\ +\hline +0& 3& 1& 3\\ +1& 9& 0& 3\\ +2& 81& 0& 3\\ +3& 480& 0& 3\\ +4& 1349& 1& 2020\\ +5& 1582& 1& 1088\\ +\hline +\end{tabular} +\end{center} +Der gemeinsame Schlüssel ist daher $s=1088$. +\end{loesung} + diff --git a/buch/chapters/references.bib b/buch/chapters/references.bib index a4579e7..dc95e7e 100644 --- a/buch/chapters/references.bib +++ b/buch/chapters/references.bib @@ -1,135 +1,135 @@ -% -% references.bib -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% - -@article{BRIN1998107, -title = "The anatomy of a large-scale hypertextual Web search engine", -journal = "Computer Networks and ISDN Systems", -volume = "30", -number = "1", -pages = "107 - 117", -year = "1998", -note = "Proceedings of the Seventh International World Wide Web Conference", -issn = "0169-7552", -doi = "https://doi.org/10.1016/S0169-7552(98)00110-X", -url = "http://www.sciencedirect.com/science/article/pii/S016975529800110X", -author = "Sergey Brin and Lawrence Page", -keywords = "World Wide Web, Search engines, Information retrieval, PageRank, Google", -abstract = "In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems. The prototype with a full text and hyperlink database of at least 24 million pages is available at http://google.stanford.edu/ To engineer a search engine is a challenging task. Search engines index tens to hundreds of millions of Web pages involving a comparable number of distinct terms. They answer tens of millions of queries every day. Despite the importance of large-scale search engines on the Web, very little academic research has been done on them. Furthermore, due to rapid advance in technology and Web proliferation, creating a Web search engine today is very different from three years ago. This paper provides an in-depth description of our large-scale Web search engine — the first such detailed public description we know of to date. Apart from the problems of scaling traditional search techniques to data of this magnitude, there are new technical challenges involved with using the additional information present in hypertext to produce better search results. This paper addresses this question of how to build a practical large-scale system which can exploit the additional information present in hypertext. Also we look at the problem of how to effectively deal with uncontrolled hypertext collections where anyone can publish anything they want." -} - - -@book{buch:mathsem-dgl, - title = {Mathematisches Seminar Differentialgleichungen}, - author = { Andreas M"uller and others }, - year = {2016}, -} - -@online{buch:fftw, - title = {Fastest Fourier Transform in the West}, - url = {http://www.fftw.org/}, - DAY = {23}, - MONTH = {july}, - YEAR = 2018 -} - -@online{buch:repo, - subtitle = {Source Code Repository}, - author = {Andreas Müller}, - url = {https://github.com/AndreasFMueller/SeminarNumerik.git}, - DAY = 6, - MONTH = {february}, - YEAR = 2020 -} - -@book{buch:henrici, - author = {Peter Henrici}, - title = {Essentials of numerical analysis}, - subtitle = {With pocket calculator demonstrations}, - year = 1982, - publisher = {John Wiley and Sons, Inc.}, - isbn = {0-471-05904-8} -} - -@online{buch:tartaglia, - title = {Niccolò Tartaglia}, - url = {https://de.wikipedia.org/wiki/Niccolò_Tartaglia}, - date = {2020-02-06}, - year = {2020}, - month = {2}, - day = {6} -} - -@online{buch:kahan-summation, - title = {Kahan summation algorithm}, - url = {https://en.wikipedia.org/wiki/Kahan_summation_algorithm}, - date = {2020-02-29}, - year = {2020}, - month = {2}, - day = {29} -} - -@book{buch:watkins, - title = {Fundamentals of Matrix Computations}, - author = {David S. Watkins}, - year = 2010, - publisher = {John Wiley and Sons, Inc.}, - edition = {3} -} - -@online{buch:lissajous, - title = {Makeing Shapes with PSLab Oscilloscope}, - author = {CloudyPadmal}, - url = {https://blog.fossasia.org/making-shapes-with-pslab-oscilloscope/}, - DAY = 7, - month = 3, - year = 2020 -} -@book{buch:richardson, - title = {The emergence of numerical weather prediction: Richardson's dream}, - author = {Peter Lynch}, - year = 2006, - publisher = {Cambridge University Press}, - isbn = {978-0-52-185729-1} -} - -@book{buch:dieudonne, - title={Foundations of Modern Analysis}, - author={Jean Dieudonn{\'e}}, - number={Vol. 1}, - lccn={60008049}, - series={Dieudonn{\'e}, Jean: Treatise on analysis}, - year={1960}, - publisher={Academic Press} -} - -@book{buch:ebbinghaus, - title = {Zahlen}, - year = 1983, - inseries = {Grundwissen Mathematik}, - volume = 1, - publisher = {Springer-Verlag}, - author = { Hans-Dieter Ebbinghaus et al }, - isbn = { 3-540-12666-X } -} - -@online{buch:primitivepolynomiallist, - title = {Primitive Polynomial List}, - url = {https://www.partow.net/programming/polynomials/index.html}, - day = 8, - month = 3, - year = 2021 -} - -@book{skript:landaulifschitz1, - author = {Landau, L. D. and Lifschitz, E. M.}, - title = {Mechanik}, - series = {Lehrbuch der theoretischen Physik}, - volume = {1}, - publisher = {Akademie-Verlag}, - year = {1981}, - language = {german}, -} - +% +% references.bib +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% + +@article{BRIN1998107, +title = "The anatomy of a large-scale hypertextual Web search engine", +journal = "Computer Networks and ISDN Systems", +volume = "30", +number = "1", +pages = "107 - 117", +year = "1998", +note = "Proceedings of the Seventh International World Wide Web Conference", +issn = "0169-7552", +doi = "https://doi.org/10.1016/S0169-7552(98)00110-X", +url = "http://www.sciencedirect.com/science/article/pii/S016975529800110X", +author = "Sergey Brin and Lawrence Page", +keywords = "World Wide Web, Search engines, Information retrieval, PageRank, Google", +abstract = "In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems. The prototype with a full text and hyperlink database of at least 24 million pages is available at http://google.stanford.edu/ To engineer a search engine is a challenging task. Search engines index tens to hundreds of millions of Web pages involving a comparable number of distinct terms. They answer tens of millions of queries every day. Despite the importance of large-scale search engines on the Web, very little academic research has been done on them. Furthermore, due to rapid advance in technology and Web proliferation, creating a Web search engine today is very different from three years ago. This paper provides an in-depth description of our large-scale Web search engine — the first such detailed public description we know of to date. Apart from the problems of scaling traditional search techniques to data of this magnitude, there are new technical challenges involved with using the additional information present in hypertext to produce better search results. This paper addresses this question of how to build a practical large-scale system which can exploit the additional information present in hypertext. Also we look at the problem of how to effectively deal with uncontrolled hypertext collections where anyone can publish anything they want." +} + + +@book{buch:mathsem-dgl, + title = {Mathematisches Seminar Differentialgleichungen}, + author = { Andreas M"uller and others }, + year = {2016}, +} + +@online{buch:fftw, + title = {Fastest Fourier Transform in the West}, + url = {http://www.fftw.org/}, + DAY = {23}, + MONTH = {july}, + YEAR = 2018 +} + +@online{buch:repo, + subtitle = {Source Code Repository}, + author = {Andreas Müller}, + url = {https://github.com/AndreasFMueller/SeminarNumerik.git}, + DAY = 6, + MONTH = {february}, + YEAR = 2020 +} + +@book{buch:henrici, + author = {Peter Henrici}, + title = {Essentials of numerical analysis}, + subtitle = {With pocket calculator demonstrations}, + year = 1982, + publisher = {John Wiley and Sons, Inc.}, + isbn = {0-471-05904-8} +} + +@online{buch:tartaglia, + title = {Niccolò Tartaglia}, + url = {https://de.wikipedia.org/wiki/Niccolò_Tartaglia}, + date = {2020-02-06}, + year = {2020}, + month = {2}, + day = {6} +} + +@online{buch:kahan-summation, + title = {Kahan summation algorithm}, + url = {https://en.wikipedia.org/wiki/Kahan_summation_algorithm}, + date = {2020-02-29}, + year = {2020}, + month = {2}, + day = {29} +} + +@book{buch:watkins, + title = {Fundamentals of Matrix Computations}, + author = {David S. Watkins}, + year = 2010, + publisher = {John Wiley and Sons, Inc.}, + edition = {3} +} + +@online{buch:lissajous, + title = {Makeing Shapes with PSLab Oscilloscope}, + author = {CloudyPadmal}, + url = {https://blog.fossasia.org/making-shapes-with-pslab-oscilloscope/}, + DAY = 7, + month = 3, + year = 2020 +} +@book{buch:richardson, + title = {The emergence of numerical weather prediction: Richardson's dream}, + author = {Peter Lynch}, + year = 2006, + publisher = {Cambridge University Press}, + isbn = {978-0-52-185729-1} +} + +@book{buch:dieudonne, + title={Foundations of Modern Analysis}, + author={Jean Dieudonn{\'e}}, + number={Vol. 1}, + lccn={60008049}, + series={Dieudonn{\'e}, Jean: Treatise on analysis}, + year={1960}, + publisher={Academic Press} +} + +@book{buch:ebbinghaus, + title = {Zahlen}, + year = 1983, + inseries = {Grundwissen Mathematik}, + volume = 1, + publisher = {Springer-Verlag}, + author = { Hans-Dieter Ebbinghaus et al }, + isbn = { 3-540-12666-X } +} + +@online{buch:primitivepolynomiallist, + title = {Primitive Polynomial List}, + url = {https://www.partow.net/programming/polynomials/index.html}, + day = 8, + month = 3, + year = 2021 +} + +@book{skript:landaulifschitz1, + author = {Landau, L. D. and Lifschitz, E. M.}, + title = {Mechanik}, + series = {Lehrbuch der theoretischen Physik}, + volume = {1}, + publisher = {Akademie-Verlag}, + year = {1981}, + language = {german}, +} + diff --git a/buch/test3.tex b/buch/test3.tex index 71b1529..977f345 100644 --- a/buch/test3.tex +++ b/buch/test3.tex @@ -1,91 +1,91 @@ -% -% test3.tex -- Test 3 -% -% (c) 2021 Prof. Dr. Andreas Mueller, OST -% -%\documentclass[a4paper,12pt]{book} -\documentclass[a4paper,12pt]{article} -\usepackage{geometry} -\geometry{papersize={210mm,297mm},total={165mm,260mm}} -\usepackage{ngerman} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{times} -\usepackage{amsmath} -\usepackage{amssymb} -\usepackage{amsfonts} -\usepackage{amsthm} -\usepackage{graphicx} -\usepackage{fancyhdr} -\usepackage{textcomp} -\usepackage[all]{xy} -\usepackage{txfonts} -\usepackage{alltt} -\usepackage{verbatim} -\usepackage{paralist} -\usepackage{makeidx} -\usepackage{array} -\usepackage{hyperref} -\usepackage{caption} -\usepackage{subcaption} -\usepackage{standalone} -\usepackage{environ} -\usepackage{tikz} -\input{../common/linsys.tex} -\newcounter{beispiel} -\newenvironment{beispiele}{ -\bgroup\smallskip\parindent0pt\bf Beispiele\egroup - -\begin{list}{\arabic{beispiel}.} - {\usecounter{beispiel} - \setlength{\labelsep}{5mm} - \setlength{\rightmargin}{0pt} -}}{\end{list}} -\newcounter{uebungsaufgabe} -% environment fuer uebungsaufgaben -\newenvironment{uebungsaufgaben}{ -\begin{list}{\arabic{uebungsaufgabe}.} - {\usecounter{uebungsaufgabe} - \setlength{\labelwidth}{2cm} - \setlength{\leftmargin}{0pt} - \setlength{\labelsep}{5mm} - \setlength{\rightmargin}{0pt} - \setlength{\itemindent}{0pt} -}}{\end{list}\vfill\pagebreak} -\newenvironment{teilaufgaben}{ -\begin{enumerate} -\renewcommand{\labelenumi}{\alph{enumi})} -}{\end{enumerate}} -% Loesung -\NewEnviron{loesung}{% -\begin{proof}[Lösung]% -\renewcommand{\qedsymbol}{$\bigcirc$} -\BODY -\end{proof}} -\NewEnviron{bewertung}{\relax} -\NewEnviron{diskussion}{ -\BODY -} -\RenewEnviron{loesung}{\relax} -\RenewEnviron{diskussion}{\relax} -\newenvironment{hinweis}{% -\renewcommand{\qedsymbol}{} -\begin{proof}[Hinweis]}{\end{proof}} - -\begin{document} -{\parindent0pt\hbox to\hsize{% -Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} -\vspace{0.5cm} - -\section*{Kurztest 3} - -\begin{uebungsaufgaben} - -\item -\input chapters/60-gruppen/uebungsaufgaben/6001.tex -%\item -%\input chapters/60-gruppen/uebungsaufgaben/6002.tex - -\end{uebungsaufgaben} - -\end{document} +% +% test3.tex -- Test 3 +% +% (c) 2021 Prof. Dr. Andreas Mueller, OST +% +%\documentclass[a4paper,12pt]{book} +\documentclass[a4paper,12pt]{article} +\usepackage{geometry} +\geometry{papersize={210mm,297mm},total={165mm,260mm}} +\usepackage{ngerman} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{times} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{amsfonts} +\usepackage{amsthm} +\usepackage{graphicx} +\usepackage{fancyhdr} +\usepackage{textcomp} +\usepackage[all]{xy} +\usepackage{txfonts} +\usepackage{alltt} +\usepackage{verbatim} +\usepackage{paralist} +\usepackage{makeidx} +\usepackage{array} +\usepackage{hyperref} +\usepackage{caption} +\usepackage{subcaption} +\usepackage{standalone} +\usepackage{environ} +\usepackage{tikz} +\input{../common/linsys.tex} +\newcounter{beispiel} +\newenvironment{beispiele}{ +\bgroup\smallskip\parindent0pt\bf Beispiele\egroup + +\begin{list}{\arabic{beispiel}.} + {\usecounter{beispiel} + \setlength{\labelsep}{5mm} + \setlength{\rightmargin}{0pt} +}}{\end{list}} +\newcounter{uebungsaufgabe} +% environment fuer uebungsaufgaben +\newenvironment{uebungsaufgaben}{ +\begin{list}{\arabic{uebungsaufgabe}.} + {\usecounter{uebungsaufgabe} + \setlength{\labelwidth}{2cm} + \setlength{\leftmargin}{0pt} + \setlength{\labelsep}{5mm} + \setlength{\rightmargin}{0pt} + \setlength{\itemindent}{0pt} +}}{\end{list}\vfill\pagebreak} +\newenvironment{teilaufgaben}{ +\begin{enumerate} +\renewcommand{\labelenumi}{\alph{enumi})} +}{\end{enumerate}} +% Loesung +\NewEnviron{loesung}{% +\begin{proof}[Lösung]% +\renewcommand{\qedsymbol}{$\bigcirc$} +\BODY +\end{proof}} +\NewEnviron{bewertung}{\relax} +\NewEnviron{diskussion}{ +\BODY +} +\RenewEnviron{loesung}{\relax} +\RenewEnviron{diskussion}{\relax} +\newenvironment{hinweis}{% +\renewcommand{\qedsymbol}{} +\begin{proof}[Hinweis]}{\end{proof}} + +\begin{document} +{\parindent0pt\hbox to\hsize{% +Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} +\vspace{0.5cm} + +\section*{Kurztest 3} + +\begin{uebungsaufgaben} + +\item +\input chapters/60-gruppen/uebungsaufgaben/6001.tex +%\item +%\input chapters/60-gruppen/uebungsaufgaben/6002.tex + +\end{uebungsaufgaben} + +\end{document} -- cgit v1.2.1 From 96c61feb021015cb3e5a2ae74ed7fd64236da8cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 13 Apr 2021 08:56:40 +0200 Subject: add experiment to reedsolomon --- buch/papers/reedsolomon/experiments/f.m | 56 +++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 buch/papers/reedsolomon/experiments/f.m (limited to 'buch') diff --git a/buch/papers/reedsolomon/experiments/f.m b/buch/papers/reedsolomon/experiments/f.m new file mode 100644 index 0000000..ba58825 --- /dev/null +++ b/buch/papers/reedsolomon/experiments/f.m @@ -0,0 +1,56 @@ +# +# f.m -- Reed-Solomon-Visualisierung mit FFT +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +N = 64; +b = 32; +l = N + b; + +signal = zeros(l,1); +signal(1:N,1) = round(10 * rand(N,1)); +signal + +codiert = fft(signal) + +plot(abs(signal)); +xlim([1, l]); +title("Signal"); +pause() + +fehler = zeros(l,1); +fehler(21,1) = 2; +fehler(75,1) = 1; +fehler(7,1) = 2; + +plot(fehler); +xlim([1, l]); +title("Fehler"); +pause() + +empfangen = codiert + fehler; + +plot(abs(empfangen)); +xlim([1, l]); +title("Empfangen"); +pause() + +decodiert = ifft(empfangen) +plot(abs(decodiert)); +xlim([1, l]); +title("Decodiert"); +pause() + +syndrom = decodiert; +syndrom(1:N,1) = zeros(N,1) +plot(abs(syndrom)); +xlim([1, l]); +title("Syndrom"); +pause() + +locator = abs(fft(syndrom)) + +plot(locator); +xlim([1, l]); +title("Locator"); +pause() -- cgit v1.2.1 From 516b6c8a4d7672a13847d1fb71be2df213459d3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 13 Apr 2021 09:47:35 +0200 Subject: update fs-fft --- buch/papers/reedsolomon/experiments/f.m | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/experiments/f.m b/buch/papers/reedsolomon/experiments/f.m index ba58825..6bdc741 100644 --- a/buch/papers/reedsolomon/experiments/f.m +++ b/buch/papers/reedsolomon/experiments/f.m @@ -11,13 +11,18 @@ signal = zeros(l,1); signal(1:N,1) = round(10 * rand(N,1)); signal -codiert = fft(signal) - plot(abs(signal)); xlim([1, l]); title("Signal"); pause() +codiert = fft(signal) + +plot(abs(codiert)); +xlim([1, l]); +title("Codiert"); +pause() + fehler = zeros(l,1); fehler(21,1) = 2; fehler(75,1) = 1; -- cgit v1.2.1 From ee33b6de909df12cdd757abcb5db04fc9d2b5a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 13 Apr 2021 15:46:41 +0200 Subject: kgV --- buch/chapters/30-endlichekoerper/euklid.tex | 236 ++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index db326f8..9bc36a6 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -431,6 +431,7 @@ zur Bestimmung des grössten gemeinsamen Teilers von $76415$ und $23205$ zur Berechnung der Koeffizienten $c_k$ und $d_k$ Wir schreiben die gefundenen Zahlen in eine Tabelle: \begin{center} +\label{buch:endlichekoerper:beispiel1erweitert} \renewcommand{\arraystretch}{1.1} \begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} \hline @@ -614,4 +615,239 @@ Aus den letzten zwei Zeilen folgt $ua-vb = ab/g - ab/g = 0$, wie erwartet. \end{beispiel} +% +% Das kleinste gemeinsame Vielfache +% +\subsection{Das kleinste gemeinsame Vielfache +\label{buch:subsection:daskgv}} +Das kleinste gemeinsame Vielfache zweier Zahlen $a$ und $b$ ist +\[ +\operatorname{kgV}(a,b) += +\frac{ab}{\operatorname{ggT}(a,b)}. +\] +Wir suchen nach einen Algorithmus, mit dem man das kleinste gemeinsame +Vielfache effizient berechnen kann. + +Die Zahlen $a$ und $b$ sind beide Vielfache des grössten gemeinsamen +Teilers $g=\operatorname{ggT}(a,b)$, es gibt also Zahlen $u$ und $v$ derart, +dass $a=ug$ und $b=vg$. +Wenn $t$ ein gemeinsamer Teiler von $u$ und $v$ ist, dann ist $tg$ ein +grösserer gemeinsamer Teiler von $a$ und $b$. +Dies kann nicht sein, also müssen $u$ und $v$ teilerfremd sein. +Das kleinste gemeinsame Vielfache von $a$ und $b$ ist dann $ugv=av=ub$. +Die Bestimmung des kleinsten gemeinsamen Vielfachen ist also gleichbedeutend +mit der Bestimmung der Zahle $u$ und $v$. + +Die definierende Eigenschaften von $u$ und $v$ kann man in Matrixform als +\begin{equation} +\begin{pmatrix} +a\\b +\end{pmatrix} += +\underbrace{ +\begin{pmatrix} +u&?\\ +v&? +\end{pmatrix}}_{\displaystyle =K} +\begin{pmatrix} +\operatorname{ggT}(a,b)\\ 0 +\end{pmatrix} +\label{buch:eindlichekoerper:eqn:uvmatrix} +\end{equation} +geschrieben werden, wobei wir die Matrixelemente $?$ nicht kennen. +Diese Elemente müssen wir auch nicht kennen, um $u$ und $v$ zu bestimmen. + +Bei der Bestimmung des grössten gemeinsamen Teilers wurde der Vektor auf +der rechten Seite von~\eqref{buch:eindlichekoerper:eqn:uvmatrix} bereits +gefunden. +Die Matrizen $Q(q_i)$, die die einzelne Schritte des euklidischen +Algorithmus beschreiben, ergeben ihn als +\[ +\begin{pmatrix} +\operatorname{ggT}(a,b)\\0 +\end{pmatrix} += +Q(q_n)Q(q_{n-1}) \dots Q(q_1)Q(q_0) +\begin{pmatrix}a\\b\end{pmatrix}. +\] +Indem wir die Matrizen $Q(q_n)$ bis $Q(q_0)$ auf die linke Seite der +Gleichung schaffen, erhalten wir +\[ +\begin{pmatrix}a\\b\end{pmatrix} += +Q(q_0)^{-1} +Q(q_1)^{-1} +\dots +Q(q_{n-1})^{-1} +Q(q_n) +\begin{pmatrix}\operatorname{ggT}(a,b)\\0\end{pmatrix}. +\] +Eine mögliche Lösung für die Matrix $K$ in +\eqref{buch:eindlichekoerper:eqn:uvmatrix} +ist der die Matrix +\[ +K += +Q(q_0)^{-1} +Q(q_1)^{-1} +\dots +Q(q_{n-1})^{-1} +Q(q_n). +\] +Insbesondere ist die Matrix $K$ die Inverse der früher gefundenen +Matrix $Q$. + +Die Berechnung der Matrix $K$ als Inverse von $Q$ ist nicht sehr +effizient. +Genauso wie es möglich war, das Produkt $Q$ der Matrizen +$Q(q_k)$ iterativ zu bestimmen, muss es auch eine Rekursionsformel +für das Produkt der inversen Matrizen $Q(q_k)^{-1}$ geben. + +Schreiben wir die die gesuchte Matrix +\[ +K_k += +Q(q_0)^{-1}\dots Q(q_{k-1})^{-1} += +\begin{pmatrix} +e_k & e_{k-1}\\ +f_k & f_{k-1} +\end{pmatrix}, +\] +dann kann, kann $K_k$ durch die Rekursion +\[ +K_{k+1} += +K_{k} Q(q_k)^{-1} += +K_k K(q_k) +\qquad\text{mit}\qquad +K_0 = \begin{pmatrix}1&0\\0&1\end{pmatrix} = I +\] +berechnen. +Die Inverse von $Q(q)$ ist +\[ +K(q) += +Q(q)^{-1} += +\frac{1}{\det Q(q)} +\begin{pmatrix} +q&1\\ +1&0 +\end{pmatrix} +\quad\text{denn}\quad +K(q)Q(q) += +\begin{pmatrix} +q&1\\ +1&0 +\end{pmatrix} +\begin{pmatrix} +0&1\\ +1&-q +\end{pmatrix} += +\begin{pmatrix} +1&0\\ +0&1 +\end{pmatrix}. +\] +Da die zweite Spalte von $K(q)$ die erste Spalte einer Einheitsmatrix +ist, wird die zweite Spalte des Produktes $AK(q)$ immer die erste Spalte +von $A$ sein. +In $K_{k+1}$ ist daher nur die erste Spalte neu, die zweite Spalte ist +die erste Spalte von $K_k$. + +Wenn $K_k$ die Matrixelemente +\[ +K_k += +\begin{pmatrix} +e_k & e_{k-1} \\ +f_k & f_{k-1} +\end{pmatrix} +\qquad\text{und}\qquad +K_0 = +\begin{pmatrix} +1&0\\ +0&1 +\end{pmatrix} +\Rightarrow +\left\{ +\begin{aligned} +e_0 &= 1 & e_{-1} &= 0\\ +f_0 &= 0 & f_{-1} &= 1 +\end{aligned} +\right. +\] +Daraus kann man Rekursionsformeln für die Folgen $e_k$ und $f_k$ +ablesen, es gilt +\begin{align*} +e_{k+1} &= q_ke_k + e_{k-1} \\ +f_{k+1} &= q_kf_k + f_{k-1} +\end{align*} +für $k=0,1,\dots ,n$. +Damit können $e_k$ und $f_k$ gleichzeitig mit den Zahlen $c_k$ und $d_k$ +in einer Tabelle berechnen. + +\begin{beispiel} +Wir erweitern das Beispiel von +Seite~\pageref{buch:endlichekoerper:beispiel1erweitert} +um die beiden Spalten zur Berechnung von $e_k$ und $f_k$: +\begin{center} +\renewcommand{\arraystretch}{1.1} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} +\hline +k& a_k& b_k& q_k& r_k& c_k& d_k& e_k& f_k\\ +\hline + & & & & & 1& 0& 0& 1\\ +0& 76415& 23205& 3& 6800& 0& 1& 1& 0\\ +1& 23205& 6800& 3& 2805& 1& -3& 3& 1\\ +2& 6800& 2805& 2& 1190& -3& 10& 10& 3\\ +3& 2805& 1190& 2& 425& 7& -23& 23& 7\\ +4& 1190& 425& 2& 340& -17& 56& 56& 17\\ +5& 425& 340& 1& 85& 41& -135& 135& 41\\ +6& 340& 85& 4& 0& -58& 191& 191& 58\\ +7& 85& 0& & & 273& -899& 899& 273\\ +\hline +\end{tabular} +\end{center} +Der grösste gemeinsame Teiler ist $\operatorname{ggT}(a,b)=85$. +Aus der letzten Zeile der Tabelle kann man jetzt die Zahlen $u=e_7=899$ +und $v=f_7=273$ ablesen, und tatsächlich ist +\[ +a=76415 = 899\cdot 85 +\qquad\text{und}\qquad +b=23205 = 273 \cdot 85. +\] +Daraus kann man dann auch das kleinste gemeinsame Vielfache ablesen, es ist +\[ +\operatorname{kgV}(a,b) += +\operatorname{kgV}(76415,23205) += +\left\{ +\begin{aligned} +ub +&= +899\cdot 23205\\ +va +&= +273\cdot 76415 +\end{aligned} +\right\} += +20861295. +\qedhere +\] +\end{beispiel} + +Der erweiterte Algorithmus kann auch dazu verwendet werden, +das kleinste gemeinsame Vielfache zweier Polynome zu berechnen. +Dies wird zum Beispiel bei der Decodierung des Reed-Solomon-Codes in +Kapitel~\ref{chapter:reedsolomon} verwendet. + + -- cgit v1.2.1 From b94b4240a20b40871b914ddd7ae5df14f020e112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 13 Apr 2021 15:58:59 +0200 Subject: typos --- buch/chapters/30-endlichekoerper/euklid.tex | 38 +++++++---------------------- 1 file changed, 9 insertions(+), 29 deletions(-) (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index 9bc36a6..8aa2f71 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -637,7 +637,7 @@ grösserer gemeinsamer Teiler von $a$ und $b$. Dies kann nicht sein, also müssen $u$ und $v$ teilerfremd sein. Das kleinste gemeinsame Vielfache von $a$ und $b$ ist dann $ugv=av=ub$. Die Bestimmung des kleinsten gemeinsamen Vielfachen ist also gleichbedeutend -mit der Bestimmung der Zahle $u$ und $v$. +mit der Bestimmung der Zahlen $u$ und $v$. Die definierende Eigenschaften von $u$ und $v$ kann man in Matrixform als \begin{equation} @@ -704,7 +704,7 @@ Genauso wie es möglich war, das Produkt $Q$ der Matrizen $Q(q_k)$ iterativ zu bestimmen, muss es auch eine Rekursionsformel für das Produkt der inversen Matrizen $Q(q_k)^{-1}$ geben. -Schreiben wir die die gesuchte Matrix +Schreiben wir die gesuchte Matrix \[ K_k = @@ -715,8 +715,8 @@ e_k & e_{k-1}\\ f_k & f_{k-1} \end{pmatrix}, \] -dann kann, kann $K_k$ durch die Rekursion -\[ +dann kann man $K_k$ durch die Rekursion +\begin{equation} K_{k+1} = K_{k} Q(q_k)^{-1} @@ -724,7 +724,8 @@ K_{k} Q(q_k)^{-1} K_k K(q_k) \qquad\text{mit}\qquad K_0 = \begin{pmatrix}1&0\\0&1\end{pmatrix} = I -\] +\label{buch:endlichekoerper:eqn:kgvrekursion} +\end{equation} berechnen. Die Inverse von $Q(q)$ ist \[ @@ -760,30 +761,9 @@ von $A$ sein. In $K_{k+1}$ ist daher nur die erste Spalte neu, die zweite Spalte ist die erste Spalte von $K_k$. -Wenn $K_k$ die Matrixelemente -\[ -K_k -= -\begin{pmatrix} -e_k & e_{k-1} \\ -f_k & f_{k-1} -\end{pmatrix} -\qquad\text{und}\qquad -K_0 = -\begin{pmatrix} -1&0\\ -0&1 -\end{pmatrix} -\Rightarrow -\left\{ -\begin{aligned} -e_0 &= 1 & e_{-1} &= 0\\ -f_0 &= 0 & f_{-1} &= 1 -\end{aligned} -\right. -\] -Daraus kann man Rekursionsformeln für die Folgen $e_k$ und $f_k$ -ablesen, es gilt +Aus der Rekursionsformel \eqref{buch:endlichekoerper:eqn:kgvrekursion} +für die Matrizen $K_k$ kann man jetzt eine Rekursionsbeziehung +für die Folgen $e_k$ und $f_k$ ablesen, es gilt \begin{align*} e_{k+1} &= q_ke_k + e_{k-1} \\ f_{k+1} &= q_kf_k + f_{k-1} -- cgit v1.2.1 From 2e2b334e97f9054732a99db70b9f279c56eaa1c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 13 Apr 2021 21:16:46 +0200 Subject: add example from Weitz --- buch/chapters/30-endlichekoerper/euklid.tex | 150 ++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index 8aa2f71..15fd88c 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -519,6 +519,7 @@ Insbesondere ist der euklidische Algorithmus genauso wie die Matrixschreibweise auch für Polynome durchführbar. \begin{beispiel} +\label{buch:endlichekoerper:eqn:polynomggt} Wir berechnen als Beispiel den grössten gemeinsamen Teiler der Polynome \[ @@ -829,5 +830,154 @@ das kleinste gemeinsame Vielfache zweier Polynome zu berechnen. Dies wird zum Beispiel bei der Decodierung des Reed-Solomon-Codes in Kapitel~\ref{chapter:reedsolomon} verwendet. +\subsubsection{Polynome +\label{buch:endlichekoerper:eqn:polynomkgv}} +Im Beispiel auf Seite~\pageref{buch:endlichekoerper:eqn:polynomggt} +wird der grösste gemeinsame Teiler der Polynome +\[ +a += +X^4 - 2X^3 -7 X^2 + 8X + 12, +\qquad +b = X^4 + X^3 -7X^2 -X + 6 +\] +berechnet. +Dies kann jetzt erweitert werden für die Berechnung des kleinsten +gemeinsamen Vielfachen. + +\begin{beispiel} +Die Berechnungstabelle nur für die Spalten $e_k$ und $f_k$ ergibt +\begin{center} +\renewcommand{\arraystretch}{1.4} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} +\hline +k& q_k& e_k& f_k\\ +\hline + & & 0& 1\\ +0& 1& 1& 0\\ +1&-\frac13X-\frac13& 1& 1\\ +2& \frac34X+\frac34& -\frac13X+\frac23& -\frac13X-\frac13\\ + & &-\frac14X^2+\frac14X+\frac32&-\frac14X^2-\frac12X+\frac34\\ +\hline +\end{tabular} +\end{center} +Daraus kann man ablesen, dass +\[ +u += +-\frac14X^2+\frac14X+\frac32 +\qquad\text{und}\qquad +v += +-\frac14X^2-\frac12X+\frac34. +\] +Daraus ergibt sich das kleinste gemeinsame Vielfache auf zwei verschiedene Weisen: +\[ +\operatorname{ggT}(a,b) += +\left\{ +\begin{aligned} +\textstyle +(-\frac14X^2+\frac14X+\frac32)&\cdot(X^4 - 2X^3 -7 X^2 + 8X + 12) +\\ +\textstyle +(-\frac14X^2-\frac12X+\frac34)&\cdot(X^4 + X^3 -7X^2 -X + 6) +\end{aligned} +\right\} += +-\frac14X^6+\frac72X^4-\frac{49}4X^2+9. +\] +Die beiden Berechnungsmöglichkeiten stimmen wie erwartet überein. +\end{beispiel} + +\subsubsection{Anwendung: Decodierung des Reed-Solomon-Codes} +Der Reed-Solomon-Code verwendet Polynome zur Codierung der Daten, +dies wird in Kapitel~\ref{chapter:reedsolomon} im Detail beschrieben. +Bei der Decodierung muss der Faktor $u$ für zwei gegebene Polynome +$n(X)$ und $r(X)$ bestimmt werden. +Allerdings ist das Polynom $r(X)$ nicht vollständig bekannt, nur die +ersten paar Koeffizienten sind gegeben. +Dafür weiss man zusätzlich, wieviele Schritte genau der Euklidische +Algorithmus braucht. +Daraus lässt sich genügend Information gewinnen, um die Faktoren $u$ +und $v$ zu bestimmen. +Das Video \url{https://youtu.be/uOLW43OIZJ0} von Edmund Weitz +erklärt die Theorie hinter dieser Teilaufgabe anhand von Beispielen. + +\begin{beispiel} +Wir berechnen also die Faktoren $u$ und $v$ für die beiden Polynome +\begin{align*} +n(X) +&= +X^12+12 +\\ +r(X) +&= +7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + w(X) +\end{align*} +in $\mathbb{F}_13[X]$, wobei $w(X)$ ein unbekanntes Polynom vom Grad $5$ ist. +Man weiss zusätzlich noch, dass der euklidische Algorithmus genau drei +Schritte braucht, es gibt also genau drei Quotienten, die in die +Berechnung der Zahlen $e_k$ und $f_k$ einfliessen. +Im ersten Schritt des euklidischen Algorithmus ist der Quotient +$n(X) / r(X)$ zu bestimmen, der Grad $1$ haben muss. +\begin{align*} +a_0=n(X) &= X^12+12 +\\ +b_0=r(X) &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + \dots +\\ +q_0 &= 2X+10 +\\ +r_0 = a_0-b_0\cdot q_0 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +a_1 &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + \dots +\\ +b_1 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +q_1 &= 2X+2 +\\ +r_1 = a_1 - b_1q_1 &= 5X^9 + 10 X^8 + \dots +\\ +a_2 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +b_2 &= 5X^9 + 10 X^8 + \dots +\\ +q_2 &= 2X+10 +\end{align*} +Aus den Polynomen $q_k$ können jetzt die Faktoren $u$ und $v$ +bestimmt werden: +\begin{center} +\begin{tabular}{|>{$}c<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} +\hline +k& q_k& e_k& f_k\\ +\hline + & & 0& 1\\ +0& 2X+10& 1& 0\\ +1& 2X+2 & 2X+10& 1\\ +2& 2X+10& 4X^2+11X+8& 2X+2\\ + & & 8X^3+10X^2+11X+12& 4X^2+11X+8\\ +\hline +\end{tabular} +\end{center} +Die Faktorisierung des Polynoms +\[ +u += +8X^3+10X^2+11X+12 +\] +kann bestimmt werden, indem man alle Zahlen $1,2,\dots,12\in\mathbb{F}_{13}$ +einsetzt. +Man findet so die Nullstellen $3$, $4$ und $8$, also muss das Polynom +$u$ faktorisiert werden können als +\[ +u= +8(X-3)(X-4)(X-8) += +8X^3 - 120X^2+544X-768 += +8X^3 +10X^2+11X+12. +\qedhere +\] +\end{beispiel} -- cgit v1.2.1 From 1fda316d0aacd6d068b3af4281871bee5b8e72cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 13 Apr 2021 21:21:25 +0200 Subject: add rs example --- .../30-endlichekoerper/rechnungen/rs.maxima | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 buch/chapters/30-endlichekoerper/rechnungen/rs.maxima (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima b/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima new file mode 100644 index 0000000..9116023 --- /dev/null +++ b/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima @@ -0,0 +1,29 @@ +n: X^12 + 12; +r: 7*X^11 + 4*X^10 + X^9 + 12*X^8 + 2*X^7 + 12*X^6; + +q0: 2*X+10; +q1: 2*X+2; +q2: 2*X+10; + +a0: n; +b0: r; +r0: expand(a0 - q0 * b0); + +a1: b0; +b1: r0; +r1: expand(a1 - q1 * b1); + +a2: b1; +b2: r1; +r2: expand(a2 - q2 * b2); + +K: matrix([1,0],[0,1]); + +K: expand(K . matrix([q0,1],[1,0])); +K: expand(K . matrix([q1,1],[1,0])); +K: expand(K . matrix([q2,1],[1,0])); + +u: 8*X^3+10*X^2+11*X+12; +v: 4*X^2+11*X+8; + +factor(u), modulus:13; -- cgit v1.2.1 From b41e50e636a895ad3c425896ef4b3fb7c89dbb3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 14 Apr 2021 10:16:15 +0200 Subject: typo --- buch/chapters/30-endlichekoerper/euklid.tex | 6 +++--- buch/chapters/30-endlichekoerper/galois.tex | 6 +++--- buch/chapters/30-endlichekoerper/wurzeln.tex | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index 15fd88c..094a07a 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -909,13 +909,13 @@ Wir berechnen also die Faktoren $u$ und $v$ für die beiden Polynome \begin{align*} n(X) &= -X^12+12 +X^{12}+12 \\ r(X) &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + w(X) \end{align*} -in $\mathbb{F}_13[X]$, wobei $w(X)$ ein unbekanntes Polynom vom Grad $5$ ist. +in $\mathbb{F}_{13}[X]$, wobei $w(X)$ ein unbekanntes Polynom vom Grad $5$ ist. Man weiss zusätzlich noch, dass der euklidische Algorithmus genau drei Schritte braucht, es gibt also genau drei Quotienten, die in die Berechnung der Zahlen $e_k$ und $f_k$ einfliessen. @@ -923,7 +923,7 @@ Berechnung der Zahlen $e_k$ und $f_k$ einfliessen. Im ersten Schritt des euklidischen Algorithmus ist der Quotient $n(X) / r(X)$ zu bestimmen, der Grad $1$ haben muss. \begin{align*} -a_0=n(X) &= X^12+12 +a_0=n(X) &= X^{12}+12 \\ b_0=r(X) &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + \dots \\ diff --git a/buch/chapters/30-endlichekoerper/galois.tex b/buch/chapters/30-endlichekoerper/galois.tex index fbacba6..2f8117e 100644 --- a/buch/chapters/30-endlichekoerper/galois.tex +++ b/buch/chapters/30-endlichekoerper/galois.tex @@ -27,7 +27,7 @@ Primzahlpotenz $p^n$ von Elementen haben und die die Basis wichtiger kryptographischer Algorithmen sind. % -% Arithmetik module $o$ +% Arithmetik modulo $o$ % \subsection{Arithmetik modulo $p$ \label{buch:subsection:arithmetik-modulo-p}} @@ -413,7 +413,7 @@ Elemente. \begin{figure} \centering \includegraphics{chapters/30-endlichekoerper/images/binomial2.pdf} -\caption{Binomialkoeffizienten module $2$ im Pascal-Dreieck. +\caption{Binomialkoeffizienten modulo $2$ im Pascal-Dreieck. Auf den rot hinterlegten Zeilen, die zu Exponenten der Form $2^k$ gehören, sind alle Koeffizienten ausser dem ersten und letzten durch $2$ teilbar. \label{buch:endliche-koerper:fig:binomial2}} @@ -423,7 +423,7 @@ sind alle Koeffizienten ausser dem ersten und letzten durch $2$ teilbar. \begin{figure} \centering \includegraphics{chapters/30-endlichekoerper/images/binomial5.pdf} -\caption{Binomialkoeffizienten module $5$ im Pascal-Dreieck. +\caption{Binomialkoeffizienten modulo $5$ im Pascal-Dreieck. Die von $0$ verschiedenen Reste werden durch Farben dargestellt: $1=\text{schwarz}$, $2=\text{\color{farbe2}rot}$, diff --git a/buch/chapters/30-endlichekoerper/wurzeln.tex b/buch/chapters/30-endlichekoerper/wurzeln.tex index 02429dc..600336c 100644 --- a/buch/chapters/30-endlichekoerper/wurzeln.tex +++ b/buch/chapters/30-endlichekoerper/wurzeln.tex @@ -731,7 +731,7 @@ dass sf+tm=1. \] Reduzieren wir modulo $m$, wird daraus $af=1$ in $\Bbbk[X]/m\Bbbk[X]$. -Das Polynom $a$, reduziert module $m$, ist also die multiplikative +Das Polynom $a$, reduziert modulo $m$, ist also die multiplikative Inverse von $f$. Bei der praktischen Durchführung des euklidischen Algorithmus ist der -- cgit v1.2.1 From 509a497c5f138723762ff76e8291e29a897b8ea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 14 Apr 2021 13:57:56 +0200 Subject: typos --- buch/chapters/90-crypto/arith.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/chapters/90-crypto/arith.tex b/buch/chapters/90-crypto/arith.tex index 44eb6bb..dcc31b8 100644 --- a/buch/chapters/90-crypto/arith.tex +++ b/buch/chapters/90-crypto/arith.tex @@ -91,7 +91,7 @@ Die Berechnung der Quadratwurzel lässt sich in Hardware effizient implementieren. \begin{algorithmus} -Der folgende Algorithmsu berechnet $a^k$ in $O(\log_2(k))$ +Der folgende Algorithmus berechnet $a^k$ in $O(\log_2(k))$ Multiplikationen \begin{enumerate} \item Initialisiere $p=1$ und $q=a$ -- cgit v1.2.1 From 339d3772285a72497f54a4df583cb52be8fb8b8b Mon Sep 17 00:00:00 2001 From: "AzureAD\\JosefReichlin-Bagger" Date: Fri, 16 Apr 2021 15:27:36 +0200 Subject: =?UTF-8?q?Name=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/papers/spannung/main.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/spannung/main.tex b/buch/papers/spannung/main.tex index b87a4d0..585a423 100644 --- a/buch/papers/spannung/main.tex +++ b/buch/papers/spannung/main.tex @@ -6,7 +6,7 @@ \chapter{Thema\label{chapter:spannung}} \lhead{Thema} \begin{refsection} -\chapterauthor{Hans Muster} +\chapterauthor{Adrian Schuler und Thomas Reichlin} Ein paar Hinweise für die korrekte Formatierung des Textes \begin{itemize} -- cgit v1.2.1 From a11e15a68ec7e049f3d724e5e4042317fcbecc21 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Fri, 16 Apr 2021 21:20:31 +0200 Subject: Create .gitignore for buch/ It is a bit annoying to get that huge list of untracked aux files every time `$ git status' runs --- buch/.gitignore | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 buch/.gitignore (limited to 'buch') diff --git a/buch/.gitignore b/buch/.gitignore new file mode 100644 index 0000000..4600c1a --- /dev/null +++ b/buch/.gitignore @@ -0,0 +1,12 @@ +buch*.aux +buch*.bbl +buch*.bib +buch*.blg +buch*.idx +buch*.ilg +buch*.ind +buch*.log +buch*.out +buch*.pdf +buch*.run.xml +buch*.toc -- cgit v1.2.1 From 23326eb7047812366848812919aebf85c04f589e Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 20 Apr 2021 12:30:50 +0200 Subject: Presentation added --- buch/papers/reedsolomon/RS presentation/RS.aux | 30 + buch/papers/reedsolomon/RS presentation/RS.log | 956 +++++++++++++++++++++ buch/papers/reedsolomon/RS presentation/RS.nav | 9 + buch/papers/reedsolomon/RS presentation/RS.out | 0 buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 0 -> 53965 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 0 .../reedsolomon/RS presentation/RS.synctex.gz | Bin 0 -> 3637 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 25 + buch/papers/reedsolomon/RS presentation/RS.toc | 1 + buch/papers/reedsolomon/RS presentation/Thumbs.db | Bin 0 -> 89088 bytes 10 files changed, 1021 insertions(+) create mode 100644 buch/papers/reedsolomon/RS presentation/RS.aux create mode 100644 buch/papers/reedsolomon/RS presentation/RS.log create mode 100644 buch/papers/reedsolomon/RS presentation/RS.nav create mode 100644 buch/papers/reedsolomon/RS presentation/RS.out create mode 100644 buch/papers/reedsolomon/RS presentation/RS.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/RS.snm create mode 100644 buch/papers/reedsolomon/RS presentation/RS.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/RS.tex create mode 100644 buch/papers/reedsolomon/RS presentation/RS.toc create mode 100644 buch/papers/reedsolomon/RS presentation/Thumbs.db (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux new file mode 100644 index 0000000..17ce46b --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -0,0 +1,30 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\@nameuse{bbl@beforestart} +\catcode `"\active +\babel@aux{ngerman}{} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{2}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{2}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{2}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {2}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {2}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log new file mode 100644 index 0000000..f7dc931 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -0,0 +1,956 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/W32TeX) (preloaded format=pdflatex 2019.11.30) 20 APR 2021 12:21 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**RS.tex +(./RS.tex +LaTeX2e <2019-10-01> patch level 3 +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamer.cls +Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemodes.sty +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count80 +) +\beamer@tempbox=\box27 +\beamer@tempcount=\count81 +\c@beamerpauses=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasedecode.sty +\beamer@slideinframe=\count83 +\beamer@minimum=\count84 +\beamer@decode@box=\box28 +) +\beamer@commentbox=\box29 +\beamer@modecount=\count85 +) +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifpdf.sty +Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead. + +(c:/texlive/2019/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2019/11/07 v1.0c TeX engine tests +)) +\headdp=\dimen102 +\footheight=\dimen103 +\sidebarheight=\dimen104 +\beamer@tempdim=\dimen105 +\beamer@finalheight=\dimen106 +\beamer@animht=\dimen107 +\beamer@animdp=\dimen108 +\beamer@animwd=\dimen109 +\beamer@leftmargin=\dimen110 +\beamer@rightmargin=\dimen111 +\beamer@leftsidebar=\dimen112 +\beamer@rightsidebar=\dimen113 +\beamer@boxsize=\dimen114 +\beamer@vboxoffset=\dimen115 +\beamer@descdefault=\dimen116 +\beamer@descriptionwidth=\dimen117 +\beamer@lastskip=\skip41 +\beamer@areabox=\box30 +\beamer@animcurrent=\box31 +\beamer@animshowbox=\box32 +\beamer@sectionbox=\box33 +\beamer@logobox=\box34 +\beamer@linebox=\box35 +\beamer@sectioncount=\count86 +\beamer@subsubsectionmax=\count87 +\beamer@subsectionmax=\count88 +\beamer@sectionmax=\count89 +\beamer@totalheads=\count90 +\beamer@headcounter=\count91 +\beamer@partstartpage=\count92 +\beamer@sectionstartpage=\count93 +\beamer@subsectionstartpage=\count94 +\beamer@animationtempa=\count95 +\beamer@animationtempb=\count96 +\beamer@xpos=\count97 +\beamer@ypos=\count98 +\beamer@ypos@offset=\count99 +\beamer@showpartnumber=\count100 +\beamer@currentsubsection=\count101 +\beamer@coveringdepth=\count102 +\beamer@sectionadjust=\count103 +\beamer@tocsectionnumber=\count104 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +)) +\beamer@paperwidth=\skip42 +\beamer@paperheight=\skip43 + +(c:/texlive/2019/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2018/04/16 v5.8 Page Geometry + +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifvtex.sty +Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. +) +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifxetex.sty +Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. +) +\Gm@cnth=\count105 +\Gm@cntv=\count106 +\c@Gm@tempcnt=\count107 +\Gm@bindingoffset=\dimen118 +\Gm@wd@mp=\dimen119 +\Gm@odd@mp=\dimen120 +\Gm@even@mp=\dimen121 +\Gm@layoutwidth=\dimen122 +\Gm@layoutheight=\dimen123 +\Gm@layouthoffset=\dimen124 +\Gm@layoutvoffset=\dimen125 +\Gm@dimlist=\toks15 +) +(c:/texlive/2019/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2019/10/25 v1.4k Standard LaTeX file (size option) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen126 +\Gin@req@width=\dimen127 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen128 +\pgfutil@tempdimb=\dimen129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box36 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen130 +\pgf@y=\dimen131 +\pgf@xa=\dimen132 +\pgf@ya=\dimen133 +\pgf@xb=\dimen134 +\pgf@yb=\dimen135 +\pgf@xc=\dimen136 +\pgf@yc=\dimen137 +\pgf@xd=\dimen138 +\pgf@yd=\dimen139 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count108 +\c@pgf@countb=\count109 +\c@pgf@countc=\count110 +\c@pgf@countd=\count111 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count112 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-pdftex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def +File: pgfsys-pdftex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count113 +\pgfsyssoftpath@bigbuffer@items=\count114 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen140 +\pgfmath@count=\count115 +\pgfmath@box=\box37 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count116 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen141 +\pgf@picmaxx=\dimen142 +\pgf@picminy=\dimen143 +\pgf@picmaxy=\dimen144 +\pgf@pathminx=\dimen145 +\pgf@pathmaxx=\dimen146 +\pgf@pathminy=\dimen147 +\pgf@pathmaxy=\dimen148 +\pgf@xx=\dimen149 +\pgf@xy=\dimen150 +\pgf@yx=\dimen151 +\pgf@yy=\dimen152 +\pgf@zx=\dimen153 +\pgf@zy=\dimen154 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen155 +\pgf@path@lasty=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen157 +\pgf@shorten@start@additional=\dimen158 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box38 +\pgf@hbox=\box39 +\pgf@layerbox@main=\box40 +\pgf@picture@serial@count=\count117 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen159 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen160 +\pgf@pt@y=\dimen161 +\pgf@pt@temp=\dimen162 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen163 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen164 +\pgf@sys@shading@range@num=\count118 +\pgf@shadingcount=\count119 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box41 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty +Package: xxcolor 2003/10/24 ver 0.1 +\XC@nummixins=\count120 +\XC@countmixins=\count121 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/atbegshi.sty +Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +)) +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2019/11/10 v7.00c Hypertext links for LaTeX + +(c:/texlive/2019/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty +Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifluatex.sty +Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. +))) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/pdfescape.sty +Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hycolor.sty +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty +Package: xcolor-patch 2016/05/16 xcolor patch + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hopatch.sty +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +))) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/letltxmacro.sty +Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) +) +\@linkdim=\dimen165 +\Hy@linkcounter=\count122 +\Hy@pagecounter=\count123 + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2019/11/10 v7.00c Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/intcalc.sty +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +) +\Hy@SavedSpaceFactor=\count124 + +(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Option `bookmarks' set `true' on input line 4409. +Package hyperref Info: Option `bookmarksopen' set `true' on input line 4409. +Package hyperref Info: Option `implicit' set `false' on input line 4409. +Package hyperref Info: Hyper figures OFF on input line 4535. +Package hyperref Info: Link nesting OFF on input line 4540. +Package hyperref Info: Hyper index ON on input line 4543. +Package hyperref Info: Plain pages OFF on input line 4550. +Package hyperref Info: Backreferencing OFF on input line 4555. +Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. +Package hyperref Info: Bookmarks ON on input line 4788. +\c@Hy@tempcnt=\count125 + +(c:/texlive/2019/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 5147. +\XeTeXLinkMargin=\dimen166 + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bitset.sty +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bigintcalc.sty +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO +) +)) +\Fld@menulength=\count126 +\Field@Width=\dimen167 +\Fld@charsize=\dimen168 +Package hyperref Info: Hyper figures OFF on input line 6418. +Package hyperref Info: Link nesting OFF on input line 6423. +Package hyperref Info: Hyper index ON on input line 6426. +Package hyperref Info: backreferencing OFF on input line 6433. +Package hyperref Info: Link coloring OFF on input line 6438. +Package hyperref Info: Link coloring with OCG OFF on input line 6443. +Package hyperref Info: PDF/A mode OFF on input line 6448. +LaTeX Info: Redefining \ref on input line 6488. +LaTeX Info: Redefining \pageref on input line 6492. +\Hy@abspage=\count127 + + +Package hyperref Message: Stopped early. + +) +Package hyperref Info: Driver (autodetected): hpdftex. + (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2019/11/10 v7.00c Hyperref driver for pdfTeX + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/atveryend.sty +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +) +\Fld@listcount=\count128 +\c@bookmark@seq@number=\count129 + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/uniquecounter.sty +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +85. +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaserequires.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasefont.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks26 +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(c:/texlive/2019/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty +Package: sansmathaccent 2013/03/28 + +(c:/texlive/2019/texmf-dist/tex/latex/filehook/filehook.sty +Package: filehook 2019/10/03 v0.6 Hooks for input files +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator.sty +Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty +\beamer@argscount=\count130 +\beamer@lastskipcover=\skip44 +\beamer@trivlistdepth=\count131 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasesection.sty +\c@lecture=\count132 +\c@part=\count133 +\c@section=\count134 +\c@subsection=\count135 +\c@subsubsection=\count136 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframe.sty +\beamer@framebox=\box42 +\beamer@frametitlebox=\box43 +\beamer@zoombox=\box44 +\beamer@zoomcount=\count137 +\beamer@zoomframecount=\count138 +\beamer@frametextheight=\dimen169 +\c@subsectionslide=\count139 +\beamer@frametopskip=\skip45 +\beamer@framebottomskip=\skip46 +\beamer@frametopskipautobreak=\skip47 +\beamer@framebottomskipautobreak=\skip48 +\beamer@envbody=\toks27 +\framewidth=\dimen170 +\c@framenumber=\count140 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty +\beamer@verbatimfileout=\write4 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty +\beamer@splitbox=\box45 +\beamer@autobreakcount=\count141 +\beamer@autobreaklastheight=\dimen171 +\beamer@frametitletoks=\toks28 +\beamer@framesubtitletoks=\toks29 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty +\beamer@footins=\box46 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenotes.sty +\beamer@frameboxcopy=\box47 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty +\beamer@sbttoks=\toks30 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty +\bmb@box=\box48 +\bmb@colorbox=\box49 +\bmb@boxshadow=\box50 +\bmb@boxshadowball=\box51 +\bmb@boxshadowballlarge=\box52 +\bmb@temp=\dimen172 +\bmb@dima=\dimen173 +\bmb@dimb=\dimen174 +\bmb@prevheight=\dimen175 +) +\beamer@blockheadheight=\dimen176 +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.sty +(c:/texlive/2019/texmf-dist/tex/latex/tools/enumerate.sty +Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) +\@enLab=\toks31 +) +\c@figure=\count142 +\c@table=\count143 +\abovecaptionskip=\skip49 +\belowcaptionskip=\skip50 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty +\beamer@section@min@dim=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/11/16 v2.17d AMS math features +\@mathmargin=\skip51 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks32 +\ex@=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen179 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count144 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count145 +\leftroot@=\count146 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count147 +\DOTSCASE@=\count148 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box53 +\strutbox@=\box54 +\big@size=\dimen180 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count149 +\c@MaxMatrixCols=\count150 +\dotsspace@=\muskip11 +\c@parentequation=\count151 +\dspbrk@lvl=\count152 +\tag@help=\toks33 +\row@=\count153 +\column@=\count154 +\maxfields@=\count155 +\andhelp@=\toks34 +\eqnshift@=\dimen181 +\alignsep@=\dimen182 +\tagshift@=\dimen183 +\tagwidth@=\dimen184 +\totwidth@=\dimen185 +\lineht@=\dimen186 +\@envbody=\toks35 +\multlinegap=\skip52 +\multlinetaggap=\skip53 +\mathdisplay@stack=\toks36 +LaTeX Info: Redefining \[ on input line 2858. +LaTeX Info: Redefining \] on input line 2859. +) +(c:/texlive/2019/texmf-dist/tex/latex/amscls/amsthm.sty +Package: amsthm 2017/10/31 v2.20.4 +\thm@style=\toks37 +\thm@bodyfont=\toks38 +\thm@headfont=\toks39 +\thm@notefont=\toks40 +\thm@headpunct=\toks41 +\thm@preskip=\skip54 +\thm@postskip=\skip55 +\thm@headsep=\skip56 +\dth@everypar=\toks42 +) +\c@theorem=\count156 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemedefault.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerfontthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemedefault.sty +\beamer@dima=\dimen187 +\beamer@dimb=\dimen188 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemedefault.sty))) +(c:/texlive/2019/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2018/08/11 v1.3c Input encoding file +\inpenc@prehook=\toks43 +\inpenc@posthook=\toks44 +) +(c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2018/08/11 v2.0j Standard LaTeX package + +(c:/texlive/2019/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +)) +(c:/texlive/2019/texmf-dist/tex/latex/lm/lmodern.sty +Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 22. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/lmm/m/it on input line 23. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 25. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/lmm/b/it on input line 27. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 32. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 33. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. +) +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2019/11/14 3.36 The Babel package + +(c:/texlive/2019/texmf-dist/tex/generic/babel/switch.def +File: switch.def 2019/11/14 3.36 Babel switching mechanism +) +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngerman.ldf +Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra +phy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngermanb.ldf +Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr +aphy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.def +File: babel.def 2019/11/14 3.36 Babel common definitions +\babel@savecnt=\count157 +\U@D=\dimen189 + +(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def) +LaTeX Info: Redefining \textlatin on input line 2250. +\bbl@dirlevel=\count158 +) +Package babel Info: Making " an active character on input line 121. +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty +\beamer@sidebarwidth=\dimen190 +\beamer@headheight=\dimen191 +LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 +7. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd +File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemeseahorse.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemecircles.sty)) +(./RS.aux) +\openout1 = `RS.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. + +*geometry* driver: auto-detecting +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: includehead includefoot +* h-part:(L,W,R)=(59.22636pt, 381.79135pt, 14.22636pt) +* v-part:(T,H,B)=(0.0pt, 256.0748pt, 0.0pt) +* \paperwidth=455.24408pt +* \paperheight=256.0748pt +* \textwidth=381.79135pt +* \textheight=227.62207pt +* \oddsidemargin=-13.04362pt +* \evensidemargin=-13.04362pt +* \topmargin=-72.26999pt +* \headheight=14.22636pt +* \headsep=0.0pt +* \topskip=11.0pt +* \footskip=14.22636pt +* \marginparwidth=4.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +(c:/texlive/2019/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count159 +\scratchdimen=\dimen192 +\scratchbox=\box55 +\nofMPsegments=\count160 +\nofMParguments=\count161 +\everyMPshowfont=\toks45 +\MPscratchCnt=\count162 +\MPscratchDim=\dimen193 +\MPnumerator=\count163 +\makeMPintoPDFobject=\count164 +\everyMPtoPDFconversion=\toks46 +) (c:/texlive/2019/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +Package: epstopdf-base 2019/11/27 v2.8 Base part for package epstopdf +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +85. + +(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +ABD: EveryShipout initializing macros +\AtBeginShipoutBox=\box56 +Package hyperref Info: Link coloring OFF on input line 7. + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/refcount.sty +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) +) +\c@section@level=\count165 +) +LaTeX Info: Redefining \ref on input line 7. +LaTeX Info: Redefining \pageref on input line 7. +LaTeX Info: Redefining \nameref on input line 7. + (./RS.out) (./RS.out) +\@outlinefile=\write5 +\openout5 = `RS.out'. + +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 7. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 7. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 7. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 7. +\symnumbers=\mathgroup6 +\sympureletters=\mathgroup7 +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 7. + +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-basic-dictionary-En +glish.dict +Dictionary: translator-basic-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-bibliography-dictio +nary-English.dict +Dictionary: translator-bibliography-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-environment-diction +ary-English.dict +Dictionary: translator-environment-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-months-dictionary-E +nglish.dict +Dictionary: translator-months-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-numbers-dictionary- +English.dict +Dictionary: translator-numbers-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-theorem-dictionary- +English.dict +Dictionary: translator-theorem-dictionary, Language: English +) (./RS.nav) + +Package hyperref Warning: Option `pdfauthor' has already been used, +(hyperref) setting the option has no effect on input line 8. + + +Package hyperref Warning: Option `pdfsubject' has already been used, +(hyperref) setting the option has no effect on input line 14. + +[1 + +{c:/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2 + +] +\tf@nav=\write6 +\openout6 = `RS.nav'. + +\tf@toc=\write7 +\openout7 = `RS.toc'. + +\tf@snm=\write8 +\openout8 = `RS.snm'. + +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 25. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 25. + (./RS.aux) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 25. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 25. +Package rerunfilecheck Info: File `RS.out' has not changed. +(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. + ) +Here is how much of TeX's memory you used: + 18359 strings out of 492164 + 341776 string characters out of 6129087 + 431862 words of memory out of 5000000 + 22272 multiletter control sequences out of 15000+600000 + 19654 words of font info for 23 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 58i,12n,57p,796b,459s stack positions out of 5000i,500n,10000p,200000b,80000s +{c:/texlive/2019/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc} +Output written on RS.pdf (2 pages, 53965 bytes). +PDF statistics: + 42 PDF objects out of 1000 (max. 8388607) + 28 compressed objects within 1 object stream + 5 named destinations out of 1000 (max. 500000) + 43 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav new file mode 100644 index 0000000..9033d8b --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -0,0 +1,9 @@ +\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} +\headcommand {\beamer@framepages {1}{1}} +\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}} +\headcommand {\beamer@framepages {2}{2}} +\headcommand {\beamer@partpages {1}{2}} +\headcommand {\beamer@subsectionpages {1}{2}} +\headcommand {\beamer@sectionpages {1}{2}} +\headcommand {\beamer@documentpages {2}} +\headcommand {\gdef \inserttotalframenumber {2}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out new file mode 100644 index 0000000..e69de29 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf new file mode 100644 index 0000000..459d7e8 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm new file mode 100644 index 0000000..e69de29 diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz new file mode 100644 index 0000000..fe8adf5 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex new file mode 100644 index 0000000..3d2be8f --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -0,0 +1,25 @@ +\documentclass[11pt,aspectratio=169]{beamer} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[ngerman]{babel} +\usetheme{Hannover} +\begin{document} + \author{Joshua Bär und Michael Steiner} + \title{Reed-Solomon-Code} + \subtitle{} + \logo{} + \institute{OST Ostschweizer Fachhochschule} + \date{26.04.2021} + \subject{Mathematisches Seminar} + \setbeamercovered{transparent} + \setbeamertemplate{navigation symbols}{} + \begin{frame}[plain] + \maketitle + \end{frame} + + \begin{frame} + \frametitle{Test} + Ich mag Züge. + \end{frame} +\end{document} \ No newline at end of file diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc new file mode 100644 index 0000000..4cd1c86 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -0,0 +1 @@ +\babel@toc {ngerman}{} diff --git a/buch/papers/reedsolomon/RS presentation/Thumbs.db b/buch/papers/reedsolomon/RS presentation/Thumbs.db new file mode 100644 index 0000000..1626e26 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/Thumbs.db differ -- cgit v1.2.1 From 432c3bebedb451bae53eb37e2078eb7de28ece79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 20 Apr 2021 12:42:49 +0200 Subject: typos --- buch/chapters/30-endlichekoerper/euklid.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index 094a07a..0bf3016 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -681,7 +681,7 @@ Q(q_0)^{-1} Q(q_1)^{-1} \dots Q(q_{n-1})^{-1} -Q(q_n) +Q(q_n)^{-1} \begin{pmatrix}\operatorname{ggT}(a,b)\\0\end{pmatrix}. \] Eine mögliche Lösung für die Matrix $K$ in -- cgit v1.2.1 From 4301a062125a31b0466acf6527a01b1682cf60c5 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 08:59:22 +0200 Subject: slides introduction#1 --- buch/papers/reedsolomon/RS presentation/RS.bbl | 0 .../reedsolomon/RS presentation/images/fig1.pdf | Bin 0 -> 3071 bytes .../RS presentation/images/fig1.pdf_tex | 81 ++++++++++ .../reedsolomon/RS presentation/images/fig1.png | Bin 0 -> 27373 bytes .../reedsolomon/RS presentation/images/fig1.svg | 180 +++++++++++++++++++++ .../reedsolomon/RS presentation/images/fig2.png | Bin 0 -> 30489 bytes .../reedsolomon/RS presentation/images/fig2.svg | 163 +++++++++++++++++++ .../reedsolomon/RS presentation/images/fig3.png | Bin 0 -> 16007 bytes .../reedsolomon/RS presentation/images/fig3.svg | 180 +++++++++++++++++++++ .../reedsolomon/RS presentation/images/fig4.png | Bin 0 -> 27548 bytes .../reedsolomon/RS presentation/images/fig4.svg | 164 +++++++++++++++++++ .../reedsolomon/RS presentation/images/fig5.png | Bin 0 -> 30167 bytes .../reedsolomon/RS presentation/images/fig5.svg | 121 ++++++++++++++ .../reedsolomon/RS presentation/images/fig6.png | Bin 0 -> 22604 bytes .../reedsolomon/RS presentation/images/fig6.svg | 158 ++++++++++++++++++ .../reedsolomon/RS presentation/images/fig7.png | Bin 0 -> 28677 bytes .../reedsolomon/RS presentation/images/fig7.svg | 163 +++++++++++++++++++ 17 files changed, 1210 insertions(+) create mode 100644 buch/papers/reedsolomon/RS presentation/RS.bbl create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.svg (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.bbl b/buch/papers/reedsolomon/RS presentation/RS.bbl new file mode 100644 index 0000000..e69de29 diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf new file mode 100644 index 0000000..5cff7fe Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex new file mode 100644 index 0000000..cb323ae --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex @@ -0,0 +1,81 @@ +%% Creator: Inkscape 1.0.2 (e86c870879, 2021-01-15, custom), www.inkscape.org +%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 +%% Accompanies image file 'fig1.pdf' (pdf, eps, ps) +%% +%% To include the image in your LaTeX document, write +%% \input{.pdf_tex} +%% instead of +%% \includegraphics{.pdf} +%% To scale the image, write +%% \def\svgwidth{} +%% \input{.pdf_tex} +%% instead of +%% \includegraphics[width=]{.pdf} +%% +%% Images with a different path to the parent latex file can +%% be accessed with the `import' package (which may need to be +%% installed) using +%% \usepackage{import} +%% in the preamble, and then including the image with +%% \import{}{.pdf_tex} +%% Alternatively, one can specify +%% \graphicspath{{/}} +%% +%% For more information, please see info/svg-inkscape on CTAN: +%% http://tug.ctan.org/tex-archive/info/svg-inkscape +%% +\begingroup% + \makeatletter% + \providecommand\color[2][]{% + \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% + \renewcommand\color[2][]{}% + }% + \providecommand\transparent[1]{% + \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% + \renewcommand\transparent[1]{}% + }% + \providecommand\rotatebox[2]{#2}% + \newcommand*\fsize{\dimexpr\f@size pt\relax}% + \newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}% + \ifx\svgwidth\undefined% + \setlength{\unitlength}{420bp}% + \ifx\svgscale\undefined% + \relax% + \else% + \setlength{\unitlength}{\unitlength * \real{\svgscale}}% + \fi% + \else% + \setlength{\unitlength}{\svgwidth}% + \fi% + \global\let\svgwidth\undefined% + \global\let\svgscale\undefined% + \makeatother% + \begin{picture}(1,0.75)% + \lineheight{1}% + \setlength\tabcolsep{0pt}% + \put(0,0){\includegraphics[width=\unitlength,page=1]{fig1.pdf}}% + \put(0.19038536,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% + \put(0.27196429,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}20\end{tabular}}}}% + \put(0.35354321,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}30\end{tabular}}}}% + \put(0.43512214,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}40\end{tabular}}}}% + \put(0.51670107,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}50\end{tabular}}}}% + \put(0.59828,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}60\end{tabular}}}}% + \put(0.67985893,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}70\end{tabular}}}}% + \put(0.76143804,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}80\end{tabular}}}}% + \put(0.84301696,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}90\end{tabular}}}}% + \put(0,0){\includegraphics[width=\unitlength,page=2]{fig1.pdf}}% + \put(0.10654768,0.07232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0\end{tabular}}}}% + \put(0.10654768,0.13357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1\end{tabular}}}}% + \put(0.10654768,0.19482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2\end{tabular}}}}% + \put(0.10654768,0.25607143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}3\end{tabular}}}}% + \put(0.10654768,0.31732143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}4\end{tabular}}}}% + \put(0.10654768,0.37857143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}5\end{tabular}}}}% + \put(0.10654768,0.43982143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}6\end{tabular}}}}% + \put(0.10654768,0.50107143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}7\end{tabular}}}}% + \put(0.10654768,0.56232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}8\end{tabular}}}}% + \put(0.10654768,0.62357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}9\end{tabular}}}}% + \put(0.09404768,0.68482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% + \put(0.47857196,0.70669643){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}\textbf{Signal}\end{tabular}}}}% + \put(0,0){\includegraphics[width=\unitlength,page=3]{fig1.pdf}}% + \end{picture}% +\endgroup% diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.png b/buch/papers/reedsolomon/RS presentation/images/fig1.png new file mode 100644 index 0000000..a0395d7 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig1.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.svg b/buch/papers/reedsolomon/RS presentation/images/fig1.svg new file mode 100644 index 0000000..8682b56 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig1.svg @@ -0,0 +1,180 @@ + + +102030405060708090012345678910Signal diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.png b/buch/papers/reedsolomon/RS presentation/images/fig2.png new file mode 100644 index 0000000..bd8faa0 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig2.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.svg b/buch/papers/reedsolomon/RS presentation/images/fig2.svg new file mode 100644 index 0000000..e66bd95 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig2.svg @@ -0,0 +1,163 @@ + + +102030405060708090050100150200250300350Codiert diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.png b/buch/papers/reedsolomon/RS presentation/images/fig3.png new file mode 100644 index 0000000..e14358d Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig3.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.svg b/buch/papers/reedsolomon/RS presentation/images/fig3.svg new file mode 100644 index 0000000..e0c7072 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig3.svg @@ -0,0 +1,180 @@ + + +10203040506070809000.20.40.60.811.21.41.61.82Fehler diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.png b/buch/papers/reedsolomon/RS presentation/images/fig4.png new file mode 100644 index 0000000..1821c3b Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig4.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.svg b/buch/papers/reedsolomon/RS presentation/images/fig4.svg new file mode 100644 index 0000000..4bf2864 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig4.svg @@ -0,0 +1,164 @@ + + +102030405060708090050100150200250300350Empfangen diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.png b/buch/papers/reedsolomon/RS presentation/images/fig5.png new file mode 100644 index 0000000..e4abbaa Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig5.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.svg b/buch/papers/reedsolomon/RS presentation/images/fig5.svg new file mode 100644 index 0000000..7cfdb10 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig5.svg @@ -0,0 +1,121 @@ + + + diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.png b/buch/papers/reedsolomon/RS presentation/images/fig6.png new file mode 100644 index 0000000..5447949 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig6.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.svg b/buch/papers/reedsolomon/RS presentation/images/fig6.svg new file mode 100644 index 0000000..f8f8369 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig6.svg @@ -0,0 +1,158 @@ + + +10203040506070809000.010.020.030.040.050.06Syndrom diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.png b/buch/papers/reedsolomon/RS presentation/images/fig7.png new file mode 100644 index 0000000..a850402 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig7.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.svg b/buch/papers/reedsolomon/RS presentation/images/fig7.svg new file mode 100644 index 0000000..27c7622 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig7.svg @@ -0,0 +1,163 @@ + + +10203040506070809000.10.20.30.40.50.60.7Locator -- cgit v1.2.1 From a9001166bb9bef3dcef3ea2d19a552f9eeb74324 Mon Sep 17 00:00:00 2001 From: JODBaer <55744603+JODBaer@users.noreply.github.com> Date: Wed, 21 Apr 2021 11:31:56 +0200 Subject: Creat gitignor --- buch/papers/reedsolomon/.gitignor | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 buch/papers/reedsolomon/.gitignor (limited to 'buch') diff --git a/buch/papers/reedsolomon/.gitignor b/buch/papers/reedsolomon/.gitignor new file mode 100644 index 0000000..5f0787b --- /dev/null +++ b/buch/papers/reedsolomon/.gitignor @@ -0,0 +1,12 @@ +RS*.aux +RS*.bbl +RS*.bib +RS*.blg +RS*.idx +RS*.ilg +RS*.ind +RS*.log +RS*.out +RS*.pdf +RS*.run.xml +RS*.toc -- cgit v1.2.1 From b804afc336594a0c0a1ecec56c96d02bb97427f4 Mon Sep 17 00:00:00 2001 From: JODBaer <55744603+JODBaer@users.noreply.github.com> Date: Wed, 21 Apr 2021 12:39:57 +0200 Subject: update gitignor --- buch/papers/reedsolomon/.gitignor | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'buch') diff --git a/buch/papers/reedsolomon/.gitignor b/buch/papers/reedsolomon/.gitignor index 5f0787b..466d238 100644 --- a/buch/papers/reedsolomon/.gitignor +++ b/buch/papers/reedsolomon/.gitignor @@ -10,3 +10,15 @@ RS*.out RS*.pdf RS*.run.xml RS*.toc +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb -- cgit v1.2.1 From 44b5dcffb75c9f7dc0d28fd5af9794608cd9b395 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 12:47:00 +0200 Subject: Presentation#1 --- buch/papers/reedsolomon/RS presentation/RS.aux | 29 +- buch/papers/reedsolomon/RS presentation/RS.bbl | 0 buch/papers/reedsolomon/RS presentation/RS.log | 698 +++++++++++-------- buch/papers/reedsolomon/RS presentation/RS.nav | 19 +- buch/papers/reedsolomon/RS presentation/RS.out | 1 + buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 53965 -> 117082 bytes .../reedsolomon/RS presentation/RS.synctex.gz | Bin 3637 -> 6763 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 50 +- buch/papers/reedsolomon/RS presentation/RS.toc | 1 + buch/papers/reedsolomon/RS presentation/Thumbs.db | Bin 89088 -> 0 bytes .../reedsolomon/RS presentation/images/fig1.pdf | Bin 3071 -> 11898 bytes .../RS presentation/images/fig1.pdf_tex | 81 --- .../reedsolomon/RS presentation/images/fig1.png | Bin 27373 -> 0 bytes .../reedsolomon/RS presentation/images/fig2.pdf | Bin 0 -> 13901 bytes .../reedsolomon/RS presentation/images/fig2.png | Bin 30489 -> 0 bytes .../reedsolomon/RS presentation/images/fig3.pdf | Bin 0 -> 13099 bytes .../reedsolomon/RS presentation/images/fig3.png | Bin 16007 -> 0 bytes .../reedsolomon/RS presentation/images/fig4.pdf | Bin 0 -> 14995 bytes .../reedsolomon/RS presentation/images/fig4.png | Bin 27548 -> 0 bytes .../reedsolomon/RS presentation/images/fig5.pdf | Bin 0 -> 13298 bytes .../reedsolomon/RS presentation/images/fig5.png | Bin 30167 -> 0 bytes .../reedsolomon/RS presentation/images/fig6.pdf | Bin 0 -> 13688 bytes .../reedsolomon/RS presentation/images/fig6.png | Bin 22604 -> 0 bytes .../reedsolomon/RS presentation/images/fig7.pdf | Bin 0 -> 13278 bytes .../reedsolomon/RS presentation/images/fig7.png | Bin 28677 -> 0 bytes .../RS presentation/images/polynom1.aux | 1 + .../RS presentation/images/polynom1.log | 747 +++++++++++++++++++++ .../RS presentation/images/polynom1.pdf | Bin 0 -> 5938 bytes .../RS presentation/images/polynom1.synctex.gz | Bin 0 -> 2399 bytes .../RS presentation/images/polynom1.tex | 59 ++ .../RS presentation/images/polynom2.aux | 1 + .../RS presentation/images/polynom2.log | 747 +++++++++++++++++++++ .../RS presentation/images/polynom2.pdf | Bin 0 -> 6995 bytes .../RS presentation/images/polynom2.synctex.gz | Bin 0 -> 2410 bytes .../RS presentation/images/polynom2.tex | 57 ++ 35 files changed, 2127 insertions(+), 364 deletions(-) delete mode 100644 buch/papers/reedsolomon/RS presentation/RS.bbl delete mode 100644 buch/papers/reedsolomon/RS presentation/Thumbs.db delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.aux create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.log create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.tex create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.aux create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.log create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index 17ce46b..fff632d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -14,17 +14,28 @@ \fi} \global\let\hyper@last\relax \gdef\HyperFirstAtBeginDocument#1{#1} -\providecommand\HyField@AuxAddToFields[1]{} -\providecommand\HyField@AuxAddToCoFields[2]{} -\@nameuse{bbl@beforestart} +\providecommand*\HyPL@Entry[1]{} +\bbl@beforestart \catcode `"\active +\HyPL@Entry{0<>} \babel@aux{ngerman}{} \@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} -\@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}}} +\HyPL@Entry{1<>} +\@writefile{toc}{\beamer@sectionintoc {1}{Introduction}{2}{0}{1}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}}} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {2}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {2}}} +\HyPL@Entry{2<>} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {3}{9}}} +\HyPL@Entry{9<>} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {10}{11}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{11}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{11}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {11}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {4}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.bbl b/buch/papers/reedsolomon/RS presentation/RS.bbl deleted file mode 100644 index e69de29..0000000 diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index f7dc931..824b9b5 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,10 +1,10 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/W32TeX) (preloaded format=pdflatex 2019.11.30) 20 APR 2021 12:21 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:30 entering extended mode restricted \write18 enabled. %&-line parsing enabled. **RS.tex (./RS.tex -LaTeX2e <2019-10-01> patch level 3 +LaTeX2e <2019-10-01> patch level 1 (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamer.cls Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemodes.sty @@ -24,12 +24,9 @@ Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) \beamer@commentbox=\box29 \beamer@modecount=\count85 ) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifpdf.sty -Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead. - -(c:/texlive/2019/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2019/11/07 v1.0c TeX engine tests -)) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) \headdp=\dimen102 \footheight=\dimen103 \sidebarheight=\dimen104 @@ -84,11 +81,12 @@ Package: keyval 2014/10/28 v1.15 key=value parser (DPC) (c:/texlive/2019/texmf-dist/tex/latex/geometry/geometry.sty Package: geometry 2018/04/16 v5.8 Page Geometry -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifvtex.sty -Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. ) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifxetex.sty -Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional ) \Gm@cnth=\count105 \Gm@cntv=\count106 @@ -104,14 +102,14 @@ Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. \Gm@dimlist=\toks15 ) (c:/texlive/2019/texmf-dist/tex/latex/base/size11.clo -File: size11.clo 2019/10/25 v1.4k Standard LaTeX file (size option) +File: size11.clo 2019/08/27 v1.4j Standard LaTeX file (size option) ) (c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty (c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) (c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR) +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) (c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty Package: trig 2016/01/03 v1.10 sin cos tan (DPC) @@ -119,10 +117,10 @@ Package: trig 2016/01/03 v1.10 sin cos tan (DPC) (c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration ) -Package graphics Info: Driver file: pdftex.def on input line 105. +Package graphics Info: Driver file: xetex.def on input line 105. -(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/pdftex.def -File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex )) \Gin@req@height=\dimen126 \Gin@req@width=\dimen127 @@ -178,18 +176,23 @@ Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) ) -Driver file for pgf: pgfsys-pdftex.def +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) -(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def -File: pgfsys-pdftex.def 2019/08/03 v3.1.4b (3.1.4b) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count113 ))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) -\pgfsyssoftpath@smallbuffer@items=\count113 -\pgfsyssoftpath@bigbuffer@items=\count114 +\pgfsyssoftpath@smallbuffer@items=\count114 +\pgfsyssoftpath@bigbuffer@items=\count115 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) @@ -199,9 +202,8 @@ Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) (c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg File: color.cfg 2016/01/02 v1.6 sample color configuration ) -Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Driver file: xetex.def on input line 225. Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. -Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. Package xcolor Info: Model `RGB' extended on input line 1364. Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. @@ -218,7 +220,7 @@ Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex \pgfmath@dimen=\dimen140 -\pgfmath@count=\count115 +\pgfmath@count=\count116 \pgfmath@box=\box37 \pgfmath@toks=\toks23 \pgfmath@stack@operand=\toks24 @@ -242,7 +244,7 @@ x) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm etics.code.tex))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex -\c@pgfmathroundto@lastzeros=\count116 +\c@pgfmathroundto@lastzeros=\count117 )) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex @@ -279,7 +281,7 @@ File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) \pgfpic=\box38 \pgf@hbox=\box39 \pgf@layerbox@main=\box40 -\pgf@picture@serial@count=\count117 +\pgf@picture@serial@count=\count118 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code .tex @@ -310,8 +312,8 @@ File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) \pgf@max=\dimen164 -\pgf@sys@shading@range@num=\count118 -\pgf@shadingcount=\count119 +\pgf@sys@shading@range@num=\count119 +\pgf@shadingcount=\count120 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) @@ -333,8 +335,8 @@ File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) ))) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty Package: xxcolor 2003/10/24 ver 0.1 -\XC@nummixins=\count120 -\XC@countmixins=\count121 +\XC@nummixins=\count121 +\XC@countmixins=\count122 ) (c:/texlive/2019/texmf-dist/tex/generic/oberdiek/atbegshi.sty Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) @@ -346,41 +348,46 @@ Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) )) (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2019/11/10 v7.00c Hypertext links for LaTeX +Package: hyperref 2019/09/28 v7.00a Hypertext links for LaTeX -(c:/texlive/2019/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty -Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO -) -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifluatex.sty -Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. -))) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package hobsub Info: Skipping package `infwarerr' (already loaded). +Package hobsub Info: Skipping package `ltxcmds' (already loaded). +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package hobsub Info: Skipping package `ifvtex' (already loaded). +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package hobsub Info: Skipping package `ifpdf' (already loaded). +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2019/07/25 v0.30 Utility functions of pdfTeX for LuaTeX (HO ) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/pdfescape.sty +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: pdfTeX >= 1.30 not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode not found. Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO ) -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hycolor.sty -Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) - -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty -Package: xcolor-patch 2016/05/16 xcolor patch - -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hopatch.sty -Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) -))) -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/letltxmacro.sty +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package hobsub Info: Skipping package `atbegshi' (already loaded). +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) ) (c:/texlive/2019/texmf-dist/tex/latex/oberdiek/auxhook.sty Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) @@ -389,85 +396,79 @@ Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) ) \@linkdim=\dimen165 -\Hy@linkcounter=\count122 -\Hy@pagecounter=\count123 +\Hy@linkcounter=\count123 +\Hy@pagecounter=\count124 (c:/texlive/2019/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2019/11/10 v7.00c Hyperref: PDFDocEncoding definition (HO) -Now handling font encoding PD1 ... -... no UTF-8 mapping file for font encoding PD1 -) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/intcalc.sty -Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +File: pd1enc.def 2019/09/28 v7.00a Hyperref: PDFDocEncoding definition (HO) ) -\Hy@SavedSpaceFactor=\count124 +\Hy@SavedSpaceFactor=\count125 (c:/texlive/2019/texmf-dist/tex/latex/latexconfig/hyperref.cfg File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive ) -Package hyperref Info: Option `bookmarks' set `true' on input line 4409. -Package hyperref Info: Option `bookmarksopen' set `true' on input line 4409. -Package hyperref Info: Option `implicit' set `false' on input line 4409. -Package hyperref Info: Hyper figures OFF on input line 4535. -Package hyperref Info: Link nesting OFF on input line 4540. -Package hyperref Info: Hyper index ON on input line 4543. -Package hyperref Info: Plain pages OFF on input line 4550. -Package hyperref Info: Backreferencing OFF on input line 4555. +Package hyperref Info: Option `bookmarks' set `true' on input line 4414. +Package hyperref Info: Option `bookmarksopen' set `true' on input line 4414. +Package hyperref Info: Option `implicit' set `false' on input line 4414. +Package hyperref Info: Hyper figures OFF on input line 4540. +Package hyperref Info: Link nesting OFF on input line 4545. +Package hyperref Info: Hyper index ON on input line 4548. +Package hyperref Info: Plain pages OFF on input line 4555. +Package hyperref Info: Backreferencing OFF on input line 4560. Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. -Package hyperref Info: Bookmarks ON on input line 4788. -\c@Hy@tempcnt=\count125 +Package hyperref Info: Bookmarks ON on input line 4793. +\c@Hy@tempcnt=\count126 (c:/texlive/2019/texmf-dist/tex/latex/url/url.sty \Urlmuskip=\muskip10 Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. ) -LaTeX Info: Redefining \url on input line 5147. +LaTeX Info: Redefining \url on input line 5152. \XeTeXLinkMargin=\dimen166 - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bitset.sty -Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bigintcalc.sty -Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO -) -)) -\Fld@menulength=\count126 +\Fld@menulength=\count127 \Field@Width=\dimen167 \Fld@charsize=\dimen168 -Package hyperref Info: Hyper figures OFF on input line 6418. -Package hyperref Info: Link nesting OFF on input line 6423. -Package hyperref Info: Hyper index ON on input line 6426. -Package hyperref Info: backreferencing OFF on input line 6433. -Package hyperref Info: Link coloring OFF on input line 6438. -Package hyperref Info: Link coloring with OCG OFF on input line 6443. -Package hyperref Info: PDF/A mode OFF on input line 6448. -LaTeX Info: Redefining \ref on input line 6488. -LaTeX Info: Redefining \pageref on input line 6492. -\Hy@abspage=\count127 +Package hyperref Info: Hyper figures OFF on input line 6423. +Package hyperref Info: Link nesting OFF on input line 6428. +Package hyperref Info: Hyper index ON on input line 6431. +Package hyperref Info: backreferencing OFF on input line 6438. +Package hyperref Info: Link coloring OFF on input line 6443. +Package hyperref Info: Link coloring with OCG OFF on input line 6448. +Package hyperref Info: PDF/A mode OFF on input line 6453. +LaTeX Info: Redefining \ref on input line 6493. +LaTeX Info: Redefining \pageref on input line 6497. +\Hy@abspage=\count128 Package hyperref Message: Stopped early. ) -Package hyperref Info: Driver (autodetected): hpdftex. - (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hpdftex.def -File: hpdftex.def 2019/11/10 v7.00c Hyperref driver for pdfTeX +Package hyperref Info: Driver (autodetected): hxetex. + (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hxetex.def +File: hxetex.def 2019/09/28 v7.00a Hyperref driver for XeTeX -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/atveryend.sty -Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2019/09/28 v7.00a Hyperref: PDF Unicode definition (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/stringenc.sty +Package: stringenc 2016/05/16 v1.11 Convert strings between diff. encodings (HO ) -\Fld@listcount=\count128 -\c@bookmark@seq@number=\count129 +) +\pdfm@box=\box42 +\c@Hy@AnnotLevel=\count129 +\HyField@AnnotCount=\count130 +\Fld@listcount=\count131 +\c@bookmark@seq@number=\count132 (c:/texlive/2019/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/uniquecounter.sty -Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) -) Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 -85. +82. )) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/se-ascii-print.def +File: se-ascii-print.def 2016/05/16 v1.11 stringenc: Printable ASCII characters + +) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaserequires.sty (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasefont.sty @@ -496,50 +497,50 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty -\beamer@argscount=\count130 +\beamer@argscount=\count133 \beamer@lastskipcover=\skip44 -\beamer@trivlistdepth=\count131 +\beamer@trivlistdepth=\count134 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasesection.sty -\c@lecture=\count132 -\c@part=\count133 -\c@section=\count134 -\c@subsection=\count135 -\c@subsubsection=\count136 +\c@lecture=\count135 +\c@part=\count136 +\c@section=\count137 +\c@subsection=\count138 +\c@subsubsection=\count139 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframe.sty -\beamer@framebox=\box42 -\beamer@frametitlebox=\box43 -\beamer@zoombox=\box44 -\beamer@zoomcount=\count137 -\beamer@zoomframecount=\count138 +\beamer@framebox=\box43 +\beamer@frametitlebox=\box44 +\beamer@zoombox=\box45 +\beamer@zoomcount=\count140 +\beamer@zoomframecount=\count141 \beamer@frametextheight=\dimen169 -\c@subsectionslide=\count139 +\c@subsectionslide=\count142 \beamer@frametopskip=\skip45 \beamer@framebottomskip=\skip46 \beamer@frametopskipautobreak=\skip47 \beamer@framebottomskipautobreak=\skip48 \beamer@envbody=\toks27 \framewidth=\dimen170 -\c@framenumber=\count140 +\c@framenumber=\count143 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty \beamer@verbatimfileout=\write4 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty -\beamer@splitbox=\box45 -\beamer@autobreakcount=\count141 +\beamer@splitbox=\box46 +\beamer@autobreakcount=\count144 \beamer@autobreaklastheight=\dimen171 \beamer@frametitletoks=\toks28 \beamer@framesubtitletoks=\toks29 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty -\beamer@footins=\box46 +\beamer@footins=\box47 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenotes.sty -\beamer@frameboxcopy=\box47 +\beamer@frameboxcopy=\box48 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty @@ -547,11 +548,11 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty -\bmb@box=\box48 -\bmb@colorbox=\box49 -\bmb@boxshadow=\box50 -\bmb@boxshadowball=\box51 -\bmb@boxshadowballlarge=\box52 +\bmb@box=\box49 +\bmb@colorbox=\box50 +\bmb@boxshadow=\box51 +\bmb@boxshadowball=\box52 +\bmb@boxshadowballlarge=\box53 \bmb@temp=\dimen172 \bmb@dima=\dimen173 \bmb@dimb=\dimen174 @@ -564,8 +565,8 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) \@enLab=\toks31 ) -\c@figure=\count142 -\c@table=\count143 +\c@figure=\count145 +\c@table=\count146 \abovecaptionskip=\skip49 \belowcaptionskip=\skip50 ) @@ -574,7 +575,7 @@ Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty (c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty -Package: amsmath 2019/11/16 v2.17d AMS math features +Package: amsmath 2019/04/01 v2.17c AMS math features \@mathmargin=\skip51 For additional information on amsmath, use the `?' option. @@ -593,30 +594,30 @@ Package: amsbsy 1999/11/29 v1.2d Bold Symbols (c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty Package: amsopn 2016/03/08 v2.02 operator names ) -\inf@bad=\count144 +\inf@bad=\count147 LaTeX Info: Redefining \frac on input line 227. -\uproot@=\count145 -\leftroot@=\count146 +\uproot@=\count148 +\leftroot@=\count149 LaTeX Info: Redefining \overline on input line 389. -\classnum@=\count147 -\DOTSCASE@=\count148 +\classnum@=\count150 +\DOTSCASE@=\count151 LaTeX Info: Redefining \ldots on input line 486. LaTeX Info: Redefining \dots on input line 489. LaTeX Info: Redefining \cdots on input line 610. -\Mathstrutbox@=\box53 -\strutbox@=\box54 +\Mathstrutbox@=\box54 +\strutbox@=\box55 \big@size=\dimen180 LaTeX Font Info: Redeclaring font encoding OML on input line 733. LaTeX Font Info: Redeclaring font encoding OMS on input line 734. -\macc@depth=\count149 -\c@MaxMatrixCols=\count150 +\macc@depth=\count152 +\c@MaxMatrixCols=\count153 \dotsspace@=\muskip11 -\c@parentequation=\count151 -\dspbrk@lvl=\count152 +\c@parentequation=\count154 +\dspbrk@lvl=\count155 \tag@help=\toks33 -\row@=\count153 -\column@=\count154 -\maxfields@=\count155 +\row@=\count156 +\column@=\count157 +\maxfields@=\count158 \andhelp@=\toks34 \eqnshift@=\dimen181 \alignsep@=\dimen182 @@ -628,8 +629,8 @@ LaTeX Font Info: Redeclaring font encoding OMS on input line 734. \multlinegap=\skip52 \multlinetaggap=\skip53 \mathdisplay@stack=\toks36 -LaTeX Info: Redefining \[ on input line 2858. -LaTeX Info: Redefining \] on input line 2859. +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. ) (c:/texlive/2019/texmf-dist/tex/latex/amscls/amsthm.sty Package: amsthm 2017/10/31 v2.20.4 @@ -643,7 +644,7 @@ Package: amsthm 2017/10/31 v2.20.4 \thm@headsep=\skip56 \dth@everypar=\toks42 ) -\c@theorem=\count156 +\c@theorem=\count159 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemedefault.sty @@ -658,13 +659,22 @@ Package: amsthm 2017/10/31 v2.20.4 Package: inputenc 2018/08/11 v1.3c Input encoding file \inpenc@prehook=\toks43 \inpenc@posthook=\toks44 -) -(c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty + + +Package inputenc Warning: inputenc package ignored with utf8 based engines. + +) (c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty Package: fontenc 2018/08/11 v2.0j Standard LaTeX package (c:/texlive/2019/texmf-dist/tex/latex/base/t1enc.def File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +) +LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 +05. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd +File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern )) (c:/texlive/2019/texmf-dist/tex/latex/lm/lmodern.sty Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts @@ -702,10 +712,10 @@ LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' (Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. ) (c:/texlive/2019/texmf-dist/tex/generic/babel/babel.sty -Package: babel 2019/11/14 3.36 The Babel package +Package: babel 2019/10/15 3.35 The Babel package (c:/texlive/2019/texmf-dist/tex/generic/babel/switch.def -File: switch.def 2019/11/14 3.36 Babel switching mechanism +File: switch.def 2019/10/15 3.35 Babel switching mechanism ) (c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngerman.ldf Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra @@ -716,50 +726,122 @@ Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr aphy) (c:/texlive/2019/texmf-dist/tex/generic/babel/babel.def -File: babel.def 2019/11/14 3.36 Babel common definitions -\babel@savecnt=\count157 +File: babel.def 2019/10/15 3.35 Babel common definitions +\babel@savecnt=\count160 \U@D=\dimen189 -(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def) -LaTeX Info: Redefining \textlatin on input line 2250. -\bbl@dirlevel=\count158 +(c:/texlive/2019/texmf-dist/tex/generic/babel/xebabel.def +(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def)) +LaTeX Info: Redefining \textlatin on input line 2185. +\bbl@dirlevel=\count161 ) Package babel Info: Making " an active character on input line 121. ))) -(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty -(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty -\beamer@sidebarwidth=\dimen190 -\beamer@headheight=\dimen191 -LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 -7. +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) -(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd -File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box56 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen190 +\pgf@nodesepend=\dimen191 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen192 +\pgffor@skip=\dimen193 +\pgffor@stack=\toks45 +\pgffor@toks=\toks46 )) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count162 +\pgfplotmarksize=\dimen194 +) +\tikz@lastx=\dimen195 +\tikz@lasty=\dimen196 +\tikz@lastxsaved=\dimen197 +\tikz@lastysaved=\dimen198 +\tikz@lastmovetox=\dimen199 +\tikz@lastmovetoy=\dimen256 +\tikzleveldistance=\dimen257 +\tikzsiblingdistance=\dimen258 +\tikz@figbox=\box57 +\tikz@figbox@bg=\box58 +\tikz@tempbox=\box59 +\tikz@tempbox@bg=\box60 +\tikztreelevel=\count163 +\tikznumberofchildren=\count164 +\tikznumberofcurrentchild=\count165 +\tikz@fig@count=\count166 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count167 +\pgfmatrixcurrentcolumn=\count168 +\pgf@matrix@numberofcolumns=\count169 +) +\tikz@expandcount=\count170 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty +\beamer@sidebarwidth=\dimen259 +\beamer@headheight=\dimen260 +) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemeseahorse.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemecircles.sty)) (./RS.aux) \openout1 = `RS.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. *geometry* driver: auto-detecting -*geometry* detected driver: pdftex +*geometry* detected driver: xetex *geometry* verbose mode - [ preamble ] result: -* driver: pdftex +* driver: xetex * paper: custom * layout: * layoutoffset:(h,v)=(0.0pt,0.0pt) @@ -790,96 +872,71 @@ LaTeX Font Info: ... okay on input line 7. * \@reversemarginfalse * (1in=72.27pt=25.4mm, 1cm=28.453pt) -(c:/texlive/2019/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count159 -\scratchdimen=\dimen192 -\scratchbox=\box55 -\nofMPsegments=\count160 -\nofMParguments=\count161 -\everyMPshowfont=\toks45 -\MPscratchCnt=\count162 -\MPscratchDim=\dimen193 -\MPnumerator=\count163 -\makeMPintoPDFobject=\count164 -\everyMPtoPDFconversion=\toks46 -) (c:/texlive/2019/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty -Package: epstopdf-base 2019/11/27 v2.8 Base part for package epstopdf -Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 -85. - -(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv -e -)) ABD: EveryShipout initializing macros -\AtBeginShipoutBox=\box56 -Package hyperref Info: Link coloring OFF on input line 7. +\AtBeginShipoutBox=\box61 +Package hyperref Info: Link coloring OFF on input line 9. (c:/texlive/2019/texmf-dist/tex/latex/hyperref/nameref.sty Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/refcount.sty -Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) -) (c:/texlive/2019/texmf-dist/tex/generic/oberdiek/gettitlestring.sty Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) ) -\c@section@level=\count165 +\c@section@level=\count171 ) -LaTeX Info: Redefining \ref on input line 7. -LaTeX Info: Redefining \pageref on input line 7. -LaTeX Info: Redefining \nameref on input line 7. +LaTeX Info: Redefining \ref on input line 9. +LaTeX Info: Redefining \pageref on input line 9. +LaTeX Info: Redefining \nameref on input line 9. (./RS.out) (./RS.out) \@outlinefile=\write5 \openout5 = `RS.out'. LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 7. +(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 7. +(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 7. +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 7. +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 9. \symnumbers=\mathgroup6 \sympureletters=\mathgroup7 LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' -(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 7. +(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' -(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 7. +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' -(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 7. +(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathit on input line 7. +(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' -(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 7. +(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 7. +(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' -(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' -(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' -(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' -(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 7. +(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 7. +(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 9. (c:/texlive/2019/texmf-dist/tex/latex/translator/translator-basic-dictionary-En glish.dict @@ -907,15 +964,135 @@ Dictionary: translator-theorem-dictionary, Language: English ) (./RS.nav) Package hyperref Warning: Option `pdfauthor' has already been used, -(hyperref) setting the option has no effect on input line 8. +(hyperref) setting the option has no effect on input line 10. Package hyperref Warning: Option `pdfsubject' has already been used, -(hyperref) setting the option has no effect on input line 14. +(hyperref) setting the option has no effect on input line 16. [1 -{c:/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2 +] [2 + +] +File: images/fig1.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[3 + +] +File: images/fig2.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[4 + +] +File: images/fig3.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[5 + +] +File: images/fig4.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[6 + +] +File: images/fig5.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[7 + +] +File: images/fig6.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[8 + +] +File: images/fig7.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[9 + +] +LaTeX Font Info: Trying to load font information for OT1+lmss on input line +66. + (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd +File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OML+lmm on input line 6 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMS+lmsy on input line +66. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMX+lmex on input line +66. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10.95> on input line 66. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 66. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 66. +LaTeX Font Info: Trying to load font information for U+msa on input line 66. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 66. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +File: images/polynom1.pdf Graphic file (type pdf) + + [10 + +] +File: images/polynom2.pdf Graphic file (type pdf) + + [11 ] \tf@nav=\write6 @@ -927,30 +1104,21 @@ Package hyperref Warning: Option `pdfsubject' has already been used, \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 25. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 25. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 68. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 68. (./RS.aux) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 25. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 25. +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 68. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 68. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. +(rerunfilecheck) Checksum: 4CA0FF56E3EE124326A4720E136735D1. ) Here is how much of TeX's memory you used: - 18359 strings out of 492164 - 341776 string characters out of 6129087 - 431862 words of memory out of 5000000 - 22272 multiletter control sequences out of 15000+600000 - 19654 words of font info for 23 fonts, out of 8000000 for 9000 - 1141 hyphenation exceptions out of 8191 - 58i,12n,57p,796b,459s stack positions out of 5000i,500n,10000p,200000b,80000s -{c:/texlive/2019/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc} -Output written on RS.pdf (2 pages, 53965 bytes). -PDF statistics: - 42 PDF objects out of 1000 (max. 8388607) - 28 compressed objects within 1 object stream - 5 named destinations out of 1000 (max. 500000) - 43 words of extra memory for PDF output out of 10000 (max. 10000000) + 24329 strings out of 492483 + 450480 string characters out of 6132858 + 528380 words of memory out of 5000000 + 28307 multiletter control sequences out of 15000+600000 + 37892 words of font info for 41 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 58i,15n,57p,796b,539s stack positions out of 5000i,500n,10000p,200000b,80000s +Output written on RS.pdf (11 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 9033d8b..3edba3c 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -1,9 +1,16 @@ \headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} \headcommand {\beamer@framepages {1}{1}} -\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}} +\headcommand {\beamer@sectionpages {1}{1}} +\headcommand {\beamer@subsectionpages {1}{1}} +\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}} +\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} \headcommand {\beamer@framepages {2}{2}} -\headcommand {\beamer@partpages {1}{2}} -\headcommand {\beamer@subsectionpages {1}{2}} -\headcommand {\beamer@sectionpages {1}{2}} -\headcommand {\beamer@documentpages {2}} -\headcommand {\gdef \inserttotalframenumber {2}} +\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}} +\headcommand {\beamer@framepages {3}{9}} +\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}} +\headcommand {\beamer@framepages {10}{11}} +\headcommand {\beamer@partpages {1}{11}} +\headcommand {\beamer@subsectionpages {2}{11}} +\headcommand {\beamer@sectionpages {2}{11}} +\headcommand {\beamer@documentpages {11}} +\headcommand {\gdef \inserttotalframenumber {4}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index e69de29..dec2d7d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -0,0 +1 @@ +\BOOKMARK [2][]{Outline0.1}{Introduction}{}% 1 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index 459d7e8..10719b7 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index fe8adf5..2fe95de 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 3d2be8f..fb822da 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -3,7 +3,9 @@ \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[ngerman]{babel} +\usepackage{tikz} \usetheme{Hannover} + \begin{document} \author{Joshua Bär und Michael Steiner} \title{Reed-Solomon-Code} @@ -17,9 +19,51 @@ \begin{frame}[plain] \maketitle \end{frame} - + \section{Introduction} + \begin{frame} + \frametitle{Idee} + + \end{frame} + \begin{frame} - \frametitle{Test} - Ich mag Züge. + \begin{figure} + \only<1>{ + \includegraphics[width=0.9\linewidth]{images/fig1.pdf} + } + \only<2>{ + \includegraphics[width=0.9\linewidth]{images/fig2.pdf} + } + \only<3>{ + \includegraphics[width=0.9\linewidth]{images/fig3.pdf} + } + \only<4>{ + \includegraphics[width=0.9\linewidth]{images/fig4.pdf} + } + \only<5>{ + \includegraphics[width=0.9\linewidth]{images/fig5.pdf} + } + \only<6>{ + \includegraphics[width=0.9\linewidth]{images/fig6.pdf} + } + \only<7>{ + \includegraphics[width=0.9\linewidth]{images/fig7.pdf} + } + \end{figure} \end{frame} + + \begin{frame} + Übertragen von den Zahlen + \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} + als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{green}{15}, \textcolor{green}{26}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \only<1>{ + \includegraphics[]{images/polynom1.pdf}} + \only<2>{ + \includegraphics[]{images/polynom2.pdf}} + \end{frame} + + \end{document} \ No newline at end of file diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index 4cd1c86..32e7e8d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1 +1,2 @@ \babel@toc {ngerman}{} +\beamer@sectionintoc {1}{Introduction}{2}{0}{1} diff --git a/buch/papers/reedsolomon/RS presentation/Thumbs.db b/buch/papers/reedsolomon/RS presentation/Thumbs.db deleted file mode 100644 index 1626e26..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/Thumbs.db and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf index 5cff7fe..abde60c 100644 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf and b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex deleted file mode 100644 index cb323ae..0000000 --- a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex +++ /dev/null @@ -1,81 +0,0 @@ -%% Creator: Inkscape 1.0.2 (e86c870879, 2021-01-15, custom), www.inkscape.org -%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 -%% Accompanies image file 'fig1.pdf' (pdf, eps, ps) -%% -%% To include the image in your LaTeX document, write -%% \input{.pdf_tex} -%% instead of -%% \includegraphics{.pdf} -%% To scale the image, write -%% \def\svgwidth{} -%% \input{.pdf_tex} -%% instead of -%% \includegraphics[width=]{.pdf} -%% -%% Images with a different path to the parent latex file can -%% be accessed with the `import' package (which may need to be -%% installed) using -%% \usepackage{import} -%% in the preamble, and then including the image with -%% \import{}{.pdf_tex} -%% Alternatively, one can specify -%% \graphicspath{{/}} -%% -%% For more information, please see info/svg-inkscape on CTAN: -%% http://tug.ctan.org/tex-archive/info/svg-inkscape -%% -\begingroup% - \makeatletter% - \providecommand\color[2][]{% - \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% - \renewcommand\color[2][]{}% - }% - \providecommand\transparent[1]{% - \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% - \renewcommand\transparent[1]{}% - }% - \providecommand\rotatebox[2]{#2}% - \newcommand*\fsize{\dimexpr\f@size pt\relax}% - \newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}% - \ifx\svgwidth\undefined% - \setlength{\unitlength}{420bp}% - \ifx\svgscale\undefined% - \relax% - \else% - \setlength{\unitlength}{\unitlength * \real{\svgscale}}% - \fi% - \else% - \setlength{\unitlength}{\svgwidth}% - \fi% - \global\let\svgwidth\undefined% - \global\let\svgscale\undefined% - \makeatother% - \begin{picture}(1,0.75)% - \lineheight{1}% - \setlength\tabcolsep{0pt}% - \put(0,0){\includegraphics[width=\unitlength,page=1]{fig1.pdf}}% - \put(0.19038536,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% - \put(0.27196429,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}20\end{tabular}}}}% - \put(0.35354321,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}30\end{tabular}}}}% - \put(0.43512214,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}40\end{tabular}}}}% - \put(0.51670107,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}50\end{tabular}}}}% - \put(0.59828,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}60\end{tabular}}}}% - \put(0.67985893,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}70\end{tabular}}}}% - \put(0.76143804,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}80\end{tabular}}}}% - \put(0.84301696,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}90\end{tabular}}}}% - \put(0,0){\includegraphics[width=\unitlength,page=2]{fig1.pdf}}% - \put(0.10654768,0.07232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0\end{tabular}}}}% - \put(0.10654768,0.13357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1\end{tabular}}}}% - \put(0.10654768,0.19482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2\end{tabular}}}}% - \put(0.10654768,0.25607143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}3\end{tabular}}}}% - \put(0.10654768,0.31732143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}4\end{tabular}}}}% - \put(0.10654768,0.37857143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}5\end{tabular}}}}% - \put(0.10654768,0.43982143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}6\end{tabular}}}}% - \put(0.10654768,0.50107143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}7\end{tabular}}}}% - \put(0.10654768,0.56232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}8\end{tabular}}}}% - \put(0.10654768,0.62357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}9\end{tabular}}}}% - \put(0.09404768,0.68482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% - \put(0.47857196,0.70669643){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}\textbf{Signal}\end{tabular}}}}% - \put(0,0){\includegraphics[width=\unitlength,page=3]{fig1.pdf}}% - \end{picture}% -\endgroup% diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.png b/buch/papers/reedsolomon/RS presentation/images/fig1.png deleted file mode 100644 index a0395d7..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig1.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.pdf b/buch/papers/reedsolomon/RS presentation/images/fig2.pdf new file mode 100644 index 0000000..8281ce7 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig2.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.png b/buch/papers/reedsolomon/RS presentation/images/fig2.png deleted file mode 100644 index bd8faa0..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig2.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.pdf b/buch/papers/reedsolomon/RS presentation/images/fig3.pdf new file mode 100644 index 0000000..7d29d1e Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig3.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.png b/buch/papers/reedsolomon/RS presentation/images/fig3.png deleted file mode 100644 index e14358d..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig3.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.pdf b/buch/papers/reedsolomon/RS presentation/images/fig4.pdf new file mode 100644 index 0000000..394a673 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig4.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.png b/buch/papers/reedsolomon/RS presentation/images/fig4.png deleted file mode 100644 index 1821c3b..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig4.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.pdf b/buch/papers/reedsolomon/RS presentation/images/fig5.pdf new file mode 100644 index 0000000..37416a9 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig5.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.png b/buch/papers/reedsolomon/RS presentation/images/fig5.png deleted file mode 100644 index e4abbaa..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig5.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.pdf b/buch/papers/reedsolomon/RS presentation/images/fig6.pdf new file mode 100644 index 0000000..61cbc01 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig6.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.png b/buch/papers/reedsolomon/RS presentation/images/fig6.png deleted file mode 100644 index 5447949..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig6.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.pdf b/buch/papers/reedsolomon/RS presentation/images/fig7.pdf new file mode 100644 index 0000000..7397ffe Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig7.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.png b/buch/papers/reedsolomon/RS presentation/images/fig7.png deleted file mode 100644 index a850402..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig7.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.aux b/buch/papers/reedsolomon/RS presentation/images/polynom1.aux new file mode 100644 index 0000000..f23e546 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.aux @@ -0,0 +1 @@ +\relax diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.log b/buch/papers/reedsolomon/RS presentation/images/polynom1.log new file mode 100644 index 0000000..183eaea --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.log @@ -0,0 +1,747 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:27 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**polynom1.tex +(./polynom1.tex +LaTeX2e <2019-10-01> patch level 1 +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cls +Document Class: standalone 2018/03/26 v1.3a Class to compile TeX sub-files stan +dalone +(c:/texlive/2019/texmf-dist/tex/latex/tools/shellesc.sty +Package: shellesc 2016/06/07 v0.02b unified shell escape interface for LaTeX +Package shellesc Info: Restricted shell escape enabled on input line 72. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +(c:/texlive/2019/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2014/12/03 v2.7a package option processing (HA) + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkeyval.tex +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks14 +\XKV@tempa@toks=\toks15 + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count80 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +\sa@internal=\count81 +\c@sapage=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cfg +File: standalone.cfg 2018/03/26 v1.3a Default configuration file for 'standalon +e' class +) +(c:/texlive/2019/texmf-dist/tex/latex/base/article.cls +Document Class: article 2019/08/27 v1.4j Standard LaTeX document class +(c:/texlive/2019/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2019/08/27 v1.4j Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen103 +\pgfutil@tempdimb=\dimen104 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box27 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +)) +\Gin@req@height=\dimen105 +\Gin@req@width=\dimen106 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen107 +\pgf@y=\dimen108 +\pgf@xa=\dimen109 +\pgf@ya=\dimen110 +\pgf@xb=\dimen111 +\pgf@yb=\dimen112 +\pgf@xc=\dimen113 +\pgf@yc=\dimen114 +\pgf@xd=\dimen115 +\pgf@yd=\dimen116 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count91 +\c@pgf@countb=\count92 +\c@pgf@countc=\count93 +\c@pgf@countd=\count94 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count95 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count96 +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count97 +\pgfsyssoftpath@bigbuffer@items=\count98 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen117 +\pgfmath@count=\count99 +\pgfmath@box=\box28 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count100 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen118 +\pgf@picmaxx=\dimen119 +\pgf@picminy=\dimen120 +\pgf@picmaxy=\dimen121 +\pgf@pathminx=\dimen122 +\pgf@pathmaxx=\dimen123 +\pgf@pathminy=\dimen124 +\pgf@pathmaxy=\dimen125 +\pgf@xx=\dimen126 +\pgf@xy=\dimen127 +\pgf@yx=\dimen128 +\pgf@yy=\dimen129 +\pgf@zx=\dimen130 +\pgf@zy=\dimen131 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen132 +\pgf@path@lasty=\dimen133 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen134 +\pgf@shorten@start@additional=\dimen135 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box29 +\pgf@hbox=\box30 +\pgf@layerbox@main=\box31 +\pgf@picture@serial@count=\count101 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen136 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen137 +\pgf@pt@y=\dimen138 +\pgf@pt@temp=\dimen139 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen140 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen141 +\pgf@sys@shading@range@num=\count102 +\pgf@shadingcount=\count103 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box32 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.te +x +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box33 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen142 +\pgf@nodesepend=\dimen143 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen144 +\pgffor@skip=\dimen145 +\pgffor@stack=\toks26 +\pgffor@toks=\toks27 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count104 +\pgfplotmarksize=\dimen146 +) +\tikz@lastx=\dimen147 +\tikz@lasty=\dimen148 +\tikz@lastxsaved=\dimen149 +\tikz@lastysaved=\dimen150 +\tikz@lastmovetox=\dimen151 +\tikz@lastmovetoy=\dimen152 +\tikzleveldistance=\dimen153 +\tikzsiblingdistance=\dimen154 +\tikz@figbox=\box34 +\tikz@figbox@bg=\box35 +\tikz@tempbox=\box36 +\tikz@tempbox@bg=\box37 +\tikztreelevel=\count105 +\tikznumberofchildren=\count106 +\tikznumberofcurrentchild=\count107 +\tikz@fig@count=\count108 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count109 +\pgfmatrixcurrentcolumn=\count110 +\pgf@matrix@numberofcolumns=\count111 +) +\tikz@expandcount=\count112 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +\sa@box=\box38 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/04/01 v2.17c AMS math features +\@mathmargin=\skip43 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks28 +\ex@=\dimen155 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count113 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count114 +\leftroot@=\count115 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count116 +\DOTSCASE@=\count117 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box39 +\strutbox@=\box40 +\big@size=\dimen157 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count118 +\c@MaxMatrixCols=\count119 +\dotsspace@=\muskip10 +\c@parentequation=\count120 +\dspbrk@lvl=\count121 +\tag@help=\toks29 +\row@=\count122 +\column@=\count123 +\maxfields@=\count124 +\andhelp@=\toks30 +\eqnshift@=\dimen158 +\alignsep@=\dimen159 +\tagshift@=\dimen160 +\tagwidth@=\dimen161 +\totwidth@=\dimen162 +\lineht@=\dimen163 +\@envbody=\toks31 +\multlinegap=\skip44 +\multlinetaggap=\skip45 +\mathdisplay@stack=\toks32 +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. +) +(c:/texlive/2019/texmf-dist/tex/latex/psnfss/times.sty +Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) +) +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/txfonts.sty +Package: txfonts 2008/01/22 v3.2.1 +LaTeX Font Info: Redeclaring symbol font `operators' on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/txr/m/n --> OT1/txr/bx/n on input line 22. +\symitalic=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `italic' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 26. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 31. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/txss/m/n --> OT1/txss/b/n on input line 41. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/txtt/m/n --> OT1/txtt/b/n on input line 51. +LaTeX Font Info: Redeclaring symbol font `letters' on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/txmi/m/it --> OML/txmi/bx/it on input line 59. +\symlettersA=\mathgroup5 +LaTeX Font Info: Overwriting symbol font `lettersA' in version `bold' +(Font) U/txmia/m/it --> U/txmia/bx/it on input line 67. +LaTeX Font Info: Redeclaring symbol font `symbols' on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/txsy/m/n --> OMS/txsy/bx/n on input line 78. +\symAMSa=\mathgroup6 +LaTeX Font Info: Overwriting symbol font `AMSa' in version `bold' +(Font) U/txsya/m/n --> U/txsya/bx/n on input line 94. +\symAMSb=\mathgroup7 +LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold' +(Font) U/txsyb/m/n --> U/txsyb/bx/n on input line 103. +\symsymbolsC=\mathgroup8 +LaTeX Font Info: Overwriting symbol font `symbolsC' in version `bold' +(Font) U/txsyc/m/n --> U/txsyc/bx/n on input line 113. +LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/txex/m/n --> OMX/txex/bx/n on input line 121. +\symlargesymbolsA=\mathgroup9 +LaTeX Font Info: Overwriting symbol font `largesymbolsA' in version `bold' +(Font) U/txexa/m/n --> U/txexa/bx/n on input line 129. +LaTeX Font Info: Redeclaring math symbol \mathsterling on input line 164. +LaTeX Font Info: Redeclaring math symbol \hbar on input line 591. +LaTeX Info: Redefining \not on input line 1043. +) +(c:/texlive/2019/texmf-dist/tex/latex/pgfplots/pgfplots.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex) +Package: pgfplots 2018/03/28 v1.16 Data Visualization (1.16) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +\t@pgfplots@toka=\toks33 +\t@pgfplots@tokb=\toks34 +\t@pgfplots@tokc=\toks35 +\pgfplots@tmpa=\dimen164 +\c@pgfplots@coordindex=\count125 +\c@pgfplots@scanlineindex=\count126 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.te +x)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfs +upp_loader.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +cture.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +ctureext.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.co +de.tex +\c@pgfplotsarray@tmp=\count127 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.c +ode.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.c +ode.tex +\c@pgfplotstable@counta=\count128 +\t@pgfplotstable@a=\toks36 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code. +tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfsh +ading.code.tex +\c@pgfplotslibrarysurf@no=\count129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-xetex.def +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-dvipdfmx.def +\c@pgfplotslibrarysurf@streamlen=\count130 +)))) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.t +ex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex +))) (c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.t +ex +\pgfdecoratedcompleteddistance=\dimen165 +\pgfdecoratedremainingdistance=\dimen166 +\pgfdecoratedinputsegmentcompleteddistance=\dimen167 +\pgfdecoratedinputsegmentremainingdistance=\dimen168 +\pgf@decorate@distancetomove=\dimen169 +\pgf@decorate@repeatstate=\count131 +\pgfdecorationsegmentamplitude=\dimen170 +\pgfdecorationsegmentlength=\dimen171 +) +\tikz@lib@dec@box=\box41 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathmorphing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathmorphing.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathreplacing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathreplacing.code.tex)) +\pgfplots@numplots=\count132 +\pgfplots@xmin@reg=\dimen172 +\pgfplots@xmax@reg=\dimen173 +\pgfplots@ymin@reg=\dimen174 +\pgfplots@ymax@reg=\dimen175 +\pgfplots@zmin@reg=\dimen176 +\pgfplots@zmax@reg=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryplotmarks.code.tex +File: tikzlibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code. +tex +File: pgflibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/csvsimple/csvsimple.sty +Package: csvsimple 2019/04/09 version 1.21 LaTeX CSV file processing + +(c:/texlive/2019/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count133 +) +\csv@file=\read2 +\c@csvinputline=\count134 +\c@csvrow=\count135 +\c@csvcol=\count136 +\csv@out=\write4 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryarrows.code.tex +File: tikzlibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +File: pgflibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\arrowsize=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryintersections.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.c +ode.tex +\pgf@intersect@solutions=\count137 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarymath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryfpu.code.tex) +\tikz@math@for@depth=\count138 +\tikz@math@dimen=\dimen179 +\tikz@math@toks=\toks37 +) (./polynom1.aux) +\openout1 = `polynom1.aux'. + +LaTeX Font Info: Checking defaults for OML/txmi/m/it on input line 11. +LaTeX Font Info: Trying to load font information for OML+txmi on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omltxmi.fd +File: omltxmi.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/txsy/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMS+txsy on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omstxsy.fd +File: omstxsy.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/txex/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMX+txex on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omxtxex.fd +File: omxtxex.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/txexa/m/n on input line 11. +LaTeX Font Info: Trying to load font information for U+txexa on input line 1 +1. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxexa.fd +File: utxexa.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Trying to load font information for TU+txr on input line 11 +. +LaTeX Font Info: No file TUtxr.fd. on input line 11. + + +LaTeX Font Warning: Font shape `TU/txr/m/n' undefined +(Font) using `TU/lmr/m/n' instead on input line 11. + +ABD: EveryShipout initializing macros + +Package pgfplots Warning: running in backwards compatibility mode (unsuitable t +ick labels; missing features). Consider writing \pgfplotsset{compat=1.16} into +your preamble. + on input line 11. + +LaTeX Font Info: Trying to load font information for OT1+txr on input line 2 +6. +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/ot1txr.fd +File: ot1txr.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txmia on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxmia.fd +File: utxmia.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsya on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsya.fd +File: utxsya.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyb on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyb.fd +File: utxsyb.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyc on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyc.fd +File: utxsyc.fd 2000/12/15 v3.1 +) [1 + +] (./polynom1.aux) + +LaTeX Font Warning: Some font shapes were not available, defaults substituted. + + ) +Here is how much of TeX's memory you used: + 25076 strings out of 492483 + 634297 string characters out of 6132858 + 794987 words of memory out of 5000000 + 29148 multiletter control sequences out of 15000+600000 + 13575 words of font info for 45 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 68i,6n,98p,840b,724s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on polynom1.pdf (1 page). diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf b/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf new file mode 100644 index 0000000..1f632d8 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz b/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz new file mode 100644 index 0000000..578f2a3 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.tex b/buch/papers/reedsolomon/RS presentation/images/polynom1.tex new file mode 100644 index 0000000..db83daa --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.tex @@ -0,0 +1,59 @@ +% polynome1 +%------------------- +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\newcommand{\teiler}{40} +\begin{document} + %Übertragen von den Zahlen + %\textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} + %als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline + %Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + % \textcolor{green}{15}, \textcolor{green}{26}, + % \textcolor{green}{ 41}, \textcolor{green}{60}, + % \textcolor{green}{83}, \textcolor{green}{110})$ + + +\begin{tikzpicture}[>=latex,thick] + +\draw[color=blue, line width=1.4pt] +plot[domain=0:8, samples=100] + ({\x},{(2*\x^2+1*\x+5)/\teiler}); +\draw[->] (-0.2,0) -- (8,0) coordinate[label={$x$}]; +\draw[->] (0,-0.2) -- (0,150/\teiler) coordinate[label={right:$p(x)$}]; +\def\punkt#1{ + \fill[color=green] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; +} +\punkt{(1,8/\teiler)} +\punkt{(2,15/\teiler)} +\punkt{(3,26/\teiler)} +\punkt{(4,41/\teiler)} +\punkt{(5,60/\teiler)} +\punkt{(6,83/\teiler)} +\punkt{(7,110/\teiler)} +%\draw[color=gray,line width=1pt,dashed] +%plot[domain=0.5:7, samples=100] +%({\x},{(0.1958*\x^2-1.2875*\x+3.0417)}); +%\def\erpunkt#1{ +% \fill[color=red] #1 circle[radius=0.08]; +% \draw #1 circle[radius=0.07]; +%} +%\erpunkt{(2,50/\teiler)} +%\erpunkt{(3,0.9414)} +%\punkt{(4,41/\teiler)} +%\punkt{(5,60/\teiler)} + +\draw(0,100/\teiler) -- (-0.1,100/\teiler) coordinate[label={left:$100$}]; +\draw(1,0) -- (1,-0.1) coordinate[label={below:$1$}]; + + + + +\end{tikzpicture} +\end{document} + diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.aux b/buch/papers/reedsolomon/RS presentation/images/polynom2.aux new file mode 100644 index 0000000..f23e546 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.aux @@ -0,0 +1 @@ +\relax diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.log b/buch/papers/reedsolomon/RS presentation/images/polynom2.log new file mode 100644 index 0000000..169203e --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.log @@ -0,0 +1,747 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:28 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**polynom2.tex +(./polynom2.tex +LaTeX2e <2019-10-01> patch level 1 +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cls +Document Class: standalone 2018/03/26 v1.3a Class to compile TeX sub-files stan +dalone +(c:/texlive/2019/texmf-dist/tex/latex/tools/shellesc.sty +Package: shellesc 2016/06/07 v0.02b unified shell escape interface for LaTeX +Package shellesc Info: Restricted shell escape enabled on input line 72. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +(c:/texlive/2019/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2014/12/03 v2.7a package option processing (HA) + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkeyval.tex +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks14 +\XKV@tempa@toks=\toks15 + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count80 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +\sa@internal=\count81 +\c@sapage=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cfg +File: standalone.cfg 2018/03/26 v1.3a Default configuration file for 'standalon +e' class +) +(c:/texlive/2019/texmf-dist/tex/latex/base/article.cls +Document Class: article 2019/08/27 v1.4j Standard LaTeX document class +(c:/texlive/2019/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2019/08/27 v1.4j Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen103 +\pgfutil@tempdimb=\dimen104 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box27 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +)) +\Gin@req@height=\dimen105 +\Gin@req@width=\dimen106 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen107 +\pgf@y=\dimen108 +\pgf@xa=\dimen109 +\pgf@ya=\dimen110 +\pgf@xb=\dimen111 +\pgf@yb=\dimen112 +\pgf@xc=\dimen113 +\pgf@yc=\dimen114 +\pgf@xd=\dimen115 +\pgf@yd=\dimen116 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count91 +\c@pgf@countb=\count92 +\c@pgf@countc=\count93 +\c@pgf@countd=\count94 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count95 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count96 +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count97 +\pgfsyssoftpath@bigbuffer@items=\count98 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen117 +\pgfmath@count=\count99 +\pgfmath@box=\box28 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count100 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen118 +\pgf@picmaxx=\dimen119 +\pgf@picminy=\dimen120 +\pgf@picmaxy=\dimen121 +\pgf@pathminx=\dimen122 +\pgf@pathmaxx=\dimen123 +\pgf@pathminy=\dimen124 +\pgf@pathmaxy=\dimen125 +\pgf@xx=\dimen126 +\pgf@xy=\dimen127 +\pgf@yx=\dimen128 +\pgf@yy=\dimen129 +\pgf@zx=\dimen130 +\pgf@zy=\dimen131 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen132 +\pgf@path@lasty=\dimen133 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen134 +\pgf@shorten@start@additional=\dimen135 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box29 +\pgf@hbox=\box30 +\pgf@layerbox@main=\box31 +\pgf@picture@serial@count=\count101 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen136 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen137 +\pgf@pt@y=\dimen138 +\pgf@pt@temp=\dimen139 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen140 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen141 +\pgf@sys@shading@range@num=\count102 +\pgf@shadingcount=\count103 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box32 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.te +x +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box33 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen142 +\pgf@nodesepend=\dimen143 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen144 +\pgffor@skip=\dimen145 +\pgffor@stack=\toks26 +\pgffor@toks=\toks27 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count104 +\pgfplotmarksize=\dimen146 +) +\tikz@lastx=\dimen147 +\tikz@lasty=\dimen148 +\tikz@lastxsaved=\dimen149 +\tikz@lastysaved=\dimen150 +\tikz@lastmovetox=\dimen151 +\tikz@lastmovetoy=\dimen152 +\tikzleveldistance=\dimen153 +\tikzsiblingdistance=\dimen154 +\tikz@figbox=\box34 +\tikz@figbox@bg=\box35 +\tikz@tempbox=\box36 +\tikz@tempbox@bg=\box37 +\tikztreelevel=\count105 +\tikznumberofchildren=\count106 +\tikznumberofcurrentchild=\count107 +\tikz@fig@count=\count108 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count109 +\pgfmatrixcurrentcolumn=\count110 +\pgf@matrix@numberofcolumns=\count111 +) +\tikz@expandcount=\count112 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +\sa@box=\box38 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/04/01 v2.17c AMS math features +\@mathmargin=\skip43 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks28 +\ex@=\dimen155 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count113 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count114 +\leftroot@=\count115 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count116 +\DOTSCASE@=\count117 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box39 +\strutbox@=\box40 +\big@size=\dimen157 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count118 +\c@MaxMatrixCols=\count119 +\dotsspace@=\muskip10 +\c@parentequation=\count120 +\dspbrk@lvl=\count121 +\tag@help=\toks29 +\row@=\count122 +\column@=\count123 +\maxfields@=\count124 +\andhelp@=\toks30 +\eqnshift@=\dimen158 +\alignsep@=\dimen159 +\tagshift@=\dimen160 +\tagwidth@=\dimen161 +\totwidth@=\dimen162 +\lineht@=\dimen163 +\@envbody=\toks31 +\multlinegap=\skip44 +\multlinetaggap=\skip45 +\mathdisplay@stack=\toks32 +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. +) +(c:/texlive/2019/texmf-dist/tex/latex/psnfss/times.sty +Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) +) +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/txfonts.sty +Package: txfonts 2008/01/22 v3.2.1 +LaTeX Font Info: Redeclaring symbol font `operators' on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/txr/m/n --> OT1/txr/bx/n on input line 22. +\symitalic=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `italic' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 26. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 31. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/txss/m/n --> OT1/txss/b/n on input line 41. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/txtt/m/n --> OT1/txtt/b/n on input line 51. +LaTeX Font Info: Redeclaring symbol font `letters' on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/txmi/m/it --> OML/txmi/bx/it on input line 59. +\symlettersA=\mathgroup5 +LaTeX Font Info: Overwriting symbol font `lettersA' in version `bold' +(Font) U/txmia/m/it --> U/txmia/bx/it on input line 67. +LaTeX Font Info: Redeclaring symbol font `symbols' on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/txsy/m/n --> OMS/txsy/bx/n on input line 78. +\symAMSa=\mathgroup6 +LaTeX Font Info: Overwriting symbol font `AMSa' in version `bold' +(Font) U/txsya/m/n --> U/txsya/bx/n on input line 94. +\symAMSb=\mathgroup7 +LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold' +(Font) U/txsyb/m/n --> U/txsyb/bx/n on input line 103. +\symsymbolsC=\mathgroup8 +LaTeX Font Info: Overwriting symbol font `symbolsC' in version `bold' +(Font) U/txsyc/m/n --> U/txsyc/bx/n on input line 113. +LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/txex/m/n --> OMX/txex/bx/n on input line 121. +\symlargesymbolsA=\mathgroup9 +LaTeX Font Info: Overwriting symbol font `largesymbolsA' in version `bold' +(Font) U/txexa/m/n --> U/txexa/bx/n on input line 129. +LaTeX Font Info: Redeclaring math symbol \mathsterling on input line 164. +LaTeX Font Info: Redeclaring math symbol \hbar on input line 591. +LaTeX Info: Redefining \not on input line 1043. +) +(c:/texlive/2019/texmf-dist/tex/latex/pgfplots/pgfplots.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex) +Package: pgfplots 2018/03/28 v1.16 Data Visualization (1.16) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +\t@pgfplots@toka=\toks33 +\t@pgfplots@tokb=\toks34 +\t@pgfplots@tokc=\toks35 +\pgfplots@tmpa=\dimen164 +\c@pgfplots@coordindex=\count125 +\c@pgfplots@scanlineindex=\count126 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.te +x)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfs +upp_loader.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +cture.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +ctureext.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.co +de.tex +\c@pgfplotsarray@tmp=\count127 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.c +ode.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.c +ode.tex +\c@pgfplotstable@counta=\count128 +\t@pgfplotstable@a=\toks36 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code. +tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfsh +ading.code.tex +\c@pgfplotslibrarysurf@no=\count129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-xetex.def +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-dvipdfmx.def +\c@pgfplotslibrarysurf@streamlen=\count130 +)))) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.t +ex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex +))) (c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.t +ex +\pgfdecoratedcompleteddistance=\dimen165 +\pgfdecoratedremainingdistance=\dimen166 +\pgfdecoratedinputsegmentcompleteddistance=\dimen167 +\pgfdecoratedinputsegmentremainingdistance=\dimen168 +\pgf@decorate@distancetomove=\dimen169 +\pgf@decorate@repeatstate=\count131 +\pgfdecorationsegmentamplitude=\dimen170 +\pgfdecorationsegmentlength=\dimen171 +) +\tikz@lib@dec@box=\box41 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathmorphing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathmorphing.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathreplacing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathreplacing.code.tex)) +\pgfplots@numplots=\count132 +\pgfplots@xmin@reg=\dimen172 +\pgfplots@xmax@reg=\dimen173 +\pgfplots@ymin@reg=\dimen174 +\pgfplots@ymax@reg=\dimen175 +\pgfplots@zmin@reg=\dimen176 +\pgfplots@zmax@reg=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryplotmarks.code.tex +File: tikzlibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code. +tex +File: pgflibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/csvsimple/csvsimple.sty +Package: csvsimple 2019/04/09 version 1.21 LaTeX CSV file processing + +(c:/texlive/2019/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count133 +) +\csv@file=\read2 +\c@csvinputline=\count134 +\c@csvrow=\count135 +\c@csvcol=\count136 +\csv@out=\write4 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryarrows.code.tex +File: tikzlibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +File: pgflibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\arrowsize=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryintersections.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.c +ode.tex +\pgf@intersect@solutions=\count137 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarymath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryfpu.code.tex) +\tikz@math@for@depth=\count138 +\tikz@math@dimen=\dimen179 +\tikz@math@toks=\toks37 +) (./polynom2.aux) +\openout1 = `polynom2.aux'. + +LaTeX Font Info: Checking defaults for OML/txmi/m/it on input line 11. +LaTeX Font Info: Trying to load font information for OML+txmi on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omltxmi.fd +File: omltxmi.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/txsy/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMS+txsy on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omstxsy.fd +File: omstxsy.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/txex/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMX+txex on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omxtxex.fd +File: omxtxex.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/txexa/m/n on input line 11. +LaTeX Font Info: Trying to load font information for U+txexa on input line 1 +1. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxexa.fd +File: utxexa.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Trying to load font information for TU+txr on input line 11 +. +LaTeX Font Info: No file TUtxr.fd. on input line 11. + + +LaTeX Font Warning: Font shape `TU/txr/m/n' undefined +(Font) using `TU/lmr/m/n' instead on input line 11. + +ABD: EveryShipout initializing macros + +Package pgfplots Warning: running in backwards compatibility mode (unsuitable t +ick labels; missing features). Consider writing \pgfplotsset{compat=1.16} into +your preamble. + on input line 11. + +LaTeX Font Info: Trying to load font information for OT1+txr on input line 2 +6. +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/ot1txr.fd +File: ot1txr.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txmia on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxmia.fd +File: utxmia.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsya on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsya.fd +File: utxsya.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyb on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyb.fd +File: utxsyb.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyc on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyc.fd +File: utxsyc.fd 2000/12/15 v3.1 +) [1 + +] (./polynom2.aux) + +LaTeX Font Warning: Some font shapes were not available, defaults substituted. + + ) +Here is how much of TeX's memory you used: + 25292 strings out of 492483 + 638772 string characters out of 6132858 + 794987 words of memory out of 5000000 + 29364 multiletter control sequences out of 15000+600000 + 13575 words of font info for 45 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 68i,6n,98p,840b,724s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on polynom2.pdf (1 page). diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf b/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf new file mode 100644 index 0000000..05f4ba0 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz b/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz new file mode 100644 index 0000000..24859aa Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.tex b/buch/papers/reedsolomon/RS presentation/images/polynom2.tex new file mode 100644 index 0000000..aa792ce --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.tex @@ -0,0 +1,57 @@ +% polynome2 +%------------------- +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\newcommand{\teiler}{40} +\begin{document} + %Übertragen von den Zahlen + %\textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} + %als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline + %Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + % \textcolor{green}{15}, \textcolor{green}{26}, + % \textcolor{green}{ 41}, \textcolor{green}{60}, + % \textcolor{green}{83}, \textcolor{green}{110})$ + + + \begin{tikzpicture}[>=latex,thick] + + \draw[color=blue, line width=1.4pt] + plot[domain=0:8, samples=100] + ({\x},{(2*\x^2+1*\x+5)/\teiler}); + \draw[->] (-0.2,0) -- (8,0) coordinate[label={$x$}]; + \draw[->] (0,-0.2) -- (0,150/\teiler) coordinate[label={right:$p(x)$}]; + \def\punkt#1{ + \fill[color=green] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; + } + \punkt{(1,8/\teiler)} + %\punkt{(2,15/\teiler)} + %\punkt{(3,26/\teiler)} + \punkt{(4,41/\teiler)} + \punkt{(5,60/\teiler)} + \punkt{(6,83/\teiler)} + \punkt{(7,110/\teiler)} + \draw[color=gray,line width=1pt,dashed] + plot[domain=0.5:7, samples=100] + ({\x},{(0.1958*\x^2-1.2875*\x+3.0417)}); + \def\erpunkt#1{ + \fill[color=red] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; + } + \erpunkt{(2,50/\teiler)} + \erpunkt{(3,0.9414)} + + + \draw(0,100/\teiler) -- (-0.1,100/\teiler) coordinate[label={left:$100$}]; + \draw(1,0) -- (1,-0.1) coordinate[label={below:$1$}]; + + + + + \end{tikzpicture} +\end{document} -- cgit v1.2.1 From 10f3cdb829c001c341ea31415efb44ff6a2878b8 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 17:30:50 +0200 Subject: Persentation stand 17:30 --- buch/papers/reedsolomon/RS presentation/RS.aux | 37 +++++- buch/papers/reedsolomon/RS presentation/RS.log | 145 +++++++++++---------- buch/papers/reedsolomon/RS presentation/RS.nav | 26 +++- buch/papers/reedsolomon/RS presentation/RS.out | 4 +- buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 117082 -> 132691 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 1 + .../reedsolomon/RS presentation/RS.synctex.gz | Bin 6763 -> 19501 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 109 ++++++++++++++-- buch/papers/reedsolomon/RS presentation/RS.toc | 4 +- 9 files changed, 235 insertions(+), 91 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index fff632d..6294c05 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -22,10 +22,10 @@ \@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} \HyPL@Entry{1<>} -\@writefile{toc}{\beamer@sectionintoc {1}{Introduction}{2}{0}{1}} +\@writefile{toc}{\beamer@sectionintoc {1}{Einführung}{2}{0}{1}} \@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} \@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} -\@writefile{nav}{\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}}} +\@writefile{nav}{\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}}} \@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} \HyPL@Entry{2<>} @@ -34,8 +34,33 @@ \HyPL@Entry{9<>} \@writefile{nav}{\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {10}{11}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{11}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} +\HyPL@Entry{11<>} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2}} \@writefile{nav}{\headcommand {\beamer@sectionpages {2}{11}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {11}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {4}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}}} +\@writefile{snm}{\beamer@slide {ft_discrete}{12}} +\newlabel{ft_discrete}{{5}{12}{Polynom Ansatz}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {12}{12}}} +\HyPL@Entry{12<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} +\HyPL@Entry{13<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {14}{15}}} +\HyPL@Entry{15<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} +\HyPL@Entry{16<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {12}{16}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {12}{16}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{17}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{17}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{17}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {17}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {9}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index 824b9b5..342b031 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:30 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 17:27 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -972,13 +972,61 @@ Package hyperref Warning: Option `pdfsubject' has already been used, [1 -] [2 +] +LaTeX Font Info: Trying to load font information for OT1+lmss on input line +31. + (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd +File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 +1. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMS+lmsy on input line +31. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMX+lmex on input line +31. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10.95> on input line 31. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 31. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 31. +LaTeX Font Info: Trying to load font information for U+msa on input line 31. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 31. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. + [2 ] File: images/fig1.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [3 @@ -987,7 +1035,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig2.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [4 @@ -996,7 +1044,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig3.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [5 @@ -1005,7 +1053,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig4.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [6 @@ -1014,7 +1062,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig5.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [7 @@ -1023,7 +1071,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig6.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [8 @@ -1032,67 +1080,32 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig7.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [9 -] -LaTeX Font Info: Trying to load font information for OT1+lmss on input line -66. - (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd -File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OML+lmm on input line 6 -6. - -(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd -File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OMS+lmsy on input line -66. - -(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd -File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OMX+lmex on input line -66. - -(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd -File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10.95> on input line 66. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <8> on input line 66. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <6> on input line 66. -LaTeX Font Info: Trying to load font information for U+msa on input line 66. +] [10 +] [11 -(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2013/01/14 v3.01 AMS symbols A -) -LaTeX Font Info: Trying to load font information for U+msb on input line 66. +] [12 +] [13 -(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd -File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) -LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. -LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. -LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +] File: images/polynom1.pdf Graphic file (type pdf) - [10 + [14 ] File: images/polynom2.pdf Graphic file (type pdf) - [11 + [15 + +] [16 + +] [17 ] \tf@nav=\write6 @@ -1104,21 +1117,21 @@ File: images/polynom2.pdf Graphic file (type pdf) \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 68. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 68. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 154. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 154. (./RS.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 68. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 68. +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 154. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 154. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: 4CA0FF56E3EE124326A4720E136735D1. +(rerunfilecheck) Checksum: 488F938CBAD5E8FAC29F906360775E5F. ) Here is how much of TeX's memory you used: - 24329 strings out of 492483 - 450480 string characters out of 6132858 - 528380 words of memory out of 5000000 - 28307 multiletter control sequences out of 15000+600000 + 24397 strings out of 492483 + 452001 string characters out of 6132858 + 533692 words of memory out of 5000000 + 28375 multiletter control sequences out of 15000+600000 37892 words of font info for 41 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 - 58i,15n,57p,796b,539s stack positions out of 5000i,500n,10000p,200000b,80000s + 58i,15n,61p,796b,549s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on RS.pdf (11 pages). +Output written on RS.pdf (17 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 3edba3c..22ae94a 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -2,15 +2,31 @@ \headcommand {\beamer@framepages {1}{1}} \headcommand {\beamer@sectionpages {1}{1}} \headcommand {\beamer@subsectionpages {1}{1}} -\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}} +\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} \headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} \headcommand {\beamer@framepages {2}{2}} \headcommand {\slideentry {1}{0}{2}{3/9}{}{0}} \headcommand {\beamer@framepages {3}{9}} \headcommand {\slideentry {1}{0}{3}{10/11}{}{0}} \headcommand {\beamer@framepages {10}{11}} -\headcommand {\beamer@partpages {1}{11}} -\headcommand {\beamer@subsectionpages {2}{11}} \headcommand {\beamer@sectionpages {2}{11}} -\headcommand {\beamer@documentpages {11}} -\headcommand {\gdef \inserttotalframenumber {4}} +\headcommand {\beamer@subsectionpages {2}{11}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}} +\headcommand {\beamer@framepages {12}{12}} +\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}} +\headcommand {\beamer@framepages {13}{13}} +\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}} +\headcommand {\beamer@framepages {14}{15}} +\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}} +\headcommand {\beamer@framepages {16}{16}} +\headcommand {\beamer@sectionpages {12}{16}} +\headcommand {\beamer@subsectionpages {12}{16}} +\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}} +\headcommand {\beamer@framepages {17}{17}} +\headcommand {\beamer@partpages {1}{17}} +\headcommand {\beamer@subsectionpages {17}{17}} +\headcommand {\beamer@sectionpages {17}{17}} +\headcommand {\beamer@documentpages {17}} +\headcommand {\gdef \inserttotalframenumber {9}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index dec2d7d..597a5f8 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -1 +1,3 @@ -\BOOKMARK [2][]{Outline0.1}{Introduction}{}% 1 +\BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 +\BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 +\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourien\040Transformation}{}% 3 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index 10719b7..f49671f 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm index e69de29..8b82641 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.snm +++ b/buch/papers/reedsolomon/RS presentation/RS.snm @@ -0,0 +1 @@ +\beamer@slide {ft_discrete}{12} diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index 2fe95de..96af4cc 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index fb822da..9bdf947 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -19,10 +19,15 @@ \begin{frame}[plain] \maketitle \end{frame} - \section{Introduction} + \section{Einführung} \begin{frame} \frametitle{Idee} - + \begin{itemize} + \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten + und deren Fehler Erkennung. + \item Idee Fourier Transformieren und dann senden. + \item Danach Empfangen und Rücktransformieren. + \end{itemize} \end{frame} \begin{frame} @@ -50,20 +55,100 @@ } \end{figure} \end{frame} + \begin{frame} - Übertragen von den Zahlen - \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} - als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, - \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{ 41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ + \uncover<1->{ + Wie ist die Anzahl 0 definiert zum mitgeben? + Indem die Polymereigenschaft genutzt werden. + } + \uncover<2->{ + Wie wird der Fehler lokalisiert? + Indem in einem Endlichen Körper gerechnet wird. + } + + \end{frame} + +\section{Polynom Ansatz} + \begin{frame} + Die Diskrite Fouren Transformation ist so gegeben + \[ + \label{ft_discrete} + \hat{c}_{k} + = \frac{1}{N} \sum_{n=0}^{N-1} + {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} + \]. + + \[ + w = e^{-\frac{2\pi j}{N} k} + \] + Wenn $N$ konstant: + \[ + \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \] + \end{frame} + + \begin{frame} + Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. + \end{frame} + \begin{frame} + Übertragen von + ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} + als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. + \only<1>{ - \includegraphics[]{images/polynom1.pdf}} + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{green}{15}, \textcolor{green}{26}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom1.pdf}} \only<2>{ - \includegraphics[]{images/polynom2.pdf}} + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \end{frame} + + \begin{frame} + \frametitle{Parameter} + \begin{center} + \begin{tabular}{ c c c } + \hline + "Nutzlast" & Fehler & Versenden \\ + \hline + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + &&\\ + k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ + \hline + \end{tabular} + \end{center} + \end{frame} +\section{Diskrete Fourien Transformation} + \begin{frame} + \[ + \begin{pmatrix} + \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n + \end{pmatrix} + = + \begin{pmatrix} + w^0 & w^0 & w^0 & \dots &w^0 \\ + w^0 & w^1 &w^2 & \dots &w^n \\ + w^0 & w^2 &w^4 & \dots &w^{2n} \\ + \vdots & \vdots &\vdots &\ddots &\vdots \\ + w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ + \end{pmatrix} + \begin{pmatrix} + \textcolor{blue}{5} \\ + \textcolor{blue}{1} \\ + \textcolor{blue}{2} \\ + \vdots \\ + 0 \\ + \end{pmatrix} + \] \end{frame} - \end{document} \ No newline at end of file diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index 32e7e8d..ff200c6 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1,2 +1,4 @@ \babel@toc {ngerman}{} -\beamer@sectionintoc {1}{Introduction}{2}{0}{1} +\beamer@sectionintoc {1}{Einführung}{2}{0}{1} +\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2} +\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3} -- cgit v1.2.1 From 7c0937851938305c2bb760f3cd4c2084c4493217 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 18:18:22 +0200 Subject: Presentation neu arangiert --- buch/papers/reedsolomon/RS presentation/RS.tex | 186 +++++++++++++------------ 1 file changed, 96 insertions(+), 90 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 9bdf947..1a1cefd 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -21,12 +21,60 @@ \end{frame} \section{Einführung} \begin{frame} - \frametitle{Idee} + \frametitle{Einführung} \begin{itemize} \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten und deren Fehler Erkennung. - \item Idee Fourier Transformieren und dann senden. - \item Danach Empfangen und Rücktransformieren. + \end{itemize} + \end{frame} +\section{Polynom Ansatz} + \begin{frame} + Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. + \end{frame} + \begin{frame} + Übertragen von + ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} + als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. + + \only<1>{ + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{green}{15}, \textcolor{green}{26}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom1.pdf}} + \only<2>{ + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \end{frame} + + \begin{frame} + \frametitle{Parameter} + \begin{center} + \begin{tabular}{ c c c } + \hline + "Nutzlast" & Fehler & Versenden \\ + \hline + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + &&\\ + k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ + \hline + \end{tabular} + \end{center} + + Ausserdem können bis zu 2t Fehler erkannt werden! + \end{frame} +\section{Fourier Transformation} + \begin{frame} + \frametitle{Idee} + \begin{itemize} + \item Idee mit Fourier Transformieren und dann senden. + \item Danach Empfangen und Rücktransformieren. \end{itemize} \end{frame} @@ -56,99 +104,57 @@ \end{figure} \end{frame} - +\section{Diskrete Fourier Transformation} \begin{frame} - \uncover<1->{ - Wie ist die Anzahl 0 definiert zum mitgeben? - Indem die Polymereigenschaft genutzt werden. - } - \uncover<2->{ - Wie wird der Fehler lokalisiert? - Indem in einem Endlichen Körper gerechnet wird. - } - + \frametitle{Diskrete Fourier Transformation} + Die Diskrete Fourier Transformation ist so gegeben: + \[ + \label{ft_discrete} + \hat{c}_{k} + = \frac{1}{N} \sum_{n=0}^{N-1} + {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} + \]. + + \[ + w = e^{-\frac{2\pi j}{N} k} + \] + Wenn $N$ konstant: + \[ + \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \] \end{frame} -\section{Polynom Ansatz} - \begin{frame} - Die Diskrite Fouren Transformation ist so gegeben - \[ - \label{ft_discrete} - \hat{c}_{k} - = \frac{1}{N} \sum_{n=0}^{N-1} - {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - \]. - - \[ - w = e^{-\frac{2\pi j}{N} k} - \] - Wenn $N$ konstant: - \[ - \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) - \] - \end{frame} - - \begin{frame} - Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. - \end{frame} - \begin{frame} - Übertragen von - ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} - als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. - \only<1>{ - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, - \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{ 41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom1.pdf}} - \only<2>{ - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, - \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{ 41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom2.pdf} - \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} - \end{frame} - - \begin{frame} - \frametitle{Parameter} - \begin{center} - \begin{tabular}{ c c c } - \hline - "Nutzlast" & Fehler & Versenden \\ - \hline - 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ - 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ - 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ - &&\\ - k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ - \hline - \end{tabular} - \end{center} - \end{frame} -\section{Diskrete Fourien Transformation} \begin{frame} + \frametitle{Diskrete Fourier Transformation} \[ - \begin{pmatrix} - \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n - \end{pmatrix} - = - \begin{pmatrix} - w^0 & w^0 & w^0 & \dots &w^0 \\ - w^0 & w^1 &w^2 & \dots &w^n \\ - w^0 & w^2 &w^4 & \dots &w^{2n} \\ - \vdots & \vdots &\vdots &\ddots &\vdots \\ - w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ - \end{pmatrix} - \begin{pmatrix} - \textcolor{blue}{5} \\ - \textcolor{blue}{1} \\ - \textcolor{blue}{2} \\ - \vdots \\ - 0 \\ - \end{pmatrix} + \begin{pmatrix} + \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n + \end{pmatrix} + = + \begin{pmatrix} + w^0 & w^0 & w^0 & \dots &w^0 \\ + w^0 & w^1 &w^2 & \dots &w^n \\ + w^0 & w^2 &w^4 & \dots &w^{2n} \\ + \vdots & \vdots &\vdots &\ddots &\vdots \\ + w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ + \end{pmatrix} + \begin{pmatrix} + \textcolor{blue}{f_0} \\ + \textcolor{blue}{f_1} \\ + \textcolor{blue}{f_2} \\ + \vdots \\ + 0 \\ + \end{pmatrix} \] \end{frame} - +\section{Probleme und Fragen} + \begin{frame} + \frametitle{Probleme und Fragen} + + Wie wird der Fehler lokalisiert? + \only<2>{ + Indem in einem Endlichen Körper gerechnet wird. + } + \end{frame} \end{document} \ No newline at end of file -- cgit v1.2.1 From 264bd585ba37fcf0a8fed6c83b38edfe2495daef Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 18:19:54 +0200 Subject: gitignor angepasst --- buch/papers/reedsolomon/.gitignor | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/.gitignor b/buch/papers/reedsolomon/.gitignor index 466d238..52a02ac 100644 --- a/buch/papers/reedsolomon/.gitignor +++ b/buch/papers/reedsolomon/.gitignor @@ -1,15 +1,15 @@ -RS*.aux -RS*.bbl -RS*.bib -RS*.blg -RS*.idx -RS*.ilg -RS*.ind -RS*.log -RS*.out -RS*.pdf -RS*.run.xml -RS*.toc +RS.aux +RS.bbl +RS.bib +RS.blg +RS.idx +RS.ilg +RS.ind +RS.log +RS.out +RS.pdf +RS.run.xml +RS.toc *.aux *.lof *.log -- cgit v1.2.1 From 66a49562a720d4aae3b89603589df79abd0962cd Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 18:20:24 +0200 Subject: automatisch generierte Files --- buch/papers/reedsolomon/RS presentation/RS.aux | 79 +++++++------- buch/papers/reedsolomon/RS presentation/RS.log | 113 +++++++++++---------- buch/papers/reedsolomon/RS presentation/RS.nav | 56 +++++----- buch/papers/reedsolomon/RS presentation/RS.out | 4 +- buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 132691 -> 135643 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 2 +- .../reedsolomon/RS presentation/RS.synctex.gz | Bin 19501 -> 22450 bytes buch/papers/reedsolomon/RS presentation/RS.toc | 6 +- 8 files changed, 143 insertions(+), 117 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index 6294c05..005172f 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -29,38 +29,49 @@ \@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} \HyPL@Entry{2<>} -\@writefile{nav}{\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {3}{9}}} -\HyPL@Entry{9<>} -\@writefile{nav}{\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {10}{11}}} -\HyPL@Entry{11<>} -\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{11}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} -\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}}} -\@writefile{snm}{\beamer@slide {ft_discrete}{12}} -\newlabel{ft_discrete}{{5}{12}{Polynom Ansatz}{Doc-Start}{}} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {12}{12}}} -\HyPL@Entry{12<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} -\HyPL@Entry{13<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {14}{15}}} -\HyPL@Entry{15<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}}} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} +\HyPL@Entry{3<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {4}{5}}} +\HyPL@Entry{5<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {6}{6}}} +\HyPL@Entry{6<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {3}{6}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {3}{6}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {7}{7}}} +\HyPL@Entry{7<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {8}{14}}} +\HyPL@Entry{14<>} +\@writefile{toc}{\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {7}{14}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {7}{14}}} +\@writefile{nav}{\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}}} +\@writefile{snm}{\beamer@slide {ft_discrete}{15}} +\newlabel{ft_discrete}{{8}{15}{Diskrete Fourier Transformation}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} +\HyPL@Entry{15<>} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} -\HyPL@Entry{16<>} -\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {12}{16}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {12}{16}}} -\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}}} -\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{17}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{17}}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{17}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {17}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {9}}} +\HyPL@Entry{16<>} +\@writefile{toc}{\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {15}{16}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {15}{16}}} +\@writefile{nav}{\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}}} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{18}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {18}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {10}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index 342b031..4e1c806 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 17:27 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 18:18 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -974,139 +974,142 @@ Package hyperref Warning: Option `pdfsubject' has already been used, ] LaTeX Font Info: Trying to load font information for OT1+lmss on input line -31. +29. (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern ) -LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 -1. +LaTeX Font Info: Trying to load font information for OML+lmm on input line 2 +9. (c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMS+lmsy on input line -31. +29. (c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMX+lmex on input line -31. +29. (c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10.95> on input line 31. +(Font) <10.95> on input line 29. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <8> on input line 31. +(Font) <8> on input line 29. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <6> on input line 31. -LaTeX Font Info: Trying to load font information for U+msa on input line 31. +(Font) <6> on input line 29. +LaTeX Font Info: Trying to load font information for U+msa on input line 29. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd File: umsa.fd 2013/01/14 v3.01 AMS symbols A ) -LaTeX Font Info: Trying to load font information for U+msb on input line 31. +LaTeX Font Info: Trying to load font information for U+msb on input line 29. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd File: umsb.fd 2013/01/14 v3.01 AMS symbols B ) LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. [2 +] [3 + +] +File: images/polynom1.pdf Graphic file (type pdf) + + [4 + +] +File: images/polynom2.pdf Graphic file (type pdf) + + [5 + +] +[6 + +] [7 + ] File: images/fig1.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[3 +[8 ] File: images/fig2.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[4 +[9 ] File: images/fig3.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[5 +[10 ] File: images/fig4.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[6 +[11 ] File: images/fig5.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[7 +[12 ] File: images/fig6.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[8 +[13 ] File: images/fig7.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[9 - -] [10 +[14 -] [11 - -] [12 - -] [13 - -] -File: images/polynom1.pdf Graphic file (type pdf) - - [14 - -] -File: images/polynom2.pdf Graphic file (type pdf) - - [15 +] [15 ] [16 ] [17 +] [18 + ] \tf@nav=\write6 \openout6 = `RS.nav'. @@ -1117,21 +1120,21 @@ File: images/polynom2.pdf Graphic file (type pdf) \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 154. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 154. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 160. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 160. (./RS.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 154. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 154. +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 160. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 160. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: 488F938CBAD5E8FAC29F906360775E5F. +(rerunfilecheck) Checksum: 74C688051BF542B3A11E9793A97790F4. ) Here is how much of TeX's memory you used: - 24397 strings out of 492483 - 452001 string characters out of 6132858 - 533692 words of memory out of 5000000 - 28375 multiletter control sequences out of 15000+600000 + 24400 strings out of 492483 + 451960 string characters out of 6132858 + 534889 words of memory out of 5000000 + 28378 multiletter control sequences out of 15000+600000 37892 words of font info for 41 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 58i,15n,61p,796b,549s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on RS.pdf (17 pages). +Output written on RS.pdf (18 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 22ae94a..1d67391 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -5,28 +5,36 @@ \headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} \headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} \headcommand {\beamer@framepages {2}{2}} -\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}} -\headcommand {\beamer@framepages {3}{9}} -\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}} -\headcommand {\beamer@framepages {10}{11}} -\headcommand {\beamer@sectionpages {2}{11}} -\headcommand {\beamer@subsectionpages {2}{11}} -\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}} -\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}} -\headcommand {\beamer@framepages {12}{12}} -\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}} -\headcommand {\beamer@framepages {13}{13}} -\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}} -\headcommand {\beamer@framepages {14}{15}} -\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}} +\headcommand {\beamer@sectionpages {2}{2}} +\headcommand {\beamer@subsectionpages {2}{2}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}} +\headcommand {\beamer@framepages {3}{3}} +\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}} +\headcommand {\beamer@framepages {4}{5}} +\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}} +\headcommand {\beamer@framepages {6}{6}} +\headcommand {\beamer@sectionpages {3}{6}} +\headcommand {\beamer@subsectionpages {3}{6}} +\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}} +\headcommand {\beamer@framepages {7}{7}} +\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}} +\headcommand {\beamer@framepages {8}{14}} +\headcommand {\beamer@sectionpages {7}{14}} +\headcommand {\beamer@subsectionpages {7}{14}} +\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}} +\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}} +\headcommand {\beamer@framepages {15}{15}} +\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}} \headcommand {\beamer@framepages {16}{16}} -\headcommand {\beamer@sectionpages {12}{16}} -\headcommand {\beamer@subsectionpages {12}{16}} -\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}} -\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}} -\headcommand {\beamer@framepages {17}{17}} -\headcommand {\beamer@partpages {1}{17}} -\headcommand {\beamer@subsectionpages {17}{17}} -\headcommand {\beamer@sectionpages {17}{17}} -\headcommand {\beamer@documentpages {17}} -\headcommand {\gdef \inserttotalframenumber {9}} +\headcommand {\beamer@sectionpages {15}{16}} +\headcommand {\beamer@subsectionpages {15}{16}} +\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}} +\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}} +\headcommand {\beamer@framepages {17}{18}} +\headcommand {\beamer@partpages {1}{18}} +\headcommand {\beamer@subsectionpages {17}{18}} +\headcommand {\beamer@sectionpages {17}{18}} +\headcommand {\beamer@documentpages {18}} +\headcommand {\gdef \inserttotalframenumber {10}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index 597a5f8..32b9a2c 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -1,3 +1,5 @@ \BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 \BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 -\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourien\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.3}{Fourier\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.4}{Diskrete\040Fourier\040Transformation}{}% 4 +\BOOKMARK [2][]{Outline0.5}{Probleme\040und\040Fragen}{}% 5 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index f49671f..913bc42 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm index 8b82641..6607ea8 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.snm +++ b/buch/papers/reedsolomon/RS presentation/RS.snm @@ -1 +1 @@ -\beamer@slide {ft_discrete}{12} +\beamer@slide {ft_discrete}{15} diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index 96af4cc..001b5c8 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index ff200c6..44c06ab 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1,4 +1,6 @@ \babel@toc {ngerman}{} \beamer@sectionintoc {1}{Einführung}{2}{0}{1} -\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2} -\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3} +\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2} +\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3} +\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4} +\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5} -- cgit v1.2.1 From 308c797ad63e094b1553d6417d477b4b7e792358 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Wed, 21 Apr 2021 22:53:22 +0200 Subject: Update RS.tex --- buch/papers/reedsolomon/RS presentation/RS.tex | 708 ++++++++++++++++++++++++- 1 file changed, 707 insertions(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 3d2be8f..400e654 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -17,9 +17,715 @@ \begin{frame}[plain] \maketitle \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Test} Ich mag Züge. \end{frame} + + \begin{frame} + \frametitle{Reed-Solomon in Endlichen Körpern} + + \begin{itemize} + \item Warum Endliche Körper? + + \qquad bessere Laufzeit + + \vspace{10pt} + + \item Nachricht = Nutzdaten + Fehlerkorrekturteil + + \vspace{10pt} + + \item den Fehlerkorrekturteil brauchen wir im Optimalfall nicht + + \vspace{10pt} + + \item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die Fehlerhaften Stellen beinhaltet + +% Wir sollten im Fehlerfall in der Lage sein, aus der Nachricht ein Lokatorpolynom zu berechnen, welches die Fehlerhaften Stellen beinhaltet + + \end{itemize} + +% TODO + +% erklärung und einführung der endlichen körper, was wollen wir erreichen? + +% wir versenden im endefekt mehr daten als unsere nachricht umfasst, damit die korrektur sichergestellt werden kann + +% sollten wir fehler bekommen, was uns die korrekturstellen mitgeteilt wird, dann ist es unsere aufgabe ein lokatorpolynom zu finden, welches uns verrät, auf welchen zeilen der Fehler aufgetreten ist + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Definition eines Beispiels} + + \begin{itemize} + + \item Endlicher Körper $q = 11$ + + \only<1->{ist eine Primzahl} + + \only<1->{beinhaltet die Zahlen $\mathbb{Z}_{11} = [0,1,2,3,4,5,6,7,8,9,10]$} + + \vspace{10pt} + + \only<1->{\item Nachrichtenblock $n = q-1$} + + wird an den Empfänger gesendet + + \vspace{10pt} + + \only<1->{\item max. Fehler $z = 2$} + + maximale Anzahl von Fehler, die wir noch korrigieren können + + \vspace{10pt} + + \only<1->{\item Nutzlast $k = n -2t = 6$ Zahlen} + + Fehlerstellen $2t = 4$ Zahlen + + \only<1->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} + + \only<1->{als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Ansatz aus den Komplexen Zahlen mit der Fouriertransformation + + \vspace{10pt} + + \item $\mathrm{e}$ existiert nicht in $\mathbb{Z}_{11}$ + + \vspace{10pt} + + \item wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{Z}_{11}$ abdeckt + + $\mathbb{Z}_{11}\setminus\{0\} = [a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9]$ + + \vspace{10pt} + + \item wir wählen $a = 8$ + + $\mathbb{Z}_{11}\setminus\{0\} = [1,8,9,6,4,10,3,2,5,7]$ + + 8 ist eine Primitive Einheitswurzel + + \vspace{10pt} + + \item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$ + + $\Rightarrow$ \qquad können wir auch als Matrix schreiben + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Übertragungsvektor $V$ + + \item $V = A \cdot m$ + + \end{itemize} + + \[ + V = \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $V = [5,3,6,5,2,10,2,7,10,4]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodierung ohne Fehler} + + \begin{itemize} + \item Der Empfänger erhält den unveränderten Vektor $V = [5,3,6,5,2,10,2,7,10,4]$ + + \vspace{10pt} + + \item Wir suchen die Inverse der Matrix A + + \end{itemize} + + \begin{columns}[t] + \begin{column}{0.50\textwidth} + + Inverse der Fouriertransformation + \vspace{10pt} + \[ + F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt + \] + \vspace{10pt} + \[ + f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega + \] + + \end{column} + \begin{column}{0.50\textwidth} + + Inverse von a + \vspace{10pt} + \[ + 8^{1} \Rightarrow 8^{-1} + \] + + Inverse finden wir über den Eulkidischen Algorithmus + \vspace{10pt} + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus} + + \begin{columns}[t] + \begin{column}{0.50\textwidth} + + Recap aus der Vorlesung: + + Gegeben $a \in \mathbb{F}_p$, finde $b = a^{-1} \in \mathbb{F}_p$ + + \begin{tabular}{rcl} + $a b$ &$\equiv$& $1 \mod p$\\ + $a b$ &$=$& $1 + n p$\\ + $a b - n p$ &$=$& $1$\\ + &&\\ + $\operatorname{ggT}(a,p)$&$=$& $1$\\ + $sa + tp$&$=$& $1$\\ + $b$&$=$&$s$\\ + $n$&$=$&$-t$ + \end{tabular} + + \end{column} + \begin{column}{0.50\textwidth} + + \begin{center} + + \begin{tabular}{| c | c c | c | c c |} + \hline + $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ + \hline + & & & & $1$& $0$\\ + $0$& $8$& $11$& $0$& $0$& $1$\\ + $1$& $11$& $8$& $1$& $1$& $0$\\ + $2$& $8$& $3$& $2$& $-1$& $1$\\ + $3$& $3$& $2$& $1$& $3$& $-2$\\ + $4$& $2$& $1$& $2$& $-4$& $3$\\ + $5$& $1$& $0$& & $11$& $-8$\\ + \hline + \end{tabular} + + \vspace{10pt} + + \begin{tabular}{rcl} + $-4\cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $8^{-1}$ &$=$& $7$ + + \end{tabular} + + \end{center} + + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodirung mit Inverser Matrix} + + \begin{itemize} + \item $V = [5,3,6,5,2,10,2,7,10,4]$ + + \item $m = 1/10 \cdot A^{-1} \cdot V$ + + \item $m = 10 \cdot A^{-1} \cdot V$ + + \end{itemize} + + \[ + m = \begin{pmatrix} + 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ + 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ + 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ + 7^0& 7^3& 7^6& 7^9& 7^{12}& 7^{15}& 7^{18}& 7^{21}& 7^{24}& 7^{27}\\ + 7^0& 7^4& 7^8& 7^{12}& 7^{16}& 7^{20}& 7^{24}& 7^{28}& 7^{32}& 7^{36}\\ + 7^0& 7^5& 7^{10}& 7^{15}& 7^{20}& 7^{25}& 7^{30}& 7^{35}& 7^{40}& 7^{45}\\ + 7^0& 7^6& 7^{12}& 7^{18}& 7^{24}& 7^{30}& 7^{36}& 7^{42}& 7^{48}& 7^{54}\\ + 7^0& 7^7& 7^{14}& 7^{21}& 7^{28}& 7^{35}& 7^{42}& 7^{49}& 7^{56}& 7^{63}\\ + 7^0& 7^8& 7^{16}& 7^{24}& 7^{32}& 7^{40}& 7^{48}& 7^{56}& 7^{64}& 7^{72}\\ + 7^0& 7^9& 7^{18}& 7^{27}& 7^{36}& 7^{45}& 7^{54}& 7^{63}& 7^{72}& 7^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [0,0,0,0,4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodierung mit Fehler - Ansatz} + + \begin{itemize} + \item Gesendet: $V = [5,3,6,5,2,10,2,7,10,4]$ + + \item Empfangen: $W = [5,3,6,8,2,10,2,7,1,4]$ + + \item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerstellen}5,4,5,7,6,7]$ + \end{itemize} + + Wie finden wir die Fehler? + + \begin{itemize} + \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + + \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + + \item $e(X) = r(X) - m(X)$ + \end{itemize} + + \begin{center} + + \begin{tabular}{c c c c c c c c c c c} + \hline + $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ + \hline + $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ + $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ + $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + \hline + \end{tabular} + + \end{center} + + \begin{itemize} + \item Alle Stellen, die nicht Null sind, sind Fehler + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können + + \vspace{10pt} + + $\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ + + \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$ + + $= d(X) \cdot e(X)$ + + \vspace{10pt} + + \item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{kennen wir $e$?} + + \begin{itemize} + + \item $e$ ist unbekannt auf der Empfängerseite + + \vspace{10pt} + + \item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt? + + \vspace{10pt} + + \item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + + In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat + + \vspace{10pt} + + \item daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$ + + \vspace{10pt} + + \item $f(X) = X^{10} - 1 = X^{10} + 10$ + + \vspace{10pt} + + \item jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus (nochmal)} + + $\operatorname{ggT}(f(X),e(X))$ hat den Grad 8 + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + X^{10}& & & & & & &+& 10& & & & &:&5X^9&+&7X^8&+& 4X^7&+&10X^6&+&p(X)&=&9X&+&5\\ + X^{10}&+& 8X^9&+& 3X^8&+&2X^7&+& p(X)& & & & & & & & & & & & & & & & \\ \cline{1-9} + && 3X^9&+& 8X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ + && 3X^9&+& 2X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ \cline{3-9} + & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ + \end{array} + \] + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + 5X^9&+& 7X^8&+& 4X^7&+& 10X^6&+& p(X)& & & & &:&6X^8&+&0X^7& & & & & & &=&10X&+&3\\ + 5X^9&+& 0X^8&+& p(X)& & & & & & & & & & & & & & & & & & & & \\ \cline{1-5} + && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ + \end{array} + \] + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = 6X^8$ + + \vspace{10pt} + + $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen + + \end{frame} + +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Erweiterte Euklidische Algorithmus} + + \begin{center} + + \begin{tabular}{| c | c | c c |} + \hline + $k$ & $q_i$ & $e_i$ & $f_i$\\ + \hline + & & $0$& $1$\\ + $0$& $9X + 5$& $1$& $0$\\ + $1$& $10X + 3$& $9X+5$& $1$\\ + $2$& & $2X^2 + 0X + 5$& $10X + 3$\\ + \hline + \end{tabular} + + \end{center} + + \vspace{10pt} + + \begin{tabular}{ll} + Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\ + Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\ + Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$ + \end{tabular} + + \vspace{10pt} + + \begin{center} + $a^i = 5 \qquad \Rightarrow \qquad i = 3$ + + $a^i = 6 \qquad \Rightarrow \qquad i = 8$ + \end{center} + + $D = [3,8]$ + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \begin{itemize} + + \item $W = [5,3,6,8,2,10,2,7,1,4]$ + + \item $D = [3,8]$ + + \end{itemize} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 8 \\ 2 \\ 10 \\ 2 \\ 7 \\ 1 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Fehlerstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Nullstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix in eine Quadratische Form bringen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix Invertieren + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 1& 1& 1& 1& 1& 1\\ + 1& 8& 9& 6& 4& 10\\ + 1& 9& 4& 3& 5& 1\\ + 1& 4& 5& 9& 3& 1\\ + 1& 10& 1& 10& 1& 10\\ + 1& 3& 9& 5& 4& 1\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \begin{center} + $\Downarrow$ + \end{center} + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- \end{document} \ No newline at end of file -- cgit v1.2.1 From 8473571bc77425cd198b4bba515a3f5fe10c8cd2 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 22:53:49 +0200 Subject: Style verbessert --- buch/papers/reedsolomon/RS presentation/RS.tex | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 1a1cefd..65f8431 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -64,12 +64,16 @@ &&\\ k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ \hline + &&\\ + &&\\ + &Ausserdem können bis zu 2t Fehler erkannt werden!\\ \end{tabular} \end{center} - Ausserdem können bis zu 2t Fehler erkannt werden! + + \end{frame} -\section{Fourier Transformation} +\section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} \begin{itemize} @@ -104,7 +108,7 @@ \end{figure} \end{frame} -\section{Diskrete Fourier Transformation} + \begin{frame} \frametitle{Diskrete Fourier Transformation} Die Diskrete Fourier Transformation ist so gegeben: @@ -134,10 +138,10 @@ = \begin{pmatrix} w^0 & w^0 & w^0 & \dots &w^0 \\ - w^0 & w^1 &w^2 & \dots &w^n \\ - w^0 & w^2 &w^4 & \dots &w^{2n} \\ + w^0 & w^1 &w^2 & \dots &w^N \\ + w^0 & w^2 &w^4 & \dots &w^{2N} \\ \vdots & \vdots &\vdots &\ddots &\vdots \\ - w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ + w^0 & w^{1(N-1)}&w^{2(N-1)}& \dots &w^{(N-1)(N-1)} \\ \end{pmatrix} \begin{pmatrix} \textcolor{blue}{f_0} \\ @@ -154,6 +158,7 @@ Wie wird der Fehler lokalisiert? \only<2>{ + \newline Indem in einem Endlichen Körper gerechnet wird. } \end{frame} -- cgit v1.2.1 From 38d0c69842308be5f096375ff070c5233b395c4c Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 16:01:46 +0200 Subject: kleine korrekturen --- buch/papers/reedsolomon/RS presentation/RS.tex | 45 +++++++++++++++----------- 1 file changed, 26 insertions(+), 19 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index eecd66b..618121c 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -19,14 +19,18 @@ \begin{frame}[plain] \maketitle \end{frame} - \section{Einführung} +%------------------------------------------------------------------------------- +\section{Einführung} \begin{frame} \frametitle{Einführung} \begin{itemize} \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten und deren Fehler Erkennung. + \item Wird verwendet in: + \only<2>{CD, QR-Codes, Voyager-Sonde, etc.} \end{itemize} \end{frame} +%------------------------------------------------------------------------------- \section{Polynom Ansatz} \begin{frame} Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. @@ -50,7 +54,7 @@ \includegraphics[scale = 1.2]{images/polynom2.pdf} \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Parameter} \begin{center} @@ -59,20 +63,24 @@ "Nutzlast" & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ - 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ - 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ +\only<2->{3}& +\only<2->{2}& +\only<2->{7 Werte eines Polynoms vom Grad 2} \\ &&\\ - k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ +\only<3->{k} & +\only<3->{t} & +\only<3->{k+2t Werte eines Polynoms vom Grad k-1} \\ \hline &&\\ &&\\ - &Ausserdem können bis zu 2t Fehler erkannt werden!\\ + \multicolumn{3}{l} { + \only<4>{Ausserdem können bis zu 2t Fehler erkannt werden!} + } \end{tabular} - \end{center} - - - + \end{center} \end{frame} +%------------------------------------------------------------------------------- \section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} @@ -81,7 +89,7 @@ \item Danach Empfangen und Rücktransformieren. \end{itemize} \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \begin{figure} \only<1>{ @@ -107,8 +115,7 @@ } \end{figure} \end{frame} - - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Diskrete Fourier Transformation} Die Diskrete Fourier Transformation ist so gegeben: @@ -117,8 +124,8 @@ \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - \]. - + \] + Ersetzten als: \[ w = e^{-\frac{2\pi j}{N} k} \] @@ -128,14 +135,14 @@ \] \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Diskrete Fourier Transformation} \[ \begin{pmatrix} \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n \end{pmatrix} - = + = \frac{1}{N} \begin{pmatrix} w^0 & w^0 & w^0 & \dots &w^0 \\ w^0 & w^1 &w^2 & \dots &w^N \\ @@ -152,7 +159,7 @@ \end{pmatrix} \] \end{frame} - +%------------------------------------------------------------------------------- \section{Probleme und Fragen} \begin{frame} \frametitle{Probleme und Fragen} @@ -163,7 +170,7 @@ Indem in einem Endlichen Körper gerechnet wird. } \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Reed-Solomon in Endlichen Körpern} -- cgit v1.2.1 From 9ce4fb55792c297989d1c001a621793303f31689 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 22:13:29 +0200 Subject: Verbesserungen und anmerkungen umgesetzt --- buch/papers/reedsolomon/RS presentation/RS.tex | 56 ++++++++++++++------------ 1 file changed, 31 insertions(+), 25 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 618121c..9811cf6 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -22,36 +22,38 @@ %------------------------------------------------------------------------------- \section{Einführung} \begin{frame} - \frametitle{Einführung} + \frametitle{Reed-Solomon-Code:} \begin{itemize} - \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten - und deren Fehler Erkennung. - \item Wird verwendet in: - \only<2>{CD, QR-Codes, Voyager-Sonde, etc.} + \item \only<1>{Für Übertragung von Daten} + \item \only<2->{Ermöglicht Korrektur von Übertragungsfehler} + \item \only<3->{Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} \end{itemize} \end{frame} %------------------------------------------------------------------------------- \section{Polynom Ansatz} \begin{frame} - Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. + \begin{itemize} + \item Beispiel $2, 1, 5$ versenden und auf 2 Fehler absichern + \end{itemize} \end{frame} \begin{frame} Übertragen von - ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} + ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. \only<1>{ - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{41}, \textcolor{green}{60}, \textcolor{green}{83}, \textcolor{green}{110})$ \includegraphics[scale = 1.2]{images/polynom1.pdf}} \only<2>{ - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{41}, \textcolor{green}{60}, \textcolor{green}{83}, \textcolor{green}{110})$ \includegraphics[scale = 1.2]{images/polynom2.pdf} + \newline \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} \end{frame} %------------------------------------------------------------------------------- @@ -60,22 +62,22 @@ \begin{center} \begin{tabular}{ c c c } \hline - "Nutzlast" & Fehler & Versenden \\ + ``Nutzlas´´ & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ \only<2->{3}& -\only<2->{2}& -\only<2->{7 Werte eines Polynoms vom Grad 2} \\ +\only<2->{3}& +\only<3->{9 Werte eines Polynoms vom Grad 2} \\ &&\\ -\only<3->{k} & -\only<3->{t} & -\only<3->{k+2t Werte eines Polynoms vom Grad k-1} \\ +\only<4->{$k$} & +\only<4->{$t$} & +\only<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \only<4>{Ausserdem können bis zu 2t Fehler erkannt werden!} + \only<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} } \end{tabular} \end{center} @@ -85,8 +87,9 @@ \begin{frame} \frametitle{Idee} \begin{itemize} - \item Idee mit Fourier Transformieren und dann senden. - \item Danach Empfangen und Rücktransformieren. + \item Fourier-transformieren + \item Übertragung + \item Rücktransformieren \end{itemize} \end{frame} %------------------------------------------------------------------------------- @@ -118,14 +121,16 @@ %------------------------------------------------------------------------------- \begin{frame} \frametitle{Diskrete Fourier Transformation} - Die Diskrete Fourier Transformation ist so gegeben: + \begin{itemize} + \item Diskrete Fourier-Transformation gegeben durch: + \[ \label{ft_discrete} \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} \] - Ersetzten als: + \item Ersetzte \[ w = e^{-\frac{2\pi j}{N} k} \] @@ -133,6 +138,7 @@ \[ \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) \] + \end{itemize} \end{frame} %------------------------------------------------------------------------------- @@ -145,8 +151,8 @@ = \frac{1}{N} \begin{pmatrix} w^0 & w^0 & w^0 & \dots &w^0 \\ - w^0 & w^1 &w^2 & \dots &w^N \\ - w^0 & w^2 &w^4 & \dots &w^{2N} \\ + w^0 & w^1 &w^2 & \dots &w^{N-1} \\ + w^0 & w^2 &w^4 & \dots &w^{2(N-1)} \\ \vdots & \vdots &\vdots &\ddots &\vdots \\ w^0 & w^{1(N-1)}&w^{2(N-1)}& \dots &w^{(N-1)(N-1)} \\ \end{pmatrix} @@ -167,7 +173,7 @@ Wie wird der Fehler lokalisiert? \only<2>{ \newline - Indem in einem Endlichen Körper gerechnet wird. + Indem in einem endlichen Körper gerechnet wird. } \end{frame} %------------------------------------------------------------------------------- -- cgit v1.2.1 From 5bca0960f8c9635375d2ca53c93d2bc5a2e37c10 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 22:59:07 +0200 Subject: Animation verbessert --- buch/papers/reedsolomon/RS presentation/RS.tex | 37 ++++++++++++++------------ 1 file changed, 20 insertions(+), 17 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 9811cf6..732cee5 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -24,9 +24,9 @@ \begin{frame} \frametitle{Reed-Solomon-Code:} \begin{itemize} - \item \only<1>{Für Übertragung von Daten} - \item \only<2->{Ermöglicht Korrektur von Übertragungsfehler} - \item \only<3->{Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} + \visible<1->{\item Für Übertragung von Daten} + \visible<2->{\item Ermöglicht Korrektur von Übertragungsfehler} + \visible<3->{\item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} \end{itemize} \end{frame} %------------------------------------------------------------------------------- @@ -37,6 +37,7 @@ \end{itemize} \end{frame} \begin{frame} + \frametitle{Beispiel} Übertragen von ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. @@ -66,18 +67,18 @@ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -\only<2->{3}& -\only<2->{3}& -\only<3->{9 Werte eines Polynoms vom Grad 2} \\ +\visible<2->{3}& +\visible<2->{3}& +\visible<3->{9 Werte eines Polynoms vom Grad 2} \\ &&\\ -\only<4->{$k$} & -\only<4->{$t$} & -\only<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ +\visible<4->{$k$} & +\visible<4->{$t$} & +\visible<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \only<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + \visible<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} } \end{tabular} \end{center} @@ -123,21 +124,23 @@ \frametitle{Diskrete Fourier Transformation} \begin{itemize} \item Diskrete Fourier-Transformation gegeben durch: - + \visible<1->{ \[ \label{ft_discrete} \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - \] + \]} + \visible<2->{ \item Ersetzte \[ w = e^{-\frac{2\pi j}{N} k} - \] - Wenn $N$ konstant: + \]} + \visible<3->{ + \item Wenn $N$ konstant: \[ \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) - \] + \]} \end{itemize} \end{frame} @@ -166,12 +169,12 @@ \] \end{frame} %------------------------------------------------------------------------------- -\section{Probleme und Fragen} + \begin{frame} \frametitle{Probleme und Fragen} Wie wird der Fehler lokalisiert? - \only<2>{ + \visible<2>{ \newline Indem in einem endlichen Körper gerechnet wird. } -- cgit v1.2.1 From 967ff1f33d3faaa1e344ff687aff6c07cde29b77 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Thu, 22 Apr 2021 23:33:02 +0200 Subject: Update RS.tex --- buch/papers/reedsolomon/RS presentation/RS.tex | 288 ++++++++++++++----------- 1 file changed, 165 insertions(+), 123 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 732cee5..61324f7 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -15,6 +15,7 @@ \date{26.04.2021} \subject{Mathematisches Seminar} \setbeamercovered{transparent} + %\setbeamercovered{invisible} \setbeamertemplate{navigation symbols}{} \begin{frame}[plain] \maketitle @@ -83,7 +84,11 @@ \end{tabular} \end{center} \end{frame} +<<<<<<< Updated upstream %------------------------------------------------------------------------------- +======= + +>>>>>>> Stashed changes \section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} @@ -179,26 +184,38 @@ Indem in einem endlichen Körper gerechnet wird. } \end{frame} +<<<<<<< Updated upstream %------------------------------------------------------------------------------- +======= + +\section{Reed-Solomon in Endlichen Körpern} + +>>>>>>> Stashed changes \begin{frame} \frametitle{Reed-Solomon in Endlichen Körpern} \begin{itemize} - \item Warum Endliche Körper? + \onslide<1->{\item Warum endliche Körper?} - \qquad bessere Laufzeit + \onslide<1->{\qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler} - \vspace{10pt} + \onslide<1->{\qquad digitale Fehlerkorrektur} - \item Nachricht = Nutzdaten + Fehlerkorrekturteil + \onslide<1->{\qquad bessere Laufzeit} \vspace{10pt} - \item den Fehlerkorrekturteil brauchen wir im Optimalfall nicht + \onslide<1->{\item Nachricht = Nutzdaten + Fehlerkorrekturteil} \vspace{10pt} - \item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die Fehlerhaften Stellen beinhaltet + \onslide<1->{\item aus Fehlerkorrekturteil die Fehlerstellen finden} + + \onslide<1->{\qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom} + +% \vspace{10pt} + +% \onslide<1->{\item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die fehlerhaften Stellen beinhaltet} % Wir sollten im Fehlerfall in der Lage sein, aus der Nachricht ein Lokatorpolynom zu berechnen, welches die Fehlerhaften Stellen beinhaltet @@ -212,35 +229,35 @@ % sollten wir fehler bekommen, was uns die korrekturstellen mitgeteilt wird, dann ist es unsere aufgabe ein lokatorpolynom zu finden, welches uns verrät, auf welchen zeilen der Fehler aufgetreten ist \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Definition eines Beispiels} \begin{itemize} - \item Endlicher Körper $q = 11$ + \only<1->{\item endlicher Körper $q = 11$} \only<1->{ist eine Primzahl} - \only<1->{beinhaltet die Zahlen $\mathbb{Z}_{11} = [0,1,2,3,4,5,6,7,8,9,10]$} + \only<1->{beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \only<1->{\item Nachrichtenblock $n = q-1$} + \only<1->{\item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen - wird an den Empfänger gesendet + $n = q - 1 = 10$ Zahlen} \vspace{10pt} - \only<1->{\item max. Fehler $z = 2$} + \only<1->{\item Max.~Fehler $z = 2$ - maximale Anzahl von Fehler, die wir noch korrigieren können + maximale Anzahl von Fehler, die wir noch korrigieren können} \vspace{10pt} \only<1->{\item Nutzlast $k = n -2t = 6$ Zahlen} - Fehlerstellen $2t = 4$ Zahlen + \only<1->{Fehlerkorrkturstellen $2t = 4$ Zahlen} \only<1->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} @@ -250,52 +267,54 @@ \end{frame} %------------------------------------------------------------------------------- +\section{Codierung eines Beispiels} \begin{frame} \frametitle{Codierung} \begin{itemize} - \item Ansatz aus den Komplexen Zahlen mit der Fouriertransformation + \only<1->{\item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation} \vspace{10pt} - \item $\mathrm{e}$ existiert nicht in $\mathbb{Z}_{11}$ + \only<1->{\item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$} \vspace{10pt} - \item wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{Z}_{11}$ abdeckt + \only<1->{\item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken - $\mathbb{Z}_{11}\setminus\{0\} = [a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9]$ + $\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$} \vspace{10pt} - \item wir wählen $a = 8$ + \only<1->{\item Wir wählen $a = 8$} - $\mathbb{Z}_{11}\setminus\{0\} = [1,8,9,6,4,10,3,2,5,7]$ + \only<1->{$\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$} - 8 ist eine Primitive Einheitswurzel + \only<1->{$8$ ist eine primitive Einheitswurzel} \vspace{10pt} - \item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$ + \only<1->{\item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$} - $\Rightarrow$ \qquad können wir auch als Matrix schreiben + \only<1->{$\Rightarrow$ \qquad können wir auch als Matrix schreiben} \end{itemize} \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Codierung} \begin{itemize} - \item Übertragungsvektor $V$ + \only<1->{\item Übertragungsvektor $v$} - \item $V = A \cdot m$ + \only<1->{\item $v = A \cdot m$} \end{itemize} \[ - V = \begin{pmatrix} + \only<1->{ + v = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ @@ -311,29 +330,34 @@ \begin{pmatrix} 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ \end{pmatrix} + } \] - + \only<1->{ \begin{itemize} - \item $V = [5,3,6,5,2,10,2,7,10,4]$ + \item $v = [5,3,6,5,2,10,2,7,10,4]$ \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- +\section{Decodierung ohne Fehler} \begin{frame} \frametitle{Decodierung ohne Fehler} \begin{itemize} - \item Der Empfänger erhält den unveränderten Vektor $V = [5,3,6,5,2,10,2,7,10,4]$ + \only<1->{\item Der Empfänger erhält den unveränderten Vektor + $v = [5,3,6,5,2,10,2,7,10,4]$} \vspace{10pt} - \item Wir suchen die Inverse der Matrix A + \only<1->{\item Wir suchen die Inverse der Matrix $A$} + + \vspace{10pt} \end{itemize} \begin{columns}[t] \begin{column}{0.50\textwidth} - + \only<1->{ Inverse der Fouriertransformation \vspace{10pt} \[ @@ -341,25 +365,26 @@ \] \vspace{10pt} \[ - f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega + \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega \] - + } \end{column} \begin{column}{0.50\textwidth} - - Inverse von a + \only<1->{ + Inverse von $a$} \vspace{10pt} + \only<1->{ \[ 8^{1} \Rightarrow 8^{-1} \] - - Inverse finden wir über den Eulkidischen Algorithmus + } + \only<1->{Inverse finden wir über den Eulkidischen Algorithmus} \vspace{10pt} \end{column} \end{columns} \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Der Euklidische Algorithmus} @@ -385,8 +410,8 @@ \begin{column}{0.50\textwidth} \begin{center} - - \begin{tabular}{| c | c c | c | c c |} + \only<1->{ + \begin{tabular}{| c | c c | c | r r |} \hline $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ \hline @@ -395,17 +420,17 @@ $1$& $11$& $8$& $1$& $1$& $0$\\ $2$& $8$& $3$& $2$& $-1$& $1$\\ $3$& $3$& $2$& $1$& $3$& $-2$\\ - $4$& $2$& $1$& $2$& $-4$& $3$\\ + $4$& $2$& $1$& $2$& \textcolor<3->{blue}{$-4$}& \textcolor<3->{red}{$3$}\\ $5$& $1$& $0$& & $11$& $-8$\\ \hline \end{tabular} - + } \vspace{10pt} \begin{tabular}{rcl} - $-4\cdot 8 + 3 \cdot 11$ &$=$& $1$\\ - $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ - $8^{-1}$ &$=$& $7$ + \only<1->{$\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$}\\ + \only<1->{$7 \cdot 8 + 3 \cdot 11$ &$=$& $1$}\\ + \only<1->{$8^{-1}$ &$=$& $7$} \end{tabular} @@ -417,17 +442,17 @@ \end{frame} %------------------------------------------------------------------------------- \begin{frame} - \frametitle{Decodirung mit Inverser Matrix} + \frametitle{Decodierung mit Inverser Matrix} \begin{itemize} - \item $V = [5,3,6,5,2,10,2,7,10,4]$ + \only<1->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} - \item $m = 1/10 \cdot A^{-1} \cdot V$ + \only<1->{\item $m = 1/10 \cdot A^{-1} \cdot v$} - \item $m = 10 \cdot A^{-1} \cdot V$ + \only<1->{\item $m = 10 \cdot A^{-1} \cdot v$} \end{itemize} - + \only<1->{ \[ m = \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ @@ -446,85 +471,95 @@ 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ \end{pmatrix} \] - + } + \only<1->{ \begin{itemize} \item $m = [0,0,0,0,4,7,2,5,8,1]$ \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- +\section{Decodierung mit Fehler} \begin{frame} \frametitle{Decodierung mit Fehler - Ansatz} \begin{itemize} - \item Gesendet: $V = [5,3,6,5,2,10,2,7,10,4]$ + \only<1->{\item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$} - \item Empfangen: $W = [5,3,6,8,2,10,2,7,1,4]$ + \only<1->{\item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} + + \only<1->{\item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$} - \item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerstellen}5,4,5,7,6,7]$ \end{itemize} - Wie finden wir die Fehler? + \only<1->{Wie finden wir die Fehler?} + \only<1->{ \begin{itemize} \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + %\only<7->{\item $e(X) = r(X) - m(X)$} + \item $e(X) = r(X) - m(X)$ + \end{itemize} - + } + \begin{center} - + \only<1->{ \begin{tabular}{c c c c c c c c c c c} \hline $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ \hline - $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ - $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ - $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + $r(a^{i})$& \only<1->{$5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$}\\ + $m(a^{i})$& \only<1->{$5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$}\\ + $e(a^{i})$& \only<1->{$0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$}\\ \hline \end{tabular} - + } \end{center} - + + \only<1->{ \begin{itemize} \item Alle Stellen, die nicht Null sind, sind Fehler \end{itemize} - + } + \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Nullstellen des Fehlerpolynoms finden} \begin{itemize} - \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + \only<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} \vspace{10pt} - \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + \only<1->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + \only<1->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$} \vspace{10pt} - \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \only<1->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$} \vspace{10pt} - \item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat + \only<1->{\item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat} \vspace{10pt} - $\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \only<1->{$\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$ + \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$} \end{itemize} @@ -574,33 +609,33 @@ \end{frame} %------------------------------------------------------------------------------- \begin{frame} - \frametitle{kennen wir $e$?} + \frametitle{Kennen wir $e(X)$?} \begin{itemize} - \item $e$ ist unbekannt auf der Empfängerseite + \only<1->{\item $e(X)$ ist unbekannt auf der Empfängerseite} \vspace{10pt} - \item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt? + \only<1->{\item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt?} \vspace{10pt} - \item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + \only<1->{\item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ - In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat + In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat} \vspace{10pt} - \item daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$ + \only<1->{\item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$} \vspace{10pt} - \item $f(X) = X^{10} - 1 = X^{10} + 10$ + \only<1->{\item $f(X) = X^{10} - 1 = X^{10} + 10$} \vspace{10pt} - \item jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen + \only<1->{\item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen} \end{itemize} \end{frame} @@ -608,8 +643,8 @@ \begin{frame} \frametitle{Der Euklidische Algorithmus (nochmal)} - $\operatorname{ggT}(f(X),e(X))$ hat den Grad 8 - + \only<1->{$\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$} + \only<1->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -620,7 +655,8 @@ & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ \end{array} \] - + } + \only<1->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -629,14 +665,14 @@ && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ \end{array} \] - + } \vspace{10pt} - $\operatorname{ggT}(f(X),e(X)) = 6X^8$ + \only<1->{$\operatorname{ggT}(f(X),e(X)) = 6X^8$} \vspace{10pt} - $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen + \only<1->{ $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen } \end{frame} @@ -653,7 +689,7 @@ & & $0$& $1$\\ $0$& $9X + 5$& $1$& $0$\\ $1$& $10X + 3$& $9X+5$& $1$\\ - $2$& & $2X^2 + 0X + 5$& $10X + 3$\\ + $2$& & \textcolor<2->{blue}{$2X^2 + 0X + 5$}& $10X + 3$\\ \hline \end{tabular} @@ -662,49 +698,54 @@ \vspace{10pt} \begin{tabular}{ll} - Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\ - Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\ - Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$ + \only<1->{Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\} + \only<1->{Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\} + \only<1->{Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$} \end{tabular} \vspace{10pt} - + \only<1->{ \begin{center} $a^i = 5 \qquad \Rightarrow \qquad i = 3$ $a^i = 6 \qquad \Rightarrow \qquad i = 8$ \end{center} - - $D = [3,8]$ + } + \only<1->{$d(X) = (X-a^3)(X-a^8)$} \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +\section{Nachricht Rekonstruieren} \begin{frame} \frametitle{Rekonstruktion der Nachricht} \begin{itemize} - \item $W = [5,3,6,8,2,10,2,7,1,4]$ + \only<1->{\item $w = [5,3,6,8,2,10,2,7,1,4]$} - \item $D = [3,8]$ + \only<1->{\item $d(X) = (X-\textcolor<4->{red}{a^3})(X-\textcolor<4->{red}{a^8})$} \end{itemize} - + \only<1->{ \[ + \textcolor{gray}{ \begin{pmatrix} - 5 \\ 3 \\ 6 \\ 8 \\ 2 \\ 10 \\ 2 \\ 7 \\ 1 \\ 4 \\ + a^0 \\ a^1 \\ a^2 \\ \textcolor<4->{red}{a^3} \\ a^4 \\ a^5 \\ a^6 \\ a^7 \\ \textcolor<4->{red}{a^8} \\ a^9 \\ + \end{pmatrix}} + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ \textcolor<4->{red}{8} \\ 2 \\ 10 \\ 2 \\ 7 \\ \textcolor<4->{red}{1} \\ 4 \\ \end{pmatrix} = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ - 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + \textcolor<4->{red}{8^0}& \textcolor<4->{red}{8^3}& \textcolor<4->{red}{8^6}& \textcolor<4->{red}{8^9}& \textcolor<4->{red}{8^{12}}& \textcolor<4->{red}{8^{15}}& \textcolor<4->{red}{8^{18}}& \textcolor<4->{red}{8^{21}}& \textcolor<4->{red}{8^{24}}& \textcolor<4->{red}{8^{27}}\\ 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ - 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + \textcolor<4->{red}{8^0}& \textcolor<4->{red}{8^8}& \textcolor<4->{red}{8^{16}}& \textcolor<4->{red}{8^{24}}& \textcolor<4->{red}{8^{32}}& \textcolor<4->{red}{8^{40}}& \textcolor<4->{red}{8^{48}}& \textcolor<4->{red}{8^{56}}& \textcolor<4->{red}{8^{64}}& \textcolor<4->{red}{8^{72}}\\ 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ \end{pmatrix} \cdot @@ -712,13 +753,14 @@ m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ \end{pmatrix} \] - + } + \only<1->{ \begin{itemize} \item Fehlerstellen entfernen \end{itemize} - + } \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Rekonstruktion der Nachricht} @@ -728,25 +770,25 @@ \end{pmatrix} = \begin{pmatrix} - 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ - 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ - 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ - 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ - 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ - 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ - 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ - 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor<3->{green}{8^6}& \textcolor<3->{green}{8^7}& \textcolor<3->{green}{8^8}& \textcolor<3->{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor<3->{green}{8^{12}}& \textcolor<3->{green}{8^{14}}& \textcolor<3->{green}{8^{16}}& \textcolor<3->{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor<3->{green}{8^{24}}& \textcolor<3->{green}{8^{28}}& \textcolor<3->{green}{8^{32}}& \textcolor<3->{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor<3->{green}{8^{30}}& \textcolor<3->{green}{8^{35}}& \textcolor<3->{green}{8^{40}}& \textcolor<3->{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor<3->{green}{8^{36}}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{48}}& \textcolor<3->{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{49}}& \textcolor<3->{green}{8^{56}}& \textcolor<3->{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor<3->{green}{8^{54}}& \textcolor<3->{green}{8^{63}}& \textcolor<3->{green}{8^{72}}& \textcolor<3->{green}{8^{81}}\\ \end{pmatrix} \cdot \begin{pmatrix} - m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor<2->{green}{m_6} \\ \textcolor<2->{green}{m_7} \\ \textcolor<2->{green}{m_8} \\ \textcolor<2->{green}{m_9} \\ \end{pmatrix} \] - + \only<1->{ \begin{itemize} \item Nullstellen entfernen \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -754,7 +796,7 @@ \[ \begin{pmatrix} - 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor<2->{red}{7} \\ \textcolor<2->{red}{4} \\ \end{pmatrix} = \begin{pmatrix} @@ -764,8 +806,8 @@ 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ - 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}\\ - 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}\\ + \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^7}& \textcolor<2->{red}{8^{14}}& \textcolor<2->{red}{8^{21}}& \textcolor<2->{red}{8^{28}}& \textcolor<2->{red}{8^{35}}\\ + \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^9}& \textcolor<2->{red}{8^{18}}& \textcolor<2->{red}{8^{27}}& \textcolor<2->{red}{8^{36}}& \textcolor<2->{red}{8^{45}}\\ \end{pmatrix} \cdot \begin{pmatrix} @@ -774,11 +816,11 @@ \] \vspace{5pt} - + \only<1->{ \begin{itemize} \item Matrix in eine Quadratische Form bringen \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- \begin{frame} -- cgit v1.2.1 From 8c6a8e56c125c238dc64c21d1269fcdc7542c5cd Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 23:45:32 +0200 Subject: =?UTF-8?q?merge=20lines=20gel=C3=B6scht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/papers/reedsolomon/RS presentation/RS.tex | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 61324f7..943f2da 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -84,11 +84,9 @@ \end{tabular} \end{center} \end{frame} -<<<<<<< Updated upstream + %------------------------------------------------------------------------------- -======= ->>>>>>> Stashed changes \section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} @@ -184,13 +182,12 @@ Indem in einem endlichen Körper gerechnet wird. } \end{frame} -<<<<<<< Updated upstream + %------------------------------------------------------------------------------- -======= + \section{Reed-Solomon in Endlichen Körpern} ->>>>>>> Stashed changes \begin{frame} \frametitle{Reed-Solomon in Endlichen Körpern} -- cgit v1.2.1 From 179ea16b001b6640e9b720d53ffc06f3e2389ff2 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Fri, 23 Apr 2021 00:30:36 +0200 Subject: appostroph verbessert --- buch/papers/reedsolomon/RS presentation/RS.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 943f2da..d09d77d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -64,7 +64,7 @@ \begin{center} \begin{tabular}{ c c c } \hline - ``Nutzlas´´ & Fehler & Versenden \\ + ``Nutzlast'' & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -- cgit v1.2.1 From ded210e33924d4c078e5a0d899c0585d7f987565 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Fri, 23 Apr 2021 12:58:40 +0200 Subject: Folien Verbesserungen animation --- buch/papers/reedsolomon/RS presentation/RS.aux | 167 +++++++++++----- buch/papers/reedsolomon/RS presentation/RS.log | 212 ++++++++++++++++----- buch/papers/reedsolomon/RS presentation/RS.nav | 117 ++++++++---- buch/papers/reedsolomon/RS presentation/RS.out | 9 +- buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 135643 -> 207741 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 2 +- .../reedsolomon/RS presentation/RS.synctex.gz | Bin 22450 -> 203648 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 24 +-- buch/papers/reedsolomon/RS presentation/RS.toc | 11 +- 9 files changed, 388 insertions(+), 154 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index 005172f..065ba66 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -26,52 +26,121 @@ \@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} \@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} \@writefile{nav}{\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}}} -\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} -\HyPL@Entry{2<>} -\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{2}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{2}}} -\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}}} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} -\HyPL@Entry{3<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {4}{5}}} -\HyPL@Entry{5<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {6}{6}}} -\HyPL@Entry{6<>} -\@writefile{toc}{\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {3}{6}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {3}{6}}} -\@writefile{nav}{\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}}} -\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {7}{7}}} -\HyPL@Entry{7<>} -\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {8}{14}}} -\HyPL@Entry{14<>} -\@writefile{toc}{\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {7}{14}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {7}{14}}} -\@writefile{nav}{\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}}} -\@writefile{snm}{\beamer@slide {ft_discrete}{15}} -\newlabel{ft_discrete}{{8}{15}{Diskrete Fourier Transformation}{Doc-Start}{}} -\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} -\HyPL@Entry{15<>} -\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} -\HyPL@Entry{16<>} -\@writefile{toc}{\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {15}{16}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {15}{16}}} -\@writefile{nav}{\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}}} -\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {17}{18}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{18}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{18}}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{18}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {18}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {10}}} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/4}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {2}{4}}} +\HyPL@Entry{4<>} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{5}{0}{2}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{4}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{4}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{5}{Polynom Ansatz}{0}}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{5/5}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {5}{5}}} +\HyPL@Entry{5<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{6/8}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {6}{8}}} +\HyPL@Entry{8<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{9/12}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {9}{12}}} +\HyPL@Entry{12<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{13}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {5}{12}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {5}{12}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{13}{Diskrete Fourier Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{13/13}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} +\HyPL@Entry{13<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{14/20}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {14}{20}}} +\HyPL@Entry{20<>} +\@writefile{snm}{\beamer@slide {ft_discrete}{21}} +\newlabel{ft_discrete}{{8}{21}{Diskrete Fourier Transformation}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{3}{21/23}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {21}{23}}} +\HyPL@Entry{23<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{4}{24/24}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {24}{24}}} +\HyPL@Entry{24<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{5}{25/26}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {25}{26}}} +\HyPL@Entry{26<>} +\@writefile{toc}{\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{27}{0}{4}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {13}{26}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {13}{26}}} +\@writefile{nav}{\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{27}{Reed-Solomon in Endlichen Körpern}{0}}} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{27/27}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {27}{27}}} +\HyPL@Entry{27<>} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{28/28}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {28}{28}}} +\HyPL@Entry{28<>} +\@writefile{toc}{\beamer@sectionintoc {5}{Codierung eines Beispiels}{29}{0}{5}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {27}{28}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {27}{28}}} +\@writefile{nav}{\headcommand {\sectionentry {5}{Codierung eines Beispiels}{29}{Codierung eines Beispiels}{0}}} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{29/29}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {29}{29}}} +\HyPL@Entry{29<>} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{2}{30/30}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {30}{30}}} +\HyPL@Entry{30<>} +\@writefile{toc}{\beamer@sectionintoc {6}{Decodierung ohne Fehler}{31}{0}{6}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {29}{30}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {29}{30}}} +\@writefile{nav}{\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{31}{Decodierung ohne Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{1}{31/31}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {31}{31}}} +\HyPL@Entry{31<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{2}{32/34}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {32}{34}}} +\HyPL@Entry{34<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{3}{35/35}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {35}{35}}} +\HyPL@Entry{35<>} +\@writefile{toc}{\beamer@sectionintoc {7}{Decodierung mit Fehler}{36}{0}{7}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {31}{35}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {31}{35}}} +\@writefile{nav}{\headcommand {\sectionentry {7}{Decodierung mit Fehler}{36}{Decodierung mit Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{1}{36/36}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {36}{36}}} +\HyPL@Entry{36<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{2}{37/37}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {37}{37}}} +\HyPL@Entry{37<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{3}{38/38}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {38}{38}}} +\HyPL@Entry{38<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{4}{39/39}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {39}{39}}} +\HyPL@Entry{39<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{5}{40/40}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {40}{40}}} +\HyPL@Entry{40<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{6}{41/42}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {41}{42}}} +\HyPL@Entry{42<>} +\@writefile{toc}{\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{43}{0}{8}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {36}{42}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {36}{42}}} +\@writefile{nav}{\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{43}{Nachricht Rekonstruieren}{0}}} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{1}{43/46}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {43}{46}}} +\HyPL@Entry{46<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{2}{47/49}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {47}{49}}} +\HyPL@Entry{49<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{3}{50/51}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {50}{51}}} +\HyPL@Entry{51<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{4}{52/52}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {52}{52}}} +\HyPL@Entry{52<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{5}{53/53}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {53}{53}}} +\HyPL@Entry{53<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{6}{54/54}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {54}{54}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{54}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {43}{54}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {43}{54}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {54}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {29}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index 4e1c806..6042adc 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 18:18 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 23 APR 2021 10:48 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -974,141 +974,252 @@ Package hyperref Warning: Option `pdfsubject' has already been used, ] LaTeX Font Info: Trying to load font information for OT1+lmss on input line -29. +32. (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern ) -LaTeX Font Info: Trying to load font information for OML+lmm on input line 2 -9. +LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 +2. (c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMS+lmsy on input line -29. +32. (c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMX+lmex on input line -29. +32. (c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10.95> on input line 29. +(Font) <10.95> on input line 32. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <8> on input line 29. +(Font) <8> on input line 32. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <6> on input line 29. -LaTeX Font Info: Trying to load font information for U+msa on input line 29. +(Font) <6> on input line 32. +LaTeX Font Info: Trying to load font information for U+msa on input line 32. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd File: umsa.fd 2013/01/14 v3.01 AMS symbols A ) -LaTeX Font Info: Trying to load font information for U+msb on input line 29. +LaTeX Font Info: Trying to load font information for U+msb on input line 32. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd File: umsb.fd 2013/01/14 v3.01 AMS symbols B ) LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. [2 ] [3 +] [4 + +] [5 + +] +[6 + ] File: images/polynom1.pdf Graphic file (type pdf) - [4 + [7 ] File: images/polynom2.pdf Graphic file (type pdf) - [5 + [8 -] -[6 +] [9 -] [7 +] [10 + +] [11 + +] [12 + +] [13 ] File: images/fig1.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[8 +[14 ] File: images/fig2.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[9 +[15 ] File: images/fig3.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[10 +[16 ] File: images/fig4.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[11 +[17 ] File: images/fig5.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[12 +[18 ] File: images/fig6.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[13 +[19 ] File: images/fig7.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[14 +[20 + +] [21 + +] [22 + +] [23 + +] [24 + +] [25 + +] [26 + +] [27 + +] [28 + +] +LaTeX Font Info: Trying to load font information for T1+lmr on input line 30 +0. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmr.fd +File: t1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern +) [29 + +] [30 + +] +LaTeX Font Info: Trying to load font information for U+euf on input line 383 +. + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/ueuf.fd +File: ueuf.fd 2013/01/14 v3.01 Euler Fraktur +) +Overfull \hbox (1.42268pt too wide) detected at line 383 +\U/euf/m/n/10.95 F[]\OT1/lmss/m/n/10.95 (\T1/lmss/m/sl/10.95 F\OT1/lmss/m/n/10. +95 (\OML/lmm/m/it/10.95 !\OT1/lmss/m/n/10.95 )) = \T1/lmss/m/sl/10.95 f\OT1/lms +s/m/n/10.95 (\T1/lmss/m/sl/10.95 t\OT1/lmss/m/n/10.95 ) = [] [][] \T1/lmss/m/sl +/10.95 F\OT1/lmss/m/n/10.95 (\OML/lmm/m/it/10.95 !\OT1/lmss/m/n/10.95 )\T1/lmr/ +m/n/10.95 e[]\T1/lmss/m/sl/10.95 d\OML/lmm/m/it/10.95 ! + [] + +[31 -] [15 +] [32 -] [16 +] [33 -] [17 +] [34 -] [18 +] [35 + +] [36 + +] [37 + +] [38 + +] +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <14.4> on input line 638. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10> on input line 638. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <7> on input line 638. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <14.4> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 638. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 638. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <7> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 638. + [39 + +] +Overfull \hbox (2.91844pt too wide) detected at line 674 +[] + [] + +[40 + +] [41 + +] [42 + +] [43 + +] [44 + +] [45 + +] [46 + +] [47 + +] [48 + +] [49 + +] [50 + +] [51 + +] [52 + +] [53 + +] [54 ] \tf@nav=\write6 @@ -1120,21 +1231,22 @@ Overfull \vbox (14.63716pt too high) detected at line 105 \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 160. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 160. - (./RS.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 160. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 160. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 928. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 928. + +(./RS.aux) +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 928. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 928. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: 74C688051BF542B3A11E9793A97790F4. +(rerunfilecheck) Checksum: CBEDF1F633104E8EE4EB074E401487DA. ) Here is how much of TeX's memory you used: - 24400 strings out of 492483 - 451960 string characters out of 6132858 - 534889 words of memory out of 5000000 - 28378 multiletter control sequences out of 15000+600000 - 37892 words of font info for 41 fonts, out of 8000000 for 9000 + 24528 strings out of 492483 + 453801 string characters out of 6132858 + 557615 words of memory out of 5000000 + 28488 multiletter control sequences out of 15000+600000 + 82614 words of font info for 73 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 - 58i,15n,61p,796b,549s stack positions out of 5000i,500n,10000p,200000b,80000s + 58i,15n,61p,796b,566s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on RS.pdf (18 pages). +Output written on RS.pdf (54 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 1d67391..f288963 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -3,38 +3,85 @@ \headcommand {\beamer@sectionpages {1}{1}} \headcommand {\beamer@subsectionpages {1}{1}} \headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} -\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} -\headcommand {\beamer@framepages {2}{2}} -\headcommand {\beamer@sectionpages {2}{2}} -\headcommand {\beamer@subsectionpages {2}{2}} -\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}} -\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}} -\headcommand {\beamer@framepages {3}{3}} -\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}} -\headcommand {\beamer@framepages {4}{5}} -\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}} -\headcommand {\beamer@framepages {6}{6}} -\headcommand {\beamer@sectionpages {3}{6}} -\headcommand {\beamer@subsectionpages {3}{6}} -\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}} -\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}} -\headcommand {\beamer@framepages {7}{7}} -\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}} -\headcommand {\beamer@framepages {8}{14}} -\headcommand {\beamer@sectionpages {7}{14}} -\headcommand {\beamer@subsectionpages {7}{14}} -\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}} -\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}} -\headcommand {\beamer@framepages {15}{15}} -\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}} -\headcommand {\beamer@framepages {16}{16}} -\headcommand {\beamer@sectionpages {15}{16}} -\headcommand {\beamer@subsectionpages {15}{16}} -\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}} -\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}} -\headcommand {\beamer@framepages {17}{18}} -\headcommand {\beamer@partpages {1}{18}} -\headcommand {\beamer@subsectionpages {17}{18}} -\headcommand {\beamer@sectionpages {17}{18}} -\headcommand {\beamer@documentpages {18}} -\headcommand {\gdef \inserttotalframenumber {10}} +\headcommand {\slideentry {1}{0}{1}{2/4}{}{0}} +\headcommand {\beamer@framepages {2}{4}} +\headcommand {\beamer@sectionpages {2}{4}} +\headcommand {\beamer@subsectionpages {2}{4}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{5}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{5/5}{}{0}} +\headcommand {\beamer@framepages {5}{5}} +\headcommand {\slideentry {2}{0}{2}{6/8}{}{0}} +\headcommand {\beamer@framepages {6}{8}} +\headcommand {\slideentry {2}{0}{3}{9/12}{}{0}} +\headcommand {\beamer@framepages {9}{12}} +\headcommand {\beamer@sectionpages {5}{12}} +\headcommand {\beamer@subsectionpages {5}{12}} +\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{13}{Diskrete Fourier Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{13/13}{}{0}} +\headcommand {\beamer@framepages {13}{13}} +\headcommand {\slideentry {3}{0}{2}{14/20}{}{0}} +\headcommand {\beamer@framepages {14}{20}} +\headcommand {\slideentry {3}{0}{3}{21/23}{}{0}} +\headcommand {\beamer@framepages {21}{23}} +\headcommand {\slideentry {3}{0}{4}{24/24}{}{0}} +\headcommand {\beamer@framepages {24}{24}} +\headcommand {\slideentry {3}{0}{5}{25/26}{}{0}} +\headcommand {\beamer@framepages {25}{26}} +\headcommand {\beamer@sectionpages {13}{26}} +\headcommand {\beamer@subsectionpages {13}{26}} +\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{27}{Reed-Solomon in Endlichen Körpern}{0}} +\headcommand {\slideentry {4}{0}{1}{27/27}{}{0}} +\headcommand {\beamer@framepages {27}{27}} +\headcommand {\slideentry {4}{0}{2}{28/28}{}{0}} +\headcommand {\beamer@framepages {28}{28}} +\headcommand {\beamer@sectionpages {27}{28}} +\headcommand {\beamer@subsectionpages {27}{28}} +\headcommand {\sectionentry {5}{Codierung eines Beispiels}{29}{Codierung eines Beispiels}{0}} +\headcommand {\slideentry {5}{0}{1}{29/29}{}{0}} +\headcommand {\beamer@framepages {29}{29}} +\headcommand {\slideentry {5}{0}{2}{30/30}{}{0}} +\headcommand {\beamer@framepages {30}{30}} +\headcommand {\beamer@sectionpages {29}{30}} +\headcommand {\beamer@subsectionpages {29}{30}} +\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{31}{Decodierung ohne Fehler}{0}} +\headcommand {\slideentry {6}{0}{1}{31/31}{}{0}} +\headcommand {\beamer@framepages {31}{31}} +\headcommand {\slideentry {6}{0}{2}{32/34}{}{0}} +\headcommand {\beamer@framepages {32}{34}} +\headcommand {\slideentry {6}{0}{3}{35/35}{}{0}} +\headcommand {\beamer@framepages {35}{35}} +\headcommand {\beamer@sectionpages {31}{35}} +\headcommand {\beamer@subsectionpages {31}{35}} +\headcommand {\sectionentry {7}{Decodierung mit Fehler}{36}{Decodierung mit Fehler}{0}} +\headcommand {\slideentry {7}{0}{1}{36/36}{}{0}} +\headcommand {\beamer@framepages {36}{36}} +\headcommand {\slideentry {7}{0}{2}{37/37}{}{0}} +\headcommand {\beamer@framepages {37}{37}} +\headcommand {\slideentry {7}{0}{3}{38/38}{}{0}} +\headcommand {\beamer@framepages {38}{38}} +\headcommand {\slideentry {7}{0}{4}{39/39}{}{0}} +\headcommand {\beamer@framepages {39}{39}} +\headcommand {\slideentry {7}{0}{5}{40/40}{}{0}} +\headcommand {\beamer@framepages {40}{40}} +\headcommand {\slideentry {7}{0}{6}{41/42}{}{0}} +\headcommand {\beamer@framepages {41}{42}} +\headcommand {\beamer@sectionpages {36}{42}} +\headcommand {\beamer@subsectionpages {36}{42}} +\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{43}{Nachricht Rekonstruieren}{0}} +\headcommand {\slideentry {8}{0}{1}{43/46}{}{0}} +\headcommand {\beamer@framepages {43}{46}} +\headcommand {\slideentry {8}{0}{2}{47/49}{}{0}} +\headcommand {\beamer@framepages {47}{49}} +\headcommand {\slideentry {8}{0}{3}{50/51}{}{0}} +\headcommand {\beamer@framepages {50}{51}} +\headcommand {\slideentry {8}{0}{4}{52/52}{}{0}} +\headcommand {\beamer@framepages {52}{52}} +\headcommand {\slideentry {8}{0}{5}{53/53}{}{0}} +\headcommand {\beamer@framepages {53}{53}} +\headcommand {\slideentry {8}{0}{6}{54/54}{}{0}} +\headcommand {\beamer@framepages {54}{54}} +\headcommand {\beamer@partpages {1}{54}} +\headcommand {\beamer@subsectionpages {43}{54}} +\headcommand {\beamer@sectionpages {43}{54}} +\headcommand {\beamer@documentpages {54}} +\headcommand {\gdef \inserttotalframenumber {29}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index 32b9a2c..364319e 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -1,5 +1,8 @@ \BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 \BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 -\BOOKMARK [2][]{Outline0.3}{Fourier\040Transformation}{}% 3 -\BOOKMARK [2][]{Outline0.4}{Diskrete\040Fourier\040Transformation}{}% 4 -\BOOKMARK [2][]{Outline0.5}{Probleme\040und\040Fragen}{}% 5 +\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourier\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.4}{Reed-Solomon in Endlichen Körpern}{}% 4 +\BOOKMARK [2][]{Outline0.5}{Codierung\040eines\040Beispiels}{}% 5 +\BOOKMARK [2][]{Outline0.6}{Decodierung\040ohne\040Fehler}{}% 6 +\BOOKMARK [2][]{Outline0.7}{Decodierung\040mit\040Fehler}{}% 7 +\BOOKMARK [2][]{Outline0.8}{Nachricht\040Rekonstruieren}{}% 8 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index 913bc42..d9d6693 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm index 6607ea8..86859c9 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.snm +++ b/buch/papers/reedsolomon/RS presentation/RS.snm @@ -1 +1 @@ -\beamer@slide {ft_discrete}{15} +\beamer@slide {ft_discrete}{21} diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index 001b5c8..04bd239 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index d09d77d..7b2c4da 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -43,18 +43,18 @@ ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. - \only<1>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom1.pdf}} - \only<2>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom2.pdf} + + Versende $ (p(1),p(2),\dots,p(7))$ + \visible<2->{ = (\textcolor{green}{8},} + \only<2>{\textcolor{green}{15},} + \only<3>{\textcolor{red}{50},} + \only<2>{\textcolor{green}{26},} + \only<3>{\textcolor{red}{37},} + \visible<2->{\textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})} + \only<2>{\includegraphics[scale = 1.2]{images/polynom1.pdf}} + \only<3>{\includegraphics[scale = 1.2]{images/polynom2.pdf}} + \visible<3>{ \newline \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} \end{frame} diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index 44c06ab..095b5e6 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1,6 +1,9 @@ \babel@toc {ngerman}{} \beamer@sectionintoc {1}{Einführung}{2}{0}{1} -\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2} -\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3} -\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4} -\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5} +\beamer@sectionintoc {2}{Polynom Ansatz}{5}{0}{2} +\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{13}{0}{3} +\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{27}{0}{4} +\beamer@sectionintoc {5}{Codierung eines Beispiels}{29}{0}{5} +\beamer@sectionintoc {6}{Decodierung ohne Fehler}{31}{0}{6} +\beamer@sectionintoc {7}{Decodierung mit Fehler}{36}{0}{7} +\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{43}{0}{8} -- cgit v1.2.1 From 0a80be4477602e2d909e5eda40dae485ec6acd56 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Fri, 23 Apr 2021 13:02:38 +0200 Subject: Read me erstellt --- buch/papers/reedsolomon/RS presentation/README.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 buch/papers/reedsolomon/RS presentation/README.txt (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/README.txt b/buch/papers/reedsolomon/RS presentation/README.txt new file mode 100644 index 0000000..4d0620f --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/README.txt @@ -0,0 +1 @@ +Dies ist die Presentation des Reed-Solomon-Code \ No newline at end of file -- cgit v1.2.1 From d1b6d92a02d9c44b3860b73d5660c5c6863de0df Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Fri, 23 Apr 2021 21:19:34 +0200 Subject: handout added --- buch/papers/reedsolomon/RS presentation/RS.tex | 290 +++---- .../reedsolomon/RS presentation/RS_handout.tex | 921 +++++++++++++++++++++ 2 files changed, 1069 insertions(+), 142 deletions(-) create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 943f2da..c215e66 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -14,8 +14,8 @@ \institute{OST Ostschweizer Fachhochschule} \date{26.04.2021} \subject{Mathematisches Seminar} - \setbeamercovered{transparent} - %\setbeamercovered{invisible} + %\setbeamercovered{transparent} + \setbeamercovered{invisible} \setbeamertemplate{navigation symbols}{} \begin{frame}[plain] \maketitle @@ -64,22 +64,22 @@ \begin{center} \begin{tabular}{ c c c } \hline - ``Nutzlas´´ & Fehler & Versenden \\ + Nutzlas & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -\visible<2->{3}& -\visible<2->{3}& -\visible<3->{9 Werte eines Polynoms vom Grad 2} \\ +\visible<1->{3}& +\visible<1->{3}& +\visible<1->{9 Werte eines Polynoms vom Grad 2} \\ &&\\ -\visible<4->{$k$} & -\visible<4->{$t$} & -\visible<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ +\visible<1->{$k$} & +\visible<1->{$t$} & +\visible<1->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \visible<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + \visible<1>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} } \end{tabular} \end{center} @@ -194,21 +194,21 @@ \begin{itemize} \onslide<1->{\item Warum endliche Körper?} - \onslide<1->{\qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler} + \onslide<2->{\qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler} - \onslide<1->{\qquad digitale Fehlerkorrektur} + \onslide<3->{\qquad digitale Fehlerkorrektur} - \onslide<1->{\qquad bessere Laufzeit} + %\onslide<4->{\qquad bessere Laufzeit} \vspace{10pt} - \onslide<1->{\item Nachricht = Nutzdaten + Fehlerkorrekturteil} + \onslide<4->{\item Nachricht = Nutzdaten + Fehlerkorrekturteil} \vspace{10pt} - \onslide<1->{\item aus Fehlerkorrekturteil die Fehlerstellen finden} + \onslide<5->{\item aus Fehlerkorrekturteil die Fehlerstellen finden} - \onslide<1->{\qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom} + \onslide<6->{\qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom} % \vspace{10pt} @@ -232,33 +232,33 @@ \begin{itemize} - \only<1->{\item endlicher Körper $q = 11$} + \onslide<1->{\item endlicher Körper $q = 11$} - \only<1->{ist eine Primzahl} + \onslide<2->{ist eine Primzahl} - \only<1->{beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$} + \onslide<3->{beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \only<1->{\item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen + \onslide<4->{\item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen} - $n = q - 1 = 10$ Zahlen} + \onslide<5->{$n = q - 1 = 10$ Zahlen} \vspace{10pt} - \only<1->{\item Max.~Fehler $z = 2$ + \onslide<6->{\item Max.~Fehler $t = 2$} - maximale Anzahl von Fehler, die wir noch korrigieren können} + \onslide<7->{maximale Anzahl von Fehler, die wir noch korrigieren können} \vspace{10pt} - \only<1->{\item Nutzlast $k = n -2t = 6$ Zahlen} + \onslide<8->{\item Nutzlast $k = n -2t = 6$ Zahlen} - \only<1->{Fehlerkorrkturstellen $2t = 4$ Zahlen} + \onslide<9->{Fehlerkorrkturstellen $2t = 4$ Zahlen} - \only<1->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} + \onslide<10->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} - \only<1->{als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} + \onslide<11->{als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} \end{itemize} @@ -269,31 +269,31 @@ \frametitle{Codierung} \begin{itemize} - \only<1->{\item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation} + \onslide<1->{\item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation} \vspace{10pt} - \only<1->{\item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$} + \onslide<2->{\item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$} \vspace{10pt} - \only<1->{\item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken + \onslide<3->{\item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken} - $\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$} + \onslide<4->{$\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$} \vspace{10pt} - \only<1->{\item Wir wählen $a = 8$} + \onslide<5->{\item Wir wählen $a = 8$} - \only<1->{$\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$} + \onslide<6->{$\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$} - \only<1->{$8$ ist eine primitive Einheitswurzel} + \onslide<7->{$8$ ist eine primitive Einheitswurzel} \vspace{10pt} - \only<1->{\item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$} + \onslide<8->{\item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$} - \only<1->{$\Rightarrow$ \qquad können wir auch als Matrix schreiben} + \onslide<9->{$\Rightarrow$ \qquad können wir auch als Matrix schreiben} \end{itemize} @@ -303,14 +303,14 @@ \frametitle{Codierung} \begin{itemize} - \only<1->{\item Übertragungsvektor $v$} + \onslide<1->{\item Übertragungsvektor $v$} - \only<1->{\item $v = A \cdot m$} + \onslide<2->{\item $v = A \cdot m$} \end{itemize} \[ - \only<1->{ + \onslide<3->{ v = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ @@ -329,11 +329,11 @@ \end{pmatrix} } \] - \only<1->{ + \begin{itemize} - \item $v = [5,3,6,5,2,10,2,7,10,4]$ + \onslide<4->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \section{Decodierung ohne Fehler} @@ -341,41 +341,44 @@ \frametitle{Decodierung ohne Fehler} \begin{itemize} - \only<1->{\item Der Empfänger erhält den unveränderten Vektor - $v = [5,3,6,5,2,10,2,7,10,4]$} + \onslide<1->{\item Der Empfänger erhält den unveränderten Vektor $v = [5,3,6,5,2,10,2,7,10,4]$} \vspace{10pt} - \only<1->{\item Wir suchen die Inverse der Matrix $A$} + \onslide<2->{\item Wir suchen die Inverse der Matrix $A$} \vspace{10pt} \end{itemize} \begin{columns}[t] - \begin{column}{0.50\textwidth} - \only<1->{ - Inverse der Fouriertransformation + \begin{column}{0.55\textwidth} + \onslide<3->{ Inverse der Fouriertransformation} \vspace{10pt} + \onslide<4->{ \[ F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt \] + } \vspace{10pt} + \onslide<5->{ \[ \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega \] } \end{column} - \begin{column}{0.50\textwidth} - \only<1->{ - Inverse von $a$} + \begin{column}{0.45\textwidth} + \onslide<6->{Inverse von $a$} + \vspace{10pt} - \only<1->{ + + \onslide<7->{ \[ 8^{1} \Rightarrow 8^{-1} \] } - \only<1->{Inverse finden wir über den Eulkidischen Algorithmus} + + \onslide<8->{Inverse finden wir über den Eulkidischen Algorithmus} \vspace{10pt} \end{column} \end{columns} @@ -407,7 +410,7 @@ \begin{column}{0.50\textwidth} \begin{center} - \only<1->{ + \onslide<1->{ \begin{tabular}{| c | c c | c | r r |} \hline $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ @@ -417,17 +420,18 @@ $1$& $11$& $8$& $1$& $1$& $0$\\ $2$& $8$& $3$& $2$& $-1$& $1$\\ $3$& $3$& $2$& $1$& $3$& $-2$\\ - $4$& $2$& $1$& $2$& \textcolor<3->{blue}{$-4$}& \textcolor<3->{red}{$3$}\\ + $4$& $2$& $1$& $2$& \textcolor<2->{blue}{$-4$}& \textcolor<2->{red}{$3$}\\ $5$& $1$& $0$& & $11$& $-8$\\ \hline \end{tabular} } + \vspace{10pt} \begin{tabular}{rcl} - \only<1->{$\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$}\\ - \only<1->{$7 \cdot 8 + 3 \cdot 11$ &$=$& $1$}\\ - \only<1->{$8^{-1}$ &$=$& $7$} + \onslide<3->{$\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$}\\ + \onslide<4->{$7 \cdot 8 + 3 \cdot 11$ &$=$& $1$}\\ + \onslide<5->{$8^{-1}$ &$=$& $7$} \end{tabular} @@ -442,16 +446,16 @@ \frametitle{Decodierung mit Inverser Matrix} \begin{itemize} - \only<1->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} + \onslide<1->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} - \only<1->{\item $m = 1/10 \cdot A^{-1} \cdot v$} + \onslide<2->{\item $m = 1/10 \cdot A^{-1} \cdot v$} - \only<1->{\item $m = 10 \cdot A^{-1} \cdot v$} + \onslide<3->{\item $m = 10 \cdot A^{-1} \cdot v$} \end{itemize} - \only<1->{ + \onslide<4->{ \[ - m = \begin{pmatrix} + m = 10 \cdot \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ @@ -469,11 +473,11 @@ \end{pmatrix} \] } - \only<1->{ + \begin{itemize} - \item $m = [0,0,0,0,4,7,2,5,8,1]$ + \onslide<5->{\item $m = [0,0,0,0,4,7,2,5,8,1]$} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \section{Decodierung mit Fehler} @@ -481,48 +485,46 @@ \frametitle{Decodierung mit Fehler - Ansatz} \begin{itemize} - \only<1->{\item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$} + \onslide<1->{\item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$} - \only<1->{\item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} + \onslide<2->{\item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} - \only<1->{\item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$} + \onslide<3->{\item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$} \end{itemize} - \only<1->{Wie finden wir die Fehler?} + \onslide<4->{Wie finden wir die Fehler?} - \only<1->{ \begin{itemize} - \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + \onslide<5->{\item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} - \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + \onslide<6->{\item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$} %\only<7->{\item $e(X) = r(X) - m(X)$} - \item $e(X) = r(X) - m(X)$ + \onslide<7->{\item $e(X) = r(X) - m(X)$} \end{itemize} - } \begin{center} - \only<1->{ + \onslide<8->{ \begin{tabular}{c c c c c c c c c c c} \hline $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ \hline - $r(a^{i})$& \only<1->{$5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$}\\ - $m(a^{i})$& \only<1->{$5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$}\\ - $e(a^{i})$& \only<1->{$0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$}\\ + $r(a^{i})$& \onslide<9->{$5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$}\\ + $m(a^{i})$& \onslide<10->{$5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$}\\ + $e(a^{i})$& \onslide<11->{$0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$}\\ \hline \end{tabular} } \end{center} - \only<1->{ + \begin{itemize} - \item Alle Stellen, die nicht Null sind, sind Fehler + \onslide<12->{\item Alle Stellen, die nicht Null sind, sind Fehler} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- @@ -530,31 +532,31 @@ \frametitle{Nullstellen des Fehlerpolynoms finden} \begin{itemize} - \only<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} + \onslide<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} \vspace{10pt} - \only<1->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$} + \onslide<2->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \only<1->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<3->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$} \vspace{10pt} - \only<1->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<4->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$} \vspace{10pt} - \only<1->{\item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat} + \onslide<5->{\item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat} \vspace{10pt} - \only<1->{$\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<6->{$\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$} @@ -567,39 +569,39 @@ \begin{itemize} - \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + \onslide<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} \vspace{10pt} - \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + \onslide<1->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$} \vspace{10pt} - \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<1->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$} \vspace{10pt} - \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<1->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$} \vspace{10pt} - \item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können + \onslide<1->{\item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können} \vspace{10pt} - $\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ + \onslide<2->{$\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ - \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$ + \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$} - $= d(X) \cdot e(X)$ + \onslide<3->{$= d(X) \cdot e(X)$} \vspace{10pt} - \item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$ + \onslide<4->{\item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$} \end{itemize} @@ -610,29 +612,29 @@ \begin{itemize} - \only<1->{\item $e(X)$ ist unbekannt auf der Empfängerseite} + \onslide<1->{\item $e(X)$ ist unbekannt auf der Empfängerseite} \vspace{10pt} - \only<1->{\item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt?} + \onslide<2->{\item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt?} \vspace{10pt} - \only<1->{\item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + \onslide<3->{\item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat} \vspace{10pt} - \only<1->{\item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$} + \onslide<4->{\item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$} \vspace{10pt} - \only<1->{\item $f(X) = X^{10} - 1 = X^{10} + 10$} + \onslide<5->{\item $f(X) = X^{10} - 1 = X^{10} + 10$} \vspace{10pt} - \only<1->{\item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen} + \onslide<6->{\item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen} \end{itemize} \end{frame} @@ -640,8 +642,8 @@ \begin{frame} \frametitle{Der Euklidische Algorithmus (nochmal)} - \only<1->{$\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$} - \only<1->{ + \onslide<1->{$\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$} + \onslide<2->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -653,7 +655,7 @@ \end{array} \] } - \only<1->{ + \onslide<3->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -665,11 +667,11 @@ } \vspace{10pt} - \only<1->{$\operatorname{ggT}(f(X),e(X)) = 6X^8$} + \onslide<4->{$\operatorname{ggT}(f(X),e(X)) = 6X^8$} \vspace{10pt} - \only<1->{ $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen } + \onslide<5->{ $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen } \end{frame} @@ -695,20 +697,22 @@ \vspace{10pt} \begin{tabular}{ll} - \only<1->{Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\} - \only<1->{Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\} - \only<1->{Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$} + \onslide<3->{Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\} + \onslide<4->{Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\} + \onslide<5->{Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$} \end{tabular} \vspace{10pt} - \only<1->{ + + \onslide<6->{ \begin{center} $a^i = 5 \qquad \Rightarrow \qquad i = 3$ $a^i = 6 \qquad \Rightarrow \qquad i = 8$ \end{center} - } - \only<1->{$d(X) = (X-a^3)(X-a^8)$} + } + + \onslide<7->{$d(X) = (X-a^3)(X-a^8)$} \end{frame} %------------------------------------------------------------------------------- @@ -718,12 +722,12 @@ \begin{itemize} - \only<1->{\item $w = [5,3,6,8,2,10,2,7,1,4]$} + \onslide<1->{\item $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} - \only<1->{\item $d(X) = (X-\textcolor<4->{red}{a^3})(X-\textcolor<4->{red}{a^8})$} + \onslide<2->{\item $d(X) = (X-\textcolor<4->{red}{a^3})(X-\textcolor<4->{red}{a^8})$} \end{itemize} - \only<1->{ + \onslide<3->{ \[ \textcolor{gray}{ \begin{pmatrix} @@ -751,11 +755,11 @@ \end{pmatrix} \] } - \only<1->{ + \begin{itemize} - \item Fehlerstellen entfernen + \onslide<5->{\item Fehlerstellen entfernen} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -767,25 +771,25 @@ \end{pmatrix} = \begin{pmatrix} - 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}\\ - 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor<3->{green}{8^6}& \textcolor<3->{green}{8^7}& \textcolor<3->{green}{8^8}& \textcolor<3->{green}{8^9}\\ - 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor<3->{green}{8^{12}}& \textcolor<3->{green}{8^{14}}& \textcolor<3->{green}{8^{16}}& \textcolor<3->{green}{8^{18}}\\ - 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor<3->{green}{8^{24}}& \textcolor<3->{green}{8^{28}}& \textcolor<3->{green}{8^{32}}& \textcolor<3->{green}{8^{36}}\\ - 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor<3->{green}{8^{30}}& \textcolor<3->{green}{8^{35}}& \textcolor<3->{green}{8^{40}}& \textcolor<3->{green}{8^{45}}\\ - 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor<3->{green}{8^{36}}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{48}}& \textcolor<3->{green}{8^{54}}\\ - 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{49}}& \textcolor<3->{green}{8^{56}}& \textcolor<3->{green}{8^{63}}\\ - 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor<3->{green}{8^{54}}& \textcolor<3->{green}{8^{63}}& \textcolor<3->{green}{8^{72}}& \textcolor<3->{green}{8^{81}}\\ + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor<4->{green}{8^0}& \textcolor<4->{green}{8^0}& \textcolor<4->{green}{8^0}& \textcolor<4->{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor<4->{green}{8^6}& \textcolor<4->{green}{8^7}& \textcolor<4->{green}{8^8}& \textcolor<4->{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor<4->{green}{8^{12}}& \textcolor<4->{green}{8^{14}}& \textcolor<4->{green}{8^{16}}& \textcolor<4->{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor<4->{green}{8^{24}}& \textcolor<4->{green}{8^{28}}& \textcolor<4->{green}{8^{32}}& \textcolor<4->{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor<4->{green}{8^{30}}& \textcolor<4->{green}{8^{35}}& \textcolor<4->{green}{8^{40}}& \textcolor<4->{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor<4->{green}{8^{36}}& \textcolor<4->{green}{8^{42}}& \textcolor<4->{green}{8^{48}}& \textcolor<4->{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor<4->{green}{8^{42}}& \textcolor<4->{green}{8^{49}}& \textcolor<4->{green}{8^{56}}& \textcolor<4->{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor<4->{green}{8^{54}}& \textcolor<4->{green}{8^{63}}& \textcolor<4->{green}{8^{72}}& \textcolor<4->{green}{8^{81}}\\ \end{pmatrix} \cdot \begin{pmatrix} m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor<2->{green}{m_6} \\ \textcolor<2->{green}{m_7} \\ \textcolor<2->{green}{m_8} \\ \textcolor<2->{green}{m_9} \\ \end{pmatrix} \] - \only<1->{ + \begin{itemize} - \item Nullstellen entfernen + \onslide<3->{\item Nullstellen entfernen} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -793,7 +797,7 @@ \[ \begin{pmatrix} - 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor<2->{red}{7} \\ \textcolor<2->{red}{4} \\ + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor<3->{red}{7} \\ \textcolor<3->{red}{4} \\ \end{pmatrix} = \begin{pmatrix} @@ -803,8 +807,8 @@ 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ - \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^7}& \textcolor<2->{red}{8^{14}}& \textcolor<2->{red}{8^{21}}& \textcolor<2->{red}{8^{28}}& \textcolor<2->{red}{8^{35}}\\ - \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^9}& \textcolor<2->{red}{8^{18}}& \textcolor<2->{red}{8^{27}}& \textcolor<2->{red}{8^{36}}& \textcolor<2->{red}{8^{45}}\\ + \textcolor<3->{red}{8^0}& \textcolor<3->{red}{8^7}& \textcolor<3->{red}{8^{14}}& \textcolor<3->{red}{8^{21}}& \textcolor<3->{red}{8^{28}}& \textcolor<3->{red}{8^{35}}\\ + \textcolor<3->{red}{8^0}& \textcolor<3->{red}{8^9}& \textcolor<3->{red}{8^{18}}& \textcolor<3->{red}{8^{27}}& \textcolor<3->{red}{8^{36}}& \textcolor<3->{red}{8^{45}}\\ \end{pmatrix} \cdot \begin{pmatrix} @@ -813,11 +817,11 @@ \] \vspace{5pt} - \only<1->{ + \begin{itemize} - \item Matrix in eine Quadratische Form bringen + \onslide<2->{\item Matrix in eine Quadratische Form bringen} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -845,7 +849,7 @@ \vspace{5pt} \begin{itemize} - \item Matrix Invertieren + \onslide<2->{\item Matrix Invertieren} \end{itemize} \end{frame} @@ -873,9 +877,10 @@ \] \begin{center} - $\Downarrow$ + \onslide<2->{$\Downarrow$} \end{center} \[ + \onslide<3->{ \begin{pmatrix} m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \end{pmatrix} @@ -892,6 +897,7 @@ \begin{pmatrix} 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \end{pmatrix} + } \] \end{frame} @@ -919,7 +925,7 @@ \] \begin{itemize} - \item $m = [4,7,2,5,8,1]$ + \onslide<2->{\item $m = [4,7,2,5,8,1]$} \end{itemize} \end{frame} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.tex b/buch/papers/reedsolomon/RS presentation/RS_handout.tex new file mode 100644 index 0000000..863b3a2 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.tex @@ -0,0 +1,921 @@ +\documentclass[11pt,aspectratio=169]{beamer} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[ngerman]{babel} +\usepackage{tikz} +\usetheme{Hannover} + +\begin{document} + \author{Joshua Bär und Michael Steiner} + \title{Reed-Solomon-Code} + \subtitle{} + \logo{} + \institute{OST Ostschweizer Fachhochschule} + \date{26.04.2021} + \subject{Mathematisches Seminar} + %\setbeamercovered{transparent} + \setbeamercovered{invisible} + \setbeamertemplate{navigation symbols}{} + \begin{frame}[plain] + \maketitle + \end{frame} +%------------------------------------------------------------------------------- +\section{Einführung} + \begin{frame} + \frametitle{Reed-Solomon-Code:} + \begin{itemize} + \visible<1->{\item Für Übertragung von Daten} + \visible<2->{\item Ermöglicht Korrektur von Übertragungsfehler} + \visible<3->{\item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} + \end{itemize} + \end{frame} +%------------------------------------------------------------------------------- +\section{Polynom Ansatz} + \begin{frame} + \begin{itemize} + \item Beispiel $2, 1, 5$ versenden und auf 2 Fehler absichern + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Beispiel} + Übertragen von + ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ + als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. + + \only<1>{ + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, + \textcolor{green}{15}, \textcolor{green}{26}, + \textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom1.pdf}} + \only<2>{ + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \newline + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Parameter} + \begin{center} + \begin{tabular}{ c c c } + \hline + Nutzlas & Fehler & Versenden \\ + \hline + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ +\visible<1->{3}& +\visible<1->{3}& +\visible<1->{9 Werte eines Polynoms vom Grad 2} \\ + &&\\ +\visible<1->{$k$} & +\visible<1->{$t$} & +\visible<1->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ + \hline + &&\\ + &&\\ + \multicolumn{3}{l} { + \visible<1>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + } + \end{tabular} + \end{center} + \end{frame} + +%------------------------------------------------------------------------------- + +\section{Diskrete Fourier Transformation} + \begin{frame} + \frametitle{Idee} + \begin{itemize} + \item Fourier-transformieren + \item Übertragung + \item Rücktransformieren + \end{itemize} + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \begin{figure} + \only<1>{ + \includegraphics[width=0.9\linewidth]{images/fig1.pdf} + } + \only<2>{ + \includegraphics[width=0.9\linewidth]{images/fig2.pdf} + } + \only<3>{ + \includegraphics[width=0.9\linewidth]{images/fig3.pdf} + } + \only<4>{ + \includegraphics[width=0.9\linewidth]{images/fig4.pdf} + } + \only<5>{ + \includegraphics[width=0.9\linewidth]{images/fig5.pdf} + } + \only<6>{ + \includegraphics[width=0.9\linewidth]{images/fig6.pdf} + } + \only<7>{ + \includegraphics[width=0.9\linewidth]{images/fig7.pdf} + } + \end{figure} + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Diskrete Fourier Transformation} + \begin{itemize} + \item Diskrete Fourier-Transformation gegeben durch: + \visible<1->{ + \[ + \label{ft_discrete} + \hat{c}_{k} + = \frac{1}{N} \sum_{n=0}^{N-1} + {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} + \]} + \visible<2->{ + \item Ersetzte + \[ + w = e^{-\frac{2\pi j}{N} k} + \]} + \visible<3->{ + \item Wenn $N$ konstant: + \[ + \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \]} + \end{itemize} + \end{frame} + +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Diskrete Fourier Transformation} + \[ + \begin{pmatrix} + \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n + \end{pmatrix} + = \frac{1}{N} + \begin{pmatrix} + w^0 & w^0 & w^0 & \dots &w^0 \\ + w^0 & w^1 &w^2 & \dots &w^{N-1} \\ + w^0 & w^2 &w^4 & \dots &w^{2(N-1)} \\ + \vdots & \vdots &\vdots &\ddots &\vdots \\ + w^0 & w^{1(N-1)}&w^{2(N-1)}& \dots &w^{(N-1)(N-1)} \\ + \end{pmatrix} + \begin{pmatrix} + \textcolor{blue}{f_0} \\ + \textcolor{blue}{f_1} \\ + \textcolor{blue}{f_2} \\ + \vdots \\ + 0 \\ + \end{pmatrix} + \] + \end{frame} +%------------------------------------------------------------------------------- + + \begin{frame} + \frametitle{Probleme und Fragen} + + Wie wird der Fehler lokalisiert? + \visible<2>{ + \newline + Indem in einem endlichen Körper gerechnet wird. + } + \end{frame} + +%------------------------------------------------------------------------------- + + +\section{Reed-Solomon in Endlichen Körpern} + + \begin{frame} + \frametitle{Reed-Solomon in Endlichen Körpern} + + \begin{itemize} + \item Warum endliche Körper? + + \qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler + + \qquad digitale Fehlerkorrektur + + %\onslide<4->{\qquad bessere Laufzeit} + + \vspace{10pt} + + \item Nachricht = Nutzdaten + Fehlerkorrekturteil + + \vspace{10pt} + + \item aus Fehlerkorrekturteil die Fehlerstellen finden + + \qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom + +% \vspace{10pt} + +% \onslide<1->{\item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die fehlerhaften Stellen beinhaltet} + +% Wir sollten im Fehlerfall in der Lage sein, aus der Nachricht ein Lokatorpolynom zu berechnen, welches die Fehlerhaften Stellen beinhaltet + + \end{itemize} + +% TODO + +% erklärung und einführung der endlichen körper, was wollen wir erreichen? + +% wir versenden im endefekt mehr daten als unsere nachricht umfasst, damit die korrektur sichergestellt werden kann + +% sollten wir fehler bekommen, was uns die korrekturstellen mitgeteilt wird, dann ist es unsere aufgabe ein lokatorpolynom zu finden, welches uns verrät, auf welchen zeilen der Fehler aufgetreten ist + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Definition eines Beispiels} + + \begin{itemize} + + \item endlicher Körper $q = 11$ + + ist eine Primzahl + + beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$ + + \vspace{10pt} + + \item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen + + $n = q - 1 = 10$ Zahlen + + \vspace{10pt} + + \item Max.~Fehler $t = 2$ + + maximale Anzahl von Fehler, die wir noch korrigieren können + + \vspace{10pt} + + \item Nutzlast $k = n -2t = 6$ Zahlen + + Fehlerkorrkturstellen $2t = 4$ Zahlen + + Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$ + + als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- +\section{Codierung eines Beispiels} + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation + + \vspace{10pt} + + \item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$ + + \vspace{10pt} + + \item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken + + $\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$ + + \vspace{10pt} + + \item Wir wählen $a = 8$ + + $\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$ + + $8$ ist eine primitive Einheitswurzel + + \vspace{10pt} + + \item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$ + + $\Rightarrow$ \qquad können wir auch als Matrix schreiben + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Übertragungsvektor $v$ + + \item $v = A \cdot m$ + + \end{itemize} + + \[ + v = \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $v = [5,3,6,5,2,10,2,7,10,4]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- +\section{Decodierung ohne Fehler} + \begin{frame} + \frametitle{Decodierung ohne Fehler} + + \begin{itemize} + \item Der Empfänger erhält den unveränderten Vektor $v = [5,3,6,5,2,10,2,7,10,4]$ + + \vspace{10pt} + + \item Wir suchen die Inverse der Matrix $A$ + + \vspace{10pt} + + \end{itemize} + + \begin{columns}[t] + \begin{column}{0.55\textwidth} + Inverse der Fouriertransformation + \vspace{10pt} + + \[ + F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt + \] + + \vspace{10pt} + + \[ + \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega + \] + + \end{column} + \begin{column}{0.45\textwidth} + Inverse von $a$ + + \vspace{10pt} + + \[ + 8^{1} \Rightarrow 8^{-1} + \] + + Inverse finden wir über den Eulkidischen Algorithmus + \vspace{10pt} + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus} + + \begin{columns}[t] + \begin{column}{0.50\textwidth} + + Recap aus der Vorlesung: + + Gegeben $a \in \mathbb{F}_p$, finde $b = a^{-1} \in \mathbb{F}_p$ + + \begin{tabular}{rcl} + $a b$ &$\equiv$& $1 \mod p$\\ + $a b$ &$=$& $1 + n p$\\ + $a b - n p$ &$=$& $1$\\ + &&\\ + $\operatorname{ggT}(a,p)$&$=$& $1$\\ + $sa + tp$&$=$& $1$\\ + $b$&$=$&$s$\\ + $n$&$=$&$-t$ + \end{tabular} + + \end{column} + \begin{column}{0.50\textwidth} + + \begin{center} + + \begin{tabular}{| c | c c | c | r r |} + \hline + $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ + \hline + & & & & $1$& $0$\\ + $0$& $8$& $11$& $0$& $0$& $1$\\ + $1$& $11$& $8$& $1$& $1$& $0$\\ + $2$& $8$& $3$& $2$& $-1$& $1$\\ + $3$& $3$& $2$& $1$& $3$& $-2$\\ + $4$& $2$& $1$& $2$& \textcolor{blue}{$-4$}& \textcolor{red}{$3$}\\ + $5$& $1$& $0$& & $11$& $-8$\\ + \hline + \end{tabular} + + + \vspace{10pt} + + \begin{tabular}{rcl} + $\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$\\ + $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $8^{-1}$ &$=$& $7$ + + \end{tabular} + + \end{center} + + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodierung mit Inverser Matrix} + + \begin{itemize} + \item $v = [5,3,6,5,2,10,2,7,10,4]$ + + \item $m = 1/10 \cdot A^{-1} \cdot v$ + + \item $m = 10 \cdot A^{-1} \cdot v$ + + \end{itemize} + + \[ + m = 10 \cdot \begin{pmatrix} + 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ + 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ + 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ + 7^0& 7^3& 7^6& 7^9& 7^{12}& 7^{15}& 7^{18}& 7^{21}& 7^{24}& 7^{27}\\ + 7^0& 7^4& 7^8& 7^{12}& 7^{16}& 7^{20}& 7^{24}& 7^{28}& 7^{32}& 7^{36}\\ + 7^0& 7^5& 7^{10}& 7^{15}& 7^{20}& 7^{25}& 7^{30}& 7^{35}& 7^{40}& 7^{45}\\ + 7^0& 7^6& 7^{12}& 7^{18}& 7^{24}& 7^{30}& 7^{36}& 7^{42}& 7^{48}& 7^{54}\\ + 7^0& 7^7& 7^{14}& 7^{21}& 7^{28}& 7^{35}& 7^{42}& 7^{49}& 7^{56}& 7^{63}\\ + 7^0& 7^8& 7^{16}& 7^{24}& 7^{32}& 7^{40}& 7^{48}& 7^{56}& 7^{64}& 7^{72}\\ + 7^0& 7^9& 7^{18}& 7^{27}& 7^{36}& 7^{45}& 7^{54}& 7^{63}& 7^{72}& 7^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [0,0,0,0,4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- +\section{Decodierung mit Fehler} + \begin{frame} + \frametitle{Decodierung mit Fehler - Ansatz} + + \begin{itemize} + \item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$ + + \item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$ + + \item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$ + + \end{itemize} + + Wie finden wir die Fehler? + + \begin{itemize} + \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + + \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + + \item $e(X) = r(X) - m(X)$ + + \end{itemize} + + \begin{center} + + \begin{tabular}{c c c c c c c c c c c} + \hline + $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ + \hline + $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ + $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ + $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + \hline + \end{tabular} + + \end{center} + + \begin{itemize} + \item Alle Stellen, die nicht Null sind, sind Fehler + \end{itemize} + + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können + + \vspace{10pt} + + $\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ + + \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$ + + $= d(X) \cdot e(X)$ + + \vspace{10pt} + + \item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Kennen wir $e(X)$?} + + \begin{itemize} + + \item $e(X)$ ist unbekannt auf der Empfängerseite + + \vspace{10pt} + + \item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt? + + \vspace{10pt} + + \item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + + In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat + + \vspace{10pt} + + \item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$ + + \vspace{10pt} + + \item $f(X) = X^{10} - 1 = X^{10} + 10$ + + \vspace{10pt} + + \item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus (nochmal)} + + $\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$ + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + X^{10}& & & & & & &+& 10& & & & &:&5X^9&+&7X^8&+& 4X^7&+&10X^6&+&p(X)&=&9X&+&5\\ + X^{10}&+& 8X^9&+& 3X^8&+&2X^7&+& p(X)& & & & & & & & & & & & & & & & \\ \cline{1-9} + && 3X^9&+& 8X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ + && 3X^9&+& 2X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ \cline{3-9} + & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ + \end{array} + \] + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + 5X^9&+& 7X^8&+& 4X^7&+& 10X^6&+& p(X)& & & & &:&6X^8&+&0X^7& & & & & & &=&10X&+&3\\ + 5X^9&+& 0X^8&+& p(X)& & & & & & & & & & & & & & & & & & & & \\ \cline{1-5} + && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ + \end{array} + \] + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = 6X^8$ + + \vspace{10pt} + + $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen + + \end{frame} + +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Erweiterte Euklidische Algorithmus} + + \begin{center} + + \begin{tabular}{| c | c | c c |} + \hline + $k$ & $q_i$ & $e_i$ & $f_i$\\ + \hline + & & $0$& $1$\\ + $0$& $9X + 5$& $1$& $0$\\ + $1$& $10X + 3$& $9X+5$& $1$\\ + $2$& & \textcolor{blue}{$2X^2 + 0X + 5$}& $10X + 3$\\ + \hline + \end{tabular} + + \end{center} + + \vspace{10pt} + + \begin{tabular}{ll} + Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\ + Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\ + Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$ + \end{tabular} + + \vspace{10pt} + + \begin{center} + $a^i = 5 \qquad \Rightarrow \qquad i = 3$ + + $a^i = 6 \qquad \Rightarrow \qquad i = 8$ + \end{center} + + + $d(X) = (X-a^3)(X-a^8)$ + + \end{frame} +%------------------------------------------------------------------------------- +\section{Nachricht Rekonstruieren} + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \begin{itemize} + + \item $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$ + + \item $d(X) = (X-\textcolor{red}{a^3})(X-\textcolor{red}{a^8})$ + + \end{itemize} + + \[ + \textcolor{gray}{ + \begin{pmatrix} + a^0 \\ a^1 \\ a^2 \\ \textcolor{red}{a^3} \\ a^4 \\ a^5 \\ a^6 \\ a^7 \\ \textcolor{red}{a^8} \\ a^9 \\ + \end{pmatrix}} + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ \textcolor{red}{8} \\ 2 \\ 10 \\ 2 \\ 7 \\ \textcolor{red}{1} \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^3}& \textcolor{red}{8^6}& \textcolor{red}{8^9}& \textcolor{red}{8^{12}}& \textcolor{red}{8^{15}}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{27}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^8}& \textcolor{red}{8^{16}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{32}}& \textcolor{red}{8^{40}}& \textcolor{red}{8^{48}}& \textcolor{red}{8^{56}}& \textcolor{red}{8^{64}}& \textcolor{red}{8^{72}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Fehlerstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor{green}{8^6}& \textcolor{green}{8^7}& \textcolor{green}{8^8}& \textcolor{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor{green}{8^{12}}& \textcolor{green}{8^{14}}& \textcolor{green}{8^{16}}& \textcolor{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor{green}{8^{24}}& \textcolor{green}{8^{28}}& \textcolor{green}{8^{32}}& \textcolor{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor{green}{8^{30}}& \textcolor{green}{8^{35}}& \textcolor{green}{8^{40}}& \textcolor{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor{green}{8^{36}}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{48}}& \textcolor{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{49}}& \textcolor{green}{8^{56}}& \textcolor{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor{green}{8^{54}}& \textcolor{green}{8^{63}}& \textcolor{green}{8^{72}}& \textcolor{green}{8^{81}}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor{green}{m_6} \\ \textcolor{green}{m_7} \\ \textcolor{green}{m_8} \\ \textcolor{green}{m_9} \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Nullstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor{red}{7} \\ \textcolor{red}{4} \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^7}& \textcolor{red}{8^{14}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{28}}& \textcolor{red}{8^{35}}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^9}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{27}}& \textcolor{red}{8^{36}}& \textcolor{red}{8^{45}}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix in eine Quadratische Form bringen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix Invertieren + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 1& 1& 1& 1& 1& 1\\ + 1& 8& 9& 6& 4& 10\\ + 1& 9& 4& 3& 5& 1\\ + 1& 4& 5& 9& 3& 1\\ + 1& 10& 1& 10& 1& 10\\ + 1& 3& 9& 5& 4& 1\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \begin{center} + $\Downarrow$ + \end{center} + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + +\end{document} -- cgit v1.2.1 From 0d8053d944fd7a01ba634fd26fb946ee2f7d4f4e Mon Sep 17 00:00:00 2001 From: Reto Date: Sat, 24 Apr 2021 14:11:14 +0200 Subject: added simple code example of mceliece cryptosystem --- .../mceliece/example_code/mceliece_simple.py | 325 +++++++++++++++++++++ 1 file changed, 325 insertions(+) create mode 100644 buch/papers/mceliece/example_code/mceliece_simple.py (limited to 'buch') diff --git a/buch/papers/mceliece/example_code/mceliece_simple.py b/buch/papers/mceliece/example_code/mceliece_simple.py new file mode 100644 index 0000000..3f17504 --- /dev/null +++ b/buch/papers/mceliece/example_code/mceliece_simple.py @@ -0,0 +1,325 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Sun Apr 18 08:58:30 2021 + +@author: terminator +""" +import numpy as np +from numpy.polynomial import Polynomial as Poly + + +def gen_perm_M(n): + ''' + generating random binary permutation matrix: https://en.wikipedia.org/wiki/Permutation_matrix + + Parameters + ---------- + n : int + size of output matrix. + + Returns + ------- + perm_M : np.ndarray + binary permutation matrix. + + ''' + perm_M=np.zeros((n, n), dtype=int) + perm_V=np.random.default_rng().permutation(n) + perm_M[perm_V, np.r_[0:n]]=1 + return perm_M + + + +def create_linear_code_matrix(n, k, g): + ''' + create generator matrix for linear encoding + use this matrix to create code_vector: matrix @ data_vector=code_vector + + Parameters + ---------- + n : int + len of code_vector (matrix @ data_vector). + k : int + len of data_vector. + g : numpy.Polynominal + polynomina wich defines the the constellations of . + + Returns + ------- + np.ndarray + Generator matrix + + ''' + if n != k+len(g)-1: + raise Exception("n, k not compatible with degree of g") + rows=[] + for i in range(k): #create potences of p + row=np.r_[np.zeros(i), g.coef, np.zeros(n-k-i)] + rows.append(row) + return np.array(rows, dtype=int).T + + +def gf2_inv(M, get_full=False): + ''' + create inverse of matrix M in gf2 + + Parameters + ---------- + M : numpy.ndarray + input Matrix. + get_full : Bool, optional + if Ture, return inverse of G with I on the left (if gaussian inversion successful) If True, vaidity is not proven. The default is False. + + Returns + ------- + np.ndarray or None + returns inverse if M was not singular in gf2, else None. + + ''' + size=len(M) + G=np.hstack((M, np.eye(size))) + G=np.array(G, dtype=int) + for n in range(size): #forward reduction + if G[n, n] == 0: #swap line if necessary + for i in range(n+1, size): + if G[i, n]: + G[i, :], G[n, :] = G[n, :].copy(), G[i, :].copy() #swap + + for i in range(n+1, size): #downward reduction + if G[i, n]: + G[i, :] = G[i, :] ^ G[n, :] + #reached buttom_right with pivo + for n in range(size-1, -1, -1): #backwards + for i in range(n): + if G[i, n]: + G[i, :]= G[i, :] ^ G[n, :] + + + + if get_full: + return G + else: + valid=np.sum(np.abs(G[:, :size]-np.eye(size))) == 0 #reduction successfull when eye left on the left of G + if not valid: + return None + else: + return G[:, size:] + +def create_rand_bin_M(n, with_inverse=False): + ''' + create random binary matrix + + Parameters + ---------- + n : int + size. + with_inverse : bool, optional + if False, return only random binary matrix. + if True, return also inverse of random martix. for this purpose, random matrix will not be singular. + The default is False. + + Returns + ------- + M : TYPE + if with_inverse is True: return tuple(random_matrix, inverse_of_random_matrix) + else: return random_matrix + + ''' + inv=None + while type(inv) == type(None): #do it until inversion of m is successful wich means det(M)%2 != 0 + M=np.random.randint(0,2, (n,n)) + inv=gf2_inv(M) + if with_inverse: + return(M, inv) + else: + return M + +def create_syndrome_table(n, g): + ''' + create syndrome table for correcting errors in linear code + + Parameters + ---------- + n : int + len of linear-code code_vector. + g : numpy.Polinominal + generator polynominal used by linear-code-encoder. + + Returns + ------- + list of error_vectors, one per syndrome. + get the corresponding error_vector by using the value represented by your syndrome as index of this list. + + ''' + zeros=np.zeros(n, dtype=int) + syndrome_table=[0 for i in range(n+1)] + syndrome_table[0]=zeros #when syndrome = 0, no bit-error to correct + for i in range(n): + faulty_vector=zeros.copy() + faulty_vector[i]=1 + q, r=divmod(Poly(faulty_vector), g) + r=np.r_[r.coef%2, np.zeros(len(g)-len(r))] + index=np.sum([int(a*2**i) for i, a in enumerate(r)]) + syndrome_table[index]=faulty_vector + return np.array(syndrome_table) + + +def decode_linear_code(c, g, syndrome_table): + ''' + function to decode codeword encoded with linear_code + + Parameters + ---------- + c : list or np.ndarray + code_vector. + g : numpy.Polynominal + generator polynominal, used to create code_vector. + syndrome_table : list of error_vectors + if codeword contains an error, syndrome_table is used to correct wrong bit. + + Returns + ------- + numpy.ndarray + data_vector. + + ''' + q, r=divmod(Poly(c), g) + q=np.r_[q.coef%2, np.zeros(len(c)-len(q)-len(g)+1)] + r=np.r_[r.coef%2, np.zeros(len(g)-len(r))] + syndrome_index=np.sum([int(a*2**i) for i, a in enumerate(r)]) + while syndrome_index > 0: + c=c ^ syndrome_table[syndrome_index] + q, r=divmod(Poly(c), g) + q=np.r_[q.coef%2, np.zeros(len(c)-len(q)-len(g)+1)] + r=np.r_[r.coef%2, np.zeros(len(g)-len(r))] + syndrome_index=np.sum([int(a*2**i) for i, a in enumerate(r)]) + return np.array(q, dtype=int) + +def encode_linear_code(d, G): + ''' + uses generator matrix G to encode d + + Parameters + ---------- + d : numpy.ndarray + data_vector. + G : numpy.ndarray + generator matrix. + + Returns + ------- + c : numpy.ndarray + G @ d. + + ''' + c=(G @ d)%2 + return c + +def encrypt(d, pub_key, t): + ''' + encrypt data with public key, adding t bit-errors + + Parameters + ---------- + d : numpy.ndarray or list of numpy.ndarray + data_vector or list of data vectors to encrypt. + pub_key : numpy.ndarray + public key matrix used to encrypt data. + t : int + number of random errors to add to code_vector. + + Returns + ------- + numpy.ndarray or list of numpy.ndarray (depending on d) + encrypted data. + + ''' + if type(d) in (list,): + encrypted_list=[encrypt(data, pub_key, t) for data in d] + return encrypted_list + else: + c = np.array((pub_key @ d)%2, dtype=int) + + indexes_of_errors=np.random.default_rng().permutation(pub_key.shape[0])[:t] #add t random errors to codeword + e=np.zeros(pub_key.shape[0], dtype=int) + e[indexes_of_errors]=1 + c=c ^ e + return np.array(c, dtype=int) + +def decrypt(c, P_inv, linear_code_decoder, S_inv): + ''' + decrypt encrypted message + + Parameters + ---------- + c : numpy.ndarray or list of numpy.ndarray + code_vector or list of code_vectors to decrypt. + P_inv : numpy.ndarray + inverted permutation matrix. + linear_code_decoder : function(x) + function to use to decode linear code. + S_inv : numpy.ndarray + inverted random binary matrix. + + Returns + ------- + numpy.ndarray or list of numpy.ndarray (depending on d) + decrypted data. + + ''' + if type(c) in (list,): + decrypted_list=[decrypt(codew, P_inv, linear_code_decoder, S_inv) for codew in c] + return decrypted_list + else: + c=np.array(P_inv @ c, dtype=int)%2 + d=linear_code_decoder(c) + d=(S_inv @ d)%2 + return np.array(d, dtype=int) + +def str_to_blocks4(string): + blocks=[] + for char in string: + bits=[int(value) for value in np.binary_repr(ord(char), 8)[::-1]] #lsb @ index 0 + blocks.append(np.array(bits[:4], dtype=int)) #lower nibble first + blocks.append(np.array(bits[4:], dtype=int)) + return blocks + +def blocks4_to_str(blocks): + string='' + for i in range(0, len(blocks), 2): + char=np.sum([b*2**i for i, b in enumerate(blocks[i])]) + \ + np.sum([b*2**(i+4) for i, b in enumerate(blocks[i+1])]) + string+=chr(char) + return string + +#shared attributes: +n=7 +k=4 +t=1 + +#private key(s): +g=Poly([1,1,0,1]) #generator polynom for 7/4 linear code (from table, 1.0 + 1.0·x¹ + 0.0·x² + 1.0·x³) +P_M=gen_perm_M(n) #create permutation matrix +G_M=create_linear_code_matrix(n, k, g) #linear code generator matrix +S_M, S_inv=create_rand_bin_M(k, True) #random binary matrix and its inverse +P_M_inv=P_M.T #inverse permutation matrix + +syndrome_table=create_syndrome_table(n, g) #part of linear-code decoder +linear_code_decoder=lambda c:decode_linear_code(c, g, syndrome_table) + +#public key: +pub_key=(P_M @ G_M @ S_M)%2 + + +msg_tx='Hello World?' + +blocks_tx=str_to_blocks4(msg_tx) +encrypted=encrypt(blocks_tx, pub_key, t) + +blocks_rx=decrypt(encrypted, P_M_inv, linear_code_decoder, S_inv) +msg_rx=blocks4_to_str(blocks_rx) + +print(f'msg_rx: {msg_rx}') + + \ No newline at end of file -- cgit v1.2.1 From df810d1315cfb1c4b876d5145846d6ea70753141 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Sat, 24 Apr 2021 15:27:05 +0200 Subject: Handout animation deleted --- .../reedsolomon/RS presentation/RS_handout.aux | 143 +++ .../reedsolomon/RS presentation/RS_handout.log | 1198 ++++++++++++++++++++ .../reedsolomon/RS presentation/RS_handout.nav | 85 ++ .../reedsolomon/RS presentation/RS_handout.out | 8 + .../reedsolomon/RS presentation/RS_handout.pdf | Bin 0 -> 172860 bytes .../reedsolomon/RS presentation/RS_handout.snm | 1 + .../RS presentation/RS_handout.synctex.gz | Bin 0 -> 132775 bytes .../reedsolomon/RS presentation/RS_handout.tex | 58 +- .../reedsolomon/RS presentation/RS_handout.toc | 9 + 9 files changed, 1466 insertions(+), 36 deletions(-) create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.aux create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.log create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.nav create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.out create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.snm create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.toc (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.aux b/buch/papers/reedsolomon/RS presentation/RS_handout.aux new file mode 100644 index 0000000..41ccfb5 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.aux @@ -0,0 +1,143 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand*\HyPL@Entry[1]{} +\bbl@beforestart +\catcode `"\active +\HyPL@Entry{0<>} +\babel@aux{ngerman}{} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} +\HyPL@Entry{1<>} +\@writefile{toc}{\beamer@sectionintoc {1}{Einführung}{2}{0}{1}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}}} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} +\HyPL@Entry{2<>} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} +\HyPL@Entry{3<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{4/4}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {4}{4}}} +\HyPL@Entry{4<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{5}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {3}{4}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {3}{4}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{5}{Diskrete Fourier Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{5/5}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {5}{5}}} +\HyPL@Entry{5<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{6/12}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {6}{12}}} +\HyPL@Entry{12<>} +\@writefile{snm}{\beamer@slide {ft_discrete}{13}} +\newlabel{ft_discrete}{{7}{13}{Diskrete Fourier Transformation}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{3}{13/13}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} +\HyPL@Entry{13<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{4}{14/14}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {14}{14}}} +\HyPL@Entry{14<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{5}{15/15}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} +\HyPL@Entry{15<>} +\@writefile{toc}{\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{16}{0}{4}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {5}{15}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {5}{15}}} +\@writefile{nav}{\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{16}{Reed-Solomon in Endlichen Körpern}{0}}} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{16/16}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} +\HyPL@Entry{16<>} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{17/17}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}} +\HyPL@Entry{17<>} +\@writefile{toc}{\beamer@sectionintoc {5}{Codierung eines Beispiels}{18}{0}{5}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {16}{17}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {16}{17}}} +\@writefile{nav}{\headcommand {\sectionentry {5}{Codierung eines Beispiels}{18}{Codierung eines Beispiels}{0}}} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{18/18}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {18}{18}}} +\HyPL@Entry{18<>} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{2}{19/19}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {19}{19}}} +\HyPL@Entry{19<>} +\@writefile{toc}{\beamer@sectionintoc {6}{Decodierung ohne Fehler}{20}{0}{6}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {18}{19}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {18}{19}}} +\@writefile{nav}{\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{20}{Decodierung ohne Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{1}{20/20}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {20}{20}}} +\HyPL@Entry{20<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{2}{21/21}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {21}{21}}} +\HyPL@Entry{21<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{3}{22/22}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {22}{22}}} +\HyPL@Entry{22<>} +\@writefile{toc}{\beamer@sectionintoc {7}{Decodierung mit Fehler}{23}{0}{7}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {20}{22}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {20}{22}}} +\@writefile{nav}{\headcommand {\sectionentry {7}{Decodierung mit Fehler}{23}{Decodierung mit Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{1}{23/23}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {23}{23}}} +\HyPL@Entry{23<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{2}{24/24}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {24}{24}}} +\HyPL@Entry{24<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{3}{25/25}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {25}{25}}} +\HyPL@Entry{25<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{4}{26/26}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {26}{26}}} +\HyPL@Entry{26<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{5}{27/27}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {27}{27}}} +\HyPL@Entry{27<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{6}{28/28}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {28}{28}}} +\HyPL@Entry{28<>} +\@writefile{toc}{\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{29}{0}{8}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {23}{28}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {23}{28}}} +\@writefile{nav}{\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{29}{Nachricht Rekonstruieren}{0}}} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{1}{29/29}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {29}{29}}} +\HyPL@Entry{29<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{2}{30/30}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {30}{30}}} +\HyPL@Entry{30<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{3}{31/31}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {31}{31}}} +\HyPL@Entry{31<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{4}{32/32}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {32}{32}}} +\HyPL@Entry{32<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{5}{33/33}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {33}{33}}} +\HyPL@Entry{33<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{6}{34/34}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {34}{34}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{34}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {29}{34}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {29}{34}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {34}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {28}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.log b/buch/papers/reedsolomon/RS presentation/RS_handout.log new file mode 100644 index 0000000..988a7c5 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.log @@ -0,0 +1,1198 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 24 APR 2021 15:25 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**RS_handout.tex +(./RS_handout.tex +LaTeX2e <2019-10-01> patch level 1 +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamer.cls +Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemodes.sty +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count80 +) +\beamer@tempbox=\box27 +\beamer@tempcount=\count81 +\c@beamerpauses=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasedecode.sty +\beamer@slideinframe=\count83 +\beamer@minimum=\count84 +\beamer@decode@box=\box28 +) +\beamer@commentbox=\box29 +\beamer@modecount=\count85 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +\headdp=\dimen102 +\footheight=\dimen103 +\sidebarheight=\dimen104 +\beamer@tempdim=\dimen105 +\beamer@finalheight=\dimen106 +\beamer@animht=\dimen107 +\beamer@animdp=\dimen108 +\beamer@animwd=\dimen109 +\beamer@leftmargin=\dimen110 +\beamer@rightmargin=\dimen111 +\beamer@leftsidebar=\dimen112 +\beamer@rightsidebar=\dimen113 +\beamer@boxsize=\dimen114 +\beamer@vboxoffset=\dimen115 +\beamer@descdefault=\dimen116 +\beamer@descriptionwidth=\dimen117 +\beamer@lastskip=\skip41 +\beamer@areabox=\box30 +\beamer@animcurrent=\box31 +\beamer@animshowbox=\box32 +\beamer@sectionbox=\box33 +\beamer@logobox=\box34 +\beamer@linebox=\box35 +\beamer@sectioncount=\count86 +\beamer@subsubsectionmax=\count87 +\beamer@subsectionmax=\count88 +\beamer@sectionmax=\count89 +\beamer@totalheads=\count90 +\beamer@headcounter=\count91 +\beamer@partstartpage=\count92 +\beamer@sectionstartpage=\count93 +\beamer@subsectionstartpage=\count94 +\beamer@animationtempa=\count95 +\beamer@animationtempb=\count96 +\beamer@xpos=\count97 +\beamer@ypos=\count98 +\beamer@ypos@offset=\count99 +\beamer@showpartnumber=\count100 +\beamer@currentsubsection=\count101 +\beamer@coveringdepth=\count102 +\beamer@sectionadjust=\count103 +\beamer@tocsectionnumber=\count104 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +)) +\beamer@paperwidth=\skip42 +\beamer@paperheight=\skip43 + +(c:/texlive/2019/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2018/04/16 v5.8 Page Geometry + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count105 +\Gm@cntv=\count106 +\c@Gm@tempcnt=\count107 +\Gm@bindingoffset=\dimen118 +\Gm@wd@mp=\dimen119 +\Gm@odd@mp=\dimen120 +\Gm@even@mp=\dimen121 +\Gm@layoutwidth=\dimen122 +\Gm@layoutheight=\dimen123 +\Gm@layouthoffset=\dimen124 +\Gm@layoutvoffset=\dimen125 +\Gm@dimlist=\toks15 +) +(c:/texlive/2019/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2019/08/27 v1.4j Standard LaTeX file (size option) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +)) +\Gin@req@height=\dimen126 +\Gin@req@width=\dimen127 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen128 +\pgfutil@tempdimb=\dimen129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box36 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen130 +\pgf@y=\dimen131 +\pgf@xa=\dimen132 +\pgf@ya=\dimen133 +\pgf@xb=\dimen134 +\pgf@yb=\dimen135 +\pgf@xc=\dimen136 +\pgf@yc=\dimen137 +\pgf@xd=\dimen138 +\pgf@yd=\dimen139 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count108 +\c@pgf@countb=\count109 +\c@pgf@countc=\count110 +\c@pgf@countd=\count111 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count112 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count113 +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count114 +\pgfsyssoftpath@bigbuffer@items=\count115 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen140 +\pgfmath@count=\count116 +\pgfmath@box=\box37 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count117 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen141 +\pgf@picmaxx=\dimen142 +\pgf@picminy=\dimen143 +\pgf@picmaxy=\dimen144 +\pgf@pathminx=\dimen145 +\pgf@pathmaxx=\dimen146 +\pgf@pathminy=\dimen147 +\pgf@pathmaxy=\dimen148 +\pgf@xx=\dimen149 +\pgf@xy=\dimen150 +\pgf@yx=\dimen151 +\pgf@yy=\dimen152 +\pgf@zx=\dimen153 +\pgf@zy=\dimen154 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen155 +\pgf@path@lasty=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen157 +\pgf@shorten@start@additional=\dimen158 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box38 +\pgf@hbox=\box39 +\pgf@layerbox@main=\box40 +\pgf@picture@serial@count=\count118 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen159 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen160 +\pgf@pt@y=\dimen161 +\pgf@pt@temp=\dimen162 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen163 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen164 +\pgf@sys@shading@range@num=\count119 +\pgf@shadingcount=\count120 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box41 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty +Package: xxcolor 2003/10/24 ver 0.1 +\XC@nummixins=\count121 +\XC@countmixins=\count122 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/atbegshi.sty +Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +)) +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2019/09/28 v7.00a Hypertext links for LaTeX + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) + + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package hobsub Info: Skipping package `infwarerr' (already loaded). +Package hobsub Info: Skipping package `ltxcmds' (already loaded). +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package hobsub Info: Skipping package `ifvtex' (already loaded). +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package hobsub Info: Skipping package `ifpdf' (already loaded). +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2019/07/25 v0.30 Utility functions of pdfTeX for LuaTeX (HO +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: pdfTeX >= 1.30 not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode not found. +Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO +) +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). +Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package hobsub Info: Skipping package `atbegshi' (already loaded). +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) +) +\@linkdim=\dimen165 +\Hy@linkcounter=\count123 +\Hy@pagecounter=\count124 + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2019/09/28 v7.00a Hyperref: PDFDocEncoding definition (HO) +) +\Hy@SavedSpaceFactor=\count125 + +(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Option `bookmarks' set `true' on input line 4414. +Package hyperref Info: Option `bookmarksopen' set `true' on input line 4414. +Package hyperref Info: Option `implicit' set `false' on input line 4414. +Package hyperref Info: Hyper figures OFF on input line 4540. +Package hyperref Info: Link nesting OFF on input line 4545. +Package hyperref Info: Hyper index ON on input line 4548. +Package hyperref Info: Plain pages OFF on input line 4555. +Package hyperref Info: Backreferencing OFF on input line 4560. +Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. +Package hyperref Info: Bookmarks ON on input line 4793. +\c@Hy@tempcnt=\count126 + +(c:/texlive/2019/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 5152. +\XeTeXLinkMargin=\dimen166 +\Fld@menulength=\count127 +\Field@Width=\dimen167 +\Fld@charsize=\dimen168 +Package hyperref Info: Hyper figures OFF on input line 6423. +Package hyperref Info: Link nesting OFF on input line 6428. +Package hyperref Info: Hyper index ON on input line 6431. +Package hyperref Info: backreferencing OFF on input line 6438. +Package hyperref Info: Link coloring OFF on input line 6443. +Package hyperref Info: Link coloring with OCG OFF on input line 6448. +Package hyperref Info: PDF/A mode OFF on input line 6453. +LaTeX Info: Redefining \ref on input line 6493. +LaTeX Info: Redefining \pageref on input line 6497. +\Hy@abspage=\count128 + + +Package hyperref Message: Stopped early. + +) +Package hyperref Info: Driver (autodetected): hxetex. + (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hxetex.def +File: hxetex.def 2019/09/28 v7.00a Hyperref driver for XeTeX + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2019/09/28 v7.00a Hyperref: PDF Unicode definition (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/stringenc.sty +Package: stringenc 2016/05/16 v1.11 Convert strings between diff. encodings (HO +) +) +\pdfm@box=\box42 +\c@Hy@AnnotLevel=\count129 +\HyField@AnnotCount=\count130 +\Fld@listcount=\count131 +\c@bookmark@seq@number=\count132 + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +82. +)) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/se-ascii-print.def +File: se-ascii-print.def 2016/05/16 v1.11 stringenc: Printable ASCII characters + +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaserequires.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasefont.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks26 +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(c:/texlive/2019/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty +Package: sansmathaccent 2013/03/28 + +(c:/texlive/2019/texmf-dist/tex/latex/filehook/filehook.sty +Package: filehook 2019/10/03 v0.6 Hooks for input files +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator.sty +Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty +\beamer@argscount=\count133 +\beamer@lastskipcover=\skip44 +\beamer@trivlistdepth=\count134 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasesection.sty +\c@lecture=\count135 +\c@part=\count136 +\c@section=\count137 +\c@subsection=\count138 +\c@subsubsection=\count139 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframe.sty +\beamer@framebox=\box43 +\beamer@frametitlebox=\box44 +\beamer@zoombox=\box45 +\beamer@zoomcount=\count140 +\beamer@zoomframecount=\count141 +\beamer@frametextheight=\dimen169 +\c@subsectionslide=\count142 +\beamer@frametopskip=\skip45 +\beamer@framebottomskip=\skip46 +\beamer@frametopskipautobreak=\skip47 +\beamer@framebottomskipautobreak=\skip48 +\beamer@envbody=\toks27 +\framewidth=\dimen170 +\c@framenumber=\count143 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty +\beamer@verbatimfileout=\write4 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty +\beamer@splitbox=\box46 +\beamer@autobreakcount=\count144 +\beamer@autobreaklastheight=\dimen171 +\beamer@frametitletoks=\toks28 +\beamer@framesubtitletoks=\toks29 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty +\beamer@footins=\box47 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenotes.sty +\beamer@frameboxcopy=\box48 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty +\beamer@sbttoks=\toks30 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty +\bmb@box=\box49 +\bmb@colorbox=\box50 +\bmb@boxshadow=\box51 +\bmb@boxshadowball=\box52 +\bmb@boxshadowballlarge=\box53 +\bmb@temp=\dimen172 +\bmb@dima=\dimen173 +\bmb@dimb=\dimen174 +\bmb@prevheight=\dimen175 +) +\beamer@blockheadheight=\dimen176 +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.sty +(c:/texlive/2019/texmf-dist/tex/latex/tools/enumerate.sty +Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) +\@enLab=\toks31 +) +\c@figure=\count145 +\c@table=\count146 +\abovecaptionskip=\skip49 +\belowcaptionskip=\skip50 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty +\beamer@section@min@dim=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/04/01 v2.17c AMS math features +\@mathmargin=\skip51 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks32 +\ex@=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen179 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count147 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count148 +\leftroot@=\count149 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count150 +\DOTSCASE@=\count151 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box54 +\strutbox@=\box55 +\big@size=\dimen180 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count152 +\c@MaxMatrixCols=\count153 +\dotsspace@=\muskip11 +\c@parentequation=\count154 +\dspbrk@lvl=\count155 +\tag@help=\toks33 +\row@=\count156 +\column@=\count157 +\maxfields@=\count158 +\andhelp@=\toks34 +\eqnshift@=\dimen181 +\alignsep@=\dimen182 +\tagshift@=\dimen183 +\tagwidth@=\dimen184 +\totwidth@=\dimen185 +\lineht@=\dimen186 +\@envbody=\toks35 +\multlinegap=\skip52 +\multlinetaggap=\skip53 +\mathdisplay@stack=\toks36 +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. +) +(c:/texlive/2019/texmf-dist/tex/latex/amscls/amsthm.sty +Package: amsthm 2017/10/31 v2.20.4 +\thm@style=\toks37 +\thm@bodyfont=\toks38 +\thm@headfont=\toks39 +\thm@notefont=\toks40 +\thm@headpunct=\toks41 +\thm@preskip=\skip54 +\thm@postskip=\skip55 +\thm@headsep=\skip56 +\dth@everypar=\toks42 +) +\c@theorem=\count159 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemedefault.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerfontthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemedefault.sty +\beamer@dima=\dimen187 +\beamer@dimb=\dimen188 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemedefault.sty))) +(c:/texlive/2019/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2018/08/11 v1.3c Input encoding file +\inpenc@prehook=\toks43 +\inpenc@posthook=\toks44 + + +Package inputenc Warning: inputenc package ignored with utf8 based engines. + +) (c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2018/08/11 v2.0j Standard LaTeX package + +(c:/texlive/2019/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +) +LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 +05. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd +File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +)) +(c:/texlive/2019/texmf-dist/tex/latex/lm/lmodern.sty +Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 22. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/lmm/m/it on input line 23. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 25. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/lmm/b/it on input line 27. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 32. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 33. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. +) +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2019/10/15 3.35 The Babel package + +(c:/texlive/2019/texmf-dist/tex/generic/babel/switch.def +File: switch.def 2019/10/15 3.35 Babel switching mechanism +) +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngerman.ldf +Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra +phy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngermanb.ldf +Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr +aphy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.def +File: babel.def 2019/10/15 3.35 Babel common definitions +\babel@savecnt=\count160 +\U@D=\dimen189 + +(c:/texlive/2019/texmf-dist/tex/generic/babel/xebabel.def +(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def)) +LaTeX Info: Redefining \textlatin on input line 2185. +\bbl@dirlevel=\count161 +) +Package babel Info: Making " an active character on input line 121. +))) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box56 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen190 +\pgf@nodesepend=\dimen191 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen192 +\pgffor@skip=\dimen193 +\pgffor@stack=\toks45 +\pgffor@toks=\toks46 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count162 +\pgfplotmarksize=\dimen194 +) +\tikz@lastx=\dimen195 +\tikz@lasty=\dimen196 +\tikz@lastxsaved=\dimen197 +\tikz@lastysaved=\dimen198 +\tikz@lastmovetox=\dimen199 +\tikz@lastmovetoy=\dimen256 +\tikzleveldistance=\dimen257 +\tikzsiblingdistance=\dimen258 +\tikz@figbox=\box57 +\tikz@figbox@bg=\box58 +\tikz@tempbox=\box59 +\tikz@tempbox@bg=\box60 +\tikztreelevel=\count163 +\tikznumberofchildren=\count164 +\tikznumberofcurrentchild=\count165 +\tikz@fig@count=\count166 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count167 +\pgfmatrixcurrentcolumn=\count168 +\pgf@matrix@numberofcolumns=\count169 +) +\tikz@expandcount=\count170 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty +\beamer@sidebarwidth=\dimen259 +\beamer@headheight=\dimen260 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemeseahorse.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemecircles.sty)) +(./RS_handout.aux) +\openout1 = `RS_handout.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +*geometry* driver: auto-detecting +*geometry* detected driver: xetex +*geometry* verbose mode - [ preamble ] result: +* driver: xetex +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: includehead includefoot +* h-part:(L,W,R)=(59.22636pt, 381.79135pt, 14.22636pt) +* v-part:(T,H,B)=(0.0pt, 256.0748pt, 0.0pt) +* \paperwidth=455.24408pt +* \paperheight=256.0748pt +* \textwidth=381.79135pt +* \textheight=227.62207pt +* \oddsidemargin=-13.04362pt +* \evensidemargin=-13.04362pt +* \topmargin=-72.26999pt +* \headheight=14.22636pt +* \headsep=0.0pt +* \topskip=11.0pt +* \footskip=14.22636pt +* \marginparwidth=4.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +ABD: EveryShipout initializing macros +\AtBeginShipoutBox=\box61 +Package hyperref Info: Link coloring OFF on input line 9. + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) +) +\c@section@level=\count171 +) +LaTeX Info: Redefining \ref on input line 9. +LaTeX Info: Redefining \pageref on input line 9. +LaTeX Info: Redefining \nameref on input line 9. + +(./RS_handout.out) (./RS_handout.out) +\@outlinefile=\write5 +\openout5 = `RS_handout.out'. + +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 9. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 9. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 9. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 9. +\symnumbers=\mathgroup6 +\sympureletters=\mathgroup7 +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. +LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 9. + +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-basic-dictionary-En +glish.dict +Dictionary: translator-basic-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-bibliography-dictio +nary-English.dict +Dictionary: translator-bibliography-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-environment-diction +ary-English.dict +Dictionary: translator-environment-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-months-dictionary-E +nglish.dict +Dictionary: translator-months-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-numbers-dictionary- +English.dict +Dictionary: translator-numbers-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-theorem-dictionary- +English.dict +Dictionary: translator-theorem-dictionary, Language: English +) (./RS_handout.nav) + +Package hyperref Warning: Option `pdfauthor' has already been used, +(hyperref) setting the option has no effect on input line 10. + + +Package hyperref Warning: Option `pdfsubject' has already been used, +(hyperref) setting the option has no effect on input line 16. + +[1 + +] +LaTeX Font Info: Trying to load font information for OT1+lmss on input line +32. + (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd +File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 +2. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMS+lmsy on input line +32. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMX+lmex on input line +32. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10.95> on input line 32. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 32. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 32. +LaTeX Font Info: Trying to load font information for U+msa on input line 32. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 32. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. + [2 + +] +File: images/polynom2.pdf Graphic file (type pdf) + + [3 + +] [4 + +] [5 + +] +File: images/fig1.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[6 + +] +File: images/fig2.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[7 + +] +File: images/fig3.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[8 + +] +File: images/fig4.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[9 + +] +File: images/fig5.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[10 + +] +File: images/fig6.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[11 + +] +File: images/fig7.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[12 + +] [13 + +] [14 + +] [15 + +] [16 + +] [17 + +] +LaTeX Font Info: Trying to load font information for T1+lmr on input line 28 +6. + (c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmr.fd +File: t1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern +) [18 + +] [19 + +] +LaTeX Font Info: Trying to load font information for U+euf on input line 368 +. + (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/ueuf.fd +File: ueuf.fd 2013/01/14 v3.01 Euler Fraktur +) [20 + +] +[21 + +] [22 + +] [23 + +] [24 + +] [25 + +] +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <14.4> on input line 618. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10> on input line 618. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <7> on input line 618. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <14.4> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 618. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 618. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <7> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 618. + [26 + +] +Overfull \hbox (2.91844pt too wide) detected at line 653 +[] + [] + +[27 + +] [28 + +] [29 + +] [30 + +] [31 + +] [32 + +] [33 + +] [34 + +] +\tf@nav=\write6 +\openout6 = `RS_handout.nav'. + +\tf@toc=\write7 +\openout7 = `RS_handout.toc'. + +\tf@snm=\write8 +\openout8 = `RS_handout.snm'. + +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 907. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 907. + (./RS_handout.aux) +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 907. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 907. +Package rerunfilecheck Info: File `RS_handout.out' has not changed. +(rerunfilecheck) Checksum: CBEDF1F633104E8EE4EB074E401487DA. + ) +Here is how much of TeX's memory you used: + 24519 strings out of 492483 + 453771 string characters out of 6132858 + 551669 words of memory out of 5000000 + 28480 multiletter control sequences out of 15000+600000 + 82614 words of font info for 73 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 58i,15n,61p,804b,549s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on RS_handout.pdf (34 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.nav b/buch/papers/reedsolomon/RS presentation/RS_handout.nav new file mode 100644 index 0000000..b6e8a36 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.nav @@ -0,0 +1,85 @@ +\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} +\headcommand {\beamer@framepages {1}{1}} +\headcommand {\beamer@sectionpages {1}{1}} +\headcommand {\beamer@subsectionpages {1}{1}} +\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} +\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} +\headcommand {\beamer@framepages {2}{2}} +\headcommand {\beamer@sectionpages {2}{2}} +\headcommand {\beamer@subsectionpages {2}{2}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}} +\headcommand {\beamer@framepages {3}{3}} +\headcommand {\slideentry {2}{0}{2}{4/4}{}{0}} +\headcommand {\beamer@framepages {4}{4}} +\headcommand {\beamer@sectionpages {3}{4}} +\headcommand {\beamer@subsectionpages {3}{4}} +\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{5}{Diskrete Fourier Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{5/5}{}{0}} +\headcommand {\beamer@framepages {5}{5}} +\headcommand {\slideentry {3}{0}{2}{6/12}{}{0}} +\headcommand {\beamer@framepages {6}{12}} +\headcommand {\slideentry {3}{0}{3}{13/13}{}{0}} +\headcommand {\beamer@framepages {13}{13}} +\headcommand {\slideentry {3}{0}{4}{14/14}{}{0}} +\headcommand {\beamer@framepages {14}{14}} +\headcommand {\slideentry {3}{0}{5}{15/15}{}{0}} +\headcommand {\beamer@framepages {15}{15}} +\headcommand {\beamer@sectionpages {5}{15}} +\headcommand {\beamer@subsectionpages {5}{15}} +\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{16}{Reed-Solomon in Endlichen Körpern}{0}} +\headcommand {\slideentry {4}{0}{1}{16/16}{}{0}} +\headcommand {\beamer@framepages {16}{16}} +\headcommand {\slideentry {4}{0}{2}{17/17}{}{0}} +\headcommand {\beamer@framepages {17}{17}} +\headcommand {\beamer@sectionpages {16}{17}} +\headcommand {\beamer@subsectionpages {16}{17}} +\headcommand {\sectionentry {5}{Codierung eines Beispiels}{18}{Codierung eines Beispiels}{0}} +\headcommand {\slideentry {5}{0}{1}{18/18}{}{0}} +\headcommand {\beamer@framepages {18}{18}} +\headcommand {\slideentry {5}{0}{2}{19/19}{}{0}} +\headcommand {\beamer@framepages {19}{19}} +\headcommand {\beamer@sectionpages {18}{19}} +\headcommand {\beamer@subsectionpages {18}{19}} +\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{20}{Decodierung ohne Fehler}{0}} +\headcommand {\slideentry {6}{0}{1}{20/20}{}{0}} +\headcommand {\beamer@framepages {20}{20}} +\headcommand {\slideentry {6}{0}{2}{21/21}{}{0}} +\headcommand {\beamer@framepages {21}{21}} +\headcommand {\slideentry {6}{0}{3}{22/22}{}{0}} +\headcommand {\beamer@framepages {22}{22}} +\headcommand {\beamer@sectionpages {20}{22}} +\headcommand {\beamer@subsectionpages {20}{22}} +\headcommand {\sectionentry {7}{Decodierung mit Fehler}{23}{Decodierung mit Fehler}{0}} +\headcommand {\slideentry {7}{0}{1}{23/23}{}{0}} +\headcommand {\beamer@framepages {23}{23}} +\headcommand {\slideentry {7}{0}{2}{24/24}{}{0}} +\headcommand {\beamer@framepages {24}{24}} +\headcommand {\slideentry {7}{0}{3}{25/25}{}{0}} +\headcommand {\beamer@framepages {25}{25}} +\headcommand {\slideentry {7}{0}{4}{26/26}{}{0}} +\headcommand {\beamer@framepages {26}{26}} +\headcommand {\slideentry {7}{0}{5}{27/27}{}{0}} +\headcommand {\beamer@framepages {27}{27}} +\headcommand {\slideentry {7}{0}{6}{28/28}{}{0}} +\headcommand {\beamer@framepages {28}{28}} +\headcommand {\beamer@sectionpages {23}{28}} +\headcommand {\beamer@subsectionpages {23}{28}} +\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{29}{Nachricht Rekonstruieren}{0}} +\headcommand {\slideentry {8}{0}{1}{29/29}{}{0}} +\headcommand {\beamer@framepages {29}{29}} +\headcommand {\slideentry {8}{0}{2}{30/30}{}{0}} +\headcommand {\beamer@framepages {30}{30}} +\headcommand {\slideentry {8}{0}{3}{31/31}{}{0}} +\headcommand {\beamer@framepages {31}{31}} +\headcommand {\slideentry {8}{0}{4}{32/32}{}{0}} +\headcommand {\beamer@framepages {32}{32}} +\headcommand {\slideentry {8}{0}{5}{33/33}{}{0}} +\headcommand {\beamer@framepages {33}{33}} +\headcommand {\slideentry {8}{0}{6}{34/34}{}{0}} +\headcommand {\beamer@framepages {34}{34}} +\headcommand {\beamer@partpages {1}{34}} +\headcommand {\beamer@subsectionpages {29}{34}} +\headcommand {\beamer@sectionpages {29}{34}} +\headcommand {\beamer@documentpages {34}} +\headcommand {\gdef \inserttotalframenumber {28}} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.out b/buch/papers/reedsolomon/RS presentation/RS_handout.out new file mode 100644 index 0000000..364319e --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.out @@ -0,0 +1,8 @@ +\BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 +\BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 +\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourier\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.4}{Reed-Solomon in Endlichen Körpern}{}% 4 +\BOOKMARK [2][]{Outline0.5}{Codierung\040eines\040Beispiels}{}% 5 +\BOOKMARK [2][]{Outline0.6}{Decodierung\040ohne\040Fehler}{}% 6 +\BOOKMARK [2][]{Outline0.7}{Decodierung\040mit\040Fehler}{}% 7 +\BOOKMARK [2][]{Outline0.8}{Nachricht\040Rekonstruieren}{}% 8 diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.pdf b/buch/papers/reedsolomon/RS presentation/RS_handout.pdf new file mode 100644 index 0000000..382049d Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS_handout.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.snm b/buch/papers/reedsolomon/RS presentation/RS_handout.snm new file mode 100644 index 0000000..1796304 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.snm @@ -0,0 +1 @@ +\beamer@slide {ft_discrete}{13} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz new file mode 100644 index 0000000..c28a28a Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.tex b/buch/papers/reedsolomon/RS presentation/RS_handout.tex index 863b3a2..1cbb6ef 100644 --- a/buch/papers/reedsolomon/RS presentation/RS_handout.tex +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.tex @@ -25,38 +25,29 @@ \begin{frame} \frametitle{Reed-Solomon-Code:} \begin{itemize} - \visible<1->{\item Für Übertragung von Daten} - \visible<2->{\item Ermöglicht Korrektur von Übertragungsfehler} - \visible<3->{\item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} + \item Für Übertragung von Daten + \item Ermöglicht Korrektur von Übertragungsfehler + \item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc. \end{itemize} \end{frame} %------------------------------------------------------------------------------- \section{Polynom Ansatz} \begin{frame} \begin{itemize} - \item Beispiel $2, 1, 5$ versenden und auf 2 Fehler absichern + \item $2, 1, 5$ versenden und auf 2 Fehler absichern \end{itemize} - \end{frame} - \begin{frame} \frametitle{Beispiel} Übertragen von ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. - - \only<1>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom1.pdf}} - \only<2>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom2.pdf} - \newline - \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \newline + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \newline + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern. \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -68,18 +59,14 @@ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -\visible<1->{3}& -\visible<1->{3}& -\visible<1->{9 Werte eines Polynoms vom Grad 2} \\ + 3& 3& 9 Werte eines Polynoms vom Grad 2 \\ &&\\ -\visible<1->{$k$} & -\visible<1->{$t$} & -\visible<1->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ + $k$ & $t$ & $k+2t$ Werte eines Polynoms vom Grad $k-1$ \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \visible<1>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + Ausserdem können bis zu $2t$ Fehler erkannt werden! } \end{tabular} \end{center} @@ -127,23 +114,23 @@ \frametitle{Diskrete Fourier Transformation} \begin{itemize} \item Diskrete Fourier-Transformation gegeben durch: - \visible<1->{ + \[ \label{ft_discrete} \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - \]} - \visible<2->{ + \] + \item Ersetzte \[ w = e^{-\frac{2\pi j}{N} k} - \]} - \visible<3->{ + \] + \item Wenn $N$ konstant: \[ \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) - \]} + \] \end{itemize} \end{frame} @@ -177,10 +164,9 @@ \frametitle{Probleme und Fragen} Wie wird der Fehler lokalisiert? - \visible<2>{ \newline Indem in einem endlichen Körper gerechnet wird. - } + \end{frame} %------------------------------------------------------------------------------- diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.toc b/buch/papers/reedsolomon/RS presentation/RS_handout.toc new file mode 100644 index 0000000..ce1bdc2 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.toc @@ -0,0 +1,9 @@ +\babel@toc {ngerman}{} +\beamer@sectionintoc {1}{Einführung}{2}{0}{1} +\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2} +\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{5}{0}{3} +\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{16}{0}{4} +\beamer@sectionintoc {5}{Codierung eines Beispiels}{18}{0}{5} +\beamer@sectionintoc {6}{Decodierung ohne Fehler}{20}{0}{6} +\beamer@sectionintoc {7}{Decodierung mit Fehler}{23}{0}{7} +\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{29}{0}{8} -- cgit v1.2.1 From 1ff0ce6bce1798df6fa7867f37d50e0aeb8afeb0 Mon Sep 17 00:00:00 2001 From: Reto Date: Sun, 25 Apr 2021 22:15:29 +0200 Subject: restructured mceliece code example --- .../mceliece/example_code/mceliece_simple.py | 56 +++++++++++----------- 1 file changed, 29 insertions(+), 27 deletions(-) (limited to 'buch') diff --git a/buch/papers/mceliece/example_code/mceliece_simple.py b/buch/papers/mceliece/example_code/mceliece_simple.py index 3f17504..bac3b42 100644 --- a/buch/papers/mceliece/example_code/mceliece_simple.py +++ b/buch/papers/mceliece/example_code/mceliece_simple.py @@ -293,33 +293,35 @@ def blocks4_to_str(blocks): string+=chr(char) return string -#shared attributes: -n=7 -k=4 -t=1 +if __name__ == '__main__': -#private key(s): -g=Poly([1,1,0,1]) #generator polynom for 7/4 linear code (from table, 1.0 + 1.0·x¹ + 0.0·x² + 1.0·x³) -P_M=gen_perm_M(n) #create permutation matrix -G_M=create_linear_code_matrix(n, k, g) #linear code generator matrix -S_M, S_inv=create_rand_bin_M(k, True) #random binary matrix and its inverse -P_M_inv=P_M.T #inverse permutation matrix - -syndrome_table=create_syndrome_table(n, g) #part of linear-code decoder -linear_code_decoder=lambda c:decode_linear_code(c, g, syndrome_table) - -#public key: -pub_key=(P_M @ G_M @ S_M)%2 - - -msg_tx='Hello World?' - -blocks_tx=str_to_blocks4(msg_tx) -encrypted=encrypt(blocks_tx, pub_key, t) - -blocks_rx=decrypt(encrypted, P_M_inv, linear_code_decoder, S_inv) -msg_rx=blocks4_to_str(blocks_rx) - -print(f'msg_rx: {msg_rx}') + #shared attributes: + n=7 + k=4 + t=1 + + #private key(s): + g=Poly([1,1,0,1]) #generator polynom for 7/4 linear code (from table, 1.0 + 1.0·x¹ + 0.0·x² + 1.0·x³) + P_M=gen_perm_M(n) #create permutation matrix + G_M=create_linear_code_matrix(n, k, g) #linear code generator matrix + S_M, S_inv=create_rand_bin_M(k, True) #random binary matrix and its inverse + P_M_inv=P_M.T #inverse permutation matrix + + syndrome_table=create_syndrome_table(n, g) #part of linear-code decoder + linear_code_decoder=lambda c:decode_linear_code(c, g, syndrome_table) + + #public key: + pub_key=(P_M @ G_M @ S_M)%2 + + + msg_tx='Hello World?' + + blocks_tx=str_to_blocks4(msg_tx) + encrypted=encrypt(blocks_tx, pub_key, t) + + blocks_rx=decrypt(encrypted, P_M_inv, linear_code_decoder, S_inv) + msg_rx=blocks4_to_str(blocks_rx) + + print(f'msg_rx: {msg_rx}') \ No newline at end of file -- cgit v1.2.1 From 593bc095b1b794cecca3421b4bc9c5d91e12bf1e Mon Sep 17 00:00:00 2001 From: Lukaszogg <82384106+Lukaszogg@users.noreply.github.com> Date: Thu, 29 Apr 2021 16:15:01 +0200 Subject: Auszug1_Kalman Text nicht abschliessen, Multiplikationszeichen werden angepasst, Graphen werden noch mit Latex gezeichnet --- buch/.DS_Store | Bin 0 -> 6148 bytes buch/papers/.DS_Store | Bin 0 -> 6148 bytes buch/papers/erdbeben/Apperatur.jpg | Bin 0 -> 66346 bytes buch/papers/erdbeben/Auszug1.aux | 17 ++ buch/papers/erdbeben/Auszug1.log | 168 +++++++++++++++++++ buch/papers/erdbeben/Auszug1.pdf | Bin 0 -> 276468 bytes buch/papers/erdbeben/Auszug1.synctex.gz | Bin 0 -> 47433 bytes buch/papers/erdbeben/Auszug1.tex | 280 ++++++++++++++++++++++++++++++++ buch/papers/erdbeben/Gausskurve2.jpg | Bin 0 -> 28088 bytes buch/papers/erdbeben/Gausskurve3.jpg | Bin 0 -> 31448 bytes buch/papers/erdbeben/teil1.tex | 55 ------- 11 files changed, 465 insertions(+), 55 deletions(-) create mode 100644 buch/.DS_Store create mode 100644 buch/papers/.DS_Store create mode 100644 buch/papers/erdbeben/Apperatur.jpg create mode 100644 buch/papers/erdbeben/Auszug1.aux create mode 100644 buch/papers/erdbeben/Auszug1.log create mode 100644 buch/papers/erdbeben/Auszug1.pdf create mode 100644 buch/papers/erdbeben/Auszug1.synctex.gz create mode 100644 buch/papers/erdbeben/Auszug1.tex create mode 100644 buch/papers/erdbeben/Gausskurve2.jpg create mode 100644 buch/papers/erdbeben/Gausskurve3.jpg delete mode 100644 buch/papers/erdbeben/teil1.tex (limited to 'buch') diff --git a/buch/.DS_Store b/buch/.DS_Store new file mode 100644 index 0000000..ebd6632 Binary files /dev/null and b/buch/.DS_Store differ diff --git a/buch/papers/.DS_Store b/buch/papers/.DS_Store new file mode 100644 index 0000000..004ad78 Binary files /dev/null and b/buch/papers/.DS_Store differ diff --git a/buch/papers/erdbeben/Apperatur.jpg b/buch/papers/erdbeben/Apperatur.jpg new file mode 100644 index 0000000..d25381e Binary files /dev/null and b/buch/papers/erdbeben/Apperatur.jpg differ diff --git a/buch/papers/erdbeben/Auszug1.aux b/buch/papers/erdbeben/Auszug1.aux new file mode 100644 index 0000000..07bfc0e --- /dev/null +++ b/buch/papers/erdbeben/Auszug1.aux @@ -0,0 +1,17 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Kalman Filter}{1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Geschichte}{1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Wahrscheinlichkeit}{1}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Zwei Gauss-Verteilungen}}{1}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Produkt der Gauss-Verteilungen}}{2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Anwendungsgrenzen}{2}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2}Aufbau}{2}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces System}}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Optionen}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {3}Systemgleichung}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4}Kalman Filter}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Anfangsbedingungen}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Fiter Algorithmus}{5}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {5}Anfügen der Schwingung}{6}\protected@file@percent } +\newlabel{erdbeben:equation1}{{19}{6}} +\@writefile{toc}{\contentsline {section}{\numberline {6}Erreger-Schwingung}{6}\protected@file@percent } diff --git a/buch/papers/erdbeben/Auszug1.log b/buch/papers/erdbeben/Auszug1.log new file mode 100644 index 0000000..46aa28d --- /dev/null +++ b/buch/papers/erdbeben/Auszug1.log @@ -0,0 +1,168 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex 2021.2.24) 29 APR 2021 16:12 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**Auszug1.tex +(./Auszug1.tex +LaTeX2e <2020-02-02> patch level 5 +L3 programming layer <2020-03-06> +(/usr/local/texlive/2020/texmf-dist/tex/latex/base/article.cls +Document Class: article 2019/12/20 v1.4l Standard LaTeX document class +(/usr/local/texlive/2020/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2019/12/20 v1.4l Standard LaTeX file (size option) +) +\c@part=\count167 +\c@section=\count168 +\c@subsection=\count169 +\c@subsubsection=\count170 +\c@paragraph=\count171 +\c@subparagraph=\count172 +\c@figure=\count173 +\c@table=\count174 +\abovecaptionskip=\skip47 +\belowcaptionskip=\skip48 +\bibindent=\dimen134 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2018/08/11 v1.3c Input encoding file +\inpenc@prehook=\toks15 +\inpenc@posthook=\toks16 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks17 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 105. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen135 +\Gin@req@width=\dimen136 +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/german/german.sty +v2.5e 1998-07-08 +Package: german 1998/07/08 v2.5e Support for writing german texts (br) +\grmnU@D=\dimen137 +german -- \language number for Austrian undefined, default 32 used. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def +File: l3backend-pdfmode.def 2020-03-12 L3 backend support: PDF mode +\l__kernel_color_stack_int=\count175 +\l__pdf_internal_box=\box45 +) +(./Auszug1.aux) +\openout1 = `Auszug1.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 43. +LaTeX Font Info: ... okay on input line 43. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 43. +LaTeX Font Info: ... okay on input line 43. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 43. +LaTeX Font Info: ... okay on input line 43. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 43. +LaTeX Font Info: ... okay on input line 43. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 43. +LaTeX Font Info: ... okay on input line 43. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 43. +LaTeX Font Info: ... okay on input line 43. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 43. +LaTeX Font Info: ... okay on input line 43. + +(/usr/local/texlive/2020/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count176 +\scratchdimen=\dimen138 +\scratchbox=\box46 +\nofMPsegments=\count177 +\nofMParguments=\count178 +\everyMPshowfont=\toks18 +\MPscratchCnt=\count179 +\MPscratchDim=\dimen139 +\MPnumerator=\count180 +\makeMPintoPDFobject=\count181 +\everyMPtoPDFconversion=\toks19 +) (/usr/local/texlive/2020/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +85. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) + +File: Gausskurve2.jpg Graphic file (type jpg) + +Package pdftex.def Info: Gausskurve2.jpg used on input line 56. +(pdftex.def) Requested size: 142.26378pt x 105.72829pt. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 64. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 64. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 64. + +[1 + +{/usr/local/texlive/2020/texmf-var/fonts/map/pdftex/updmap/pdftex.map} <./Gauss +kurve2.jpg>] + +File: Gausskurve3.jpg Graphic file (type jpg) + +Package pdftex.def Info: Gausskurve3.jpg used on input line 82. +(pdftex.def) Requested size: 142.26378pt x 104.13438pt. + +File: Apperatur.jpg Graphic file (type jpg) + +Package pdftex.def Info: Apperatur.jpg used on input line 98. +(pdftex.def) Requested size: 284.52756pt x 92.32858pt. + + +LaTeX Warning: `h' float specifier changed to `ht'. + +[2 <./Gausskurve3.jpg>] [3 <./Apperatur.jpg>] [4] [5] [6] [7] (./Auszug1.aux) + +LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. + + ) +Here is how much of TeX's memory you used: + 1379 strings out of 480608 + 19915 string characters out of 5903630 + 261075 words of memory out of 5000000 + 17301 multiletter control sequences out of 15000+600000 + 536948 words of font info for 39 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 30i,7n,25p,712b,258s stack positions out of 5000i,500n,10000p,200000b,80000s + +< +/usr/local/texlive/2020/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb> +Output written on Auszug1.pdf (7 pages, 276468 bytes). +PDF statistics: + 79 PDF objects out of 1000 (max. 8388607) + 54 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 16 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/buch/papers/erdbeben/Auszug1.pdf b/buch/papers/erdbeben/Auszug1.pdf new file mode 100644 index 0000000..1755a09 Binary files /dev/null and b/buch/papers/erdbeben/Auszug1.pdf differ diff --git a/buch/papers/erdbeben/Auszug1.synctex.gz b/buch/papers/erdbeben/Auszug1.synctex.gz new file mode 100644 index 0000000..b695e08 Binary files /dev/null and b/buch/papers/erdbeben/Auszug1.synctex.gz differ diff --git a/buch/papers/erdbeben/Auszug1.tex b/buch/papers/erdbeben/Auszug1.tex new file mode 100644 index 0000000..aeade0a --- /dev/null +++ b/buch/papers/erdbeben/Auszug1.tex @@ -0,0 +1,280 @@ +% +% teil1.tex -- Beispiel-File für das Paper +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +% +% teil2.tex -- Beispiel-File für teil2 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\documentclass[11pt,a4paper]{article} + +\usepackage[utf8]{inputenc} +\usepackage{graphicx} +\usepackage{german} + + +\pagestyle{myheadings} +\pagenumbering{arabic} + +\setlength{\textwidth}{15cm} +\setlength{\textheight}{22cm} +\setlength{\topmargin}{-1cm} +\setlength{\oddsidemargin}{0,5cm} +\setlength{\parindent}{0cm} +\setlength{\headsep}{1,5cm} + + +\begin{titlepage} % Titelseite einrichten +\title{\bf {Beispieldatei}} + +\author{\vspace{2cm} + Autor} + +\date{\vspace{3cm} % Datumsfeld einrichten + letzte Aktualisierung: \today} + +\thispagestyle{empty} % Die Titelseite soll keine Seitenzahl bekommen...[1] +\end{titlepage} + + + +\begin{document} + + + +\section{Kalman Filter} +\subsection{Geschichte} +Der 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. Der Filter schätzt den Zustand eines Systems anhand von Messungen und kann den nächsten Zustand erraten. 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} +Der 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. + +\begin{figure}[h] + \begin{center} + \includegraphics[width=5cm]{Gausskurve2} + \caption{Zwei Gauss-Verteilungen} + \end{center} +\end{figure} +Um eine genauere Schätzung des Zustandes zu machen wird nun ein Wert zwischen den beiden Verteilungen gesucht. An diesem Punkt wird nun eine Eigenschaft ausgenutzt. Durch das Multiplizieren zweier Normal-Verteilungen entsteht eine neue Normal-Verteilung. + +Wir haben eine Normalverteilung der Vorhersage: + +\begin{equation} +{y_1}(x;{\mu_1},{\sigma_1})=\frac{1}{\sqrt{2\pi\sigma_1^2}}*e^{-\frac{(x-{\mu_1})^2}{2{\sigma_1}^2}} +\end{equation} +und für die Messung: + +\begin{equation} +{y_2}(x;{\mu_2},{\sigma_2})=\frac{1}{\sqrt{2\pi\sigma_2^2}}*e^{-\frac{(x-{\mu_2})^2}{2{\sigma_2}^2}}. +\end{equation} + +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}} *\frac{1}{\sqrt{2\pi\sigma_2^2}}*e^{-\frac{(x-{\mu_2})^2}{2{\sigma_2}^2}}}{\int {y_1}*{y_2}\,} +\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. + + \begin{figure}[h] + \begin{center} + \includegraphics[width=5cm]{Gausskurve3} + \caption{Produkt der Gauss-Verteilungen} + \end{center} +\end{figure} +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. +Der Seismograph besteht im Grunde aus einer Federgelagerten Masse. Wirkt eine Bodenerregung auf das Gerat 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 linearer Kalman Filter implementiert werden. Da der Kalman Filter besonders effektiv und einfach für lineare Abläufe geeignet ist, würde eine Zweidimensionale Betrachtung den Rahmen dieser Arbeit sprengen. +\begin{figure}[h] + \begin{center} + \includegraphics[width=10cm]{Apperatur} + \caption{System} + \end{center} +\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 der Kalman Filter zum schätzen des nächsten Zustand verwendet werden kann, wird eine Gleichung welche das System beschreibt. Im Fall unseres Seismographen kann der die Differentialgleichung zweiter Ordnung einer Erzwungene Schwingung am harmonischen Oszillator verwendet werden. Diese lautet: +\begin{equation} +m* \ddot x + 2k *\dot x + D*x = f +\end{equation} +mit den Konstanten m = Masse, k = Dämpfungskonstante und D = Federkonstante. +Um diese nun die Systemmatrix umzuwandeln, wird aus der Differentialgleichung zweiter Ordnung durch eine Substitution eine DGL erster Ordnung: + +\begin{equation} +{x_1}=x, +{x_2}=\dot x, +{x_3}=\ddot x \mid Substitution +\end{equation} + + +\begin{equation} +m* {x_3}+ 2k*{x_2} + D*{x_1} = f \mid DGL \:1. Ordnung +\end{equation} + +\begin{equation} +{x_3}=-\frac{D}{m} *{x_1} -\frac{2*k}{m} *{x_2} + \frac{f} {m} \mid Nach \: {x_3} +\end{equation} + +Um die lineare Differentialgleichung in in den Kalman Filter zu Implementieren, muss dieses als Vektor-Gleichung umgewandelt werden. Dafür wird die Gleichung abgeleitet 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 (äusseren Beschleunigung). In unserem Fall wird die äussere Beschleunigung gesucht, da diese der Erdbeben Anregung gleich kommt. +\begin{equation} +\frac{d}{dt} \left(\begin{array}{c} {x_1} \\ {x_2} \end{array}\right) = \left( + \begin{array}{ccc} +0 & 1& 0 \\ +- \frac{D}{m} &-\frac{2*k}{m} & \frac{1} {m}\\ +\end{array}\right) \left(\begin{array}{c} {x_1} \\ {x_2} \\ {x_3} \end{array}\right). +\end{equation} + +Durch die Rücksubstituion ergibt sich: +\begin{equation} +\frac{d}{dt} \left(\begin{array}{c} x(t) \\ v(t) \end{array}\right) = \left( + \begin{array}{ccc} +0 & 1& 0 \\ +- \frac{D}{m} &-\frac{2*k}{m} & \frac{1} {m}\\ +\end{array}\right) \left(\begin{array}{c} x(t)\\ v(t)\\ f(t) \end{array}\right). +\end{equation} + + +Da die Kraft unbekannt ist, wird die letzte Teile mit Nullen bestückt, denn genau diese Werte wollen wir. + +\section{Kalman Filter} +Um den Kalman Filter zu starten müssen gewisse Bedingungen definiert werden. In diesem Abschnitt werden die einzelnen Parameter/Matrizen erläutert und Erklärt, für was sie nützlich sind. +\subsection{Anfangsbedingungen} +\subsubsection*{Anfangszustand x} +Der Filter muss wissen wie das System startet. in unserem Fall is 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) +\end{equation} + +\subsubsection*{Anfangsfehler / Kovarianzmatrix} +Da auch der Anfangszustand fehlerhaft sein kann, wird für den Filter eine Kovarianzmatrix eingeführt. In unserem Fall ist der Anfangszustand gut Bekannt und die Matrix kann mit Nullen bestückt werden. Somit ergibt sich für die Kovarianzmatrix +\begin{equation} +{P_0 }= +\left( +\begin{array}{ccc} +0 & 0 &0 \\ +0 &0 & 0 \\ +0 & 0 &0 \\ +\end{array} +\right). +\end{equation} +Wäre auch der Initialzustand fehlerhaft, könnte über die Diagonale die Kovarianz angegeben werden. +Diese Matrix geht am häufigsten durch den Filter. Sie wird für die Vorhersage und für den Korrekturschritt verwendet und verändert. Für einen gut bekannten Zustandsvektor können kleine Werte eingesetzt werden, für ungenaue Anfangsbedingungen sollten grosse Werte (1 Million) verwendet werden. Bei grossen Werten wird dem Filter die Möglichkeit gegeben, sich schnell einzupendeln. + +\subsubsection*{Dynamikmatrix A} +Die Dynamikmatrix bildet den Kern des Filters. Diese wurde weiter oben Bereits beschrieben. Dabei wollen wird die äussere Kraft des Systems ermitteln. +Da nichts über die äussere Kraft bekannt ist, können wir annehmen das deren Ableitung 0 ist. +Die System Vektor-Gleichung lautet daher: + + +\begin{equation} +A = \left( + \begin{array}{ccc} +0 & 1& 0 \\ +- \frac{D}{m} &-\frac{2*k}{m} & \frac{1} {m}\\ +0 & 0& 0\\ +\end{array}\right) +\end{equation} + +\subsubsection*{Prozessrauschkovarianzmatrix Q} +Die Prozessrauschmatrix teilt dem Filter mit, wie der Systemzustand vom aktuellen zum nächsten Schritt gehen kann. Dabei wird wieder ein Fehler/Rauschen dazu gerechnet. Bei unserem Modell könnte das Beispielsweise ein Windstoss an die Masse sein. für uns wäre dies: +\begin{equation} +Q = \left( + \begin{array}{ccc} +{\sigma_x }^2& 0& 0 \\ +0 & {\sigma_v }^2& 0\\ +0 & 0& {\sigma_f }^2\\ +\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. + +\subsubsection*{Messmatrix H} +Die Messmatrix gibt an, welcher Parameter gemessen werden soll. in unsrem Fall ist es nur die Position der Masse. +\begin{equation} +H= ( \: \: 1 \: \:0 \: \:0 \: \:) +\end{equation} + +\subsubsection*{Messrauschkovarianz R} +Die Messrauschkovarianzmatrix beinhaltet, wie der Name es schon sagt, das Rauschen der Messesensoren. In unserem Fall wird nur die Position der Masse gemessen. Da wir keine anderen Sensoren haben, welche etwas messen kürzt sich diese einfach zu +\begin{equation} +R= ({\sigma_x }^2)\: \: ab. +\end{equation} +Diese Messrauchen wird meistens vom Sensorhersteller angegeben. Für unsere Theoretische Apparatur wird hier ein kleiner Fehler eingesetzt. + +\subsection{Fiter Algorithmus} +Nachdem alle Parameter aufgestellt sind, wird der Filter initialisiert und Versucht nun den Zustand der Feder Vorherzusagen, die Messung zu Präzisieren und laufend zu Aktualisieren. Dank der fortlaufender Messung Bleibt die Schätzung des Filters immer relativ genau. In diesem Abschnitt werden alle Rechenschritte, welche über die ganze Zeitdauer läuft und stetig aktualisiert wird, aufgezeigt und Aktualisiert. + + +\subsubsection*{Vorhersage} +Im Filterschritt Vorhersage wird der nächste Zustand anhand des Anfangszustand und der Systemmatrix berechnet. Dies funktioniert ganz Trivial mit dem Rechenschritt: +\begin{equation} +{x_{t+1}}=A*{x_t}. +\end{equation} + + +Die Kovarianz $P_{pred}$ wird im nächsten Schritt 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}}=A*P*A`+Q. +\end{equation} + +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 gewählt, ist der Unterschied gross, wird der Filter auch die Kovarianz grösser wählen. Er passt sich selber an und korrigiert sich bei grosser Abweichung. + +\subsubsection*{Messen} +Der Sensor wurde noch nicht benutz, doch genau der liefert Werte für den Filter. Die aktuellen Messwerte $Z$ werden die Innovation $w$ mit dem Zustandsvektor $x$ und der Messmatrix $H$ zusammengerechnet. +Hier bei wird lediglich die Messung mit dem Fehler behaftet, und die Messmatrix $H$ +\begin{equation} +w=Z-(H*x) +\end{equation} +Im nächsten Schritt wir analysiert, mit welcher Kovarianz weiter gerechnet wird. + +\subsubsection*{Korrigieren} +Udpdate +\section{Anfügen der Schwingung} + +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. + +\begin{equation} +\int_a^b x^2\, dx += +\left[ \frac13 x^3 \right]_a^b += +\frac{b^3-a^3}3. +\label{erdbeben:equation1} +\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 + +\begin{equation} +x(t)=A*e^{t/2}*sin(t). +\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. + +Die Ergebnisse dieser Schwingung setzen wir in die Messmatrix ein und können den Kalman-Filter starten. + + + + + +\end{document} diff --git a/buch/papers/erdbeben/Gausskurve2.jpg b/buch/papers/erdbeben/Gausskurve2.jpg new file mode 100644 index 0000000..5c0f441 Binary files /dev/null and b/buch/papers/erdbeben/Gausskurve2.jpg differ diff --git a/buch/papers/erdbeben/Gausskurve3.jpg b/buch/papers/erdbeben/Gausskurve3.jpg new file mode 100644 index 0000000..ee6b339 Binary files /dev/null and b/buch/papers/erdbeben/Gausskurve3.jpg differ diff --git a/buch/papers/erdbeben/teil1.tex b/buch/papers/erdbeben/teil1.tex deleted file mode 100644 index a89f303..0000000 --- a/buch/papers/erdbeben/teil1.tex +++ /dev/null @@ -1,55 +0,0 @@ -% -% teil1.tex -- Beispiel-File für das Paper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 1 -\label{erdbeben:section:teil1}} -\rhead{Problemstellung} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. -Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -aut fugit, sed quia consequuntur magni dolores eos qui ratione -voluptatem sequi nesciunt -\begin{equation} -\int_a^b x^2\, dx -= -\left[ \frac13 x^3 \right]_a^b -= -\frac{b^3-a^3}3. -\label{erdbeben:equation1} -\end{equation} -Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -consectetur, adipisci velit, sed quia non numquam eius modi tempora -incidunt ut labore et dolore magnam aliquam quaerat voluptatem. - -Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -Quis autem vel eum iure reprehenderit qui in ea voluptate velit -esse quam nihil molestiae consequatur, vel illum qui dolorem eum -fugiat quo voluptas nulla pariatur? - -\subsection{De finibus bonorum et malorum -\label{erdbeben:subsection:finibus}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. - -Et harum quidem rerum facilis est et expedita distinctio -\ref{erdbeben:section:loesung}. -Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -impedit quo minus id quod maxime placeat facere possimus, omnis -voluptas assumenda est, omnis dolor repellendus -\ref{erdbeben:section:folgerung}. -Temporibus autem quibusdam et aut officiis debitis aut rerum -necessitatibus saepe eveniet ut et voluptates repudiandae sint et -molestiae non recusandae. -Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -voluptatibus maiores alias consequatur aut perferendis doloribus -asperiores repellat. - - -- cgit v1.2.1 From 819b9256e65a2775f44904fc25711bbc4a47435b Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Fri, 30 Apr 2021 18:33:43 +0200 Subject: Dateien entfernt und ignoriert, die nicht im Git sein sollten. --- buch/.DS_Store | Bin 6148 -> 0 bytes buch/.gitignore | 26 ++--- buch/papers/.DS_Store | Bin 6148 -> 0 bytes buch/papers/erdbeben/Auszug1.aux | 17 ---- buch/papers/erdbeben/Auszug1.log | 168 -------------------------------- buch/papers/erdbeben/Auszug1.synctex.gz | Bin 47433 -> 0 bytes 6 files changed, 15 insertions(+), 196 deletions(-) delete mode 100644 buch/.DS_Store delete mode 100644 buch/papers/.DS_Store delete mode 100644 buch/papers/erdbeben/Auszug1.aux delete mode 100644 buch/papers/erdbeben/Auszug1.log delete mode 100644 buch/papers/erdbeben/Auszug1.synctex.gz (limited to 'buch') diff --git a/buch/.DS_Store b/buch/.DS_Store deleted file mode 100644 index ebd6632..0000000 Binary files a/buch/.DS_Store and /dev/null differ diff --git a/buch/.gitignore b/buch/.gitignore index 4600c1a..5d8a46e 100644 --- a/buch/.gitignore +++ b/buch/.gitignore @@ -1,12 +1,16 @@ -buch*.aux -buch*.bbl -buch*.bib -buch*.blg -buch*.idx -buch*.ilg -buch*.ind -buch*.log -buch*.out +*.aux +*.bbl +*.bib +*.blg +*.idx +*.ilg +*.ind +*.log +*.out +*.rpt buch*.pdf -buch*.run.xml -buch*.toc +*.run.xml +*.toc +.build/ +*.synctex.gz +*.DS_Store diff --git a/buch/papers/.DS_Store b/buch/papers/.DS_Store deleted file mode 100644 index 004ad78..0000000 Binary files a/buch/papers/.DS_Store and /dev/null differ diff --git a/buch/papers/erdbeben/Auszug1.aux b/buch/papers/erdbeben/Auszug1.aux deleted file mode 100644 index 07bfc0e..0000000 --- a/buch/papers/erdbeben/Auszug1.aux +++ /dev/null @@ -1,17 +0,0 @@ -\relax -\@writefile{toc}{\contentsline {section}{\numberline {1}Kalman Filter}{1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Geschichte}{1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Wahrscheinlichkeit}{1}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Zwei Gauss-Verteilungen}}{1}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Produkt der Gauss-Verteilungen}}{2}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Anwendungsgrenzen}{2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2}Aufbau}{2}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces System}}{3}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Optionen}{3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3}Systemgleichung}{3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4}Kalman Filter}{4}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Anfangsbedingungen}{4}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Fiter Algorithmus}{5}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5}Anfügen der Schwingung}{6}\protected@file@percent } -\newlabel{erdbeben:equation1}{{19}{6}} -\@writefile{toc}{\contentsline {section}{\numberline {6}Erreger-Schwingung}{6}\protected@file@percent } diff --git a/buch/papers/erdbeben/Auszug1.log b/buch/papers/erdbeben/Auszug1.log deleted file mode 100644 index 46aa28d..0000000 --- a/buch/papers/erdbeben/Auszug1.log +++ /dev/null @@ -1,168 +0,0 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex 2021.2.24) 29 APR 2021 16:12 -entering extended mode - restricted \write18 enabled. - file:line:error style messages enabled. - %&-line parsing enabled. -**Auszug1.tex -(./Auszug1.tex -LaTeX2e <2020-02-02> patch level 5 -L3 programming layer <2020-03-06> -(/usr/local/texlive/2020/texmf-dist/tex/latex/base/article.cls -Document Class: article 2019/12/20 v1.4l Standard LaTeX document class -(/usr/local/texlive/2020/texmf-dist/tex/latex/base/size11.clo -File: size11.clo 2019/12/20 v1.4l Standard LaTeX file (size option) -) -\c@part=\count167 -\c@section=\count168 -\c@subsection=\count169 -\c@subsubsection=\count170 -\c@paragraph=\count171 -\c@subparagraph=\count172 -\c@figure=\count173 -\c@table=\count174 -\abovecaptionskip=\skip47 -\belowcaptionskip=\skip48 -\bibindent=\dimen134 -) -(/usr/local/texlive/2020/texmf-dist/tex/latex/base/inputenc.sty -Package: inputenc 2018/08/11 v1.3c Input encoding file -\inpenc@prehook=\toks15 -\inpenc@posthook=\toks16 -) -(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR) - -(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2014/10/28 v1.15 key=value parser (DPC) -\KV@toks@=\toks17 -) -(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR) - -(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 2016/01/03 v1.10 sin cos tan (DPC) -) -(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration -) -Package graphics Info: Driver file: pdftex.def on input line 105. - -(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-def/pdftex.def -File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex -)) -\Gin@req@height=\dimen135 -\Gin@req@width=\dimen136 -) -(/usr/local/texlive/2020/texmf-dist/tex/generic/german/german.sty -v2.5e 1998-07-08 -Package: german 1998/07/08 v2.5e Support for writing german texts (br) -\grmnU@D=\dimen137 -german -- \language number for Austrian undefined, default 32 used. -) -(/usr/local/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def -File: l3backend-pdfmode.def 2020-03-12 L3 backend support: PDF mode -\l__kernel_color_stack_int=\count175 -\l__pdf_internal_box=\box45 -) -(./Auszug1.aux) -\openout1 = `Auszug1.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 43. -LaTeX Font Info: ... okay on input line 43. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 43. -LaTeX Font Info: ... okay on input line 43. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 43. -LaTeX Font Info: ... okay on input line 43. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 43. -LaTeX Font Info: ... okay on input line 43. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 43. -LaTeX Font Info: ... okay on input line 43. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 43. -LaTeX Font Info: ... okay on input line 43. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 43. -LaTeX Font Info: ... okay on input line 43. - -(/usr/local/texlive/2020/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count176 -\scratchdimen=\dimen138 -\scratchbox=\box46 -\nofMPsegments=\count177 -\nofMParguments=\count178 -\everyMPshowfont=\toks18 -\MPscratchCnt=\count179 -\MPscratchDim=\dimen139 -\MPnumerator=\count180 -\makeMPintoPDFobject=\count181 -\everyMPtoPDFconversion=\toks19 -) (/usr/local/texlive/2020/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty -Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf -Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 -85. - -(/usr/local/texlive/2020/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv -e -)) - -File: Gausskurve2.jpg Graphic file (type jpg) - -Package pdftex.def Info: Gausskurve2.jpg used on input line 56. -(pdftex.def) Requested size: 142.26378pt x 105.72829pt. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <10.95> on input line 64. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <8> on input line 64. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <6> on input line 64. - -[1 - -{/usr/local/texlive/2020/texmf-var/fonts/map/pdftex/updmap/pdftex.map} <./Gauss -kurve2.jpg>] - -File: Gausskurve3.jpg Graphic file (type jpg) - -Package pdftex.def Info: Gausskurve3.jpg used on input line 82. -(pdftex.def) Requested size: 142.26378pt x 104.13438pt. - -File: Apperatur.jpg Graphic file (type jpg) - -Package pdftex.def Info: Apperatur.jpg used on input line 98. -(pdftex.def) Requested size: 284.52756pt x 92.32858pt. - - -LaTeX Warning: `h' float specifier changed to `ht'. - -[2 <./Gausskurve3.jpg>] [3 <./Apperatur.jpg>] [4] [5] [6] [7] (./Auszug1.aux) - -LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. - - ) -Here is how much of TeX's memory you used: - 1379 strings out of 480608 - 19915 string characters out of 5903630 - 261075 words of memory out of 5000000 - 17301 multiletter control sequences out of 15000+600000 - 536948 words of font info for 39 fonts, out of 8000000 for 9000 - 1141 hyphenation exceptions out of 8191 - 30i,7n,25p,712b,258s stack positions out of 5000i,500n,10000p,200000b,80000s - -< -/usr/local/texlive/2020/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb> -Output written on Auszug1.pdf (7 pages, 276468 bytes). -PDF statistics: - 79 PDF objects out of 1000 (max. 8388607) - 54 compressed objects within 1 object stream - 0 named destinations out of 1000 (max. 500000) - 16 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/buch/papers/erdbeben/Auszug1.synctex.gz b/buch/papers/erdbeben/Auszug1.synctex.gz deleted file mode 100644 index b695e08..0000000 Binary files a/buch/papers/erdbeben/Auszug1.synctex.gz and /dev/null differ -- cgit v1.2.1 From cc8f0ed8ae04a2814f2564f723262416bb15b4b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 3 May 2021 11:21:37 +0200 Subject: reelle Normalform --- buch/chapters/40-eigenwerte/normalformen.tex | 254 ++++++++++++++++++++++++++- 1 file changed, 252 insertions(+), 2 deletions(-) (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/normalformen.tex b/buch/chapters/40-eigenwerte/normalformen.tex index c21c403..ffce61d 100644 --- a/buch/chapters/40-eigenwerte/normalformen.tex +++ b/buch/chapters/40-eigenwerte/normalformen.tex @@ -330,9 +330,259 @@ Es ist das Polynom geringsten Grades über $\Bbbk'$, welches $m(A)=0$ erfüllt. \subsection{Reelle Normalform \label{buch:subsection:reelle-normalform}} +Wenn eine reelle Matrix $A$ komplexe Eigenwerte hat, ist die Jordansche +Normalform zwar möglich, aber die zugehörigen Basisvektoren werden ebenfalls +komplexe Komponenten haben. +Für eine rein reelle Rechnung ist dies nachteilig, da der Speicheraufwand +dadurch verdoppelt und der Rechenaufwand für Multiplikationen vervierfacht +wird. -\subsection{Obere Hessenberg-Form -\label{buch:subsection:obere-hessenberg-form}} +Die nicht reellen Eigenwerte von $A$ treten in konjugiert komplexen Paaren +$\lambda_i$ und $\overline{\lambda}_i$ auf. +Wir betrachten im Folgenden nur ein einziges Paar $\lambda=a+ib$ und +$\overline{\lambda}=a-ib$ von konjugiert komplexen Eigenwerten mit +nur je einem einzigen $n\times n$-Jordan-Block $J$ und $\overline{J}$. +Ist $\mathcal{B}=\{b_1,\dots,b_n\}$ die Basis für den Jordan-Block $J$, +dann kann man die Vektoren +$\overline{\mathcal{B}}=\{\overline{b}_1,\dots,\overline{b}_n\}$ als Basis für +$\overline{J}$ verwenden. +Die vereinigte Basis +$\mathcal{C} = \mathcal{B}\cup\overline{\mathcal{B}} += \{b_1,\dots,b_n,\overline{b}_1,\dots,\overline{b}_n\}$ +erzeugen einen $2n$-dimensionalen Vektorraum, +der direkte Summe der beiden von $\mathcal{B}$ und $\overline{\mathcal{B}}$ +erzeugen Vektorräume $V=\langle\mathcal{B}\rangle$ und +$\overline{V}=\langle\overline{\mathcal{B}}\rangle$ ist. +Es ist also +\[ +U=\langle \mathcal{C}\rangle += +V\oplus \overline{V}. +\] +Wir bezeichnen die lineare Abbildung mit den Jordan-Blöcken +$J$ und $\overline{J}$ wieder mit $A$. + +Auf dem Vektorraum $U$ hat die lineare Abbildung in der Basis +$\mathcal{C}$ die Matrix +\[ +A= +\begin{pmatrix} +J&0\\ +0&\overline{J} +\end{pmatrix} += +\begin{pmatrix} +\lambda& 1 & & & &&&&&\\ + &\lambda& 1 & & &&&&&\\ + & &\lambda&\ddots& &&&&&\\ + & & &\ddots& 1 &&&&&\\ + & & & &\lambda&&&&&\\ +&&&& &\overline{\lambda}&1&& & \\ +&&&& &&\overline{\lambda}&1& & \\ +&&&& &&&\overline{\lambda} &\dots& \\ +&&&& &&& &\dots&1\\ +&&&& &&& &&\overline{\lambda}\\ +\end{pmatrix}. +\] + +Die Jordan-Normalform bedeutet, dass +\[ +\begin{aligned} +Ab_1&=\lambda b_1 & + A\overline{b}_1 &= \overline{\lambda} \overline{b}_1 \\ +Ab_2&=\lambda b_2 + b_1 & + A\overline{b}_2 &= \overline{\lambda} \overline{b}_2 +\overline{b_1}\\ +Ab_3&=\lambda b_3 + b_2 & + A\overline{b}_3 &= \overline{\lambda} \overline{b}_3 +\overline{b_2}\\ + &\;\vdots & + &\;\vdots \\ +Ab_n&=\lambda b_n + b_{n-1} & + A\overline{b}_n &= \overline{\lambda} \overline{b}_n +\overline{b_{n-1}} +\end{aligned} +\] +Für die Linearkombinationen +\begin{equation} +\begin{aligned} +c_i &= \frac{b_i+\overline{b}_i}{\sqrt{2}}, +& +d_i &= \frac{b_i-\overline{b}_i}{i\sqrt{2}} +\end{aligned} +\label{buch:eigenwerte:eqn:reellenormalformumrechnung} +\end{equation} +folgt dann für $k>1$ +\begin{align*} +Ac_k +&= +\frac{Ab_k+A\overline{b}_k}{2} +& +Ad_k +&= +\frac{Ab_k-A\overline{b}_k}{2i} +\\ +&= +\frac1{\sqrt{2}}(\lambda b_k + b_{k-1} ++ \overline{\lambda}\overline{b}_k + \overline{b}_{k-1}) +& +&= +\frac1{i\sqrt{2}}(\lambda b_k + b_{k-1} +- \overline{\lambda}\overline{b}_k - \overline{b}_{k-1}) +\\ +&= +\frac1{\sqrt{2}}(\alpha b_k + i\beta b_k + \alpha \overline{b}_k -i\beta \overline{b}_k) ++ +c_{k-1} +& +&= +\frac1{i\sqrt{2}}( +\alpha b_k + i\beta b_k - \alpha \overline{b}_k +i\beta \overline{b}_k) ++ +d_{k-1} +\\ +&= +\alpha +\frac{b_k+\overline{b}_k}{\sqrt{2}} ++ +i \beta \frac{b_k-\overline{b}_k}{\sqrt{2}} ++ +c_{k-1} +& +&= +\alpha +\frac{b_k-\overline{b}_k}{i\sqrt{2}} ++ +i \beta \frac{b_k+\overline{b}_k}{i\sqrt{2}} ++ +d_{k-1} +\\ +&= \alpha c_k -\beta d_k ++ +c_{k-1} +& +&= \alpha d_k + \beta c_k ++ +d_{k-1}. +\end{align*} +Für $k=1$ fallen die Terme $c_{k-1}$ und $d_{k-1}$ weg. +In der Basis $\mathcal{D}=\{c_1,d_1,\dots,c_n,d_n\}$ hat die Matrix +also die {\em reelle Normalform} +\begin{equation} +\def\temp#1{\multicolumn{1}{|c}{#1\mathstrut}} +\def\semp#1{\multicolumn{1}{c|}{#1\mathstrut}} +A_{\text{reell}} += +\left( +\begin{array}{cccccccccccc} +\cline{1-4} +\temp{\alpha}& \beta&\temp{ 1}& 0&\temp{} & & & & & &&\\ +\temp{-\beta}&\alpha&\temp{ 0}& 1&\temp{} & & & & & &&\\ +\cline{1-6} + & &\temp{\alpha}& \beta&\temp{ 1}& 0&\temp{} & & & &&\\ + & &\temp{-\beta}&\alpha&\temp{ 0}& 1&\temp{} & & & &&\\ +\cline{3-6} + & & & &\temp{\alpha}& \beta&\temp{} & & & &&\\ + & & & &\temp{-\beta}&\alpha&\temp{} & & & &&\\ +\cline{5-8} + & & & & & &\temp{\phantom{0}}&\phantom{0}&\temp{ }& &&\\ + & & & & & &\temp{\phantom{0}}&\phantom{0}&\temp{ }& &&\\ +\cline{7-12} + & & & & & & & &\temp{\alpha}& \beta&\temp{ 1}&\semp{ 0}\\ + & & & & & & & &\temp{-\beta}&\alpha&\temp{ 0}&\semp{ 1}\\ +\cline{9-12} + & & & & & & & & & &\temp{\alpha}&\semp{ \beta}\\ + & & & & & & & & & &\temp{-\beta}&\semp{\alpha}\\ +\cline{11-12} +\end{array}\right). +\label{buch:eigenwerte:eqn:reellenormalform} +\end{equation} + +Wir bestimmen noch die Transformationsmatrix, die $A$ in die reelle +Normalform bringt. +Dazu beachten wir, dass die Vektoren $c_k$ und $d_k$ in der Basis +$\mathcal{B}$ nur in den Komponenten $k$ und $n+k$ von $0$ verschiedene +Koordinaten haben, nämlich +\[ +c_k += +\frac1{\sqrt{2}} +\left( +\begin{array}{c} +\vdots\\ 1 \\ \vdots\\\hline \vdots\\ 1\\\vdots +\end{array}\right) +\qquad\text{und}\qquad +d_k += +\frac1{i\sqrt{2}} +\left(\begin{array}{c} +\vdots\\ 1 \\ \vdots\\\hline\vdots\\-1\\\vdots +\end{array}\right) += +\frac1{\sqrt{2}} +\left(\begin{array}{c} +\vdots\\-i \\ \vdots\\\hline \vdots\\ i\\\vdots +\end{array}\right) +\] +gemäss \eqref{buch:eigenwerte:eqn:reellenormalformumrechnung}. +Die Umrechnung der Koordinaten von der Basis $\mathcal{B}$ in die Basis +$\mathcal{D}$ +wird daher durch die Matrix +\[ +S += +\frac{1}{\sqrt{2}} +\left(\begin{array}{cccccccccc} +1&-i& & & & & & & & \\ + & &1&-i& & & & & & \\ + & & & &1&-i& & & & \\ + & & & & & &\dots&\dots& & \\ + & & & & & & & &1&-i\\ +\hline +1& i& & & & & & & & \\ + & &1& i& & & & & & \\ + & & & &1& i& & & & \\ + & & & & & &\dots&\dots& & \\ + & & & & & & & &1& i\\ +\end{array}\right) +\] +vermittelt. +Der Nenner $\sqrt{2}$ wurde so gewählt, dass die +Zeilenvektoren der Matrix $S$ als komplexe Vektoren orthonormiert sind, +die Matrix $S$ ist daher unitär und hat die Inverse +\[ +S^{-1} += +S^* += +\frac{1}{\sqrt{2}} +\left(\begin{array}{ccccc|ccccc} + 1& & & & &1& & & & \\ +-i& & & & &i& & & & \\ + & 1& & & & &1& & & \\ + &-i& & & & &i& & & \\ + & & 1& & & & &1& & \\ + & &-i& & & & &i& & \\ + & & &\dots& & & & &\dots& \\ + & & &\dots& & & & &\dots& \\ + & & & & 1& & & & &1\\ + & & & &-i& & & & &i\\ +\end{array}\right). +\] +Insbesondere folgt jetzt +\[ +A += +S^{-1}A_{\text{reell}}S += +S^*A_{\text{reell}}S +\qquad\text{und}\qquad +A_{\text{reell}} += +SAS^{-1} += +SAS^*. +\] + +%\subsection{Obere Hessenberg-Form +%\label{buch:subsection:obere-hessenberg-form}} -- cgit v1.2.1 From d9f3811cb2b6c0b73d4b4b712bd713f5eab77007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 3 May 2021 11:23:21 +0200 Subject: fix problem with missing file --- buch/chapters/50-permutationen/transpositionen.tex | 12 ++++++------ buch/papers/erdbeben/Makefile.inc | 1 - 2 files changed, 6 insertions(+), 7 deletions(-) (limited to 'buch') diff --git a/buch/chapters/50-permutationen/transpositionen.tex b/buch/chapters/50-permutationen/transpositionen.tex index 604e010..748b2e9 100644 --- a/buch/chapters/50-permutationen/transpositionen.tex +++ b/buch/chapters/50-permutationen/transpositionen.tex @@ -111,7 +111,7 @@ Permutationen. \end{definition} Die alternierende Gruppe $A_n$ ist tatsächlich eine Untergruppe. -Zunächst ist $\operatorname{sign}(e)=(-1)^0=1$, also ist $e\in A_n$. +Zunächst ist $\operatorname{sgn}(e)=(-1)^0=1$, also ist $e\in A_n$. Es wurde schon gezeigt, dass mit jedem Element $\sigma\in A_n$ auch das inverse Element $\sigma^{-1}\in A_n$ ist. Es muss aber noch sichergestellt werden, dass das Produkt von zwei @@ -120,17 +120,17 @@ geraden Transpositionen wieder gerade ist: \begin{aligned} \sigma_1,\sigma_2&\in A_n &\Rightarrow&& -\operatorname{sign}(\sigma_1) +\operatorname{sgn}(\sigma_1) &= -\operatorname{sign}(\sigma_2) +\operatorname{sgn}(\sigma_2) = 1 \\ &&\Rightarrow&& -\operatorname{sign}(\sigma_1\sigma_2) +\operatorname{sgn}(\sigma_1\sigma_2) &= -\operatorname{sign}(\sigma_1) -\operatorname{sign}(\sigma_2) +\operatorname{sgn}(\sigma_1) +\operatorname{sgn}(\sigma_2) = 1\cdot 1=1 &&\Rightarrow& diff --git a/buch/papers/erdbeben/Makefile.inc b/buch/papers/erdbeben/Makefile.inc index 52317c8..ed32f08 100644 --- a/buch/papers/erdbeben/Makefile.inc +++ b/buch/papers/erdbeben/Makefile.inc @@ -8,7 +8,6 @@ dependencies-erdbeben = \ papers/erdbeben/main.tex \ papers/erdbeben/references.bib \ papers/erdbeben/teil0.tex \ - papers/erdbeben/teil1.tex \ papers/erdbeben/teil2.tex \ papers/erdbeben/teil3.tex -- cgit v1.2.1 From bad5ac1ab2ed83ade1830745b9ff6dbdbb350633 Mon Sep 17 00:00:00 2001 From: Lukaszogg <82384106+Lukaszogg@users.noreply.github.com> Date: Mon, 3 May 2021 15:13:13 +0200 Subject: Update teil1.tex --- buch/papers/erdbeben/Auszug1.tex | 280 --------------------------------------- buch/papers/erdbeben/teil1.tex | 280 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 280 insertions(+), 280 deletions(-) delete mode 100644 buch/papers/erdbeben/Auszug1.tex create mode 100644 buch/papers/erdbeben/teil1.tex (limited to 'buch') diff --git a/buch/papers/erdbeben/Auszug1.tex b/buch/papers/erdbeben/Auszug1.tex deleted file mode 100644 index aeade0a..0000000 --- a/buch/papers/erdbeben/Auszug1.tex +++ /dev/null @@ -1,280 +0,0 @@ -% -% teil1.tex -- Beispiel-File für das Paper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -% -% teil2.tex -- Beispiel-File für teil2 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\documentclass[11pt,a4paper]{article} - -\usepackage[utf8]{inputenc} -\usepackage{graphicx} -\usepackage{german} - - -\pagestyle{myheadings} -\pagenumbering{arabic} - -\setlength{\textwidth}{15cm} -\setlength{\textheight}{22cm} -\setlength{\topmargin}{-1cm} -\setlength{\oddsidemargin}{0,5cm} -\setlength{\parindent}{0cm} -\setlength{\headsep}{1,5cm} - - -\begin{titlepage} % Titelseite einrichten -\title{\bf {Beispieldatei}} - -\author{\vspace{2cm} - Autor} - -\date{\vspace{3cm} % Datumsfeld einrichten - letzte Aktualisierung: \today} - -\thispagestyle{empty} % Die Titelseite soll keine Seitenzahl bekommen...[1] -\end{titlepage} - - - -\begin{document} - - - -\section{Kalman Filter} -\subsection{Geschichte} -Der 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. Der Filter schätzt den Zustand eines Systems anhand von Messungen und kann den nächsten Zustand erraten. 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} -Der 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. - -\begin{figure}[h] - \begin{center} - \includegraphics[width=5cm]{Gausskurve2} - \caption{Zwei Gauss-Verteilungen} - \end{center} -\end{figure} -Um eine genauere Schätzung des Zustandes zu machen wird nun ein Wert zwischen den beiden Verteilungen gesucht. An diesem Punkt wird nun eine Eigenschaft ausgenutzt. Durch das Multiplizieren zweier Normal-Verteilungen entsteht eine neue Normal-Verteilung. - -Wir haben eine Normalverteilung der Vorhersage: - -\begin{equation} -{y_1}(x;{\mu_1},{\sigma_1})=\frac{1}{\sqrt{2\pi\sigma_1^2}}*e^{-\frac{(x-{\mu_1})^2}{2{\sigma_1}^2}} -\end{equation} -und für die Messung: - -\begin{equation} -{y_2}(x;{\mu_2},{\sigma_2})=\frac{1}{\sqrt{2\pi\sigma_2^2}}*e^{-\frac{(x-{\mu_2})^2}{2{\sigma_2}^2}}. -\end{equation} - -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}} *\frac{1}{\sqrt{2\pi\sigma_2^2}}*e^{-\frac{(x-{\mu_2})^2}{2{\sigma_2}^2}}}{\int {y_1}*{y_2}\,} -\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. - - \begin{figure}[h] - \begin{center} - \includegraphics[width=5cm]{Gausskurve3} - \caption{Produkt der Gauss-Verteilungen} - \end{center} -\end{figure} -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. -Der Seismograph besteht im Grunde aus einer Federgelagerten Masse. Wirkt eine Bodenerregung auf das Gerat 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 linearer Kalman Filter implementiert werden. Da der Kalman Filter besonders effektiv und einfach für lineare Abläufe geeignet ist, würde eine Zweidimensionale Betrachtung den Rahmen dieser Arbeit sprengen. -\begin{figure}[h] - \begin{center} - \includegraphics[width=10cm]{Apperatur} - \caption{System} - \end{center} -\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 der Kalman Filter zum schätzen des nächsten Zustand verwendet werden kann, wird eine Gleichung welche das System beschreibt. Im Fall unseres Seismographen kann der die Differentialgleichung zweiter Ordnung einer Erzwungene Schwingung am harmonischen Oszillator verwendet werden. Diese lautet: -\begin{equation} -m* \ddot x + 2k *\dot x + D*x = f -\end{equation} -mit den Konstanten m = Masse, k = Dämpfungskonstante und D = Federkonstante. -Um diese nun die Systemmatrix umzuwandeln, wird aus der Differentialgleichung zweiter Ordnung durch eine Substitution eine DGL erster Ordnung: - -\begin{equation} -{x_1}=x, -{x_2}=\dot x, -{x_3}=\ddot x \mid Substitution -\end{equation} - - -\begin{equation} -m* {x_3}+ 2k*{x_2} + D*{x_1} = f \mid DGL \:1. Ordnung -\end{equation} - -\begin{equation} -{x_3}=-\frac{D}{m} *{x_1} -\frac{2*k}{m} *{x_2} + \frac{f} {m} \mid Nach \: {x_3} -\end{equation} - -Um die lineare Differentialgleichung in in den Kalman Filter zu Implementieren, muss dieses als Vektor-Gleichung umgewandelt werden. Dafür wird die Gleichung abgeleitet 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 (äusseren Beschleunigung). In unserem Fall wird die äussere Beschleunigung gesucht, da diese der Erdbeben Anregung gleich kommt. -\begin{equation} -\frac{d}{dt} \left(\begin{array}{c} {x_1} \\ {x_2} \end{array}\right) = \left( - \begin{array}{ccc} -0 & 1& 0 \\ -- \frac{D}{m} &-\frac{2*k}{m} & \frac{1} {m}\\ -\end{array}\right) \left(\begin{array}{c} {x_1} \\ {x_2} \\ {x_3} \end{array}\right). -\end{equation} - -Durch die Rücksubstituion ergibt sich: -\begin{equation} -\frac{d}{dt} \left(\begin{array}{c} x(t) \\ v(t) \end{array}\right) = \left( - \begin{array}{ccc} -0 & 1& 0 \\ -- \frac{D}{m} &-\frac{2*k}{m} & \frac{1} {m}\\ -\end{array}\right) \left(\begin{array}{c} x(t)\\ v(t)\\ f(t) \end{array}\right). -\end{equation} - - -Da die Kraft unbekannt ist, wird die letzte Teile mit Nullen bestückt, denn genau diese Werte wollen wir. - -\section{Kalman Filter} -Um den Kalman Filter zu starten müssen gewisse Bedingungen definiert werden. In diesem Abschnitt werden die einzelnen Parameter/Matrizen erläutert und Erklärt, für was sie nützlich sind. -\subsection{Anfangsbedingungen} -\subsubsection*{Anfangszustand x} -Der Filter muss wissen wie das System startet. in unserem Fall is 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) -\end{equation} - -\subsubsection*{Anfangsfehler / Kovarianzmatrix} -Da auch der Anfangszustand fehlerhaft sein kann, wird für den Filter eine Kovarianzmatrix eingeführt. In unserem Fall ist der Anfangszustand gut Bekannt und die Matrix kann mit Nullen bestückt werden. Somit ergibt sich für die Kovarianzmatrix -\begin{equation} -{P_0 }= -\left( -\begin{array}{ccc} -0 & 0 &0 \\ -0 &0 & 0 \\ -0 & 0 &0 \\ -\end{array} -\right). -\end{equation} -Wäre auch der Initialzustand fehlerhaft, könnte über die Diagonale die Kovarianz angegeben werden. -Diese Matrix geht am häufigsten durch den Filter. Sie wird für die Vorhersage und für den Korrekturschritt verwendet und verändert. Für einen gut bekannten Zustandsvektor können kleine Werte eingesetzt werden, für ungenaue Anfangsbedingungen sollten grosse Werte (1 Million) verwendet werden. Bei grossen Werten wird dem Filter die Möglichkeit gegeben, sich schnell einzupendeln. - -\subsubsection*{Dynamikmatrix A} -Die Dynamikmatrix bildet den Kern des Filters. Diese wurde weiter oben Bereits beschrieben. Dabei wollen wird die äussere Kraft des Systems ermitteln. -Da nichts über die äussere Kraft bekannt ist, können wir annehmen das deren Ableitung 0 ist. -Die System Vektor-Gleichung lautet daher: - - -\begin{equation} -A = \left( - \begin{array}{ccc} -0 & 1& 0 \\ -- \frac{D}{m} &-\frac{2*k}{m} & \frac{1} {m}\\ -0 & 0& 0\\ -\end{array}\right) -\end{equation} - -\subsubsection*{Prozessrauschkovarianzmatrix Q} -Die Prozessrauschmatrix teilt dem Filter mit, wie der Systemzustand vom aktuellen zum nächsten Schritt gehen kann. Dabei wird wieder ein Fehler/Rauschen dazu gerechnet. Bei unserem Modell könnte das Beispielsweise ein Windstoss an die Masse sein. für uns wäre dies: -\begin{equation} -Q = \left( - \begin{array}{ccc} -{\sigma_x }^2& 0& 0 \\ -0 & {\sigma_v }^2& 0\\ -0 & 0& {\sigma_f }^2\\ -\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. - -\subsubsection*{Messmatrix H} -Die Messmatrix gibt an, welcher Parameter gemessen werden soll. in unsrem Fall ist es nur die Position der Masse. -\begin{equation} -H= ( \: \: 1 \: \:0 \: \:0 \: \:) -\end{equation} - -\subsubsection*{Messrauschkovarianz R} -Die Messrauschkovarianzmatrix beinhaltet, wie der Name es schon sagt, das Rauschen der Messesensoren. In unserem Fall wird nur die Position der Masse gemessen. Da wir keine anderen Sensoren haben, welche etwas messen kürzt sich diese einfach zu -\begin{equation} -R= ({\sigma_x }^2)\: \: ab. -\end{equation} -Diese Messrauchen wird meistens vom Sensorhersteller angegeben. Für unsere Theoretische Apparatur wird hier ein kleiner Fehler eingesetzt. - -\subsection{Fiter Algorithmus} -Nachdem alle Parameter aufgestellt sind, wird der Filter initialisiert und Versucht nun den Zustand der Feder Vorherzusagen, die Messung zu Präzisieren und laufend zu Aktualisieren. Dank der fortlaufender Messung Bleibt die Schätzung des Filters immer relativ genau. In diesem Abschnitt werden alle Rechenschritte, welche über die ganze Zeitdauer läuft und stetig aktualisiert wird, aufgezeigt und Aktualisiert. - - -\subsubsection*{Vorhersage} -Im Filterschritt Vorhersage wird der nächste Zustand anhand des Anfangszustand und der Systemmatrix berechnet. Dies funktioniert ganz Trivial mit dem Rechenschritt: -\begin{equation} -{x_{t+1}}=A*{x_t}. -\end{equation} - - -Die Kovarianz $P_{pred}$ wird im nächsten Schritt 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}}=A*P*A`+Q. -\end{equation} - -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 gewählt, ist der Unterschied gross, wird der Filter auch die Kovarianz grösser wählen. Er passt sich selber an und korrigiert sich bei grosser Abweichung. - -\subsubsection*{Messen} -Der Sensor wurde noch nicht benutz, doch genau der liefert Werte für den Filter. Die aktuellen Messwerte $Z$ werden die Innovation $w$ mit dem Zustandsvektor $x$ und der Messmatrix $H$ zusammengerechnet. -Hier bei wird lediglich die Messung mit dem Fehler behaftet, und die Messmatrix $H$ -\begin{equation} -w=Z-(H*x) -\end{equation} -Im nächsten Schritt wir analysiert, mit welcher Kovarianz weiter gerechnet wird. - -\subsubsection*{Korrigieren} -Udpdate -\section{Anfügen der Schwingung} - -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. - -\begin{equation} -\int_a^b x^2\, dx -= -\left[ \frac13 x^3 \right]_a^b -= -\frac{b^3-a^3}3. -\label{erdbeben:equation1} -\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 - -\begin{equation} -x(t)=A*e^{t/2}*sin(t). -\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. - -Die Ergebnisse dieser Schwingung setzen wir in die Messmatrix ein und können den Kalman-Filter starten. - - - - - -\end{document} diff --git a/buch/papers/erdbeben/teil1.tex b/buch/papers/erdbeben/teil1.tex new file mode 100644 index 0000000..460d871 --- /dev/null +++ b/buch/papers/erdbeben/teil1.tex @@ -0,0 +1,280 @@ +% +% teil1.tex -- Beispiel-File für das Paper +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +% +% teil2.tex -- Beispiel-File für teil2 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\documentclass[11pt,a4paper]{article} + +\usepackage[utf8]{inputenc} +\usepackage{graphicx} +\usepackage{german} + +\usepackage{amsmath} +\pagestyle{myheadings} +\pagenumbering{arabic} + +\setlength{\textwidth}{15cm} +\setlength{\textheight}{22cm} +\setlength{\topmargin}{-1cm} +\setlength{\oddsidemargin}{0,5cm} +\setlength{\parindent}{0cm} +\setlength{\headsep}{1,5cm} + + +\begin{titlepage} % Titelseite einrichten +\title{\bf {Beispieldatei}} + +\author{\vspace{2cm} + Autor} + +\date{\vspace{3cm} % Datumsfeld einrichten + letzte Aktualisierung: \today} + +\thispagestyle{empty} % Die Titelseite soll keine Seitenzahl bekommen...[1] +\end{titlepage} + + + +\begin{document} + + + +\section{Kalman Filter} +\subsection{Geschichte} +Der 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. Der Filter schätzt den Zustand eines Systems anhand von Messungen und kann den nächsten Zustand erraten. Somit unterscheidet er sich von anderen Filtern, seine Schätzungen basieren auf statistischen Grundlagen. 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} +Der 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. + +\begin{figure}[h] + \begin{center} + \includegraphics[width=5cm]{Gausskurve2} + \caption{Zwei Gauss-Verteilungen} + \end{center} +\end{figure} +Um eine genauere Schätzung des Zustandes zu machen wird nun ein Wert zwischen den beiden Verteilungen gesucht. An diesem Punkt wird nun eine Eigenschaft ausgenutzt. Durch das Multiplizieren zweier Normal-Verteilungen entsteht eine neue Normal-Verteilung. + +Wir haben eine Normalverteilung der Vorhersage: + +\begin{equation} +{y_1}(x;{\mu_1},{\sigma_1})=\frac{1}{\sqrt{2\pi\sigma_1^2}}\quad e^{-\frac{(x-{\mu_1})^2}{2{\sigma_1}^2}} +\end{equation} +und für die Messung: + +\begin{equation} +{y_2}(x;{\mu_2},{\sigma_2})=\frac{1}{\sqrt{2\pi\sigma_2^2}}\quad e^{-\frac{(x-{\mu_2})^2}{2{\sigma_2}^2}}. +\end{equation} + +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}\,} +\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. + + \begin{figure}[h] + \begin{center} + \includegraphics[width=5cm]{Gausskurve3} + \caption{Produkt der Gauss-Verteilungen} + \end{center} +\end{figure} +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. +Der Seismograph besteht im Grunde aus einer Federgelagerten Masse. Wirkt eine Bodenerregung auf das Gerat 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 linearer Kalman Filter implementiert werden. Da der Kalman Filter besonders effektiv und einfach für lineare Abläufe geeignet ist, würde eine Zweidimensionale Betrachtung den Rahmen dieser Arbeit sprengen. +\begin{figure}[h] + \begin{center} + \includegraphics[width=10cm]{Apperatur} + \caption{System} + \end{center} +\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 der Kalman Filter zum schätzen des nächsten Zustand verwendet werden kann, wird eine Gleichung welche das System beschreibt. Im Fall unseres Seismographen kann der die Differentialgleichung zweiter Ordnung einer Erzwungene 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 die Systemmatrix umzuwandeln, wird aus der Differentialgleichung zweiter Ordnung durch eine Substitution eine DGL erster Ordnung: + +\begin{equation} +{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} + +\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} + +Um die lineare Differentialgleichung in in den Kalman Filter zu Implementieren, muss dieses als Vektor-Gleichung umgewandelt werden. Dafür wird die Gleichung abgeleitet 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 (äusseren Beschleunigung). In unserem Fall wird die äussere Beschleunigung gesucht, da diese der Erdbeben Anregung gleich kommt. +\begin{equation} +\frac{d}{dt} \left(\begin{array}{c} {x_1} \\ {x_2} \end{array}\right) = \left( + \begin{array}{ccc} +0 & 1& 0 \\ +- \frac{D}{m} &-\frac{2k}{m} & \frac{1} {m}\\ +\end{array}\right) \left(\begin{array}{c} {x_1} \\ {x_2} \\ {x_3} \end{array}\right). +\end{equation} + +Durch die Rücksubstituion ergibt sich: +\begin{equation} +\frac{d}{dt} \left(\begin{array}{c} x(t) \\ v(t) \end{array}\right) = \left( + \begin{array}{ccc} +0 & 1& 0 \\ +- \frac{D}{m} &-\frac{2k}{m} & \frac{1} {m}\\ +\end{array}\right) \left(\begin{array}{c} x(t)\\ v(t)\\ f(t) \end{array}\right). +\end{equation} + + +Da die Kraft unbekannt ist, wird die letzte Teile mit Nullen bestückt, denn genau diese Werte wollen wir. + +\section{Kalman Filter} +Um den Kalman Filter zu starten müssen gewisse Bedingungen definiert werden. In diesem Abschnitt werden die einzelnen Parameter/Matrizen erläutert und Erklärt, für was sie nützlich sind. +\subsection{Anfangsbedingungen} +\subsubsection*{Anfangszustand $x$} +Der Filter muss wissen wie das System startet. in unserem Fall is 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) +\end{equation} + +\subsubsection*{Anfangsfehler / Kovarianzmatrix $P$} +Da auch der Anfangszustand fehlerhaft sein kann, wird für den Filter eine Kovarianzmatrix eingeführt. In unserem Fall ist der Anfangszustand gut Bekannt und die Matrix kann mit Nullen bestückt werden. Somit ergibt sich für die Kovarianzmatrix +\begin{equation} +{P_0 }= +\left( +\begin{array}{ccc} +0 & 0 &0 \\ +0 &0 & 0 \\ +0 & 0 &0 \\ +\end{array} +\right). +\end{equation} +Wäre auch der Initialzustand fehlerhaft, könnte über die Diagonale die Kovarianz angegeben werden. +Diese Matrix geht am häufigsten durch den Filter. Sie wird für die Vorhersage und für den Korrekturschritt verwendet und verändert. Für einen gut bekannten Zustandsvektor können kleine Werte eingesetzt werden, für ungenaue Anfangsbedingungen sollten grosse Werte (1 Million) verwendet werden. Bei grossen Werten wird dem Filter die Möglichkeit gegeben, sich schnell einzupendeln. + +\subsubsection*{Dynamikmatrix $A$} +Die Dynamikmatrix bildet den Kern des Filters. Diese wurde weiter oben Bereits beschrieben. Dabei wollen wird die äussere Kraft des Systems ermitteln. +Da nichts über die äussere Kraft bekannt ist, können wir annehmen das deren Ableitung 0 ist. +Die System Vektor-Gleichung lautet daher: + + +\begin{equation} +A = \left( + \begin{array}{ccc} +0 & 1& 0 \\ +- \frac{D}{m} &-\frac{2k}{m} & \frac{1} {m}\\ +0 & 0& 0\\ +\end{array}\right) +\end{equation} + +\subsubsection*{Prozessrauschkovarianzmatrix $Q$} +Die Prozessrauschmatrix teilt dem Filter mit, wie der Systemzustand vom aktuellen zum nächsten Schritt gehen kann. Dabei wird wieder ein Fehler/Rauschen dazu gerechnet. Bei unserem Modell könnte das Beispielsweise ein Windstoss an die Masse sein. für uns wäre dies: +\begin{equation} +Q = \left( + \begin{array}{ccc} +{\sigma_x }^2& 0& 0 \\ +0 & {\sigma_v }^2& 0\\ +0 & 0& {\sigma_f }^2\\ +\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. + +\subsubsection*{Messmatrix $H$} +Die Messmatrix gibt an, welcher Parameter gemessen werden soll. in unsrem Fall ist es nur die Position der Masse. +\begin{equation} +H= ( \: \: 1 \: \:0 \: \:0 \: \:) +\end{equation} + +\subsubsection*{Messrauschkovarianz $R$} +Die Messrauschkovarianzmatrix beinhaltet, wie der Name es schon sagt, das Rauschen der Messesensoren. In unserem Fall wird nur die Position der Masse gemessen. Da wir keine anderen Sensoren haben, welche etwas messen kürzt sich diese einfach zu +\begin{equation} +R= ({\sigma_x}^2)\: \: ab. +\end{equation} +Diese Messrauchen wird meistens vom Sensorhersteller angegeben. Für unsere Theoretische Apparatur wird hier ein kleiner Fehler eingesetzt. + +\subsection{Fiter Algorithmus} +Nachdem alle Parameter aufgestellt sind, wird der Filter initialisiert und Versucht nun den Zustand der Feder Vorherzusagen, die Messung zu Präzisieren und laufend zu Aktualisieren. Dank der fortlaufender Messung Bleibt die Schätzung des Filters immer relativ genau. In diesem Abschnitt werden alle Rechenschritte, welche über die ganze Zeitdauer läuft und stetig aktualisiert wird, aufgezeigt und Aktualisiert. + + +\subsubsection*{Vorhersage} +Im Filterschritt Vorhersage wird der nächste Zustand anhand des Anfangszustand und der Systemmatrix berechnet. Dies funktioniert ganz Trivial mit dem Rechenschritt: +\begin{equation} +{x_{t+1}}=A\cdot{x_t}. +\end{equation} + + +Die Kovarianz $P_{pred}$ wird im nächsten Schritt 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}}=A\cdot P\cdot A^{\prime}+Q. +\end{equation} + +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 gewählt, ist der Unterschied gross, wird der Filter auch die Kovarianz grösser wählen. Er passt sich selber an und korrigiert sich bei grosser Abweichung. + +\subsubsection*{Messen} +Der Sensor wurde noch nicht benutz, doch genau der liefert Werte für den Filter. Die aktuellen Messwerte $Z$ werden die Innovation $w$ mit dem Zustandsvektor $x$ und der Messmatrix $H$ zusammengerechnet. +Hier bei wird lediglich die Messung mit dem Fehler behaftet, und die Messmatrix $H$ +\begin{equation} +w=Z-(H\cdot x) +\end{equation} +Im nächsten Schritt wir analysiert, mit welcher Kovarianz weiter gerechnet wird. + +\subsubsection*{Korrigieren} +Udpdate +\section{Anfügen der Schwingung} + +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. + +\begin{equation} +\int_a^b x^2\, dx += +\left[ \frac13 x^3 \right]_a^b += +\frac{b^3-a^3}3. +\label{erdbeben:equation1} +\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 + +\begin{equation} +x(t)=Ae^{t/2}sin(t). +\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. + +Die Ergebnisse dieser Schwingung setzen wir in die Messmatrix ein und können den Kalman-Filter starten. + + + + + +\end{document} -- cgit v1.2.1 From e95824395ac596ef6f6741df7bb7f439af1e0eb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 3 May 2021 15:33:20 +0200 Subject: =?UTF-8?q?F=C3=BCge=20erdbeben/teil1.tex=20wieder=20zum=20Makefil?= =?UTF-8?q?e=20hinzu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/chapters/40-eigenwerte/chapter.tex | 1 + buch/chapters/40-eigenwerte/normalformen.tex | 20 ++++++------- .../40-eigenwerte/uebungsaufgaben/4006.tex | 33 ++++++++++++++++++++++ buch/papers/erdbeben/Makefile.inc | 1 + 4 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/chapter.tex b/buch/chapters/40-eigenwerte/chapter.tex index 242a5e5..24ea57d 100644 --- a/buch/chapters/40-eigenwerte/chapter.tex +++ b/buch/chapters/40-eigenwerte/chapter.tex @@ -46,5 +46,6 @@ Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. \uebungsaufgabe{4003} \uebungsaufgabe{4004} \uebungsaufgabe{4005} +\uebungsaufgabe{4006} \end{uebungsaufgaben} diff --git a/buch/chapters/40-eigenwerte/normalformen.tex b/buch/chapters/40-eigenwerte/normalformen.tex index ffce61d..9169f65 100644 --- a/buch/chapters/40-eigenwerte/normalformen.tex +++ b/buch/chapters/40-eigenwerte/normalformen.tex @@ -554,16 +554,16 @@ S^* = \frac{1}{\sqrt{2}} \left(\begin{array}{ccccc|ccccc} - 1& & & & &1& & & & \\ --i& & & & &i& & & & \\ - & 1& & & & &1& & & \\ - &-i& & & & &i& & & \\ - & & 1& & & & &1& & \\ - & &-i& & & & &i& & \\ - & & &\dots& & & & &\dots& \\ - & & &\dots& & & & &\dots& \\ - & & & & 1& & & & &1\\ - & & & &-i& & & & &i\\ + 1& & & & & 1& & & & \\ + i& & & & &-i& & & & \\ + & 1& & & & & 1& & & \\ + & i& & & & &-i& & & \\ + & & 1& & & & & 1& & \\ + & & i& & & & &-i& & \\ + & & &\dots& & & & &\dots& \\ + & & &\dots& & & & &\dots& \\ + & & & & 1& & & & & 1\\ + & & & & i& & & & &-i\\ \end{array}\right). \] Insbesondere folgt jetzt diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex new file mode 100644 index 0000000..63858b7 --- /dev/null +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex @@ -0,0 +1,33 @@ +Man findet eine Basis, in der die Matrix +\[ +A=\begin{pmatrix} + -5& 2& 6& 0\\ +-11& 12& -3& -15\\ + -7& 0& 9& 4\\ + 0& 5& -7& -8 +\end{pmatrix} +\] +die relle Normalform bekommt. + +\begin{loesung} +Das charakteristische Polynom der Matrix ist +\[ +\chi_{A}(\lambda) += +\lambda^4-8\lambda^3+42\lambda^2-104\lambda+169 += +(\lambda^2-4\lambda+13)^2. +\] +Es hat die doppelten Nullstellen +\[ +\lambda += +2\pm \sqrt{4-13} += +2\pm \sqrt{-9} += +2\pm 3i. +\] +Zur Bestimmung +\end{loesung} + diff --git a/buch/papers/erdbeben/Makefile.inc b/buch/papers/erdbeben/Makefile.inc index ed32f08..52317c8 100644 --- a/buch/papers/erdbeben/Makefile.inc +++ b/buch/papers/erdbeben/Makefile.inc @@ -8,6 +8,7 @@ dependencies-erdbeben = \ papers/erdbeben/main.tex \ papers/erdbeben/references.bib \ papers/erdbeben/teil0.tex \ + papers/erdbeben/teil1.tex \ papers/erdbeben/teil2.tex \ papers/erdbeben/teil3.tex -- cgit v1.2.1 From 23181dd294a16f4b30ce0531b23a4d0fc1abeca0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 3 May 2021 20:53:09 +0200 Subject: new problem --- .../40-eigenwerte/uebungsaufgaben/4006.maxima | 121 +++++++++++++++++++++ .../40-eigenwerte/uebungsaufgaben/4006.tex | 68 +++++++++++- 2 files changed, 187 insertions(+), 2 deletions(-) create mode 100644 buch/chapters/40-eigenwerte/uebungsaufgaben/4006.maxima (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.maxima b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.maxima new file mode 100644 index 0000000..9c97a2b --- /dev/null +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.maxima @@ -0,0 +1,121 @@ +/* + * 4006.maxima + * + * (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule + */ + +A: matrix([ a+b*%i, 1, 0, 0 ], + [ 0, a+b*%i, 0, 0 ], + [ 0, 0, a-b*%i, 1 ], + [ 0, 0, 0, a-b*%i ]); + +expand(charpoly(A, x)); + +S: (1/sqrt(2)) * matrix([ 1, -%i, 0, 0 ], + [ 0, 0, 1, -%i ], + [ 1, %i, 0, 0 ], + [ 0, 0, 1, %i ]); + +B: expand(invert(S).A.S); + + +C: subst(2, a, B); +C: subst(3, b, C); +A: subst(2, a, A); +A: subst(3, b, A); + +U: matrix([ 1, 0, 1, 0 ], + [ 0, 1, 1, 2 ], + [ 0, 0, 1, 0 ], + [ 0, 0, 0, 1 ]); +V: matrix([ 1, 0, 0, 0 ], + [ 0, 1, 0, 0 ], + [ 0, 1, 1, 0 ], + [ 1, 0, 0, 1 ]); +T: U.V; +invert(T); + +D: T.C.invert(T); + +p: expand(charpoly(D, x)); + +factor(p); + +lambda: 2+3*%i; + +Dlambda: ratsimp(expand(D - lambda * identfor(D))); +rank(Dlambda); +/* D2: expand(Dlambda.Dlambda); */ +/* rank(D2); */ + +load(functs); + +/* +E: Dlambda; +E[1]: (rational(1/E[1,1]))*E[1]$ +E[2]: E[2] - E[2,1] * E[1]$ +E[3]: E[3] - E[3,1] * E[1]$ +E[4]: E[4] - E[4,1] * E[1]$ +E: ratsimp(E)$ + +E[2]: (rational(1/E[2,2])) * E[2]$ +E[3]: E[3] - E[3,2] * E[2]$ +E[4]: E[4] - E[4,2] * E[2]$ +E: ratsimp(E)$ + +E[3]: (rational(1/E[3,3])) * E[3]$ +E[4]: E[4] - E[4,3] * E[3]$ +E: ratsimp(E)$ + +E[2]: E[2] - E[2,3] * E[3]$ +E[1]: E[1] - E[1,3] * E[3]$ +E: ratsimp(E)$ + +E[1]: E[1] - E[1,2] * E[2]$ +E: ratsimp(E)$ + +E; +*/ + +b1: matrix([1+%i],[2+2*%i],[%i],[1]); +ratsimp(D.b1 - lambda*b1); + +G: Dlambda; +G: addcol(G, b1); +G[1]: (rational(1/G[1,1]))*G[1]$ +G[2]: G[2] - G[2,1] * G[1]$ +G[3]: G[3] - G[3,1] * G[1]$ +G[4]: G[4] - G[4,1] * G[1]$ +G: ratsimp(G)$ + +G[2]: (rational(1/G[2,2])) * G[2]$ +G[3]: G[3] - G[3,2] * G[2]$ +G[4]: G[4] - G[4,2] * G[2]$ +G: ratsimp(G)$ + +G[3]: (rational(1/G[3,3])) * G[3]$ +G[4]: G[4] - G[4,3] * G[3]$ +G: ratsimp(G)$ + +G[2]: G[2] - G[2,3] * G[3]$ +G[1]: G[1] - G[1,3] * G[3]$ +G: ratsimp(G)$ + +G[1]: G[1] - G[1,2] * G[2]$ +G: ratsimp(G)$ + +G; + +b2: matrix([ G[1,5] ], [ G[2,5] ], [ G[3,5] ], [ G[4,5] ]); + +expand(D.b2 - lambda * b2 - b1); + +c1: 2 * realpart(b1); +d1: 2 * imagpart(b1); +c2: 2 * realpart(b2); +d2: 2 * imagpart(b2); + +D.c1 - 2 * c1 + 3 * d1; +D.d1 - 3 * c1 - 2 * d1; +D.c2 - 2 * c2 + 3 * d2 - c1; +D.d2 - 3 * c2 - 2 * d2 - d1; diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex index 63858b7..9152ede 100644 --- a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex @@ -20,7 +20,7 @@ Das charakteristische Polynom der Matrix ist \] Es hat die doppelten Nullstellen \[ -\lambda +\lambda_\pm = 2\pm \sqrt{4-13} = @@ -28,6 +28,70 @@ Es hat die doppelten Nullstellen = 2\pm 3i. \] -Zur Bestimmung +Zur Bestimmung der Basis muss man jetzt zunächst den Kern von +$A_+=A-\lambda_+I$ bestimmen, zum Beispiel mit Hilfe des Gauss-Algorithmus, +man findet +\[ +b_1 += +\begin{pmatrix} +1+i\\ +2+2i\\ +i\\ +1 +\end{pmatrix} +\] +Als nächstes braucht man einen Vektor $b_1\in \ker A_+^2$, der +$b_1$ auf $b_1+\lambda_+b_2$ abbildet. +Durch Lösen des Gleichungssystems $Ab_2-\lambda b_2=b_1$ findet man +\[ +b_2 += +\begin{pmatrix} +2-i\\3\\2\\0 +\end{pmatrix} +\qquad\text{und damit weiter}\qquad +\overline{b}_1 += +\begin{pmatrix} +1-i\\ +2-2i\\ +-i\\ +1 +\end{pmatrix},\quad +\overline{b}_2 += +\begin{pmatrix} +2+i\\3\\2\\0 +\end{pmatrix}. +\] +Als Basis für die reelle Normalform von $A$ kann man jetzt die Vektoren +\begin{align*} +c_1 +&= +b_1+\overline{b}_1 = \begin{pmatrix}2\\4\\0\\2\end{pmatrix},& +d_1 +&= +\frac{1}{i}(b_1-\overline{b}_1) = \begin{pmatrix}2\\4\\2\\0\end{pmatrix},& +c_2 +&= +b_2+\overline{b}_2 = \begin{pmatrix}4\\6\\4\\0\end{pmatrix},& +d_2 +&= +\frac{1}{i}(b_2-\overline{b}_2) = \begin{pmatrix}-2\\0\\0\\0\end{pmatrix}. +\end{align*} +verwenden. +In dieser Basis hat $A$ die Matrix +\[ +A' += +\begin{pmatrix} + 2& 3& 1& 0\\ +-3& 2& 0& 1\\ + 0& 0& 2& 3\\ + 0& 0&-3& 2 +\end{pmatrix}, +\] +wie man einfach nachrechnen kann. \end{loesung} -- cgit v1.2.1 From 07c9ffa51ec328b1a344970bb8b875b5bbe58be2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 3 May 2021 20:56:49 +0200 Subject: typo --- buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex index 9152ede..b162f0f 100644 --- a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex @@ -78,7 +78,7 @@ c_2 b_2+\overline{b}_2 = \begin{pmatrix}4\\6\\4\\0\end{pmatrix},& d_2 &= -\frac{1}{i}(b_2-\overline{b}_2) = \begin{pmatrix}-2\\0\\0\\0\end{pmatrix}. +\frac{1}{i}(b_2-\overline{b}_2) = \begin{pmatrix}-2\\0\\0\\0\end{pmatrix} \end{align*} verwenden. In dieser Basis hat $A$ die Matrix -- cgit v1.2.1 From 2140a3c82f6c531a6b2a2f837a03788f519eb0f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 3 May 2021 20:58:07 +0200 Subject: typo --- buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex index b162f0f..a2fcca1 100644 --- a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex @@ -39,7 +39,7 @@ b_1 2+2i\\ i\\ 1 -\end{pmatrix} +\end{pmatrix}. \] Als nächstes braucht man einen Vektor $b_1\in \ker A_+^2$, der $b_1$ auf $b_1+\lambda_+b_2$ abbildet. -- cgit v1.2.1 From 1209527c93f5696af0c5192c89e1736c84a3f54a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 3 May 2021 20:59:24 +0200 Subject: typo --- buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex index a2fcca1..d3dd0f6 100644 --- a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex @@ -43,7 +43,7 @@ i\\ \] Als nächstes braucht man einen Vektor $b_1\in \ker A_+^2$, der $b_1$ auf $b_1+\lambda_+b_2$ abbildet. -Durch Lösen des Gleichungssystems $Ab_2-\lambda b_2=b_1$ findet man +Durch Lösen des Gleichungssystems $Ab_2-\lambda_+ b_2=b_1$ findet man \[ b_2 = -- cgit v1.2.1 From fa40b4ee94125720a16f24f291de941a3f6ca4d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 3 May 2021 21:02:02 +0200 Subject: typos --- buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'buch') diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex index d3dd0f6..7ccc065 100644 --- a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex @@ -1,11 +1,11 @@ Man findet eine Basis, in der die Matrix \[ -A=\begin{pmatrix} +A=\begin{pmatrix*}[r] -5& 2& 6& 0\\ -11& 12& -3& -15\\ -7& 0& 9& 4\\ 0& 5& -7& -8 -\end{pmatrix} +\end{pmatrix*} \] die relle Normalform bekommt. @@ -85,12 +85,12 @@ In dieser Basis hat $A$ die Matrix \[ A' = -\begin{pmatrix} +\begin{pmatrix*}[r] 2& 3& 1& 0\\ -3& 2& 0& 1\\ 0& 0& 2& 3\\ 0& 0&-3& 2 -\end{pmatrix}, +\end{pmatrix*}, \] wie man einfach nachrechnen kann. \end{loesung} -- cgit v1.2.1 From 8dc8c7a998d5a2862df90adc8b45d025e692d2d1 Mon Sep 17 00:00:00 2001 From: "User-PC\\User" Date: Wed, 5 May 2021 14:09:44 +0200 Subject: =?UTF-8?q?Arbeiten=20am=20Kapitel,=20zur=20Probe,=20weiteren=20Zu?= =?UTF-8?q?sammenarbeit,=20sodass=20Roy=20Seitz=20es=20einsehen=20k=C3=B6n?= =?UTF-8?q?nte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/papers/spannung/Einleitung.tex | 91 +++++++++++++++++++++ .../Grafiken/infinitesimalerW\303\274rfel.jpg" | Bin 0 -> 31604 bytes buch/papers/spannung/teil0.tex | 53 +++++++----- buch/papers/spannung/teil1.tex | 77 +++++++---------- buch/papers/spannung/teil2.tex | 48 +++-------- 5 files changed, 164 insertions(+), 105 deletions(-) create mode 100644 buch/papers/spannung/Einleitung.tex create mode 100644 "buch/papers/spannung/Grafiken/infinitesimalerW\303\274rfel.jpg" (limited to 'buch') diff --git a/buch/papers/spannung/Einleitung.tex b/buch/papers/spannung/Einleitung.tex new file mode 100644 index 0000000..17ca1c9 --- /dev/null +++ b/buch/papers/spannung/Einleitung.tex @@ -0,0 +1,91 @@ +\section{Einleitung\label{spannung:section:Einleitung}} +In diesem Kapitel geht es darum die Matrix im dreidimensionalen Spannungszustand genauer zu untersuchen. +In der Geotechnik wendet man solche Matrizen an, um Spannungen im Boden zu berechnen. +Mit diesen Grundlagen dimensioniert man beispielsweise Böschungen, Fundationen, Dämme und Tunnels. +Ebenfalls benötigt man diese Matrix, um aus Versuchen Kennzahlen über den anstehenden Boden zu gewinnen. +Besonderes Augenmerk liegt dabei auf dem Oedometer - Versuch. + +Bei dieser Untersuchung der zugehörigen Berechnungen hat man es mit Vektoren, Matrizen und Tensoren zu tun. +Um die mathematische Untersuchung vorzunehmen, beschäftigt man sich zuerst mit den spezifischen Gegebenheiten und Voraussetzungen. +Ebenfalls gilt es ein paar wichtige Begriffe und deren mathematisches Zeichen einzuführen, +damit sich den Berechnungen schlüssig folgen lässt. + +In diesem Kapitel hat man es insbesondere mit Spannungen und Dehnungen zu tun. +Mit einer Spannung ist hier jedoch keine elektrische Spannung gemeint, +sondern eine Kraft geteilt durch Fläche. + +\section{Einführung wichtige Begriffe\label{spannung:section:Wichtige Begriffe}} +\[ +\l += +Ausgangslänge\enspace[m] +\] +\[ +\Delta l += +Längenänderung\enspacenach\enspaceKraftauftrag\enspace[m] +\] +\[ +\varepsilon += +Dehnung\enspace[-] +\] +\[ +\sigma += +Spannung\enspace[kPa] +\] +\[ +E += +Elastizitätsmodul +\] +\[ +F += +Kraft\enspace[kN] +\] +\[ +A += +Fläche\enspace[m^2] +\] +\[ +t += +Tiefe\enspace[m] +\] +\[ +s += +Setzung,\enspaceAbsenkung\enspace[m] +\] + +Beziehungen +\[ +\varepsilon += +\frac{\Delta l}{l_0} +\] +\[ +\varepsilon_q += +\frac{\Delta b}{l_0} += +\varepsilon_\upsilon +\] +\[ +\sigma += +\frac{N}{A} +\] +\[ +N += +\int_{A} \sigma \dA +\] +\[ +\varepsilon^{\prime} += +\frac{1}{l_0}\] + diff --git "a/buch/papers/spannung/Grafiken/infinitesimalerW\303\274rfel.jpg" "b/buch/papers/spannung/Grafiken/infinitesimalerW\303\274rfel.jpg" new file mode 100644 index 0000000..e3875bb Binary files /dev/null and "b/buch/papers/spannung/Grafiken/infinitesimalerW\303\274rfel.jpg" differ diff --git a/buch/papers/spannung/teil0.tex b/buch/papers/spannung/teil0.tex index cf47a18..ee19778 100644 --- a/buch/papers/spannung/teil0.tex +++ b/buch/papers/spannung/teil0.tex @@ -1,22 +1,37 @@ -% -% einleitung.tex -- Beispiel-File für die Einleitung -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 0\label{spannung:section:teil0}} -\rhead{Teil 0} -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua \cite{spannung:bibtex}. -At vero eos et accusam et justo duo dolores et ea rebum. -Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum -dolor sit amet. +\section{Spannungsausbreitung\label{spannung:section:Spannungsausbreitung}} +\rhead{Spannungsausbreitung} +Anhand untenstehendem Bild kann ein einfaches Beispiel betrachtet werden. +Es gibt eine Kraft, diese wird auf den Boden abgetragen. +Diese Kraft muss dann vom Boden aufgenommen werden. +Im Boden entsteht eine Spannung. Diese Spannung ist abhängig von $\sigma(x,y,t)$ +Je nach dem, wo man sich im Boden befindet variert die Spannung. +Mit der Tiefe wird die Spannung geringer. +Die Ausbreitung der Spannung im Boden hat die Form einer Zwiebel. +Durch Untersuchung der Spannung an verschiedenen Punkten im Boden, kann man eine Funktion abtragen. +Dasselbe macht man auch mit der Dehnung. Es zeigt sich, dass die Form der beiden Funktionen gleich ist. +Dies erklärt sich dadurch, dass die Spannung und die Dehnung proportional sind zueinander sind. -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua. -At vero eos et accusam et justo duo dolores et ea rebum. Stet clita -kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit -amet. +Anhand eines etwas schwierigeren Beispiels sieht man, +dass die Spannungsausbreitung nicht immer ganz einfach ist. +Man hat hier eine Baugrube mit einem Baugrubenabschluss, wo ein Teil des Bodens abgetragen wurde. +Was aber immer noch gilt ist, dass die Spannung von drei Variablen abhängig ist. $\sigma(x,y,t)$ +Ansätze um die Spannungsausbreitung zu berechnen gibt es je nach Bodentyp verschiedene. + +Die Spannungsausbreitung ist uns jedoch gegeben, es geht nicht darum, dies genauer zu untersuchen. +Durch die Spannungsausbreitung und das Elastizitätsmodul kann man eine Dehnung berechnen. +Anhand dieser Dehnung kann man mit einem Integral wiederum die Setzung berechnen. +\[ +\varepsilon += +\frac{\sigma}{E} +\] +\[ +s += +\int_{\0}^{\infty} \varepsilon \dt +\] +Die Setzung zu bestimmen ist in der Geotechnik sehr wichtig. +Besonders ungleichmässige Setzungen können bei Bauwerken Probleme ergeben. +Es gilt also die Bauwerke so zu dimensionieren, dass es verträgliche Setzungen gibt. diff --git a/buch/papers/spannung/teil1.tex b/buch/papers/spannung/teil1.tex index 95e6f0a..70dbb5a 100644 --- a/buch/papers/spannung/teil1.tex +++ b/buch/papers/spannung/teil1.tex @@ -1,55 +1,34 @@ -% -% teil1.tex -- Beispiel-File für das Paper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 1 -\label{spannung:section:teil1}} -\rhead{Problemstellung} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. -Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -aut fugit, sed quia consequuntur magni dolores eos qui ratione -voluptatem sequi nesciunt -\begin{equation} -\int_a^b x^2\, dx +\section{Proportionalität Spannung-Dehnung\label{spannung:section:Proportionalität Spannung-Dehnung}} +\rhead{Proportionalität Spannung-Dehnung} +Das Hooksche Gesetz beschreibt die elastische Längenänderung von Festkörpern im Zusammenhang mit einer Krafteinwirkung. +Die Längenänderung $\delta l$ ist proportional zur Krafteinwirkung. +$F\sim \Delta l$ +Man kann dies nur im Bereich vom linearen elastischen Materialverhalten anwenden. +Das heisst das alle Verformungen reversibel sind, sobald man die Kraft wegnimmt. +Es findet somit keine dauernde Verformung statt. +Da es sehr praktisch ist die Längenänderung nicht absolut auszudrücken haben wir $\varepsilon$. +$\varepsilon$ beschreibt die relative Längenänderung. +$\varepsilon$ ist wiederum proportional zu der aufgebrachten Spannung. +Im Bauingenieurwesen hat man es oft mit grösseren Teilen oder Grösseren Betrachtungsräumen zu tun. +Da ist es nun natürlich sehr sinnvoll, wenn wir nicht mit absoluten Zahlen rechnen, +sondern unabhängig von der Länge den Zustand mit Epsilon beschreiben können. +Mithilfe vom E-Modul, (steht für Elastizitätsmodul) einer Proportionalitätskonstante, +kann man das in eine Gleichung bringen, wie man hier sieht. Das E-Modul beschreibt, +das Verhältnis von Kraftaufnahme eines Werkstoffes und dessen zusammenhängender Längenveränderung. +\[ +E = -\left[ \frac13 x^3 \right]_a^b +\frac{\Delta\sigma}{\Delta\varepsilon} = -\frac{b^3-a^3}3. -\label{spannung:equation1} -\end{equation} -Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -consectetur, adipisci velit, sed quia non numquam eius modi tempora -incidunt ut labore et dolore magnam aliquam quaerat voluptatem. +const. +\] -Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -Quis autem vel eum iure reprehenderit qui in ea voluptate velit -esse quam nihil molestiae consequatur, vel illum qui dolorem eum -fugiat quo voluptas nulla pariatur? +Aus diesem Verhältnis kann man das E-Modul berechnen. +Je nach Material ist dies verschieden. +Das E-Modul lässt sich nur im linearen-elastischen Materialverhalten anwenden. +Für Bodenmaterial gibt es ein spezielles E-Modul. Dieses wird mit dem Oedometerversuch ermittelt. +Es wird mit $E_{OED}$ ausgedrückt. Dieser Versuch wird später noch beschrieben. +Der Oedometerversuch ist abhängig von den diesem Kapitel zu untersuchenden Matrizen. -\subsection{De finibus bonorum et malorum -\label{spannung:subsection:finibus}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. - -Et harum quidem rerum facilis est et expedita distinctio -\ref{spannung:section:loesung}. -Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -impedit quo minus id quod maxime placeat facere possimus, omnis -voluptas assumenda est, omnis dolor repellendus -\ref{spannung:section:folgerung}. -Temporibus autem quibusdam et aut officiis debitis aut rerum -necessitatibus saepe eveniet ut et voluptates repudiandae sint et -molestiae non recusandae. -Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -voluptatibus maiores alias consequatur aut perferendis doloribus -asperiores repellat. diff --git a/buch/papers/spannung/teil2.tex b/buch/papers/spannung/teil2.tex index 37d3242..8eb54cb 100644 --- a/buch/papers/spannung/teil2.tex +++ b/buch/papers/spannung/teil2.tex @@ -1,40 +1,14 @@ -% -% teil2.tex -- Beispiel-File für teil2 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 2 -\label{spannung:section:teil2}} -\rhead{Teil 2} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? +\section{Dreiachsiger Spannungszustand\label{spannung:section:Dreiachsiger Spannungszustand}} +\rhead{Proportionalität Spannung-Dehnung} +Wie im Kapitel Spannungsausbreitung beschrieben herrscht in jedem Punkt ein anderer Spannungszustand. +Um die Spannung im Boden genauer untersuchen zu können für man einen infinitesimalen Würfel ein. +\begin{figure} + \includegraphics{C:/Users/User/Documents/SeminarMatrizen/buch/papers/spannung/Grafiken/infinitesimalerWürfel.jpg} + \caption{infinitesimaler Würfel} + \label{fig:infintesimaler-wurfel} +\end{figure} -\subsection{De finibus bonorum et malorum -\label{spannung:subsection:bonorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. +Sobald eine Kraft von oben wirkt hat man auch Kräfte die seitlich wirken. +Nun alle Kräfte ansehen des Infintesimalen Körpers -- cgit v1.2.1 From ba3f083a0f2fc351842f2b5755408cbb8e7d3d81 Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Wed, 5 May 2021 14:54:25 +0200 Subject: Dateipfade korrigiert. --- buch/papers/erdbeben/teil1.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'buch') diff --git a/buch/papers/erdbeben/teil1.tex b/buch/papers/erdbeben/teil1.tex index 460d871..6e6f5ff 100644 --- a/buch/papers/erdbeben/teil1.tex +++ b/buch/papers/erdbeben/teil1.tex @@ -53,7 +53,7 @@ Der Kalman Filter versucht nichts anderes, als ein geeigneter Wert zwischen zwei \begin{figure}[h] \begin{center} - \includegraphics[width=5cm]{Gausskurve2} + \includegraphics[width=5cm]{papers/erdbeben/Gausskurve2} \caption{Zwei Gauss-Verteilungen} \end{center} \end{figure} @@ -79,7 +79,7 @@ Dadurch gleicht sich die neue Kurve den anderen an. Interessant daran ist, dass \begin{figure}[h] \begin{center} - \includegraphics[width=5cm]{Gausskurve3} + \includegraphics[width=5cm]{papers/erdbeben/Gausskurve3} \caption{Produkt der Gauss-Verteilungen} \end{center} \end{figure} @@ -95,7 +95,7 @@ Der Seismograph besteht im Grunde aus einer Federgelagerten Masse. Wirkt eine Bo 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 linearer Kalman Filter implementiert werden. Da der Kalman Filter besonders effektiv und einfach für lineare Abläufe geeignet ist, würde eine Zweidimensionale Betrachtung den Rahmen dieser Arbeit sprengen. \begin{figure}[h] \begin{center} - \includegraphics[width=10cm]{Apperatur} + \includegraphics[width=10cm]{papers/erdbeben/Apperatur} \caption{System} \end{center} \end{figure} -- cgit v1.2.1 From 7e0ff2bb2c5bff80e4eb92104011b18a7e99b844 Mon Sep 17 00:00:00 2001 From: Lukaszogg <82384106+Lukaszogg@users.noreply.github.com> Date: Wed, 5 May 2021 15:19:45 +0200 Subject: Neue Version --- buch/papers/erdbeben/Auszug1.pdf | Bin 276468 -> 0 bytes buch/papers/erdbeben/Gausskurve2.jpg | Bin 28088 -> 0 bytes buch/papers/erdbeben/Gausskurve2.pdf | Bin 0 -> 26978 bytes buch/papers/erdbeben/Gausskurve2.tex | 39 ++++++++++++++ buch/papers/erdbeben/Gausskurve3.jpg | Bin 31448 -> 0 bytes buch/papers/erdbeben/Gausskurve3.pdf | Bin 0 -> 27445 bytes buch/papers/erdbeben/Gausskurve3.tex | 47 +++++++++++++++++ buch/papers/erdbeben/teil1.tex | 96 +++++++++++++++++++++-------------- 8 files changed, 143 insertions(+), 39 deletions(-) delete mode 100644 buch/papers/erdbeben/Auszug1.pdf delete mode 100644 buch/papers/erdbeben/Gausskurve2.jpg create mode 100644 buch/papers/erdbeben/Gausskurve2.pdf create mode 100644 buch/papers/erdbeben/Gausskurve2.tex delete mode 100644 buch/papers/erdbeben/Gausskurve3.jpg create mode 100644 buch/papers/erdbeben/Gausskurve3.pdf create mode 100644 buch/papers/erdbeben/Gausskurve3.tex (limited to 'buch') diff --git a/buch/papers/erdbeben/Auszug1.pdf b/buch/papers/erdbeben/Auszug1.pdf deleted file mode 100644 index 1755a09..0000000 Binary files a/buch/papers/erdbeben/Auszug1.pdf and /dev/null differ diff --git a/buch/papers/erdbeben/Gausskurve2.jpg b/buch/papers/erdbeben/Gausskurve2.jpg deleted file mode 100644 index 5c0f441..0000000 Binary files a/buch/papers/erdbeben/Gausskurve2.jpg and /dev/null differ diff --git a/buch/papers/erdbeben/Gausskurve2.pdf b/buch/papers/erdbeben/Gausskurve2.pdf new file mode 100644 index 0000000..bee3bc0 Binary files /dev/null and b/buch/papers/erdbeben/Gausskurve2.pdf differ diff --git a/buch/papers/erdbeben/Gausskurve2.tex b/buch/papers/erdbeben/Gausskurve2.tex new file mode 100644 index 0000000..44319c3 --- /dev/null +++ b/buch/papers/erdbeben/Gausskurve2.tex @@ -0,0 +1,39 @@ +\documentclass{standalone} + +\usepackage{pgfplots} + +\pgfplotsset{compat = newest} + +\begin{document} + + +\begin{tikzpicture} + + +\begin{axis}[ + xmin = -1, xmax = 4, + ymin = -0.5, ymax = 2.50, + axis lines = center, + xlabel = $\sigma$, + ylabel = {$\mu$}, +] + +\addplot [ + domain=-2:5, + samples=200, + color=orange, +] +{(1/(2*pi*0.2^2)^0.2)*exp(-(x-2)^2/(2*0.2^2))}; + +\addplot [ + domain=-2:5, + samples=200, + color=blue, + ] + {1/(2*pi*0.5^2)^0.5)*exp(-(x-0.9)^2/(2*0.5^2))}; + +\end{axis} +\end{tikzpicture} + + +\end{document} \ No newline at end of file diff --git a/buch/papers/erdbeben/Gausskurve3.jpg b/buch/papers/erdbeben/Gausskurve3.jpg deleted file mode 100644 index ee6b339..0000000 Binary files a/buch/papers/erdbeben/Gausskurve3.jpg and /dev/null differ diff --git a/buch/papers/erdbeben/Gausskurve3.pdf b/buch/papers/erdbeben/Gausskurve3.pdf new file mode 100644 index 0000000..e86a403 Binary files /dev/null and b/buch/papers/erdbeben/Gausskurve3.pdf differ diff --git a/buch/papers/erdbeben/Gausskurve3.tex b/buch/papers/erdbeben/Gausskurve3.tex new file mode 100644 index 0000000..85455ef --- /dev/null +++ b/buch/papers/erdbeben/Gausskurve3.tex @@ -0,0 +1,47 @@ +\documentclass{standalone} + +\usepackage{pgfplots} + +\pgfplotsset{compat = newest} + +\begin{document} + + +\begin{tikzpicture} + + +\begin{axis}[ + xmin = -1, xmax = 4, + ymin = -0.5, ymax = 2.50, + axis lines = center, + xlabel = $\sigma$, + ylabel = {$\mu$}, +] + +\addplot [ + domain=-2:5, + samples=200, + color=orange, +] +{(1/(2*pi*0.2^2)^0.2)*exp(-(x-2)^2/(2*0.2^2))}; + +\addplot [ + domain=-2:5, + samples=200, + color=blue, + ] + {1/(2*pi*0.5^2)^0.5)*exp(-(x-0.9)^2/(2*0.5^2))}; + +\addplot [ + domain=-2:5, + samples=200, + color=red, + ] + {((1/(2*pi*0.5^2)^0.5)*exp(-(x-0.9)^2/(2*0.5^2))*(1/(2*pi*0.2^2)^0.2)*exp(-(x-2)^2/(2*0.2^2)))/0.1}; + + +\end{axis} +\end{tikzpicture} + + +\end{document} \ No newline at end of file diff --git a/buch/papers/erdbeben/teil1.tex b/buch/papers/erdbeben/teil1.tex index 460d871..71f29e8 100644 --- a/buch/papers/erdbeben/teil1.tex +++ b/buch/papers/erdbeben/teil1.tex @@ -46,21 +46,25 @@ \section{Kalman Filter} \subsection{Geschichte} -Der 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. Der Filter schätzt den Zustand eines Systems anhand von Messungen und kann den nächsten Zustand erraten. Somit unterscheidet er sich von anderen Filtern, seine Schätzungen basieren auf statistischen Grundlagen. 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. +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} -Der 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 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. -\begin{figure}[h] + + +\begin{figure} \begin{center} - \includegraphics[width=5cm]{Gausskurve2} - \caption{Zwei Gauss-Verteilungen} + \includegraphics[width=5cm]{papers/erdbeben/Gausskurve2.pdf} + \caption{System} \end{center} \end{figure} -Um eine genauere Schätzung des Zustandes zu machen wird nun ein Wert zwischen den beiden Verteilungen gesucht. An diesem Punkt wird nun eine Eigenschaft ausgenutzt. Durch das Multiplizieren zweier Normal-Verteilungen entsteht eine neue Normal-Verteilung. -Wir haben eine Normalverteilung der Vorhersage: + +Um eine genauere Schätzung des Zustandes zu machen, wird nun ein Wert zwischen den beiden Verteilungen gesucht. An diesem Punkt wird nun eine Eigenschaft ausgenutzt. Durch das Multiplizieren zweier Normalverteilungen entsteht eine neue Normalverteilung. + +Wir haben eine Normalverteilung der Vorhersage: \begin{equation} {y_1}(x;{\mu_1},{\sigma_1})=\frac{1}{\sqrt{2\pi\sigma_1^2}}\quad e^{-\frac{(x-{\mu_1})^2}{2{\sigma_1}^2}} \end{equation} @@ -77,12 +81,15 @@ Diesen werden nun Multipliziert und durch deren Fläche geteilt um sie wieder zu 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}[h] + +\begin{figure} \begin{center} - \includegraphics[width=5cm]{Gausskurve3} - \caption{Produkt der Gauss-Verteilungen} + \includegraphics[width=5cm]{papers/erdbeben/Gausskurve3.pdf} + \caption{System} \end{center} \end{figure} + + 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} @@ -91,11 +98,12 @@ Nicht lineare Systeme %Noch nicht Fertig \section{Aufbau} Um ein Erdbeben kenntlich zumachen werden in der Regel Seismographen mit vielen Sensoren verwendet. -Der Seismograph besteht im Grunde aus einer Federgelagerten Masse. Wirkt eine Bodenerregung auf das Gerat 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 linearer Kalman Filter implementiert werden. Da der Kalman Filter besonders effektiv und einfach für lineare Abläufe geeignet ist, würde eine Zweidimensionale Betrachtung den Rahmen dieser Arbeit sprengen. -\begin{figure}[h] +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. + +\begin{figure} \begin{center} - \includegraphics[width=10cm]{Apperatur} + \includegraphics[width=5cm]{papers/erdbeben/Apperatur} \caption{System} \end{center} \end{figure} @@ -105,12 +113,13 @@ Wir konstruieren uns eine einfachere Version eines Seismographen, welcher rein M 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 der Kalman Filter zum schätzen des nächsten Zustand verwendet werden kann, wird eine Gleichung welche das System beschreibt. Im Fall unseres Seismographen kann der die Differentialgleichung zweiter Ordnung einer Erzwungene Schwingung am harmonischen Oszillator verwendet werden. Diese lautet: +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: \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 die Systemmatrix umzuwandeln, wird aus der Differentialgleichung zweiter Ordnung durch eine Substitution eine DGL erster Ordnung: +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 @@ -126,8 +135,12 @@ m{x_3}+ 2k{x_2} + D{x_1} = f\qquad \mid \quad \text {DGL 1. Ordnung} \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. + -Um die lineare Differentialgleichung in in den Kalman Filter zu Implementieren, muss dieses als Vektor-Gleichung umgewandelt werden. Dafür wird die Gleichung abgeleitet 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 (äusseren Beschleunigung). In unserem Fall wird die äussere Beschleunigung gesucht, da diese der Erdbeben Anregung gleich kommt. \begin{equation} \frac{d}{dt} \left(\begin{array}{c} {x_1} \\ {x_2} \end{array}\right) = \left( \begin{array}{ccc} @@ -146,20 +159,24 @@ Durch die Rücksubstituion ergibt sich: \end{equation} -Da die Kraft unbekannt ist, wird die letzte Teile mit Nullen bestückt, denn genau diese Werte wollen wir. +Da die Kraft unbekannt ist, wird die letzte Zeile später mit Nullen bestückt, denn genau diese Werte wollen wir. \section{Kalman Filter} -Um den Kalman Filter zu starten müssen gewisse Bedingungen definiert werden. In diesem Abschnitt werden die einzelnen Parameter/Matrizen erläutert und Erklärt, für was sie nützlich sind. +Um den Kalman Filter zu starten, müssen gewisse Bedingungen definiert werden. In diesem Abschnitt werden die einzelnen Parameter/Matrizen erläutert und Erklärt, wofür sie nützlich sind. + + \subsection{Anfangsbedingungen} \subsubsection*{Anfangszustand $x$} -Der Filter muss wissen wie das System startet. in unserem Fall is 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) \end{equation} \subsubsection*{Anfangsfehler / Kovarianzmatrix $P$} -Da auch der Anfangszustand fehlerhaft sein kann, wird für den Filter eine Kovarianzmatrix eingeführt. In unserem Fall ist der Anfangszustand gut Bekannt und die Matrix kann mit Nullen bestückt werden. Somit ergibt sich für die Kovarianzmatrix +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. +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} {P_0 }= \left( @@ -170,12 +187,12 @@ Da auch der Anfangszustand fehlerhaft sein kann, wird für den Filter eine Kovar \end{array} \right). \end{equation} -Wäre auch der Initialzustand fehlerhaft, könnte über die Diagonale die Kovarianz angegeben werden. -Diese Matrix geht am häufigsten durch den Filter. Sie wird für die Vorhersage und für den Korrekturschritt verwendet und verändert. Für einen gut bekannten Zustandsvektor können kleine Werte eingesetzt werden, für ungenaue Anfangsbedingungen sollten grosse Werte (1 Million) verwendet werden. Bei grossen Werten wird dem Filter die Möglichkeit gegeben, sich schnell einzupendeln. +Diese Matrix beschreibt die Unsicherheit des geschätzten Zustandes und wird sowohl für die Vorhersage als auch die Korrektur benötigt. Sie wird nach jeder Schätzung aktualisiert.. Für einen gut bekannten Zustandsvektor können kleine Werte eingesetzt werden, für ungenaue Anfangsbedingungen sollten grosse Werte (1 Million) verwendet werden. Grosse Werte ermöglichen dem Filter sich schnell einzupendeln. + \subsubsection*{Dynamikmatrix $A$} Die Dynamikmatrix bildet den Kern des Filters. Diese wurde weiter oben Bereits beschrieben. Dabei wollen wird die äussere Kraft des Systems ermitteln. -Da nichts über die äussere Kraft bekannt ist, können wir annehmen das deren Ableitung 0 ist. +Da nichts über die äussere Kraft bekannt ist, müssen wir annehmen das deren Ableitung 0 ist. Die System Vektor-Gleichung lautet daher: @@ -189,7 +206,7 @@ A = \left( \end{equation} \subsubsection*{Prozessrauschkovarianzmatrix $Q$} -Die Prozessrauschmatrix teilt dem Filter mit, wie der Systemzustand vom aktuellen zum nächsten Schritt gehen kann. Dabei wird wieder ein Fehler/Rauschen dazu gerechnet. Bei unserem Modell könnte das Beispielsweise ein Windstoss an die Masse sein. für uns wäre dies: +Die Prozessrauschmatrix teilt dem Filter mit, wie sich der Systemzustand verändert. Kalman-Filter berücksichtigen Unsicherheiten wie Messfehler und -rauschen. Bei unserem Modell könnte das beispielsweise ein Windstoss an die Masse sein. Für uns wäre dies: \begin{equation} Q = \left( \begin{array}{ccc} @@ -199,23 +216,23 @@ 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. +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. \subsubsection*{Messmatrix $H$} -Die Messmatrix gibt an, welcher Parameter gemessen werden soll. in unsrem Fall ist es nur die Position der Masse. -\begin{equation} -H= ( \: \: 1 \: \:0 \: \:0 \: \:) -\end{equation} +Die Messmatrix gibt an, welcher Parameter gemessen werden soll. In unserem Fall 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 Messesensoren. In unserem Fall wird nur die Position der Masse gemessen. Da wir keine anderen Sensoren haben, welche etwas messen kürzt sich diese einfach zu +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: \begin{equation} -R= ({\sigma_x}^2)\: \: ab. +R= ({\sigma_x}^2). \end{equation} Diese Messrauchen wird meistens vom Sensorhersteller angegeben. Für unsere Theoretische Apparatur wird hier ein kleiner Fehler eingesetzt. \subsection{Fiter Algorithmus} -Nachdem alle Parameter aufgestellt sind, wird der Filter initialisiert und Versucht nun den Zustand der Feder Vorherzusagen, die Messung zu Präzisieren und laufend zu Aktualisieren. Dank der fortlaufender Messung Bleibt die Schätzung des Filters immer relativ genau. In diesem Abschnitt werden alle Rechenschritte, welche über die ganze Zeitdauer läuft und stetig aktualisiert wird, aufgezeigt und Aktualisiert. +Nachdem alle Parameter aufgestellt sind, wird der Filter initialisiert und wird den Zustand der Feder vorherzusagen, die Messung zu präzisieren und laufend zu aktualisieren. Das Filter berechnet aufgrund der aktuellen Schätzung eine Vorhersage. Diese wird, sobald verfügbar, mit der Messung verglichen. Aus dieser Differenz und den Unsicherheiten des Prozesses ($Q$) und der Messung ($R$) wird der wahrscheinlichste, neue Zustand geschätzt. \subsubsection*{Vorhersage} @@ -225,21 +242,22 @@ Im Filterschritt Vorhersage wird der nächste Zustand anhand des Anfangszustand \end{equation} -Die Kovarianz $P_{pred}$ wird im nächsten Schritt 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 - +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}}=A\cdot P\cdot A^{\prime}+Q. +{P_{pred}}=APA^T+Q. \end{equation} -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 gewählt, ist der Unterschied gross, wird der Filter auch die Kovarianz grösser wählen. Er passt sich selber an und korrigiert sich bei grosser Abweichung. +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. \subsubsection*{Messen} -Der Sensor wurde noch nicht benutz, doch genau der liefert Werte für den Filter. Die aktuellen Messwerte $Z$ werden die Innovation $w$ mit dem Zustandsvektor $x$ und der Messmatrix $H$ zusammengerechnet. +Der Sensor wurde noch nicht benutz, doch genau der liefert Werte für den Filter. Die aktuellen Messwerte $z$ werden die Innovation $w$ mit dem Zustandsvektor $x$ und der Messmatrix $H$ zusammengerechnet. Hier bei wird lediglich die Messung mit dem Fehler behaftet, und die Messmatrix $H$ \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. + Im nächsten Schritt wir analysiert, mit welcher Kovarianz weiter gerechnet wird. \subsubsection*{Korrigieren} -- cgit v1.2.1 From 30ce93a22822c6ad6e0087a28bcf5abb6de947e2 Mon Sep 17 00:00:00 2001 From: Lukaszogg <82384106+Lukaszogg@users.noreply.github.com> Date: Wed, 5 May 2021 15:48:48 +0200 Subject: Update teil1.tex --- buch/papers/erdbeben/teil1.tex | 40 +++------------------------------------- 1 file changed, 3 insertions(+), 37 deletions(-) (limited to 'buch') diff --git a/buch/papers/erdbeben/teil1.tex b/buch/papers/erdbeben/teil1.tex index 71f29e8..0d21f84 100644 --- a/buch/papers/erdbeben/teil1.tex +++ b/buch/papers/erdbeben/teil1.tex @@ -8,39 +8,6 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\documentclass[11pt,a4paper]{article} - -\usepackage[utf8]{inputenc} -\usepackage{graphicx} -\usepackage{german} - -\usepackage{amsmath} -\pagestyle{myheadings} -\pagenumbering{arabic} - -\setlength{\textwidth}{15cm} -\setlength{\textheight}{22cm} -\setlength{\topmargin}{-1cm} -\setlength{\oddsidemargin}{0,5cm} -\setlength{\parindent}{0cm} -\setlength{\headsep}{1,5cm} - - -\begin{titlepage} % Titelseite einrichten -\title{\bf {Beispieldatei}} - -\author{\vspace{2cm} - Autor} - -\date{\vspace{3cm} % Datumsfeld einrichten - letzte Aktualisierung: \today} - -\thispagestyle{empty} % Die Titelseite soll keine Seitenzahl bekommen...[1] -\end{titlepage} - - - -\begin{document} @@ -232,7 +199,7 @@ R= ({\sigma_x}^2). Diese Messrauchen wird meistens vom Sensorhersteller angegeben. Für unsere Theoretische Apparatur wird hier ein kleiner Fehler eingesetzt. \subsection{Fiter Algorithmus} -Nachdem alle Parameter aufgestellt sind, wird der Filter initialisiert und wird den Zustand der Feder vorherzusagen, die Messung zu präzisieren und laufend zu aktualisieren. Das Filter berechnet aufgrund der aktuellen Schätzung eine Vorhersage. Diese wird, sobald verfügbar, mit der Messung verglichen. Aus dieser Differenz und den Unsicherheiten des Prozesses ($Q$) und der Messung ($R$) wird der wahrscheinlichste, neue Zustand geschätzt. +Nachdem alle Parameter aufgestellt sind, wird der Filter initialisiert und wird den Zustand der Feder vorherzusagen, die Messung zu präzisieren und laufend zu aktualisieren. Das Filter berechnet aufgrund der aktuellen Schätzung eine Vorhersage. Diese wird, sobald verfügbar, mit der Messung verglichen. Aus dieser Differenz und den Unsicherheiten des Prozesses ($Q$) und der Messung ($R$) wird der wahrscheinlichste, neue Zustand geschätzt. \subsubsection*{Vorhersage} @@ -256,7 +223,8 @@ 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. +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. @@ -294,5 +262,3 @@ Die Ergebnisse dieser Schwingung setzen wir in die Messmatrix ein und können de - -\end{document} -- cgit v1.2.1 From 7268e7363fddd5878b35de9169b64090a38a8fc5 Mon Sep 17 00:00:00 2001 From: "User-PC\\User" Date: Thu, 6 May 2021 16:51:10 +0200 Subject: Push --- buch/papers/spannung/Einleitung.tex | 6 ++++++ buch/papers/spannung/teil0.tex | 2 +- buch/papers/spannung/teil2.tex | 39 +++++++++++++++++++++++++++++++++++-- 3 files changed, 44 insertions(+), 3 deletions(-) (limited to 'buch') diff --git a/buch/papers/spannung/Einleitung.tex b/buch/papers/spannung/Einleitung.tex index 17ca1c9..efc3809 100644 --- a/buch/papers/spannung/Einleitung.tex +++ b/buch/papers/spannung/Einleitung.tex @@ -89,3 +89,9 @@ N = \frac{1}{l_0}\] +Der Begriff Tensor +Tensoren werden unter anderem in der Elastizitätstheorie gebraucht. +In der Elastizitätstheorie geht es darum viele verschiedene Komponenten zu beschreiben. + + + diff --git a/buch/papers/spannung/teil0.tex b/buch/papers/spannung/teil0.tex index ee19778..67896b8 100644 --- a/buch/papers/spannung/teil0.tex +++ b/buch/papers/spannung/teil0.tex @@ -28,7 +28,7 @@ Anhand dieser Dehnung kann man mit einem Integral wiederum die Setzung berechnen \[ s = -\int_{\0}^{\infty} \varepsilon \dt +\int_{0}^{\infty}\varepsilon\enspace dt \] Die Setzung zu bestimmen ist in der Geotechnik sehr wichtig. Besonders ungleichmässige Setzungen können bei Bauwerken Probleme ergeben. diff --git a/buch/papers/spannung/teil2.tex b/buch/papers/spannung/teil2.tex index 8eb54cb..4aa8204 100644 --- a/buch/papers/spannung/teil2.tex +++ b/buch/papers/spannung/teil2.tex @@ -3,12 +3,47 @@ Wie im Kapitel Spannungsausbreitung beschrieben herrscht in jedem Punkt ein anderer Spannungszustand. Um die Spannung im Boden genauer untersuchen zu können für man einen infinitesimalen Würfel ein. \begin{figure} - \includegraphics{C:/Users/User/Documents/SeminarMatrizen/buch/papers/spannung/Grafiken/infinitesimalerWürfel.jpg} + \centering + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken\infinitesimalerWürfel.jpg} \caption{infinitesimaler Würfel} \label{fig:infintesimaler-wurfel} \end{figure} Sobald eine Kraft von oben wirkt hat man auch Kräfte die seitlich wirken. -Nun alle Kräfte ansehen des Infintesimalen Körpers +An diesem infinitesimalen Würfel hat man ein räumliches Koordinatensystem, die Achsen (1,2,3). +Jede dieser 6 Flächen dieses Würfels hat damit 3 Pfeile. +Geschrieben werden diese mit $\sigma$ mit jeweils zwei Indizes gibt. +Die Indizes geben uns an, in welche Richtung der Pfeil zeigt. +Zur Notation wird die Voigt`sche Notation benutzt. Das sieht wie folgt aus: + +\[ +\overline{\sigma} += +\left[ \begin{array}{rrr} + \sigma_{11} & \sigma_{12} & \sigma_{13} \\ + \sigma_{21} & \sigma_{22} & \sigma_{23} \\ + \sigma_{31} & \sigma_{32} & \sigma_{33} \\ +\end{array}\right] += +\left[ \begin{array}{rrr} + \sigma_{11} & \sigma_{12} & \sigma_{13} \\ + & \sigma_{22} & \sigma_{23} \\ + sym & & \sigma_{33} \\ +\end{array}\right] +\Rightarrow +\overrightarrow{\sigma} += +\left(\begin{array}{c}\sigma_{11}\\\sigma_{22}\\\sigma_{33}\\\sigma_{23}\\\sigma_{13}\\\sigma_{12}\end{array}\right) +\] + +Voigt`sche Notation besagt, dass man diesen Spannungstensor als Vektor aufschreiben darf. +Die Reihenfolge folgt der Regel von Ecke links oben, diagonal zur Ecke rechts unten. +Danach ist noch $\sigma_{23}$, $\sigma_{13}$ und $\sigma_{12}$ aufzuschreiben. + +Eine weitere Besonderheit ist die Symmetrie der Matrix. + +?????Was könnte man hier noch zu den Pfeilen erklären vom Würfel??????? + + -- cgit v1.2.1 From 51dc9a5ccc1b6a238a94e4520082594c4b3b7d26 Mon Sep 17 00:00:00 2001 From: "User-PC\\User" Date: Wed, 12 May 2021 17:04:05 +0200 Subject: Diverse Anpassungen/Korrekturen --- buch/papers/spannung/Einleitung.tex | 25 ++- .../Grafiken/DiagrammOedometer-Versuch.jpg | Bin 0 -> 34089 bytes .../spannung/Grafiken/infinitesimalerWuerfel.jpg | Bin 0 -> 31604 bytes buch/papers/spannung/main.tex | 21 +- buch/papers/spannung/teil1.tex | 2 +- buch/papers/spannung/teil2.tex | 249 +++++++++++++++++++-- buch/papers/spannung/teil3.tex | 130 +++++++---- buch/papers/spannung/teil4.tex | 68 ++++++ 8 files changed, 414 insertions(+), 81 deletions(-) create mode 100644 buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.jpg create mode 100644 buch/papers/spannung/Grafiken/infinitesimalerWuerfel.jpg create mode 100644 buch/papers/spannung/teil4.tex (limited to 'buch') diff --git a/buch/papers/spannung/Einleitung.tex b/buch/papers/spannung/Einleitung.tex index efc3809..f1d5d70 100644 --- a/buch/papers/spannung/Einleitung.tex +++ b/buch/papers/spannung/Einleitung.tex @@ -16,39 +16,44 @@ sondern eine Kraft geteilt durch Fläche. \section{Einführung wichtige Begriffe\label{spannung:section:Wichtige Begriffe}} \[ -\l +l = -Ausgangslänge\enspace[m] +\text{Ausgangslänge [\si{\meter}]} \] \[ \Delta l = -Längenänderung\enspacenach\enspaceKraftauftrag\enspace[m] +\text{Längenänderung nach Kraftauftrag [\si{\meter}]} \] \[ \varepsilon = -Dehnung\enspace[-] +\text{Dehnung [$-$]} \] \[ \sigma = -Spannung\enspace[kPa] +\text{Spannung [\si{\kilo\pascal}]} \] \[ E = -Elastizitätsmodul +\text{Elastizitätsmodul} +\] +\[ +\nu += +\text{Querdehnungszahl} \] \[ F = -Kraft\enspace[kN] +\text{Kraft [\si{\kilo\newton}]} \] \[ A = -Fläche\enspace[m^2] +\text{Fläche [\si{\meter\squared}]} \] \[ t @@ -58,7 +63,7 @@ Tiefe\enspace[m] \[ s = -Setzung,\enspaceAbsenkung\enspace[m] +\text{Setzung, Absenkung [m]} \] Beziehungen @@ -82,7 +87,7 @@ Beziehungen \[ N = -\int_{A} \sigma \dA +\int_{A} \sigma dA \] \[ \varepsilon^{\prime} diff --git a/buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.jpg b/buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.jpg new file mode 100644 index 0000000..52f1b5c Binary files /dev/null and b/buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.jpg differ diff --git a/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.jpg b/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.jpg new file mode 100644 index 0000000..e3875bb Binary files /dev/null and b/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.jpg differ diff --git a/buch/papers/spannung/main.tex b/buch/papers/spannung/main.tex index 585a423..60696d4 100644 --- a/buch/papers/spannung/main.tex +++ b/buch/papers/spannung/main.tex @@ -8,29 +8,14 @@ \begin{refsection} \chapterauthor{Adrian Schuler und Thomas Reichlin} -Ein paar Hinweise für die korrekte Formatierung des Textes -\begin{itemize} -\item -Absätze werden gebildet, indem man eine Leerzeile einfügt. -Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet. -\item -Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende -Optionen werden gelöscht. -Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen. -\item -Beginnen Sie jeden Satz auf einer neuen Zeile. -Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen -in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt -anzuwenden. -\item -Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren -Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. -\end{itemize} +% TODO Text +\input{papers/spannung/Einleitung.tex} \input{papers/spannung/teil0.tex} \input{papers/spannung/teil1.tex} \input{papers/spannung/teil2.tex} \input{papers/spannung/teil3.tex} +\input{papers/spannung/teil4.tex} \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/spannung/teil1.tex b/buch/papers/spannung/teil1.tex index 70dbb5a..cc55664 100644 --- a/buch/papers/spannung/teil1.tex +++ b/buch/papers/spannung/teil1.tex @@ -1,7 +1,7 @@ \section{Proportionalität Spannung-Dehnung\label{spannung:section:Proportionalität Spannung-Dehnung}} \rhead{Proportionalität Spannung-Dehnung} Das Hooksche Gesetz beschreibt die elastische Längenänderung von Festkörpern im Zusammenhang mit einer Krafteinwirkung. -Die Längenänderung $\delta l$ ist proportional zur Krafteinwirkung. +Die Längenänderung $\Delta l$ ist proportional zur Krafteinwirkung. $F\sim \Delta l$ Man kann dies nur im Bereich vom linearen elastischen Materialverhalten anwenden. Das heisst das alle Verformungen reversibel sind, sobald man die Kraft wegnimmt. diff --git a/buch/papers/spannung/teil2.tex b/buch/papers/spannung/teil2.tex index 4aa8204..d11b3f6 100644 --- a/buch/papers/spannung/teil2.tex +++ b/buch/papers/spannung/teil2.tex @@ -1,49 +1,270 @@ -\section{Dreiachsiger Spannungszustand\label{spannung:section:Dreiachsiger Spannungszustand}} +\section{Dreiachsiger Spannungszustand\label{spannung:section:Dreiachsiger_Spannungszustand}} \rhead{Proportionalität Spannung-Dehnung} Wie im Kapitel Spannungsausbreitung beschrieben herrscht in jedem Punkt ein anderer Spannungszustand. Um die Spannung im Boden genauer untersuchen zu können für man einen infinitesimalen Würfel ein. \begin{figure} \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken\infinitesimalerWürfel.jpg} - \caption{infinitesimaler Würfel} + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/infinitesimalerWuerfel.jpg} + \caption{Infinitesimaler Würfel} \label{fig:infintesimaler-wurfel} \end{figure} Sobald eine Kraft von oben wirkt hat man auch Kräfte die seitlich wirken. -An diesem infinitesimalen Würfel hat man ein räumliches Koordinatensystem, die Achsen (1,2,3). +An diesem infinitesimalen Würfel hat man ein räumliches Koordinatensystem, die Achsen $(1,2,3)$. Jede dieser 6 Flächen dieses Würfels hat damit 3 Pfeile. Geschrieben werden diese mit $\sigma$ mit jeweils zwei Indizes gibt. Die Indizes geben uns an, in welche Richtung der Pfeil zeigt. -Zur Notation wird die Voigt`sche Notation benutzt. Das sieht wie folgt aus: +Der erste Index ist die Achse auf welcher man sich befindet. +Der zweite Index gibt an, in welche Richtung der Pfeil zeigt. +Zur Notation wird die Voigt'sche Notation benutzt. Das sieht wie folgt aus: \[ \overline{\sigma} = -\left[ \begin{array}{rrr} +\begin{pmatrix} \sigma_{11} & \sigma_{12} & \sigma_{13} \\ \sigma_{21} & \sigma_{22} & \sigma_{23} \\ - \sigma_{31} & \sigma_{32} & \sigma_{33} \\ -\end{array}\right] + \sigma_{31} & \sigma_{32} & \sigma_{33} +\end{pmatrix} = -\left[ \begin{array}{rrr} +\begin{pmatrix} \sigma_{11} & \sigma_{12} & \sigma_{13} \\ - & \sigma_{22} & \sigma_{23} \\ + & \sigma_{22} & \sigma_{23} \\ sym & & \sigma_{33} \\ -\end{array}\right] +\end{pmatrix} \Rightarrow \overrightarrow{\sigma} = -\left(\begin{array}{c}\sigma_{11}\\\sigma_{22}\\\sigma_{33}\\\sigma_{23}\\\sigma_{13}\\\sigma_{12}\end{array}\right) +\begin{pmatrix} + \sigma_{11}\\ + \sigma_{22}\\ + \sigma_{33}\\ + \sigma_{23}\\ + \sigma_{13}\\ + \sigma_{12} +\end{pmatrix} \] -Voigt`sche Notation besagt, dass man diesen Spannungstensor als Vektor aufschreiben darf. +Voigt'sche Notation besagt, dass man diesen Spannungstensor als Vektor aufschreiben darf. Die Reihenfolge folgt der Regel von Ecke links oben, diagonal zur Ecke rechts unten. Danach ist noch $\sigma_{23}$, $\sigma_{13}$ und $\sigma_{12}$ aufzuschreiben. Eine weitere Besonderheit ist die Symmetrie der Matrix. +So entspricht $\sigma_{23}$ dem Wert $\sigma_{32}$ oder $\sigma_{13}$ dem Wert $\sigma_{31}$. +Dies ist dadurch bedingt, dass die Kräfte in seitlicher Richtung im Boden die gleichen Werte annehmen. +Man hat in dieser Berechnung ein isotropes Material. +Im infinitesimalen Körper muss ein Gleichgewicht vorherrschen. +Ist kein Gleichgewicht vorhanden, würde sich der Körper zu drehen beginnen. +Es macht somit keinen Unterschied, ob man auf der Achse 2 in Richtung drei geht, +oder auf der Achse 3 in Richtung 2. -?????Was könnte man hier noch zu den Pfeilen erklären vom Würfel??????? +Da die Spannung proportional zur Dehnung ist, kann man die ganze Voigt'sche Notation auch mit der Dehnung ausdrücken. +Auch hier wandelt man das ganze gemäss der Reihenfolge in einen Vektor um. +\[ +\bar{\varepsilon} += +\begin{pmatrix} + \varepsilon_{11} & \varepsilon_{12} & \varepsilon_{13} \\ + \varepsilon_{21} & \varepsilon_{22} & \varepsilon_{23} \\ + \varepsilon_{31} & \varepsilon_{32} & \varepsilon_{33} +\end{pmatrix} += +\begin{pmatrix} + \varepsilon_{11} & \varepsilon_{12} & \varepsilon_{13} \\ + & \varepsilon_{22} & \varepsilon_{23} \\ + \text{sym} & & \varepsilon_{33} +\end{pmatrix} +\qquad +\Rightarrow +\qquad +\vec{\varepsilon} += +\begin{pmatrix} + \varepsilon_{11} \\ + \varepsilon_{22} \\ + \varepsilon_{33} \\ + \varepsilon_{23} \\ + \varepsilon_{13} \\ + \varepsilon_{12} +\end{pmatrix} +\] + + +Mit der hergeleiteten Beziehung für die Spannungsgleichung anhand vom E-Modul, +der allgemeinen linearen Spannungsgleichung kann man diese Beziehungen neu aufschreiben. +Man benötigt dazu den zuvor berechneten Dehnungsvektor. +Die Gleichung besagt: +Spannungsvektor $=$ Elastitzitätstensor $\times$ Dehnungsvektor + +\[ +\overrightarrow{\sigma} += +\overline{\overline{C}}\cdot \overrightarrow{\varepsilon} +\] + +Die Vektoren haben je 6 Einträge. Um das ganze auszudrücken braucht es einen 6 x 6 Elastizitätstensor. (Kann man das noch weiter erklären weshalb?????) +Das ganze sieht dann wie folgt aus: + +\[ +\begin{pmatrix} + \sigma_{11} \\ + \sigma_{22} \\ + \sigma_{33} \\ + \sigma_{23} \\ + \sigma_{13} \\ + \sigma_{12} +\end{pmatrix} += +\begin{pmatrix} + C_{11} & C_{12} & C_{13} & C_{14} & C_{15} & C_{16} \\ + C_{21} & C_{22} & C_{23} & C_{24} & C_{25} & C_{26} \\ + C_{31} & C_{32} & C_{33} & C_{34} & C_{35} & C_{36} \\ + C_{41} & C_{42} & C_{43} & C_{44} & C_{45} & C_{46} \\ + C_{51} & C_{52} & C_{53} & C_{54} & C_{55} & C_{56} \\ + C_{61} & C_{62} & C_{63} & C_{64} & C_{65} & C_{66} +\end{pmatrix} +\begin{pmatrix} + \varepsilon_{11} \\ + \varepsilon_{22} \\ + \varepsilon_{33} \\ + \varepsilon_{23} \\ + \varepsilon_{13} \\ + \varepsilon_{12} +\end{pmatrix} +\] + +IST DIESE REIHENFOLGE KORREKT???? BEI DEHNUNG + +Die Spannung $\sigma_{11}$ besteht somit aus Anteilen von all diesen sechs Konstanten und den verschiedenen Dehnungen. +Zuvor bei der Voigt'schen Notation hat man jedoch gesehen, dass die Tensoren symmetrisch sind. +Folglich muss auch dieser Elastizitätstensor symmetrisch sein. +Das sind folgendermassen aus: + +\[ +\begin{pmatrix} + \sigma_{11} \\ + \sigma_{22} \\ + \sigma_{33} \\ + \sigma_{23} \\ + \sigma_{13} \\ + \sigma_{12} +\end{pmatrix} += +\begin{pmatrix} + C_{11} & C_{12} & C_{13} & C_{14} & C_{15} & C_{16} \\ + & C_{22} & C_{23} & C_{24} & C_{25} & C_{26} \\ + & & C_{33} & C_{34} & C_{35} & C_{36} \\ + & & & C_{44} & C_{45} & C_{46} \\ + & & & & C_{55} & C_{56} \\ + \text{sym} & & & & & C_{66} +\end{pmatrix} +\begin{pmatrix} + \varepsilon_{11} \\ + \varepsilon_{22} \\ + \varepsilon_{33} \\ + \varepsilon_{23} \\ + \varepsilon_{13} \\ + \varepsilon_{12} +\end{pmatrix} +\] + +Die Konstanten $C$ kann man nun anders ausdrücken. +Und zwar bewerkstelligt man dies mithilfe vom Hook'schen Gesetz. + +\[ +\begin{pmatrix} + \sigma_{11}\\ + \sigma_{22}\\ + \sigma_{33}\\ + \sigma_{23}\\ + \sigma_{13}\\ + \sigma_{12} +\end{pmatrix} += +\frac{E}{(1+\nu)(1-2\nu)} +\begin{pmatrix} + 1- 2\nu & \nu & \nu & 0 & 0 & 0\\ + \nu & 1- 2\nu & \nu & 0 & 0 & 0\\ + \nu & \nu & 1- 2\nu & 0 & 0 & 0\\ + 0 & 0 & 0 & \frac{1}{2} & 0 & 0\\ + 0 & 0 & 0 & 0 & \frac{1}{2} & 0\\ + 0 & 0 & 0 & 0 & 0 & \frac{1}{2} +\end{pmatrix} +\begin{pmatrix} + \varepsilon_{11}\\ + \varepsilon_{22}\\ + \varepsilon_{33}\\ + \varepsilon_{23}\\ + \varepsilon_{13}\\ + \varepsilon_{12} +\end{pmatrix} +\] + +Mithilfe der Poissonzahl, welche uns die Querdehnung angibt, +sprich wie viel sich der Körper in Querrichtung verformt und dem E-Modul kann man alle Konstanten ausdrücken. +Bei einigen fällt auf, dass diese 0 werden. Der Tensor besagt also, +dass diese jeweiligen Konstanten keinen Einfluss auf unsere Spannung haben. +Als Beispiel kann man sich $\sigma_{33}$ anschauen. +Es ist ersichtlich, dass die Konstante $C_{31}$, $C_{32}$, $C_{33}$, $C_{35}$ und $C_{36}$ keinen Einfluss auf $\sigma_{33}$ haben. +Dies kann wie folgt erklärt werden. Auf Achse 3 geht $\sigma_{33}$ in Richtung 3. +Der Einfluss von $C_{31}$, Achse 3 in Richtung 1 hat keinen Einfluss auf $\sigma_{33}$ + +Von $\overline{\overline{C}}$ bildet man nun die Inverse Matrix $\overline{\overline{C}}~^{-1}$ stellt sich die ganze Gleichung um. + +\[ +\vec{\varepsilon} += +\overline{\overline{C}}~^{-1}\cdot \vec{\sigma} +\] + +\[ +\begin{pmatrix} + \varepsilon_{11}\\ + \varepsilon_{22}\\ + \varepsilon_{33}\\ + \varepsilon_{23}\\ + \varepsilon_{13}\\ + \varepsilon_{12} +\end{pmatrix} += +\frac{1}{E} +\begin{pmatrix} + 1 & -\nu & -\nu & 0 & 0 & 0\\ + -\nu & 1 & -\nu & 0 & 0 & 0\\ + -\nu & -\nu & 1 & 0 & 0 & 0\\ + 0 & 0 & 0 & 2+2\nu & 0 & 0\\ + 0 & 0 & 0 & 0 & 2+2\nu & 0\\ + 0 & 0 & 0 & 0 & 0 & 2+2\nu +\end{pmatrix} +\begin{pmatrix} + \sigma_{11}\\ + \sigma_{22}\\ + \sigma_{33}\\ + \sigma_{23}\\ + \sigma_{13}\\ + \sigma_{12} +\end{pmatrix} +\] + +Die zwei Blöcke links unten und rechts oben sind immer noch vorhanden. +Im Vergleich wo wir die Inverse noch nicht gemacht haben hat sich das nicht geändert. +Um die Einflüsse der Parameter zu veranschaulichen schreibt man folgende Gleichung. + +\[ +\varepsilon_{22} += +\frac{1}{E}\sigma_{22} - \frac{\nu}{E}\sigma_{11} - \frac{\nu}{E}\sigma_{33} +\] + +$\varepsilon_{22}$ beschreibt die Dehnung in Achse 2 und in Richtung 2. +In erster Linie hängt $\varepsilon_{22}$ von $\sigma_{22}$ ab. +Wenn die Poisson - Zahl grösser wird oder $\sigma_{11}$ oder $\sigma_{33}$, dann wird dadurch die Dehnung $\varepsilon_{22}$ kleiner. +Das heisst, auf Kosten von Verformung in anderer Richtung als Achse 2 Richtung 2 erfolgt die Verformung an anderer Stelle. +Wiederum hat die Schubspannung auf $\sigma_{11}$ keinen Einfluss. +Nun kennt man die Beziehung der 6 Dehnungen mit den 6 Spannungen. +In der Geotechnik wäre das aufgrund der vielen Komponenten sehr umständlich um damit Berechnungen zu machen. +Es braucht daher eine Vereinfachung mit Invarianten, welche im nächsten Kapitel beschrieben sind. diff --git a/buch/papers/spannung/teil3.tex b/buch/papers/spannung/teil3.tex index ce7d50f..a3b0b7d 100644 --- a/buch/papers/spannung/teil3.tex +++ b/buch/papers/spannung/teil3.tex @@ -1,40 +1,94 @@ -% -% teil3.tex -- Beispiel-File für Teil 3 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 3 -\label{spannung:section:teil3}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{spannung:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. +\section{Spannungsausbreitung\label{spannung:section:Invarianten}} +\rhead{Invarianten} +Trotz der Vereinfachung lässt sich mit den Invarianten die Realität adäquat abbilden. +Als erste Bedingung stellt man folgendes Verhältnis auf: +\[ +\sigma_{22} += +\sigma_{33} +\] +Dies deshalb, da man von einem isotropen Bodenmaterial ausgeht. +In Achse 22, Richtung 22 hat man den gleichen Boden wie in Achse 33 und Richtung 33. +Das Verhalten bezüglich Kraftaufnahme, Dehnung Spannung ist somit dasselbe. + +Man führt die zwei Werte p als hydrostatische Spannung und q als deviatorische Spannung ein. +Die Berechnung von p und q sieht wie folgt aus: + +\[ +p += +\frac{\sigma_{11}+\sigma_{22}+\sigma_{33}}{3} +\] + +oder durch Vereinfachung, da $\sigma_{22}=\sigma_{33}$ : + +\[ +p += +\frac{\sigma_{11}+2\sigma_{33}}{3} +\] + +\[ +q += +\sigma_{11}-\sigma_{33} +\] + +p ist das arithmetische Mittel von der Spannung im infinitesimalen Würfel. +q ist die Differenz zwischen der Spannung in vertikaler Richtung und der Spannung in Richtung 2 und 3. +Man kann p als Druckspannung und q als Schubspannung anschauen. + +Aus der Formel vom vorherigen Kapitel konnten wir die Spannungen berechnen. +Deshalb kann man nun p und q in die Gleichung einsetzen. +Die Dehnungen werden mit neuen Variablen eingeführt. +Die Deviatorische Dehnung kann mit einer Schubdehnung verglichen werden. +Die hydrostatische Dehnung kann mit einer Kompressionsdehnung verglichen werden. + +\[ +\overbrace{\sigma_{11}-\sigma_{33}}^{q} += +\frac{3E}{2(1+\nu)} \overbrace{\frac{2}{3}(\varepsilon_{11} - \varepsilon_{33})}^{\varepsilon_{\nu}} +\] + +\[ +\overbrace{\frac{\sigma_{11}+2\sigma_{33}}{3}}^{p} += +\frac{E}{3(1-2\nu)} \overbrace{(\varepsilon_{11} - 2\varepsilon_{33})}^{\varepsilon_{s}} +\] + +\[ +\varepsilon_{s} += +Hydrostatische Dehnung [-] +\] + +\[ +\varepsilon_{\nu} += +Deviatorische Dehnung [-] +\] + +Diese Komponenten kann man nun in die Vereinfachte Matrix einsetzen. +Man hat dann eine Matrix multipliziert mit einem Vektor und erhält einen Vektor. + +\[ +\begin{pmatrix} + q\\ + p +\end{pmatrix} += +\begin{pmatrix} + \frac{3E}{2(1+\nu)} & 0 \\ + 0 & \frac{E}{3(1-2\nu)} +\end{pmatrix} +\begin{pmatrix} + \varepsilon_{s}\\ + \varepsilon_{\nu} +\end{pmatrix} +\] + +Mit dieser Formel lassen sich verschieden Parameter von Versuchen analysieren und berechnen. +Ein solcher Versuch, den oft in der Geotechnik durchgeführt wird ist der Oedometer-Versuch. +Im nächsten Kapitel wird die Anwendung der Matrix an diesem Versuch beschrieben. diff --git a/buch/papers/spannung/teil4.tex b/buch/papers/spannung/teil4.tex new file mode 100644 index 0000000..f1437b1 --- /dev/null +++ b/buch/papers/spannung/teil4.tex @@ -0,0 +1,68 @@ +\section{Spannungsausbreitung\label{spannung:section:Oedometer - Versuch}} +\rhead{Oedometer - Versuch} +Beim Oedometer - Versucht hat man einen Stahlring mit einer Filterplatte am Boden. +In diesen Stahlring wird eine Bodenprobe eingefüllt. +Anschliessend wir mit einer Platte das Bodenmaterial mit einer ansteigenden Kraft belastet. + +Die Probe wird sich so verdichten. Das Volumen nimmt ab. +Der Stahlring verhindert ein seitliches ausbrechen oder entweichen der Bodenprobe. +Die Dehnung auf der Seite beträgt somit 0. +Mit dem Wert der Kraft und der Fläche lässt sich die Spannung berechnen. +Anhand der Volumenabnahme errechnet man die Dehnung. +Aus diesen Werten lässt sich wiederum das E-Modul bestimmen. +Beim Oedometer Versuch ist das E-Modul als $E_{OED}$ bezeichnet. + +Das $E_{OED}$ hat man speziell in der Geotechnik. +Dies aufgrund der speziellen Situation wo man sich mit dem infinitesimalen Würfel befindet. +Mit dem Stahlring, der verhindert das Material seitlich entweichen kann hat man ganz ähnliche Verhältnisse wie tief im Untergrund. +Auch dort kann das Material bei einer Belastung nicht seitlich entweichen. + +Wichtig ist nochmals zu betonen, dass alle diese beschriebenen Berechnungen ausschliesslich im linear-elastischen Materialverhalten funktionieren. +So ist es auch beim Oedometer - Versuch. +Den Versuch kann man auf einem $\sigma$ und $\varepsilon$ Diagramm abtragen. + +\begin{figure} + \centering + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/DiagrammOedometer-Versuch.jpg} + \caption{Diagramm Oedometer - Versuch} + \label{fig:Diagramm Oedometer - Versuch} +\end{figure} + +Bei einem Versuch mit anderem Baumaterial wie beispielsweise Holz nimmt die Dehnung im Laufe des Versuchs stärker zu, obwohl weniger Spannung abgetragen wird. +Bei den meisten Böden ist dies anders. Durch die Komprimierung nimmt der Boden mehr Spannung auf, und verformt sich zugleich weniger stark. + +Man kann die Dehnung in unsere vereinfachte Matrix einsetzen. Das E-Modul ersetzt man mit dem $E_{OED}$. + +\[ +\overbrace{\sigma_{11}-\sigma_{33}}^{q} += +\frac{3E}{2(1+\nu)} \overbrace{\frac{2}{3}(\varepsilon_{11} - 0)}^{\varepsilon_{\nu}} +\] + +\[ +\overbrace{\frac{\sigma_{11}+2\sigma_{33}}{3}}^{p} += +\frac{E}{3(1-2\nu)} \overbrace{(\varepsilon_{11} - 2\cdot0)}^{\varepsilon_{s}} +\] + +\[ +\begin{pmatrix} + \sigma_{11}-\sigma_{33} \\ + \sigma_{11}+2\sigma_{33} +\end{pmatrix} += +\begin{bmatrix} + \frac{E_{OED}}{(1+\nu)} & 0 \\ + 0 & \frac{E_{OED}}{(1-2\nu)} +\end{bmatrix} +\begin{pmatrix} + \varepsilon_{11}\\ + \varepsilon_{11} +\end{pmatrix} +\] + +An einem geeigneten Punkt, wo man noch im linear-elastischen Materialverhalten ist, kann man nun das $E_{OED}$ abtragen. +Es wird nur ein Delta betrachtet um $E_{OED}$ zu berechnen. +Man darf die Dehnung nicht über den gesamten Verlauf betrachten um $E_{OED}$ zu berechnen. + +Mit diesem ermittelten E-Modul kann man nun weitere Berechnungen für die Geotechnik durchführen. -- cgit v1.2.1 From 8c0f3f0193804f257bc6646aef8c3be0f9c9166b Mon Sep 17 00:00:00 2001 From: "User-PC\\User" Date: Sat, 15 May 2021 17:29:20 +0200 Subject: =?UTF-8?q?=C3=9Cberarbeitungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/papers/spannung/Einleitung.tex | 42 ++-- buch/papers/spannung/Grafiken/Bild3.png | Bin 0 -> 45727 bytes buch/papers/spannung/Grafiken/Bild4.png | Bin 0 -> 72520 bytes buch/papers/spannung/Grafiken/Bild5.png | Bin 0 -> 34721 bytes .../Grafiken/DiagrammOedometer-Versuch.jpg | Bin 34089 -> 0 bytes .../Grafiken/DiagrammOedometer-Versuch.png | Bin 0 -> 23361 bytes .../spannung/Grafiken/infinitesimalerWuerfel.jpg | Bin 31604 -> 0 bytes .../spannung/Grafiken/infinitesimalerWuerfel.png | Bin 0 -> 24852 bytes .../Grafiken/infinitesimalerW\303\274rfel.jpg" | Bin 31604 -> 0 bytes buch/papers/spannung/teil0.tex | 39 +++- buch/papers/spannung/teil1.tex | 35 +-- buch/papers/spannung/teil2.tex | 249 ++++++++++++++++++--- buch/papers/spannung/teil3.tex | 4 +- buch/papers/spannung/teil4.tex | 6 +- 14 files changed, 299 insertions(+), 76 deletions(-) create mode 100644 buch/papers/spannung/Grafiken/Bild3.png create mode 100644 buch/papers/spannung/Grafiken/Bild4.png create mode 100644 buch/papers/spannung/Grafiken/Bild5.png delete mode 100644 buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.jpg create mode 100644 buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.png delete mode 100644 buch/papers/spannung/Grafiken/infinitesimalerWuerfel.jpg create mode 100644 buch/papers/spannung/Grafiken/infinitesimalerWuerfel.png delete mode 100644 "buch/papers/spannung/Grafiken/infinitesimalerW\303\274rfel.jpg" (limited to 'buch') diff --git a/buch/papers/spannung/Einleitung.tex b/buch/papers/spannung/Einleitung.tex index f1d5d70..37c2ec2 100644 --- a/buch/papers/spannung/Einleitung.tex +++ b/buch/papers/spannung/Einleitung.tex @@ -7,7 +7,7 @@ Besonderes Augenmerk liegt dabei auf dem Oedometer - Versuch. Bei dieser Untersuchung der zugehörigen Berechnungen hat man es mit Vektoren, Matrizen und Tensoren zu tun. Um die mathematische Untersuchung vorzunehmen, beschäftigt man sich zuerst mit den spezifischen Gegebenheiten und Voraussetzungen. -Ebenfalls gilt es ein paar wichtige Begriffe und deren mathematisches Zeichen einzuführen, +Ebenfalls gilt es ein paar wichtige Begriffe und deren mathematischen Zeichen einzuführen, damit sich den Berechnungen schlüssig folgen lässt. In diesem Kapitel hat man es insbesondere mit Spannungen und Dehnungen zu tun. @@ -16,7 +16,7 @@ sondern eine Kraft geteilt durch Fläche. \section{Einführung wichtige Begriffe\label{spannung:section:Wichtige Begriffe}} \[ -l +l_0 = \text{Ausgangslänge [\si{\meter}]} \] @@ -26,6 +26,11 @@ l \text{Längenänderung nach Kraftauftrag [\si{\meter}]} \] \[ +\Delta b += +\text{Längenänderung in Querrichtung nach Kraftauftrag [\si{\meter}]} +\] +\[ \varepsilon = \text{Dehnung [$-$]} @@ -38,12 +43,12 @@ l \[ E = -\text{Elastizitätsmodul} +\text{Elastizitätsmodul [\si{\kilo\pascal}]} \] \[ \nu = -\text{Querdehnungszahl} +\text{Querdehnungszahl; Poissonzahl [$-$]} \] \[ F @@ -58,7 +63,7 @@ A \[ t = -Tiefe\enspace[m] +\text{Tiefe [\si{\meter}]} \] \[ s @@ -77,7 +82,7 @@ Beziehungen = \frac{\Delta b}{l_0} = -\varepsilon_\upsilon +\varepsilon\cdot\nu \] \[ \sigma @@ -85,18 +90,29 @@ Beziehungen \frac{N}{A} \] \[ -N +F = \int_{A} \sigma dA \] \[ \varepsilon^{\prime} = -\frac{1}{l_0}\] +\frac{1}{l_0} +\] -Der Begriff Tensor -Tensoren werden unter anderem in der Elastizitätstheorie gebraucht. +\section{Einführung wichtige Begriffe\label{spannung:section:Tensoren}} +Tensoren wurden als erstes in der Elastizitätstheorie eingesetzt. (Quelle Herr Müller) In der Elastizitätstheorie geht es darum viele verschiedene Komponenten zu beschreiben. - - - +Mit einer Matrix oder einem Vektor kann man dies nicht mehr bewerkstelligen. +Wenn man den dreidimensionalen Spannungszustand abbilden möchte, müsste man mehrere Vektoren haben. +Deshalb wurden 1840 von Rowan Hamilton Tensoren in die Mathematik eingeführt. +Woldemar Voigt hat den Begriff in die moderne Bedeutung von Skalar, Matrix und Vektor verallgemeinert. +Albert Einstein hat Tensoren zudem in der allgemeinen Relativitätstheorie benutzt. +Tensor sind eine Stufe höher als Matrizen. Matrizen sind 2. Stufe. +Da Tensoren eine Stufe höher sind, kann man auch Matrizen, Vektoren und Skalare als Tensoren bezeichnen. +Der Nachteil von den Tensoren ist, dass man die gewohnten Rechenregeln, die man bei Vektoren oder Matrizen kennt, +nicht darauf anwenden kann. Man ist deshalb bestrebt die Tensoren als Vektoren und Matrizen darzustellen, +damit man die gewohnten Rechenregeln darauf anwenden kann. (Quelle Wikipedia) +In der vorliegenden Arbeit sind bereits alle Tensoren als Matrizen 2. Stufe abgebildet. +Trotzdem kann man diese Matrizen wie vorher beschrieben als Tensor bezeichnen. +Da diese als Matrizen abgebildet sind, dürfen wir die bekannten Rechenregeln auf unsere Tensoren anwenden. \ No newline at end of file diff --git a/buch/papers/spannung/Grafiken/Bild3.png b/buch/papers/spannung/Grafiken/Bild3.png new file mode 100644 index 0000000..8ca72a1 Binary files /dev/null and b/buch/papers/spannung/Grafiken/Bild3.png differ diff --git a/buch/papers/spannung/Grafiken/Bild4.png b/buch/papers/spannung/Grafiken/Bild4.png new file mode 100644 index 0000000..526ee7b Binary files /dev/null and b/buch/papers/spannung/Grafiken/Bild4.png differ diff --git a/buch/papers/spannung/Grafiken/Bild5.png b/buch/papers/spannung/Grafiken/Bild5.png new file mode 100644 index 0000000..6ee004d Binary files /dev/null and b/buch/papers/spannung/Grafiken/Bild5.png differ diff --git a/buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.jpg b/buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.jpg deleted file mode 100644 index 52f1b5c..0000000 Binary files a/buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.jpg and /dev/null differ diff --git a/buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.png b/buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.png new file mode 100644 index 0000000..31505bd Binary files /dev/null and b/buch/papers/spannung/Grafiken/DiagrammOedometer-Versuch.png differ diff --git a/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.jpg b/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.jpg deleted file mode 100644 index e3875bb..0000000 Binary files a/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.jpg and /dev/null differ diff --git a/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.png b/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.png new file mode 100644 index 0000000..398529c Binary files /dev/null and b/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.png differ diff --git "a/buch/papers/spannung/Grafiken/infinitesimalerW\303\274rfel.jpg" "b/buch/papers/spannung/Grafiken/infinitesimalerW\303\274rfel.jpg" deleted file mode 100644 index e3875bb..0000000 Binary files "a/buch/papers/spannung/Grafiken/infinitesimalerW\303\274rfel.jpg" and /dev/null differ diff --git a/buch/papers/spannung/teil0.tex b/buch/papers/spannung/teil0.tex index 67896b8..2f4d23b 100644 --- a/buch/papers/spannung/teil0.tex +++ b/buch/papers/spannung/teil0.tex @@ -1,22 +1,43 @@ \section{Spannungsausbreitung\label{spannung:section:Spannungsausbreitung}} \rhead{Spannungsausbreitung} Anhand untenstehendem Bild kann ein einfaches Beispiel betrachtet werden. -Es gibt eine Kraft, diese wird auf den Boden abgetragen. -Diese Kraft muss dann vom Boden aufgenommen werden. -Im Boden entsteht eine Spannung. Diese Spannung ist abhängig von $\sigma(x,y,t)$ +Es gibt eine Flächenlast (Kraft), diese wird auf den Boden abgetragen. +Diese Last muss dann vom Boden aufgenommen werden. +Im Boden entsteht nebst der Eigenspannung eine weitere Spannung durch diese Last (Zusatzspannung). +Diese Zusatzspannung $\sigma$ ist abhängig von $(x,y,t)$. Je nach dem, wo man sich im Boden befindet variert die Spannung. -Mit der Tiefe wird die Spannung geringer. -Die Ausbreitung der Spannung im Boden hat die Form einer Zwiebel. +Mit der Tiefe wird die Zusatzspannung geringer. +Die Ausbreitung der Zusatzspannung im Boden hat die Form einer Zwiebel. Durch Untersuchung der Spannung an verschiedenen Punkten im Boden, kann man eine Funktion abtragen. Dasselbe macht man auch mit der Dehnung. Es zeigt sich, dass die Form der beiden Funktionen gleich ist. -Dies erklärt sich dadurch, dass die Spannung und die Dehnung proportional sind zueinander sind. +Dies erklärt sich dadurch, dass die Spannung und die Dehnung proportional zueinander sind. +\begin{figure} + \centering + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild4.png} + \caption{Ausbreitung der Spannung im Boden} + \label{fig:Bild4} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild5.png} + \caption{Funktionen Spannung und Dehnung} + \label{fig:Bild5} +\end{figure} Anhand eines etwas schwierigeren Beispiels sieht man, dass die Spannungsausbreitung nicht immer ganz einfach ist. Man hat hier eine Baugrube mit einem Baugrubenabschluss, wo ein Teil des Bodens abgetragen wurde. -Was aber immer noch gilt ist, dass die Spannung von drei Variablen abhängig ist. $\sigma(x,y,t)$ +Was aber immer noch gilt ist, dass die Spannung $\sigma$ von drei Variablen abhängig ist $(x,y,t)$. Ansätze um die Spannungsausbreitung zu berechnen gibt es je nach Bodentyp verschiedene. +\begin{figure} + \centering + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild3.png} + \caption{Beispiel Lastauftrag auf Boden} + \label{fig:Bild3} +\end{figure} + Die Spannungsausbreitung ist uns jedoch gegeben, es geht nicht darum, dies genauer zu untersuchen. Durch die Spannungsausbreitung und das Elastizitätsmodul kann man eine Dehnung berechnen. Anhand dieser Dehnung kann man mit einem Integral wiederum die Setzung berechnen. @@ -32,6 +53,4 @@ s \] Die Setzung zu bestimmen ist in der Geotechnik sehr wichtig. Besonders ungleichmässige Setzungen können bei Bauwerken Probleme ergeben. -Es gilt also die Bauwerke so zu dimensionieren, dass es verträgliche Setzungen gibt. - - +Es gilt also die Bauwerke so zu dimensionieren, dass es verträgliche Setzungen gibt. \ No newline at end of file diff --git a/buch/papers/spannung/teil1.tex b/buch/papers/spannung/teil1.tex index cc55664..9467d21 100644 --- a/buch/papers/spannung/teil1.tex +++ b/buch/papers/spannung/teil1.tex @@ -1,20 +1,30 @@ \section{Proportionalität Spannung-Dehnung\label{spannung:section:Proportionalität Spannung-Dehnung}} \rhead{Proportionalität Spannung-Dehnung} -Das Hooksche Gesetz beschreibt die elastische Längenänderung von Festkörpern im Zusammenhang mit einer Krafteinwirkung. -Die Längenänderung $\Delta l$ ist proportional zur Krafteinwirkung. -$F\sim \Delta l$ -Man kann dies nur im Bereich vom linearen elastischen Materialverhalten anwenden. -Das heisst das alle Verformungen reversibel sind, sobald man die Kraft wegnimmt. +Das Hook'sche Gesetz beschreibt die elastische Längenänderung von Festkörpern im Zusammenhang mit einer Krafteinwirkung. +Die Längenänderung $\Delta l$ ist proportional zur Krafteinwirkung $F$. +\[ +F +\sim +\Delta l +\] +Man kann dies nur im Bereich vom linearen-elastischen Materialverhalten anwenden. +Das heisst, dass alle Verformungen reversibel sind, sobald man die Kraft wegnimmt. Es findet somit keine dauernde Verformung statt. Da es sehr praktisch ist die Längenänderung nicht absolut auszudrücken haben wir $\varepsilon$. -$\varepsilon$ beschreibt die relative Längenänderung. -$\varepsilon$ ist wiederum proportional zu der aufgebrachten Spannung. -Im Bauingenieurwesen hat man es oft mit grösseren Teilen oder Grösseren Betrachtungsräumen zu tun. +Die Dehnung $\varepsilon$ beschreibt die relative Längenänderung. +Die Dehnung $\varepsilon$ ist wiederum proportional zu der aufgebrachten Spannung. +Im Bauingenieurwesen hat man es oft mit grösseren Teilen oder grösseren Betrachtungsräumen zu tun. Da ist es nun natürlich sehr sinnvoll, wenn wir nicht mit absoluten Zahlen rechnen, -sondern unabhängig von der Länge den Zustand mit Epsilon beschreiben können. +sondern unabhängig von der Länge den Zustand mit Dehnung $\varepsilon$ beschreiben können. Mithilfe vom E-Modul, (steht für Elastizitätsmodul) einer Proportionalitätskonstante, kann man das in eine Gleichung bringen, wie man hier sieht. Das E-Modul beschreibt, das Verhältnis von Kraftaufnahme eines Werkstoffes und dessen zusammenhängender Längenveränderung. +(Quelle Wikipedia) +\[ +\sigma += +E\cdot\varepsilon +\] \[ E = @@ -26,9 +36,6 @@ const. Aus diesem Verhältnis kann man das E-Modul berechnen. Je nach Material ist dies verschieden. Das E-Modul lässt sich nur im linearen-elastischen Materialverhalten anwenden. -Für Bodenmaterial gibt es ein spezielles E-Modul. Dieses wird mit dem Oedometerversuch ermittelt. +Für Bodenmaterial gibt es ein spezielles E-Modul. Dieses wird mit dem Oedometer-Versuch ermittelt. Es wird mit $E_{OED}$ ausgedrückt. Dieser Versuch wird später noch beschrieben. -Der Oedometerversuch ist abhängig von den diesem Kapitel zu untersuchenden Matrizen. - - - +Der Oedometer-Versuch ist abhängig von den diesem Kapitel zu untersuchenden Matrizen. \ No newline at end of file diff --git a/buch/papers/spannung/teil2.tex b/buch/papers/spannung/teil2.tex index d11b3f6..3db3e26 100644 --- a/buch/papers/spannung/teil2.tex +++ b/buch/papers/spannung/teil2.tex @@ -1,22 +1,197 @@ \section{Dreiachsiger Spannungszustand\label{spannung:section:Dreiachsiger_Spannungszustand}} \rhead{Proportionalität Spannung-Dehnung} Wie im Kapitel Spannungsausbreitung beschrieben herrscht in jedem Punkt ein anderer Spannungszustand. -Um die Spannung im Boden genauer untersuchen zu können für man einen infinitesimalen Würfel ein. +Um die Spannung im Boden genauer untersuchen zu können, führt man einen infinitesimales Bodenteilchen ein. +Das Bodenteilchen ist geometrisch gesehen ein Würfel. +An diesem Bodenteilchen trägt man die Spannungen ein in alle Richtungen. + \begin{figure} \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/infinitesimalerWuerfel.jpg} - \caption{Infinitesimaler Würfel} + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/infinitesimalerWuerfel.png} + \caption{Infinitesimales Bodenteilchen} \label{fig:infintesimaler-wurfel} \end{figure} -Sobald eine Kraft von oben wirkt hat man auch Kräfte die seitlich wirken. +An diesem infinitesimalen Bodenteilchen hat man ein räumliches Koordinatensystem, die Achsen $(1,2,3)$. +Die Achsen vom Koordinatensystem zeigen aus den 3 ersichtlichen Flächen heraus. +Pro ersichtliche Fläche haben wir eine Normalspannung und zwei Schubspannungen. +Im Gegensatz zum eindimensionalen Zustand entstehen bei einer Belastung des Bodenteilchens eine Vielzahl an Spannungen. +Es entstehen diverse Normal- und Schubspannungen. +Die Schubspannungen befinden sich an der Fläche, sie gehen rechtwinklig von den Achsen weg. +Die Schubspannungen auf einer Fläche stehen im 90 Grad Winkel zueinander. +Geschrieben werden diese mit $\sigma$, mit jeweils zwei Indizes. +Die Indizes geben uns an, in welche Richtung die Spannungen zeigen. +Der erste Index ist die Fläche auf welcher man sich befindet. +Der zweite Index gibt an, in welche Richtung die Spannung zeigt, dabei referenzieren die Indizes auch auf die Achsen $(1,2,3)$. +Bei den Spannungen sind immer positive als auch negative Spannungen möglich. +Es können also Druck- oder Zugspannungen sein. + +Zunächst wird untenstehend der allgemeine Spannungszustand betrachtet. + +Spannungstensor 2. Stufe i,j $\in$ {1,2,3} +\[ +\overline{\sigma} += +\sigma_{ij} += +\begin{pmatrix} + \sigma_{11} & \sigma_{12} & \sigma_{13} \\ + \sigma_{21} & \sigma_{22} & \sigma_{23} \\ + \sigma_{31} & \sigma_{32} & \sigma_{33} +\end{pmatrix} += +\qquad +\Rightarrow +\qquad +\vec{\sigma} += +\begin{pmatrix} + \sigma_{11}\\ + \sigma_{12}\\ + \sigma_{13}\\ + \sigma_{21}\\ + \sigma_{22}\\ + \sigma_{23}\\ + \sigma_{31}\\ + \sigma_{32}\\ + \sigma_{33} +\end{pmatrix} +\] + +Dehnungstensor 2. Stufe k,l $\in$ {1,2,3} + +\[ +\overline{\varepsilon} += +\varepsilon_{kl} += +\begin{pmatrix} + \varepsilon_{11} & \varepsilon_{12} & \varepsilon_{13} \\ + \varepsilon_{21} & \varepsilon_{22} & \varepsilon_{23} \\ + \varepsilon_{31} & \varepsilon_{32} & \varepsilon_{33} +\end{pmatrix} += +\qquad +\Rightarrow +\qquad +\vec{\varepsilon} += +\begin{pmatrix} + \varepsilon_{11} \\ + \varepsilon_{12} \\ + \varepsilon_{13} \\ + \varepsilon_{21} \\ + \varepsilon_{22} \\ + \varepsilon_{23} \\ + \varepsilon_{31} \\ + \varepsilon_{32} \\ + \varepsilon_{33} +\end{pmatrix} +\] + +Bei diesen zwei obenstehenden Formeln kann man sehen wie Matrizen zu einem Vektor umgewandelt wurden. +Unter dem Kapitel Hadamard-Algebra kann man sehen, dass man dabei Zeile um Zeile in eine Spalte schreiben kann, +sodass es einen Vektor ergibt. + +Elastizitätstensor 4. Stufe i,j,k,l $\in$ {1,2,3} +\[ +\overline\overline{C} += +C_{ijkl} += +\begin{pmatrix} +C_{1111} & C_{1112} & C_{1113} & C_{1121} & C_{1122} & C_{1123} & C_{1131} & C_{1132} & C_{1133} \\ +C_{1211} & C_{1212} & C_{1213} & C_{1221} & C_{1222} & C_{1223} & C_{1231} & C_{1232} & C_{1233} \\ +C_{1311} & C_{1312} & C_{1313} & C_{1321} & C_{1322} & C_{1323} & C_{1331} & C_{1332} & C_{1333} \\ +C_{2111} & C_{2112} & C_{2113} & C_{2121} & C_{2122} & C_{2123} & C_{2131} & C_{2132} & C_{2133} \\ +C_{2211} & C_{2212} & C_{1113} & C_{2221} & C_{2222} & C_{2223} & C_{2231} & C_{2232} & C_{2233} \\ +C_{2311} & C_{2312} & C_{2313} & C_{2321} & C_{2322} & C_{2323} & C_{2331} & C_{2332} & C_{2333} \\ +C_{3111} & C_{3112} & C_{3113} & C_{3121} & C_{3122} & C_{3123} & C_{3131} & C_{3132} & C_{3133} \\ +C_{3211} & C_{3212} & C_{3213} & C_{3221} & C_{3222} & C_{3223} & C_{3231} & C_{3232} & C_{3233} \\ +C_{3311} & C_{3312} & C_{3313} & C_{3321} & C_{3322} & C_{3323} & C_{3331} & C_{3332} & C_{3333} +\end{pmatrix} +\] + +Dieser Elastizitätstensor muss eine quadratische Matrix mit $3^{4}$ Einträgen ergeben, +da die Basis mit den drei Richtungen $1, 2, 3$ und die Potenz mit den 4 Indizes mit je $1, 2, 3$ definiert sind. +Dies gibt daher eine 9 x 9 Matrix, welche zudem symmetrisch ist. + +Folglich gilt: +\[ +\overline{\overline{C}} += +\overline{\overline{C}}~^{T} +\] + +Allgemeine Spannungsgleichung (mit Vektoren und Tensor) +\[ +\vec\sigma += +\overline{\overline{C}}\cdot\vec{\varepsilon} +\] + +\[ +\begin{pmatrix} + \sigma_{11}\\ + \sigma_{12}\\ + \sigma_{13}\\ + \sigma_{21}\\ + \sigma_{22}\\ + \sigma_{23}\\ + \sigma_{31}\\ + \sigma_{32}\\ + \sigma_{33} +\end{pmatrix} += +\frac{E}{(1+\nu)(1-2\nu)} +\begin{pmatrix} + 1-2\nu & 0 & 0 & 0 & \nu & 0 & 0 & 0 & \nu \\ + 0 & frac{1}{4} & 0 & frac{1}{4} & 0 & 0 & 0 & 0 & 0 \\ + 0 & 0 & frac{1}{4} & 0 & 0 & 0 & frac{1}{4} & 0 & 0 \\ + 0 & frac{1}{4} & 0 & frac{1}{4} & 0 & 0 & 0 & 0 & 0 \\ + \nu & 0 & 0 & 0 & 1-2\nu & 0 & 0 & 0 & \nu \\ + 0 & 0 & 0 & 0 & 0 & frac{1}{4} & 0 & frac{1}{4} & 0 \\ + 0 & 0 & frac{1}{4} & 0 & 0 & 0 & frac{1}{4} & 0 & 0 \\ + 0 & 0 & 0 & 0 & 0 & frac{1}{4} & 0 & frac{1}{4} & 0 \\ + \nu & 0 & 0 & 0 & \nu & 0 & 0 & 0 & 1-2\nu +\end{pmatrix} +\begin{pmatrix} + \varepsilon_{11} \\ + \varepsilon_{12} \\ + \varepsilon_{13} \\ + \varepsilon_{21} \\ + \varepsilon_{22} \\ + \varepsilon_{23} \\ + \varepsilon_{31} \\ + \varepsilon_{32} \\ + \varepsilon_{33} +\end{pmatrix} +\] + +Man kann das zudem auch als Indexnotation aufschreiben. + +\[ +\sigma_{ij} += += +\sum_k=1^3 +\sum_l=1^3 +C_{ijkl}\cdot\varepsilon_{kl} +\] + +Um die Berechnung an einem Beispiel zu veranschaulichen: + +\[ +\sigma_{22} += +\frac{E\cdot\nu}{(1+\nu)(1-2\nu)}\cdot\varepsilon_{11}+\frac{E}{(1+\nu)}\cdot\varepsilon_{22}+\frac{E\cdot\nu}{(1+\nu)(1-2\nu)}\cdot\varepsilon_{33} +\] + +Anhand dem Tensor der allgemeinen Spannungsgleichung kann man zwar eine Symmetrie erkennen. +Die verschiedenen Einträge wechseln sich aber mit einander ab und es gibt keine klaren Blöcke mit nur einem gleichen Eintrag. +Man greift deshalb auf die Voigt'sche Notation zurück. + -An diesem infinitesimalen Würfel hat man ein räumliches Koordinatensystem, die Achsen $(1,2,3)$. -Jede dieser 6 Flächen dieses Würfels hat damit 3 Pfeile. -Geschrieben werden diese mit $\sigma$ mit jeweils zwei Indizes gibt. -Die Indizes geben uns an, in welche Richtung der Pfeil zeigt. -Der erste Index ist die Achse auf welcher man sich befindet. -Der zweite Index gibt an, in welche Richtung der Pfeil zeigt. Zur Notation wird die Voigt'sche Notation benutzt. Das sieht wie folgt aus: \[ @@ -30,14 +205,14 @@ Zur Notation wird die Voigt'sche Notation benutzt. Das sieht wie folgt aus: = \begin{pmatrix} \sigma_{11} & \sigma_{12} & \sigma_{13} \\ - & \sigma_{22} & \sigma_{23} \\ - sym & & \sigma_{33} \\ + & \sigma_{22} & \sigma_{23} \\ + sym & & \sigma_{33} \end{pmatrix} \Rightarrow -\overrightarrow{\sigma} +\vec{\sigma} = \begin{pmatrix} - \sigma_{11}\\ + \sigma_{11}\\ \sigma_{22}\\ \sigma_{33}\\ \sigma_{23}\\ @@ -46,24 +221,23 @@ Zur Notation wird die Voigt'sche Notation benutzt. Das sieht wie folgt aus: \end{pmatrix} \] -Voigt'sche Notation besagt, dass man diesen Spannungstensor als Vektor aufschreiben darf. -Die Reihenfolge folgt der Regel von Ecke links oben, diagonal zur Ecke rechts unten. -Danach ist noch $\sigma_{23}$, $\sigma_{13}$ und $\sigma_{12}$ aufzuschreiben. +In der Voigt'sche Notation hat man die Reihenfolge von der Ecke links oben, diagonal zur Ecke rechts unten. +Danach ist noch $\sigma_{23}$, $\sigma_{13}$ und $\sigma_{12}$ aufzuschreiben um den Vektor zu erhalten. Eine weitere Besonderheit ist die Symmetrie der Matrix. -So entspricht $\sigma_{23}$ dem Wert $\sigma_{32}$ oder $\sigma_{13}$ dem Wert $\sigma_{31}$. +So entspricht $\sigma_{23}$ dem Wert $\sigma_{32}$ und $\sigma_{13}$ dem Wert $\sigma_{31}$. Dies ist dadurch bedingt, dass die Kräfte in seitlicher Richtung im Boden die gleichen Werte annehmen. Man hat in dieser Berechnung ein isotropes Material. Im infinitesimalen Körper muss ein Gleichgewicht vorherrschen. Ist kein Gleichgewicht vorhanden, würde sich der Körper zu drehen beginnen. -Es macht somit keinen Unterschied, ob man auf der Achse 2 in Richtung drei geht, +Es macht somit keinen Unterschied, ob man auf der Achse 2 in Richtung 3 geht, oder auf der Achse 3 in Richtung 2. Da die Spannung proportional zur Dehnung ist, kann man die ganze Voigt'sche Notation auch mit der Dehnung ausdrücken. Auch hier wandelt man das ganze gemäss der Reihenfolge in einen Vektor um. \[ -\bar{\varepsilon} +\overline{\varepsilon} = \begin{pmatrix} \varepsilon_{11} & \varepsilon_{12} & \varepsilon_{13} \\ @@ -96,15 +270,22 @@ Mit der hergeleiteten Beziehung für die Spannungsgleichung anhand vom E-Modul, der allgemeinen linearen Spannungsgleichung kann man diese Beziehungen neu aufschreiben. Man benötigt dazu den zuvor berechneten Dehnungsvektor. Die Gleichung besagt: -Spannungsvektor $=$ Elastitzitätstensor $\times$ Dehnungsvektor - \[ -\overrightarrow{\sigma} +\text{Spannungsvektor} += +\text{Elastizitätstensor}\cdot\text{Dehnungsvektor} +\] +\[ +\vec{\sigma} = -\overline{\overline{C}}\cdot \overrightarrow{\varepsilon} +\overline{\overline{C}}\cdot\vec{\varepsilon} \] -Die Vektoren haben je 6 Einträge. Um das ganze auszudrücken braucht es einen 6 x 6 Elastizitätstensor. (Kann man das noch weiter erklären weshalb?????) +Die Vektoren haben je 6 Einträge. Um das ganze auszudrücken braucht es einen 6 x 6 Elastizitätstensor. +Der Tensor hat sich also im Vergleich zum 9 x 9 Tensor verkleinert. +Dies ist deshalb der Fall, da man in den Achsen 2 und 3 Symmetrien hat. +Dadurch kann man die Einträge $(\varepsilon_{21}=\varepsilon_{12}; \varepsilon_{31}=\varepsilon_{13}; \varepsilon_{32}=\varepsilon_{23})$ +zusammenfassen und drei Einträge verschwinden, da drei Dehnungen gleich sind. Das ganze sieht dann wie folgt aus: \[ @@ -135,8 +316,6 @@ Das ganze sieht dann wie folgt aus: \end{pmatrix} \] -IST DIESE REIHENFOLGE KORREKT???? BEI DEHNUNG - Die Spannung $\sigma_{11}$ besteht somit aus Anteilen von all diesen sechs Konstanten und den verschiedenen Dehnungen. Zuvor bei der Voigt'schen Notation hat man jedoch gesehen, dass die Tensoren symmetrisch sind. Folglich muss auch dieser Elastizitätstensor symmetrisch sein. @@ -206,10 +385,12 @@ Mithilfe der Poissonzahl, welche uns die Querdehnung angibt, sprich wie viel sich der Körper in Querrichtung verformt und dem E-Modul kann man alle Konstanten ausdrücken. Bei einigen fällt auf, dass diese 0 werden. Der Tensor besagt also, dass diese jeweiligen Konstanten keinen Einfluss auf unsere Spannung haben. +Man sieht nun auch ganz gut, dass sich im Vergleich bei der allgemeinen Darstellung der Spannungsgleichung, +die Einträge verschoben haben. Man hat nun eine sehr vorteilhafte Anordnung der verschiedenen Blöcke im Tensor. Als Beispiel kann man sich $\sigma_{33}$ anschauen. Es ist ersichtlich, dass die Konstante $C_{31}$, $C_{32}$, $C_{33}$, $C_{35}$ und $C_{36}$ keinen Einfluss auf $\sigma_{33}$ haben. Dies kann wie folgt erklärt werden. Auf Achse 3 geht $\sigma_{33}$ in Richtung 3. -Der Einfluss von $C_{31}$, Achse 3 in Richtung 1 hat keinen Einfluss auf $\sigma_{33}$ +Der Einfluss von $C_{31}$, Achse 3 in Richtung 1 hat keinen Einfluss auf $\sigma_{33}$. Von $\overline{\overline{C}}$ bildet man nun die Inverse Matrix $\overline{\overline{C}}~^{-1}$ stellt sich die ganze Gleichung um. @@ -231,12 +412,12 @@ Von $\overline{\overline{C}}$ bildet man nun die Inverse Matrix $\overline{\ove = \frac{1}{E} \begin{pmatrix} - 1 & -\nu & -\nu & 0 & 0 & 0\\ - -\nu & 1 & -\nu & 0 & 0 & 0\\ - -\nu & -\nu & 1 & 0 & 0 & 0\\ - 0 & 0 & 0 & 2+2\nu & 0 & 0\\ - 0 & 0 & 0 & 0 & 2+2\nu & 0\\ - 0 & 0 & 0 & 0 & 0 & 2+2\nu + 1 & -\nu & -\nu & 0 & 0 & 0 \\ + -\nu & 1 & -\nu & 0 & 0 & 0 \\ + -\nu & -\nu & 1 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 2+2\nu & 0 & 0 \\ + 0 & 0 & 0 & 0 & 2+2\nu & 0 \\ + 0 & 0 & 0 & 0 & 0 & 2+2\nu \end{pmatrix} \begin{pmatrix} \sigma_{11}\\ diff --git a/buch/papers/spannung/teil3.tex b/buch/papers/spannung/teil3.tex index a3b0b7d..4054262 100644 --- a/buch/papers/spannung/teil3.tex +++ b/buch/papers/spannung/teil3.tex @@ -80,8 +80,8 @@ Man hat dann eine Matrix multipliziert mit einem Vektor und erhält einen Vektor \end{pmatrix} = \begin{pmatrix} - \frac{3E}{2(1+\nu)} & 0 \\ - 0 & \frac{E}{3(1-2\nu)} + \frac{3E}{2(1+\nu)} & 0 \\ + 0 & \frac{E}{3(1-2\nu)} \end{pmatrix} \begin{pmatrix} \varepsilon_{s}\\ diff --git a/buch/papers/spannung/teil4.tex b/buch/papers/spannung/teil4.tex index f1437b1..85e9b1b 100644 --- a/buch/papers/spannung/teil4.tex +++ b/buch/papers/spannung/teil4.tex @@ -23,7 +23,7 @@ Den Versuch kann man auf einem $\sigma$ und $\varepsilon$ Diagramm abtragen. \begin{figure} \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/DiagrammOedometer-Versuch.jpg} + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/DiagrammOedometer-Versuch.png} \caption{Diagramm Oedometer - Versuch} \label{fig:Diagramm Oedometer - Versuch} \end{figure} @@ -52,8 +52,8 @@ Man kann die Dehnung in unsere vereinfachte Matrix einsetzen. Das E-Modul ersetz \end{pmatrix} = \begin{bmatrix} - \frac{E_{OED}}{(1+\nu)} & 0 \\ - 0 & \frac{E_{OED}}{(1-2\nu)} + \frac{E_{OED}}{(1+\nu)} & 0 \\ + 0 & \frac{E_{OED}}{(1-2\nu)} \end{bmatrix} \begin{pmatrix} \varepsilon_{11}\\ -- cgit v1.2.1 From d4d4b02c3476fa406e0852ee0eb947d32e3a3d19 Mon Sep 17 00:00:00 2001 From: "User-PC\\User" Date: Sat, 15 May 2021 18:00:28 +0200 Subject: =?UTF-8?q?main.tex=20=C3=BCberarbeitet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/papers/spannung/main.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/spannung/main.tex b/buch/papers/spannung/main.tex index 60696d4..bbdf730 100644 --- a/buch/papers/spannung/main.tex +++ b/buch/papers/spannung/main.tex @@ -4,7 +4,7 @@ % (c) 2020 Hochschule Rapperswil % \chapter{Thema\label{chapter:spannung}} -\lhead{Thema} +\lhead{Dreiachsiger Spannungszustand} \begin{refsection} \chapterauthor{Adrian Schuler und Thomas Reichlin} -- cgit v1.2.1 From dd7bd6ca3b6517435dfc6b740ab96f51aa15ac2e Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Sun, 16 May 2021 16:03:36 +0200 Subject: edit main.tex add chapters --- buch/papers/reedsolomon/main.tex | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index 8219b63..a7485cd 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -3,7 +3,7 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Thema\label{chapter:reedsolomon}} +\chapter{Reed-Solomon-Code\label{chapter:reedsolomon}} \lhead{Thema} \begin{refsection} \chapterauthor{Joshua Bär und Michael Steiner} @@ -27,10 +27,18 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. \end{itemize} +% Joshua \input{papers/reedsolomon/teil0.tex} \input{papers/reedsolomon/teil1.tex} \input{papers/reedsolomon/teil2.tex} \input{papers/reedsolomon/teil3.tex} +% Michael +\input{papers/reedsolomon/endlichekoerper} +\input{papers/reedsolomon/codebsp} +\input{papers/reedsolomon/decohnefehler} +\input{papers/reedsolomon/decmitfehler} +\input{papers/reedsolomon/rekonstruktion} + \printbibliography[heading=subbibliography] \end{refsection} -- cgit v1.2.1 From 898274b6cb5f825fe710eec58349799cdc5f6bc3 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Sun, 16 May 2021 16:04:13 +0200 Subject: create endlichekoerper.tex added chapter description --- buch/papers/reedsolomon/endlichekoerper.tex | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 buch/papers/reedsolomon/endlichekoerper.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/endlichekoerper.tex b/buch/papers/reedsolomon/endlichekoerper.tex new file mode 100644 index 0000000..8ccd918 --- /dev/null +++ b/buch/papers/reedsolomon/endlichekoerper.tex @@ -0,0 +1,23 @@ +% +% teil1.tex -- Beispiel-File für das Paper +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Reed-Solomon in Endlichen Körpern +\label{reedsolomon:section:endlichekoerper}} +\rhead{Problemstellung} + +TODO: + +Das rechnen in endlichen Körpern bietet einige Vorteile: + +\begin{itemize} + \item Konkrete Zahlen: In endlichen Körpern gibt es weder rationale noch komplexe Zahlen. Zudem beschränken sich die möglichen Rechenoperationen auf das Addieren und Multiplizieren. Somit können wir nur ganze Zahlen als Resultat erhalten. + + \item Digitale Fehlerkorrektur: lässt sich nur in endlichen Körpern umsetzen. + +\end{itemize} + +Um jetzt eine Nachricht in den endlichen Körpern zu konstruieren legen wir fest, dass diese Nachricht aus einem Nutzdatenteil und einem Fehlerkorrekturteil bestehen muss. Somit ist die zu übertragende Nachricht immer grösser als die Daten, die wir übertragen wollen. Zudem müssen wir einen Weg finden, den Fehlerkorrekturteil so aus den Nutzdaten zu berechnen, dass wir die Nutzdaten auf der Empfängerseite wieder rekonstruieren können, sollte es zu einer fehlerhaften Übertragung kommen. + +Nun stellt sich die Frage, wie wir eine Fehlerhafte Nachricht korrigieren können, ohne ihren ursprünglichen Inhalt zu kennen. Der Reed-Solomon-Code erzielt dies, indem aus dem Fehlerkorrekturteil ein sogenanntes "Lokatorpolynom" generiert werden kann. Dieses Polynom gibt dem Emfänger an, welche Stellen in der Nachricht feherhaft sind. -- cgit v1.2.1 From 17ada1bd9c8f385c037ab5348292c027380e3cde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sun, 16 May 2021 20:44:40 +0200 Subject: Korrekturen um build zu garantieren --- buch/papers/spannung/teil2.tex | 14 +++++++------- buch/papers/spannung/teil3.tex | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'buch') diff --git a/buch/papers/spannung/teil2.tex b/buch/papers/spannung/teil2.tex index 3db3e26..7dcf65f 100644 --- a/buch/papers/spannung/teil2.tex +++ b/buch/papers/spannung/teil2.tex @@ -95,7 +95,7 @@ sodass es einen Vektor ergibt. Elastizitätstensor 4. Stufe i,j,k,l $\in$ {1,2,3} \[ -\overline\overline{C} +\overline{\overline{C}} = C_{ijkl} = @@ -146,13 +146,13 @@ Allgemeine Spannungsgleichung (mit Vektoren und Tensor) \frac{E}{(1+\nu)(1-2\nu)} \begin{pmatrix} 1-2\nu & 0 & 0 & 0 & \nu & 0 & 0 & 0 & \nu \\ - 0 & frac{1}{4} & 0 & frac{1}{4} & 0 & 0 & 0 & 0 & 0 \\ - 0 & 0 & frac{1}{4} & 0 & 0 & 0 & frac{1}{4} & 0 & 0 \\ - 0 & frac{1}{4} & 0 & frac{1}{4} & 0 & 0 & 0 & 0 & 0 \\ + 0 &\frac{1}{4} & 0 &\frac{1}{4} & 0 & 0 & 0 & 0 & 0 \\ + 0 & 0 &\frac{1}{4} & 0 & 0 & 0 &\frac{1}{4} & 0 & 0 \\ + 0 &\frac{1}{4} & 0 &\frac{1}{4} & 0 & 0 & 0 & 0 & 0 \\ \nu & 0 & 0 & 0 & 1-2\nu & 0 & 0 & 0 & \nu \\ - 0 & 0 & 0 & 0 & 0 & frac{1}{4} & 0 & frac{1}{4} & 0 \\ - 0 & 0 & frac{1}{4} & 0 & 0 & 0 & frac{1}{4} & 0 & 0 \\ - 0 & 0 & 0 & 0 & 0 & frac{1}{4} & 0 & frac{1}{4} & 0 \\ + 0 & 0 & 0 & 0 & 0 &\frac{1}{4} & 0 &\frac{1}{4} & 0 \\ + 0 & 0 &\frac{1}{4} & 0 & 0 & 0 &\frac{1}{4} & 0 & 0 \\ + 0 & 0 & 0 & 0 & 0 &\frac{1}{4} & 0 &\frac{1}{4} & 0 \\ \nu & 0 & 0 & 0 & \nu & 0 & 0 & 0 & 1-2\nu \end{pmatrix} \begin{pmatrix} diff --git a/buch/papers/spannung/teil3.tex b/buch/papers/spannung/teil3.tex index 4054262..500c404 100644 --- a/buch/papers/spannung/teil3.tex +++ b/buch/papers/spannung/teil3.tex @@ -61,13 +61,13 @@ Die hydrostatische Dehnung kann mit einer Kompressionsdehnung verglichen werden. \[ \varepsilon_{s} = -Hydrostatische Dehnung [-] +\text{Hydrostatische Dehnung} [-] \] \[ \varepsilon_{\nu} = -Deviatorische Dehnung [-] +\text{Deviatorische Dehnung} [-] \] Diese Komponenten kann man nun in die Vereinfachte Matrix einsetzen. -- cgit v1.2.1 From 46fa4763d730b1312741eefb8a2981c73389ccae Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 17 May 2021 19:32:32 +0200 Subject: update of codebsp started, restetabelle 1&2 created --- buch/papers/reedsolomon/codebsp.tex | 71 +++++++++++++++++++++++++++++++ buch/papers/reedsolomon/restetabelle1.tex | 24 +++++++++++ buch/papers/reedsolomon/restetabelle2.tex | 24 +++++++++++ 3 files changed, 119 insertions(+) create mode 100644 buch/papers/reedsolomon/codebsp.tex create mode 100644 buch/papers/reedsolomon/restetabelle1.tex create mode 100644 buch/papers/reedsolomon/restetabelle2.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex new file mode 100644 index 0000000..e9359f9 --- /dev/null +++ b/buch/papers/reedsolomon/codebsp.tex @@ -0,0 +1,71 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Codierung eines Beispiels +\label{reedsolomon:section:codebsp}} +\rhead{Koerper Festlegen} + +Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir die einzelnen Probleme und ihre Lösungen anhand eines Beispiels betrachten. +Da wir in Endlichen Körpern Rechnen werden wir zuerst solch ein Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. +Wir legen für unser Beispiel den endlichen Körper $q = 11$ fest. +Alle folgenden Berechnungen wurden mit den beiden Restetabellen \textcolor{red}{xx} und \textcolor{red}{yy} durchgeführt. + +% die beiden Restetabellen von F_11 +%\input{papers/reedsolomon/restetabelle1} +%\input{papers/reedsolomon/restetabelle2} + + + + + +\textbf{DUMP} + +Da Körper laut der \textcolor{red}{Definition 4.6} eine Primzahl sein muss, + + +Dieser Körper sollte jedoch über eine nullteilerfreie Restetabelle verfügen. Somit kommen nur Primzahlen als Körper in frage. + + + Für das Beispiel wählen wir die Zahl $11$. + + uns zu aller erst auf ein sochen Körper festlegen. + +Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir dies anhand eines Beispiels betrachten. + +Um die Nachfolgende Rechenwege besser zu verstehen, werden wir die einzelnen Rechenschritte anhand eines Beispiels betrachten. + + + + +Als erstes muss festgelegt werden, in welchem endlichen Körper gerechnet werden soll. +Da die Restetabelle eines Körpers nullteilerfrei sein soll, kommen so nur Primzahlen in Frage. +Für das Beispiel verwenden wir den Körper $\mathbb{F}_{11}$. So wählen wir + + +$q = 11$ + + +und beinhaltet die Zahlen + + +$Z_{11} = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]$ + +\subsection{De finibus bonorum et malorum +\label{reedsolomon:subsection:malorum}} +At vero eos et accusamus et iusto odio dignissimos ducimus qui +blanditiis praesentium voluptatum deleniti atque corrupti quos +dolores et quas molestias excepturi sint occaecati cupiditate non +provident, similique sunt in culpa qui officia deserunt mollitia +animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis +est et expedita distinctio. Nam libero tempore, cum soluta nobis +est eligendi optio cumque nihil impedit quo minus id quod maxime +placeat facere possimus, omnis voluptas assumenda est, omnis dolor +repellendus. Temporibus autem quibusdam et aut officiis debitis aut +rerum necessitatibus saepe eveniet ut et voluptates repudiandae +sint et molestiae non recusandae. Itaque earum rerum hic tenetur a +sapiente delectus, ut aut reiciendis voluptatibus maiores alias +consequatur aut perferendis doloribus asperiores repellat. + + diff --git a/buch/papers/reedsolomon/restetabelle1.tex b/buch/papers/reedsolomon/restetabelle1.tex new file mode 100644 index 0000000..a5055c0 --- /dev/null +++ b/buch/papers/reedsolomon/restetabelle1.tex @@ -0,0 +1,24 @@ +% created by Michael Steiner +% +% Restetabelle von F_11: Addition +\begin{figure} +\begin{center} +\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline ++&0&1&2&3&4&5&6&7&8&9&10\\ +\hline +0&0&1&2&3&4&5&6&7&8&9&10\\ +1&1&2&3&4&5&6&7&8&9&10&0\\ +2&2&3&4&5&6&7&8&9&10&0&1\\ +3&3&4&5&6&7&8&9&10&0&1&2\\ +4&4&5&6&7&8&9&10&0&1&2&3\\ +5&5&6&7&8&9&10&0&1&2&3&4\\ +6&6&7&8&9&10&0&1&2&3&4&5\\ +7&7&8&9&10&0&1&2&3&4&5&6\\ +8&8&9&10&0&1&2&3&4&5&6&7\\ +9&9&10&0&1&2&3&4&5&6&7&8\\ +10&10&0&1&2&3&4&5&6&7&8&9\\ +\hline +\end{tabular} +\end{center} +\end{figure} \ No newline at end of file diff --git a/buch/papers/reedsolomon/restetabelle2.tex b/buch/papers/reedsolomon/restetabelle2.tex new file mode 100644 index 0000000..887c981 --- /dev/null +++ b/buch/papers/reedsolomon/restetabelle2.tex @@ -0,0 +1,24 @@ +% created by Michael Steiner +% +% Restetabelle von F_11: Multiplikation +\begin{figure} +\begin{center} +\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline +\cdot&0&1&2&3&4&5&6&7&8&9&10\\ +\hline +0&0&0&0&0&0&0&0&0&0&0&0\\ +1&0&1&2&3&4&5&6&7&8&9&10\\ +2&0&2&4&6&8&10&1&3&5&7&9\\ +3&0&3&6&9&1&4&7&10&2&5&8\\ +4&0&4&8&1&5&9&2&6&10&3&7\\ +5&0&5&10&4&9&3&8&2&7&1&6\\ +6&0&6&1&7&2&8&3&9&4&10&5\\ +7&0&7&3&10&6&2&9&5&1&8&4\\ +8&0&8&5&2&10&7&4&1&9&6&3\\ +9&0&9&7&5&3&1&10&8&6&4&2\\ +10&0&10&9&8&7&6&5&4&3&2&1\\ +\hline +\end{tabular} +\end{center} +\end{figure} \ No newline at end of file -- cgit v1.2.1 From 55fc006b2133da4f79eb6eb5179d584c130824a2 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 18 May 2021 18:29:59 +0200 Subject: updated codebsp.tex, created decohnefehler.tex (with blindtext) --- buch/papers/reedsolomon/codebsp.tex | 174 +++++++++++++++++++++--------- buch/papers/reedsolomon/decohnefehler.tex | 40 +++++++ 2 files changed, 161 insertions(+), 53 deletions(-) create mode 100644 buch/papers/reedsolomon/decohnefehler.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex index e9359f9..5b67c43 100644 --- a/buch/papers/reedsolomon/codebsp.tex +++ b/buch/papers/reedsolomon/codebsp.tex @@ -11,61 +11,129 @@ Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir di Da wir in Endlichen Körpern Rechnen werden wir zuerst solch ein Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. Wir legen für unser Beispiel den endlichen Körper $q = 11$ fest. Alle folgenden Berechnungen wurden mit den beiden Restetabellen \textcolor{red}{xx} und \textcolor{red}{yy} durchgeführt. +Aus den Tabellen folgt auch, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur Verfügung stehen. % die beiden Restetabellen von F_11 %\input{papers/reedsolomon/restetabelle1} %\input{papers/reedsolomon/restetabelle2} - - - - -\textbf{DUMP} - -Da Körper laut der \textcolor{red}{Definition 4.6} eine Primzahl sein muss, - - -Dieser Körper sollte jedoch über eine nullteilerfreie Restetabelle verfügen. Somit kommen nur Primzahlen als Körper in frage. - - - Für das Beispiel wählen wir die Zahl $11$. - - uns zu aller erst auf ein sochen Körper festlegen. - -Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir dies anhand eines Beispiels betrachten. - -Um die Nachfolgende Rechenwege besser zu verstehen, werden wir die einzelnen Rechenschritte anhand eines Beispiels betrachten. - - - - -Als erstes muss festgelegt werden, in welchem endlichen Körper gerechnet werden soll. -Da die Restetabelle eines Körpers nullteilerfrei sein soll, kommen so nur Primzahlen in Frage. -Für das Beispiel verwenden wir den Körper $\mathbb{F}_{11}$. So wählen wir - - -$q = 11$ - - -und beinhaltet die Zahlen - - -$Z_{11} = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]$ - -\subsection{De finibus bonorum et malorum -\label{reedsolomon:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. - - +Die grösse des endlichen Körpers legt auch fest, wie gross unsere Nachricht $n$ bestehend aus Nutzdatenteil und Fehlerkorrekturteil sein kann und beträgt in unserem Beispiel +\[ +n = q - 1 = 10 \text{ Zahlen}. +\] + +Im nächsten Schritt bestimmen wir, wie viele Fehler $t$ maximal während der Übertragung auftreten dürfen, damit wir sie noch korrigieren können. +Unser Beispielcode sollte in der Lage sein +\[ +t = 2 +\] +Fehlerstellen korrigieren zu können. + +Die Grösse des Nutzdatenteils hängt von der Grösse der Nachricht sowie der Anzahl der Fehlerkorrekturstellen. Je robuster der Code sein muss, desto weniger Platz für Nutzdaten $k$ bleibt in der Nachricht übrig. +Bei maximal 2 Fehler können wir noch +\[ +k = n - 2t = 6\text{ Zahlen} +\] +übertragen. + +Zusammenfassend haben wir einen Codeblock mit der Länge von 10 Zahlen definiert, der 6 Zahlen als Nutzlast beinhaltet und in der Lage ist aus 2 fehlerhafte Stellen im Block die ursprünglichen Nutzdaten rekonstruieren kann. Zudem werden wir im weiteren feststellen, dass dieser Code maximal 4 Fehlerstellen erkennen, diese aber nicht rekonstruieren kann. + +Wir legen nun die Nachricht +\[ +m = [0,0,0,0,4,7,2,5,8,1] +\] +fest, die wir gerne an einen Empfänger übertragen möchten, wobei die vorderen vier Nullstellen für die Fehlerkorrektur zuständig sind. +Die Nachricht können wir auch als Polynom +\[ +m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 +\] +darstellen. + +\subsection{Der Ansatz der diskreten Fouriertransformation + \label{reedsolomon:subsection:diskFT}} + +In einem vorherigen Kapitel (???) haben wir schon einmal die diskrete Fouriertransformation zum Codieren einer Nachricht verwendet. In den endlichen Körpern wird dies jedoch nicht gelingen, da die Eulerische Zahl $\mathrm{e}$ in $\mathbb{F}_{11}$ nicht existiert. +Wir suchen also eine Zahl $a^i$, die in endlichen Körpern existiert und den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken kann. +Dazu schreiben wir +\[ +\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\} +\] +um in +\[ +\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}. +\] + +Wenn wir alle möglichen Werte für $a$ einsetzen, also + +%\begin{align} +%a = 0 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\} \\ +%a = 1 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\} \\ +%a = 2 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 2, 4, 8, 5, 10, 9, 7, 3, 6\} \\ +%a = 3 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 3, 9, 5, 4, 1, 3, 9, 5, 4\} \\ +%a = 4 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 4, 5, 9, 3, 1, 4, 5, 9, 3\} \\ +%a = 5 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 5, 3, 4, 9, 1, 5, 3, 4, 9\} \\ +%a = 6 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 6, 3, 7, 9, 10, 5, 8, 4, 2\} \\ +%a = 7 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 7, 5, 2, 3, 10, 4, 6, 9, 8\} \\ +%a = 8 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 8, 9, 6, 4, 10, 3, 2, 5, 7\} \\ +%a = 9 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 9, 4, 3, 5, 1, 9, 4, 3, 5\} \\ +%a = 10 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\} +%\end{align} + +\begin{center} +\begin{tabular}{c r c l} +%$a = 0 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\}$ \\ +$a = 1 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\}$ \\ +$a = 2 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 2, 4, 8, 5, 10, 9, 7, 3, 6\}$ \\ +$a = 3 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 3, 9, 5, 4, 1, 3, 9, 5, 4\}$ \\ +$a = 4 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 4, 5, 9, 3, 1, 4, 5, 9, 3\}$ \\ +$a = 5 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 5, 3, 4, 9, 1, 5, 3, 4, 9\}$ \\ +$a = 6 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 6, 3, 7, 9, 10, 5, 8, 4, 2\}$ \\ +$a = 7 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 7, 5, 2, 3, 10, 4, 6, 9, 8\}$ \\ +$a = 8 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 8, 9, 6, 4, 10, 3, 2, 5, 7\}$ \\ +$a = 9 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 9, 4, 3, 5, 1, 9, 4, 3, 5\}$ \\ +$a = 10 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\}$ +\end{tabular} +\end{center} + +so fällt uns auf, dass die Zahlen $2,6,7,8$ tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em Primitive Einheitswurzel \em genannt. +Für das Beispiel wählen wir die Zahl $a^i = 8$. +Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetzen. + +\begin{center} + \begin{tabular}{c} + $m(8^0) = 4 \cdot 1 + 7 \cdot 1 + 2 \cdot 1 + 5 \cdot 1 + 8 \cdot 1 + 1 = 5$ \\ + $m(8^1) = 4 \cdot 8 + 7 \cdot 8 + 2 \cdot 8 + 5 \cdot 8 + 8 \cdot 8 + 1 = 3$ \\ + \vdots + \end{tabular} +\end{center} + +Für eine elegantere Formulierung stellen wir das ganze als Matrix dar, wobei $m$ unser Nachrichtenvektor, $A$ die Transformationsmatrix und $v$ unser Übertragungsvektor ist. + +\[ +v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ +\end{pmatrix} +\] + +Somit bekommen wir für unseren Übertragungsvektor +\[ +v = [5,3,6,5,2,10,2,7,10,4], +\] +den wir jetzt über einen beliebigen Nachrichtenkanal versenden können. + +\textbf{NOTES} + +warum wird 0 weggelassen? diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex new file mode 100644 index 0000000..832d63f --- /dev/null +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -0,0 +1,40 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Decodierung ohne Fehler +\label{reedsolomon:section:decohnefehler}} +\rhead{Teil 3} +Sed ut perspiciatis unde omnis iste natus error sit voluptatem +accusantium doloremque laudantium, totam rem aperiam, eaque ipsa +quae ab illo inventore veritatis et quasi architecto beatae vitae +dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit +aspernatur aut odit aut fugit, sed quia consequuntur magni dolores +eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam +est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci +velit, sed quia non numquam eius modi tempora incidunt ut labore +et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima +veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, +nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure +reprehenderit qui in ea voluptate velit esse quam nihil molestiae +consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla +pariatur? + +\subsection{De finibus bonorum et malorum +\label{reedsolomon:subsection:malorum}} +At vero eos et accusamus et iusto odio dignissimos ducimus qui +blanditiis praesentium voluptatum deleniti atque corrupti quos +dolores et quas molestias excepturi sint occaecati cupiditate non +provident, similique sunt in culpa qui officia deserunt mollitia +animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis +est et expedita distinctio. Nam libero tempore, cum soluta nobis +est eligendi optio cumque nihil impedit quo minus id quod maxime +placeat facere possimus, omnis voluptas assumenda est, omnis dolor +repellendus. Temporibus autem quibusdam et aut officiis debitis aut +rerum necessitatibus saepe eveniet ut et voluptates repudiandae +sint et molestiae non recusandae. Itaque earum rerum hic tenetur a +sapiente delectus, ut aut reiciendis voluptatibus maiores alias +consequatur aut perferendis doloribus asperiores repellat. + + -- cgit v1.2.1 From 9c25485518e7f80050a8ee2a12b94abb009c9a58 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 18 May 2021 21:14:36 +0200 Subject: finished first final version of decohnefehler.tex --- buch/papers/reedsolomon/decohnefehler.tex | 128 ++++++++++++++++++++++-------- 1 file changed, 97 insertions(+), 31 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex index 832d63f..90f8ba8 100644 --- a/buch/papers/reedsolomon/decohnefehler.tex +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -5,36 +5,102 @@ % \section{Decodierung ohne Fehler \label{reedsolomon:section:decohnefehler}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{reedsolomon:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. +\rhead{fehlerlose rekonstruktion} +Im ersten Teil zur Decodierung des Übertragungsvektor betrachten wir den Übertragungskanal als fehlerfrei. +Wir erhalten also unseren Übertragungsvektor +\[ +v = [5,3,6,5,2,10,2,7,10,4]. +\] +Gesucht ist nun einen Weg, mit dem wir auf unseren Nachrichtenvektor zurückrechnen können. +Ein banaler Ansatz ist das Invertieren der Glechung +\[ +v = A \cdot m \qquad \Rightarrow \qquad m = A^{-1} \cdot v. +\] +Nur stellt sich dann die Frage, wie wir auf die Inverse der Matix $A$ kommen. +Dazu können wir wiederum den Ansatz der Fouriertransformation uns zur Hilfe nehmen, +jedoch betrachten wir jetzt deren Inverse. +Definiert ist sie als +\[ +F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt \qquad \Rightarrow \qquad \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega. +\] + +In unserem Fall suchen wir also eine inverse für die Primitive Einheitswurzel $a$, also +\[ +8^1 \qquad \Rightarrow \qquad 8^{-1}. +\] + +Im Abschnitt \textcolor{red}{4.1} haben wir den euklidischen Algorithmus kennengelernt, den wir auf unseren Fall anwenden können. + +\subsection{Der Euklidische Algorithmus +\label{reedsolomon:subsection:eukAlgo}} + +Die Funktionsweise des euklidischen Algorithmus ist im Kapitel \textcolor{red}{4.1} ausführlich beschrieben. +Für unsere Anwendung wählen wir die Parameter $a_i = 8$ und $b_i = 11$. +Daraus erhalten wir + +\begin{center} + +\begin{tabular}{| c | c c | c | r r |} + \hline + $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ + \hline + & & & & $1$& $0$\\ + $0$& $8$& $11$& $0$& $0$& $1$\\ + $1$& $11$& $8$& $1$& $1$& $0$\\ + $2$& $8$& $3$& $2$& $-1$& $1$\\ + $3$& $3$& $2$& $1$& $3$& $-2$\\ + $4$& $2$& $1$& $2$& \textcolor{blue}{$-4$}& \textcolor{red}{$3$}\\ + $5$& $1$& $0$& & $11$& $-8$\\ + \hline +\end{tabular} + +\end{center} +\begin{center} + +\begin{tabular}{rcl} + $\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$\\ + $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $8^{-1}$ &$=$& $7$ + +\end{tabular} + +\end{center} + +als Inverse der Primitiven Einheitswurzel. + +Nun haben wir fast alles für die Rücktransformation beisammen. Wie auch bei der Inversen Fouriertransformation haben wir nun einen Vorfaktor +\[ +m = \textcolor{red}{s} \cdot A^{-1} \cdot v +\] +den wir noch bestimmen müssen. +Glücklicherweise lässt der sich analog wie bei der Inversen Fouriertransformation bestimmen und beträgt +\[ +s = \frac{1}{10}. +\] +Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ ergibt. +Somit lässt sich den Nachrichtenvektor einfach bestimmen mit +\[ +m = 10 \cdot A^{-1} \cdot v \qquad \Rightarrow \qquad m = 10 \cdot \begin{pmatrix} + 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ + 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ + 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ + 7^0& 7^3& 7^6& 7^9& 7^{12}& 7^{15}& 7^{18}& 7^{21}& 7^{24}& 7^{27}\\ + 7^0& 7^4& 7^8& 7^{12}& 7^{16}& 7^{20}& 7^{24}& 7^{28}& 7^{32}& 7^{36}\\ + 7^0& 7^5& 7^{10}& 7^{15}& 7^{20}& 7^{25}& 7^{30}& 7^{35}& 7^{40}& 7^{45}\\ + 7^0& 7^6& 7^{12}& 7^{18}& 7^{24}& 7^{30}& 7^{36}& 7^{42}& 7^{48}& 7^{54}\\ + 7^0& 7^7& 7^{14}& 7^{21}& 7^{28}& 7^{35}& 7^{42}& 7^{49}& 7^{56}& 7^{63}\\ + 7^0& 7^8& 7^{16}& 7^{24}& 7^{32}& 7^{40}& 7^{48}& 7^{56}& 7^{64}& 7^{72}\\ + 7^0& 7^9& 7^{18}& 7^{27}& 7^{36}& 7^{45}& 7^{54}& 7^{63}& 7^{72}& 7^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ +\end{pmatrix} +\] +und wir erhalten +\[ +m = [0,0,0,0,4,7,2,5,8,1] +\] +als unsere Nachricht zurück. \ No newline at end of file -- cgit v1.2.1 From 80416f0ab893f2b80a01be4acc13bd03c7a03682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 20 May 2021 10:09:26 +0200 Subject: add new slides --- buch/chapters/80-wahrscheinlichkeit/parrondo.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'buch') diff --git a/buch/chapters/80-wahrscheinlichkeit/parrondo.tex b/buch/chapters/80-wahrscheinlichkeit/parrondo.tex index a62d813..688414c 100644 --- a/buch/chapters/80-wahrscheinlichkeit/parrondo.tex +++ b/buch/chapters/80-wahrscheinlichkeit/parrondo.tex @@ -24,15 +24,15 @@ Je nach Ausgang gewinnt oder verliert der Spieler eine Einheit. Sei $X$ die Zufallsvariable, die den gewonnen Betrag beschreibt. Für eine faire Münze ist die Gewinnerwartung in diesem Spiel natürlich $E(X)=0$. -Wenn die Wahrscheinlichkeit für einen Gewinn $1+e$ ist, dann muss -die Wahrscheinlichkeit für einen Verlust $1-e$ sein, und die +Wenn die Wahrscheinlichkeit für einen Gewinn $\frac12+e$ ist, dann muss +die Wahrscheinlichkeit für einen Verlust $\frac12-e$ sein, und die Gewinnerwartung ist \( E(X) = 1\cdot P(X=1) + (-1)\cdot P(X=-1) = -1+e + (-1)(1-e) +\frac12+e + (-1)\biggl(\frac12-e\biggr) = 2e. \) -- cgit v1.2.1 From afde1752bdb1adfec3fd1c369ecc69833ea6c2c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 20 May 2021 13:17:08 +0200 Subject: add new slides --- buch/chapters/80-wahrscheinlichkeit/parrondo.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/chapters/80-wahrscheinlichkeit/parrondo.tex b/buch/chapters/80-wahrscheinlichkeit/parrondo.tex index 688414c..50e7fda 100644 --- a/buch/chapters/80-wahrscheinlichkeit/parrondo.tex +++ b/buch/chapters/80-wahrscheinlichkeit/parrondo.tex @@ -763,7 +763,7 @@ Eigenwert $1$ finden, die Rechnung mit dem Gauss-Algorithmus liefert p= \frac{1}{709} \begin{pmatrix} -245\\180\\84 +245\\180\\284 \end{pmatrix}. \] Damit kann man jetzt die Gewinnwahrscheinlichkeit im iterierten Spiel -- cgit v1.2.1 From 6981f2935af17ca2dfce29f0d2d169d9f527b487 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 22 May 2021 13:58:27 +0200 Subject: Write a bit about symmetry --- buch/papers/punktgruppen/Makefile.inc | 2 + buch/papers/punktgruppen/intro.tex | 1 + buch/papers/punktgruppen/main.tex | 29 +--------- buch/papers/punktgruppen/symmetry.tex | 103 ++++++++++++++++++++++++++++++++++ 4 files changed, 108 insertions(+), 27 deletions(-) create mode 100644 buch/papers/punktgruppen/intro.tex create mode 100644 buch/papers/punktgruppen/symmetry.tex (limited to 'buch') diff --git a/buch/papers/punktgruppen/Makefile.inc b/buch/papers/punktgruppen/Makefile.inc index 629abca..06be362 100644 --- a/buch/papers/punktgruppen/Makefile.inc +++ b/buch/papers/punktgruppen/Makefile.inc @@ -6,5 +6,7 @@ dependencies-punktgruppen = \ papers/punktgruppen/packages.tex \ papers/punktgruppen/main.tex \ + papers/punktgruppen/intro.tex \ + papers/punktgruppen/symmetry.tex \ papers/punktgruppen/references.bib diff --git a/buch/papers/punktgruppen/intro.tex b/buch/papers/punktgruppen/intro.tex new file mode 100644 index 0000000..4a84465 --- /dev/null +++ b/buch/papers/punktgruppen/intro.tex @@ -0,0 +1 @@ +\section{Einleitung} diff --git a/buch/papers/punktgruppen/main.tex b/buch/papers/punktgruppen/main.tex index 603f293..d7690fd 100644 --- a/buch/papers/punktgruppen/main.tex +++ b/buch/papers/punktgruppen/main.tex @@ -8,33 +8,8 @@ \begin{refsection} \chapterauthor{Tim T\"onz, Naoki Pross} -%% TODO: remove -%% Some ideas to motivate the topic: -%% - Physics in a crystal lattice structure -%% - Birifrencenge and scattering of light / Xray in Crystals -%% - Electron density function in a lattice -%% - Heat diffusion with lattice model -%% - Ising model for ferromagnetism (?? => H.D. Lang) -%% -%% - Homomorphic encryption (or lattice based cryptography) -%% + Q: Is it possible to edit encrypted data without decrypting it first? - -%% TODO: translated and move into a file {{{ - -\section{Motivation} -% birifrengence - -\section{Math} -% lattice group -% symmetry -% space group - -\section{Physics} -\subsection{Electromagnetic Waves} -\subsection{Crystal Lattice} - - -%% }}} +\input{papers/punktgruppen/intro} +\input{papers/punktgruppen/symmetry} \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/punktgruppen/symmetry.tex b/buch/papers/punktgruppen/symmetry.tex new file mode 100644 index 0000000..9a1a945 --- /dev/null +++ b/buch/papers/punktgruppen/symmetry.tex @@ -0,0 +1,103 @@ +\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, +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. +\begin{definition}[Symmetrie] + Ein mathematisches Objekt wird als symmetrisch bezeichnet, wenn es unter einer + bestimmten Operation invariant ist. +\end{definition} + +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 etwas Intuition aufbauen. + +\begin{figure}[h] + \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} + \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 +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 +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. + +\begin{definition}[Symmetriegruppe] + Sei \(g\) eine Operation, die ein mathematisches Objekt unverändert lässt. + Bei einer anderen Operation \(r\) definieren wir die Komposition \(r\circ g\) + als die Anwendung der Operationen nacheinander. Alle Operationen \(g_i\) + bilden unter Komposition eine Gruppe, die Symmetriegruppe genannt wird. +\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 +\[ + C_n = \left\{\mathbf{1}, r, r^2, \ldots, r^{n-1}\right\} +\] +die Zyklische Gruppe heisst. + +\begin{definition}[Gruppenwirkung] +\end{definition} + +% vim:ts=2 sw=2 spell spelllang=de: -- cgit v1.2.1 From 2d2e4369b5d58bc9cd4dcb83ac43e3cda6341f3b Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 22 May 2021 18:01:15 +0200 Subject: More on symmetry --- buch/papers/punktgruppen/packages.tex | 2 +- buch/papers/punktgruppen/references.bib | 14 ++++++++- buch/papers/punktgruppen/symmetry.tex | 54 +++++++++++++++++++++++++++++---- 3 files changed, 62 insertions(+), 8 deletions(-) (limited to 'buch') diff --git a/buch/papers/punktgruppen/packages.tex b/buch/papers/punktgruppen/packages.tex index 9953339..a6efdbf 100644 --- a/buch/papers/punktgruppen/packages.tex +++ b/buch/papers/punktgruppen/packages.tex @@ -4,4 +4,4 @@ % (c) 2019 Prof Dr Andreas Müller, Hochschule Rapperswil % -\usepackage{tikz-3dplot} +\usepackage{dsfont} diff --git a/buch/papers/punktgruppen/references.bib b/buch/papers/punktgruppen/references.bib index aa7eb14..0d4e30a 100644 --- a/buch/papers/punktgruppen/references.bib +++ b/buch/papers/punktgruppen/references.bib @@ -4,6 +4,19 @@ % (c) 2020 Autor, Hochschule Rapperswil % +@book{punktgruppen:pinter-algebra, + title = {A Book of Abstract Algebra}, + author = {Charles C. Pinter}, + publisher = {Dover Publications Inc.; 2. Edition}, + year = {2010}, + month = {1}, + day = {10}, + isbn = {978-0486474175}, + inseries = {Dover Books on Mathematics}, + volume = {1} +} + + @online{punktgruppen:bibtex, title = {BibTeX}, url = {https://de.wikipedia.org/wiki/BibTeX}, @@ -32,4 +45,3 @@ pages = {607--627}, url = {https://doi.org/10.1016/j.acha.2017.11.004} } - diff --git a/buch/papers/punktgruppen/symmetry.tex b/buch/papers/punktgruppen/symmetry.tex index 9a1a945..58950da 100644 --- a/buch/papers/punktgruppen/symmetry.tex +++ b/buch/papers/punktgruppen/symmetry.tex @@ -86,18 +86,60 @@ nun eingeführt wird. \begin{definition}[Symmetriegruppe] Sei \(g\) eine Operation, die ein mathematisches Objekt unverändert lässt. Bei einer anderen Operation \(r\) definieren wir die Komposition \(r\circ g\) - als die Anwendung der Operationen nacheinander. Alle Operationen \(g_i\) - bilden unter Komposition eine Gruppe, die Symmetriegruppe genannt wird. + als die Anwendung der Operationen nacheinander. Alle Operationen bilden unter + Komposition eine Gruppe, die Symmetriegruppe genannt wird. \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 \[ - C_n = \left\{\mathbf{1}, r, r^2, \ldots, r^{n-1}\right\} + 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. - -\begin{definition}[Gruppenwirkung] +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\cite{punktgruppen:pinter-algebra}. 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 +\[ + D_n = \langle r, \sigma : r^{n-1} = \sigma^2 = (\sigma r)^2 = \mathds{1} \rangle + . +\] +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] + Seien \(G\) und \(H\) Gruppe mit unterschiedlicher Operation \(\diamond\) + bzw. \(\star\). Ein Homomorphismus 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\cite{punktgruppen:pinter-algebra}. \end{definition} +\begin{beispiel} + Die Elemente \(r^k \in C_n\), wobei \(0 < k < n\), stellen abstrakt eine + Drehung von \(2\pi k/n\) um den Ursprung dar. Die mit der Matrix + \[ + \Phi(r^k) = \begin{pmatrix} + \cos(2\pi k/n) & -\sin(2\pi k/n) \\ + \sin(2\pi k/n) & \cos(2\pi k/n) + \end{pmatrix} + \] + definierte Funktion von \(C_n\) nach \(O(2)\) ist eine Darstellung von + \(C_n\). In diesem Fall ist die erste Gruppenoperation die Komposition und + die zweite die Matrixmultiplikation. Man kann zwar ü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} % vim:ts=2 sw=2 spell spelllang=de: -- cgit v1.2.1 From b76677a7d3d40d15c4d9d5bcfa9283c702c4cb02 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 22 May 2021 18:22:14 +0200 Subject: Create file for crystals --- buch/papers/punktgruppen/Makefile.inc | 1 + buch/papers/punktgruppen/crystals.tex | 1 + buch/papers/punktgruppen/main.tex | 2 ++ buch/papers/punktgruppen/symmetry.tex | 15 ++++++++++----- 4 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 buch/papers/punktgruppen/crystals.tex (limited to 'buch') diff --git a/buch/papers/punktgruppen/Makefile.inc b/buch/papers/punktgruppen/Makefile.inc index 06be362..c7a7d64 100644 --- a/buch/papers/punktgruppen/Makefile.inc +++ b/buch/papers/punktgruppen/Makefile.inc @@ -8,5 +8,6 @@ dependencies-punktgruppen = \ papers/punktgruppen/main.tex \ papers/punktgruppen/intro.tex \ papers/punktgruppen/symmetry.tex \ + papers/punktgruppen/crystals.tex \ papers/punktgruppen/references.bib diff --git a/buch/papers/punktgruppen/crystals.tex b/buch/papers/punktgruppen/crystals.tex new file mode 100644 index 0000000..b104901 --- /dev/null +++ b/buch/papers/punktgruppen/crystals.tex @@ -0,0 +1 @@ +\section{Kristalle} diff --git a/buch/papers/punktgruppen/main.tex b/buch/papers/punktgruppen/main.tex index d7690fd..cbd2af6 100644 --- a/buch/papers/punktgruppen/main.tex +++ b/buch/papers/punktgruppen/main.tex @@ -10,6 +10,8 @@ \input{papers/punktgruppen/intro} \input{papers/punktgruppen/symmetry} +\input{papers/punktgruppen/crystals} +\nocite{punktgruppen:pinter-algebra} \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/punktgruppen/symmetry.tex b/buch/papers/punktgruppen/symmetry.tex index 58950da..c0418aa 100644 --- a/buch/papers/punktgruppen/symmetry.tex +++ b/buch/papers/punktgruppen/symmetry.tex @@ -101,15 +101,20 @@ 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\cite{punktgruppen:pinter-algebra}. Die Reflexionssymmetriegruppe ist -nicht so interessant, da sie nur +Teilmenge erzeugt werden, die als erzeugende Elemente bezeichnet werden. 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 \[ D_n = \langle r, \sigma : r^{n-1} = \sigma^2 = (\sigma r)^2 = \mathds{1} \rangle - . + = \left\{ + \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. + 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? @@ -119,7 +124,7 @@ Natürlich, ja. Dafür führen wir den Begriff der Darstellung ein. bzw. \(\star\). Ein Homomorphismus 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\cite{punktgruppen:pinter-algebra}. + \(H\) eine Darstellung von \(G\) ist. \end{definition} \begin{beispiel} Die Elemente \(r^k \in C_n\), wobei \(0 < k < n\), stellen abstrakt eine -- cgit v1.2.1 From 3aec8355b975973bfe192dedd216cc0f2b644770 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sun, 23 May 2021 15:09:31 +0200 Subject: Create file for piezo, update bibliography --- buch/papers/punktgruppen/Makefile.inc | 1 + buch/papers/punktgruppen/main.tex | 4 ++++ buch/papers/punktgruppen/piezo.tex | 1 + buch/papers/punktgruppen/references.bib | 40 ++++++++++++--------------------- 4 files changed, 20 insertions(+), 26 deletions(-) create mode 100644 buch/papers/punktgruppen/piezo.tex (limited to 'buch') diff --git a/buch/papers/punktgruppen/Makefile.inc b/buch/papers/punktgruppen/Makefile.inc index c7a7d64..b6a76c1 100644 --- a/buch/papers/punktgruppen/Makefile.inc +++ b/buch/papers/punktgruppen/Makefile.inc @@ -9,5 +9,6 @@ dependencies-punktgruppen = \ papers/punktgruppen/intro.tex \ papers/punktgruppen/symmetry.tex \ papers/punktgruppen/crystals.tex \ + papers/punktgruppen/piezo.tex \ papers/punktgruppen/references.bib diff --git a/buch/papers/punktgruppen/main.tex b/buch/papers/punktgruppen/main.tex index cbd2af6..d88e221 100644 --- a/buch/papers/punktgruppen/main.tex +++ b/buch/papers/punktgruppen/main.tex @@ -11,7 +11,11 @@ \input{papers/punktgruppen/intro} \input{papers/punktgruppen/symmetry} \input{papers/punktgruppen/crystals} +\input{papers/punktgruppen/piezo} \nocite{punktgruppen:pinter-algebra} +\nocite{punktgruppen:sands-crystal} +\nocite{punktgruppen:lang-elt2} + \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/punktgruppen/piezo.tex b/buch/papers/punktgruppen/piezo.tex new file mode 100644 index 0000000..7ee4174 --- /dev/null +++ b/buch/papers/punktgruppen/piezo.tex @@ -0,0 +1 @@ +\section{Piezoelektrizit\"at} diff --git a/buch/papers/punktgruppen/references.bib b/buch/papers/punktgruppen/references.bib index 0d4e30a..9edb8bd 100644 --- a/buch/papers/punktgruppen/references.bib +++ b/buch/papers/punktgruppen/references.bib @@ -11,37 +11,25 @@ year = {2010}, month = {1}, day = {10}, - isbn = {978-0486474175}, + isbn = {978-0-486-47417-5}, inseries = {Dover Books on Mathematics}, - volume = {1} } +@book{punktgruppen:sands-crystal, + title = {Introduction to Crystallography}, + author = {Donald E. Sands}, + publisher = {Dover Publications Inc.}, + year = {1993}, + isbn = {978-0-486-67839-9}, + inseries = {Dover Books on Science}, +} -@online{punktgruppen:bibtex, - title = {BibTeX}, - url = {https://de.wikipedia.org/wiki/BibTeX}, - date = {2020-02-06}, +@book{punktgruppen:lang-elt2, + title = {Elektrotechnik 2}, + author = {Hans-Dieter Lang}, + publisher = {Fachhochschule Ostschweiz Rapperswil}, year = {2020}, month = {2}, - day = {6} -} - -@book{punktgruppen:numerical-analysis, - title = {Numerical Analysis}, - author = {David Kincaid and Ward Cheney}, - publisher = {American Mathematical Society}, - year = {2002}, - isbn = {978-8-8218-4788-6}, - inseries = {Pure and applied undegraduate texts}, - volume = {2} + inseries = {Vorlesungsskript zum Modul ELT}, } -@article{punktgruppen:mendezmueller, - author = { Tabea Méndez and Andreas Müller }, - title = { Noncommutative harmonic analysis and image registration }, - journal = { Appl. Comput. Harmon. Anal.}, - year = 2019, - volume = 47, - pages = {607--627}, - url = {https://doi.org/10.1016/j.acha.2017.11.004} -} -- cgit v1.2.1 From b4093cfc873e052d31f644019f0b1134f1db7fbc Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sun, 23 May 2021 16:24:34 +0200 Subject: On point groups and translational symmetry --- buch/papers/punktgruppen/symmetry.tex | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/punktgruppen/symmetry.tex b/buch/papers/punktgruppen/symmetry.tex index c0418aa..d3ccb4e 100644 --- a/buch/papers/punktgruppen/symmetry.tex +++ b/buch/papers/punktgruppen/symmetry.tex @@ -85,7 +85,7 @@ nun eingeführt wird. \begin{definition}[Symmetriegruppe] Sei \(g\) eine Operation, die ein mathematisches Objekt unverändert lässt. - Bei einer anderen Operation \(r\) definieren wir die Komposition \(r\circ g\) + 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} @@ -147,4 +147,32 @@ Natürlich, ja. Dafür führen wir den Begriff der Darstellung ein. 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)\)} 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 \(x\) wird gesagt, dass es eine Translationssymmetrie \(Q\) hat, wenn es +die Gleichung +\[ + Q(x) = Q(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)\). + + % vim:ts=2 sw=2 spell spelllang=de: -- cgit v1.2.1 From 8c5d6d7b31f052bd90010a0ed182ac6468c10bc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 24 May 2021 09:41:46 +0200 Subject: abschnitt spektrale Graphentheorie --- buch/chapters/70-graphen/Makefile.inc | 1 + buch/chapters/70-graphen/chapter.tex | 1 + buch/chapters/70-graphen/images/Makefile | 5 +- buch/chapters/70-graphen/images/petersonchrind.pdf | Bin 0 -> 15217 bytes buch/chapters/70-graphen/images/petersonchrind.tex | 142 +++++++++++ buch/chapters/70-graphen/spektral.tex | 269 ++++++++------------- buch/chapters/70-graphen/waerme.tex | 184 ++++++++++++++ 7 files changed, 434 insertions(+), 168 deletions(-) create mode 100644 buch/chapters/70-graphen/images/petersonchrind.pdf create mode 100644 buch/chapters/70-graphen/images/petersonchrind.tex create mode 100644 buch/chapters/70-graphen/waerme.tex (limited to 'buch') diff --git a/buch/chapters/70-graphen/Makefile.inc b/buch/chapters/70-graphen/Makefile.inc index d8fe742..2a7d9a6 100644 --- a/buch/chapters/70-graphen/Makefile.inc +++ b/buch/chapters/70-graphen/Makefile.inc @@ -7,5 +7,6 @@ CHAPTERFILES = $(CHAPTERFILES) \ chapters/70-graphen/beschreibung.tex \ chapters/70-graphen/spektral.tex \ + chapters/70-graphen/waerme.tex \ chapters/70-graphen/wavelets.tex \ chapters/70-graphen/chapter.tex diff --git a/buch/chapters/70-graphen/chapter.tex b/buch/chapters/70-graphen/chapter.tex index b6e02c9..6def393 100644 --- a/buch/chapters/70-graphen/chapter.tex +++ b/buch/chapters/70-graphen/chapter.tex @@ -65,5 +65,6 @@ Basis zur Beschreibung von Funktionen auf dem Graphen. \input{chapters/70-graphen/beschreibung.tex} \input{chapters/70-graphen/spektral.tex} +\input{chapters/70-graphen/waerme.tex} \input{chapters/70-graphen/wavelets.tex} diff --git a/buch/chapters/70-graphen/images/Makefile b/buch/chapters/70-graphen/images/Makefile index bd77756..8f98134 100644 --- a/buch/chapters/70-graphen/images/Makefile +++ b/buch/chapters/70-graphen/images/Makefile @@ -3,11 +3,14 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf +all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf \ + petersonchrind.pdf peterson.pdf: peterson.tex pdflatex peterson.tex +petersonchrind.pdf: petersonchrind.tex + pdflatex petersonchrind.tex adjazenzu.pdf: adjazenzu.tex pdflatex adjazenzu.tex diff --git a/buch/chapters/70-graphen/images/petersonchrind.pdf b/buch/chapters/70-graphen/images/petersonchrind.pdf new file mode 100644 index 0000000..23ef6e9 Binary files /dev/null and b/buch/chapters/70-graphen/images/petersonchrind.pdf differ diff --git a/buch/chapters/70-graphen/images/petersonchrind.tex b/buch/chapters/70-graphen/images/petersonchrind.tex new file mode 100644 index 0000000..4ae9f39 --- /dev/null +++ b/buch/chapters/70-graphen/images/petersonchrind.tex @@ -0,0 +1,142 @@ +% +% tikztemplate.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\Ra{2} +\def\Ri{1} +\def\e{1.0} +\def\r{0.2} + +\begin{scope}[xshift=-3.5cm] + +\definecolor{rot}{rgb}{0.8,0,0.8} +\definecolor{gruen}{rgb}{0.2,0.6,0.2} +\definecolor{blau}{rgb}{1,0.6,0.2} + +\coordinate (PA) at ({\Ri*sin(0*72)},{\e*\Ri*cos(0*72)}); +\coordinate (PB) at ({\Ri*sin(1*72)},{\e*\Ri*cos(1*72)}); +\coordinate (PC) at ({\Ri*sin(2*72)},{\e*\Ri*cos(2*72)}); +\coordinate (PD) at ({\Ri*sin(3*72)},{\e*\Ri*cos(3*72)}); +\coordinate (PE) at ({\Ri*sin(4*72)},{\e*\Ri*cos(4*72)}); + +\coordinate (QA) at ({\Ra*sin(0*72)},{\e*\Ra*cos(0*72)}); +\coordinate (QB) at ({\Ra*sin(1*72)},{\e*\Ra*cos(1*72)}); +\coordinate (QC) at ({\Ra*sin(2*72)},{\e*\Ra*cos(2*72)}); +\coordinate (QD) at ({\Ra*sin(3*72)},{\e*\Ra*cos(3*72)}); +\coordinate (QE) at ({\Ra*sin(4*72)},{\e*\Ra*cos(4*72)}); + +\draw (PA)--(PC)--(PE)--(PB)--(PD)--cycle; +\draw (QA)--(QB)--(QC)--(QD)--(QE)--cycle; +\draw (PA)--(QA); +\draw (PB)--(QB); +\draw (PC)--(QC); +\draw (PD)--(QD); +\draw (PE)--(QE); + +\fill[color=blau] (PA) circle[radius=\r]; +\fill[color=rot] (PB) circle[radius=\r]; +\fill[color=rot] (PC) circle[radius=\r]; +\fill[color=gruen] (PD) circle[radius=\r]; +\fill[color=gruen] (PE) circle[radius=\r]; + +\fill[color=rot] (QA) circle[radius=\r]; +\fill[color=blau] (QB) circle[radius=\r]; +\fill[color=gruen] (QC) circle[radius=\r]; +\fill[color=rot] (QD) circle[radius=\r]; +\fill[color=blau] (QE) circle[radius=\r]; + +\draw (PA) circle[radius=\r]; +\draw (PB) circle[radius=\r]; +\draw (PC) circle[radius=\r]; +\draw (PD) circle[radius=\r]; +\draw (PE) circle[radius=\r]; + +\draw (QA) circle[radius=\r]; +\draw (QB) circle[radius=\r]; +\draw (QC) circle[radius=\r]; +\draw (QD) circle[radius=\r]; +\draw (QE) circle[radius=\r]; + +\node at (0,{-\Ra}) [below] {$\operatorname{chr}P=3\mathstrut$}; + +\end{scope} + +\begin{scope}[xshift=3.5cm] +\definecolor{rot}{rgb}{0.8,0,0.8} +\definecolor{gruen}{rgb}{0.2,0.6,0.2} +\definecolor{blau}{rgb}{1,0.6,0.2} +\definecolor{gelb}{rgb}{0,0,1} + +\coordinate (PA) at ({\Ri*sin(0*72)},{\e*\Ri*cos(0*72)}); +\coordinate (PB) at ({\Ri*sin(1*72)},{\e*\Ri*cos(1*72)}); +\coordinate (PC) at ({\Ri*sin(2*72)},{\e*\Ri*cos(2*72)}); +\coordinate (PD) at ({\Ri*sin(3*72)},{\e*\Ri*cos(3*72)}); +\coordinate (PE) at ({\Ri*sin(4*72)},{\e*\Ri*cos(4*72)}); + +\coordinate (QA) at ({\Ra*sin(0*72)},{\e*\Ra*cos(0*72)}); +\coordinate (QB) at ({\Ra*sin(1*72)},{\e*\Ra*cos(1*72)}); +\coordinate (QC) at ({\Ra*sin(2*72)},{\e*\Ra*cos(2*72)}); +\coordinate (QD) at ({\Ra*sin(3*72)},{\e*\Ra*cos(3*72)}); +\coordinate (QE) at ({\Ra*sin(4*72)},{\e*\Ra*cos(4*72)}); + +\draw (PA)--(PC)--(PE)--(PB)--(PD)--cycle; +\draw (QA)--(QB)--(QC)--(QD)--(QE)--cycle; +\draw (PA)--(QA); +\draw (PB)--(QB); +\draw (PC)--(QC); +\draw (PD)--(QD); +\draw (PE)--(QE); + +\fill[color=rot] (QA) circle[radius={1.5*\r}]; +\fill[color=rot!40] (QB) circle[radius=\r]; +\fill[color=rot!40] (QE) circle[radius=\r]; +\fill[color=rot!40] (PA) circle[radius=\r]; + +\fill[color=blau] (PB) circle[radius={1.5*\r}]; +\fill[color=blau!40] (PD) circle[radius=\r]; +\fill[color=blau!40] (PE) circle[radius=\r]; +\fill[color=blau!80,opacity=0.5] (QB) circle[radius=\r]; + +\fill[color=gruen] (PC) circle[radius={1.5*\r}]; +\fill[color=gruen!40] (QC) circle[radius=\r]; +\fill[color=gruen!80,opacity=0.5] (PA) circle[radius=\r]; +\fill[color=gruen!80,opacity=0.5] (PE) circle[radius=\r]; + +\fill[color=gelb] (QD) circle[radius={1.5*\r}]; +\fill[color=gelb!80,opacity=0.5] (QC) circle[radius=\r]; +\fill[color=gelb!80,opacity=0.5] (QE) circle[radius=\r]; +\fill[color=gelb!80,opacity=0.5] (PD) circle[radius=\r]; + +\draw (PA) circle[radius=\r]; +\draw (PB) circle[radius={1.5*\r}]; +\draw (PC) circle[radius={1.5*\r}]; +\draw (PD) circle[radius=\r]; +\draw (PE) circle[radius=\r]; + +\draw (QA) circle[radius={1.5*\r}]; +\draw (QB) circle[radius=\r]; +\draw (QC) circle[radius=\r]; +\draw (QD) circle[radius={1.5*\r}]; +\draw (QE) circle[radius=\r]; + +\node at (0,{-\Ra}) [below] {$\operatorname{ind}P=4\mathstrut$}; + +\end{scope} + + + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/70-graphen/spektral.tex b/buch/chapters/70-graphen/spektral.tex index f68c814..bc5c425 100644 --- a/buch/chapters/70-graphen/spektral.tex +++ b/buch/chapters/70-graphen/spektral.tex @@ -1,198 +1,133 @@ % -% spektral.tex +% spektral.tex -- spektrale Graphentheorie % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{Spektrale Graphentheorie \label{buch:section:spektrale-graphentheorie}} \rhead{Spektrale Graphentheorie} -Die Laplace-Matrix codiert alle wesentliche Information eines +Die Adjazenz-Matrix, die Grad-Matrix und damit natürlich auch +die Laplace-Matrix codieren alle wesentliche Information eines ungerichteten Graphen. Sie operiert auf Vektoren, die für jeden Knoten des Graphen eine Komponente haben. Dies eröffnet die Möglichkeit, den Graphen über die linearalgebraischen -Eigenschaften der Laplace-Matrix zu studieren. +Eigenschaften dieser Matrizen zu studieren. +Dieser Abschnitt soll diese Idee an dem ziemlich übersichtlichen Beispiel +der chromatischen Zahl eines Graphen illustrieren. -\subsection{Grapheigenschaften und Spektrum von $L$ -\label{buch:subsection:grapheigenschaften-und-spektrum-von-l}} -TODO XXX +\subsection{Chromatische Zahl und Unabhängigkeitszahl +\label{buch:subsection:chromatische-zahl}} +Der Grad eines Knotens ist ein mass dafür, wie stark ein Graph +``vernetzt'' ist. +Je höher der Grad, desto mehr direkte Verbindungen zwischen Knoten gibt es. +Noch etwas präziser können diese Idee die beiden mit Hilfe der +chromatischen zahl und der Unabhängigkeitszahl erfasst werden. -\subsection{Wärmeleitung auf einem Graphen -\label{buch:subsection:waermeleitung-auf-einem-graphen}} -Die Vektoren, auf denen die Laplace-Matrix operiert, können betrachtet -werden als Funktionen, die jedem Knoten einen Wert zuordnen. -Eine mögliche physikalische Interpretation davon ist die Temperaturverteilung -auf dem Graphen. -Die Kanten zwischen den Knoten erlauben der Wärmeenergie, von einem Knoten -zu einem anderen zu fliessen. -Je grösser die Temperaturdifferenz zwischen zwei Knoten ist, desto -grösser ist der Wärmefluss und desto schneller ändert sich die Temperatur -der beteiligten Knoten. -Die zeitliche Änderung der Temperatur $T_i$ im Knoten $i$ ist proportional -\[ -\frac{dT_i}{dt} -= -\sum_{\text{$j$ Nachbar von $i$}} \kappa (T_j-T_i) -= -- -\kappa -\biggl( -d_iT_i -- -\sum_{\text{$j$ Nachbar von $i$}} T_j -\biggr) -\] -Der Term auf der rechten Seite ist genau die Wirkung der -Laplace-Matrix auf dem Vektor $T$ der Temperaturen: -\begin{equation} -\frac{dT}{dt} -= --\kappa L T. -\label{buch:graphen:eqn:waermeleitung} -\end{equation} -Der Wärmefluss, der durch die -Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} beschrieben -wird, codiert ebenfalls wesentliche Informationen über den Graphen. -Je mehr Kanten es zwischen verschiedenen Teilen eines Graphen gibt, -desto schneller findet der Wärmeaustausch zwischen diesen Teilen -statt. -Die Lösungen der Wärmeleitungsgleichung liefern also Informationen -über den Graphen. +\begin{definition} +Die {\em chromatische Zahl} $\operatorname{chr}G$ eines Graphen $G$ ist +die minimale Anzahl von Farben, die Einfärben der Knoten eines Graphen +nötig sind, sodass benachbarte Knoten verschiedene Farben haben. +\index{chromatische Zahl} +\end{definition} -\subsection{Eigenwerte und Eigenvektoren -\label{buch:subsection:ein-zyklischer-graph}} -Die Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} -ist eine lineare Differentialgleichung mit konstanten Koeffizienten, -die mit der Matrixexponentialfunktion gelöst werden. -Die Lösung ist -\[ -f(t) = e^{-\kappa Lt}f(0). -\] +\begin{definition} +Eine Menge von Knoten eines Graphen heisst {\em unabhängig}, wenn +keine zwei Knoten im Graphen verbunden sind. +Die {\em Unabhängigkeitszahl} $\operatorname{ind}G$ eines Graphen $G$ +ist die maximale Anzahl Knoten einer unabhängigen Menge. +\index{Unabhängigkeitszahl} +\end{definition} -Die Berechnung der Lösung mit der Matrixexponentialreihe ist ziemlich -ineffizient, da grosse Matrizenprodukte berechnet werden müssen. -Da die Matrix $L$ symmetrisch ist, gibt es eine Basis aus -orthonormierten Eigenvektoren und die Eigenwerte sind reell. -Wir bezeichnen die Eigenvektoren mit $f_1,\dots,f_n$ und die -zugehörigen Eigenwerte mit $\lambda_i$. -Die Funktion $f_i(t)= e^{-\kappa\lambda_it}f_i$ ist dann eine Lösung -der Wärmeleitungsgleichung, denn die beiden Seiten +Zwischen der chromatischen Zahl und der Unabhängigkeitszahl eines Graphen +muss es einen Zusammenhang geben. +Je mehr Verbingungen es im Graphen gibt, desto grösser wird die chromatische +Zahl. +Gleichzeitig wird es schwieriger für Mengen von Knoten, unabhängig zu sein. + +\begin{satz} +\label{buch:satz:chrind} +Ist $G$ ein Graph mit $n$ Knoten, dann gilt +$\operatorname{chr}G\cdot\operatorname{ind}G\ge n$. +\end{satz} + +\begin{proof}[Beweis] +Eine minimale Färbung des Graphen mit $\operatorname{chr}G$ Farben +teilt die Knoten in $\operatorname{chr}G$ Mengen $V_f$ von Knoten mit +gleicher Farbe $f$ ein. +Da diese Mengen einfarbig sind, sind sie unabhängig, enthalten also +höchstens so viele Knoten, wie die Unabhängigkeitszahl erlaubt. +Die Gesamtzahl der Knoten ist also \begin{align*} -\frac{d}{dt}f_i(t) +V +&= +\bigcup_{\text{$f$ eine Farbe}} V_f +&&\Rightarrow& +n &= --\kappa\lambda_ie^{-\kappa\lambda_it}f_i +\sum_{\text{$f$ eine Farbe}} |V_f| +\le +\sum_{\text{$f$ eine Farbe}} \operatorname{ind}G = --\kappa\lambda_i f_i(t) +(\text{Anzahl Farben})\cdot \operatorname{ind}G \\ --\kappa Lf_i(t) +& +&&& &= --\kappa e^{-\kappa\lambda_it} Lf_i -= --\kappa e^{-\kappa\lambda_it} \lambda_i f_i -= --\kappa \lambda_i f_i(t) +\operatorname{chr}G \cdot \operatorname{ind}G \end{align*} -von \eqref{buch:graphen:eqn:waermeleitung} stimmen überein. +Damit ist $n\le \operatorname{chr}G\cdot\operatorname{ind}G$ gezeigt. +\qedhere +\end{proof} -Eine Lösung der Wärmeleitungsgleichung zu einer beliebigen -Anfangstemperaturverteilung $f$ kann durch Linearkombination aus -den Lösungen $f_i(t)$ zusammengesetzt werden. -Dazu ist nötig, $f$ aus den Vektoren $f_i$ linear zu kombinieren. -Da aber die $f_i$ orthonormiert sind, ist dies besonders einfach, -die Koeffizienten sind die Skalarprodukte mit den Eigenvektoren: -\[ -f=\sum_{i=1}^n \langle f_i,f\rangle f_i. -\] -Daraus kann man die allgmeine Lösungsformel -\begin{equation} -f(t) -= -\sum_{i=1}^n \langle f_i,f\rangle f_i(t) -= -\sum_{i=1}^n \langle f_i,f\rangle e^{-\kappa\lambda_i t}f_i -\label{buch:graphen:eqn:eigloesung} -\end{equation} -ableiten. +\begin{beispiel} +In einem vollständigen Graphen ist jeder Knoten mit jedem anderen verbunden. +Jede Menge mit zwei oder mehr Knoten kann daher nicht unabhängig sein, die +Unabhängigkeitszahl ist daher $\operatorname{ind}G=1$. +Andererseits ist für jeden Knoten eine eigene Farbe nötig, daher ist die +chromatische Zahl $\operatorname{chr}G=n$. +Die Ungleichung von Satz~\ref{buch:satz:chrind} ist erfüllt, sogar mit +Gleichheit. +Das Beispiel zeigt, dass die Ungleichung nicht ohne zusätzliche Annahmen +verbessert werden kann. +\end{beispiel} -\subsection{Beispiel: Ein zyklischer Graph} \begin{figure} \centering -\includegraphics{chapters/70-graphen/images/kreis.pdf} -\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem -Graphen. -\label{buch:graphen:fig:kreis}} +\includegraphics{chapters/70-graphen/images/petersonchrind.pdf} +\caption{Chromatische Zahl und Unabhängigkeitszahl des Peterson-Graphen. +Die chromatische Zahl ist $3$, da der Graph sich mit drei Farben einfärben +lässt (links). +Die Unabhängigkeitszahl ist $4$, die vier grösseren Knoten im rechten +Graphen sind unabhängig. +Die Farben der kleinen Knoten sind die additive Mischung der Farben +der grossen Knoten, mit denen sie verbunden sind. +\label{buch:graphen:fig:chrindpeterson}} \end{figure} -Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen -von Abbildung~\ref{buch:graphen:fig:kreis}. -Besonders interessant sind die folgenden Funktionen: -\[ -\left. -\begin{aligned} -s_m(k) -&= -\sin\frac{2\pi mk}{n} -\\ -c_m(k) -&= -\cos\frac{2\pi mk}{n} -\end{aligned} -\; -\right\} -\quad -\Rightarrow -\quad -e_m(k) -= -e^{2\pi imk/n} -= -c_m(k) + is_m(k). -\] -Das Skalarprodukt dieser Funktionen ist -\[ -\langle e_m, e_{m'}\rangle -= -\frac1n -\sum_{k=1}^n -\overline{e^{2\pi i km/n}} -e^{2\pi ikm'/n} -= -\frac1n -\sum_{k=1}^n -e^{\frac{2\pi i}{n}(m'-m)k} -= -\delta_{mm'} -\] -Die Funktionen bilden daher eine Orthonormalbasis des Raums der -Funktionen auf $G$. -Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$ -die Funktionen -\[ -c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2} -\] -eine orthonormierte Basis. +\begin{beispiel} +Der Peterson-Graph $P$ von Abbildung~\ref{buch:graphen:fig:chrindpeterson} +hat chromatische Zahl $\operatorname{chr}P=3$ und unabhängigkeitszahl +$\operatorname{ind}P=4$. +Die Ungleichung von Satz~\ref{buch:satz:chrind} ist erfüllt, sogar als +Ungleichung: $\operatorname{chr}P\cdot\operatorname{ind}P=3\cdot 4=12>10=n$. +\end{beispiel} -Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen -Abbildung auf Funktionen auf dem Graphen gemacht werden. -Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit -Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist. -Dann definieren wir die Funktion $Lf$ durch -\[ -(Lf)(v) -= -\sum_{v'\in V} l_{vv'}f(v'). -\] +Nach Definition ist Unabhängigkeitszahl ein Mass für die Grösse einer +unabhängigen Menge von Punkten. +Der Beweis von Satz~\ref{buch:satz:chrind} zeigt, dass man sich die +chromatische Zahl als ein Mass dafür, wieviele solche anabhängige +Mengen in einem Grapehn untergebracht werden können. + +\subsection{Chromatische Zahl und maximaler Grad +\label{buch:subsection:chr-und-maximaler-grad}} + +\subsection{Maximaler Eigenwert von $A(G)$ maximaler Grad +\label{buch:subsection:maximaler-eigenwert}} -\subsection{Standardbasis und Eigenbasis -\label{buch:subsection:standardbasis-und-eigenbasis}} -Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear -kombinieren lassen, ist die Standardbasis. -Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten -\[ -e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} -1\qquad&v=v'\\ -0\qquad&\text{sonst.} -\end{cases} -\] +\subsection{$\alpha_{\text{max}}$ eines Untegraphen +\label{buch:subsection:alphamax-eines-untergraphen}} +\subsection{Chromatische Zahl und $\alpha_{\text{max}}$ +\label{buch:subsection:chr-und-alpha-max}} diff --git a/buch/chapters/70-graphen/waerme.tex b/buch/chapters/70-graphen/waerme.tex new file mode 100644 index 0000000..e7fc023 --- /dev/null +++ b/buch/chapters/70-graphen/waerme.tex @@ -0,0 +1,184 @@ +% +% waerme.tex +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Wärmeleitung auf einem Graphen +\label{buch:section:waermeleitung-auf-einem-graphen}} +Die Vektoren, auf denen die Laplace-Matrix operiert, können betrachtet +werden als Funktionen, die jedem Knoten einen Wert zuordnen. +Eine mögliche physikalische Interpretation davon ist die Temperaturverteilung +auf dem Graphen. +Die Kanten zwischen den Knoten erlauben der Wärmeenergie, von einem Knoten +zu einem anderen zu fliessen. +Je grösser die Temperaturdifferenz zwischen zwei Knoten ist, desto +grösser ist der Wärmefluss und desto schneller ändert sich die Temperatur +der beteiligten Knoten. +Die zeitliche Änderung der Temperatur $T_i$ im Knoten $i$ ist proportional +\[ +\frac{dT_i}{dt} += +\sum_{\text{$j$ Nachbar von $i$}} \kappa (T_j-T_i) += +- +\kappa +\biggl( +d_iT_i +- +\sum_{\text{$j$ Nachbar von $i$}} T_j +\biggr) +\] +Der Term auf der rechten Seite ist genau die Wirkung der +Laplace-Matrix auf dem Vektor $T$ der Temperaturen: +\begin{equation} +\frac{dT}{dt} += +-\kappa L T. +\label{buch:graphen:eqn:waermeleitung} +\end{equation} +Der Wärmefluss, der durch die +Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} beschrieben +wird, codiert ebenfalls wesentliche Informationen über den Graphen. +Je mehr Kanten es zwischen verschiedenen Teilen eines Graphen gibt, +desto schneller findet der Wärmeaustausch zwischen diesen Teilen +statt. +Die Lösungen der Wärmeleitungsgleichung liefern also Informationen +über den Graphen. + +\subsection{Eigenwerte und Eigenvektoren +\label{buch:subsection:ein-zyklischer-graph}} +Die Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} +ist eine lineare Differentialgleichung mit konstanten Koeffizienten, +die mit der Matrixexponentialfunktion gelöst werden. +Die Lösung ist +\[ +f(t) = e^{-\kappa Lt}f(0). +\] + +Die Berechnung der Lösung mit der Matrixexponentialreihe ist ziemlich +ineffizient, da grosse Matrizenprodukte berechnet werden müssen. +Da die Matrix $L$ symmetrisch ist, gibt es eine Basis aus +orthonormierten Eigenvektoren und die Eigenwerte sind reell. +Wir bezeichnen die Eigenvektoren mit $f_1,\dots,f_n$ und die +zugehörigen Eigenwerte mit $\lambda_i$. +Die Funktion $f_i(t)= e^{-\kappa\lambda_it}f_i$ ist dann eine Lösung +der Wärmeleitungsgleichung, denn die beiden Seiten +\begin{align*} +\frac{d}{dt}f_i(t) +&= +-\kappa\lambda_ie^{-\kappa\lambda_it}f_i += +-\kappa\lambda_i f_i(t) +\\ +-\kappa Lf_i(t) +&= +-\kappa e^{-\kappa\lambda_it} Lf_i += +-\kappa e^{-\kappa\lambda_it} \lambda_i f_i += +-\kappa \lambda_i f_i(t) +\end{align*} +von \eqref{buch:graphen:eqn:waermeleitung} stimmen überein. + +Eine Lösung der Wärmeleitungsgleichung zu einer beliebigen +Anfangstemperaturverteilung $f$ kann durch Linearkombination aus +den Lösungen $f_i(t)$ zusammengesetzt werden. +Dazu ist nötig, $f$ aus den Vektoren $f_i$ linear zu kombinieren. +Da aber die $f_i$ orthonormiert sind, ist dies besonders einfach, +die Koeffizienten sind die Skalarprodukte mit den Eigenvektoren: +\[ +f=\sum_{i=1}^n \langle f_i,f\rangle f_i. +\] +Daraus kann man die allgmeine Lösungsformel +\begin{equation} +f(t) += +\sum_{i=1}^n \langle f_i,f\rangle f_i(t) += +\sum_{i=1}^n \langle f_i,f\rangle e^{-\kappa\lambda_i t}f_i +\label{buch:graphen:eqn:eigloesung} +\end{equation} +ableiten. + +\subsection{Beispiel: Ein zyklischer Graph} +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/kreis.pdf} +\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem +Graphen. +\label{buch:graphen:fig:kreis}} +\end{figure} +Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen +von Abbildung~\ref{buch:graphen:fig:kreis}. +Besonders interessant sind die folgenden Funktionen: +\[ +\left. +\begin{aligned} +s_m(k) +&= +\sin\frac{2\pi mk}{n} +\\ +c_m(k) +&= +\cos\frac{2\pi mk}{n} +\end{aligned} +\; +\right\} +\quad +\Rightarrow +\quad +e_m(k) += +e^{2\pi imk/n} += +c_m(k) + is_m(k). +\] +Das Skalarprodukt dieser Funktionen ist +\[ +\langle e_m, e_{m'}\rangle += +\frac1n +\sum_{k=1}^n +\overline{e^{2\pi i km/n}} +e^{2\pi ikm'/n} += +\frac1n +\sum_{k=1}^n +e^{\frac{2\pi i}{n}(m'-m)k} += +\delta_{mm'} +\] +Die Funktionen bilden daher eine Orthonormalbasis des Raums der +Funktionen auf $G$. +Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$ +die Funktionen +\[ +c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2} +\] +eine orthonormierte Basis. + + +Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen +Abbildung auf Funktionen auf dem Graphen gemacht werden. +Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit +Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist. +Dann definieren wir die Funktion $Lf$ durch +\[ +(Lf)(v) += +\sum_{v'\in V} l_{vv'}f(v'). +\] + +\subsection{Standardbasis und Eigenbasis +\label{buch:subsection:standardbasis-und-eigenbasis}} +Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear +kombinieren lassen, ist die Standardbasis. +Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten +\[ +e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} +1\qquad&v=v'\\ +0\qquad&\text{sonst.} +\end{cases} +\] + + -- cgit v1.2.1 From 18fb6543de96f23cfa254005a045e1595f48cff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 24 May 2021 13:58:26 +0200 Subject: =?UTF-8?q?Kapitel=20=C3=BCber=20spektrale=20Graphentheorie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/chapters/70-graphen/images/Makefile | 5 +- buch/chapters/70-graphen/images/nine.pdf | Bin 0 -> 2136 bytes buch/chapters/70-graphen/images/nine.tex | 67 +++++++ buch/chapters/70-graphen/spektral.tex | 335 ++++++++++++++++++++++++++++++- 4 files changed, 403 insertions(+), 4 deletions(-) create mode 100644 buch/chapters/70-graphen/images/nine.pdf create mode 100644 buch/chapters/70-graphen/images/nine.tex (limited to 'buch') diff --git a/buch/chapters/70-graphen/images/Makefile b/buch/chapters/70-graphen/images/Makefile index 8f98134..d34247b 100644 --- a/buch/chapters/70-graphen/images/Makefile +++ b/buch/chapters/70-graphen/images/Makefile @@ -4,7 +4,7 @@ # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf \ - petersonchrind.pdf + petersonchrind.pdf nine.pdf peterson.pdf: peterson.tex pdflatex peterson.tex @@ -23,3 +23,6 @@ kreis.pdf: kreis.tex fundamental.pdf: fundamental.tex pdflatex fundamental.tex +nine.pdf: nine.tex + pdflatex nine.tex + diff --git a/buch/chapters/70-graphen/images/nine.pdf b/buch/chapters/70-graphen/images/nine.pdf new file mode 100644 index 0000000..2ae9f68 Binary files /dev/null and b/buch/chapters/70-graphen/images/nine.pdf differ diff --git a/buch/chapters/70-graphen/images/nine.tex b/buch/chapters/70-graphen/images/nine.tex new file mode 100644 index 0000000..f214c1e --- /dev/null +++ b/buch/chapters/70-graphen/images/nine.tex @@ -0,0 +1,67 @@ +% +% nine.tex -- Nine node graph to illustrate Wilf's theorem +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\def\kante#1#2{ + \draw[shorten >= 0.2cm,shorten <= 0.2cm] (#1) -- (#2); +} +\def\knoten#1#2{ + \fill[color=#2!30] (#1) circle[radius=0.2]; + \draw[color=#2] (#1) circle[radius=0.2]; + \draw (#1) circle[radius=0.2]; +} +\def\R{1.5} +\definecolor{rot}{rgb}{1,0,0} +\definecolor{gruen}{rgb}{0,0.6,0} +\definecolor{blau}{rgb}{0,0,1} + +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\coordinate (A) at (0:\R); +\coordinate (B) at (40:\R); +\coordinate (C) at (80:\R); +\coordinate (D) at (120:\R); +\coordinate (E) at (160:\R); +\coordinate (F) at (200:\R); +\coordinate (G) at (240:\R); +\coordinate (H) at (280:\R); +\coordinate (I) at (320:\R); + +\knoten{A}{rot} +\knoten{B}{blau} +\knoten{C}{gruen} +\knoten{D}{blau} +\knoten{E}{rot} +\knoten{F}{blau} +\knoten{G}{rot} +\knoten{H}{gruen} +\knoten{I}{blau} + +\kante{A}{B} +\kante{B}{C} +\kante{C}{D} +\kante{D}{E} +\kante{E}{F} +\kante{F}{G} +\kante{G}{H} +\kante{H}{I} +\kante{I}{A} + +\kante{A}{C} +\kante{A}{D} +\kante{D}{G} + + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/70-graphen/spektral.tex b/buch/chapters/70-graphen/spektral.tex index bc5c425..571b7e1 100644 --- a/buch/chapters/70-graphen/spektral.tex +++ b/buch/chapters/70-graphen/spektral.tex @@ -119,15 +119,344 @@ Der Beweis von Satz~\ref{buch:satz:chrind} zeigt, dass man sich die chromatische Zahl als ein Mass dafür, wieviele solche anabhängige Mengen in einem Grapehn untergebracht werden können. +% +% Chromatische Zahl und maximaler Grad +% \subsection{Chromatische Zahl und maximaler Grad \label{buch:subsection:chr-und-maximaler-grad}} +Wenn kein Knoten mehr als $d$ Nachbarn hat, dann reichen +$d+1$ Farben immer, um diesen Knoten und seine Nachbarn einzufärben. +Das heisst aber noch nicht, dass dann auch $d+1$ Farben zur +Einfärbung des ganzen Graphen reichen. +Genau dies garantiert jedoch der folgende Satz. + +\begin{definition} +Der {\em maximale Grad} +\( +\max_{v\in V} \deg(v) +\) +wird mit $d$ bezeichnet. +\end{definition} + +\begin{satz} +\label{buch:graphen:satz:chrmaxgrad} +Ist $G$ ein Graph mit maximalem Grad $d$, dann gilt +$\operatorname{chr}G \le d+1$. +\end{satz} + +\begin{proof}[Beweis] +Wir führen den Beweis mit Hilfe von vollständiger Induktion nach der +Anzahl Knoten eines Graphen. +Ein Graph mit nur einem Knoten hat keine Kanten, der maximale Grad ist +daher $0$ und $d+1=1$ Farbe reicht auch tatsächlich zur Einfärbung des +einen Knotens. -\subsection{Maximaler Eigenwert von $A(G)$ maximaler Grad +Wir nehmen jetzt an, die Behaupt sei für Graphen mit $n-1$ Knoten bereits +bewiesen, ein Graph $G'$ mit $n-1$ Knoten und maximalem Grad $d'$ erfüllt +also die Ungleichung $\operatorname{chr}G'\le d'+1$. + +Wir wählen jetzt einen beleibigen Knoten $v$ des Graphen $G$ und bilden +den Graphen $G'$, der aus $G$ entsteht, indem man den Knoten $v$ +entfernt: $G'=G\setminus\{v\}$. +Der maximale Grad $d'$ von $G'$ kann dabei nicht grösser werden, es ist +also $d'\le d$. +Da $G'$ genau $n-1$ Knoten hat, lässt er sich mit höchstens $d'+1\le d+1$ +Farben einfärben. +Es muss jetzt also nur noch eine Farbe für den Knoten $v$ gefunden werden. +Da $d$ der maximale Grad ist, hat $v$ höchstens $d$ Nachbarn, die höchstens +$d$ verschiedene Farben haben können. +Von den $d+1$ zur Verfügung stehenden Farben bleibt also mindestens eine +übrig, mit der man den Knoten $v$ einfärben kann. +Damit ist der Induktionsschritt gelungen und somit der Satz bewiesen. +\end{proof} + +Das Argument im Beweis von Satz~\ref{buch:graphen:satz:chrmaxgrad} +ist für alle Begriffe anwendbar, die sich bei der Bildung eines +Untergraphen auf ``monotone'' Art ändern. +Die chromatische Zahl eines Untergraphen ist höchstens so gross wie die +des ganzen Graphen. +Dann kann man eine Ungleichung für grosse Graphen schrittweise aus +entsprechenden Ungleichungen für die kleineren Teilgraphen gewinnen. +Ziel der folgenden Abschnitte ist zu zeigen, dass sich eine Grösse +mit ähnlichen Eigenschaften aus dem Eigenwertspektrum der Adjazenzmatrix +ablesen lässt. +Daraus ergibt sich dann eine bessere Abschätzung der chromatischen Zahl +eines Graphen. + +% +% maximaler Eigenwert und maximaler Grad +% +\subsection{Maximaler Eigenwert von $A(G)$ und maximaler Grad \label{buch:subsection:maximaler-eigenwert}} +Die Adjazenzmatrix $A(G)$ eines Graphen $G$ mit $n$ Knoten enthält unter +anderem auch die Information über den Grad eines Knotens. +Die Summe der Elemente einer Zeile oder einer Spalte ergibt einen Vektor, +der die Grade der Knoten als Komponenten enthält. +Ist $U$ ein $n$-dimensionaler Vektor aus lauter Einsen, dann ist +ist $A(G)U$ ein Spaltenvektor bestehend aus den Zeilensummen der Matrix +$A(G)$ und +$U^tA(G)$ ein Zeilenvektor bestehend aus den Spaltensummen. +$A(G)U$ ist also der Vektor der Grade der Knoten. + +Das Skalarprodukt von $A(G)U$ mit $U$ ist die Summe der Grade. +Somit ist +\begin{equation} +\frac{\langle A(G)U,U\rangle}{\langle U,U\rangle} += +\frac{1}{\langle U,U\rangle}\sum_{v\in V}\deg(v) += +\frac{1}{n}(d_1+\dots+d_n) +\label{buch:graphen:eqn:AUdavg} +\end{equation} +der mittlere Grad, der mit $\overline{d}$ bezeichnet werden soll. -\subsection{$\alpha_{\text{max}}$ eines Untegraphen +Da $A(G)$ eine symmetrische Matrix ist, ist $A(G)$ diagonalisierbar, +die Eigenwerte sind also alle reell. +Es ist ausserdem bekannt, dass der Eigenvektor $f$ zum grössten Eigenwert +$\alpha_{\text{max}}$ von $A(G)$ +den Bruch +\[ +\frac{\langle A(G)f,f\rangle}{\langle f,f\rangle} +\] +für Vektoren $f\ne 0$ maximiert. +Aus~\eqref{buch:graphen:eqn:AUdavg} folgt damit, dass +\begin{equation} +\overline{d} +\le +\alpha_{\text{max}} +\label{buch:graphen:eqn:dqueramax} +\end{equation} +ist. + +In Abschnitt~\ref{buch:section:positive-vektoren-und-matrizen} +des nächsten Kapitels wird die Perron-Frobenius-Theorie positiver +Matrizen vorgestellt, welche einer Reihe interessanter Aussagen +über den betragsgrössten Eigenwert und den zugehörigen Eigenvektor +macht. +Die Adjazenz-Matrix ist eine nichtnegative Matrix und $\alpha_{\text{max}}$ +ist der grösste Eigenwert, also genau die Grösse, auf die die +Sätze~\ref{buch:wahrscheinlichkeit:satz:perron-frobenius} +und \label{buch:wahrscheinlichkeit:satz:perron-frobenius2} +anwendbar sind. +Dazu muss die Matrix allerdings primitiv sein, was gleichbedeutend +ist damit, dass der Graph zusammenhängend ist. +Im folgenden soll dies daher jeweils angenommen werden. + +\begin{satz} +Ist $G$ ein zusammenhänger Graph mit $n$ Knoten und maximalem Grad $d$, +dann gilt +\[ +\frac1n\sum_{v\in V} \deg(v) += +\overline{d} +\le \alpha_{\text{max}} \le d. +\] +\end{satz} + +\begin{proof}[Beweis] +Wir wissen aus \eqref{buch:graphen:eqn:dqueramax} bereits, dass +$\overline{d}\le\alpha_{\text{max}}$ gilt, es bleibt also nur noch +$\alpha_{\text{max}}\le d$ zu beweisen. + +Sei $f$ der Eigenvektor zum Eigenwert $\alpha_{\text{max}}$. +Nach Satz~\label{buch:wahrscheinlichkeit:satz:perron-frobenius2} +ist $f$ ein positiver Vektor mit der Eigenschaft $A(G)f=\alpha_{\text{max}}f$. +Der Eigenvektor $f$ ist eine Funktion auf den Knoten des Graphen, +die $v$-Komponente des Vektors $f$ für einen Vertex $v\in V$ ist $f(v)$. +Die Eigenvektoreigenschaft bedeutet $(A(G)f)(v)=\alpha_{\text{max}} f(v)$. +Die Adjazenzmatrix $A(G)$ enthält in Zeile $v$ Einsen genau für diejenigen +Knoten $u\in V$, die zu $v$ benachbart sind. +Schreiben wir $u\sim v$ für die Nachbarschaftsrelation, dann ist +\[ +(A(G)f)(v) += +\sum_{u\sim v} f(u). +\] +Die Summe der Komponenten $A(G)f$ kann man erhalten durch Multiplikation +von $A(G)f$ mit einem Zeilenvektor $U^t$ aus lauter Einsen, also +\begin{equation} +\begin{aligned} +\sum_{v\in V}\sum_{u\sim v}f(v) +&= +U^tA(G)f += +(U^tA(G))f += +\begin{pmatrix}d_1&d_2&\dots&d_n\end{pmatrix} f +\\ +&= +\sum_{v\in V}\deg (v) f(v) +\le +\sum_{v\in V}df(v) += +d +\sum_{v\in V}f(v). +\end{aligned} +\label{buch:graphen:eqn:sumkomp} +\end{equation} +Andererseits ist $A(G)f=\alpha_{\text{max}}f$, die linke Seite +von~\eqref{buch:graphen:eqn:sumkomp} ist daher +\begin{equation} +\sum_{v\in V}\sum_{u\sim v}f(v) += +U^tA(G)f += +\alpha_{\text{max}} +U^tf += +\alpha_{\text{max}} \sum_{v\in V}f(v). +\label{buch:graphen:eqn:sumkomp2} +\end{equation} +Die Ungleichung~\eqref{buch:graphen:eqn:sumkomp} +und die Gleichung~\eqref{buch:graphen:eqn:sumkomp2} ergeben zusammen +die Ungleichung +\[ +\alpha_{\text{max}} \sum_{v\in V}f(v) +\le d\sum_{v\in V}f(v) +\qquad\Rightarrow\qquad +\alpha_{\text{max}} \le d, +\] +da die Summe der Komponenten des positiven Vektors $f$ nicht verschwinden +kann. +Damit ist die Ungleichung bewiesen. +\end{proof} + +% +% alpha_max eines Untergraphen +% +\subsection{$\alpha_{\text{max}}$ eines Untergraphen \label{buch:subsection:alphamax-eines-untergraphen}} +Der grösste Eigenwert $\alpha_{\text{max}}$ ist ein potentieller +Anwärter für eine bessere Abschätzung der chromatischen Zahl. +Bereits früher wurde bemerkt, dass dies auch bedeutet, dass man +das Verhalten des grössten Eigenwerts bei einem Übergang zu einem +Untergraphen verstehen muss. -\subsection{Chromatische Zahl und $\alpha_{\text{max}}$ +\begin{satz} +\label{buch:graphen:satz:amaxuntergraph} +Sei $G'$ ein echter Untergraph von $G$ mit Adjazenzmatrix $A(G')$ und +grösstem Eigenwert $\alpha_{\text{max}}'=\varrho(A(G'))$, dann ist +$\alpha_{\text{max}}' \le \alpha_{\text{max}}$. +\end{satz} + +\begin{proof}[Beweis] +Sei $f'$ der positive Eigenvektor zum Eigenwert $\alpha_{\text{max}}'$ +der Matrix $A(G')$. +$f'$ ist definiert auf der Menge $V'$ der Knoten von $G'$. +Aus $f'$ lässt sich ein Vektor $g$ mit den Werten +\[ +g(v) += +\begin{cases} +f'(v)&\qquad v\in V'\\ + 0&\qquad\text{sonst} +\end{cases} +\] +konstruieren, der auf ganz $V$ definiert ist. + +Die Vektoren $f'$ und $g$ haben die gleichen Komponenten, also ist auch +$\langle f',f'\rangle = \langle g,g\rangle$. +Die Matrixelemente von $A(G')$ und $A(G)$ auf gemeinsamen Knoten $u,v\in V'$ +erfüllen $A(G')_{uv}\le A(G)_{uv}$, da jede Kante von $G'$ auch in $G$ ist. +Daher gilt +\[ +\langle A(G')f',f'\rangle +\le +\langle A(G)g,g\rangle, +\] +woraus sich die Ungleichung +\[ +\alpha_{\text{max}}' += +\frac{\langle A(G')f',f'\rangle}{\langle f',f'\rangle} += +\frac{\langle A(G)g,g\rangle}{\langle g,g\rangle} +\le +\alpha_{\text{max}} +\] +ergibt, da $\alpha_{\text{max}}$ das Maximum von +$\langle A(G)h,h\rangle/\langle h,h\rangle$ für alle Vektoren $h\ne 0$ ist. +\end{proof} + +% +% Der Satz von Wilf +% +\subsection{Chromatische Zahl und $\alpha_{\text{max}}$: Der Satz von Wilf \label{buch:subsection:chr-und-alpha-max}} +Die in Satz~\ref{buch:graphen:satz:amaxuntergraph} beschriebene +Eigenschaft von $\alpha_{\text{max}}$ beim Übergang zu einem Untergraphen +ermöglich jetzt, eine besser Abschätzung für die chromatische Zahl +zu finden. + +\begin{satz}[Wilf] +\label{buch:graphen:satz:wilf} +Sie $G$ ein zusammenhängder Graph und $\alpha_{\text{max}}$ der grösste +Eigenwert seiner Adjazenzmatrix. Dann gilt +\[ +\operatorname{chr}G\le \alpha_{\text{max}}+1. +\] +\end{satz} + +\begin{proof}[Beweis] +Wie der Satz~\ref{buch:graphen:satz:chrmaxgrad} kann auch der Satz von Wilf +mit Hilfe von vollständiger Induktion über die Anzahl $n$ der Knoten +bewiesen werden. + +Ein Graph mit nur einem Knoten hat die $0$-Matrix als Adjazenzmatrix, +der maximale Eigenwert ist $\alpha_{\text{max}}=0$, und tatsächlich reicht +$\alpha_{\text{max}}+1=1$ Farbe, um den einen Knoten einzufärben. + +Wir nehmen jetzt an, der Satz sei für Graphen mit $n-1$ Knoten bereits +beweisen. +Wir müssen dann zeigen, dass der Satz dann auch für Graphen mit $n$ Knoten +gilt. + +Sei $v\in V$ ein Knoten minimalen Grades und $G'=G\setminus{v}$ der +Untergraph, der entsteht, wenn der Knoten $v$ entfernt wird. +Da $G'$ genau $n-1$ Knoten hat, gilt der Satz von Wilf für $G'$ +und daher kann $G'$ mit höchstens +\[ +\operatorname{chr}G' \le 1 + \alpha_{\text{max}}' +\] +Farben eingefärbt werden. +Nach Satz~\ref{buch:graphen:satz:amaxuntergraph} ist +$\alpha_{\text{max}}'\le \alpha_{\text{max}}$, +Also kann $G'$ mit höchstens $\alpha_{\text{max}}+1$ Farben eingefärbt werden. + +Da $v$ ein Knoten minimalen Grades ist, ist sein Grad +$d(v)\le \overline{d}\le \alpha_{\text{max}}$. +Die Nachbarn von $v$ haben also hächstens $\alpha_{\text{max}}$ verschiedene +Farben, mit einer weiteren Farbe lässt sich also auch $G$ einfärben. +Daraus folgt $\operatorname{chr}G\le \alpha_{\text{max}}+1$. +\end{proof} + +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/nine.pdf} +\caption{Beispiel für einen Graphen, für den der +Satz~\ref{buch:graphen:satz:wilf} von Wilf die bessere +Abschätzung für die chromatische Zahl eines Graphen gibt als der +maximale Grad. +\label{buch:graphen:fig:wilfexample}} +\end{figure} + +\begin{beispiel} +Der Graph in Abbildung~\ref{buch:graphen:fig:wilfexample} 12 Kanten und 9 +Knoten, daher ist $\overline{d}\le \frac{24}{9}$. +Der maximale Grad ist $4$ und durch explizite Rechnung mit Hilfe zum Beispiel +von Octave ergibt, dass $\alpha_{\text{max}}\approx 2.9565$. +Aus dem Satz von Wilf folgt, dass +$\operatorname{chr}G\le \alpha_{\text{max}}+1$, und daraus ergibt sich +$\operatorname{chr}G\le 3$. +Tatsächlich ist die chromatische Zahl $\operatorname{chr}G=3$, da +der Graph mindestens ein Dreieck enthält. +Der maximale Grad ist 4, somit gibt der +Satz~\ref{buch:graphen:satz:chrmaxgrad} +die Schranke +$\operatorname{chr}G\le 4+1=5$ +für die chromatische Zahl. +Der Satz von Wilf ist also eine wesentliche Verbesserung. +\end{beispiel} + + -- cgit v1.2.1 From 5294c40d558e93a034d43846e98176291fb32692 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 24 May 2021 14:28:24 +0200 Subject: update decohnefehler.tex, create decmitfehler.tex --- buch/papers/reedsolomon/decmitfehler.tex | 16 ++++++++++++++++ buch/papers/reedsolomon/decohnefehler.tex | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 buch/papers/reedsolomon/decmitfehler.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex new file mode 100644 index 0000000..fead10e --- /dev/null +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -0,0 +1,16 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Decodierung mit Fehler +\label{reedsolomon:section:decmitfehler}} +\rhead{fehlerhafte rekonstruktion} +moin + + +\subsection{Der Satz von Fermat +\label{reedsolomon:subsection:fermat}} +wer ist fermat? + + diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex index 90f8ba8..6ca577a 100644 --- a/buch/papers/reedsolomon/decohnefehler.tex +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -80,7 +80,7 @@ Glücklicherweise lässt der sich analog wie bei der Inversen Fouriertransformat s = \frac{1}{10}. \] Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ ergibt. -Somit lässt sich den Nachrichtenvektor einfach bestimmen mit +Somit lässt sich der Nachrichtenvektor einfach bestimmen mit \[ m = 10 \cdot A^{-1} \cdot v \qquad \Rightarrow \qquad m = 10 \cdot \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ -- cgit v1.2.1 From 60bfb41261f51cf20ce65a9242c2624b31d74e75 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 24 May 2021 17:17:56 +0200 Subject: decmitfehler.tex updated --- buch/papers/reedsolomon/decmitfehler.tex | 185 ++++++++++++++++++++++++++++++- 1 file changed, 183 insertions(+), 2 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex index fead10e..923c1c5 100644 --- a/buch/papers/reedsolomon/decmitfehler.tex +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -6,11 +6,192 @@ \section{Decodierung mit Fehler \label{reedsolomon:section:decmitfehler}} \rhead{fehlerhafte rekonstruktion} -moin +Im zweiten Teil zur Decodierung betrachten wir den Fall, dass unser Übertragungskanal nicht fehlerfrei ist. +Wir legen daher den Fehlervektor +\[ +u = [0, 0, 0, 3, 0, 0, 0, 0, 2, 0] +\] +fest, den wir zu unserem Übertragungsvektor als Fehler dazu addieren und somit +\begin{center} + +\begin{tabular}{c | c r } + $v$ & & $[5,3,6,5,2,10,2,7,10,4]$\\ + $u$ & $+$ & $[0,0,0,3,0,0,0,0,2,0]$\\ + \hline + $w$ & & $[5,3,6,8,2,10,2,7,1,4]$\\ +\end{tabular} + +% alternative design +%\begin{tabular}{c | c cccccccccccc } +% $v$ & & $[$&$5,$&$3,$&$6,$&$5,$&$2,$&$10,$&$2,$&$7,$&$10,$&$4$&$]$\\ +% $u$ & $+$ & $[$&$0,$&$0,$&$0,$&$3,$&$0,$&$0,$&$0,$&$0,$&$2,$&$0$&$]$\\ +% \hline +% $w$ & & $[$&$5,$&$3,$&$6,$&$8,$&$2,$&$10,$&$2,$&$7,$&$1,$&$4$&$]$\\ +%\end{tabular} + +\end{center} +als Übertragungsvektor auf der Empfängerseite erhalten. + +Wenn wir den Übertragungsvektor jetzt Rücktransformieren wie im vorherigen Kapitel erhalten wir +\[ +r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]. +\] +Im Vergleich zum vorherigen Kapitel sind die Fehlerkorrekturstellen jetzt $\neq 0$, was bedeutet, dass wir diesen Übertragungsvektor fehlerhaft empfangen haben und sich die Nachricht jetzt nicht mehr so einfach decodieren lässt. + +% warum wir die fehler suchen +Da Reed-Solomon-Codes in der Lage sind, eine Nachricht aus weniger Stellen zu rekonstruieren als wir ursprünglich haben, so müssen wir nur die Fehlerhaften Stellen finden und eliminieren, damit wir unsere Nutzdaten rekonstruieren können. +Damit stellt sich die Frage, wie wir die Fehlerstellen $e$ finden. +Dafür wählen wir einen Primitiven Ansatz mit +\begin{align} + m(X) & = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 \\ + r(X) & = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7 \\ + e(X) & = r(X) - m(X). +\end{align} +Setzen wir jetzt unsere Einheitswurzel für $X$ ein, so erhalten wir +\begin{center} +\begin{tabular}{c c c c c c c c c c c} + \hline + $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ + \hline + $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ + $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ + $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + \hline +\end{tabular} +\end{center} +und damit die Information, dass an allen Stellen, die nicht Null sind, Fehler enthalten. +Um jetzt alle nicht Nullstellen zu finden, wenden wir den Satz von Fermat an. \subsection{Der Satz von Fermat \label{reedsolomon:subsection:fermat}} -wer ist fermat? +Der Satz von Fermat besagt, dass für +\[ +f(X) = X^{q-1} -1 = 0 +\] +gilt, egal was wir für $q$ einsetzen. + +Für unser Beispiel erhalten wir +\[ +f(X) = X^{10}-1 = 0 \qquad \text{für } X = \{1,2,3,4,5,6,7,8,9,10\} +\] +und können $f(X)$ auch umschreiben in +\[ +f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9). +\] +Zur Überprüfung können wir unsere Einheitswurzel in $a$ einsetzen und werden sehen, dass wir für $f(X) = 0$ erhalten werden. +Nach der gleichen Überlegung können wir jetzt auch $e(X)$ darstellen als +\[ +e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6)(X-a^7) \qquad \qquad (X-a^9) \cdot p(x), +\] +wobei $p(X)$ das Restpolynom ist und die Fehlerstellen beinhaltet. +Wenn wir jetzt den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen, so erhalten wir mit +\[ +\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6)(X-a^7) \qquad \qquad (X-a^9) +\] +eine Liste von Nullstellen, an denen es keine Fehler gegeben hat. +Da wir uns jedoch für eine Liste mit Nullstellen interessieren, an denen es Fehler gegeben hat berechnen wir stattdessen das kgV von $f(X)$ und $e(X)$ als +\[ +\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9) \cdot q(X). +\] +Wir können das Resultat noch zerlegen in +\[ +\operatorname{kgV}(f(X),e(X)) = d(X) \cdot e(X). +\] +Somit muss $d(X)$ eine Liste von Nullstellen enthalten an denen es Fehler gegeben hat. +\[ +d(X) = (X-a^3)(X-a^8) +\] + + +und ist damit unser gesuchtes Lokatorpolynom. + +Das einzige Problem was jetzt noch bleibt ist, dass wir $e(X)$ berechnet haben aus +\[ +e(X) = r(X) - m(X), +\] +wobei $m(X)$ auf der Empfängerseite unbekannt ist. +Es sieht danach aus, das wir diesen Lösungsansatz nicht verwenden können, da uns ein entscheidender Teil fehlt. +Bei einer näheren Betrachtung von $m(X)$ fällt uns aber auf, dass wir doch etwas über $m(X)$ wissen. +Wir kennen nämlich die ersten vier Stellen, da diese für die Fehlerkorrektur zuständig sind und daher Null sein müssen. +\[ +m = [0,0,0,0,?,?,?,?,?,?] +\] +An genau diesen Stellen liegt auch die Information, wo unsere Fehlerstellen liegen, was uns ermöglicht, den Teil von $e(X)$ zu berechnen, der uns auch interessiert. + +Wir können $e(X)$ also bestimmen als +\[ +e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X) +\] +wobei $p(X)$ wiederum ein unbekanntes Restpolynom ist und +\[ +f(X) = X^{10} - 1 = X^{10} + 10 +\] +ist können wir so in einer ersten Instanz den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen. +Dafür nehmen wir uns wiederum den Euklidischen Algorithmus zur Hilfe und berechnen so + +\[ +\arraycolsep=1.4pt +\begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + X^{10}& & & & & & &+& 10& & & & &:&5X^9&+&7X^8&+& 4X^7&+&10X^6&+&p(X)&=&9X&+&5\\ + X^{10}&+& 8X^9&+& 3X^8&+&2X^7&+& p(X)& & & & & & & & & & & & & & & & \\ \cline{1-9} + && 3X^9&+& 8X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ + && 3X^9&+& 2X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ \cline{3-9} + & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ +\end{array} +\] + +\[ +\arraycolsep=1.4pt +\begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + 5X^9&+& 7X^8&+& 4X^7&+& 10X^6&+& p(X)& & & & &:&6X^8&+&0X^7& & & & & & &=&10X&+&3\\ + 5X^9&+& 0X^8&+& p(X)& & & & & & & & & & & & & & & & & & & & \\ \cline{1-5} + && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ +\end{array} +\] +und erhalten +\[ +\operatorname{ggT}(f(X),e(X)) = 6X^8 +\] +Mit den Resultaten, die wir vom Rechenweg des grössten gemeinsamen Teiler erhalten haben können wir jetzt auch das kleinste Gemeinsame Vielfache berechnen. Eine detailliertere Vorgehensweise findet man in Kapitel ???. +Aus diesem erweiterten Euklidischen Algorithmus erhalten wir +\begin{center} + + \begin{tabular}{| c | c | c c |} + \hline + $k$ & $q_i$ & $e_i$ & $f_i$\\ + \hline + & & $0$& $1$\\ + $0$& $9X + 5$& $1$& $0$\\ + $1$& $10X + 3$& $9X+5$& $1$\\ + $2$& & \textcolor{blue}{$2X^2 + 0X + 5$}& $10X + 3$\\ + \hline + \end{tabular} + +\end{center} +und erhalten auf diesem Weg den Faktor +\[ +d(X) = 2X^2 + 5, +\] +den wir in +\[ +d(X) = 2(X-5)(X-6) +\] +zerlegen können. +Da die unbekannten Stellen im Lokatorpolynom +\[ +d(X) = (X-a^i)(X-a^i) +\] +sind, müssen wir nur noch $i$ berechnen als +\begin{center} + $a^i = 5 \qquad \Rightarrow \qquad i = 3$ + + $a^i = 6 \qquad \Rightarrow \qquad i = 8$. +\end{center} +Somit erhalten wir schliesslich +\[ +d(X) = (X-a^3)(X-a^8) +\] +als unser Lokatorpolynom mit den Fehlerhaften Stellen. \ No newline at end of file -- cgit v1.2.1 From 81527bd39cb20969fa3a84c85a843bca511dcb51 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 24 May 2021 17:18:21 +0200 Subject: created rekonstruktion.tex --- buch/papers/reedsolomon/rekonstruktion.tex | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 buch/papers/reedsolomon/rekonstruktion.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex new file mode 100644 index 0000000..a3edba4 --- /dev/null +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -0,0 +1,40 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Nachricht Rekonstruieren +\label{reedsolomon:section:rekonstruktion}} +\rhead{Teil 3} +Sed ut perspiciatis unde omnis iste natus error sit voluptatem +accusantium doloremque laudantium, totam rem aperiam, eaque ipsa +quae ab illo inventore veritatis et quasi architecto beatae vitae +dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit +aspernatur aut odit aut fugit, sed quia consequuntur magni dolores +eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam +est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci +velit, sed quia non numquam eius modi tempora incidunt ut labore +et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima +veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, +nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure +reprehenderit qui in ea voluptate velit esse quam nihil molestiae +consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla +pariatur? + +\subsection{De finibus bonorum et malorum +\label{reedsolomon:subsection:malorum}} +At vero eos et accusamus et iusto odio dignissimos ducimus qui +blanditiis praesentium voluptatum deleniti atque corrupti quos +dolores et quas molestias excepturi sint occaecati cupiditate non +provident, similique sunt in culpa qui officia deserunt mollitia +animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis +est et expedita distinctio. Nam libero tempore, cum soluta nobis +est eligendi optio cumque nihil impedit quo minus id quod maxime +placeat facere possimus, omnis voluptas assumenda est, omnis dolor +repellendus. Temporibus autem quibusdam et aut officiis debitis aut +rerum necessitatibus saepe eveniet ut et voluptates repudiandae +sint et molestiae non recusandae. Itaque earum rerum hic tenetur a +sapiente delectus, ut aut reiciendis voluptatibus maiores alias +consequatur aut perferendis doloribus asperiores repellat. + + -- cgit v1.2.1 From 2cad7439d48a67af39b7b5ec03f8874ec9d9a3c6 Mon Sep 17 00:00:00 2001 From: Pascal Schmid <81317360+paschost@users.noreply.github.com> Date: Mon, 24 May 2021 20:35:18 +0200 Subject: Update section 1 of paper --- buch/papers/verkehr/teil0.tex | 69 ++++++++++++++++++++++++++++++------------- 1 file changed, 49 insertions(+), 20 deletions(-) (limited to 'buch') diff --git a/buch/papers/verkehr/teil0.tex b/buch/papers/verkehr/teil0.tex index 5031841..78d9311 100644 --- a/buch/papers/verkehr/teil0.tex +++ b/buch/papers/verkehr/teil0.tex @@ -1,22 +1,51 @@ -% -% einleitung.tex -- Beispiel-File für die Einleitung -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 0\label{verkehr:section:teil0}} -\rhead{Teil 0} -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua \cite{verkehr:bibtex}. -At vero eos et accusam et justo duo dolores et ea rebum. -Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum -dolor sit amet. - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua. -At vero eos et accusam et justo duo dolores et ea rebum. Stet clita -kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit -amet. +\section{Versuchsreihe} +\label{section:verkehr/versuchsreihe} +Um zwei der vorgestellten Suchalgorithmen zu vergleichen, wurden zwei Versuchsreihen erstellt. Dazu wurden in einem ersten Schritt zufällige Netzwerke generiert und anschliessend der \emph{Dijkstra}-, sowie der \emph{$A^*$}-Algorithmus auf das Netzwerk angewandt. +Dieser Vorgang wurde für die zufällig generierten Netzwerke mit einer Knotenzahl von 10, 20 50, 100, 200, 500 und 1000 je zehnmal repetiert. +Die Anzahl der Knoten im abgesuchten Netzwerk wirkt sich direkt auf die Rechenzeit aus. Der \emph{Dijkstra}-Algorithmus weist eine Zeitkomplexität von $\mathcal{O}(E\log{}V)$ auf, wobei $E$ die Anzahl Kanten (engl. \emph{edges}) und $V$ die Anzahl Knoten (engl. \emph{vertices}) darstellt. +Für den \emph{A*}-Algorithmus ist die Zeitkomplexität einerseits abhängig von der verwendeten Heuristik, andererseits aber auch vom vorliegenden Netzwerk selbst. Aus diesem Grund lässt sich keine defintive Angabe zu $\mathcal{O}$ machen. +Die beiden Versuchsreihen unterscheiden sich zudem dahingehend, dass der Start- und Zielknoten bei der ersten Versuchsreihe im Netzwerk diametral gegenüber liegen. Dadurch gehen viele Knoten verloren, welcher \emph{Dijkstra} als uninformierter Suchalgorithmus absuchen würde. In der zweiten Veruschsreihe werden hingegen Start- un Zielpunkt zufällig im Netzwerk ausgewählt. Es wird deshalb erwwartet, dass die Unterschiede in der Rechenzeit der beiden Algorithmen in der zweiten Versuchsreihe deutlich ausgeprägter sind. + +\subsection{Einfluss der Knotenzahl auf die Rechenzeit} +\label{verkehr:Knotenzahl} + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_Vr1.png} + +\caption{Gemessene Rechenzeiten der ersten Versuchsreihe in Abhängigkeit der Knotenzahl.} +\label{verkehr:Vr1} +\end{wrapfigure} + +In \ref{verkehr:Vr1} ist ersichtlich, dass der Unterschied in der Rechenzeit zwischen \emph{Dijkstra} und \emph{A*} erst aber einer Knotenzahl von ca. $n=500$ merklich ansteigt. Dieses etwas überraschende Resultat ist darauf zurückzuführen, dass bei steigender Knotenzahl die Abweichung des effektiven kürzesten Pfades von der Distanz der Luftlinie abnimmt. +Die Effektivität von \emph{A*} mit euklidischer Heuristik ist wiederum grösser, wenn die Abweichung des kürzesten Pfads von der Luftlinie minimal ist. +Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei die relative Abweichung erstaunlicherweise bei einer Knotenzahl von $n=100$ maximal ist und nach $n=500$ nur noch marginal abnimmt. + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_pathDiff.png} + +\caption{Relative Abweichung des kürzesten Pfads von der Luftlinie.} +\label{verkehr:pathDifference} +\end{wrapfigure} + + +\subsection{Einfluss der Position der Start- und Zielknoten auf die Rechenzeit} + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_Vr2.png}\\ +\caption{Gemessene Rechenzeiten der zweiten Versuchsreihe in Abhängigkeit der Knotenzahl.} +\label{verkehr:Vr2} +\end{wrapfigure} + +Zum Vergleich der Resultate in \ref{verkehr:Knotenzahl} zeigt \ref{verkehr:Vr2} die Rechenzeiten der zweiten Versuchsreihe, in welcher die Start- und Zielknoten zufällig im Netzwerk ausgewählt wurden. Einerseits ist eine reduzierte durchschnittliche Rechenzeit festzustellen, was schlicht daran liegt, dass die zufällige Wahl der Knoten dazu führt, dass diese tendenziell weniger weit auseinander liegen.\\ +Des weiteren ist festzustellen, dass sich die Unterschiede der Rechenzeiten zwischen \emph{Dijkstra} und \emph{A*} deutlich früher abzeichnen. Dieses Phänomen lässt sich leicht durch die zielgerichtete Suche des \emph{A*}-Algorithmus erklären. + +\begin{wrapfigure}{} +\includegraphics[width=6cm]{figures/network_dij.png}\qquad +\includegraphics[width=6cm]{figures/network_aStar.png} +\caption{Suchpfad in grün mit \emph{Dijkstra} (links), und \emph{A*} (rechts). Besuchte Knoten sind in blau, resp. rot markiert.} +\label{verkehr:Comparison} +\end{wrapfigure} + +In \ref{verkehr:Comparison} ist ersichtlich, dass bei einem im Netzwerk liegenden Startknoten die zielgerichtete Suche von \emph{A*} deutlich ausgeprägter zum Zuge kommt, als wenn dieser am Rand des Netzwerks liegen würde. -- cgit v1.2.1 From 7e4a7b847c63064a40fd7a4d3829eddb4191aa9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 24 May 2021 20:36:06 +0200 Subject: Wavelets auf einem Graphen --- buch/chapters/70-graphen/beschreibung.tex | 2 +- buch/chapters/70-graphen/images/Makefile | 5 +- buch/chapters/70-graphen/images/gh.pdf | Bin 0 -> 26177 bytes buch/chapters/70-graphen/images/gh.tex | 55 +++++++ buch/chapters/70-graphen/spektral.tex | 25 ++-- buch/chapters/70-graphen/wavelets.tex | 228 ++++++++++++++++++++++++++++-- buch/chapters/references.bib | 6 + 7 files changed, 298 insertions(+), 23 deletions(-) create mode 100644 buch/chapters/70-graphen/images/gh.pdf create mode 100644 buch/chapters/70-graphen/images/gh.tex (limited to 'buch') diff --git a/buch/chapters/70-graphen/beschreibung.tex b/buch/chapters/70-graphen/beschreibung.tex index 25cfcc0..a0f46da 100644 --- a/buch/chapters/70-graphen/beschreibung.tex +++ b/buch/chapters/70-graphen/beschreibung.tex @@ -401,7 +401,7 @@ Sie hat für $i\ne j$ die Einträge \\ &=\text{Anzahl der Kanten, die $i$ mit $j$ verbinden} \\ -&=a_{ij} +&=a_{ij}. \end{align*} Die Adjazenzmatrix eines Graphen lässt sich also aus der Inzidenzmatrix berechnen. diff --git a/buch/chapters/70-graphen/images/Makefile b/buch/chapters/70-graphen/images/Makefile index d34247b..5db54c8 100644 --- a/buch/chapters/70-graphen/images/Makefile +++ b/buch/chapters/70-graphen/images/Makefile @@ -4,7 +4,7 @@ # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf \ - petersonchrind.pdf nine.pdf + petersonchrind.pdf nine.pdf gh.pdf peterson.pdf: peterson.tex pdflatex peterson.tex @@ -26,3 +26,6 @@ fundamental.pdf: fundamental.tex nine.pdf: nine.tex pdflatex nine.tex +gh.pdf: gh.tex + pdflatex gh.tex + diff --git a/buch/chapters/70-graphen/images/gh.pdf b/buch/chapters/70-graphen/images/gh.pdf new file mode 100644 index 0000000..c6e48d7 Binary files /dev/null and b/buch/chapters/70-graphen/images/gh.pdf differ diff --git a/buch/chapters/70-graphen/images/gh.tex b/buch/chapters/70-graphen/images/gh.tex new file mode 100644 index 0000000..fcceb5f --- /dev/null +++ b/buch/chapters/70-graphen/images/gh.tex @@ -0,0 +1,55 @@ +% +% gh.tex -- Lokalsierungsfunktionen für Wavelets auf einem Graphen +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\kurve#1#2{ + \draw[color=#2,line width=1.4pt] + plot[domain=0:6.3,samples=400] + ({\x},{7*\x*exp(-(\x/#1)*(\x/#1))/#1}); +} + +\begin{scope} + +\draw[->] (-0.1,0) -- (6.6,0) coordinate[label={$\lambda$}]; + +\kurve{1}{red} +\foreach \k in {0,...,4}{ + \pgfmathparse{0.30*exp(ln(2)*\k)} + \xdef\l{\pgfmathresult} + \kurve{\l}{blue} +} + +\node[color=red] at ({0.7*1},3) [above] {$g(\lambda)$}; +\node[color=blue] at ({0.7*0.3*16},3) [above] {$g_i(\lambda)$}; + +\draw[->] (0,-0.1) -- (0,3.3); +\end{scope} + +\begin{scope}[xshift=7cm] + +\draw[->] (-0.1,0) -- (6.6,0) coordinate[label={$\lambda$}]; + +\draw[color=darkgreen,line width=1.4pt] + plot[domain=0:6.3,samples=100] + ({\x},{3*exp(-(\x/0.5)*(\x/0.5)}); + +\draw[->] (0,-0.1) -- (0,3.3) coordinate[label={right:$\color{darkgreen}h(\lambda)$}]; + +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/70-graphen/spektral.tex b/buch/chapters/70-graphen/spektral.tex index 571b7e1..5fb3056 100644 --- a/buch/chapters/70-graphen/spektral.tex +++ b/buch/chapters/70-graphen/spektral.tex @@ -56,8 +56,10 @@ Eine minimale Färbung des Graphen mit $\operatorname{chr}G$ Farben teilt die Knoten in $\operatorname{chr}G$ Mengen $V_f$ von Knoten mit gleicher Farbe $f$ ein. Da diese Mengen einfarbig sind, sind sie unabhängig, enthalten also -höchstens so viele Knoten, wie die Unabhängigkeitszahl erlaubt. -Die Gesamtzahl der Knoten ist also +höchstens so viele Knoten, wie die Unabhängigkeitszahl erlaubt, +also $|V_f|\le \operatorname{ind}G$. +Da die Menge aller Knoten die Vereinigung der Mengen $V_f$ ist, +ist die Gesamtzahl der Knoten \begin{align*} V &= @@ -66,15 +68,15 @@ V n &= \sum_{\text{$f$ eine Farbe}} |V_f| -\le -\sum_{\text{$f$ eine Farbe}} \operatorname{ind}G -= -(\text{Anzahl Farben})\cdot \operatorname{ind}G \\ & &&& -&= -\operatorname{chr}G \cdot \operatorname{ind}G +&\le +\sum_{\text{$f$ eine Farbe}} \operatorname{ind}G += +(\text{Anzahl Farben})\cdot \operatorname{ind}G += +\operatorname{chr}G \cdot \operatorname{ind}G. \end{align*} Damit ist $n\le \operatorname{chr}G\cdot\operatorname{ind}G$ gezeigt. \qedhere @@ -117,7 +119,7 @@ Nach Definition ist Unabhängigkeitszahl ein Mass für die Grösse einer unabhängigen Menge von Punkten. Der Beweis von Satz~\ref{buch:satz:chrind} zeigt, dass man sich die chromatische Zahl als ein Mass dafür, wieviele solche anabhängige -Mengen in einem Grapehn untergebracht werden können. +Mengen in einem Graphen untergebracht werden können. % % Chromatische Zahl und maximaler Grad @@ -131,7 +133,7 @@ Einfärbung des ganzen Graphen reichen. Genau dies garantiert jedoch der folgende Satz. \begin{definition} -Der {\em maximale Grad} +Der maximale Grad \( \max_{v\in V} \deg(v) \) @@ -455,7 +457,8 @@ Satz~\ref{buch:graphen:satz:chrmaxgrad} die Schranke $\operatorname{chr}G\le 4+1=5$ für die chromatische Zahl. -Der Satz von Wilf ist also eine wesentliche Verbesserung. +Der Satz von Wilf ist also eine wesentliche Verbesserung, er liefert in +diesem Fall den exakten Wert der chromatischen Zahl. \end{beispiel} diff --git a/buch/chapters/70-graphen/wavelets.tex b/buch/chapters/70-graphen/wavelets.tex index 9c88c08..ae065bc 100644 --- a/buch/chapters/70-graphen/wavelets.tex +++ b/buch/chapters/70-graphen/wavelets.tex @@ -103,22 +103,230 @@ aus der sich alle Vektoren linear kombinieren lassen, in der aber auch auf die für die Anwendung interessante Längenskala angepasste Funktionen gefunden werden können. -\subsection{Wavelets und Frequenzspektrum} -Eine Wavelet-Basis der Funktionen auf $\mathbb{R}$ zerlegt +\subsection{Wavelets auf einem Graphen} +Die Fourier-Theorie analysiert Funktionen nach Frequenzen, wobei die +zeitliche Position von interessanten Stellen der Funktion in der Phase +der einzelnen Komponenten verschwindet. +Die Lokalisierung geht also für viele praktische Zwecke verloren. +Umgekehrt haben einzelne Ereignisse wie eine $\delta$-Funktion keine +charakteristische Frequenz, sie sind daher im Frequenzraum überhaupt +nicht lokalisierbar. +Die Darstellung im Frequenzraum und in der Zeit sind also extreme +Darstellungen, entweder Frequenzlokalisierung oder zeitliche Lokalisierung +ermöglichen, sich aber gegenseitig ausschliessen. +\subsubsection{Dilatation} +Eine Wavelet-Basis für die $L^2$-Funktionen auf $\mathbb{R}$ erlaubt +eine Funktion auf $\mathbb{R}$ auf eine Art zu analysieren, die eine +ungenaue zeitliche Lokalisierung bei entsprechend ungenauer +Frequenzbestimmung ermöglicht. +Ausserdem entstehen die Wavelet-Funktionen aus einer einzigen Funktion +$\psi(t)$ durch Translation um $b$ und Dilatation mit dem Faktor $a$: +\[ +\psi_{a,b}(t) += +\frac{1}{\sqrt{|a|}} \psi\biggl(\frac{t-b}a\biggr) += +T_bD_a\psi(t) +\] +in der Notation von \cite{buch:mathsem-wavelets}. +Auf einem Graphen ist so eine Konstruktion grundsätzlich nicht möglich, +da es darauf weder eine Translations- noch eine Streckungsoperation gibt. + +In der Theorie der diskreten Wavelet-Transformation ist es üblich, sich +auf Zweierpotenzen als Streckungsfaktoren zu beschränken. +Ein Gitter wird dadurch auf sich selbst abgebildet, aber auf einem +Graphen gibt es keine Rechtfertigung für diese spezielle Wahl von +Streckungsfaktoren mehr. +Es stellt sich daher die Frage, ob man für eine beliebige Menge +\( +T= \{ t_1,t_2,\dots\} \} +\) +von Streckungsfaktoren eine Familie von Funktionen $\chi_j$ zu finden +derart, dass man sich die $\chi_j$ in einem gewissen Sinn als aus +$\chi_0$ durch Dilatation entstanden vorstellen kann. -\subsection{Frequenzspektrum -\label{buch:subsection:frequenzspektrum}} -Die Fundamentallösung der Wärmeleitunsgleichung haben ein Spektrum, welches -wie $e^{-k^2}$ gegen $0$ geht. +Die Dilatation kann natürlich nicht von einer echten +Dilatation im Ortsraum herstammen, aber man kann wenigstens versuchen, die +Dilatation im Frequenzraum nachzubilden. +Für Funktionen in $L^2(\mathbb{R})$ entspricht die Dilatation mit dem +Faktor $a$ im Ortsraum der Dilatation mit dem Faktor $1/a$ im Frequenzraum: +\[ +\widehat{D_af}(\omega) = D_{1/a}\hat{f}(\omega). +\] +\cite[Satz~3.14]{buch:mathsem-wavelets}. +Es bleibt aber das Problem, dass sich auch die Skalierung im Frequenzraum +nicht durchführen lässt, da auch das Frequenzspektrum des Graphen nur eine +Menge von reellen Zahlen ohne innere algebraische Struktur ist. + +\subsubsection{Mutterwavelets} +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/gh.pdf} +\caption{Lokalisierungsfunktion $g(\lambda)$ für die Dilatation (links). +Die Dilatierten Funktionen $g_i=\tilde{D}_{1/a_i}g$ lokalisieren +die Frequenzen jeweils um die Frequenzen $a_i$ im Frequenzraum. +Der Konstante Vektor ist vollständig delokalisiert, die Funktion $h$ +in der rechten Abbildung entfernt die hohen Frequenzen und liefert Funktionen, +die in der Umgebung eines Knotens wie die Konstante Funktion aussehen. +\label{buch:graphs:fig:lokalisierung}} +\end{figure} +Das Mutter-Wavelet einer Wavelet-Analyse zeichnet definiert, in welchem Mass +sich Funktionen im Orts- und im Frequenzraum lokalisieren lassen. +Die Standardbasis der Funktionen auf einem Graphen repräsentieren die +perfekte örtliche Lokalisierung, Eigenbasis der Laplace-Matrix repräsentiert +die perfekte Lokalisierung im Frequenzraum. +Sei $g(\lambda)\ge 0$ eine Funktion im Frequenzraum, die für $\lambda\to0$ und +$\lambda\to\infty$ rasch abfällt mit einem Maximum irgendwo dazwischen +(Abbildung~\ref{buch:graphs:fig:lokalisierung}). +Sie kann als eine Lokalisierungsfunktion im Frequenzraum betrachtet werden. -Die Fundamentallösung entsteht dadurch, dass die hohen Frequenzen -schneller dämpft als die tiefen Frequenzen. +Die Matrix $g(I)$ bildet entfernt aus einer Funktion die ganz hohen und +die ganz tiefen Frequenz, lokalisiert also die Funktionen im Frequenzraum. +Die Standardbasisvektoren werden dabei zu Funktionen, die nicht mehr nur +auf einem Knoten von $0$ verschieden sind, aber immer noch einigermassen +auf dem Graphen lokalisiert sind. +Natürlich sind vor allem die Werte auf den Eigenwerten +$\lambda_0 < \lambda_1\le \dots\le \lambda_n$ der Laplace-Matrix +von Interesse. +Die Matrix $g(I)$ kann mit Hilfe der Spektraltheorie berechnet werden, +was im vorliegenden Fall naheliegend ist, weil ja die Eigenvektoren von +der Laplace-Matrix bereits bekannt sind. +Die Matrix $\chi^t$ bildet die Standardbasisvektoren in die +Eigenbasis-Vektoren ab, also in eine Zerlegung im Frequenzraum ab, +$\chi$ vermittelt die Umkehrabbildung. +Mit der Spektraltheorie findet man für die Abbildung $g(I)$ die Matrix +\begin{equation} +g(I) += +\chi +\begin{pmatrix} +g(\lambda_0)&0&\dots&0\\ +0&g(\lambda_1)&\dots&0\\ +\vdots&\vdots&\ddots&\vdots\\ +0&0&\dots&g(\lambda_n) +\end{pmatrix} +\chi^t. +\label{buch:graphen:eqn:mutterwavelet} +\end{equation} -\subsection{Wavelet-Basen -\label{buch:subsection:}} +\subsubsection{Dilatation} +Die Dilatation um $a$ im Ortsraum wird zu einer Dilatation um $1/a$ im +Frequenzraum. +Statt also nach einer echten Dilatation der Spaltenvektoren in $g(I)$ +zu suchen, kann man sich darauf verlegen, Funktionen zu finden, deren +Spektrum von einer Funktionen lokalisiert worden ist, die eine Dilatation +von $g$ ist. +Man wählt daher eine ansteigende Folge $A=(a_1,\dots)$ von Streckungsfaktoren +und betrachtet anstelle von $g$ die dilatierten Funktionen +$g_i=\tilde{D}_{1/a_i}g$. +Die zugehörigen Wavelet-Funktionen auf dem Graphen können wieder mit +der Formel~\eqref{buch:graphen:eqn:mutterwavelet} berechnet werden, +man erhält +\begin{equation} +\tilde{D}_{1/a_i}g(I) += +g_i(I) += +\chi +\begin{pmatrix} +g(a_i\lambda_0)&0&\dots&0\\ +0&g(a_i\lambda_1)&\dots&0\\ +\vdots&\vdots&\ddots&\vdots\\ +0&0&\dots&g(a_i\lambda_n) +\end{pmatrix} +\chi^t . +\end{equation} +Die Spalten von $g_i(I)$ bilden wieder eine Menge von Funktionen, die +eine gemäss $g_i$ lokalisiertes Spektrum haben. +\subsubsection{Vater-Wavelet} +Wegen $g(0)=0$ wird die konstante Funktion, die Eigenvektor zum Eigenwert +$\lambda_0=0$ ist, von den Abbildungen $g_i(I)$ auf $0$ abgebildet. +Andererseits ist diese Funktion nicht lokalisiert, man möchte Sie also +für die Analyse nicht unbedingt verwenden. +Man wählt daher eine Funktion $h(\lambda)$ mit $h(0)=1$ so, dass +für $\lambda\to \infty$ der Wert $h(\lambda)$ genügend rasch gegen $0$ +geht. +Die Matrix $h(I)$ bildet daher den konstanten Vektor nicht auf $0$ ab, +sondern lokalisiert ihn im Ortsraum. +Wir erhalten daher in den Spalten von $h(I)$ Vektoren, die um die +einzelnen Knoten lokalisiert sind. + +\subsubsection{Rekonstruktion} +Die Operatoren $h(I)$ und $g_i(I)$ erzeugen analysieren eine Funktion +nach den verschiedenen Frequenzen mit den Skalierungsfaktoren $a_i$, +aber die Rekonstruktion ist noch nicht klar. +Diese wäre einfacher, wenn die Operatoren zusammen die identische +Abbildung ergäben, wenn also +\[ +h(I) + \sum_{i}g_i(I)=I +\] +gelten würde. +Nach der Spektraltheorie gilt das nur, wenn für alle Eigenwerte +$\lambda_k$, $k=1,\dots,n$ +\[ +h(\lambda_k) + \sum_ig(a_i\lambda_k)=1 +\] +gilt. +Für beleibige Funktionen $g$ und $h$ kann man nicht davon ausgehen, +aber man kann erwarten. +Man muss daher zusätzlich verlangen, dass +\[ +h(\lambda_k) + \sum_{i} g(a_i\lambda_k) > 0 +\] +ist für alle Eigenwerte $\lambda_k$. + +\subsubsection{Frame} +Die Menge von Vektoren, die in der vorangegangenen Konstruktion gefunden +wurden, ist zu gross, um eine Basis zu sein. +Vektoren lassen sich darin auf verschiedene Art darstellen. +Wir verlangen aber auch keine eindeutige Darstellung, nur eine +Darstellung, in der wir die ``dominierenden'' Komponenten in jeder +Frequenzskala identifizieren können. + +\begin{definition} +\label{buch:graphen:def:frame} +Ein Frame des Vektorraumes $\mathbb{R}^n$ ist eine Menge +$F=\{e_k\;|\; k=1,\dots,N\}$ von Vektoren mit der Eigenschaft +\begin{equation} +A\|v\|^2 +\le +\sum_{k=1}^N |\langle v,e_k\rangle|^2 +\le +B\|v\|^2 +\label{buch:graphen:eqn:frame} +\end{equation} +Die Zahlen $A$ und $B$ heissen die {\em Frame-Konstanten} des Frames. +\end{definition} + +Die oben gefundenen Vektoren, die Spalten Vektoren von $h(I)$ und $g_i(I)$ +bilden daher ein Frame. +Die Frame-Konstanten kann man unmittelbar ausrechnen. +Der mittlere Term von \eqref{buch:graphen:eqn:frame} ist +\[ +\|h(I) v\|^2 ++ +\sum_{i} \|g_i(I)v\|^2, +\] +die durch die Funktion +\[ +f(\lambda) += +h(\lambda)^2 + \sum_i g_i(\lambda)^2 +\] +abgeschätzt werden kann. +Die Frame-Konstanten sind daher +\begin{align*} +A&=\min_{k} f(\lambda_k) +& +&\text{und}& +B&=\max_{k} f(\lambda_k). +\end{align*} +Die Konstruktion hat also ein Frame für die Funktionen auf dem Graphen +etabliert, die viele Eigenschaften einer Multiskalenanalyse in diese +wesentlich weniger symmetrische Situation rettet. diff --git a/buch/chapters/references.bib b/buch/chapters/references.bib index a4579e7..a5d0201 100644 --- a/buch/chapters/references.bib +++ b/buch/chapters/references.bib @@ -21,6 +21,12 @@ abstract = "In this paper, we present Google, a prototype of a large-scale searc } +@book{buch:mathsem-wavelets, + title = {Mathematisches Seminar Wavelets}, + author = { Andreas M"uller and others }, + year = {2019}, +} + @book{buch:mathsem-dgl, title = {Mathematisches Seminar Differentialgleichungen}, author = { Andreas M"uller and others }, -- cgit v1.2.1 From 1d1a334cce74e76b5ae18701b39d379580e07edb Mon Sep 17 00:00:00 2001 From: Pascal Schmid <81317360+paschost@users.noreply.github.com> Date: Mon, 24 May 2021 20:36:50 +0200 Subject: Update section 2 of paper --- buch/papers/verkehr/teil1.tex | 102 ++++++++++++++++++++---------------------- 1 file changed, 49 insertions(+), 53 deletions(-) (limited to 'buch') diff --git a/buch/papers/verkehr/teil1.tex b/buch/papers/verkehr/teil1.tex index 855aef8..78d9311 100644 --- a/buch/papers/verkehr/teil1.tex +++ b/buch/papers/verkehr/teil1.tex @@ -1,55 +1,51 @@ -% -% teil1.tex -- Beispiel-File für das Paper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 1 -\label{verkehr:section:teil1}} -\rhead{Problemstellung} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. -Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -aut fugit, sed quia consequuntur magni dolores eos qui ratione -voluptatem sequi nesciunt -\begin{equation} -\int_a^b x^2\, dx -= -\left[ \frac13 x^3 \right]_a^b -= -\frac{b^3-a^3}3. -\label{verkehr:equation1} -\end{equation} -Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -consectetur, adipisci velit, sed quia non numquam eius modi tempora -incidunt ut labore et dolore magnam aliquam quaerat voluptatem. - -Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -Quis autem vel eum iure reprehenderit qui in ea voluptate velit -esse quam nihil molestiae consequatur, vel illum qui dolorem eum -fugiat quo voluptas nulla pariatur? - -\subsection{De finibus bonorum et malorum -\label{verkehr:subsection:finibus}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. - -Et harum quidem rerum facilis est et expedita distinctio -\ref{verkehr:section:loesung}. -Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -impedit quo minus id quod maxime placeat facere possimus, omnis -voluptas assumenda est, omnis dolor repellendus -\ref{verkehr:section:folgerung}. -Temporibus autem quibusdam et aut officiis debitis aut rerum -necessitatibus saepe eveniet ut et voluptates repudiandae sint et -molestiae non recusandae. -Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -voluptatibus maiores alias consequatur aut perferendis doloribus -asperiores repellat. +\section{Versuchsreihe} +\label{section:verkehr/versuchsreihe} +Um zwei der vorgestellten Suchalgorithmen zu vergleichen, wurden zwei Versuchsreihen erstellt. Dazu wurden in einem ersten Schritt zufällige Netzwerke generiert und anschliessend der \emph{Dijkstra}-, sowie der \emph{$A^*$}-Algorithmus auf das Netzwerk angewandt. +Dieser Vorgang wurde für die zufällig generierten Netzwerke mit einer Knotenzahl von 10, 20 50, 100, 200, 500 und 1000 je zehnmal repetiert. +Die Anzahl der Knoten im abgesuchten Netzwerk wirkt sich direkt auf die Rechenzeit aus. Der \emph{Dijkstra}-Algorithmus weist eine Zeitkomplexität von $\mathcal{O}(E\log{}V)$ auf, wobei $E$ die Anzahl Kanten (engl. \emph{edges}) und $V$ die Anzahl Knoten (engl. \emph{vertices}) darstellt. +Für den \emph{A*}-Algorithmus ist die Zeitkomplexität einerseits abhängig von der verwendeten Heuristik, andererseits aber auch vom vorliegenden Netzwerk selbst. Aus diesem Grund lässt sich keine defintive Angabe zu $\mathcal{O}$ machen. +Die beiden Versuchsreihen unterscheiden sich zudem dahingehend, dass der Start- und Zielknoten bei der ersten Versuchsreihe im Netzwerk diametral gegenüber liegen. Dadurch gehen viele Knoten verloren, welcher \emph{Dijkstra} als uninformierter Suchalgorithmus absuchen würde. In der zweiten Veruschsreihe werden hingegen Start- un Zielpunkt zufällig im Netzwerk ausgewählt. Es wird deshalb erwwartet, dass die Unterschiede in der Rechenzeit der beiden Algorithmen in der zweiten Versuchsreihe deutlich ausgeprägter sind. + +\subsection{Einfluss der Knotenzahl auf die Rechenzeit} +\label{verkehr:Knotenzahl} + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_Vr1.png} + +\caption{Gemessene Rechenzeiten der ersten Versuchsreihe in Abhängigkeit der Knotenzahl.} +\label{verkehr:Vr1} +\end{wrapfigure} + +In \ref{verkehr:Vr1} ist ersichtlich, dass der Unterschied in der Rechenzeit zwischen \emph{Dijkstra} und \emph{A*} erst aber einer Knotenzahl von ca. $n=500$ merklich ansteigt. Dieses etwas überraschende Resultat ist darauf zurückzuführen, dass bei steigender Knotenzahl die Abweichung des effektiven kürzesten Pfades von der Distanz der Luftlinie abnimmt. +Die Effektivität von \emph{A*} mit euklidischer Heuristik ist wiederum grösser, wenn die Abweichung des kürzesten Pfads von der Luftlinie minimal ist. +Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei die relative Abweichung erstaunlicherweise bei einer Knotenzahl von $n=100$ maximal ist und nach $n=500$ nur noch marginal abnimmt. + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_pathDiff.png} + +\caption{Relative Abweichung des kürzesten Pfads von der Luftlinie.} +\label{verkehr:pathDifference} +\end{wrapfigure} + + +\subsection{Einfluss der Position der Start- und Zielknoten auf die Rechenzeit} + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_Vr2.png}\\ +\caption{Gemessene Rechenzeiten der zweiten Versuchsreihe in Abhängigkeit der Knotenzahl.} +\label{verkehr:Vr2} +\end{wrapfigure} + +Zum Vergleich der Resultate in \ref{verkehr:Knotenzahl} zeigt \ref{verkehr:Vr2} die Rechenzeiten der zweiten Versuchsreihe, in welcher die Start- und Zielknoten zufällig im Netzwerk ausgewählt wurden. Einerseits ist eine reduzierte durchschnittliche Rechenzeit festzustellen, was schlicht daran liegt, dass die zufällige Wahl der Knoten dazu führt, dass diese tendenziell weniger weit auseinander liegen.\\ +Des weiteren ist festzustellen, dass sich die Unterschiede der Rechenzeiten zwischen \emph{Dijkstra} und \emph{A*} deutlich früher abzeichnen. Dieses Phänomen lässt sich leicht durch die zielgerichtete Suche des \emph{A*}-Algorithmus erklären. + +\begin{wrapfigure}{} +\includegraphics[width=6cm]{figures/network_dij.png}\qquad +\includegraphics[width=6cm]{figures/network_aStar.png} +\caption{Suchpfad in grün mit \emph{Dijkstra} (links), und \emph{A*} (rechts). Besuchte Knoten sind in blau, resp. rot markiert.} +\label{verkehr:Comparison} +\end{wrapfigure} + +In \ref{verkehr:Comparison} ist ersichtlich, dass bei einem im Netzwerk liegenden Startknoten die zielgerichtete Suche von \emph{A*} deutlich ausgeprägter zum Zuge kommt, als wenn dieser am Rand des Netzwerks liegen würde. -- cgit v1.2.1 From 61c60ad40387ed1401f6685a152529874c07d63d Mon Sep 17 00:00:00 2001 From: Pascal Schmid <81317360+paschost@users.noreply.github.com> Date: Mon, 24 May 2021 20:37:23 +0200 Subject: Update section 3 of paper --- buch/papers/verkehr/teil2.tex | 46 +++++++------------------------------------ 1 file changed, 7 insertions(+), 39 deletions(-) (limited to 'buch') diff --git a/buch/papers/verkehr/teil2.tex b/buch/papers/verkehr/teil2.tex index 5170ded..99a0d92 100644 --- a/buch/papers/verkehr/teil2.tex +++ b/buch/papers/verkehr/teil2.tex @@ -1,40 +1,8 @@ -% -% teil2.tex -- Beispiel-File für teil2 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 2 -\label{verkehr:section:teil2}} -\rhead{Teil 2} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{verkehr:subsection:bonorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. - +\section{Ausblick} +\subsection{Optimierungsprobleme bei Graphen} +Das Finden eines kürzesten Pfades, sprich die Minimierung der Summe der Kantengewichte, ist nur eines der Optimierungsprobleme, die sich im Bereich von Grafen aufstellen lassen. Verschiedene, ähnliche Problemstellungen lassen sich teilweise mit denselben Algorithmen lösen.\\ +Im Bereich vom Computernetzwerken könnte zum Beispiel die Minimierung der Knotenzahl zur Datenübbertragung von Interesse sein. Dabei lässt sich dieses Problem einfach dadurch lösen, dass dem \emph{Dijkstra}, oder dem \emph{A*}-Algorithmus anstelle der Graph-Matrix (mit Kantengewichten als Einträgen) die Adjazenz-Matrix als Argument übergeben wird. Der gefundene kürzeste Pfad enstpricht der Anzahl benutzter Kanten, bzw. der Anzahl besuchter Knoten. +\subsection{Wahl der Heuristik} +Ein grundlegendes Problem bei der Anwendung des \emph{A*} oder ähnlicher informierter Suchalgorithmen ist die Wahl der Heurstik. Bei einem physischen Verkehrsnetz kann bspw. die euklidische Distanz problems ermittelt werde. Bei einem regionalen Netzwerk ist die Annahme eines orthogonalen X-Y-Koordinatenetzes absolut ausreichend. Dies gilt z.B. auch für das Vernessungsnetz der Schweiz\footnote{Die aktuelle Schweizer Referenzsystem LV95 benutzt ein E/N-Koordinatennetz, wobei aufgrund zunehmender Abweichung vom Referenzellipsoid bei grosser Entfernung vom Nullpunkt ein Korrekturfaktor für die Höhe angebracht werden muss.} Bei überregionalen Netzwerken (Beispiel: Flugverbindungen) ist hingegen eine Berechnung im dreidimensionalen Raum, oder vereinfacht als Projektion auf das Geoid notwendig. Anonsten ist der Ablauf bei der Ausführung des Algorithmus allerdings identisch.\\ +In nicht-physischen Netzwerken stellt sich jedoch eine zweite Problematik. Da eine physische Distanz entweder nicht ermittelt werden kann, oder aber nicht ausschlaggebend ist, sind andere Netzwerk-Eigenschaften zur Beurteilung beizuziehen. Die Zuverlässigkeit ist dabei aber in den meisten Fällen nicht vergleichbar hoch, wie bei der euklidischen Heuristik. Oftmals werden deshalb bei derartigen Problem auch Algorithmen angewendet, die eine deutlich optimierte Zeitkomplexität aufweisen, dafür aber nicht mit Sicherheit den effizienstesten Pfad finden. -- cgit v1.2.1 From 0cd2f753702cc0ce0c74a281c4b7146ca96ae78f Mon Sep 17 00:00:00 2001 From: Pascal Schmid <81317360+paschost@users.noreply.github.com> Date: Mon, 24 May 2021 20:40:11 +0200 Subject: delete 4th section 4th section not needed --- buch/papers/verkehr/teil3.tex | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 buch/papers/verkehr/teil3.tex (limited to 'buch') diff --git a/buch/papers/verkehr/teil3.tex b/buch/papers/verkehr/teil3.tex deleted file mode 100644 index 8f79154..0000000 --- a/buch/papers/verkehr/teil3.tex +++ /dev/null @@ -1,40 +0,0 @@ -% -% teil3.tex -- Beispiel-File für Teil 3 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 3 -\label{verkehr:section:teil3}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{verkehr:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. - - -- cgit v1.2.1 From e43c4b251bbed04a843a3b4b13f2c2ae25bc7181 Mon Sep 17 00:00:00 2001 From: Pascal Schmid <81317360+paschost@users.noreply.github.com> Date: Mon, 24 May 2021 20:45:52 +0200 Subject: added /figure folder and figures --- buch/papers/verkehr/figures/chart_Vr1.png | Bin 0 -> 74176 bytes buch/papers/verkehr/figures/chart_Vr2.png | Bin 0 -> 64237 bytes buch/papers/verkehr/figures/chart_pathDiff.png | Bin 0 -> 36673 bytes buch/papers/verkehr/figures/dist_display6.png | Bin 0 -> 399354 bytes buch/papers/verkehr/figures/network_aStar.png | Bin 0 -> 79386 bytes buch/papers/verkehr/figures/network_dij.png | Bin 0 -> 77108 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 buch/papers/verkehr/figures/chart_Vr1.png create mode 100644 buch/papers/verkehr/figures/chart_Vr2.png create mode 100644 buch/papers/verkehr/figures/chart_pathDiff.png create mode 100644 buch/papers/verkehr/figures/dist_display6.png create mode 100644 buch/papers/verkehr/figures/network_aStar.png create mode 100644 buch/papers/verkehr/figures/network_dij.png (limited to 'buch') diff --git a/buch/papers/verkehr/figures/chart_Vr1.png b/buch/papers/verkehr/figures/chart_Vr1.png new file mode 100644 index 0000000..14d4eca Binary files /dev/null and b/buch/papers/verkehr/figures/chart_Vr1.png differ diff --git a/buch/papers/verkehr/figures/chart_Vr2.png b/buch/papers/verkehr/figures/chart_Vr2.png new file mode 100644 index 0000000..2d68681 Binary files /dev/null and b/buch/papers/verkehr/figures/chart_Vr2.png differ diff --git a/buch/papers/verkehr/figures/chart_pathDiff.png b/buch/papers/verkehr/figures/chart_pathDiff.png new file mode 100644 index 0000000..02bded7 Binary files /dev/null and b/buch/papers/verkehr/figures/chart_pathDiff.png differ diff --git a/buch/papers/verkehr/figures/dist_display6.png b/buch/papers/verkehr/figures/dist_display6.png new file mode 100644 index 0000000..3056f43 Binary files /dev/null and b/buch/papers/verkehr/figures/dist_display6.png differ diff --git a/buch/papers/verkehr/figures/network_aStar.png b/buch/papers/verkehr/figures/network_aStar.png new file mode 100644 index 0000000..5a681bd Binary files /dev/null and b/buch/papers/verkehr/figures/network_aStar.png differ diff --git a/buch/papers/verkehr/figures/network_dij.png b/buch/papers/verkehr/figures/network_dij.png new file mode 100644 index 0000000..d9348d7 Binary files /dev/null and b/buch/papers/verkehr/figures/network_dij.png differ -- cgit v1.2.1 From 26ecbb9559558f40e5e05a84ceb8622c5c9bd182 Mon Sep 17 00:00:00 2001 From: Pascal Schmid Date: Mon, 24 May 2021 20:57:36 +0200 Subject: renamed section files --- buch/papers/verkehr/section1.tex | 51 ++++++++++++++++++++++++++++++++++++++++ buch/papers/verkehr/section2.tex | 51 ++++++++++++++++++++++++++++++++++++++++ buch/papers/verkehr/section3.tex | 8 +++++++ buch/papers/verkehr/teil0.tex | 51 ---------------------------------------- buch/papers/verkehr/teil1.tex | 51 ---------------------------------------- buch/papers/verkehr/teil2.tex | 8 ------- 6 files changed, 110 insertions(+), 110 deletions(-) create mode 100644 buch/papers/verkehr/section1.tex create mode 100644 buch/papers/verkehr/section2.tex create mode 100644 buch/papers/verkehr/section3.tex delete mode 100644 buch/papers/verkehr/teil0.tex delete mode 100644 buch/papers/verkehr/teil1.tex delete mode 100644 buch/papers/verkehr/teil2.tex (limited to 'buch') diff --git a/buch/papers/verkehr/section1.tex b/buch/papers/verkehr/section1.tex new file mode 100644 index 0000000..78d9311 --- /dev/null +++ b/buch/papers/verkehr/section1.tex @@ -0,0 +1,51 @@ +\section{Versuchsreihe} +\label{section:verkehr/versuchsreihe} + +Um zwei der vorgestellten Suchalgorithmen zu vergleichen, wurden zwei Versuchsreihen erstellt. Dazu wurden in einem ersten Schritt zufällige Netzwerke generiert und anschliessend der \emph{Dijkstra}-, sowie der \emph{$A^*$}-Algorithmus auf das Netzwerk angewandt. +Dieser Vorgang wurde für die zufällig generierten Netzwerke mit einer Knotenzahl von 10, 20 50, 100, 200, 500 und 1000 je zehnmal repetiert. +Die Anzahl der Knoten im abgesuchten Netzwerk wirkt sich direkt auf die Rechenzeit aus. Der \emph{Dijkstra}-Algorithmus weist eine Zeitkomplexität von $\mathcal{O}(E\log{}V)$ auf, wobei $E$ die Anzahl Kanten (engl. \emph{edges}) und $V$ die Anzahl Knoten (engl. \emph{vertices}) darstellt. +Für den \emph{A*}-Algorithmus ist die Zeitkomplexität einerseits abhängig von der verwendeten Heuristik, andererseits aber auch vom vorliegenden Netzwerk selbst. Aus diesem Grund lässt sich keine defintive Angabe zu $\mathcal{O}$ machen. + +Die beiden Versuchsreihen unterscheiden sich zudem dahingehend, dass der Start- und Zielknoten bei der ersten Versuchsreihe im Netzwerk diametral gegenüber liegen. Dadurch gehen viele Knoten verloren, welcher \emph{Dijkstra} als uninformierter Suchalgorithmus absuchen würde. In der zweiten Veruschsreihe werden hingegen Start- un Zielpunkt zufällig im Netzwerk ausgewählt. Es wird deshalb erwwartet, dass die Unterschiede in der Rechenzeit der beiden Algorithmen in der zweiten Versuchsreihe deutlich ausgeprägter sind. + +\subsection{Einfluss der Knotenzahl auf die Rechenzeit} +\label{verkehr:Knotenzahl} + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_Vr1.png} + +\caption{Gemessene Rechenzeiten der ersten Versuchsreihe in Abhängigkeit der Knotenzahl.} +\label{verkehr:Vr1} +\end{wrapfigure} + +In \ref{verkehr:Vr1} ist ersichtlich, dass der Unterschied in der Rechenzeit zwischen \emph{Dijkstra} und \emph{A*} erst aber einer Knotenzahl von ca. $n=500$ merklich ansteigt. Dieses etwas überraschende Resultat ist darauf zurückzuführen, dass bei steigender Knotenzahl die Abweichung des effektiven kürzesten Pfades von der Distanz der Luftlinie abnimmt. +Die Effektivität von \emph{A*} mit euklidischer Heuristik ist wiederum grösser, wenn die Abweichung des kürzesten Pfads von der Luftlinie minimal ist. +Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei die relative Abweichung erstaunlicherweise bei einer Knotenzahl von $n=100$ maximal ist und nach $n=500$ nur noch marginal abnimmt. + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_pathDiff.png} + +\caption{Relative Abweichung des kürzesten Pfads von der Luftlinie.} +\label{verkehr:pathDifference} +\end{wrapfigure} + + +\subsection{Einfluss der Position der Start- und Zielknoten auf die Rechenzeit} + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_Vr2.png}\\ +\caption{Gemessene Rechenzeiten der zweiten Versuchsreihe in Abhängigkeit der Knotenzahl.} +\label{verkehr:Vr2} +\end{wrapfigure} + +Zum Vergleich der Resultate in \ref{verkehr:Knotenzahl} zeigt \ref{verkehr:Vr2} die Rechenzeiten der zweiten Versuchsreihe, in welcher die Start- und Zielknoten zufällig im Netzwerk ausgewählt wurden. Einerseits ist eine reduzierte durchschnittliche Rechenzeit festzustellen, was schlicht daran liegt, dass die zufällige Wahl der Knoten dazu führt, dass diese tendenziell weniger weit auseinander liegen.\\ +Des weiteren ist festzustellen, dass sich die Unterschiede der Rechenzeiten zwischen \emph{Dijkstra} und \emph{A*} deutlich früher abzeichnen. Dieses Phänomen lässt sich leicht durch die zielgerichtete Suche des \emph{A*}-Algorithmus erklären. + +\begin{wrapfigure}{} +\includegraphics[width=6cm]{figures/network_dij.png}\qquad +\includegraphics[width=6cm]{figures/network_aStar.png} +\caption{Suchpfad in grün mit \emph{Dijkstra} (links), und \emph{A*} (rechts). Besuchte Knoten sind in blau, resp. rot markiert.} +\label{verkehr:Comparison} +\end{wrapfigure} + +In \ref{verkehr:Comparison} ist ersichtlich, dass bei einem im Netzwerk liegenden Startknoten die zielgerichtete Suche von \emph{A*} deutlich ausgeprägter zum Zuge kommt, als wenn dieser am Rand des Netzwerks liegen würde. diff --git a/buch/papers/verkehr/section2.tex b/buch/papers/verkehr/section2.tex new file mode 100644 index 0000000..78d9311 --- /dev/null +++ b/buch/papers/verkehr/section2.tex @@ -0,0 +1,51 @@ +\section{Versuchsreihe} +\label{section:verkehr/versuchsreihe} + +Um zwei der vorgestellten Suchalgorithmen zu vergleichen, wurden zwei Versuchsreihen erstellt. Dazu wurden in einem ersten Schritt zufällige Netzwerke generiert und anschliessend der \emph{Dijkstra}-, sowie der \emph{$A^*$}-Algorithmus auf das Netzwerk angewandt. +Dieser Vorgang wurde für die zufällig generierten Netzwerke mit einer Knotenzahl von 10, 20 50, 100, 200, 500 und 1000 je zehnmal repetiert. +Die Anzahl der Knoten im abgesuchten Netzwerk wirkt sich direkt auf die Rechenzeit aus. Der \emph{Dijkstra}-Algorithmus weist eine Zeitkomplexität von $\mathcal{O}(E\log{}V)$ auf, wobei $E$ die Anzahl Kanten (engl. \emph{edges}) und $V$ die Anzahl Knoten (engl. \emph{vertices}) darstellt. +Für den \emph{A*}-Algorithmus ist die Zeitkomplexität einerseits abhängig von der verwendeten Heuristik, andererseits aber auch vom vorliegenden Netzwerk selbst. Aus diesem Grund lässt sich keine defintive Angabe zu $\mathcal{O}$ machen. + +Die beiden Versuchsreihen unterscheiden sich zudem dahingehend, dass der Start- und Zielknoten bei der ersten Versuchsreihe im Netzwerk diametral gegenüber liegen. Dadurch gehen viele Knoten verloren, welcher \emph{Dijkstra} als uninformierter Suchalgorithmus absuchen würde. In der zweiten Veruschsreihe werden hingegen Start- un Zielpunkt zufällig im Netzwerk ausgewählt. Es wird deshalb erwwartet, dass die Unterschiede in der Rechenzeit der beiden Algorithmen in der zweiten Versuchsreihe deutlich ausgeprägter sind. + +\subsection{Einfluss der Knotenzahl auf die Rechenzeit} +\label{verkehr:Knotenzahl} + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_Vr1.png} + +\caption{Gemessene Rechenzeiten der ersten Versuchsreihe in Abhängigkeit der Knotenzahl.} +\label{verkehr:Vr1} +\end{wrapfigure} + +In \ref{verkehr:Vr1} ist ersichtlich, dass der Unterschied in der Rechenzeit zwischen \emph{Dijkstra} und \emph{A*} erst aber einer Knotenzahl von ca. $n=500$ merklich ansteigt. Dieses etwas überraschende Resultat ist darauf zurückzuführen, dass bei steigender Knotenzahl die Abweichung des effektiven kürzesten Pfades von der Distanz der Luftlinie abnimmt. +Die Effektivität von \emph{A*} mit euklidischer Heuristik ist wiederum grösser, wenn die Abweichung des kürzesten Pfads von der Luftlinie minimal ist. +Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei die relative Abweichung erstaunlicherweise bei einer Knotenzahl von $n=100$ maximal ist und nach $n=500$ nur noch marginal abnimmt. + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_pathDiff.png} + +\caption{Relative Abweichung des kürzesten Pfads von der Luftlinie.} +\label{verkehr:pathDifference} +\end{wrapfigure} + + +\subsection{Einfluss der Position der Start- und Zielknoten auf die Rechenzeit} + +\begin{wrapfigure}{} +\includegraphics[width=12cm]{figures/chart_Vr2.png}\\ +\caption{Gemessene Rechenzeiten der zweiten Versuchsreihe in Abhängigkeit der Knotenzahl.} +\label{verkehr:Vr2} +\end{wrapfigure} + +Zum Vergleich der Resultate in \ref{verkehr:Knotenzahl} zeigt \ref{verkehr:Vr2} die Rechenzeiten der zweiten Versuchsreihe, in welcher die Start- und Zielknoten zufällig im Netzwerk ausgewählt wurden. Einerseits ist eine reduzierte durchschnittliche Rechenzeit festzustellen, was schlicht daran liegt, dass die zufällige Wahl der Knoten dazu führt, dass diese tendenziell weniger weit auseinander liegen.\\ +Des weiteren ist festzustellen, dass sich die Unterschiede der Rechenzeiten zwischen \emph{Dijkstra} und \emph{A*} deutlich früher abzeichnen. Dieses Phänomen lässt sich leicht durch die zielgerichtete Suche des \emph{A*}-Algorithmus erklären. + +\begin{wrapfigure}{} +\includegraphics[width=6cm]{figures/network_dij.png}\qquad +\includegraphics[width=6cm]{figures/network_aStar.png} +\caption{Suchpfad in grün mit \emph{Dijkstra} (links), und \emph{A*} (rechts). Besuchte Knoten sind in blau, resp. rot markiert.} +\label{verkehr:Comparison} +\end{wrapfigure} + +In \ref{verkehr:Comparison} ist ersichtlich, dass bei einem im Netzwerk liegenden Startknoten die zielgerichtete Suche von \emph{A*} deutlich ausgeprägter zum Zuge kommt, als wenn dieser am Rand des Netzwerks liegen würde. diff --git a/buch/papers/verkehr/section3.tex b/buch/papers/verkehr/section3.tex new file mode 100644 index 0000000..99a0d92 --- /dev/null +++ b/buch/papers/verkehr/section3.tex @@ -0,0 +1,8 @@ +\section{Ausblick} +\subsection{Optimierungsprobleme bei Graphen} +Das Finden eines kürzesten Pfades, sprich die Minimierung der Summe der Kantengewichte, ist nur eines der Optimierungsprobleme, die sich im Bereich von Grafen aufstellen lassen. Verschiedene, ähnliche Problemstellungen lassen sich teilweise mit denselben Algorithmen lösen.\\ +Im Bereich vom Computernetzwerken könnte zum Beispiel die Minimierung der Knotenzahl zur Datenübbertragung von Interesse sein. Dabei lässt sich dieses Problem einfach dadurch lösen, dass dem \emph{Dijkstra}, oder dem \emph{A*}-Algorithmus anstelle der Graph-Matrix (mit Kantengewichten als Einträgen) die Adjazenz-Matrix als Argument übergeben wird. Der gefundene kürzeste Pfad enstpricht der Anzahl benutzter Kanten, bzw. der Anzahl besuchter Knoten. + +\subsection{Wahl der Heuristik} +Ein grundlegendes Problem bei der Anwendung des \emph{A*} oder ähnlicher informierter Suchalgorithmen ist die Wahl der Heurstik. Bei einem physischen Verkehrsnetz kann bspw. die euklidische Distanz problems ermittelt werde. Bei einem regionalen Netzwerk ist die Annahme eines orthogonalen X-Y-Koordinatenetzes absolut ausreichend. Dies gilt z.B. auch für das Vernessungsnetz der Schweiz\footnote{Die aktuelle Schweizer Referenzsystem LV95 benutzt ein E/N-Koordinatennetz, wobei aufgrund zunehmender Abweichung vom Referenzellipsoid bei grosser Entfernung vom Nullpunkt ein Korrekturfaktor für die Höhe angebracht werden muss.} Bei überregionalen Netzwerken (Beispiel: Flugverbindungen) ist hingegen eine Berechnung im dreidimensionalen Raum, oder vereinfacht als Projektion auf das Geoid notwendig. Anonsten ist der Ablauf bei der Ausführung des Algorithmus allerdings identisch.\\ +In nicht-physischen Netzwerken stellt sich jedoch eine zweite Problematik. Da eine physische Distanz entweder nicht ermittelt werden kann, oder aber nicht ausschlaggebend ist, sind andere Netzwerk-Eigenschaften zur Beurteilung beizuziehen. Die Zuverlässigkeit ist dabei aber in den meisten Fällen nicht vergleichbar hoch, wie bei der euklidischen Heuristik. Oftmals werden deshalb bei derartigen Problem auch Algorithmen angewendet, die eine deutlich optimierte Zeitkomplexität aufweisen, dafür aber nicht mit Sicherheit den effizienstesten Pfad finden. diff --git a/buch/papers/verkehr/teil0.tex b/buch/papers/verkehr/teil0.tex deleted file mode 100644 index 78d9311..0000000 --- a/buch/papers/verkehr/teil0.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{Versuchsreihe} -\label{section:verkehr/versuchsreihe} - -Um zwei der vorgestellten Suchalgorithmen zu vergleichen, wurden zwei Versuchsreihen erstellt. Dazu wurden in einem ersten Schritt zufällige Netzwerke generiert und anschliessend der \emph{Dijkstra}-, sowie der \emph{$A^*$}-Algorithmus auf das Netzwerk angewandt. -Dieser Vorgang wurde für die zufällig generierten Netzwerke mit einer Knotenzahl von 10, 20 50, 100, 200, 500 und 1000 je zehnmal repetiert. -Die Anzahl der Knoten im abgesuchten Netzwerk wirkt sich direkt auf die Rechenzeit aus. Der \emph{Dijkstra}-Algorithmus weist eine Zeitkomplexität von $\mathcal{O}(E\log{}V)$ auf, wobei $E$ die Anzahl Kanten (engl. \emph{edges}) und $V$ die Anzahl Knoten (engl. \emph{vertices}) darstellt. -Für den \emph{A*}-Algorithmus ist die Zeitkomplexität einerseits abhängig von der verwendeten Heuristik, andererseits aber auch vom vorliegenden Netzwerk selbst. Aus diesem Grund lässt sich keine defintive Angabe zu $\mathcal{O}$ machen. - -Die beiden Versuchsreihen unterscheiden sich zudem dahingehend, dass der Start- und Zielknoten bei der ersten Versuchsreihe im Netzwerk diametral gegenüber liegen. Dadurch gehen viele Knoten verloren, welcher \emph{Dijkstra} als uninformierter Suchalgorithmus absuchen würde. In der zweiten Veruschsreihe werden hingegen Start- un Zielpunkt zufällig im Netzwerk ausgewählt. Es wird deshalb erwwartet, dass die Unterschiede in der Rechenzeit der beiden Algorithmen in der zweiten Versuchsreihe deutlich ausgeprägter sind. - -\subsection{Einfluss der Knotenzahl auf die Rechenzeit} -\label{verkehr:Knotenzahl} - -\begin{wrapfigure}{} -\includegraphics[width=12cm]{figures/chart_Vr1.png} - -\caption{Gemessene Rechenzeiten der ersten Versuchsreihe in Abhängigkeit der Knotenzahl.} -\label{verkehr:Vr1} -\end{wrapfigure} - -In \ref{verkehr:Vr1} ist ersichtlich, dass der Unterschied in der Rechenzeit zwischen \emph{Dijkstra} und \emph{A*} erst aber einer Knotenzahl von ca. $n=500$ merklich ansteigt. Dieses etwas überraschende Resultat ist darauf zurückzuführen, dass bei steigender Knotenzahl die Abweichung des effektiven kürzesten Pfades von der Distanz der Luftlinie abnimmt. -Die Effektivität von \emph{A*} mit euklidischer Heuristik ist wiederum grösser, wenn die Abweichung des kürzesten Pfads von der Luftlinie minimal ist. -Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei die relative Abweichung erstaunlicherweise bei einer Knotenzahl von $n=100$ maximal ist und nach $n=500$ nur noch marginal abnimmt. - -\begin{wrapfigure}{} -\includegraphics[width=12cm]{figures/chart_pathDiff.png} - -\caption{Relative Abweichung des kürzesten Pfads von der Luftlinie.} -\label{verkehr:pathDifference} -\end{wrapfigure} - - -\subsection{Einfluss der Position der Start- und Zielknoten auf die Rechenzeit} - -\begin{wrapfigure}{} -\includegraphics[width=12cm]{figures/chart_Vr2.png}\\ -\caption{Gemessene Rechenzeiten der zweiten Versuchsreihe in Abhängigkeit der Knotenzahl.} -\label{verkehr:Vr2} -\end{wrapfigure} - -Zum Vergleich der Resultate in \ref{verkehr:Knotenzahl} zeigt \ref{verkehr:Vr2} die Rechenzeiten der zweiten Versuchsreihe, in welcher die Start- und Zielknoten zufällig im Netzwerk ausgewählt wurden. Einerseits ist eine reduzierte durchschnittliche Rechenzeit festzustellen, was schlicht daran liegt, dass die zufällige Wahl der Knoten dazu führt, dass diese tendenziell weniger weit auseinander liegen.\\ -Des weiteren ist festzustellen, dass sich die Unterschiede der Rechenzeiten zwischen \emph{Dijkstra} und \emph{A*} deutlich früher abzeichnen. Dieses Phänomen lässt sich leicht durch die zielgerichtete Suche des \emph{A*}-Algorithmus erklären. - -\begin{wrapfigure}{} -\includegraphics[width=6cm]{figures/network_dij.png}\qquad -\includegraphics[width=6cm]{figures/network_aStar.png} -\caption{Suchpfad in grün mit \emph{Dijkstra} (links), und \emph{A*} (rechts). Besuchte Knoten sind in blau, resp. rot markiert.} -\label{verkehr:Comparison} -\end{wrapfigure} - -In \ref{verkehr:Comparison} ist ersichtlich, dass bei einem im Netzwerk liegenden Startknoten die zielgerichtete Suche von \emph{A*} deutlich ausgeprägter zum Zuge kommt, als wenn dieser am Rand des Netzwerks liegen würde. diff --git a/buch/papers/verkehr/teil1.tex b/buch/papers/verkehr/teil1.tex deleted file mode 100644 index 78d9311..0000000 --- a/buch/papers/verkehr/teil1.tex +++ /dev/null @@ -1,51 +0,0 @@ -\section{Versuchsreihe} -\label{section:verkehr/versuchsreihe} - -Um zwei der vorgestellten Suchalgorithmen zu vergleichen, wurden zwei Versuchsreihen erstellt. Dazu wurden in einem ersten Schritt zufällige Netzwerke generiert und anschliessend der \emph{Dijkstra}-, sowie der \emph{$A^*$}-Algorithmus auf das Netzwerk angewandt. -Dieser Vorgang wurde für die zufällig generierten Netzwerke mit einer Knotenzahl von 10, 20 50, 100, 200, 500 und 1000 je zehnmal repetiert. -Die Anzahl der Knoten im abgesuchten Netzwerk wirkt sich direkt auf die Rechenzeit aus. Der \emph{Dijkstra}-Algorithmus weist eine Zeitkomplexität von $\mathcal{O}(E\log{}V)$ auf, wobei $E$ die Anzahl Kanten (engl. \emph{edges}) und $V$ die Anzahl Knoten (engl. \emph{vertices}) darstellt. -Für den \emph{A*}-Algorithmus ist die Zeitkomplexität einerseits abhängig von der verwendeten Heuristik, andererseits aber auch vom vorliegenden Netzwerk selbst. Aus diesem Grund lässt sich keine defintive Angabe zu $\mathcal{O}$ machen. - -Die beiden Versuchsreihen unterscheiden sich zudem dahingehend, dass der Start- und Zielknoten bei der ersten Versuchsreihe im Netzwerk diametral gegenüber liegen. Dadurch gehen viele Knoten verloren, welcher \emph{Dijkstra} als uninformierter Suchalgorithmus absuchen würde. In der zweiten Veruschsreihe werden hingegen Start- un Zielpunkt zufällig im Netzwerk ausgewählt. Es wird deshalb erwwartet, dass die Unterschiede in der Rechenzeit der beiden Algorithmen in der zweiten Versuchsreihe deutlich ausgeprägter sind. - -\subsection{Einfluss der Knotenzahl auf die Rechenzeit} -\label{verkehr:Knotenzahl} - -\begin{wrapfigure}{} -\includegraphics[width=12cm]{figures/chart_Vr1.png} - -\caption{Gemessene Rechenzeiten der ersten Versuchsreihe in Abhängigkeit der Knotenzahl.} -\label{verkehr:Vr1} -\end{wrapfigure} - -In \ref{verkehr:Vr1} ist ersichtlich, dass der Unterschied in der Rechenzeit zwischen \emph{Dijkstra} und \emph{A*} erst aber einer Knotenzahl von ca. $n=500$ merklich ansteigt. Dieses etwas überraschende Resultat ist darauf zurückzuführen, dass bei steigender Knotenzahl die Abweichung des effektiven kürzesten Pfades von der Distanz der Luftlinie abnimmt. -Die Effektivität von \emph{A*} mit euklidischer Heuristik ist wiederum grösser, wenn die Abweichung des kürzesten Pfads von der Luftlinie minimal ist. -Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei die relative Abweichung erstaunlicherweise bei einer Knotenzahl von $n=100$ maximal ist und nach $n=500$ nur noch marginal abnimmt. - -\begin{wrapfigure}{} -\includegraphics[width=12cm]{figures/chart_pathDiff.png} - -\caption{Relative Abweichung des kürzesten Pfads von der Luftlinie.} -\label{verkehr:pathDifference} -\end{wrapfigure} - - -\subsection{Einfluss der Position der Start- und Zielknoten auf die Rechenzeit} - -\begin{wrapfigure}{} -\includegraphics[width=12cm]{figures/chart_Vr2.png}\\ -\caption{Gemessene Rechenzeiten der zweiten Versuchsreihe in Abhängigkeit der Knotenzahl.} -\label{verkehr:Vr2} -\end{wrapfigure} - -Zum Vergleich der Resultate in \ref{verkehr:Knotenzahl} zeigt \ref{verkehr:Vr2} die Rechenzeiten der zweiten Versuchsreihe, in welcher die Start- und Zielknoten zufällig im Netzwerk ausgewählt wurden. Einerseits ist eine reduzierte durchschnittliche Rechenzeit festzustellen, was schlicht daran liegt, dass die zufällige Wahl der Knoten dazu führt, dass diese tendenziell weniger weit auseinander liegen.\\ -Des weiteren ist festzustellen, dass sich die Unterschiede der Rechenzeiten zwischen \emph{Dijkstra} und \emph{A*} deutlich früher abzeichnen. Dieses Phänomen lässt sich leicht durch die zielgerichtete Suche des \emph{A*}-Algorithmus erklären. - -\begin{wrapfigure}{} -\includegraphics[width=6cm]{figures/network_dij.png}\qquad -\includegraphics[width=6cm]{figures/network_aStar.png} -\caption{Suchpfad in grün mit \emph{Dijkstra} (links), und \emph{A*} (rechts). Besuchte Knoten sind in blau, resp. rot markiert.} -\label{verkehr:Comparison} -\end{wrapfigure} - -In \ref{verkehr:Comparison} ist ersichtlich, dass bei einem im Netzwerk liegenden Startknoten die zielgerichtete Suche von \emph{A*} deutlich ausgeprägter zum Zuge kommt, als wenn dieser am Rand des Netzwerks liegen würde. diff --git a/buch/papers/verkehr/teil2.tex b/buch/papers/verkehr/teil2.tex deleted file mode 100644 index 99a0d92..0000000 --- a/buch/papers/verkehr/teil2.tex +++ /dev/null @@ -1,8 +0,0 @@ -\section{Ausblick} -\subsection{Optimierungsprobleme bei Graphen} -Das Finden eines kürzesten Pfades, sprich die Minimierung der Summe der Kantengewichte, ist nur eines der Optimierungsprobleme, die sich im Bereich von Grafen aufstellen lassen. Verschiedene, ähnliche Problemstellungen lassen sich teilweise mit denselben Algorithmen lösen.\\ -Im Bereich vom Computernetzwerken könnte zum Beispiel die Minimierung der Knotenzahl zur Datenübbertragung von Interesse sein. Dabei lässt sich dieses Problem einfach dadurch lösen, dass dem \emph{Dijkstra}, oder dem \emph{A*}-Algorithmus anstelle der Graph-Matrix (mit Kantengewichten als Einträgen) die Adjazenz-Matrix als Argument übergeben wird. Der gefundene kürzeste Pfad enstpricht der Anzahl benutzter Kanten, bzw. der Anzahl besuchter Knoten. - -\subsection{Wahl der Heuristik} -Ein grundlegendes Problem bei der Anwendung des \emph{A*} oder ähnlicher informierter Suchalgorithmen ist die Wahl der Heurstik. Bei einem physischen Verkehrsnetz kann bspw. die euklidische Distanz problems ermittelt werde. Bei einem regionalen Netzwerk ist die Annahme eines orthogonalen X-Y-Koordinatenetzes absolut ausreichend. Dies gilt z.B. auch für das Vernessungsnetz der Schweiz\footnote{Die aktuelle Schweizer Referenzsystem LV95 benutzt ein E/N-Koordinatennetz, wobei aufgrund zunehmender Abweichung vom Referenzellipsoid bei grosser Entfernung vom Nullpunkt ein Korrekturfaktor für die Höhe angebracht werden muss.} Bei überregionalen Netzwerken (Beispiel: Flugverbindungen) ist hingegen eine Berechnung im dreidimensionalen Raum, oder vereinfacht als Projektion auf das Geoid notwendig. Anonsten ist der Ablauf bei der Ausführung des Algorithmus allerdings identisch.\\ -In nicht-physischen Netzwerken stellt sich jedoch eine zweite Problematik. Da eine physische Distanz entweder nicht ermittelt werden kann, oder aber nicht ausschlaggebend ist, sind andere Netzwerk-Eigenschaften zur Beurteilung beizuziehen. Die Zuverlässigkeit ist dabei aber in den meisten Fällen nicht vergleichbar hoch, wie bei der euklidischen Heuristik. Oftmals werden deshalb bei derartigen Problem auch Algorithmen angewendet, die eine deutlich optimierte Zeitkomplexität aufweisen, dafür aber nicht mit Sicherheit den effizienstesten Pfad finden. -- cgit v1.2.1 From f5ac886bcfec175d61bbcb9fef9dd56c394bbf03 Mon Sep 17 00:00:00 2001 From: Pascal Schmid <81317360+paschost@users.noreply.github.com> Date: Mon, 24 May 2021 20:59:00 +0200 Subject: adjusted input-section names --- buch/papers/verkehr/main.tex | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'buch') diff --git a/buch/papers/verkehr/main.tex b/buch/papers/verkehr/main.tex index 332ee7e..01de182 100644 --- a/buch/papers/verkehr/main.tex +++ b/buch/papers/verkehr/main.tex @@ -27,10 +27,9 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. \end{itemize} -\input{papers/verkehr/teil0.tex} -\input{papers/verkehr/teil1.tex} -\input{papers/verkehr/teil2.tex} -\input{papers/verkehr/teil3.tex} +\input{papers/verkehr/section1.tex} +\input{papers/verkehr/section2.tex} +\input{papers/verkehr/section3.tex} \printbibliography[heading=subbibliography] \end{refsection} -- cgit v1.2.1 From 50995d1062d097f67afc8a11f9d7808539aa1e82 Mon Sep 17 00:00:00 2001 From: Pascal Schmid <81317360+paschost@users.noreply.github.com> Date: Mon, 24 May 2021 21:18:46 +0200 Subject: added chapter title, author --- buch/papers/verkehr/main.tex | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) (limited to 'buch') diff --git a/buch/papers/verkehr/main.tex b/buch/papers/verkehr/main.tex index 01de182..6348993 100644 --- a/buch/papers/verkehr/main.tex +++ b/buch/papers/verkehr/main.tex @@ -4,28 +4,9 @@ % (c) 2020 Hochschule Rapperswil % \chapter{Thema\label{chapter:verkehr}} -\lhead{Thema} +\lhead{Verkehrsfluss und Verkehrsnetze} \begin{refsection} -\chapterauthor{Hans Muster} - -Ein paar Hinweise für die korrekte Formatierung des Textes -\begin{itemize} -\item -Absätze werden gebildet, indem man eine Leerzeile einfügt. -Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet. -\item -Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende -Optionen werden gelöscht. -Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen. -\item -Beginnen Sie jeden Satz auf einer neuen Zeile. -Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen -in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt -anzuwenden. -\item -Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren -Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. -\end{itemize} +\chapterauthor{Pascal Andreas Schmid und Robine Luchsinger} \input{papers/verkehr/section1.tex} \input{papers/verkehr/section2.tex} -- cgit v1.2.1 From c639d259a74ab2fae3a85bc861e0bc5070800b13 Mon Sep 17 00:00:00 2001 From: Pascal Schmid <81317360+paschost@users.noreply.github.com> Date: Mon, 24 May 2021 21:24:56 +0200 Subject: adjusted figures in section 1 --- buch/papers/verkehr/section1.tex | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'buch') diff --git a/buch/papers/verkehr/section1.tex b/buch/papers/verkehr/section1.tex index 78d9311..9e40553 100644 --- a/buch/papers/verkehr/section1.tex +++ b/buch/papers/verkehr/section1.tex @@ -11,41 +11,45 @@ Die beiden Versuchsreihen unterscheiden sich zudem dahingehend, dass der Start- \subsection{Einfluss der Knotenzahl auf die Rechenzeit} \label{verkehr:Knotenzahl} -\begin{wrapfigure}{} +\begin{figure} +\centering \includegraphics[width=12cm]{figures/chart_Vr1.png} \caption{Gemessene Rechenzeiten der ersten Versuchsreihe in Abhängigkeit der Knotenzahl.} \label{verkehr:Vr1} -\end{wrapfigure} +\end{figure} In \ref{verkehr:Vr1} ist ersichtlich, dass der Unterschied in der Rechenzeit zwischen \emph{Dijkstra} und \emph{A*} erst aber einer Knotenzahl von ca. $n=500$ merklich ansteigt. Dieses etwas überraschende Resultat ist darauf zurückzuführen, dass bei steigender Knotenzahl die Abweichung des effektiven kürzesten Pfades von der Distanz der Luftlinie abnimmt. Die Effektivität von \emph{A*} mit euklidischer Heuristik ist wiederum grösser, wenn die Abweichung des kürzesten Pfads von der Luftlinie minimal ist. Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei die relative Abweichung erstaunlicherweise bei einer Knotenzahl von $n=100$ maximal ist und nach $n=500$ nur noch marginal abnimmt. -\begin{wrapfigure}{} +\begin{figure} +\centering \includegraphics[width=12cm]{figures/chart_pathDiff.png} \caption{Relative Abweichung des kürzesten Pfads von der Luftlinie.} \label{verkehr:pathDifference} -\end{wrapfigure} +\end{figure} \subsection{Einfluss der Position der Start- und Zielknoten auf die Rechenzeit} -\begin{wrapfigure}{} +\begin{figure} +\centering \includegraphics[width=12cm]{figures/chart_Vr2.png}\\ \caption{Gemessene Rechenzeiten der zweiten Versuchsreihe in Abhängigkeit der Knotenzahl.} \label{verkehr:Vr2} -\end{wrapfigure} +\end{figure} Zum Vergleich der Resultate in \ref{verkehr:Knotenzahl} zeigt \ref{verkehr:Vr2} die Rechenzeiten der zweiten Versuchsreihe, in welcher die Start- und Zielknoten zufällig im Netzwerk ausgewählt wurden. Einerseits ist eine reduzierte durchschnittliche Rechenzeit festzustellen, was schlicht daran liegt, dass die zufällige Wahl der Knoten dazu führt, dass diese tendenziell weniger weit auseinander liegen.\\ Des weiteren ist festzustellen, dass sich die Unterschiede der Rechenzeiten zwischen \emph{Dijkstra} und \emph{A*} deutlich früher abzeichnen. Dieses Phänomen lässt sich leicht durch die zielgerichtete Suche des \emph{A*}-Algorithmus erklären. -\begin{wrapfigure}{} +\begin{figure} +\centering \includegraphics[width=6cm]{figures/network_dij.png}\qquad \includegraphics[width=6cm]{figures/network_aStar.png} \caption{Suchpfad in grün mit \emph{Dijkstra} (links), und \emph{A*} (rechts). Besuchte Knoten sind in blau, resp. rot markiert.} \label{verkehr:Comparison} -\end{wrapfigure} +\end{figure} In \ref{verkehr:Comparison} ist ersichtlich, dass bei einem im Netzwerk liegenden Startknoten die zielgerichtete Suche von \emph{A*} deutlich ausgeprägter zum Zuge kommt, als wenn dieser am Rand des Netzwerks liegen würde. -- cgit v1.2.1 From b5bdeb425d4e8d509ba4d786fab3b167ff48d767 Mon Sep 17 00:00:00 2001 From: Pascal Schmid <81317360+paschost@users.noreply.github.com> Date: Mon, 24 May 2021 21:25:54 +0200 Subject: adjusted figures in section 2 --- buch/papers/verkehr/section2.tex | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'buch') diff --git a/buch/papers/verkehr/section2.tex b/buch/papers/verkehr/section2.tex index 78d9311..9e40553 100644 --- a/buch/papers/verkehr/section2.tex +++ b/buch/papers/verkehr/section2.tex @@ -11,41 +11,45 @@ Die beiden Versuchsreihen unterscheiden sich zudem dahingehend, dass der Start- \subsection{Einfluss der Knotenzahl auf die Rechenzeit} \label{verkehr:Knotenzahl} -\begin{wrapfigure}{} +\begin{figure} +\centering \includegraphics[width=12cm]{figures/chart_Vr1.png} \caption{Gemessene Rechenzeiten der ersten Versuchsreihe in Abhängigkeit der Knotenzahl.} \label{verkehr:Vr1} -\end{wrapfigure} +\end{figure} In \ref{verkehr:Vr1} ist ersichtlich, dass der Unterschied in der Rechenzeit zwischen \emph{Dijkstra} und \emph{A*} erst aber einer Knotenzahl von ca. $n=500$ merklich ansteigt. Dieses etwas überraschende Resultat ist darauf zurückzuführen, dass bei steigender Knotenzahl die Abweichung des effektiven kürzesten Pfades von der Distanz der Luftlinie abnimmt. Die Effektivität von \emph{A*} mit euklidischer Heuristik ist wiederum grösser, wenn die Abweichung des kürzesten Pfads von der Luftlinie minimal ist. Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei die relative Abweichung erstaunlicherweise bei einer Knotenzahl von $n=100$ maximal ist und nach $n=500$ nur noch marginal abnimmt. -\begin{wrapfigure}{} +\begin{figure} +\centering \includegraphics[width=12cm]{figures/chart_pathDiff.png} \caption{Relative Abweichung des kürzesten Pfads von der Luftlinie.} \label{verkehr:pathDifference} -\end{wrapfigure} +\end{figure} \subsection{Einfluss der Position der Start- und Zielknoten auf die Rechenzeit} -\begin{wrapfigure}{} +\begin{figure} +\centering \includegraphics[width=12cm]{figures/chart_Vr2.png}\\ \caption{Gemessene Rechenzeiten der zweiten Versuchsreihe in Abhängigkeit der Knotenzahl.} \label{verkehr:Vr2} -\end{wrapfigure} +\end{figure} Zum Vergleich der Resultate in \ref{verkehr:Knotenzahl} zeigt \ref{verkehr:Vr2} die Rechenzeiten der zweiten Versuchsreihe, in welcher die Start- und Zielknoten zufällig im Netzwerk ausgewählt wurden. Einerseits ist eine reduzierte durchschnittliche Rechenzeit festzustellen, was schlicht daran liegt, dass die zufällige Wahl der Knoten dazu führt, dass diese tendenziell weniger weit auseinander liegen.\\ Des weiteren ist festzustellen, dass sich die Unterschiede der Rechenzeiten zwischen \emph{Dijkstra} und \emph{A*} deutlich früher abzeichnen. Dieses Phänomen lässt sich leicht durch die zielgerichtete Suche des \emph{A*}-Algorithmus erklären. -\begin{wrapfigure}{} +\begin{figure} +\centering \includegraphics[width=6cm]{figures/network_dij.png}\qquad \includegraphics[width=6cm]{figures/network_aStar.png} \caption{Suchpfad in grün mit \emph{Dijkstra} (links), und \emph{A*} (rechts). Besuchte Knoten sind in blau, resp. rot markiert.} \label{verkehr:Comparison} -\end{wrapfigure} +\end{figure} In \ref{verkehr:Comparison} ist ersichtlich, dass bei einem im Netzwerk liegenden Startknoten die zielgerichtete Suche von \emph{A*} deutlich ausgeprägter zum Zuge kommt, als wenn dieser am Rand des Netzwerks liegen würde. -- cgit v1.2.1 From 40db89ca6efb1a6b962fe237c5641c939b18dde6 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Tue, 25 May 2021 00:47:51 +0200 Subject: Add book reference, fix typos --- buch/chapters/10-vektorenmatrizen/gruppen.tex | 2 +- buch/papers/punktgruppen/symmetry.tex | 34 +++++++++++++++------------ 2 files changed, 20 insertions(+), 16 deletions(-) (limited to 'buch') diff --git a/buch/chapters/10-vektorenmatrizen/gruppen.tex b/buch/chapters/10-vektorenmatrizen/gruppen.tex index 9848469..7628942 100644 --- a/buch/chapters/10-vektorenmatrizen/gruppen.tex +++ b/buch/chapters/10-vektorenmatrizen/gruppen.tex @@ -182,7 +182,7 @@ begegnet, wo wir nur gezeigt haben, dass $AA^{-1}=E$ ist. Da aber die invertierbaren Matrizen eine Gruppe bilden, folgt jetzt aus dem Satz automatisch, dass auch $A^{-1}A=E$. -\subsubsection{Homomorphismen} +\subsubsection{Homomorphismen} \label{buch:gruppen:subsection:homomorphismen} Lineare Abbildung zwischen Vektorräumen zeichnen sich dadurch aus, dass sie die algebraische Struktur des Vektorraumes respektieren. Für eine Abbildung zwischen Gruppen heisst dies, dass die Verknüpfung, diff --git a/buch/papers/punktgruppen/symmetry.tex b/buch/papers/punktgruppen/symmetry.tex index d3ccb4e..23b1411 100644 --- a/buch/papers/punktgruppen/symmetry.tex +++ b/buch/papers/punktgruppen/symmetry.tex @@ -2,8 +2,8 @@ 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, -verhältnismässig''} fast nicht verändert. In der Alltagssprache mag es ein +\footnote{\emph{Simmetr\'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. \begin{definition}[Symmetrie] @@ -109,7 +109,7 @@ der Rotation, erhält man die so genannte Diedergruppe D_n = \langle r, \sigma : r^{n-1} = \sigma^2 = (\sigma r)^2 = \mathds{1} \rangle = \left\{ \mathds{1}, r, \ldots, r^{n-1}, \sigma, \sigma r, \ldots, \sigma r^{n-1} - \right\}. + \right\}. \] Diesmal muss die Generator-Notation die Beziehungen zwischen den beiden Operationen beinhalten. Die ersten beiden sind leicht zu erkennen, für die @@ -121,10 +121,12 @@ 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] Seien \(G\) und \(H\) Gruppe mit unterschiedlicher Operation \(\diamond\) - bzw. \(\star\). Ein Homomorphismus 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. + 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. \end{definition} \begin{beispiel} Die Elemente \(r^k \in C_n\), wobei \(0 < k < n\), stellen abstrakt eine @@ -137,8 +139,8 @@ Natürlich, ja. Dafür führen wir den Begriff der Darstellung ein. \] definierte Funktion von \(C_n\) nach \(O(2)\) ist eine Darstellung von \(C_n\). In diesem Fall ist die erste Gruppenoperation die Komposition und - die zweite die Matrixmultiplikation. Man kann zwar überprüfen, dass - \(\Phi(r^2 \circ r) = \Phi(r^2)\Phi(r)\). + 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 @@ -153,9 +155,10 @@ 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)\)} der Matrixdarstellung der Symmetrieoperation -gehören. Diesen Spezialfall, bei dem mindestens ein Punkt unverändert bleibt, -nennt man Punktsymmetrie. +\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 @@ -164,15 +167,16 @@ nennt man Punktsymmetrie. 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 \(x\) wird gesagt, dass es eine Translationssymmetrie \(Q\) hat, wenn es -die Gleichung +Objekt \(U\) wird gesagt, dass es eine Translationssymmetrie \(Q(x) = x + a\) +hat, wenn es die Gleichung \[ - Q(x) = Q(x + a), + 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} % vim:ts=2 sw=2 spell spelllang=de: -- cgit v1.2.1 From c4cd9d1d746d382c4afe67078cb31997db1a5f9c Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Tue, 25 May 2021 00:53:59 +0200 Subject: Typos in chapter Vectore und Matrizen --- buch/chapters/10-vektorenmatrizen/gruppen.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'buch') diff --git a/buch/chapters/10-vektorenmatrizen/gruppen.tex b/buch/chapters/10-vektorenmatrizen/gruppen.tex index 9848469..6453566 100644 --- a/buch/chapters/10-vektorenmatrizen/gruppen.tex +++ b/buch/chapters/10-vektorenmatrizen/gruppen.tex @@ -313,14 +313,14 @@ auf einem geeigneten Vektorraum. \begin{definition} \label{buch:vektorenmatrizen:def:darstellung} Eine Darstellung einer Gruppe $G$ ist ein Homomorphismus -$G\to\operatorname{GL}_(\mathbb{R})$. +$G\to\operatorname{GL}_n(\mathbb{R})$. \index{Darstellung} \end{definition} \begin{beispiel} Die Gruppen $\operatorname{GL}_n(\mathbb{Z})$, $\operatorname{SL}_n(\mathbb{Z})$ oder $\operatorname{SO}(n)$ -sind alle Teilmengen von $\operatorname{GL}_n(\mathbb{R}$. + sind alle Teilmengen von $\operatorname{GL}_n(\mathbb{R})$. Die Einbettungsabbildung $G\hookrightarrow \operatorname{GL}_n(\mathbb{R})$ ist damit automatisch eine Darstellung, sie heisst auch die {\em reguläre Darstellung} der Gruppe $G$. -- cgit v1.2.1 From f1229a2d10f67eaefa4903a1e94d8259517bdd1c Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Tue, 25 May 2021 00:56:22 +0200 Subject: Remove whitespace Made a typo while fixing one ... --- buch/chapters/10-vektorenmatrizen/gruppen.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/chapters/10-vektorenmatrizen/gruppen.tex b/buch/chapters/10-vektorenmatrizen/gruppen.tex index 6453566..dfa7ab9 100644 --- a/buch/chapters/10-vektorenmatrizen/gruppen.tex +++ b/buch/chapters/10-vektorenmatrizen/gruppen.tex @@ -320,7 +320,7 @@ $G\to\operatorname{GL}_n(\mathbb{R})$. \begin{beispiel} Die Gruppen $\operatorname{GL}_n(\mathbb{Z})$, $\operatorname{SL}_n(\mathbb{Z})$ oder $\operatorname{SO}(n)$ - sind alle Teilmengen von $\operatorname{GL}_n(\mathbb{R})$. +sind alle Teilmengen von $\operatorname{GL}_n(\mathbb{R})$. Die Einbettungsabbildung $G\hookrightarrow \operatorname{GL}_n(\mathbb{R})$ ist damit automatisch eine Darstellung, sie heisst auch die {\em reguläre Darstellung} der Gruppe $G$. -- cgit v1.2.1 From 74e9f65ccf48e09553690d5b9560e1b9c5be84f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 25 May 2021 07:45:53 +0200 Subject: fix image paths --- buch/papers/verkehr/Makefile.inc | 12 +++++------- buch/papers/verkehr/section1.tex | 10 +++++----- buch/papers/verkehr/section2.tex | 10 +++++----- 3 files changed, 15 insertions(+), 17 deletions(-) (limited to 'buch') diff --git a/buch/papers/verkehr/Makefile.inc b/buch/papers/verkehr/Makefile.inc index 7bd8de1..876d0df 100644 --- a/buch/papers/verkehr/Makefile.inc +++ b/buch/papers/verkehr/Makefile.inc @@ -3,12 +3,10 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -dependencies-verkehr = \ +dependencies-verkehr = \ papers/verkehr/packages.tex \ - papers/verkehr/main.tex \ - papers/verkehr/references.bib \ - papers/verkehr/teil0.tex \ - papers/verkehr/teil1.tex \ - papers/verkehr/teil2.tex \ - papers/verkehr/teil3.tex + papers/verkehr/main.tex \ + papers/verkehr/section1.tex \ + papers/verkehr/section2.tex \ + papers/verkehr/references.bib diff --git a/buch/papers/verkehr/section1.tex b/buch/papers/verkehr/section1.tex index 9e40553..638d9dd 100644 --- a/buch/papers/verkehr/section1.tex +++ b/buch/papers/verkehr/section1.tex @@ -13,7 +13,7 @@ Die beiden Versuchsreihen unterscheiden sich zudem dahingehend, dass der Start- \begin{figure} \centering -\includegraphics[width=12cm]{figures/chart_Vr1.png} +\includegraphics[width=12cm]{papers/verkehr/figures/chart_Vr1.png} \caption{Gemessene Rechenzeiten der ersten Versuchsreihe in Abhängigkeit der Knotenzahl.} \label{verkehr:Vr1} @@ -25,7 +25,7 @@ Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei di \begin{figure} \centering -\includegraphics[width=12cm]{figures/chart_pathDiff.png} +\includegraphics[width=12cm]{papers/verkehr/figures/chart_pathDiff.png} \caption{Relative Abweichung des kürzesten Pfads von der Luftlinie.} \label{verkehr:pathDifference} @@ -36,7 +36,7 @@ Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei di \begin{figure} \centering -\includegraphics[width=12cm]{figures/chart_Vr2.png}\\ +\includegraphics[width=12cm]{papers/verkehr/figures/chart_Vr2.png}\\ \caption{Gemessene Rechenzeiten der zweiten Versuchsreihe in Abhängigkeit der Knotenzahl.} \label{verkehr:Vr2} \end{figure} @@ -46,8 +46,8 @@ Des weiteren ist festzustellen, dass sich die Unterschiede der Rechenzeiten zwis \begin{figure} \centering -\includegraphics[width=6cm]{figures/network_dij.png}\qquad -\includegraphics[width=6cm]{figures/network_aStar.png} +\includegraphics[width=6cm]{papers/verkehr/figures/network_dij.png}\qquad +\includegraphics[width=6cm]{papers/verkehr/figures/network_aStar.png} \caption{Suchpfad in grün mit \emph{Dijkstra} (links), und \emph{A*} (rechts). Besuchte Knoten sind in blau, resp. rot markiert.} \label{verkehr:Comparison} \end{figure} diff --git a/buch/papers/verkehr/section2.tex b/buch/papers/verkehr/section2.tex index 9e40553..638d9dd 100644 --- a/buch/papers/verkehr/section2.tex +++ b/buch/papers/verkehr/section2.tex @@ -13,7 +13,7 @@ Die beiden Versuchsreihen unterscheiden sich zudem dahingehend, dass der Start- \begin{figure} \centering -\includegraphics[width=12cm]{figures/chart_Vr1.png} +\includegraphics[width=12cm]{papers/verkehr/figures/chart_Vr1.png} \caption{Gemessene Rechenzeiten der ersten Versuchsreihe in Abhängigkeit der Knotenzahl.} \label{verkehr:Vr1} @@ -25,7 +25,7 @@ Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei di \begin{figure} \centering -\includegraphics[width=12cm]{figures/chart_pathDiff.png} +\includegraphics[width=12cm]{papers/verkehr/figures/chart_pathDiff.png} \caption{Relative Abweichung des kürzesten Pfads von der Luftlinie.} \label{verkehr:pathDifference} @@ -36,7 +36,7 @@ Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei di \begin{figure} \centering -\includegraphics[width=12cm]{figures/chart_Vr2.png}\\ +\includegraphics[width=12cm]{papers/verkehr/figures/chart_Vr2.png}\\ \caption{Gemessene Rechenzeiten der zweiten Versuchsreihe in Abhängigkeit der Knotenzahl.} \label{verkehr:Vr2} \end{figure} @@ -46,8 +46,8 @@ Des weiteren ist festzustellen, dass sich die Unterschiede der Rechenzeiten zwis \begin{figure} \centering -\includegraphics[width=6cm]{figures/network_dij.png}\qquad -\includegraphics[width=6cm]{figures/network_aStar.png} +\includegraphics[width=6cm]{papers/verkehr/figures/network_dij.png}\qquad +\includegraphics[width=6cm]{papers/verkehr/figures/network_aStar.png} \caption{Suchpfad in grün mit \emph{Dijkstra} (links), und \emph{A*} (rechts). Besuchte Knoten sind in blau, resp. rot markiert.} \label{verkehr:Comparison} \end{figure} -- cgit v1.2.1 From 1ffa89d50139ed5061e06ddd3371c5af0d003bd3 Mon Sep 17 00:00:00 2001 From: tim30b Date: Wed, 26 May 2021 15:36:33 +0200 Subject: begin to write kristalls and intro --- buch/papers/punktgruppen/crystals.tex | 15 +++++++++++++++ buch/papers/punktgruppen/intro.tex | 9 +++++++++ buch/papers/punktgruppen/symmetry.tex | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/punktgruppen/crystals.tex b/buch/papers/punktgruppen/crystals.tex index b104901..6de2bca 100644 --- a/buch/papers/punktgruppen/crystals.tex +++ b/buch/papers/punktgruppen/crystals.tex @@ -1 +1,16 @@ \section{Kristalle} +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. +\begin{definition}[Kristall] + Ein Kristall besteht aus Atomen, welche sich in einem Muster arrangieren, welches sich in drei Dimensionen periodisch wiederholt. +\end{definition} + + +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/intro.tex b/buch/papers/punktgruppen/intro.tex index 4a84465..10dea79 100644 --- a/buch/papers/punktgruppen/intro.tex +++ b/buch/papers/punktgruppen/intro.tex @@ -1 +1,10 @@ \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 + diff --git a/buch/papers/punktgruppen/symmetry.tex b/buch/papers/punktgruppen/symmetry.tex index c0418aa..4b179b0 100644 --- a/buch/papers/punktgruppen/symmetry.tex +++ b/buch/papers/punktgruppen/symmetry.tex @@ -14,7 +14,7 @@ präzise Bedeutung. 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 etwas Intuition aufbauen. +zunächst wollen wir eine Intuition aufbauen. \begin{figure}[h] \centering -- cgit v1.2.1 From 0c790bc7f4a0e39efc45b5aa007a4e0d94ae5b74 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 26 May 2021 15:48:00 +0200 Subject: Typo in lie groups --- buch/chapters/60-gruppen/lie-gruppen.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/chapters/60-gruppen/lie-gruppen.tex b/buch/chapters/60-gruppen/lie-gruppen.tex index d6fc007..e92c254 100644 --- a/buch/chapters/60-gruppen/lie-gruppen.tex +++ b/buch/chapters/60-gruppen/lie-gruppen.tex @@ -29,7 +29,7 @@ wenn es gelingt, eine Karte für eine Umgebung des neutralen Elements zu finden. Dazu muss gezeigt werden, dass sich aus einer solchen Karte für jedes andere Gruppenelement eine Karte für eine Umgebung ableiten lässt. -Sei also $\varphi_e\colon U_e\mathbb{R}^N$ eine Karte für die Umgebung +Sei also $\varphi_e\colon U_e \to \mathbb{R}^N$ eine Karte für die Umgebung $U_e\subset G$ von $e\in G$. Für $g\in G$ ist dann die Abbildung \[ -- cgit v1.2.1 From 9771c90a2643fc790dec3fb66741b969a379682e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 28 May 2021 08:27:18 +0200 Subject: wavelets, slides --- buch/chapters/70-graphen/wavelets.tex | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'buch') diff --git a/buch/chapters/70-graphen/wavelets.tex b/buch/chapters/70-graphen/wavelets.tex index ae065bc..ef1520e 100644 --- a/buch/chapters/70-graphen/wavelets.tex +++ b/buch/chapters/70-graphen/wavelets.tex @@ -174,14 +174,14 @@ die in der Umgebung eines Knotens wie die Konstante Funktion aussehen. Das Mutter-Wavelet einer Wavelet-Analyse zeichnet definiert, in welchem Mass sich Funktionen im Orts- und im Frequenzraum lokalisieren lassen. Die Standardbasis der Funktionen auf einem Graphen repräsentieren die -perfekte örtliche Lokalisierung, Eigenbasis der Laplace-Matrix repräsentiert +perfekte örtliche Lokalisierung, Eigenbasis der Laplace-Matrix $L$ repräsentiert die perfekte Lokalisierung im Frequenzraum. Sei $g(\lambda)\ge 0$ eine Funktion im Frequenzraum, die für $\lambda\to0$ und $\lambda\to\infty$ rasch abfällt mit einem Maximum irgendwo dazwischen (Abbildung~\ref{buch:graphs:fig:lokalisierung}). Sie kann als eine Lokalisierungsfunktion im Frequenzraum betrachtet werden. -Die Matrix $g(I)$ bildet entfernt aus einer Funktion die ganz hohen und +Die Matrix $g(L)$ bildet entfernt aus einer Funktion die ganz hohen und die ganz tiefen Frequenz, lokalisiert also die Funktionen im Frequenzraum. Die Standardbasisvektoren werden dabei zu Funktionen, die nicht mehr nur auf einem Knoten von $0$ verschieden sind, aber immer noch einigermassen @@ -190,15 +190,15 @@ Natürlich sind vor allem die Werte auf den Eigenwerten $\lambda_0 < \lambda_1\le \dots\le \lambda_n$ der Laplace-Matrix von Interesse. -Die Matrix $g(I)$ kann mit Hilfe der Spektraltheorie berechnet werden, +Die Matrix $g(L)$ kann mit Hilfe der Spektraltheorie berechnet werden, was im vorliegenden Fall naheliegend ist, weil ja die Eigenvektoren von der Laplace-Matrix bereits bekannt sind. Die Matrix $\chi^t$ bildet die Standardbasisvektoren in die Eigenbasis-Vektoren ab, also in eine Zerlegung im Frequenzraum ab, $\chi$ vermittelt die Umkehrabbildung. -Mit der Spektraltheorie findet man für die Abbildung $g(I)$ die Matrix +Mit der Spektraltheorie findet man für die Abbildung $g(L)$ die Matrix \begin{equation} -g(I) +g(L) = \chi \begin{pmatrix} @@ -214,7 +214,7 @@ g(\lambda_0)&0&\dots&0\\ \subsubsection{Dilatation} Die Dilatation um $a$ im Ortsraum wird zu einer Dilatation um $1/a$ im Frequenzraum. -Statt also nach einer echten Dilatation der Spaltenvektoren in $g(I)$ +Statt also nach einer echten Dilatation der Spaltenvektoren in $g(L)$ zu suchen, kann man sich darauf verlegen, Funktionen zu finden, deren Spektrum von einer Funktionen lokalisiert worden ist, die eine Dilatation von $g$ ist. @@ -225,9 +225,9 @@ Die zugehörigen Wavelet-Funktionen auf dem Graphen können wieder mit der Formel~\eqref{buch:graphen:eqn:mutterwavelet} berechnet werden, man erhält \begin{equation} -\tilde{D}_{1/a_i}g(I) +\tilde{D}_{1/a_i}g(L) = -g_i(I) +g_i(L) = \chi \begin{pmatrix} @@ -238,30 +238,30 @@ g(a_i\lambda_0)&0&\dots&0\\ \end{pmatrix} \chi^t . \end{equation} -Die Spalten von $g_i(I)$ bilden wieder eine Menge von Funktionen, die +Die Spalten von $g_i(L)$ bilden wieder eine Menge von Funktionen, die eine gemäss $g_i$ lokalisiertes Spektrum haben. \subsubsection{Vater-Wavelet} Wegen $g(0)=0$ wird die konstante Funktion, die Eigenvektor zum Eigenwert -$\lambda_0=0$ ist, von den Abbildungen $g_i(I)$ auf $0$ abgebildet. +$\lambda_0=0$ ist, von den Abbildungen $g_i(L)$ auf $0$ abgebildet. Andererseits ist diese Funktion nicht lokalisiert, man möchte Sie also für die Analyse nicht unbedingt verwenden. Man wählt daher eine Funktion $h(\lambda)$ mit $h(0)=1$ so, dass für $\lambda\to \infty$ der Wert $h(\lambda)$ genügend rasch gegen $0$ geht. -Die Matrix $h(I)$ bildet daher den konstanten Vektor nicht auf $0$ ab, +Die Matrix $h(L)$ bildet daher den konstanten Vektor nicht auf $0$ ab, sondern lokalisiert ihn im Ortsraum. -Wir erhalten daher in den Spalten von $h(I)$ Vektoren, die um die +Wir erhalten daher in den Spalten von $h(L)$ Vektoren, die um die einzelnen Knoten lokalisiert sind. \subsubsection{Rekonstruktion} -Die Operatoren $h(I)$ und $g_i(I)$ erzeugen analysieren eine Funktion +Die Operatoren $h(L)$ und $g_i(L)$ erzeugen analysieren eine Funktion nach den verschiedenen Frequenzen mit den Skalierungsfaktoren $a_i$, aber die Rekonstruktion ist noch nicht klar. Diese wäre einfacher, wenn die Operatoren zusammen die identische Abbildung ergäben, wenn also \[ -h(I) + \sum_{i}g_i(I)=I +h(L) + \sum_{i}g_i(L)=I \] gelten würde. Nach der Spektraltheorie gilt das nur, wenn für alle Eigenwerte @@ -301,14 +301,14 @@ B\|v\|^2 Die Zahlen $A$ und $B$ heissen die {\em Frame-Konstanten} des Frames. \end{definition} -Die oben gefundenen Vektoren, die Spalten Vektoren von $h(I)$ und $g_i(I)$ +Die oben gefundenen Vektoren, die Spalten Vektoren von $h(L)$ und $g_i(L)$ bilden daher ein Frame. Die Frame-Konstanten kann man unmittelbar ausrechnen. Der mittlere Term von \eqref{buch:graphen:eqn:frame} ist \[ -\|h(I) v\|^2 +\|h(L) v\|^2 + -\sum_{i} \|g_i(I)v\|^2, +\sum_{i} \|g_i(L)v\|^2, \] die durch die Funktion \[ -- cgit v1.2.1 From cc0321fcd452279007db89d9d01bf5c970d7fca8 Mon Sep 17 00:00:00 2001 From: Pascal Schmid <81317360+paschost@users.noreply.github.com> Date: Fri, 28 May 2021 11:14:22 +0200 Subject: fixed first section content MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit section was the same as section 2 "Versuchsreihe" instead of "Einführung", fixed that. --- buch/papers/verkehr/section1.tex | 99 +++++++++++++++++++++++----------------- 1 file changed, 58 insertions(+), 41 deletions(-) (limited to 'buch') diff --git a/buch/papers/verkehr/section1.tex b/buch/papers/verkehr/section1.tex index 9e40553..1f7c20e 100644 --- a/buch/papers/verkehr/section1.tex +++ b/buch/papers/verkehr/section1.tex @@ -1,55 +1,72 @@ -\section{Versuchsreihe} -\label{section:verkehr/versuchsreihe} +\section{Einführung} +\label{section:verkehr/einfuehrung} -Um zwei der vorgestellten Suchalgorithmen zu vergleichen, wurden zwei Versuchsreihen erstellt. Dazu wurden in einem ersten Schritt zufällige Netzwerke generiert und anschliessend der \emph{Dijkstra}-, sowie der \emph{$A^*$}-Algorithmus auf das Netzwerk angewandt. -Dieser Vorgang wurde für die zufällig generierten Netzwerke mit einer Knotenzahl von 10, 20 50, 100, 200, 500 und 1000 je zehnmal repetiert. -Die Anzahl der Knoten im abgesuchten Netzwerk wirkt sich direkt auf die Rechenzeit aus. Der \emph{Dijkstra}-Algorithmus weist eine Zeitkomplexität von $\mathcal{O}(E\log{}V)$ auf, wobei $E$ die Anzahl Kanten (engl. \emph{edges}) und $V$ die Anzahl Knoten (engl. \emph{vertices}) darstellt. -Für den \emph{A*}-Algorithmus ist die Zeitkomplexität einerseits abhängig von der verwendeten Heuristik, andererseits aber auch vom vorliegenden Netzwerk selbst. Aus diesem Grund lässt sich keine defintive Angabe zu $\mathcal{O}$ machen. +\subsection{Verkehrsnetze} +Das Verkehrsnetz besteht aus allen Anlagen, auf oder unter der Erdoberfläche, auf denen eine räumliche Fortbewegung von Personen oder auch Gütern stattfindet. Verkehrsnetze sind ein Bestandteil der Verkehrsinfrastruktur, die auf topografischen Karten festgehalten werden. Sie umfassen den Schienenverkehr, alle Strassen und Wege, wie auch Flugplätze und alle dazugehörigen Bauwerke. +Aus verkehrsgeografischer Sicht besteht das Verkehrsnetz aus Kanten, Knotenpunkten und dem Hinterland. Die Knotenpunkte werden auch hier durch die Kanten verbunden, die den Verkehrsstrom aufnehmen, wobei das Hinterland durch einzelne Knoten versorgt wird. Die Aufteilung in Kanten und Knotenpunkte ermöglicht eine Vereinfachung komplexer Verkehrsnetze, damit sie mittels der Graphentheorie untersucht werden können. +Grundsätzlich können kurze Wege zwischen den Knotenpunkten das Ziel beim +Aufbau eines Verkehrsnetzes sein. Es kann aber auch versucht werden, die Bau- und Unterhaltskosten des Verkehrsnetzes in einem gewissen Rahmen zu halten. Aus diesen Vorgaben ergibt sich dann, je nach dem was gewünscht wird, eine grob- oder feinmaschige Struktur des Netzes. +Ziel ist aber ein möglichst wirtschaftliches und optimales Verkehrsnetz. -Die beiden Versuchsreihen unterscheiden sich zudem dahingehend, dass der Start- und Zielknoten bei der ersten Versuchsreihe im Netzwerk diametral gegenüber liegen. Dadurch gehen viele Knoten verloren, welcher \emph{Dijkstra} als uninformierter Suchalgorithmus absuchen würde. In der zweiten Veruschsreihe werden hingegen Start- un Zielpunkt zufällig im Netzwerk ausgewählt. Es wird deshalb erwwartet, dass die Unterschiede in der Rechenzeit der beiden Algorithmen in der zweiten Versuchsreihe deutlich ausgeprägter sind. +\subsection{Suchalgorithmen} -\subsection{Einfluss der Knotenzahl auf die Rechenzeit} -\label{verkehr:Knotenzahl} +\subsubsection{Dijkstra-Algorithmus} +Der Algorithmus von Dijkstra ist benannt nach seinem Erfinder dem Mathematik- und Infomratikprofessor Edsger Dijkstra. Den Algorithmus hat er im Jahr 1959 erfunden. +Der Algorithmus von Dijkstra ist ein Greedy-Algorithmus (gieriger Algorithmus), der schrittweise einen Folgezustand auswählt, damit beim Zeitpunkt der Wahl der grösste Gewinn bzw. das beste Ergebnis erzielt werden kann. +Trotz der Schnelligkeit der Greedy-Algorithmen, können viele Probleme nicht optimal gelöst werden. +Vereinfacht wird beim Dijkstra-Algorithmus, ausgehend von einem Startknoten so lange dem kürzesten Pfad gefolgt, bis der Zielknoten erreicht wird. Dabei muss für jeden besuchten Knoten die Kostenfunktion als auch der Pfad dahin (vorheriger Knoten) gespeichert werden. +Dadurch wird hingegen garantiert, dass, wenn der Zielknoten erreicht wird, auch der kürzeste Pfad gefunden wurde. +Grundlegende Voraussetzung für den Dijkstra-Algorithmus ist die strikte Positivität der Kantengewichte. Andernfalls würde ein wiederholtes Ablaufen einer Kante mit negativem Gewicht zu einer stetigen Reduktion der Kostenfunktion führen, was zu einer unendlichen Schlaufe führen würde. -\begin{figure} -\centering -\includegraphics[width=12cm]{figures/chart_Vr1.png} +\subsubsection{A*-Algorithmus} +Suchalgorithmen werden nach einfachen (uninformierte) und heuristischen (informierten) Algorithmen unterschieden. Während einfache Algorithmen den Suchraum intuitiv durchsuchen, beziehen heuristische Algorithmen Wissen über den Suchraum mit ein. +Der A*-Algorithmus geht auf seine Erfinder Peter Hart, Nils Nilsson und Bertram Raphael zurück, die den Algorithmus erstmals im Jahr 1968 beschrieben. +Der A*-Algorithmus ist ein heuristischer Suchalgorithmus, der den kürzesten Pfad zwischen zwei Knoten in einem Graphen mit positiven Kantengewichten berechnet. +Im Gegensatz zu einfachen Suchalgorithmen, wird beim A*-Algorithmus eine Schätzfunktion, die sogenannte Heuristik, verwendet. Dies ermöglicht ein zielgerichtetes Suchen und gleichzeitig wird die Laufzeit verringert. +Ausserdem findet der A*-Algorithmus immer eine optimale Lösung, sofern eine vorhanden ist. +Der A*-Algorithmus wird als Verallgemeinerung gehandhabt und gilt als Erweiterung des Dijkstra-Algorithmus. -\caption{Gemessene Rechenzeiten der ersten Versuchsreihe in Abhängigkeit der Knotenzahl.} -\label{verkehr:Vr1} -\end{figure} +\subsubsection{Floyd-Warshall-Algorithmus} +Der Floyd-Warshall-Algorithmus wurde erstmals im Jahr 1962 von seinen Namensgebern Robert Floyd und Stephen Warshall vorgestellt. +Der Floyd-Warshall-Algorithmus sucht kürzeste Wege innerhalb eines Graphen. Er ermittelt aber nicht nur die Distanz zwischen zwei Knoten, sondern berechnet die kürzesten Wege zwischen allen Knotenpaaren eines gewichteten Graphen. Somit werden die kürzesten , beziehungsweise die optimalsten Wege zwischen allen Paaren von Knoten berechnet, sofern der Graph keinen negativen Kreis (Zyklus) aufweist. +Ein Kreis in einem Graphen ist ein Weg, bei dem Start- und Endpunkt den gleichen Knoten aufweisen. Dieser wird negativ, wenn die Summe der gewichteten Kanten kleiner als Null wird. -In \ref{verkehr:Vr1} ist ersichtlich, dass der Unterschied in der Rechenzeit zwischen \emph{Dijkstra} und \emph{A*} erst aber einer Knotenzahl von ca. $n=500$ merklich ansteigt. Dieses etwas überraschende Resultat ist darauf zurückzuführen, dass bei steigender Knotenzahl die Abweichung des effektiven kürzesten Pfades von der Distanz der Luftlinie abnimmt. -Die Effektivität von \emph{A*} mit euklidischer Heuristik ist wiederum grösser, wenn die Abweichung des kürzesten Pfads von der Luftlinie minimal ist. -Bei Betrachtung von \ref{verkehr:pathDifference} wird dies ersichtlich, wobei die relative Abweichung erstaunlicherweise bei einer Knotenzahl von $n=100$ maximal ist und nach $n=500$ nur noch marginal abnimmt. +\subsubsection{Euklidische Heuristik} +Bei Verkehrsnetzen ist die euklidische Distanz eine gängige und zuverlässige Heurstik. Dabei wird zu den effektiven Reisekosten zum aktuellen Knoten die euklidische Distanz bis zum Zielknoten hinzuaddiert. Dadurch wird die Kostenfunktion konsequent nie überschätzt. Dies stellt eine Voraussetzung an eine zulässige Heuristik dar. +Was bei einem physischen Verkehrsnetz einfach zu bewältigen ist, da Koordinaten von Verkehrsnetzen zur Berechnung der Distanz verwendet werden können, ist bei virtuellen Netzwerken (z.B. Servernetzen) entweder nicht möglich, oder nicht relevant. -\begin{figure} -\centering -\includegraphics[width=12cm]{figures/chart_pathDiff.png} -\caption{Relative Abweichung des kürzesten Pfads von der Luftlinie.} -\label{verkehr:pathDifference} -\end{figure} +\subsection{PageRank-Algorithmus} +Der PageRank-Algorithmus wurde von den Gründern von Google, Larry Page und Sergey Brin im Jahr 1996 entwickelt und zum Patent angemeldet. Zwei Jahre später gründeten sie ihr Unternehmen Google Inc.. +Beim PageRank-Algorithmus handelt es sich um den Algorithmus von Google, aus dem die Google-Matrix abgeleitet wird. +Die Google-Matrix ist eine immens grosse Matrix mit Millionen Zeilen und Spalten, die für die schnelle und vor allem exakte Bestimmung der PageRanks (Gewichtung) eine grosse Bedeutung hat. +Der PageRank-Algorithmus analysiert und gewichtet beispielsweise die Verlinkungsstruktur verschiedener Websites des World Wide Web anhand ihrer Struktur. +Der PageRank wird umso höher, je mehr hochwertige Links auf eine Webseite verweisen und je höher die Gewichtung einer Webseite ist, desto grösser ist der Effekt.\\ +Dabei handelt es sich um einen iterativen Prozess. Ausgegangen wird von der Adjazenz-Matrix $A$, für welche gilt. -\subsection{Einfluss der Position der Start- und Zielknoten auf die Rechenzeit} +%THEORIE... +Grundsätzlich setzt sich der PageRank Algorithmus mit der Fragestellung auseinander, wie eine Suchmaschine wie Google Suchresultate bewertet und somit sortieren soll. Öfters aufgerufene Resultate sollen schliesslich höher gewichtet werden. Dabei wird angenommen, dass eine Website populärer ist, je mehr andere Websites darauf verweisen. -\begin{figure} -\centering -\includegraphics[width=12cm]{figures/chart_Vr2.png}\\ -\caption{Gemessene Rechenzeiten der zweiten Versuchsreihe in Abhängigkeit der Knotenzahl.} -\label{verkehr:Vr2} -\end{figure} +\begin{equation} +A_{i,j}=\left\{ \begin{matrix} +1 & \text{Kante von $j$ nach $i$} \\ 0 & \text{keine Kante von $j$ nach $i$} +\end{matrix} + \right. +\label{verkehr:Adja} +\end{equation} -Zum Vergleich der Resultate in \ref{verkehr:Knotenzahl} zeigt \ref{verkehr:Vr2} die Rechenzeiten der zweiten Versuchsreihe, in welcher die Start- und Zielknoten zufällig im Netzwerk ausgewählt wurden. Einerseits ist eine reduzierte durchschnittliche Rechenzeit festzustellen, was schlicht daran liegt, dass die zufällige Wahl der Knoten dazu führt, dass diese tendenziell weniger weit auseinander liegen.\\ -Des weiteren ist festzustellen, dass sich die Unterschiede der Rechenzeiten zwischen \emph{Dijkstra} und \emph{A*} deutlich früher abzeichnen. Dieses Phänomen lässt sich leicht durch die zielgerichtete Suche des \emph{A*}-Algorithmus erklären. -\begin{figure} -\centering -\includegraphics[width=6cm]{figures/network_dij.png}\qquad -\includegraphics[width=6cm]{figures/network_aStar.png} -\caption{Suchpfad in grün mit \emph{Dijkstra} (links), und \emph{A*} (rechts). Besuchte Knoten sind in blau, resp. rot markiert.} -\label{verkehr:Comparison} -\end{figure} -In \ref{verkehr:Comparison} ist ersichtlich, dass bei einem im Netzwerk liegenden Startknoten die zielgerichtete Suche von \emph{A*} deutlich ausgeprägter zum Zuge kommt, als wenn dieser am Rand des Netzwerks liegen würde. +Für ungerichtete Graphen mit $n$ Knoten gilt \begin{equation}A_{i,j}=A_{j,i}\end{equation} und weiter \begin{equation}A_{i,i}=0\quad\forall i\in \left\{1...n\right\}\end{equation} +Beim PageRank-Algorithmus wird eine abgewandelte Form der Adjazenz-Matrix verwendet. +Dabei werden die Matrix-Einträge spaltenweise durch die jeweilige Spaltensumme geteilt. +\begin{equation} P_{i,j}=\frac{A_{i,j}}{\sum_{i=1}^{n}A_{i,j}} \end{equation} +Anschliessend multipliziert man diese Matrix $P$ mit einem Spaltenvektor $\Vec{r_0}$ mit $n$ Einträgen, für welchen gilt: +\begin{equation} \Vec{r_0}(i) = \frac{1}{n} \quad\forall i\in \left\{1...n\right\} \end{equation} +Dieser Vektor stellt ein neutrales Ranking dar. Alle Knoten werden gleich gewichtet. +Dadurch erhält man wiederum einen $n$-zeiligen Spaltenvektor $\Vec{r_1}$, der das "erste" Ranking darstellt. Durch Multiplikation der ursprünglichen Matrix $P$ mit dem 1. Ranking-Vektor $\Vec{r_1}$ wird auf Basis des ersten Rankings ein zweites erstellt. +\begin{equation} \Vec{r_2} = P\cdot\Vec{r_1} = P\cdot(P\cdot\Vec{r_0}) = P^2\cdot\Vec{r_0}\end{equation} +somit +\begin{equation} \Vec{r_i} = P^i\cdot\Vec{r_0}\end{equation} +Der Vektor $\Vec{r_i}$ konvergiert zu einem Eigenvektor von $P$ und stellt das abschliessende Ranking dar. -- cgit v1.2.1 From 46340ee2972d7f59bf87665fd93298a6a937f797 Mon Sep 17 00:00:00 2001 From: "User-PC\\User" Date: Fri, 28 May 2021 15:06:26 +0200 Subject: =?UTF-8?q?=C3=9Cberarbeitungen=20/=20Verbesserungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/papers/spannung/Einleitung.tex | 134 ++++------ buch/papers/spannung/Grafiken/Bild1.png | Bin 0 -> 17190 bytes buch/papers/spannung/Grafiken/Bild2.png | Bin 0 -> 26255 bytes .../spannung/Grafiken/infinitesimalerWuerfel.png | Bin 24852 -> 27082 bytes buch/papers/spannung/teil0.tex | 106 +++++--- buch/papers/spannung/teil1.tex | 58 ++-- buch/papers/spannung/teil2.tex | 296 ++++++++++++--------- buch/papers/spannung/teil3.tex | 12 +- buch/papers/spannung/teil4.tex | 95 +++---- 9 files changed, 372 insertions(+), 329 deletions(-) create mode 100644 buch/papers/spannung/Grafiken/Bild1.png create mode 100644 buch/papers/spannung/Grafiken/Bild2.png (limited to 'buch') diff --git a/buch/papers/spannung/Einleitung.tex b/buch/papers/spannung/Einleitung.tex index 37c2ec2..cf6e916 100644 --- a/buch/papers/spannung/Einleitung.tex +++ b/buch/papers/spannung/Einleitung.tex @@ -1,35 +1,63 @@ \section{Einleitung\label{spannung:section:Einleitung}} -In diesem Kapitel geht es darum die Matrix im dreidimensionalen Spannungszustand genauer zu untersuchen. -In der Geotechnik wendet man solche Matrizen an, um Spannungen im Boden zu berechnen. -Mit diesen Grundlagen dimensioniert man beispielsweise Böschungen, Fundationen, Dämme und Tunnels. -Ebenfalls benötigt man diese Matrix, um aus Versuchen Kennzahlen über den anstehenden Boden zu gewinnen. -Besonderes Augenmerk liegt dabei auf dem Oedometer - Versuch. +In diesem Kapitel geht es darum das Hook'sche Gesetz im Dreidimensionalen zu beschreiben. +Dieses beschreibt die Beziehung von Spannung und Dehnung von linear elastischen Materialien im Eindimensionalen. +Durch variable Krafteinwirkungen entstehen in jedem Punkt des Materials eine Vielzahl an unterschiedlichen Spannungen. +Jeder erdenkliche Punkt im Dreidimensionalen beschreibt daher einen entsprechenden individuellen Spannungszustand. +Um das Hook'sche Gesetz für den 3D Spannungszustand formulieren zu können, reichen Skalare nicht aus. +Darum werden Vektoren, Matrizen und Tensoren zur Hilfe gezogen. +Diese allgemeine Spannungsformel ist Grundlage für Computerprogramme und geotechnische Versuche, wie der Oedometer-Versuch. -Bei dieser Untersuchung der zugehörigen Berechnungen hat man es mit Vektoren, Matrizen und Tensoren zu tun. Um die mathematische Untersuchung vorzunehmen, beschäftigt man sich zuerst mit den spezifischen Gegebenheiten und Voraussetzungen. Ebenfalls gilt es ein paar wichtige Begriffe und deren mathematischen Zeichen einzuführen, damit sich den Berechnungen schlüssig folgen lässt. -In diesem Kapitel hat man es insbesondere mit Spannungen und Dehnungen zu tun. -Mit einer Spannung ist hier jedoch keine elektrische Spannung gemeint, -sondern eine Kraft geteilt durch Fläche. +\section{Spannungsausbreitung\label{spannung:section:Spannungsausbreitung}} +\rhead{Spannungsausbreitung} +Die Geotechnik ist eine Ingenieurdisziplin, bei welcher man Erdbau und den Erdbau tangierende Bauwerke dimensioniert. +Sie beinhaltet aber auch die statische Beurteilung von Boden und Fels. -\section{Einführung wichtige Begriffe\label{spannung:section:Wichtige Begriffe}} +Belastet man den Boden mit einer Spannung \[ -l_0 +\sigma = -\text{Ausgangslänge [\si{\meter}]} +\frac{F}{A} \] +, so wird diese in den Boden geleitet und von diesem kompensiert. +Im Boden entstehen unterschiedlich hohe Zusatzspannung. +Die Zusatzspannung scheint sich räumlich und berechenbar im Boden auszubreiten. +Im Falle einer konstanten Flächenlast $\sigma$ (siehe Abbildung 1.1) breitet sich die Zusatzspannung zwiebelartig aus. +Mit der Tiefe $t$ nimmt diese permanent ab (siehe Abbildung 1.2). +Wie diese Geometrie der Ausbreitung ist wird durch viele Modelle und Ansätze näherungsweise beschrieben. +Diese Zusatzspannung $\sigma$ ist aber sicher abhängig von $(x,y,t)$. + +\begin{figure} + \centering + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild4.png} + \caption{Ausbreitung der Zusatzspannung im Boden} + \label{fig:Bild4} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild5.png} + \caption{Funktionen Spannung und Dehnung} + \label{fig:Bild5} +\end{figure} + +Bei jeder dieser Zusatzspannung geht eine entsprechende Zusatzdehnung einher, welche eine Setzung bedeutet. +Im einfachsten Fall kann modellhaft mit \[ -\Delta l +\varepsilon = -\text{Längenänderung nach Kraftauftrag [\si{\meter}]} +\frac{\sigma}{E} \] +die Setzung an einem Punkt an der Bodenoberfläche mit \[ -\Delta b +s = -\text{Längenänderung in Querrichtung nach Kraftauftrag [\si{\meter}]} +\int_{0}^{\infty}\varepsilon\enspace dt \] +berechnet werden mit: \[ \varepsilon = @@ -43,22 +71,7 @@ l_0 \[ E = -\text{Elastizitätsmodul [\si{\kilo\pascal}]} -\] -\[ -\nu -= -\text{Querdehnungszahl; Poissonzahl [$-$]} -\] -\[ -F -= -\text{Kraft [\si{\kilo\newton}]} -\] -\[ -A -= -\text{Fläche [\si{\meter\squared}]} +\text{Elastizitätsmodul; Young-Modul [\si{\kilo\pascal}]} \] \[ t @@ -71,48 +84,17 @@ s \text{Setzung, Absenkung [m]} \] -Beziehungen -\[ -\varepsilon -= -\frac{\Delta l}{l_0} -\] -\[ -\varepsilon_q -= -\frac{\Delta b}{l_0} -= -\varepsilon\cdot\nu -\] -\[ -\sigma -= -\frac{N}{A} -\] -\[ -F -= -\int_{A} \sigma dA -\] -\[ -\varepsilon^{\prime} -= -\frac{1}{l_0} -\] +In der praktischen Geotechnik wird man allerdings weitaus schwierigere Situationen antreffen. +Ein Beispiel wäre eine Baugrube mit einem Baugrubenabschluss, wo ein Teil des Bodens abgetragen ist (siehe Abbildung 1.3). +Die Ausbreitung der Zusatzspannung $\sigma(x,y,t)$ würde hier deutlich komplizierter ausfallen. +Dies bedeutet auch eine komplexere Setzung der Bodenoberfläche infolge einer Flächenlast $\sigma$. +Aus allen zusätzlichen Spannungen müssen die adäquaten Dehnung mit Hilfe einer Spannungsgleichung berechnet werden. +Diese beruht auf Annahmen nach Hooke auf einem linear elastischen Boden. +Generell wird im Ingenieurwesen versucht Phänomene möglichst nach dem Hook'schen Gesetz abbilden zu können. -\section{Einführung wichtige Begriffe\label{spannung:section:Tensoren}} -Tensoren wurden als erstes in der Elastizitätstheorie eingesetzt. (Quelle Herr Müller) -In der Elastizitätstheorie geht es darum viele verschiedene Komponenten zu beschreiben. -Mit einer Matrix oder einem Vektor kann man dies nicht mehr bewerkstelligen. -Wenn man den dreidimensionalen Spannungszustand abbilden möchte, müsste man mehrere Vektoren haben. -Deshalb wurden 1840 von Rowan Hamilton Tensoren in die Mathematik eingeführt. -Woldemar Voigt hat den Begriff in die moderne Bedeutung von Skalar, Matrix und Vektor verallgemeinert. -Albert Einstein hat Tensoren zudem in der allgemeinen Relativitätstheorie benutzt. -Tensor sind eine Stufe höher als Matrizen. Matrizen sind 2. Stufe. -Da Tensoren eine Stufe höher sind, kann man auch Matrizen, Vektoren und Skalare als Tensoren bezeichnen. -Der Nachteil von den Tensoren ist, dass man die gewohnten Rechenregeln, die man bei Vektoren oder Matrizen kennt, -nicht darauf anwenden kann. Man ist deshalb bestrebt die Tensoren als Vektoren und Matrizen darzustellen, -damit man die gewohnten Rechenregeln darauf anwenden kann. (Quelle Wikipedia) -In der vorliegenden Arbeit sind bereits alle Tensoren als Matrizen 2. Stufe abgebildet. -Trotzdem kann man diese Matrizen wie vorher beschrieben als Tensor bezeichnen. -Da diese als Matrizen abgebildet sind, dürfen wir die bekannten Rechenregeln auf unsere Tensoren anwenden. \ No newline at end of file +\begin{figure} + \centering + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild3.png} + \caption{Beispiel Lastauftrag auf Boden} + \label{fig:Bild3} +\end{figure} \ No newline at end of file diff --git a/buch/papers/spannung/Grafiken/Bild1.png b/buch/papers/spannung/Grafiken/Bild1.png new file mode 100644 index 0000000..32b627e Binary files /dev/null and b/buch/papers/spannung/Grafiken/Bild1.png differ diff --git a/buch/papers/spannung/Grafiken/Bild2.png b/buch/papers/spannung/Grafiken/Bild2.png new file mode 100644 index 0000000..d1321a4 Binary files /dev/null and b/buch/papers/spannung/Grafiken/Bild2.png differ diff --git a/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.png b/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.png index 398529c..2c359e6 100644 Binary files a/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.png and b/buch/papers/spannung/Grafiken/infinitesimalerWuerfel.png differ diff --git a/buch/papers/spannung/teil0.tex b/buch/papers/spannung/teil0.tex index 2f4d23b..be837ac 100644 --- a/buch/papers/spannung/teil0.tex +++ b/buch/papers/spannung/teil0.tex @@ -1,56 +1,84 @@ -\section{Spannungsausbreitung\label{spannung:section:Spannungsausbreitung}} -\rhead{Spannungsausbreitung} -Anhand untenstehendem Bild kann ein einfaches Beispiel betrachtet werden. -Es gibt eine Flächenlast (Kraft), diese wird auf den Boden abgetragen. -Diese Last muss dann vom Boden aufgenommen werden. -Im Boden entsteht nebst der Eigenspannung eine weitere Spannung durch diese Last (Zusatzspannung). -Diese Zusatzspannung $\sigma$ ist abhängig von $(x,y,t)$. -Je nach dem, wo man sich im Boden befindet variert die Spannung. -Mit der Tiefe wird die Zusatzspannung geringer. -Die Ausbreitung der Zusatzspannung im Boden hat die Form einer Zwiebel. -Durch Untersuchung der Spannung an verschiedenen Punkten im Boden, kann man eine Funktion abtragen. -Dasselbe macht man auch mit der Dehnung. Es zeigt sich, dass die Form der beiden Funktionen gleich ist. -Dies erklärt sich dadurch, dass die Spannung und die Dehnung proportional zueinander sind. -\begin{figure} - \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild4.png} - \caption{Ausbreitung der Spannung im Boden} - \label{fig:Bild4} -\end{figure} +\section{Einachsiger Spannungszustand\label{spannung:section:Einachsiger Spannungsustand}} +\rhead{Einachsiger Spannungszustand} +Ein Spannungszustand beschreibt alle Spannungen, welche in einem beliebigen Punkt im Körper wirken (siehe Abbildung 1.4). +Änderungen der äusseren Kräfte verändern die inneren Spannungszustände im Material. +Um alle Spannungen eines Punktes darstellen zu können, wird ein infinitesimales Bodenelement in Form eines Würfels modellhaft vorgestellt. +Man spricht auch von einem Elementarwürfel, da dieser elementar klein ist. \begin{figure} \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild5.png} - \caption{Funktionen Spannung und Dehnung} - \label{fig:Bild5} + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild2.png} + \caption{Infinitesimales Bodenelement mit den 9 Spannungen} + \label{fig:infintesimaler-wurfel} \end{figure} -Anhand eines etwas schwierigeren Beispiels sieht man, -dass die Spannungsausbreitung nicht immer ganz einfach ist. -Man hat hier eine Baugrube mit einem Baugrubenabschluss, wo ein Teil des Bodens abgetragen wurde. -Was aber immer noch gilt ist, dass die Spannung $\sigma$ von drei Variablen abhängig ist $(x,y,t)$. -Ansätze um die Spannungsausbreitung zu berechnen gibt es je nach Bodentyp verschiedene. +Es werden jeweils drei Seiten dieses Würfels betrachtet, wobei die drei gegenüberliegenden Seiten die selben Spannungen aufweisen. +Das infinitesimale Bodenteilchen hat die Koordinaten $1$, $2$, $3$ muss sich zwingend im Gleichgewicht befinden. +So sind insgesamt 9 verschiedene Spannungen möglich, wobei 3 Normal- und 6 Schubspannungen sind. +Normalspannung wirken normal (mit rechtem Winkel) zur angreifenden Fläche und Schubspannungen parallel zur angreifenden Fläche. +Alle Beträge dieser 9 Spannungen am Elementarwürfel bilden den Spannungszustand. +Daraus können die äquivalenten Dehnungen $\varepsilon$ mit Hilfe des Hook'schen Gesetz berechnet werden. \begin{figure} \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild3.png} - \caption{Beispiel Lastauftrag auf Boden} - \label{fig:Bild3} + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild1.png} + \caption{1D Spannungszustand aus einer quaderförmigen Bodenprobe} + \label{fig:infintesimaler-wurfel} \end{figure} -Die Spannungsausbreitung ist uns jedoch gegeben, es geht nicht darum, dies genauer zu untersuchen. -Durch die Spannungsausbreitung und das Elastizitätsmodul kann man eine Dehnung berechnen. -Anhand dieser Dehnung kann man mit einem Integral wiederum die Setzung berechnen. +Im einachsigen Spannungszustand herrscht nur die Normalspannung $\sigma_{11}$ (siehe Abbildung). +Das Hook'sche Gesetz beschreibt genau diesen 1D Spannungszustand. +Nach Hooke gilt: +\[ +F +\sim +\Delta l +\] +. +Teilt man beide Seiten mit den Konstanten $A$ und $l_0$ erhält man +\[ +\frac{F}{A} += +\sigma +\sim +\] \[ \varepsilon = -\frac{\sigma}{E} +\frac{\Delta l}{l_0} +\] +und somit +\[ +\sigma +\sim +\varepsilon +\] +. +Mit: +\[ +l_0 += +\text{Länge zu Beginn [\si{\meter}]} +\] +\[ +A += +\text{Fläche [\si{\meter\squared}]} +\] + +Diese Beziehung gilt bei linear elastischen Materialien, welche reversibel sind und nicht dauerhaft verformt werden. +Es ist praktisch die relative Dehnung $\varepsilon$ anzugeben und nicht eine absolute Längenänderung $\Delta l$. +Mithilfe vom Elastizitätsmodul $E$ als Proportionalitätskonstante lässt sich der eindimensionale Fall mit +\[ +\sigma += +E\cdot\varepsilon \] +beschreiben. +Im Falle, dass der E-Modul nicht konstant ist, kann dieser näherungsweise mit \[ -s +E = -\int_{0}^{\infty}\varepsilon\enspace dt +\frac{\Delta\sigma}{\Delta\varepsilon} \] -Die Setzung zu bestimmen ist in der Geotechnik sehr wichtig. -Besonders ungleichmässige Setzungen können bei Bauwerken Probleme ergeben. -Es gilt also die Bauwerke so zu dimensionieren, dass es verträgliche Setzungen gibt. \ No newline at end of file +ausgedrückt werden. \ No newline at end of file diff --git a/buch/papers/spannung/teil1.tex b/buch/papers/spannung/teil1.tex index 9467d21..3b40ee9 100644 --- a/buch/papers/spannung/teil1.tex +++ b/buch/papers/spannung/teil1.tex @@ -1,41 +1,17 @@ -\section{Proportionalität Spannung-Dehnung\label{spannung:section:Proportionalität Spannung-Dehnung}} -\rhead{Proportionalität Spannung-Dehnung} -Das Hook'sche Gesetz beschreibt die elastische Längenänderung von Festkörpern im Zusammenhang mit einer Krafteinwirkung. -Die Längenänderung $\Delta l$ ist proportional zur Krafteinwirkung $F$. -\[ -F -\sim -\Delta l -\] -Man kann dies nur im Bereich vom linearen-elastischen Materialverhalten anwenden. -Das heisst, dass alle Verformungen reversibel sind, sobald man die Kraft wegnimmt. -Es findet somit keine dauernde Verformung statt. -Da es sehr praktisch ist die Längenänderung nicht absolut auszudrücken haben wir $\varepsilon$. -Die Dehnung $\varepsilon$ beschreibt die relative Längenänderung. -Die Dehnung $\varepsilon$ ist wiederum proportional zu der aufgebrachten Spannung. -Im Bauingenieurwesen hat man es oft mit grösseren Teilen oder grösseren Betrachtungsräumen zu tun. -Da ist es nun natürlich sehr sinnvoll, wenn wir nicht mit absoluten Zahlen rechnen, -sondern unabhängig von der Länge den Zustand mit Dehnung $\varepsilon$ beschreiben können. -Mithilfe vom E-Modul, (steht für Elastizitätsmodul) einer Proportionalitätskonstante, -kann man das in eine Gleichung bringen, wie man hier sieht. Das E-Modul beschreibt, -das Verhältnis von Kraftaufnahme eines Werkstoffes und dessen zusammenhängender Längenveränderung. -(Quelle Wikipedia) -\[ -\sigma -= -E\cdot\varepsilon -\] -\[ -E -= -\frac{\Delta\sigma}{\Delta\varepsilon} -= -const. -\] - -Aus diesem Verhältnis kann man das E-Modul berechnen. -Je nach Material ist dies verschieden. -Das E-Modul lässt sich nur im linearen-elastischen Materialverhalten anwenden. -Für Bodenmaterial gibt es ein spezielles E-Modul. Dieses wird mit dem Oedometer-Versuch ermittelt. -Es wird mit $E_{OED}$ ausgedrückt. Dieser Versuch wird später noch beschrieben. -Der Oedometer-Versuch ist abhängig von den diesem Kapitel zu untersuchenden Matrizen. \ No newline at end of file +\section{Skalare, Vektoren, Matrizen und Tensoren\label{spannung:section:Skalare,_Vektoren,_Matrizen_und_Tensoren}} +\rhead{Skalare, Vektoren, Matrizen und Tensoren} +Tensoren wurden als erstes in der Elastizitätstheorie eingesetzt. (Quelle Herr Müller) +In der Elastizitätstheorie geht es darum viele verschiedene Komponenten zu beschreiben. +Mit einer Matrix oder einem Vektor kann man dies nicht mehr bewerkstelligen. +Wenn man den dreidimensionalen Spannungszustand abbilden möchte, müsste man mehrere Vektoren haben. +Deshalb wurden 1840 von Rowan Hamilton Tensoren in die Mathematik eingeführt. +Woldemar Voigt hat den Begriff in die moderne Bedeutung von Skalar, Matrix und Vektor verallgemeinert. +Albert Einstein hat Tensoren zudem in der allgemeinen Relativitätstheorie benutzt. +Tensor sind eine Stufe höher als Matrizen. Matrizen sind 2. Stufe. +Da Tensoren eine Stufe höher sind, kann man auch Matrizen, Vektoren und Skalare als Tensoren bezeichnen. +Der Nachteil von den Tensoren ist, dass man die gewohnten Rechenregeln, die man bei Vektoren oder Matrizen kennt, +nicht darauf anwenden kann. Man ist deshalb bestrebt die Tensoren als Vektoren und Matrizen darzustellen, +damit man die gewohnten Rechenregeln darauf anwenden kann. (Quelle Wikipedia) +In der vorliegenden Arbeit sind bereits alle Tensoren als Matrizen 2. Stufe abgebildet. +Trotzdem kann man diese Matrizen wie vorher beschrieben als Tensor bezeichnen. +Da diese als Matrizen abgebildet sind, dürfen wir die bekannten Rechenregeln auf unsere Tensoren anwenden. \ No newline at end of file diff --git a/buch/papers/spannung/teil2.tex b/buch/papers/spannung/teil2.tex index 7dcf65f..8be0bdc 100644 --- a/buch/papers/spannung/teil2.tex +++ b/buch/papers/spannung/teil2.tex @@ -1,9 +1,47 @@ \section{Dreiachsiger Spannungszustand\label{spannung:section:Dreiachsiger_Spannungszustand}} -\rhead{Proportionalität Spannung-Dehnung} -Wie im Kapitel Spannungsausbreitung beschrieben herrscht in jedem Punkt ein anderer Spannungszustand. -Um die Spannung im Boden genauer untersuchen zu können, führt man einen infinitesimales Bodenteilchen ein. -Das Bodenteilchen ist geometrisch gesehen ein Würfel. -An diesem Bodenteilchen trägt man die Spannungen ein in alle Richtungen. +\rhead{Dreiachsiger Spannungszustand} +Durch komplexe Spannungsausbreitungen im Boden entstehen im 3D Spannungszustand unterschiedliche Normal- und Schubspannungen. +Ein Tensor 0.Stufe, sprich ein Skalar, kann lediglich den 1D Spannungszustand beschreiben. +Um den 3D Spannungszustandes als ein mathematisches Objekt darstellen zu können, wird ein Tensor 2.Stufe, sprich eine Matrix, eingesetzt. +Die Spannungen sind durch die zwei Indizes +\[ +i, j\in\left\{1, 2, 3\right\} +\] + +definiert. +Daher ergeben sich die 9 Spannungen. +Dieser Spannungstensor kann schliesslich mit $3^2$ Einträgen als 3x3 Matrix mit +\[ +\overline{\sigma} += +\sigma_{ij} += +\begin{pmatrix} + \sigma_{11} & \sigma_{12} & \sigma_{13} \\ + \sigma_{21} & \sigma_{22} & \sigma_{23} \\ + \sigma_{31} & \sigma_{32} & \sigma_{33} +\end{pmatrix} +\] +dargestellt werden und beschreibt somit den gesamten Spannungszustand. +Die Dehnungen wirken adäquat zu den Spannungen und sind durch die zwei Indizes +\[ +k, l\in\left\{1, 2, 3\right\} +\] + +definiert. +Der Dehnungstensor ist ebenfalls ein Tensor 2.Stufe und kann somit auch als $3\times3$ Matrix mit +\[ +\overline{\varepsilon} += +\varepsilon_{kl} += +\begin{pmatrix} + \varepsilon_{11} & \varepsilon_{12} & \varepsilon_{13} \\ + \varepsilon_{21} & \varepsilon_{22} & \varepsilon_{23} \\ + \varepsilon_{31} & \varepsilon_{32} & \varepsilon_{33} +\end{pmatrix} +\] +dargestellt werden und beschreibt den gesamten Dehnungszustand. \begin{figure} \centering @@ -12,23 +50,10 @@ An diesem Bodenteilchen trägt man die Spannungen ein in alle Richtungen. \label{fig:infintesimaler-wurfel} \end{figure} -An diesem infinitesimalen Bodenteilchen hat man ein räumliches Koordinatensystem, die Achsen $(1,2,3)$. -Die Achsen vom Koordinatensystem zeigen aus den 3 ersichtlichen Flächen heraus. -Pro ersichtliche Fläche haben wir eine Normalspannung und zwei Schubspannungen. -Im Gegensatz zum eindimensionalen Zustand entstehen bei einer Belastung des Bodenteilchens eine Vielzahl an Spannungen. -Es entstehen diverse Normal- und Schubspannungen. -Die Schubspannungen befinden sich an der Fläche, sie gehen rechtwinklig von den Achsen weg. -Die Schubspannungen auf einer Fläche stehen im 90 Grad Winkel zueinander. -Geschrieben werden diese mit $\sigma$, mit jeweils zwei Indizes. -Die Indizes geben uns an, in welche Richtung die Spannungen zeigen. -Der erste Index ist die Fläche auf welcher man sich befindet. -Der zweite Index gibt an, in welche Richtung die Spannung zeigt, dabei referenzieren die Indizes auch auf die Achsen $(1,2,3)$. -Bei den Spannungen sind immer positive als auch negative Spannungen möglich. -Es können also Druck- oder Zugspannungen sein. +Der Spannungs- und Dehnungstensor 2.Stufe kann je in einen Tensor 1. Stufe überführt werden, welches ein Spaltenvektor ist. +Gemäss der Hadamard-Algebra dürfen Zeile um Zeile in eine Spalte notiert werden, sodass es einen Spaltenvektor ergibt. +So ergibt sich der Spannungsvektor -Zunächst wird untenstehend der allgemeine Spannungszustand betrachtet. - -Spannungstensor 2. Stufe i,j $\in$ {1,2,3} \[ \overline{\sigma} = @@ -39,7 +64,6 @@ Spannungstensor 2. Stufe i,j $\in$ {1,2,3} \sigma_{21} & \sigma_{22} & \sigma_{23} \\ \sigma_{31} & \sigma_{32} & \sigma_{33} \end{pmatrix} -= \qquad \Rightarrow \qquad @@ -57,9 +81,7 @@ Spannungstensor 2. Stufe i,j $\in$ {1,2,3} \sigma_{33} \end{pmatrix} \] - -Dehnungstensor 2. Stufe k,l $\in$ {1,2,3} - +und Dehnungsvektor \[ \overline{\varepsilon} = @@ -70,7 +92,6 @@ Dehnungstensor 2. Stufe k,l $\in$ {1,2,3} \varepsilon_{21} & \varepsilon_{22} & \varepsilon_{23} \\ \varepsilon_{31} & \varepsilon_{32} & \varepsilon_{33} \end{pmatrix} -= \qquad \Rightarrow \qquad @@ -87,13 +108,22 @@ Dehnungstensor 2. Stufe k,l $\in$ {1,2,3} \varepsilon_{32} \\ \varepsilon_{33} \end{pmatrix} -\] +\]. -Bei diesen zwei obenstehenden Formeln kann man sehen wie Matrizen zu einem Vektor umgewandelt wurden. -Unter dem Kapitel Hadamard-Algebra kann man sehen, dass man dabei Zeile um Zeile in eine Spalte schreiben kann, -sodass es einen Vektor ergibt. +Um die Beziehung von Spannung und Dehnung, welche mit Tensoren 2.Stufen ausgedrückt werden, zu beschreiben, wird ein Elastizitätstensor 4.Stufe benötigt. +Dieser ist im 1D Spannungszustand ein Tensor 0.Stufe und somit ein Skalar. +Dieses Skalar ist das Elastizitätsmodul $E$. -Elastizitätstensor 4. Stufe i,j,k,l $\in$ {1,2,3} +Dieser Elastizitätstensor 4.Stufe kann als Tensor 2.Stufe, sprich als Matrix, dargestellt werden. +So wird die Spannungsgleichung stark vereinfacht, da nun ein Vektor mit einer Matrix operiert. +Dieser Tensor muss für eine Spannung jeden Einfluss aus allen 9 Dehnungen mit Konstanten erfassen. +Dies bedeutet um eine von 9 Spannungen berechnen zu können müssen alle 9 Dehnung mit unterschiedlichen Faktoren summiert werden. +Es ergeben sich $9^2$ Einträge, welches mit den 4 Indizes +\[ +i, j, k, l\in\left\{1, 2, 3\right\} +\] +, die zueinander verknüpft werden müssen, zu begründen ist. +Es ergeben sich $3^4$ Einträge, sprich eine $9\times9$ Matrix, welche allgemein mit \[ \overline{\overline{C}} = @@ -104,32 +134,51 @@ C_{1111} & C_{1112} & C_{1113} & C_{1121} & C_{1122} & C_{1123} & C_{1131} & C_{ C_{1211} & C_{1212} & C_{1213} & C_{1221} & C_{1222} & C_{1223} & C_{1231} & C_{1232} & C_{1233} \\ C_{1311} & C_{1312} & C_{1313} & C_{1321} & C_{1322} & C_{1323} & C_{1331} & C_{1332} & C_{1333} \\ C_{2111} & C_{2112} & C_{2113} & C_{2121} & C_{2122} & C_{2123} & C_{2131} & C_{2132} & C_{2133} \\ -C_{2211} & C_{2212} & C_{1113} & C_{2221} & C_{2222} & C_{2223} & C_{2231} & C_{2232} & C_{2233} \\ +C_{2211} & C_{2212} & C_{2213} & C_{2221} & C_{2222} & C_{2223} & C_{2231} & C_{2232} & C_{2233} \\ C_{2311} & C_{2312} & C_{2313} & C_{2321} & C_{2322} & C_{2323} & C_{2331} & C_{2332} & C_{2333} \\ C_{3111} & C_{3112} & C_{3113} & C_{3121} & C_{3122} & C_{3123} & C_{3131} & C_{3132} & C_{3133} \\ C_{3211} & C_{3212} & C_{3213} & C_{3221} & C_{3222} & C_{3223} & C_{3231} & C_{3232} & C_{3233} \\ C_{3311} & C_{3312} & C_{3313} & C_{3321} & C_{3322} & C_{3323} & C_{3331} & C_{3332} & C_{3333} \end{pmatrix} \] - -Dieser Elastizitätstensor muss eine quadratische Matrix mit $3^{4}$ Einträgen ergeben, -da die Basis mit den drei Richtungen $1, 2, 3$ und die Potenz mit den 4 Indizes mit je $1, 2, 3$ definiert sind. -Dies gibt daher eine 9 x 9 Matrix, welche zudem symmetrisch ist. - +ausgedrückt wird. +Dieser Elastizitätstensor muss für isotrope Materialien zwingend symmetrisch sein. Folglich gilt: \[ \overline{\overline{C}} = \overline{\overline{C}}~^{T} -\] +\]. -Allgemeine Spannungsgleichung (mit Vektoren und Tensor) +Die allgemeine Spannungsgleichung lautet nun: \[ \vec\sigma = \overline{\overline{C}}\cdot\vec{\varepsilon} -\] +\]. +Die Konstanten $C$ werden nun nach dem Hook'schen Gesetz mit Hilfe des Elastizitätsmoduls $E$ definiert. +Da dieser Modul durch die eindimensionale Betrachtung definiert ist muss eine weitere Kennzahl eingeführt werden. +Dies ist die Querdehnungszahl $\nu$ (auch Poisson-Zahl), welche mit +\[ +\nu += +\frac{\varepsilon_q}{\varepsilon} += +\frac{\Delta b}{b_0} +\] +und +\[ +\varepsilon += +\text{Längsdehnung [$-$]} +\] +\[ +\varepsilon_q += +\text{Querdehnung [$-$]} +\] +definiert ist. Trägt man die Konstanten in die Matrix ein ergibt sich \[ \begin{pmatrix} \sigma_{11}\\ @@ -168,32 +217,61 @@ Allgemeine Spannungsgleichung (mit Vektoren und Tensor) \end{pmatrix} \] -Man kann das zudem auch als Indexnotation aufschreiben. - +, welche ebenfalls als Indexnotation mit \[ \sigma_{ij} = -= -\sum_k=1^3 -\sum_l=1^3 +\sum_{k=1}^3 +\sum_{l=1}^3 C_{ijkl}\cdot\varepsilon_{kl} \] - -Um die Berechnung an einem Beispiel zu veranschaulichen: +ausgedrückt werden können. +Die Normalspannung $\sigma_{11}$ lässt sich exemplarisch mit \[ \sigma_{22} = \frac{E\cdot\nu}{(1+\nu)(1-2\nu)}\cdot\varepsilon_{11}+\frac{E}{(1+\nu)}\cdot\varepsilon_{22}+\frac{E\cdot\nu}{(1+\nu)(1-2\nu)}\cdot\varepsilon_{33} \] +berechnen. -Anhand dem Tensor der allgemeinen Spannungsgleichung kann man zwar eine Symmetrie erkennen. -Die verschiedenen Einträge wechseln sich aber mit einander ab und es gibt keine klaren Blöcke mit nur einem gleichen Eintrag. -Man greift deshalb auf die Voigt'sche Notation zurück. - - -Zur Notation wird die Voigt'sche Notation benutzt. Das sieht wie folgt aus: +Man betrachte nun die Eigenschaften des Elastizitätstensors. +Dieser ist quadratisch und symmetrisch, die verschiedenen Einträge wechseln sich aber miteinander ab. +Es ergeben sich keine Blöcke mit einheitlichen Einträgen. +Allerdings weiss man, dass im isotropen Boden der Spannungs-, Dehnungs- und daher auch Elastizitätstensor symmetrisch sind. +Wäre dem nicht so, würde sich das Material je nach Richtung unterschiedlich elastisch verhalten. +Diese Symmetrie setzt daher voraus, dass +\[ +\sigma_{12} += +\sigma_{21} +, +\sigma_{13} += +\sigma_{31} +, +\sigma_{23} += +\sigma_{32} +\] +und folglich auch +\[ +\varepsilon_{12} += +\varepsilon_{21} +, +\varepsilon_{13} += +\varepsilon_{31} +, +\varepsilon_{23} += +\varepsilon_{32} +\] +gilt. +Diese Eigenschaft wird durch die Voigt'sche Notation ausgenutzt um die Gleichung vereinfachen zu können. +Durch diese Symmetrie gilt \[ \overline{\sigma} = @@ -208,7 +286,9 @@ Zur Notation wird die Voigt'sche Notation benutzt. Das sieht wie folgt aus: & \sigma_{22} & \sigma_{23} \\ sym & & \sigma_{33} \end{pmatrix} +\qquad \Rightarrow +\qquad \vec{\sigma} = \begin{pmatrix} @@ -220,22 +300,7 @@ Zur Notation wird die Voigt'sche Notation benutzt. Das sieht wie folgt aus: \sigma_{12} \end{pmatrix} \] - -In der Voigt'sche Notation hat man die Reihenfolge von der Ecke links oben, diagonal zur Ecke rechts unten. -Danach ist noch $\sigma_{23}$, $\sigma_{13}$ und $\sigma_{12}$ aufzuschreiben um den Vektor zu erhalten. - -Eine weitere Besonderheit ist die Symmetrie der Matrix. -So entspricht $\sigma_{23}$ dem Wert $\sigma_{32}$ und $\sigma_{13}$ dem Wert $\sigma_{31}$. -Dies ist dadurch bedingt, dass die Kräfte in seitlicher Richtung im Boden die gleichen Werte annehmen. -Man hat in dieser Berechnung ein isotropes Material. -Im infinitesimalen Körper muss ein Gleichgewicht vorherrschen. -Ist kein Gleichgewicht vorhanden, würde sich der Körper zu drehen beginnen. -Es macht somit keinen Unterschied, ob man auf der Achse 2 in Richtung 3 geht, -oder auf der Achse 3 in Richtung 2. - -Da die Spannung proportional zur Dehnung ist, kann man die ganze Voigt'sche Notation auch mit der Dehnung ausdrücken. -Auch hier wandelt man das ganze gemäss der Reihenfolge in einen Vektor um. - +und entsprechend \[ \overline{\varepsilon} = @@ -247,7 +312,7 @@ Auch hier wandelt man das ganze gemäss der Reihenfolge in einen Vektor um. = \begin{pmatrix} \varepsilon_{11} & \varepsilon_{12} & \varepsilon_{13} \\ - & \varepsilon_{22} & \varepsilon_{23} \\ + & \varepsilon_{22} & \varepsilon_{23} \\ \text{sym} & & \varepsilon_{33} \end{pmatrix} \qquad @@ -263,31 +328,17 @@ Auch hier wandelt man das ganze gemäss der Reihenfolge in einen Vektor um. \varepsilon_{13} \\ \varepsilon_{12} \end{pmatrix} -\] +\]. - -Mit der hergeleiteten Beziehung für die Spannungsgleichung anhand vom E-Modul, -der allgemeinen linearen Spannungsgleichung kann man diese Beziehungen neu aufschreiben. -Man benötigt dazu den zuvor berechneten Dehnungsvektor. -Die Gleichung besagt: -\[ -\text{Spannungsvektor} -= -\text{Elastizitätstensor}\cdot\text{Dehnungsvektor} -\] +Aus den Vereinfachungen der Voigt'schen Notation lassen sich die Spannungs- und Dehnungstensoren als Spaltenvektoren mit je 6 Einträgen darstellen. +Der Elastizitätstensor kann entsprechend auf eine $6\times6$ Matrix reduziert werden. +Es lässt sich nun eine reduzierte allgemeine Spannungsgleichung mit \[ \vec{\sigma} = \overline{\overline{C}}\cdot\vec{\varepsilon} \] - -Die Vektoren haben je 6 Einträge. Um das ganze auszudrücken braucht es einen 6 x 6 Elastizitätstensor. -Der Tensor hat sich also im Vergleich zum 9 x 9 Tensor verkleinert. -Dies ist deshalb der Fall, da man in den Achsen 2 und 3 Symmetrien hat. -Dadurch kann man die Einträge $(\varepsilon_{21}=\varepsilon_{12}; \varepsilon_{31}=\varepsilon_{13}; \varepsilon_{32}=\varepsilon_{23})$ -zusammenfassen und drei Einträge verschwinden, da drei Dehnungen gleich sind. -Das ganze sieht dann wie folgt aus: - +beziehungsweise \[ \begin{pmatrix} \sigma_{11} \\ @@ -315,11 +366,10 @@ Das ganze sieht dann wie folgt aus: \varepsilon_{12} \end{pmatrix} \] - -Die Spannung $\sigma_{11}$ besteht somit aus Anteilen von all diesen sechs Konstanten und den verschiedenen Dehnungen. -Zuvor bei der Voigt'schen Notation hat man jedoch gesehen, dass die Tensoren symmetrisch sind. -Folglich muss auch dieser Elastizitätstensor symmetrisch sein. -Das sind folgendermassen aus: +beschreiben. +Die Spannung $\sigma_{11}$ beispielsweise besteht so aus der Summe aller 6 Produkte der Konstanten $C$ und Dehnungen $\varepsilon$. +Die Symmetrieeigenschaft des Elastizitätstensors bleibt auch hier erhalten. +Nun lässt sich die reduzierte allgemeine Spannungsgleichung mit \[ \begin{pmatrix} @@ -348,9 +398,9 @@ Das sind folgendermassen aus: \varepsilon_{12} \end{pmatrix} \] - -Die Konstanten $C$ kann man nun anders ausdrücken. -Und zwar bewerkstelligt man dies mithilfe vom Hook'schen Gesetz. +beschreiben. +Die Konstanten $C$ und $\nu$ werden wieder nach dem Hook'schen Gesetz definiert. +Dies ergibt die Spannungsgleichung, welche weit möglichst vereinfacht ist: \[ \begin{pmatrix} @@ -379,25 +429,25 @@ Und zwar bewerkstelligt man dies mithilfe vom Hook'schen Gesetz. \varepsilon_{13}\\ \varepsilon_{12} \end{pmatrix} -\] +\]. -Mithilfe der Poissonzahl, welche uns die Querdehnung angibt, -sprich wie viel sich der Körper in Querrichtung verformt und dem E-Modul kann man alle Konstanten ausdrücken. -Bei einigen fällt auf, dass diese 0 werden. Der Tensor besagt also, +Im Elastizitätstensor fallen zwei $3\times3$ Blöcke auf, welche nur Einträge mit $0$ haben. Der Tensor besagt also, dass diese jeweiligen Konstanten keinen Einfluss auf unsere Spannung haben. -Man sieht nun auch ganz gut, dass sich im Vergleich bei der allgemeinen Darstellung der Spannungsgleichung, -die Einträge verschoben haben. Man hat nun eine sehr vorteilhafte Anordnung der verschiedenen Blöcke im Tensor. -Als Beispiel kann man sich $\sigma_{33}$ anschauen. -Es ist ersichtlich, dass die Konstante $C_{31}$, $C_{32}$, $C_{33}$, $C_{35}$ und $C_{36}$ keinen Einfluss auf $\sigma_{33}$ haben. -Dies kann wie folgt erklärt werden. Auf Achse 3 geht $\sigma_{33}$ in Richtung 3. -Der Einfluss von $C_{31}$, Achse 3 in Richtung 1 hat keinen Einfluss auf $\sigma_{33}$. +Man sieht nun auch ganz gut, dass sich im Vergleich zu der allgemeinen Spannungsgleichung, die Einträge verschoben haben. +Da nach Voigt zuerst die Normalspannungen und anschliessend die Schubspannungen notiert worden sind, ergeben sich die $3\times3$ Blöcke. + +Man betrachte als Beispiel die Berechnung von $\sigma_{33}$. +Es ist ersichtlich, dass die Schubdehnungen keinen Einfluss auf $\sigma_{33}$ haben. +Der Einfluss der zu $\sigma_{33}$ äquivalenten Dehnung $\varepsilon_{33}$ hat den grössten Einfluss. +Die anderen Normalspannungen $\sigma_{11}$ und $\sigma_{22}$ haben einen unter anderem mit $\nu$ korrigierten Einfluss. -Von $\overline{\overline{C}}$ bildet man nun die Inverse Matrix $\overline{\overline{C}}~^{-1}$ stellt sich die ganze Gleichung um. +Von $\overline{\overline{C}}$ bildet man noch die inverse Matrix $\overline{\overline{C}}\mathstrut^{-1}$ um die Gleichung umstellen zu können. +Dadurch erhält man die Dehnungsgleichung: \[ \vec{\varepsilon} = -\overline{\overline{C}}~^{-1}\cdot \vec{\sigma} +\overline{\overline{C}}\mathstrut^{-1}\cdot \vec{\sigma} \] \[ @@ -427,25 +477,27 @@ Von $\overline{\overline{C}}$ bildet man nun die Inverse Matrix $\overline{\ove \sigma_{13}\\ \sigma_{12} \end{pmatrix} -\] - -Die zwei Blöcke links unten und rechts oben sind immer noch vorhanden. -Im Vergleich wo wir die Inverse noch nicht gemacht haben hat sich das nicht geändert. -Um die Einflüsse der Parameter zu veranschaulichen schreibt man folgende Gleichung. +\]. +Die zwei $3\times3$ Blöcke links unten und rechts oben sind folglich noch vorhanden. +Um wieder die Einflüsse der Parameter veranschaulichen zu können berechnet man mit \[ \varepsilon_{22} = \frac{1}{E}\sigma_{22} - \frac{\nu}{E}\sigma_{11} - \frac{\nu}{E}\sigma_{33} += +\frac{1}{E}\cdot(\sigma_{22}-\nu\cdot\sigma_{11}-\nu\cdot\sigma_{33}) \] -$\varepsilon_{22}$ beschreibt die Dehnung in Achse 2 und in Richtung 2. -In erster Linie hängt $\varepsilon_{22}$ von $\sigma_{22}$ ab. -Wenn die Poisson - Zahl grösser wird oder $\sigma_{11}$ oder $\sigma_{33}$, dann wird dadurch die Dehnung $\varepsilon_{22}$ kleiner. -Das heisst, auf Kosten von Verformung in anderer Richtung als Achse 2 Richtung 2 erfolgt die Verformung an anderer Stelle. -Wiederum hat die Schubspannung auf $\sigma_{11}$ keinen Einfluss. +die Dehnung $\varepsilon_{22}$. +Diese hängt wieder am meisten von $\sigma_{22}$ ab. +Ist die Querdehnung $\nu$ grösser, so wird die Dehnung $\varepsilon_{22}$ reduziert. +Bei inkompressiblen Medien, bei welchen keine Dehnungen und nur identische Normalspannungen auftreten können, ist folglich +\[ +\nu += +0.5 +\]. + -Nun kennt man die Beziehung der 6 Dehnungen mit den 6 Spannungen. -In der Geotechnik wäre das aufgrund der vielen Komponenten sehr umständlich um damit Berechnungen zu machen. -Es braucht daher eine Vereinfachung mit Invarianten, welche im nächsten Kapitel beschrieben sind. diff --git a/buch/papers/spannung/teil3.tex b/buch/papers/spannung/teil3.tex index 500c404..e5574b8 100644 --- a/buch/papers/spannung/teil3.tex +++ b/buch/papers/spannung/teil3.tex @@ -8,6 +8,7 @@ Als erste Bedingung stellt man folgendes Verhältnis auf: = \sigma_{33} \] +. Dies deshalb, da man von einem isotropen Bodenmaterial ausgeht. In Achse 22, Richtung 22 hat man den gleichen Boden wie in Achse 33 und Richtung 33. @@ -35,6 +36,7 @@ q = \sigma_{11}-\sigma_{33} \] +. p ist das arithmetische Mittel von der Spannung im infinitesimalen Würfel. q ist die Differenz zwischen der Spannung in vertikaler Richtung und der Spannung in Richtung 2 und 3. @@ -44,7 +46,7 @@ Aus der Formel vom vorherigen Kapitel konnten wir die Spannungen berechnen. Deshalb kann man nun p und q in die Gleichung einsetzen. Die Dehnungen werden mit neuen Variablen eingeführt. Die Deviatorische Dehnung kann mit einer Schubdehnung verglichen werden. -Die hydrostatische Dehnung kann mit einer Kompressionsdehnung verglichen werden. +Die hydrostatische Dehnung kann mit einer Kompressionsdehnung verglichen \[ \overbrace{\sigma_{11}-\sigma_{33}}^{q} @@ -70,9 +72,9 @@ Die hydrostatische Dehnung kann mit einer Kompressionsdehnung verglichen werden. \text{Deviatorische Dehnung} [-] \] -Diese Komponenten kann man nun in die Vereinfachte Matrix einsetzen. -Man hat dann eine Matrix multipliziert mit einem Vektor und erhält einen Vektor. +werden. +Diese Komponenten kann man nun in die Vereinfachte Matrix \[ \begin{pmatrix} q\\ @@ -88,7 +90,9 @@ Man hat dann eine Matrix multipliziert mit einem Vektor und erhält einen Vektor \varepsilon_{\nu} \end{pmatrix} \] +einsetzen. +Man hat dann eine Matrix multipliziert mit einem Vektor und erhält einen Vektor. Mit dieser Formel lassen sich verschieden Parameter von Versuchen analysieren und berechnen. Ein solcher Versuch, den oft in der Geotechnik durchgeführt wird ist der Oedometer-Versuch. -Im nächsten Kapitel wird die Anwendung der Matrix an diesem Versuch beschrieben. +Im nächsten Kapitel wird die Anwendung der Matrix an diesem Versuch beschrieben. \ No newline at end of file diff --git a/buch/papers/spannung/teil4.tex b/buch/papers/spannung/teil4.tex index 85e9b1b..60f2518 100644 --- a/buch/papers/spannung/teil4.tex +++ b/buch/papers/spannung/teil4.tex @@ -1,68 +1,69 @@ -\section{Spannungsausbreitung\label{spannung:section:Oedometer - Versuch}} -\rhead{Oedometer - Versuch} -Beim Oedometer - Versucht hat man einen Stahlring mit einer Filterplatte am Boden. -In diesen Stahlring wird eine Bodenprobe eingefüllt. -Anschliessend wir mit einer Platte das Bodenmaterial mit einer ansteigenden Kraft belastet. - -Die Probe wird sich so verdichten. Das Volumen nimmt ab. -Der Stahlring verhindert ein seitliches ausbrechen oder entweichen der Bodenprobe. -Die Dehnung auf der Seite beträgt somit 0. -Mit dem Wert der Kraft und der Fläche lässt sich die Spannung berechnen. -Anhand der Volumenabnahme errechnet man die Dehnung. -Aus diesen Werten lässt sich wiederum das E-Modul bestimmen. -Beim Oedometer Versuch ist das E-Modul als $E_{OED}$ bezeichnet. - -Das $E_{OED}$ hat man speziell in der Geotechnik. -Dies aufgrund der speziellen Situation wo man sich mit dem infinitesimalen Würfel befindet. -Mit dem Stahlring, der verhindert das Material seitlich entweichen kann hat man ganz ähnliche Verhältnisse wie tief im Untergrund. -Auch dort kann das Material bei einer Belastung nicht seitlich entweichen. - -Wichtig ist nochmals zu betonen, dass alle diese beschriebenen Berechnungen ausschliesslich im linear-elastischen Materialverhalten funktionieren. -So ist es auch beim Oedometer - Versuch. -Den Versuch kann man auf einem $\sigma$ und $\varepsilon$ Diagramm abtragen. - -\begin{figure} - \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/DiagrammOedometer-Versuch.png} - \caption{Diagramm Oedometer - Versuch} - \label{fig:Diagramm Oedometer - Versuch} -\end{figure} - -Bei einem Versuch mit anderem Baumaterial wie beispielsweise Holz nimmt die Dehnung im Laufe des Versuchs stärker zu, obwohl weniger Spannung abgetragen wird. -Bei den meisten Böden ist dies anders. Durch die Komprimierung nimmt der Boden mehr Spannung auf, und verformt sich zugleich weniger stark. - -Man kann die Dehnung in unsere vereinfachte Matrix einsetzen. Das E-Modul ersetzt man mit dem $E_{OED}$. +\section{Oedometer-Versuch\label{spannung:section:Oedometer-Versuch}} +\rhead{Oedometer-Versuch} +Mit dem Oedometer-Versuch kann der Oedometrische Elastizitätsmodul $E_{OED}$ bestimmt werden. +Dieser beschreibt ebenfalls das Verhältnis zwischen Spannung und Dehnung, allerdings unter anderen Bedingungen. +Diese Bedingung ist das Verhindern der seitlichen Verformung, sprich der Dehnung in Richtung $1$ und $2$. +Es wird ein Probeelement mit immer grösseren Gewichten belastet, welche gleichmässig auf das Material drücken. +Die seitliche Verschiebung des Materials wird durch einen Stahlring verhindert. +Die Probe wird sich so steig verdichten. +Das Volumen nimmt ab und die Dehnung nimmt immer mehr zu. +Unter diesen Bedingungen wird das Oedometrische E-Modul mit steigender Dehnung zunehmen. +Da im Boden das umgebende Material ähnliche eine seitliche Verformung verhindert, +gibt dieser Oedometrische E-Modul die Realität besser als der gewöhnliche E-Modul wieder. +Durch dieses Verhindern des seitlichen Ausbrechens ist \[ -\overbrace{\sigma_{11}-\sigma_{33}}^{q} +\varepsilon_{22} = -\frac{3E}{2(1+\nu)} \overbrace{\frac{2}{3}(\varepsilon_{11} - 0)}^{\varepsilon_{\nu}} +\varepsilon_{33} += +0 \] - +aber auch \[ -\overbrace{\frac{\sigma_{11}+2\sigma_{33}}{3}}^{p} +\sigma_{22} = -\frac{E}{3(1-2\nu)} \overbrace{(\varepsilon_{11} - 2\cdot0)}^{\varepsilon_{s}} +\sigma_{33} +\neq 0 \] - +Die Spannung $\sigma_{11}$ wird durch durch die aufgebrachte Kraft mit +\[ +\sigma_{11} += +\frac{F}{A} +\] +und die Dehnung $\varepsilon_{11}$ jeweils mit den entsprechenden Setzungen berechnet. +Diese Randbedingen können in die vereinfachte Gleichung eingesetzt. +Diese lautet nun: \[ \begin{pmatrix} \sigma_{11}-\sigma_{33} \\ \sigma_{11}+2\sigma_{33} \end{pmatrix} = -\begin{bmatrix} +\begin{pmatrix} \frac{E_{OED}}{(1+\nu)} & 0 \\ - 0 & \frac{E_{OED}}{(1-2\nu)} -\end{bmatrix} + 0 & \frac{E_{OED}}{(1-2\nu)} +\end{pmatrix} \begin{pmatrix} \varepsilon_{11}\\ \varepsilon_{11} \end{pmatrix} \] +. -An einem geeigneten Punkt, wo man noch im linear-elastischen Materialverhalten ist, kann man nun das $E_{OED}$ abtragen. -Es wird nur ein Delta betrachtet um $E_{OED}$ zu berechnen. -Man darf die Dehnung nicht über den gesamten Verlauf betrachten um $E_{OED}$ zu berechnen. +Daraus lässt sich bei jedem Setzungsgrad das Oedometrische E-Modul $E_{OED}$ und die seitlichen Spannungen $\sigma_{33}$ mit den 2 Gleichungen -Mit diesem ermittelten E-Modul kann man nun weitere Berechnungen für die Geotechnik durchführen. +GLEICHUNGEN... + +berechnen. +Den Versuch kann man auf einem $\sigma$-$\varepsilon$-Diagramm abtragen (siehe Abbildung 1.7). +Durch die Komprimierung nimmt der Boden mehr Spannung auf, und verformt sich zugleich weniger stark. +Mit diesem ermittelten $E_{OED}$ kann man nun weitere Berechnungen für die Geotechnik durchführen. + +\begin{figure} + \centering + \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/DiagrammOedometer-Versuch.png} + \caption{Diagramm Oedometer-Versuch} + \label{fig:Diagramm Oedometer-Versuch} +\end{figure} \ No newline at end of file -- cgit v1.2.1 From e86e0ad0e4415450a9c8b28917024ee6d0d77da5 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Fri, 28 May 2021 15:23:51 +0200 Subject: text added --- buch/papers/reedsolomon/rekonstruktion.tex | 204 ++++++++++++++++++++++++----- 1 file changed, 174 insertions(+), 30 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex index a3edba4..8cb7744 100644 --- a/buch/papers/reedsolomon/rekonstruktion.tex +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -5,36 +5,180 @@ % \section{Nachricht Rekonstruieren \label{reedsolomon:section:rekonstruktion}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? +\rhead{Rekonstruktion} +Im letzten Kapitel haben wir eine Möglichkeit gefunden, wie wir die Fehlerhaften Stellen lokalisieren können. +Mit diesen Stellen soll es uns nun möglich sein, aus dem fehlerhaften empfangenen Nachrichtenvektor wieder unsere Nachricht zu rekonstruieren. +Das Lokatorpolynom +\[ +d(X) = (X - a^3)(X-a^8) +\] +markiert dabei diese Fehlerhaften Stellen im Übertragungsvektor +\[ +w = [5,3,6,8,2,10,2,7,1,4]. +\] +Als Ausgangslage verwenden wir die Matrix, mit der wir den Nachrichtenvektor ursprünglich codiert haben. +Unser Ziel ist es wie auch schon im Kapitel X.X (Rekonstuktion ohne Fehler) eine Möglichkeit zu finden, wie wir den Übertragungsvektor decodieren können. +Aufgrund der Fehlerstellen müssen wir aber davon ausgehen, das wir nicht mehr den gleichen Weg verfolgen können wie wir im Kapitel X.X angewendet haben. -\subsection{De finibus bonorum et malorum -\label{reedsolomon:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. +Wir stellen also die Matrix auf und markieren gleichzeitig die Fehlerstellen. +\[ +\textcolor{gray}{ + \begin{pmatrix} + a^0 \\ a^1 \\ a^2 \\ \textcolor{red}{a^3} \\ a^4 \\ a^5 \\ a^6 \\ a^7 \\ \textcolor{red}{a^8} \\ a^9 \\ +\end{pmatrix}} +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ \textcolor{red}{8} \\ 2 \\ 10 \\ 2 \\ 7 \\ \textcolor{red}{1} \\ 4 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^3}& \textcolor{red}{8^6}& \textcolor{red}{8^9}& \textcolor{red}{8^{12}}& \textcolor{red}{8^{15}}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{27}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^8}& \textcolor{red}{8^{16}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{32}}& \textcolor{red}{8^{40}}& \textcolor{red}{8^{48}}& \textcolor{red}{8^{56}}& \textcolor{red}{8^{64}}& \textcolor{red}{8^{72}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ +\end{pmatrix} +\] +Die rot markierten Stellen im Übertragungsvektor enthalten Fehler und bringt uns daher kein weiterer Nutzen. +Aus diesem Grund werden diese Stellen aus dem Vektor entfernt, was wir hier ohne Probleme machen können, da dieser Code ja über Fehlerkorrekturstellen verfügt, deren Aufgabe es ist, eine bestimmte Anzahl an Fehler kompensieren zu können. +Die dazugehörigen Zeilen in der Matrix werden ebenfalls entfernt, da die Matrix gleich viele Zeilen wie im Übertragungsvektor aufweisen muss, damit man ihn decodieren kann. +Daraus resultiert +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ +\end{pmatrix} +. +\] +Die Matrix ist jedoch nicht mehr quadratisch, was eine Rekonstruktion durch Inversion ausschliesst. +Um die quadratische Form wieder herzustellen müssen wir zwei Spalten aus der Matrix entfernen. +Wir kennen aber das Resultat aus den letzten vier Spalten, da wir wissen, das die Nachricht aus Nutzdatenteil und Fehlerkorrekturteil besteht, wobei der letzteres bekanntlich aus lauter Nullstellen besteht. +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor{green}{8^6}& \textcolor{green}{8^7}& \textcolor{green}{8^8}& \textcolor{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor{green}{8^{12}}& \textcolor{green}{8^{14}}& \textcolor{green}{8^{16}}& \textcolor{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor{green}{8^{24}}& \textcolor{green}{8^{28}}& \textcolor{green}{8^{32}}& \textcolor{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor{green}{8^{30}}& \textcolor{green}{8^{35}}& \textcolor{green}{8^{40}}& \textcolor{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor{green}{8^{36}}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{48}}& \textcolor{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{49}}& \textcolor{green}{8^{56}}& \textcolor{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor{green}{8^{54}}& \textcolor{green}{8^{63}}& \textcolor{green}{8^{72}}& \textcolor{green}{8^{81}}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor{green}{m_6} \\ \textcolor{green}{m_7} \\ \textcolor{green}{m_8} \\ \textcolor{green}{m_9} \\ +\end{pmatrix} +\] +Wir nehmen die Entsprechenden Spalten aus der Matrix heraus und erhalten so das Überbestimmte Gleichungssystem +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor{red}{7} \\ \textcolor{red}{4} \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^7}& \textcolor{red}{8^{14}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{28}}& \textcolor{red}{8^{35}}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^9}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{27}}& \textcolor{red}{8^{36}}& \textcolor{red}{8^{45}}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} +. +\] +Die roten Zeilen können wir aufgrund der Überbestimmtheit ebenfalls entfernen und erhalten so die gesuchte quadratische Matrix +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} +. +\] +Nun können wir den Gauss-Algorithmus anwenden um die Matrix zu Invertieren. +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ +\end{pmatrix} += +\begin{pmatrix} + 1& 1& 1& 1& 1& 1\\ + 1& 8& 9& 6& 4& 10\\ + 1& 9& 4& 3& 5& 1\\ + 1& 4& 5& 9& 3& 1\\ + 1& 10& 1& 10& 1& 10\\ + 1& 3& 9& 5& 4& 1\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} +\qquad +\Rightarrow +\qquad +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} += +\begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ +\end{pmatrix} +\] +Multiplizieren wir nun aus, erhalten wir unseren Nutzdatenteil +\[ +m = [4,7,2,5,8,1] +\] +zurück, den wir ursprünglich versendet haben. -- cgit v1.2.1 From 98bca60d5b3d77f0396903747f70ea2b3c7ad5bd Mon Sep 17 00:00:00 2001 From: Malarius1999 Date: Sun, 30 May 2021 23:14:28 +0200 Subject: First Version Nicht sicher, ob das Buch kompiliert, weil ich nicht weiss wie man alles zusammen kompiliert. In einem separaten File hat es aber geklappt. Ich bin auch nicht sicher welche Packages wirklich alle notwendig sind. --- buch/papers/clifford/0_ElevatorPitch.tex | 2 + buch/papers/clifford/10_Quaternionen.tex | 60 ++++++++ buch/papers/clifford/1_Vektordarstellung.tex | 71 +++++++++ buch/papers/clifford/2_QuadratVektoren.tex | 110 ++++++++++++++ buch/papers/clifford/3_MultiplikationVektoren.tex | 175 ++++++++++++++++++++++ buch/papers/clifford/4_GeometrischesProdukt.tex | 59 ++++++++ buch/papers/clifford/5_PolareDarstellung.tex | 29 ++++ buch/papers/clifford/6_Dirac-Matrizen.tex | 7 + buch/papers/clifford/7_Reflektion.tex | 32 ++++ buch/papers/clifford/8_Rotation.tex | 99 ++++++++++++ buch/papers/clifford/9_KomplexeZahlen.tex | 27 ++++ buch/papers/clifford/main.tex | 19 ++- buch/papers/clifford/packages.tex | 23 ++- buch/papers/clifford/papers/clifford/teil0.tex | 0 buch/papers/clifford/teil0.tex | 22 --- buch/papers/clifford/teil1.tex | 55 ------- buch/papers/clifford/teil2.tex | 40 ----- buch/papers/clifford/teil3.tex | 40 ----- 18 files changed, 706 insertions(+), 164 deletions(-) create mode 100644 buch/papers/clifford/0_ElevatorPitch.tex create mode 100644 buch/papers/clifford/10_Quaternionen.tex create mode 100644 buch/papers/clifford/1_Vektordarstellung.tex create mode 100644 buch/papers/clifford/2_QuadratVektoren.tex create mode 100644 buch/papers/clifford/3_MultiplikationVektoren.tex create mode 100644 buch/papers/clifford/4_GeometrischesProdukt.tex create mode 100644 buch/papers/clifford/5_PolareDarstellung.tex create mode 100644 buch/papers/clifford/6_Dirac-Matrizen.tex create mode 100644 buch/papers/clifford/7_Reflektion.tex create mode 100644 buch/papers/clifford/8_Rotation.tex create mode 100644 buch/papers/clifford/9_KomplexeZahlen.tex create mode 100644 buch/papers/clifford/papers/clifford/teil0.tex delete mode 100644 buch/papers/clifford/teil0.tex delete mode 100644 buch/papers/clifford/teil1.tex delete mode 100644 buch/papers/clifford/teil2.tex delete mode 100644 buch/papers/clifford/teil3.tex (limited to 'buch') diff --git a/buch/papers/clifford/0_ElevatorPitch.tex b/buch/papers/clifford/0_ElevatorPitch.tex new file mode 100644 index 0000000..a599903 --- /dev/null +++ b/buch/papers/clifford/0_ElevatorPitch.tex @@ -0,0 +1,2 @@ + +GA [Geometric Algebra i.a.W. Clifford Algebra] provides a unified language for the whole of physics and for much of mathematics and its applications that is conceptually and computationally superior to alternative mathematical systems in many application domains. \ No newline at end of file diff --git a/buch/papers/clifford/10_Quaternionen.tex b/buch/papers/clifford/10_Quaternionen.tex new file mode 100644 index 0000000..c987fc3 --- /dev/null +++ b/buch/papers/clifford/10_Quaternionen.tex @@ -0,0 +1,60 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{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. +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} +\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) + \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. + +\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. +\begin{align} + |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} + \begin{split} + &v'' = qvq^{-1}\\ + &Re(q) = Re(q^{-1});\enspace Im(q) = -Im(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} + +\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 diff --git a/buch/papers/clifford/1_Vektordarstellung.tex b/buch/papers/clifford/1_Vektordarstellung.tex new file mode 100644 index 0000000..cb6e7af --- /dev/null +++ b/buch/papers/clifford/1_Vektordarstellung.tex @@ -0,0 +1,71 @@ +\section{Teil 0\label{clifford:section:Vektoroperationen}} +\rhead{Vektoroperationen} +\rhead{Vektordarstellung} +Vektoren können neben der üblichen Darstellung, auch als Linearkombination aus Basisvektoren dargestellt werden +\begin{equation} + \begin{split} + \textbf{a} + &= + \begin{pmatrix} + a_1 \\ a_2 \\ \vdots \\ a_n + \end{pmatrix} + = + a_1 \begin{pmatrix} + 1 \\ 0 \\ \vdots \\ 0 + \end{pmatrix} + + + a_2\begin{pmatrix} + 0 \\ 1 \\ \vdots \\ 0 + \end{pmatrix} + \dots + + + a_n\begin{pmatrix} + 0 \\ 0 \\ \vdots \\ 1 + \end{pmatrix} \\\ + &= + a_1\textbf{e}_1 + + + a_2\textbf{e}_2 + + + \dots + a_n\textbf{e}_n + = + \sum_{i=1}^{n} a_i \textbf{e}_i + \qquad + a_i \in \mathbb{R} + , \textbf{e}_i \in \mathbb{R}^n. + \end{split} +\end{equation} +Diese Basisvektoren sollen orthonormal sein und um die Darstellung zu vereinfachen werden sie durch $\textbf{e}_1 , \textbf{e}_2, ...$ ersetzt. +\begin{beispiel} +Linearkombination von Basisvektoren in $\mathbb{R}^4$ + \begin{equation} + \begin{pmatrix} + 42 \\ 2 \\ 1291 \\ 4 + \end{pmatrix} + = + 42 \begin{pmatrix} + 1 \\ 0 \\ 0 \\ 0 + \end{pmatrix} + + + 2 \begin{pmatrix} + 0 \\ 1 \\ 0 \\ 0 + \end{pmatrix} + + + 1291 + \begin{pmatrix} + 0 \\ 0 \\ 1 \\ 0 + \end{pmatrix} + + + 4 \begin{pmatrix} + 0 \\ 0 \\ 0 \\ 1 + \end{pmatrix} + = + 42\textbf{e}_1 + + + 2\textbf{e}_2 + + + 1291\textbf{e}_3 + + + 4\textbf{e}_4 + \end{equation} +\end{beispiel} +Wobei Beispiel für einen vier dimensionalen Vektor ist, dies kann selbstverständlich für beliebig viele Dimensionen nach demselben Schema erweitert werden. \ No newline at end of file diff --git a/buch/papers/clifford/2_QuadratVektoren.tex b/buch/papers/clifford/2_QuadratVektoren.tex new file mode 100644 index 0000000..cfb05d6 --- /dev/null +++ b/buch/papers/clifford/2_QuadratVektoren.tex @@ -0,0 +1,110 @@ +\subsection{Quadrat von Vektoren} +Was eine Addition von Vektoren bedeutet ist sehr intuitiv und auch leicht geometrisch darzustellen, was allerdings das Produkt von Vektoren ergibt mag anfänglich unintuitiv wirken. +Was soll es schon heissen zwei Vektoren miteinander zu multiplizieren? +\newline +Im Folgenden werden wir versuchen diese Operation ähnlich intuitiv darzustellen. +\newline +Um sinnvoll eine neue Operation zwischen zwei Elementen einer Algebra, in diesem Fall Vektoren, zu definieren, muss man überlegen, was das Ziel dieser Operation ist. +Als grundsätzliches Ziel wird definiert, dass das Quadrat eines Vektor dessen Länge im Quadrat ergibt, da dies auch in vielen anderen Bereichen der Mathematik,zum Beispiel bei komplexen Zahlen, auch so definiert ist. +\newline +Zusätzlich wollen wir auch das Assoziativgesetz und das Kommutativgesetz für Skalare beibehalten. Wobei das Kommutativgesetz leider, oder wie man sehen wird zum Glück, in der geometrischen Algebra im generellen nicht mehr gilt. Das heisst wir dürfen ausklammern \ref{eq:assoziativ} und die Position von Skalaren im Produkt ändern \ref{eq:kommSkalar}, allerdings nicht die Position der Vektoren \ref{eq:kommVector}. +\begin{equation} + \label{eq:assoziativ} + \textbf{e}_i(\textbf{e}_j + \textbf{e}_k) + = + \textbf{e}_i\textbf{e}_j + \textbf{e}_i\textbf{e}_k +\end{equation} +\begin{equation} + \label{eq:kommSkalar} + a\textbf{e}_ib\textbf{e}_j + = + ab\textbf{e}_i\textbf{e}_j +\end{equation} +\begin{equation} + \label{eq:kommVector} + \textbf{e}_i\textbf{e}_j + \neq + \textbf{e}_j\textbf{e}_i +\end{equation} +Betrachten wir nun mit diesen Regeln das Quadrat eines Vektors. +\begin{align} + \textbf{a}^2 &= + \left ( + \sum_{i=1}^{n} a_i \textbf{e}_i + \right ) + \left ( + \sum_{i=1}^{n} a_i \textbf{e}_i + \right ) + \label{eq:quad_a_1} + \\ + &= + \textcolor{red}{\sum_{i=1}^{n} a_i^2\textbf{e}_i^2} + + + \textcolor{blue}{\sum_{\begin{subarray}{l}i,j=1\\i \neq j\end{subarray}}^n a_ia_j\textbf{e}_i\textbf{e}_j } + \label{eq:quad_a_2} + \\ + &= \textcolor{cyan}{\sum_{i=1}^{n} a_i^2} + \textcolor{orange}{\sum_{\begin{subarray}{l}i,j=1\\i \neq j\end{subarray}}^n a_ia_j\textbf{e}_i\textbf{e}_j}. + \label{eq:quad_a_3} +\end{align} + +\begin{beispiel} +Quadrat eines Vektors in $\mathbb{R}^2$ +\begin{equation} + \begin{split} + \textbf{a}^2 + &= (a_1\textbf{e}_1+a_2\textbf{e}_2)(a_1\textbf{e}_1+a_2\textbf{e}_2) \\\ + &= \textcolor{red}{a_1^2\textbf{e}_1^2 + a_2^2\textbf{e}_2^2} + + \textcolor{blue}{a_1\textbf{e}_1a_2\textbf{e}_2 + a_2\textbf{e}_2a_1\textbf{e}_2} \\\ + & = \textcolor{cyan}{a_1^2 + a_2^2} + \textcolor{orange}{a_1b\textbf{e}_1a_2\textbf{e}_2 + a_2\textbf{e}_2a_1\textbf{e}_2} + \end{split} +\end{equation} + +\end{beispiel} +Der Vektor wird in \ref{eq:quad_a_1} als Linearkombination geschrieben. +Das Quadrat kann, wie in \ref{eq:quad_a_2} gezeigt, in zwei Summen aufteilen werden , wobei die roten Summe die quadrierten Terme und die blaue Summe die Mischterme beinhaltet. +\newline +Da $\textbf{e}_i^2 = 1$ gilt, da zuvor vorausgesetzt wurde, dass man mit orthonormalen Einheitsvektoren arbeitet, wird dies nun eingesetzt ergibt sich \ref{eq:quad_a_3} +\newline +Die hellblaue Teil ist nun bereits Länge im Quadrat eines Vektors, also das Ziel der Multiplikation. +Daher muss der restliche Teil dieser Gleichung null ergeben. +Aus dieser Erkenntnis leiten wir in \ref{eq:Mischterme_Null} weitere Eigenschaften für die Multiplikation her. +\begin{equation} + \label{eq:Mischterme_Null} + \sum_{\begin{subarray}{l}i,j=1\\i \neq j\end{subarray}}^n a_ia_j\textbf{e}_i\textbf{e}_j = \textcolor{blue}{a_1a_2(\textbf{e}_1\textbf{e}_2 + \textbf{e}_2\textbf{e}_1)} + a_1a_3(\textbf{e}_1\textbf{e}_3 + \textbf{e}_3\textbf{e}_1) + \dots = 0 +\end{equation} +Da dies für beliebige $a_i$ gelten muss werden alle Terme bis auf $a_1$ und $a_2$ gleich null gesetzt. Somit fallen alle Terme bis auf den blauen weg. Wird dies weiter vereinfacht ergibt sich +\begin{equation} +\begin{split} + a_1a_2(\textbf{e}_1\textbf{e}_2 + \textbf{e}_2\textbf{e}_1) &= 0 \\ + a_1a_2\textbf{e}_1\textbf{e}_2 &= -a_1a_2\textbf{e}_2\textbf{e}_1 \\ + \textbf{e}_1\textbf{e}_2 &= -\textbf{e}_2\textbf{e}_1. +\end{split} +\end{equation} +\begin{satz} + Die Multiplikation von Vektoren ist antikommutativ, wenn die multiplizierten Vektoren orthogonal sind. + \begin{equation} + \textbf{e}_i\textbf{e}_j = -\textbf{e}_j\textbf{e}_i \qquad \textbf{e}_i \perp \textbf{e}_j + \end{equation} +\end{satz} +Dieses Wissen reicht nun bereits um alle Produkte der Basisvektoren zu berechnen, was in \ref{tab:multip_vec} gemacht wurde. +\begin{table} +\caption{Multiplikationstabelle für Vektoren} +\label{tab:multip_vec} +\begin{center} +\begin{tabular}{ |c|c|c|c|c|c| } + \hline + & $\textbf{e}_1$ & $\textbf{e}_2$ & $\dots$ & $\textbf{e}_{n-1}$ & $\textbf{e}_{n}$ \\ + \hline + $\textbf{e}_1$ & 1 & $\textbf{e}_1\textbf{e}_2$ & $\dots$ & $\textbf{e}_1\textbf{e}_{n-1}$ & $\textbf{e}_1\textbf{e}_{n}$ \\ + \hline + $\textbf{e}_2$ & $-\textbf{e}_1\textbf{e}_2$ & 1 & $\dots$ & $\textbf{e}_2\textbf{e}_{n-1}$ & $\textbf{e}_2\textbf{e}_{n}$ \\ + \hline + $\vdots$ & $\vdots$ & $\vdots$ & $\ddots$ & $\vdots$ & $\vdots$ \\ + \hline + $\textbf{e}_{n-1}$ & $-\textbf{e}_1\textbf{e}_{n-1}$ & $-\textbf{e}_2\textbf{e}_{n-1}$ & $\dots$ & $1$ & $\textbf{e}_{n-1}\textbf{e}_{n}$ \\ + \hline + $\textbf{e}_{n}$ & $-\textbf{e}_1\textbf{e}_{n}$ & $-\textbf{e}_2\textbf{e}_{n}$ & $\dots$ & $-\textbf{e}_{n-1}\textbf{e}_{n}$ & 1 \\ + \hline +\end{tabular} +\end{center} +\end{table} \ No newline at end of file diff --git a/buch/papers/clifford/3_MultiplikationVektoren.tex b/buch/papers/clifford/3_MultiplikationVektoren.tex new file mode 100644 index 0000000..841dde4 --- /dev/null +++ b/buch/papers/clifford/3_MultiplikationVektoren.tex @@ -0,0 +1,175 @@ +\subsection{Multiplikation von Vektoren} +Was geschieht nun wenn zwei beliebige Vektoren,$u$ und $v$, miteinander multipliziert werden? +\begin{equation} + \textbf{u} = + \sum_{i=1}^{n} u_i \textbf{e}_i + \qquad + \textbf{v} = \sum_{i=1}^{n} v_i \textbf{e}_i +\end{equation} +\begin{equation} + \begin{split} + \textbf{u}\textbf{v} + = + \left ( + \sum_{i=1}^{n} u_i \textbf{e}_i + \right ) + \left ( + \sum_{i=1}^{n} v_i \textbf{e}_i + \right) + = + \sum_{i=1}^n u_iv_i\underbrace{\textbf{e}_i^2}_{1} + + \sum_{\begin{subarray}{l}i,j=1\\i \neq j\end{subarray}}^n u_iv_j\textbf{e}_i\textbf{e}_j + \end{split} +\end{equation} +\begin{beispiel} + Multiplikation von Vektoren in $\mathbb{R}^2$ +\end{beispiel} +\begin{equation} + \begin{split} + \textbf{u}\textbf{v} + &= + (u_1\textbf{e}_1 + u_2\textbf{e}_2)(v_1\textbf{e}_1 + v_2\textbf{e}_2) + = + u_1v_1\textbf{e}_1^2 + + + u_2v_2\textbf{e}_2^2 + + + u_1v_2\textbf{e}_1\textbf{e}_2 + + + u_2v_1\underbrace{\textbf{e}_2\textbf{e}_1}_{-\textbf{e}_1\textbf{e}_2} + \\\ + &= + \underbrace{(u_1v_1 + u_2v_2)}_{\text{Skalarprodukt}} + + + \underbrace{(u_1v_2 - u_2v_1)\textbf{e}_1\textbf{e}_2}_{\text{Äusseres Produkt}} + \end{split} +\end{equation} +Der linke Teil dieser Multiplikation ergibt das Skalarprodukt der zwei Vektoren, der rechte Term ergibt etwas neues das sich das äussere Produkt der zwei Vektoren nennt. +\subsubsection{Äusseres Produkt} +Das äussere Produkt von zwei Vektoren wird mit einem $\wedge$ dargestellt +\begin{equation} + \textbf{u}\wedge \textbf{v} + = + \sum_{\begin{subarray}{l}i,j=1\\i \neq j\end{subarray}}^n u_iv_j\textbf{e}_i\textbf{e}_j +\end{equation} +\begin{beispiel} +Äusseres Produkt von zwei Vektoren in $\mathbb{R}^3$ +\end{beispiel} +\begin{equation} + \begin{split} + u \wedge v + &= + u_1v_2\textbf{e}_1\textbf{e}_2 + + + u_1v_3\textbf{e}_1\textbf{e}_3 + + + u_2v_2\textbf{e}_2\textbf{e}_3 + + + u_2v_1\textbf{e}_2\textbf{e}_1 + + + u_3v_1\textbf{e}_3\textbf{e}_1 + + + u_3v_2\textbf{e}_3\textbf{e}_2 \\\ + &= + (u_1v_2 - u_2v_1)\textbf{e}_1\textbf{e}_2 + + + (u_1v_3 - v_3u_1)\textbf{e}_1\textbf{e}_3 + + + (u_2v_3 - u_3v_2)\textbf{e}_2\textbf{e}_3 + \end{split} +\end{equation} +Im letzten Schritt des Beispiels wurden nun, mit Hilfe der antikommutativität des Produkts, die Vektorprodukte, welche die gleichen Einheitsvektoren beinhalten, zusammengefasst. Dieses Vorgehen kann man auch allgemein anwenden, wie in den Gleichungen \ref{eq:u_wedge_v}-\ref{eq:u_wedge_v_5} hergeleitet. +\begin{align} + \textbf{u}\wedge \textbf{v} + &= + \sum_{\begin{subarray}{l}i,j=1\\i \neq j\end{subarray}}^n + u_iv_j\textbf{e}_i\textbf{e}_j + \label{eq:u_wedge_v} + \\ + \label{eq:u_wedge_v_1} + &= + \sum_{\begin{subarray}{l}i,j=1\\i < j\end{subarray}}^n u_iv_j\textbf{e}_i\textbf{e}_j + + + \sum_{\begin{subarray}{l}i,j=1\\j < i\end{subarray}}^n u_iv_j\textbf{e}_i\textbf{e}_j + \\ + \label{eq:u_wedge_v_2} + &= + \sum_{\begin{subarray}{l}i,j=1\\i < j\end{subarray}}^n u_iv_j\textbf{e}_i\textbf{e}_j + + + \sum_{\begin{subarray}{l}i,j=1\\i < j\end{subarray}}^n u_jv_i\textbf{e}_j\textbf{e}_i + \\ + \label{eq:u_wedge_v_3} + &= + \sum_{\begin{subarray}{l}i,j=1\\i < j\end{subarray}}^n u_iv_j\textbf{e}_i\textbf{e}_j + - + \sum_{\begin{subarray}{l}i,j=1\\i < j\end{subarray}}^n u_jv_i\textbf{e}_i\textbf{e}_j + \\ + \label{eq:u_wedge_v_4} + &= + \sum_{\begin{subarray}{l}i,j=1\\i < j\end{subarray}}^n (u_iv_j -u_jv_i)\textbf{e}_i\textbf{e}_j + \\ + \label{eq:u_wedge_v_5} + &= + \sum_{\begin{subarray}{l}i,j=1\\i < j\end{subarray}}^n \begin{vmatrix} + u_i & v_i \\ + u_j & v_j + \end{vmatrix}\textbf{e}_i\textbf{e}_j +\end{align} +Die Summe aus \ref{eq:u_wedge_v_1} wird in \ref{eq:u_wedge_v} in zwei verschiedene Summen aufgeteilt. +Wobei die linke Summe jeweils den Basisvektor mit dem höheren Index an erster Stelle und die rechte Summe diesen jeweils an zweiter Stelle hat. +\newline +Bei \ref{eq:u_wedge_v_2} werden die Indexe der zweiten Summe vertauscht, damit man nun bei beiden Teilen die gleiche Summe hat. +Danach werden in \ref{eq:u_wedge_v_3}, mit Hilfe der Antikommutativität, die Einheitsvektoren der zweiten Summe vertauscht. +\newline +Nun können die Summen, wie in \ref{eq:u_wedge_v_4} wieder in eine Summe zusammengefasst werden. +\newline +Der Term in der Klammer in \ref{eq:u_wedge_v_4} kann auch als Determinante einer 2x2 Matrix dargestellt werden, was in \ref{eq:u_wedge_v_5} gemacht wird. +\newline +Die Determinante einer Matrix beschreibt welche von den Spaltenvektoren aufgespannt wird, wie in Abbildung \ref{figure:det} dargestellt. +\begin{figure} +\centering +\begin{tikzpicture} + \draw[thin,gray!40] (0,0) grid (4,4); + \draw[<->] (0,0)--(4,0) ; + \draw[<->] (0,0)--(0,4) ; + \draw[line width=0,fill=gray!40] (0,0)--(3,1)--(4,3)--(1,2); + \draw[line width=2pt,blue,-stealth](0,0)--(3,1) node[anchor=north + west]{$\boldsymbol{u}$}; + \draw[line width=2pt,red,-stealth](0,0)--(1,2) node[anchor=south east]{$\boldsymbol{v}$}; + \draw[black] (2,1.5)--(-0.5,2.5) node[anchor = east]{$\begin{vmatrix} + u_i & v_i \\ + u_j & v_j + \end{vmatrix} = u_iv_j - v_iu_j$}; +\end{tikzpicture} +\caption{Geometrische Interpretation der Determinante einer 2x2 Matrix\label{figure:det}} +\end{figure} +\newline +Das äussere Produkt besteht nun also aus der Summe + $\sum_{\begin{subarray}{l}i,j=1\\i < j\end{subarray}}^n$ + von Flächen + $\begin{vmatrix} + u_i & v_i \\ + u_j & v_j + \end{vmatrix}$, welche in $\textbf{e}_i\textbf{e}_j$ aufgespannt sind, wie man in \ref{eq:u_wedge_v_5} sieht. +Dieses Produkt $\textbf{e}_i\textbf{e}_j$ der Basisvektoren interpretiert man als Umlaufrichtung. +Wobei die gebildete Fläche in Richtung des ersten Vektors umschritten wird. +Dies ist in \ref{figure:wedge} dargestellt, wobei bei diesem Beispiel die Umlaufrichtung im Gegenuhrzeigersinn ist, da die Fläche in Richtung u umschritten wird. +Diese Fläche mit einer Richtung nennt man in der geometrischen Algebra einen Bivektor, da er eine Art zwei dimensionaler Vektor ist. +\begin{figure} +\centering +\begin{tikzpicture} + \draw[thin,gray!40] (0,0) grid (4,4); + \draw[<->] (0,0)--(4,0) node[right]{$x$}; + \draw[<->] (0,0)--(0,4) node[above]{$y$}; + \draw[line width=0,fill=gray!40] (0,0)--(3,1)--(4,3)--(1,2); + \draw[line width=2pt,blue,-stealth](0,0)--(3,1) node[anchor=north + west]{$\boldsymbol{u}$}; + \draw[line width=2pt,red,-stealth](0,0)--(1,2) node[anchor=south east]{$\boldsymbol{v}$}; + \draw[->] (2.15,1.5) arc (0:310:0.3); + \draw[black] (2,1.5)--(-0.5,2.5) node[anchor = east]{$u\wedge v = \begin{vmatrix} + u_i & v_i \\ + u_j & v_j + \end{vmatrix} e_1e_2 = (u_iv_j - v_iu_j)\textbf{e}_1\textbf{e}_2$}; +\end{tikzpicture} +\caption{Geometrische Interpretation des äusseren Produkt in $\mathbb{R}^2$\label{figure:wedge}} +\end{figure} \ No newline at end of file diff --git a/buch/papers/clifford/4_GeometrischesProdukt.tex b/buch/papers/clifford/4_GeometrischesProdukt.tex new file mode 100644 index 0000000..a19e983 --- /dev/null +++ b/buch/papers/clifford/4_GeometrischesProdukt.tex @@ -0,0 +1,59 @@ +\subsection{Geometrisches Produkt} +Die Multiplikation von zwei Vektoren nennt man in der Clifford Algebra das geometrische Produkt, dieses können wir nun als Summe aus dem Skalar- und dem äusseren Produkt darstellen +\begin{equation} + \textbf{u}\textbf{v} = \textbf{u}\cdot \textbf{v} + \textbf{u} \wedge \textbf{v}. +\end{equation} +Dieses Additionszeichen zwischen diesen zwei Produkten mag vielleicht ein wenig eigenartig wirken, da uns das Skalarprodukt ein Skalar und das äussere Produkt einen Bivektor zurück gibt. Was bedeutet es nun also diese beiden Elemente zu addieren? +Man kann sich die Addition wie bei den komplexen Zahlen vorstellen, wobei die imaginäre Einheit auch nicht explizit zu dem reelen Teil addiert werden kann, sondern die zwei Teile zusammen ein Objekt, eine komplexe Zahl bilden. +Dieses Objekt, also die Summe von verschiedenen Elemente der Clifford Algebra, wird Multivektor genannt. +\begin{definition} +Ein Multivektor besteht aus den verschiedenen Bauteilen, wie zum Beispiel Vektoren, Bivektoren oder Trivektoren (Volumen mit einer Richtung), der Clifford Algebra. +\begin{equation} + M = \sum \left ( \prod a_i\textbf{e}_j \right) +\end{equation} +\end{definition} +Besteht eine Clifford Algebra aus n Basisvektoren so hat sie n Dimensionen, dies wird nicht wie in der linearen Algebra mit $\mathbb{R}^n$ sondern mit $\mathbb{G}^n$ beschrieben. +\begin{beispiel} +Allgemeiner Multivektor in $\mathbb{G}^3$ +\begin{equation} + M = a + + + \underbrace{b\textbf{e}_1 + c\textbf{e}_2 + d\textbf{e}_3}_{\text{Vektorteil}} + + + \underbrace{f\textbf{e}_1\textbf{e}_2 + g\textbf{e}_1\textbf{e}_3 + h\textbf{e}_2\textbf{e}_3 }_{\text{Bivektorteil}} + + + \underbrace{k\textbf{e}_1\textbf{e}_2\textbf{e}_3}_{\text{Trivektorteil}} +\end{equation} +\end{beispiel} +\begin{definition} +Um das Produkt von Basisvektoren in Zukunft darzustellen wird folgende Notation definiert + \begin{equation} + e_ie_j = e_{ij} + \end{equation} +\end{definition} +Nun da das geometrische Produkt vollständig definiert wurde können Multiplikationstabellen für verschiedene Dimensionen $\mathbb{G}^n$ erstellt werden. In \ref{tab:multip} ist dies für $\mathbb{G}^3$ gemacht. +\begin{table} + \caption{Multiplikationstabelle für $\mathbb{G^3}$} + \label{tab:multip} + \begin{center} + \begin{tabular}{ |c|c|c|c|c|c|c|c| } + \hline + 1 & $\textbf{e}_1$ & $\textbf{e}_2$ &$\textbf{e}_3$ & $\textbf{e}_{12}$ & $\textbf{e}_{13}$ & $\textbf{e}_{23}$ & $\textbf{e}_{123}$\\ + \hline + $\textbf{e}_1$ & 1 & $\textbf{e}_{12}$ & $\textbf{e}_{12}$ & $\textbf{e}_2$ & $\textbf{e}_3$ & $\textbf{e}_{123}$ & $\textbf{e}_{23}$\\ + \hline + $\textbf{e}_2$ & $-\textbf{e}_{12}$ & 1 & $\textbf{e}_{23}$ & $-\textbf{e}_1$ & $-\textbf{e}_{123}$ & $\textbf{e}_3$ & $-\textbf{e}_{13}$\\ + \hline + $\textbf{e}_3$ & $-\textbf{e}_{13}$ & $-\textbf{e}_{23}$ & 1 & $\textbf{e}_{123}$ & $-\textbf{e}_1$ & $-\textbf{e}_2$ & $\textbf{e}_{12}$\\ + \hline + $\textbf{e}_{12}$ & -$\textbf{e}_2$ & $\textbf{e}_1$& $\textbf{e}_{123}$ & -1 & $-\textbf{e}_{23}$ & $\textbf{e}_{13}$ & $-\textbf{e}_{3}$\\ + \hline + $\textbf{e}_{13}$ & $-\textbf{e}_{3}$ & $-\textbf{e}_{123}$ & $\textbf{e}_{1}$ & $\textbf{e}_{23}$ & -1 & $-\textbf{e}_{12}$ & $\textbf{e}_{2}$\\ + \hline + $\textbf{e}_{23}$ & $\textbf{e}_{123}$ & $-\textbf{e}_{3}$ & $\textbf{e}_{2}$ & $-\textbf{e}_{13}$ & $\textbf{e}_{12}$ & -1 & $-\textbf{e}_{1}$ \\ + \hline + $\textbf{e}_{123}$ & $\textbf{e}_{23}$ & $-\textbf{e}_{13}$ & $\textbf{e}_{12}$ & $-\textbf{e}_{3}$& $\textbf{e}_{2}$ & $-\textbf{e}_{1}$ & -1 \\ + \hline + \end{tabular} + \end{center} +\end{table} diff --git a/buch/papers/clifford/5_PolareDarstellung.tex b/buch/papers/clifford/5_PolareDarstellung.tex new file mode 100644 index 0000000..80fb49f --- /dev/null +++ b/buch/papers/clifford/5_PolareDarstellung.tex @@ -0,0 +1,29 @@ +\subsection{Polare Darstellung des geometrischen Produktes} +Beide Teile des geometrischen Produktes lassen sich durch trigonometrische Terme beschreiben. Das Skalarprodukt kann als +\begin{equation} + \textbf{u}\cdot \textbf{v} = |\textbf{u}||\textbf{v}|\cos{\alpha} +\end{equation} +beschrieben werden. Wobei $\alpha$ den Winkel zwischen den beiden Vektoren beschreibt. +\newline +Beim äusseren Produkt wurde bereits erwähnt, dass es aus dem Produkt der Fläche des von den zwei Vektoren aufgespannten Parallelogram und einer Umlaufrichtung beschrieben wird. Die Fläche eines Parallelograms lässt sich auch mit einen Sinus Term beschreiben +\begin{equation} + \textbf{u} \wedge \textbf{v} + = + \begin{vmatrix} + u_i & v_i \\ + u_j & v_j + \end{vmatrix}\textbf{e}_i\textbf{e}_j + = + \underbrace{|u||v|\sin{\alpha}}_{\text{Fläche}}\textbf{e}_i\textbf{e}_j +\end{equation} +Wobei die Fläche des Parallelogram auf der von $\textbf{e}_i$ und $\textbf{e}_j$ aufgespannten Ebene liegen.\newline +Nun kann man diese Terme wieder zum geometrischen Produkt vereinen +\begin{equation} + \textbf{u}\textbf{v} + = + |\textbf{u}||\textbf{v}|\cos{(\alpha)} + + + |\textbf{u}||\textbf{v}|\sin{(\alpha)} \textbf{e}_i\textbf{e}_j + = + |\textbf{u}||\textbf{v}|(\cos{(\alpha)} + \sin{(\alpha)}\textbf{e}_i\textbf{e}_j) +\end{equation} \ No newline at end of file diff --git a/buch/papers/clifford/6_Dirac-Matrizen.tex b/buch/papers/clifford/6_Dirac-Matrizen.tex new file mode 100644 index 0000000..e68f0f6 --- /dev/null +++ b/buch/papers/clifford/6_Dirac-Matrizen.tex @@ -0,0 +1,7 @@ +% +% einleitung.tex -- Beispiel-File für die Einleitung +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Dirac-Matrizen} + diff --git a/buch/papers/clifford/7_Reflektion.tex b/buch/papers/clifford/7_Reflektion.tex new file mode 100644 index 0000000..dfe86b8 --- /dev/null +++ b/buch/papers/clifford/7_Reflektion.tex @@ -0,0 +1,32 @@ +% +% teil1.tex -- Beispiel-File für das Paper +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{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}} +\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 +\end{align} +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. +\\BEISPIEL? \ No newline at end of file diff --git a/buch/papers/clifford/8_Rotation.tex b/buch/papers/clifford/8_Rotation.tex new file mode 100644 index 0000000..ebd278c --- /dev/null +++ b/buch/papers/clifford/8_Rotation.tex @@ -0,0 +1,99 @@ +% +% teil2.tex -- Beispiel-File für teil2 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{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. +\\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. +\begin{align} + D = + \begin{pmatrix} + cos(\alpha) & sin(\alpha) \\ + -sin(\alpha) & cos(\alpha) + \end{pmatrix} +\end{align} + +\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. +\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] +\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. +\begin{align} + \mathbf{w} = |w| \left[\cos(\theta_w) e_1 + \sin(\theta_w) e_1e_1e_2\right] +\end{align} +\begin{align} \label{e1ausklammern} + \mathbf{w} = |w|e_1\left[\cos(\theta_w)+ \sin(\theta_w) e_{12}\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}}} +\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. +\begin{align} + \mathbf{wu} = |w|\mathbf{e_1} e^{\theta_w \mathbf{e_{12}}}||u||\mathbf{e_1} e^{\theta_u \mathbf{e_{12}}} +\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. +\begin{align} + \mathbf{wu} = |w||u|e^{-\theta_w \mathbf{e_{12}}}\mathbf{e_1}\mathbf{e_1} e^{\theta_u \mathbf{e_{12}}} +\end{align} +\begin{align} + \mathbf{wu} = |w||u|e^{(\theta_u-\theta_w) \mathbf{e_{12}}} +\end{align} +der Term $\mathbf{u^{-1}w^{-1}}$ kann durch die selbe Methode zusammengefasst werden. +\begin{align} + \mathbf{u^{-1}w^{-1}} = \dfrac{1}{|w||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$. 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}}} +\end{align} +HIER DEFINITION/IST WICHTIGE FORMEL +\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}}} +\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}}} +\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} + \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. +\\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} +\end{align} +\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} +\end{align} +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 new file mode 100644 index 0000000..735eead --- /dev/null +++ b/buch/papers/clifford/9_KomplexeZahlen.tex @@ -0,0 +1,27 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{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^+$. +\begin{align} + a_0 + a_1 j \cong a_0 + a_1 e_{12} = 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} +\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. +\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} +\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. +\begin{align} + c = (a + bj)(c + dj) = c\cdot(a+bj) + dj\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. diff --git a/buch/papers/clifford/main.tex b/buch/papers/clifford/main.tex index 5533c55..d94e065 100644 --- a/buch/papers/clifford/main.tex +++ b/buch/papers/clifford/main.tex @@ -4,9 +4,9 @@ % (c) 2020 Hochschule Rapperswil % \chapter{Thema\label{chapter:clifford}} -\lhead{Thema} +\lhead{Clifford Algebra} \begin{refsection} -\chapterauthor{Hans Muster} +\chapterauthor{Thierry Schwaller, Marius Baumann} Ein paar Hinweise für die korrekte Formatierung des Textes \begin{itemize} @@ -27,10 +27,17 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. \end{itemize} -\input{papers/clifford/teil0.tex} -\input{papers/clifford/teil1.tex} -\input{papers/clifford/teil2.tex} -\input{papers/clifford/teil3.tex} +\input{0_ElevatorPitch} +\input{1_Vektordarstellung} +\input{2_QuadratVektoren} +\input{3_MultiplikationVektoren} +\input{4_GeometrischesProdukt} +\input{5_PolareDarstellung} +\input{6_Dirac-Matrizen} +\input{7_Reflektion} +\input{8_Rotation} +\input{9_KomplexeZahlen} +\input{10_Quaternionen} \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/clifford/packages.tex b/buch/papers/clifford/packages.tex index 8abcef1..f6e94e0 100644 --- a/buch/papers/clifford/packages.tex +++ b/buch/papers/clifford/packages.tex @@ -7,4 +7,25 @@ % if your paper needs special packages, add package commands as in the % following example %\usepackage{packagename} - +\usepackage[utf8]{inputenc} +\usepackage{a4wide} +\usepackage{ngerman} +\usepackage{tikz} +\usepackage{mathdots} +\usepackage{amssymb} +\usepackage{amsmath} +\usepackage{amsthm} +\newtheorem{definition}{Definition}[chapter] +\newtheorem{beispiel}[definition]{Beispiel} +\newtheorem{bemerkung}[definition]{Bemerkung} +\newtheorem{lemma}[definition]{Lemma} +\newtheorem{satz}[definition]{Satz} +\newtheorem{hauptsatz}[definition]{Hauptsatz} +\newtheorem{corollar}[definition]{Korollar} +\usepackage[german]{babel} +\usepackage[T1]{fontenc} +\usepackage{fullpage} +\usepackage{graphicx} +\usepackage{float} +\usepackage{colortbl} +\usepackage{multirow} \ No newline at end of file diff --git a/buch/papers/clifford/papers/clifford/teil0.tex b/buch/papers/clifford/papers/clifford/teil0.tex new file mode 100644 index 0000000..e69de29 diff --git a/buch/papers/clifford/teil0.tex b/buch/papers/clifford/teil0.tex deleted file mode 100644 index ac943f4..0000000 --- a/buch/papers/clifford/teil0.tex +++ /dev/null @@ -1,22 +0,0 @@ -% -% einleitung.tex -- Beispiel-File für die Einleitung -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 0\label{clifford:section:teil0}} -\rhead{Teil 0} -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua \cite{clifford:bibtex}. -At vero eos et accusam et justo duo dolores et ea rebum. -Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum -dolor sit amet. - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua. -At vero eos et accusam et justo duo dolores et ea rebum. Stet clita -kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit -amet. - - diff --git a/buch/papers/clifford/teil1.tex b/buch/papers/clifford/teil1.tex deleted file mode 100644 index 0674afb..0000000 --- a/buch/papers/clifford/teil1.tex +++ /dev/null @@ -1,55 +0,0 @@ -% -% teil1.tex -- Beispiel-File für das Paper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 1 -\label{clifford:section:teil1}} -\rhead{Problemstellung} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. -Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -aut fugit, sed quia consequuntur magni dolores eos qui ratione -voluptatem sequi nesciunt -\begin{equation} -\int_a^b x^2\, dx -= -\left[ \frac13 x^3 \right]_a^b -= -\frac{b^3-a^3}3. -\label{clifford:equation1} -\end{equation} -Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -consectetur, adipisci velit, sed quia non numquam eius modi tempora -incidunt ut labore et dolore magnam aliquam quaerat voluptatem. - -Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -Quis autem vel eum iure reprehenderit qui in ea voluptate velit -esse quam nihil molestiae consequatur, vel illum qui dolorem eum -fugiat quo voluptas nulla pariatur? - -\subsection{De finibus bonorum et malorum -\label{clifford:subsection:finibus}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. - -Et harum quidem rerum facilis est et expedita distinctio -\ref{clifford:section:loesung}. -Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -impedit quo minus id quod maxime placeat facere possimus, omnis -voluptas assumenda est, omnis dolor repellendus -\ref{clifford:section:folgerung}. -Temporibus autem quibusdam et aut officiis debitis aut rerum -necessitatibus saepe eveniet ut et voluptates repudiandae sint et -molestiae non recusandae. -Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -voluptatibus maiores alias consequatur aut perferendis doloribus -asperiores repellat. - - diff --git a/buch/papers/clifford/teil2.tex b/buch/papers/clifford/teil2.tex deleted file mode 100644 index bbcefb0..0000000 --- a/buch/papers/clifford/teil2.tex +++ /dev/null @@ -1,40 +0,0 @@ -% -% teil2.tex -- Beispiel-File für teil2 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 2 -\label{clifford:section:teil2}} -\rhead{Teil 2} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{clifford:subsection:bonorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. - - diff --git a/buch/papers/clifford/teil3.tex b/buch/papers/clifford/teil3.tex deleted file mode 100644 index f50d42d..0000000 --- a/buch/papers/clifford/teil3.tex +++ /dev/null @@ -1,40 +0,0 @@ -% -% teil3.tex -- Beispiel-File für Teil 3 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 3 -\label{clifford:section:teil3}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{clifford:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. - - -- cgit v1.2.1 From 401325ee8d395ec4de27f4dcede73e860f3e28a8 Mon Sep 17 00:00:00 2001 From: "User-PC\\User" Date: Mon, 31 May 2021 10:47:48 +0200 Subject: =?UTF-8?q?=C3=9Cberarbeitung=20und=20Verbesserung=20der=20Kapitel?= =?UTF-8?q?=20Bearbeitung=20Literaturverzeichnis=20(im=20Literaturverzeich?= =?UTF-8?q?nis=20noch=20nicht=20alles=20korrekt)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/papers/spannung/Einleitung.tex | 81 ++++++++----------- buch/papers/spannung/references.bib | 49 +++++++---- buch/papers/spannung/teil0.tex | 70 ++++++++-------- buch/papers/spannung/teil1.tex | 37 +++++---- buch/papers/spannung/teil2.tex | 156 +++++++++++++++++------------------- buch/papers/spannung/teil3.tex | 107 +++++++++++++------------ buch/papers/spannung/teil4.tex | 44 ++++++---- 7 files changed, 281 insertions(+), 263 deletions(-) (limited to 'buch') diff --git a/buch/papers/spannung/Einleitung.tex b/buch/papers/spannung/Einleitung.tex index cf6e916..c80db64 100644 --- a/buch/papers/spannung/Einleitung.tex +++ b/buch/papers/spannung/Einleitung.tex @@ -1,15 +1,18 @@ \section{Einleitung\label{spannung:section:Einleitung}} +\rhead{Einleitung} +Das Hook'sche Gesetz beschreibt die Beziehung von Spannung und Dehnung von linear-elastischen Materialien im Eindimensionalen. In diesem Kapitel geht es darum das Hook'sche Gesetz im Dreidimensionalen zu beschreiben. -Dieses beschreibt die Beziehung von Spannung und Dehnung von linear elastischen Materialien im Eindimensionalen. Durch variable Krafteinwirkungen entstehen in jedem Punkt des Materials eine Vielzahl an unterschiedlichen Spannungen. -Jeder erdenkliche Punkt im Dreidimensionalen beschreibt daher einen entsprechenden individuellen Spannungszustand. +In jedem erdenklichen Punkt im Dreidimensionalen herrscht daher ein entsprechender individueller Spannungszustand. Um das Hook'sche Gesetz für den 3D Spannungszustand formulieren zu können, reichen Skalare nicht aus. Darum werden Vektoren, Matrizen und Tensoren zur Hilfe gezogen. -Diese allgemeine Spannungsformel ist Grundlage für Computerprogramme und geotechnische Versuche, wie der Oedometer-Versuch. +Mit diesen lässt sich eine Spannungsformel für den 3D Spannungszustand bilden. +Diese Spannungsformel ist Grundlage für Computerprogramme und geotechnische Versuche, wie der Oedometer-Versuch. Um die mathematische Untersuchung vorzunehmen, beschäftigt man sich zuerst mit den spezifischen Gegebenheiten und Voraussetzungen. -Ebenfalls gilt es ein paar wichtige Begriffe und deren mathematischen Zeichen einzuführen, -damit sich den Berechnungen schlüssig folgen lässt. +Ebenfalls gilt es ein paar wichtige Begriffe und deren mathematischen Zeichen einzuführen. +In diesem Kapitel gehen wir auch auf die Zusammenhänge von Spannung, Dehnungen und Verformungen an elastischen Materialien ein, +wie sie in gängigen Lehrbüchern der Mechanik oder der Geotechnik behandelt werden. z. B. [\cite{spannung:Grundlagen der Geotechnik}] \section{Spannungsausbreitung\label{spannung:section:Spannungsausbreitung}} \rhead{Spannungsausbreitung} @@ -21,30 +24,34 @@ Belastet man den Boden mit einer Spannung \sigma = \frac{F}{A} +, \] -, so wird diese in den Boden geleitet und von diesem kompensiert. -Im Boden entstehen unterschiedlich hohe Zusatzspannung. -Die Zusatzspannung scheint sich räumlich und berechenbar im Boden auszubreiten. +so wird diese in den Boden geleitet und von diesem kompensiert. +Im Boden entstehen unterschiedlich hohe Zusatzspannungen. +Diese Zusatzspannung breitet sich räumlich im Boden aus. Im Falle einer konstanten Flächenlast $\sigma$ (siehe Abbildung 1.1) breitet sich die Zusatzspannung zwiebelartig aus. -Mit der Tiefe $t$ nimmt diese permanent ab (siehe Abbildung 1.2). -Wie diese Geometrie der Ausbreitung ist wird durch viele Modelle und Ansätze näherungsweise beschrieben. -Diese Zusatzspannung $\sigma$ ist aber sicher abhängig von $(x,y,t)$. \begin{figure} \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild4.png} - \caption{Ausbreitung der Zusatzspannung im Boden} + \includegraphics[width=0.4\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild4.png} + \caption{Ausbreitung der Zusatzspannung im Boden infolge einfacher Flächenlast} \label{fig:Bild4} \end{figure} +Mit der Tiefe $t$ nimmt diese permanent ab (siehe Abbildung 1.2). +Wie diese Geometrie der Ausbreitung ist, kann durch viele Modelle und Ansätze näherungsweise beschrieben werden. +Diese Zusatzspannung $\sigma$ ist im Wesentlichen abhängig von $(x,y,t)$. +Je nach Modell werden noch andere Parameter berücksichtigt. +Das können beispielsweise jenste Bodenkennwerte oder auch der Wassergehalt sein. + \begin{figure} \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild5.png} - \caption{Funktionen Spannung und Dehnung} + \includegraphics[width=0.35\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild5.png} + \caption{Funktionen der Spannung und Dehnung im Zusammenhang mit der Tiefe} \label{fig:Bild5} \end{figure} -Bei jeder dieser Zusatzspannung geht eine entsprechende Zusatzdehnung einher, welche eine Setzung bedeutet. +Bei jeder dieser Zusatzspannung geht eine entsprechende Zusatzdehnung des Bodens einher, welche eine Setzung bedeutet. Im einfachsten Fall kann modellhaft mit \[ \varepsilon @@ -58,43 +65,25 @@ s \int_{0}^{\infty}\varepsilon\enspace dt \] berechnet werden mit: -\[ -\varepsilon -= -\text{Dehnung [$-$]} -\] -\[ -\sigma -= -\text{Spannung [\si{\kilo\pascal}]} -\] -\[ -E -= -\text{Elastizitätsmodul; Young-Modul [\si{\kilo\pascal}]} -\] -\[ -t -= -\text{Tiefe [\si{\meter}]} -\] -\[ -s -= -\text{Setzung, Absenkung [m]} -\] - +\begin{align*} + \varepsilon &= \text{Dehnung [$-$]} \\ + \sigma &= \text{Spannung [\si{\kilo\pascal}]} \\ + E &= \text{Elastizitätsmodul; Young-Modul [\si{\kilo\pascal}]}\\ + t &= \text{Tiefe [\si{\meter}]} \\ + s &= \text{Setzung, Absenkung [m].} +\end{align*} +Diese Zusammenhänge sind wie erwähnt unter anderem im Lehrbuch [\cite{spannung:Grundlagen der Geotechnik}] beschrieben. In der praktischen Geotechnik wird man allerdings weitaus schwierigere Situationen antreffen. Ein Beispiel wäre eine Baugrube mit einem Baugrubenabschluss, wo ein Teil des Bodens abgetragen ist (siehe Abbildung 1.3). Die Ausbreitung der Zusatzspannung $\sigma(x,y,t)$ würde hier deutlich komplizierter ausfallen. Dies bedeutet auch eine komplexere Setzung der Bodenoberfläche infolge einer Flächenlast $\sigma$. -Aus allen zusätzlichen Spannungen müssen die adäquaten Dehnung mit Hilfe einer Spannungsgleichung berechnet werden. -Diese beruht auf Annahmen nach Hooke auf einem linear elastischen Boden. +Aus allen zusätzlichen Spannungen müssen die adäquaten Dehnungen mit Hilfe einer Spannungsgleichung berechnet werden. +Diese beruht auf Annahmen nach Hooke auf einem linear-elastischen Boden. Generell wird im Ingenieurwesen versucht Phänomene möglichst nach dem Hook'schen Gesetz abbilden zu können. \begin{figure} \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild3.png} - \caption{Beispiel Lastauftrag auf Boden} + \includegraphics[width=0.45\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild3.png} + \caption{Beispiel eines Lastauftrags auf den Boden bei einer komplexeren Situation, welches kompliziertere Spannungsausbreitung zur Folge hat} \label{fig:Bild3} \end{figure} \ No newline at end of file diff --git a/buch/papers/spannung/references.bib b/buch/papers/spannung/references.bib index ed5703c..090e3c3 100644 --- a/buch/papers/spannung/references.bib +++ b/buch/papers/spannung/references.bib @@ -4,27 +4,46 @@ % (c) 2020 Autor, Hochschule Rapperswil % -@online{spannung:bibtex, - title = {BibTeX}, - url = {https://de.wikipedia.org/wiki/BibTeX}, - date = {2020-02-06}, - year = {2020}, - month = {2}, +@online{spannung:Tensor, + title = {Tensor}, + url = {https://de.wikipedia.org/wiki/Tensor}, + date = {2021-05-29}, + year = {2021}, + month = {5}, day = {6} } -@book{spannung:numerical-analysis, - title = {Numerical Analysis}, - author = {David Kincaid and Ward Cheney}, - publisher = {American Mathematical Society}, - year = {2002}, - isbn = {978-8-8218-4788-6}, - inseries = {Pure and applied undegraduate texts}, - volume = {2} +@online{spannung:Voigtsche Notation, + title = {Voigtsche Notation}, + url = {https://de.wikipedia.org/wiki/Voigtsche_Notation}, + date = {2021-05-29}, + year = {2021}, + month = {5}, + day = {6} +} + +@book{spannung:Grundlagen der Geotechnik, + title = {Grundlagen der Geotechnik}, + author = {Hans-Henning Schmidt and Roland F. Buchmaier and Carola Vogt-Breyer}, + publisher = {Springer Fachmedien Wiesbaden GmbH}, + year = {2017}, + isbn = {978-3-658-14930-7}, + inseries = {Geotechnik nach Eurocode}, + volume = {5} +} + +@book{spannung:Stoffgesetze und numerische Modellierung in der Geotechnik, + title = {Stoffgesetze und numerische Modellierung in der Geotechnik}, + author = {Carlo Rabaiotti and Alessio Höttges}, + publisher = {Hochschule Rapperswil}, + year = {2021}, + isbn = {}, + inseries = {}, + volume = {} } @article{spannung:mendezmueller, - author = { Tabea Méndez and Andreas Müller }, + author = { Tabea Méndez and Andreas Müller }, title = { Noncommutative harmonic analysis and image registration }, journal = { Appl. Comput. Harmon. Anal.}, year = 2019, diff --git a/buch/papers/spannung/teil0.tex b/buch/papers/spannung/teil0.tex index be837ac..ffc9009 100644 --- a/buch/papers/spannung/teil0.tex +++ b/buch/papers/spannung/teil0.tex @@ -1,48 +1,47 @@ -\section{Einachsiger Spannungszustand\label{spannung:section:Einachsiger Spannungsustand}} -\rhead{Einachsiger Spannungszustand} -Ein Spannungszustand beschreibt alle Spannungen, welche in einem beliebigen Punkt im Körper wirken (siehe Abbildung 1.4). +\section{Der Spannungszustand\label{spannung:section:Der Spannungsustand}} +\rhead{Der Spannungszustand} +Ein Spannungszustand ist durch alle Spannungen, welche in einem beliebigen Punkt im Körper wirken, definiert (siehe Abbildung 1.4). Änderungen der äusseren Kräfte verändern die inneren Spannungszustände im Material. Um alle Spannungen eines Punktes darstellen zu können, wird ein infinitesimales Bodenelement in Form eines Würfels modellhaft vorgestellt. Man spricht auch von einem Elementarwürfel, da dieser elementar klein ist. \begin{figure} \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild2.png} + \includegraphics[width=0.4\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild2.png} \caption{Infinitesimales Bodenelement mit den 9 Spannungen} - \label{fig:infintesimaler-wurfel} + \label{fig:Bild2} \end{figure} -Es werden jeweils drei Seiten dieses Würfels betrachtet, wobei die drei gegenüberliegenden Seiten die selben Spannungen aufweisen. -Das infinitesimale Bodenteilchen hat die Koordinaten $1$, $2$, $3$ muss sich zwingend im Gleichgewicht befinden. -So sind insgesamt 9 verschiedene Spannungen möglich, wobei 3 Normal- und 6 Schubspannungen sind. -Normalspannung wirken normal (mit rechtem Winkel) zur angreifenden Fläche und Schubspannungen parallel zur angreifenden Fläche. -Alle Beträge dieser 9 Spannungen am Elementarwürfel bilden den Spannungszustand. +Es werden jeweils drei Seiten dieses Würfels betrachtet, wobei die drei gegenüberliegenden Seiten im Betrag die selben Spannungen aufweisen, +sodass der Elementarwürfel im Gleichgewicht ist. +Wäre dieses Gleichgewicht nicht vorhanden, käme es zu Verschiebungen und Drehungen. +Das infinitesimale Bodenteilchen hat die Koordinaten $1$, $2$, $3$. +Veränderungen der Normalspannungen können durch Schubspannungen kompensiert werden und umgekehrt. +So sind insgesamt neun verschiedene Spannungen möglich, wobei drei Normal- und sechs Schubspannungen sind. +Normalspannungen wirken normal (mit rechtem Winkel) zur angreifenden Fläche und Schubspannungen parallel zur angreifenden Fläche. +Alle Beträge dieser neun Spannungen am Elementarwürfel bilden den Spannungszustand. Daraus können die äquivalenten Dehnungen $\varepsilon$ mit Hilfe des Hook'schen Gesetz berechnet werden. +Daher gibt es auch den entsprechenden Dehnungszustand. -\begin{figure} - \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild1.png} - \caption{1D Spannungszustand aus einer quaderförmigen Bodenprobe} - \label{fig:infintesimaler-wurfel} -\end{figure} -Im einachsigen Spannungszustand herrscht nur die Normalspannung $\sigma_{11}$ (siehe Abbildung). +\section{Spannungszustand\label{spannung:section:Spannungsustand}} +\rhead{Spannungszustand} + +Im einachsigen Spannungszustand herrscht nur die Normalspannung $\sigma_{11}$ (siehe Abbildung 1.5). Das Hook'sche Gesetz beschreibt genau diesen 1D Spannungszustand. Nach Hooke gilt: \[ F \sim \Delta l -\] . -Teilt man beide Seiten mit den Konstanten $A$ und $l_0$ erhält man +\] +Teilt man beide Seiten durch die Konstanten $A$ und $l_0$, erhält man \[ \frac{F}{A} = \sigma \sim -\] -\[ \varepsilon = \frac{\Delta l}{l_0} @@ -52,22 +51,21 @@ und somit \sigma \sim \varepsilon +, \] -. -Mit: -\[ -l_0 -= -\text{Länge zu Beginn [\si{\meter}]} -\] -\[ -A -= -\text{Fläche [\si{\meter\squared}]} -\] - -Diese Beziehung gilt bei linear elastischen Materialien, welche reversibel sind und nicht dauerhaft verformt werden. +mit +\begin{align*} + l_0 &= \text{Länge zu Beginn [\si{\meter}]} \\ + A &= \text{Fläche [\si{\meter\squared}].} +\end{align*} +Diese Beziehung gilt bei linear-elastischen Materialien, welche reversible Verformungen zulassen. Es ist praktisch die relative Dehnung $\varepsilon$ anzugeben und nicht eine absolute Längenänderung $\Delta l$. +\begin{figure} + \centering + \includegraphics[width=0.35\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild1.png} + \caption{1D Spannungszustand aus einer quaderförmigen Bodenprobe} + \label{fig:Bild1} +\end{figure} Mithilfe vom Elastizitätsmodul $E$ als Proportionalitätskonstante lässt sich der eindimensionale Fall mit \[ \sigma @@ -75,7 +73,7 @@ Mithilfe vom Elastizitätsmodul $E$ als Proportionalitätskonstante lässt sich E\cdot\varepsilon \] beschreiben. -Im Falle, dass der E-Modul nicht konstant ist, kann dieser näherungsweise mit +Im Falle, dass $E$ nicht konstant ist, kann dieser näherungsweise durch \[ E = diff --git a/buch/papers/spannung/teil1.tex b/buch/papers/spannung/teil1.tex index 3b40ee9..2db244e 100644 --- a/buch/papers/spannung/teil1.tex +++ b/buch/papers/spannung/teil1.tex @@ -1,17 +1,24 @@ \section{Skalare, Vektoren, Matrizen und Tensoren\label{spannung:section:Skalare,_Vektoren,_Matrizen_und_Tensoren}} \rhead{Skalare, Vektoren, Matrizen und Tensoren} -Tensoren wurden als erstes in der Elastizitätstheorie eingesetzt. (Quelle Herr Müller) -In der Elastizitätstheorie geht es darum viele verschiedene Komponenten zu beschreiben. -Mit einer Matrix oder einem Vektor kann man dies nicht mehr bewerkstelligen. -Wenn man den dreidimensionalen Spannungszustand abbilden möchte, müsste man mehrere Vektoren haben. -Deshalb wurden 1840 von Rowan Hamilton Tensoren in die Mathematik eingeführt. -Woldemar Voigt hat den Begriff in die moderne Bedeutung von Skalar, Matrix und Vektor verallgemeinert. -Albert Einstein hat Tensoren zudem in der allgemeinen Relativitätstheorie benutzt. -Tensor sind eine Stufe höher als Matrizen. Matrizen sind 2. Stufe. -Da Tensoren eine Stufe höher sind, kann man auch Matrizen, Vektoren und Skalare als Tensoren bezeichnen. -Der Nachteil von den Tensoren ist, dass man die gewohnten Rechenregeln, die man bei Vektoren oder Matrizen kennt, -nicht darauf anwenden kann. Man ist deshalb bestrebt die Tensoren als Vektoren und Matrizen darzustellen, -damit man die gewohnten Rechenregeln darauf anwenden kann. (Quelle Wikipedia) -In der vorliegenden Arbeit sind bereits alle Tensoren als Matrizen 2. Stufe abgebildet. -Trotzdem kann man diese Matrizen wie vorher beschrieben als Tensor bezeichnen. -Da diese als Matrizen abgebildet sind, dürfen wir die bekannten Rechenregeln auf unsere Tensoren anwenden. \ No newline at end of file +Der Begriff Tensor kann als Überbegriff, der mathematischen Objekte Skalar, Vektor und Matrix, betrachtet werden. +Allerdings sind noch höhere Stufen dieser Objekte beinhaltet. +Ein Skalar, ein Vektor oder eine Matrix ist daher auch ein Tensor. +Ein Skalar ist ein Tensor 0. Stufe. +Mit einem Vektor können mehrere Skalare auf einmal beschrieben werden. +Ein Vektor hat daher die Stufe 1 und ist höherstufig als ein Skalar. +Mit einer Matrix können wiederum mehrere Vektoren auf einmal beschrieben werden. +Eine Matrix hat daher die Stufe 2 und ist noch höherstufig als ein Vektor. +Versteht man diese Stufen, so versteht man den Sinn des Begriffs Tensor. + +Jede Stufe von Tensoren verlangt andere Rechenregeln. +So zeigt sich auch der Nachteil von Tensoren mit Stufen höher als 2. +Man ist also bestrebt höherstufige Tensoren mit Skalaren, Vektoren oder Matrizen zu beschreiben. + +Der Begriff Tensor wurde 1840 von Rowan Hamilton in die Mathematik eingeführt. +James Clerk Maxwell hat bereits mit Tensoren operiert, ohne den Begriff Tensor gekannt zu haben. +Erst Woldemar Voigt hat den Begriff in die moderne Bedeutung von Skalar, Matrix und Vektor verallgemeinert. +Er hat in der Elastizitätstheorie als erstes Tensoren eingesetzt und beschrieben. +Auch Albert Einstein hat solche Tensoren eingesetzt, +um in der Relativitätstheorie die Änderung der 4D Raumzeit beschreiben zu können. +\cite{spannung:Tensor} +\cite{spannung:Voigtsche Notation} \ No newline at end of file diff --git a/buch/papers/spannung/teil2.tex b/buch/papers/spannung/teil2.tex index 8be0bdc..afd2c21 100644 --- a/buch/papers/spannung/teil2.tex +++ b/buch/papers/spannung/teil2.tex @@ -1,16 +1,22 @@ \section{Dreiachsiger Spannungszustand\label{spannung:section:Dreiachsiger_Spannungszustand}} \rhead{Dreiachsiger Spannungszustand} Durch komplexe Spannungsausbreitungen im Boden entstehen im 3D Spannungszustand unterschiedliche Normal- und Schubspannungen. -Ein Tensor 0.Stufe, sprich ein Skalar, kann lediglich den 1D Spannungszustand beschreiben. -Um den 3D Spannungszustandes als ein mathematisches Objekt darstellen zu können, wird ein Tensor 2.Stufe, sprich eine Matrix, eingesetzt. +\begin{figure} + \centering + \includegraphics[width=0.4\linewidth,keepaspectratio]{papers/spannung/Grafiken/infinitesimalerWuerfel.png} + \caption{Beispiel eines Spannungszustandes; Vergrösserung eines infinitesimalen Bodenteilchen} + \label{fig:infinitesimalerWuerfel} +\end{figure} +Ein Tensor 0. Stufe, sprich ein Skalar, kann lediglich den 1D Spannungszustand beschreiben. +Um den 3D Spannungszustandes als ein mathematisches Objekt darstellen zu können, wird ein Tensor 2. Stufe, sprich eine Matrix, eingesetzt. Die Spannungen sind durch die zwei Indizes \[ i, j\in\left\{1, 2, 3\right\} \] - definiert. -Daher ergeben sich die 9 Spannungen. -Dieser Spannungstensor kann schliesslich mit $3^2$ Einträgen als 3x3 Matrix mit +Daher ergeben sich die neun Spannungen. +Die nachfolgenden Zusammenhänge sind in \cite{spannung:Voigtsche Notation} beschrieben. +Dieser Spannungstensor kann schliesslich mit $3^2$ Einträgen als $3\times3$ Matrix mit \[ \overline{\sigma} = @@ -23,13 +29,12 @@ Dieser Spannungstensor kann schliesslich mit $3^2$ Einträgen als 3x3 Matrix mit \end{pmatrix} \] dargestellt werden und beschreibt somit den gesamten Spannungszustand. -Die Dehnungen wirken adäquat zu den Spannungen und sind durch die zwei Indizes +Die Dehnungen wirken in die gleichen Richtungen wie die korrespondierenden Spannungen und sind durch die zwei Indizes \[ k, l\in\left\{1, 2, 3\right\} \] - definiert. -Der Dehnungstensor ist ebenfalls ein Tensor 2.Stufe und kann somit auch als $3\times3$ Matrix mit +Der Dehnungstensor ist ebenfalls ein Tensor 2. Stufe und kann somit auch als $3\times3$ Matrix mit \[ \overline{\varepsilon} = @@ -43,14 +48,7 @@ Der Dehnungstensor ist ebenfalls ein Tensor 2.Stufe und kann somit auch als $3\t \] dargestellt werden und beschreibt den gesamten Dehnungszustand. -\begin{figure} - \centering - \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/infinitesimalerWuerfel.png} - \caption{Infinitesimales Bodenteilchen} - \label{fig:infintesimaler-wurfel} -\end{figure} - -Der Spannungs- und Dehnungstensor 2.Stufe kann je in einen Tensor 1. Stufe überführt werden, welches ein Spaltenvektor ist. +Der Spannungs- und Dehnungstensor 2. Stufe kann je in einen Tensor 1. Stufe überführt werden, welches ein Spaltenvektor ist. Gemäss der Hadamard-Algebra dürfen Zeile um Zeile in eine Spalte notiert werden, sodass es einen Spaltenvektor ergibt. So ergibt sich der Spannungsvektor @@ -108,22 +106,22 @@ und Dehnungsvektor \varepsilon_{32} \\ \varepsilon_{33} \end{pmatrix} -\]. - -Um die Beziehung von Spannung und Dehnung, welche mit Tensoren 2.Stufen ausgedrückt werden, zu beschreiben, wird ein Elastizitätstensor 4.Stufe benötigt. -Dieser ist im 1D Spannungszustand ein Tensor 0.Stufe und somit ein Skalar. -Dieses Skalar ist das Elastizitätsmodul $E$. +. +\] +Um die Beziehung von Spannung und Dehnung, welche mit Tensoren 2. Stufe ausgedrückt werden, zu beschreiben, wird ein Elastizitätstensor 4. Stufe benötigt. +Dieser ist im 1D Spannungszustand ein Tensor 0. Stufe und somit ein Skalar, der Elastizitätsmodul $E$. -Dieser Elastizitätstensor 4.Stufe kann als Tensor 2.Stufe, sprich als Matrix, dargestellt werden. -So wird die Spannungsgleichung stark vereinfacht, da nun ein Vektor mit einer Matrix operiert. +Dieser Elastizitätstensor 4. Stufe kann als Tensor 2. Stufe, sprich als Matrix, dargestellt werden. +So wird die Spannungsgleichung stark vereinfacht, da nun eine Matrix auf einen Vektor operiert. Dieser Tensor muss für eine Spannung jeden Einfluss aus allen 9 Dehnungen mit Konstanten erfassen. Dies bedeutet um eine von 9 Spannungen berechnen zu können müssen alle 9 Dehnung mit unterschiedlichen Faktoren summiert werden. Es ergeben sich $9^2$ Einträge, welches mit den 4 Indizes \[ i, j, k, l\in\left\{1, 2, 3\right\} +, \] -, die zueinander verknüpft werden müssen, zu begründen ist. -Es ergeben sich $3^4$ Einträge, sprich eine $9\times9$ Matrix, welche allgemein mit +die zueinander verknüpft werden müssen, zu begründen ist. +Es ergeben sich $3^4$ Einträge, sprich eine $9\times9$ Matrix, welche allgemein \[ \overline{\overline{C}} = @@ -141,25 +139,26 @@ C_{3211} & C_{3212} & C_{3213} & C_{3221} & C_{3222} & C_{3223} & C_{3231} & C_{ C_{3311} & C_{3312} & C_{3313} & C_{3321} & C_{3322} & C_{3323} & C_{3331} & C_{3332} & C_{3333} \end{pmatrix} \] -ausgedrückt wird. +geschrieben werden kann. Dieser Elastizitätstensor muss für isotrope Materialien zwingend symmetrisch sein. Folglich gilt: \[ \overline{\overline{C}} = \overline{\overline{C}}~^{T} -\]. - +. +\] Die allgemeine Spannungsgleichung lautet nun: \[ \vec\sigma = \overline{\overline{C}}\cdot\vec{\varepsilon} -\]. - +. +\] Die Konstanten $C$ werden nun nach dem Hook'schen Gesetz mit Hilfe des Elastizitätsmoduls $E$ definiert. -Da dieser Modul durch die eindimensionale Betrachtung definiert ist muss eine weitere Kennzahl eingeführt werden. -Dies ist die Querdehnungszahl $\nu$ (auch Poisson-Zahl), welche mit +Da dieser Modul durch die eindimensionale Betrachtung definiert ist, +muss für die dreidimensionale Betrachtung eine weitere Kennzahl eingeführt werden. +Dies ist die Querdehnungszahl $\nu$ (auch Poisson-Zahl), welche durch \[ \nu = @@ -168,17 +167,11 @@ Dies ist die Querdehnungszahl $\nu$ (auch Poisson-Zahl), welche mit \frac{\Delta b}{b_0} \] und -\[ -\varepsilon -= -\text{Längsdehnung [$-$]} -\] -\[ -\varepsilon_q -= -\text{Querdehnung [$-$]} -\] -definiert ist. Trägt man die Konstanten in die Matrix ein ergibt sich +\begin{align*} + \varepsilon &= \text{Längsdehnung [$-$]} \\ + \varepsilon_q &= \text{Querdehnung [$-$]} +\end{align*} +definiert ist. Trägt man die Konstanten in die Matrix ein, ergibt sich \[ \begin{pmatrix} \sigma_{11}\\ @@ -215,9 +208,9 @@ definiert ist. Trägt man die Konstanten in die Matrix ein ergibt sich \varepsilon_{32} \\ \varepsilon_{33} \end{pmatrix} +, \] - -, welche ebenfalls als Indexnotation mit +welche ebenfalls als Indexnotation mit \[ \sigma_{ij} = @@ -225,9 +218,8 @@ definiert ist. Trägt man die Konstanten in die Matrix ein ergibt sich \sum_{l=1}^3 C_{ijkl}\cdot\varepsilon_{kl} \] -ausgedrückt werden können. -Die Normalspannung $\sigma_{11}$ lässt sich exemplarisch mit - +ausgedrückt werden kann. +Die Normalspannung $\sigma_{22}$ lässt sich exemplarisch als \[ \sigma_{22} = @@ -247,10 +239,12 @@ Diese Symmetrie setzt daher voraus, dass = \sigma_{21} , +\qquad \sigma_{13} = \sigma_{31} , +\qquad \sigma_{23} = \sigma_{32} @@ -261,16 +255,18 @@ und folglich auch = \varepsilon_{21} , +\qquad \varepsilon_{13} = \varepsilon_{31} , +\qquad \varepsilon_{23} = \varepsilon_{32} \] gilt. -Diese Eigenschaft wird durch die Voigt'sche Notation ausgenutzt um die Gleichung vereinfachen zu können. +Diese Eigenschaft wird durch die Voigt'sche Notation \cite{spannung:Voigtsche Notation} ausgenutzt, um die Gleichung vereinfachen zu können. Durch diese Symmetrie gilt \[ \overline{\sigma} @@ -284,7 +280,7 @@ Durch diese Symmetrie gilt \begin{pmatrix} \sigma_{11} & \sigma_{12} & \sigma_{13} \\ & \sigma_{22} & \sigma_{23} \\ - sym & & \sigma_{33} + \text{sym} & & \sigma_{33} \end{pmatrix} \qquad \Rightarrow @@ -328,9 +324,10 @@ und entsprechend \varepsilon_{13} \\ \varepsilon_{12} \end{pmatrix} -\]. +. +\] -Aus den Vereinfachungen der Voigt'schen Notation lassen sich die Spannungs- und Dehnungstensoren als Spaltenvektoren mit je 6 Einträgen darstellen. +Aus den Vereinfachungen der Voigt'schen Notation lassen sich die Spannungs- und Dehnungstensoren als Spaltenvektoren mit je sechs Einträgen darstellen. Der Elastizitätstensor kann entsprechend auf eine $6\times6$ Matrix reduziert werden. Es lässt sich nun eine reduzierte allgemeine Spannungsgleichung mit \[ @@ -350,12 +347,12 @@ beziehungsweise \end{pmatrix} = \begin{pmatrix} - C_{11} & C_{12} & C_{13} & C_{14} & C_{15} & C_{16} \\ - C_{21} & C_{22} & C_{23} & C_{24} & C_{25} & C_{26} \\ - C_{31} & C_{32} & C_{33} & C_{34} & C_{35} & C_{36} \\ - C_{41} & C_{42} & C_{43} & C_{44} & C_{45} & C_{46} \\ - C_{51} & C_{52} & C_{53} & C_{54} & C_{55} & C_{56} \\ - C_{61} & C_{62} & C_{63} & C_{64} & C_{65} & C_{66} + C_{1111} & C_{1122} & C_{1133} & C_{1123} & C_{1113} & C_{1112} \\ + C_{2211} & C_{2222} & C_{2233} & C_{2223} & C_{2213} & C_{2212} \\ + C_{3311} & C_{3322} & C_{3333} & C_{3323} & C_{3313} & C_{3312} \\ + C_{2311} & C_{2322} & C_{2333} & C_{2323} & C_{2313} & C_{2312} \\ + C_{1311} & C_{1322} & C_{1333} & C_{1323} & C_{1313} & C_{1312} \\ + C_{1211} & C_{1222} & C_{1233} & C_{1223} & C_{1213} & C_{1212} \end{pmatrix} \begin{pmatrix} \varepsilon_{11} \\ @@ -367,9 +364,9 @@ beziehungsweise \end{pmatrix} \] beschreiben. -Die Spannung $\sigma_{11}$ beispielsweise besteht so aus der Summe aller 6 Produkte der Konstanten $C$ und Dehnungen $\varepsilon$. +Die Spannung $\sigma_{11}$ beispielsweise erhält man, wenn man die sechs Produkte aus den Konstanten $C$ und Dehnungen $\varepsilon$ summiert. Die Symmetrieeigenschaft des Elastizitätstensors bleibt auch hier erhalten. -Nun lässt sich die reduzierte allgemeine Spannungsgleichung mit +Somit lässt sich die reduzierte allgemeine Spannungsgleichung mit \[ \begin{pmatrix} @@ -382,12 +379,12 @@ Nun lässt sich die reduzierte allgemeine Spannungsgleichung mit \end{pmatrix} = \begin{pmatrix} - C_{11} & C_{12} & C_{13} & C_{14} & C_{15} & C_{16} \\ - & C_{22} & C_{23} & C_{24} & C_{25} & C_{26} \\ - & & C_{33} & C_{34} & C_{35} & C_{36} \\ - & & & C_{44} & C_{45} & C_{46} \\ - & & & & C_{55} & C_{56} \\ - \text{sym} & & & & & C_{66} + C_{1111} & C_{1122} & C_{1133} & C_{1123} & C_{1113} & C_{1112} \\ + & C_{2222} & C_{2233} & C_{2223} & C_{2213} & C_{2212} \\ + & & C_{3333} & C_{3323} & C_{3313} & C_{3312} \\ + & & & C_{2323} & C_{2313} & C_{2312} \\ + & & & & C_{1313} & C_{1312} \\ + \text{sym} & & & & & C_{1212} \end{pmatrix} \begin{pmatrix} \varepsilon_{11} \\ @@ -399,9 +396,8 @@ Nun lässt sich die reduzierte allgemeine Spannungsgleichung mit \end{pmatrix} \] beschreiben. -Die Konstanten $C$ und $\nu$ werden wieder nach dem Hook'schen Gesetz definiert. +Die Konstanten $C$ werden wieder nach dem Hook'schen Gesetz definiert. Dies ergibt die Spannungsgleichung, welche weit möglichst vereinfacht ist: - \[ \begin{pmatrix} \sigma_{11}\\ @@ -429,10 +425,11 @@ Dies ergibt die Spannungsgleichung, welche weit möglichst vereinfacht ist: \varepsilon_{13}\\ \varepsilon_{12} \end{pmatrix} -\]. +. +\] Im Elastizitätstensor fallen zwei $3\times3$ Blöcke auf, welche nur Einträge mit $0$ haben. Der Tensor besagt also, -dass diese jeweiligen Konstanten keinen Einfluss auf unsere Spannung haben. +dass diese jeweiligen Dehnungen keinen Einfluss auf unsere Spannung haben. Man sieht nun auch ganz gut, dass sich im Vergleich zu der allgemeinen Spannungsgleichung, die Einträge verschoben haben. Da nach Voigt zuerst die Normalspannungen und anschliessend die Schubspannungen notiert worden sind, ergeben sich die $3\times3$ Blöcke. @@ -477,27 +474,18 @@ Dadurch erhält man die Dehnungsgleichung: \sigma_{13}\\ \sigma_{12} \end{pmatrix} -\]. - +. +\] Die zwei $3\times3$ Blöcke links unten und rechts oben sind folglich noch vorhanden. -Um wieder die Einflüsse der Parameter veranschaulichen zu können berechnet man mit +Um wieder die Einflüsse der Parameter veranschaulichen zu können berechnet man die Dehnung \[ \varepsilon_{22} = \frac{1}{E}\sigma_{22} - \frac{\nu}{E}\sigma_{11} - \frac{\nu}{E}\sigma_{33} = \frac{1}{E}\cdot(\sigma_{22}-\nu\cdot\sigma_{11}-\nu\cdot\sigma_{33}) +. \] - -die Dehnung $\varepsilon_{22}$. Diese hängt wieder am meisten von $\sigma_{22}$ ab. Ist die Querdehnung $\nu$ grösser, so wird die Dehnung $\varepsilon_{22}$ reduziert. -Bei inkompressiblen Medien, bei welchen keine Dehnungen und nur identische Normalspannungen auftreten können, ist folglich -\[ -\nu -= -0.5 -\]. - - - +Bei inkompressiblen Medien, bei welchen keine Dehnungen und nur identische Normalspannungen auftreten können, ist folglich $\nu=0.5$. \ No newline at end of file diff --git a/buch/papers/spannung/teil3.tex b/buch/papers/spannung/teil3.tex index e5574b8..438ac31 100644 --- a/buch/papers/spannung/teil3.tex +++ b/buch/papers/spannung/teil3.tex @@ -1,80 +1,86 @@ -\section{Spannungsausbreitung\label{spannung:section:Invarianten}} -\rhead{Invarianten} -Trotz der Vereinfachung lässt sich mit den Invarianten die Realität adäquat abbilden. -Als erste Bedingung stellt man folgendes Verhältnis auf: +\section{Die geotechnischen Invarianten\label{spannung:section:Die geotechnischen Invarianten}} +\rhead{Die geotechnischen Invarianten} +In vielen Fällen in der Geotechnik und auch in Versuchen hat man gleichmässige Belastungen über eine grössere Fläche. +Durch eine solche Belastung auf den Boden, entstehen gleichermassen Spannungen in Richtung $2$ und $3$, +wenn man von einem isotropen Bodenmaterial ausgeht. +Folglich gilt: \[ \sigma_{22} = \sigma_{33} -\] . - -Dies deshalb, da man von einem isotropen Bodenmaterial ausgeht. -In Achse 22, Richtung 22 hat man den gleichen Boden wie in Achse 33 und Richtung 33. -Das Verhalten bezüglich Kraftaufnahme, Dehnung Spannung ist somit dasselbe. - -Man führt die zwei Werte p als hydrostatische Spannung und q als deviatorische Spannung ein. -Die Berechnung von p und q sieht wie folgt aus: - +\] +Dadurch wird der Spannungszustand vereinfacht. +Diesen vereinfachten Spannungszustand kann man mit den zwei geotechnischen Invarianten abbilden. +Die erste Invariante ist die volumetrische Spannung \[ p = \frac{\sigma_{11}+\sigma_{22}+\sigma_{33}}{3} +, \] - -oder durch Vereinfachung, da $\sigma_{22}=\sigma_{33}$ : - +welche als arithmetisches Mittel aller Normalspannungen im infinitesimalen Würfel definiert ist. +Die zweite Invariante ist die deviatorische Spannung +\[ +q += +\sqrt{\frac{(\sigma_{11}-\sigma_{22})^{2}+(\sigma_{11}-\sigma_{33})^{2}+(\sigma_{22}-\sigma_{33})^{2}}{2}} +. +\] +Diese Zusammenhänge werden im Skript [\cite{spannung:Stoffgesetze und numerische Modellierung in der Geotechnik}] aufgezeigt. +Die hydrostatische Spannung $p$ kann gemäss Gleichung (Nr) als \[ p = \frac{\sigma_{11}+2\sigma_{33}}{3} \] - +vereinfacht werden. +Die deviatorische Spannung $q$ wird gemäss Gleichung (Nr) als \[ q = \sigma_{11}-\sigma_{33} \] -. - -p ist das arithmetische Mittel von der Spannung im infinitesimalen Würfel. -q ist die Differenz zwischen der Spannung in vertikaler Richtung und der Spannung in Richtung 2 und 3. -Man kann p als Druckspannung und q als Schubspannung anschauen. - -Aus der Formel vom vorherigen Kapitel konnten wir die Spannungen berechnen. -Deshalb kann man nun p und q in die Gleichung einsetzen. -Die Dehnungen werden mit neuen Variablen eingeführt. -Die Deviatorische Dehnung kann mit einer Schubdehnung verglichen werden. -Die hydrostatische Dehnung kann mit einer Kompressionsdehnung verglichen - -\[ -\overbrace{\sigma_{11}-\sigma_{33}}^{q} -= -\frac{3E}{2(1+\nu)} \overbrace{\frac{2}{3}(\varepsilon_{11} - \varepsilon_{33})}^{\varepsilon_{\nu}} -\] +vereinfacht. Man kann $p$ als Isotrop und $q$ als Schub betrachten. +Die Invarianten können mit der Spannungsformel (Nr..xxx) berechnet werden. +Durch geschickte Umformung dieser Gleichung, lassen sich die Module als Faktor separieren. +Dabei entstehen spezielle Faktoren mit den Dehnungskomponenten. +So ergibt sich \[ \overbrace{\frac{\sigma_{11}+2\sigma_{33}}{3}}^{p} = -\frac{E}{3(1-2\nu)} \overbrace{(\varepsilon_{11} - 2\varepsilon_{33})}^{\varepsilon_{s}} +\frac{E}{3(1-2\nu)} \overbrace{(\varepsilon_{11} - 2\varepsilon_{33})}^{\varepsilon_{v}} \] - +und \[ -\varepsilon_{s} +\overbrace{\sigma_{11}-\sigma_{33}}^{q} = -\text{Hydrostatische Dehnung} [-] +\frac{3E}{2(1+\nu)} \overbrace{\frac{2}{3}(\varepsilon_{11} - \varepsilon_{33})}^{\varepsilon_{s}} +. \] - +Die Faktoren mit den Dehnungskomponenten können so mit \[ -\varepsilon_{\nu} +\varepsilon_{v} = -\text{Deviatorische Dehnung} [-] +(\varepsilon_{11} - 2\varepsilon_{33}) +\qquad +\text{und} +\qquad +\varepsilon_{s} += +\frac{2}{3}(\varepsilon_{11} - \varepsilon_{33}) \] - -werden. - -Diese Komponenten kann man nun in die Vereinfachte Matrix +eingeführt werden, mit +\begin{align*} + \varepsilon_{v} &= \text{Hydrostatische Dehnung [-]} \\ + \varepsilon_{s} &= \text{Deviatorische Dehnung [-].} +\end{align*} +Die hydrostatische Dehnung $\varepsilon_{v}$ kann mit einer Kompression verglichen werden. +Die deviatorische Dehnung $\varepsilon_{s}$ kann mit einer Verzerrung verglichen werden. + +Diese zwei Gleichungen kann man durch die Matrixschreibweise \[ \begin{pmatrix} q\\ @@ -87,12 +93,13 @@ Diese Komponenten kann man nun in die Vereinfachte Matrix \end{pmatrix} \begin{pmatrix} \varepsilon_{s}\\ - \varepsilon_{\nu} + \varepsilon_{v} \end{pmatrix} \] -einsetzen. -Man hat dann eine Matrix multipliziert mit einem Vektor und erhält einen Vektor. +(sollte nummeriert sein) vereinfachen. +Man hat so eine Matrix multipliziert mit einem Vektor und erhält einen Vektor. +Änderungen des Spannungszustandes können mit dieser Gleichung vollumfänglich erfasst werden. -Mit dieser Formel lassen sich verschieden Parameter von Versuchen analysieren und berechnen. -Ein solcher Versuch, den oft in der Geotechnik durchgeführt wird ist der Oedometer-Versuch. +Mit dieser Formel lassen sich verschieden Ergebnisse von Versuchen analysieren und berechnen. +Ein solcher Versuch, den oft in der Geotechnik durchgeführt wird, ist der Oedometer-Versuch. Im nächsten Kapitel wird die Anwendung der Matrix an diesem Versuch beschrieben. \ No newline at end of file diff --git a/buch/papers/spannung/teil4.tex b/buch/papers/spannung/teil4.tex index 60f2518..d524f13 100644 --- a/buch/papers/spannung/teil4.tex +++ b/buch/papers/spannung/teil4.tex @@ -1,16 +1,16 @@ \section{Oedometer-Versuch\label{spannung:section:Oedometer-Versuch}} \rhead{Oedometer-Versuch} -Mit dem Oedometer-Versuch kann der Oedometrische Elastizitätsmodul $E_{OED}$ bestimmt werden. +Mit dem Oedometer-Versuch kann der oedometrische Elastizitätsmodul $E_{OED}$ bestimmt werden. Dieser beschreibt ebenfalls das Verhältnis zwischen Spannung und Dehnung, allerdings unter anderen Bedingungen. Diese Bedingung ist das Verhindern der seitlichen Verformung, sprich der Dehnung in Richtung $1$ und $2$. Es wird ein Probeelement mit immer grösseren Gewichten belastet, welche gleichmässig auf das Material drücken. Die seitliche Verschiebung des Materials wird durch einen Stahlring verhindert. -Die Probe wird sich so steig verdichten. +Die Probe wird sich so stetig verdichten. Das Volumen nimmt ab und die Dehnung nimmt immer mehr zu. -Unter diesen Bedingungen wird das Oedometrische E-Modul mit steigender Dehnung zunehmen. +Unter diesen Bedingungen wird der oedometrische Elastizitätsmodul mit steigender Dehnung zunehmen. -Da im Boden das umgebende Material ähnliche eine seitliche Verformung verhindert, -gibt dieser Oedometrische E-Modul die Realität besser als der gewöhnliche E-Modul wieder. +Da im Boden das umgebende Material ähnlich eine seitliche Verformung verhindert, +bildet dieser oedometrische Elastizitätsmodul die Realität besser ab, als der gewöhnliche Elastizitätsmodul. Durch dieses Verhindern des seitlichen Ausbrechens ist \[ \varepsilon_{22} @@ -25,15 +25,16 @@ aber auch = \sigma_{33} \neq 0 +. \] -Die Spannung $\sigma_{11}$ wird durch durch die aufgebrachte Kraft mit +Die Spannung $\sigma_{11}$ wird durch die aufgebrachte Kraft mit \[ \sigma_{11} = \frac{F}{A} \] und die Dehnung $\varepsilon_{11}$ jeweils mit den entsprechenden Setzungen berechnet. -Diese Randbedingen können in die vereinfachte Gleichung eingesetzt. +Diese Randbedingungen können in die vereinfachte Gleichung (Nrxxx) eingesetzt werden. Diese lautet nun: \[ \begin{pmatrix} @@ -42,21 +43,30 @@ Diese lautet nun: \end{pmatrix} = \begin{pmatrix} - \frac{E_{OED}}{(1+\nu)} & 0 \\ - 0 & \frac{E_{OED}}{(1-2\nu)} + \frac{E_{OED}}{(1+\nu)} & 0 \\ + 0 & \frac{E_{OED}}{3(1-2\nu)} \end{pmatrix} \begin{pmatrix} \varepsilon_{11}\\ \varepsilon_{11} \end{pmatrix} -\] . - -Daraus lässt sich bei jedem Setzungsgrad das Oedometrische E-Modul $E_{OED}$ und die seitlichen Spannungen $\sigma_{33}$ mit den 2 Gleichungen - -GLEICHUNGEN... - +\] +Daraus lässt sich bei jedem Setzungsgrad der oedometrische Elastitzitätsmodul $E_{OED}$ und die seitlichen Spannungen $\sigma_{33}$ mit den 2 Gleichungen +\[ +\sigma_{11}-\sigma_{33} += +\frac{E_{OED}}{(1+\nu)}\cdot\varepsilon_{11} +\] +und +\[ +\sigma_{11}+2\sigma_{33} += +\frac{E_{OED}}{3(1-2\nu)}\cdot\varepsilon_{11} +\] berechnen. +Mit diesen Gleichungen hat man das Gleichungssystem um $E_{OED}$ und $\sigma_{33}$ zu berechnen. +Die Poisson-Zahl muss als Kennwert gemäss der Bodenklasse gewählt werden. Den Versuch kann man auf einem $\sigma$-$\varepsilon$-Diagramm abtragen (siehe Abbildung 1.7). Durch die Komprimierung nimmt der Boden mehr Spannung auf, und verformt sich zugleich weniger stark. Mit diesem ermittelten $E_{OED}$ kann man nun weitere Berechnungen für die Geotechnik durchführen. @@ -64,6 +74,6 @@ Mit diesem ermittelten $E_{OED}$ kann man nun weitere Berechnungen für die Geot \begin{figure} \centering \includegraphics[width=0.5\linewidth,keepaspectratio]{papers/spannung/Grafiken/DiagrammOedometer-Versuch.png} - \caption{Diagramm Oedometer-Versuch} - \label{fig:Diagramm Oedometer-Versuch} + \caption{Diagramm Charakteristik verschiedener Elastizitätsmodule bei gleichem Material} + \label{fig:DiagrammOedometer-Versuch} \end{figure} \ No newline at end of file -- cgit v1.2.1 From e52cb985f06bec15524ae4029b65dc537716384d Mon Sep 17 00:00:00 2001 From: Malarius1999 Date: Tue, 1 Jun 2021 14:31:06 +0200 Subject: fixed imports and rheads --- buch/papers/clifford/0_ElevatorPitch.tex | 2 +- buch/papers/clifford/10_Quaternionen.tex | 1 + buch/papers/clifford/1_Vektordarstellung.tex | 4 +-- buch/papers/clifford/6_Dirac-Matrizen.tex | 2 +- buch/papers/clifford/7_Reflektion.tex | 1 + buch/papers/clifford/8_Rotation.tex | 1 + buch/papers/clifford/9_KomplexeZahlen.tex | 1 + buch/papers/clifford/main.tex | 42 ++++++++-------------------- buch/papers/clifford/packages.tex | 22 --------------- 9 files changed, 20 insertions(+), 56 deletions(-) (limited to 'buch') diff --git a/buch/papers/clifford/0_ElevatorPitch.tex b/buch/papers/clifford/0_ElevatorPitch.tex index a599903..0db5617 100644 --- a/buch/papers/clifford/0_ElevatorPitch.tex +++ b/buch/papers/clifford/0_ElevatorPitch.tex @@ -1,2 +1,2 @@ - +TODO... GA [Geometric Algebra i.a.W. Clifford Algebra] provides a unified language for the whole of physics and for much of mathematics and its applications that is conceptually and computationally superior to alternative mathematical systems in many application domains. \ No newline at end of file diff --git a/buch/papers/clifford/10_Quaternionen.tex b/buch/papers/clifford/10_Quaternionen.tex index c987fc3..8945ba8 100644 --- a/buch/papers/clifford/10_Quaternionen.tex +++ b/buch/papers/clifford/10_Quaternionen.tex @@ -4,6 +4,7 @@ % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \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. Sie finden beispielsweise in der Computergraphik und in der Robotik Anwendung. Die Quaternionen werden so definiert. diff --git a/buch/papers/clifford/1_Vektordarstellung.tex b/buch/papers/clifford/1_Vektordarstellung.tex index cb6e7af..88a5789 100644 --- a/buch/papers/clifford/1_Vektordarstellung.tex +++ b/buch/papers/clifford/1_Vektordarstellung.tex @@ -1,6 +1,6 @@ -\section{Teil 0\label{clifford:section:Vektoroperationen}} +\section{Vektoroperationen\label{clifford:section:Vektoroperationen}} \rhead{Vektoroperationen} -\rhead{Vektordarstellung} +\subsection{Vektordarstellung\label{clifford:section:Vektordarstellung}} Vektoren können neben der üblichen Darstellung, auch als Linearkombination aus Basisvektoren dargestellt werden \begin{equation} \begin{split} diff --git a/buch/papers/clifford/6_Dirac-Matrizen.tex b/buch/papers/clifford/6_Dirac-Matrizen.tex index e68f0f6..6417bb3 100644 --- a/buch/papers/clifford/6_Dirac-Matrizen.tex +++ b/buch/papers/clifford/6_Dirac-Matrizen.tex @@ -4,4 +4,4 @@ % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{Dirac-Matrizen} - +\rhead{Dirac-Matrizen} diff --git a/buch/papers/clifford/7_Reflektion.tex b/buch/papers/clifford/7_Reflektion.tex index dfe86b8..d4942e0 100644 --- a/buch/papers/clifford/7_Reflektion.tex +++ b/buch/papers/clifford/7_Reflektion.tex @@ -4,6 +4,7 @@ % (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. diff --git a/buch/papers/clifford/8_Rotation.tex b/buch/papers/clifford/8_Rotation.tex index ebd278c..c2928bf 100644 --- a/buch/papers/clifford/8_Rotation.tex +++ b/buch/papers/clifford/8_Rotation.tex @@ -4,6 +4,7 @@ % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \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. \\BILD diff --git a/buch/papers/clifford/9_KomplexeZahlen.tex b/buch/papers/clifford/9_KomplexeZahlen.tex index 735eead..4dbab2c 100644 --- a/buch/papers/clifford/9_KomplexeZahlen.tex +++ b/buch/papers/clifford/9_KomplexeZahlen.tex @@ -4,6 +4,7 @@ % (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^+$. \begin{align} a_0 + a_1 j \cong a_0 + a_1 e_{12} = g_n;\quad a_0, a_1 \in \mathbb{R} diff --git a/buch/papers/clifford/main.tex b/buch/papers/clifford/main.tex index d94e065..46d04bd 100644 --- a/buch/papers/clifford/main.tex +++ b/buch/papers/clifford/main.tex @@ -3,41 +3,23 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Thema\label{chapter:clifford}} +\chapter{Clifford Algebra\label{chapter:clifford}} \lhead{Clifford Algebra} \begin{refsection} \chapterauthor{Thierry Schwaller, Marius Baumann} -Ein paar Hinweise für die korrekte Formatierung des Textes -\begin{itemize} -\item -Absätze werden gebildet, indem man eine Leerzeile einfügt. -Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet. -\item -Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende -Optionen werden gelöscht. -Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen. -\item -Beginnen Sie jeden Satz auf einer neuen Zeile. -Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen -in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt -anzuwenden. -\item -Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren -Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. -\end{itemize} -\input{0_ElevatorPitch} -\input{1_Vektordarstellung} -\input{2_QuadratVektoren} -\input{3_MultiplikationVektoren} -\input{4_GeometrischesProdukt} -\input{5_PolareDarstellung} -\input{6_Dirac-Matrizen} -\input{7_Reflektion} -\input{8_Rotation} -\input{9_KomplexeZahlen} -\input{10_Quaternionen} +\input{papers/clifford/0_ElevatorPitch.tex} +\input{papers/clifford/1_Vektordarstellung.tex} +\input{papers/clifford/2_QuadratVektoren.tex} +\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/7_Reflektion.tex} +\input{papers/clifford/8_Rotation.tex} +\input{papers/clifford/9_KomplexeZahlen.tex} +\input{papers/clifford/10_Quaternionen.tex} \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/clifford/packages.tex b/buch/papers/clifford/packages.tex index f6e94e0..8fb4bd9 100644 --- a/buch/papers/clifford/packages.tex +++ b/buch/papers/clifford/packages.tex @@ -7,25 +7,3 @@ % if your paper needs special packages, add package commands as in the % following example %\usepackage{packagename} -\usepackage[utf8]{inputenc} -\usepackage{a4wide} -\usepackage{ngerman} -\usepackage{tikz} -\usepackage{mathdots} -\usepackage{amssymb} -\usepackage{amsmath} -\usepackage{amsthm} -\newtheorem{definition}{Definition}[chapter] -\newtheorem{beispiel}[definition]{Beispiel} -\newtheorem{bemerkung}[definition]{Bemerkung} -\newtheorem{lemma}[definition]{Lemma} -\newtheorem{satz}[definition]{Satz} -\newtheorem{hauptsatz}[definition]{Hauptsatz} -\newtheorem{corollar}[definition]{Korollar} -\usepackage[german]{babel} -\usepackage[T1]{fontenc} -\usepackage{fullpage} -\usepackage{graphicx} -\usepackage{float} -\usepackage{colortbl} -\usepackage{multirow} \ No newline at end of file -- cgit v1.2.1 From b70156cbf2d76d1850ddd1fc6f58e79bdc5c5203 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 2 Jun 2021 07:53:42 +0200 Subject: Makefile in clifford, references in spannung --- buch/papers/clifford/Makefile.inc | 20 +++++++++++++------- buch/papers/spannung/Einleitung.tex | 6 +++--- buch/papers/spannung/references.bib | 6 +++--- buch/papers/spannung/teil1.tex | 2 +- buch/papers/spannung/teil2.tex | 6 +++--- buch/papers/spannung/teil3.tex | 4 ++-- 6 files changed, 25 insertions(+), 19 deletions(-) (limited to 'buch') diff --git a/buch/papers/clifford/Makefile.inc b/buch/papers/clifford/Makefile.inc index 7b941b3..8cdd02e 100644 --- a/buch/papers/clifford/Makefile.inc +++ b/buch/papers/clifford/Makefile.inc @@ -3,12 +3,18 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -dependencies-clifford = \ +dependencies-clifford = \ papers/clifford/packages.tex \ papers/clifford/main.tex \ - papers/clifford/references.bib \ - papers/clifford/teil0.tex \ - papers/clifford/teil1.tex \ - papers/clifford/teil2.tex \ - papers/clifford/teil3.tex - + papers/clifford/references.bib \ + papers/clifford/0_ElevatorPitch.tex \ + papers/clifford/1_Vektordarstellung.tex \ + papers/clifford/2_QuadratVektoren.tex \ + papers/clifford/3_MultiplikationVektoren.tex \ + papers/clifford/4_GeometrischesProdukt.tex \ + papers/clifford/5_PolareDarstellung.tex \ + papers/clifford/6_Dirac-Matrizen.tex \ + papers/clifford/7_Reflektion.tex \ + papers/clifford/8_Rotation.tex \ + papers/clifford/9_KomplexeZahlen.tex \ + papers/clifford/10_Quaternionen.tex diff --git a/buch/papers/spannung/Einleitung.tex b/buch/papers/spannung/Einleitung.tex index c80db64..0cb1433 100644 --- a/buch/papers/spannung/Einleitung.tex +++ b/buch/papers/spannung/Einleitung.tex @@ -12,7 +12,7 @@ Diese Spannungsformel ist Grundlage für Computerprogramme und geotechnische Ver Um die mathematische Untersuchung vorzunehmen, beschäftigt man sich zuerst mit den spezifischen Gegebenheiten und Voraussetzungen. Ebenfalls gilt es ein paar wichtige Begriffe und deren mathematischen Zeichen einzuführen. In diesem Kapitel gehen wir auch auf die Zusammenhänge von Spannung, Dehnungen und Verformungen an elastischen Materialien ein, -wie sie in gängigen Lehrbüchern der Mechanik oder der Geotechnik behandelt werden. z. B. [\cite{spannung:Grundlagen der Geotechnik}] +wie sie in gängigen Lehrbüchern der Mechanik oder der Geotechnik behandelt werden, z.~B.~\cite{spannung:Grundlagen-der-Geotechnik}. \section{Spannungsausbreitung\label{spannung:section:Spannungsausbreitung}} \rhead{Spannungsausbreitung} @@ -72,7 +72,7 @@ berechnet werden mit: t &= \text{Tiefe [\si{\meter}]} \\ s &= \text{Setzung, Absenkung [m].} \end{align*} -Diese Zusammenhänge sind wie erwähnt unter anderem im Lehrbuch [\cite{spannung:Grundlagen der Geotechnik}] beschrieben. +Diese Zusammenhänge sind wie erwähnt unter anderem im Lehrbuch [\cite{spannung:Grundlagen-der-Geotechnik}] beschrieben. In der praktischen Geotechnik wird man allerdings weitaus schwierigere Situationen antreffen. Ein Beispiel wäre eine Baugrube mit einem Baugrubenabschluss, wo ein Teil des Bodens abgetragen ist (siehe Abbildung 1.3). Die Ausbreitung der Zusatzspannung $\sigma(x,y,t)$ würde hier deutlich komplizierter ausfallen. @@ -86,4 +86,4 @@ Generell wird im Ingenieurwesen versucht Phänomene möglichst nach dem Hook'sch \includegraphics[width=0.45\linewidth,keepaspectratio]{papers/spannung/Grafiken/Bild3.png} \caption{Beispiel eines Lastauftrags auf den Boden bei einer komplexeren Situation, welches kompliziertere Spannungsausbreitung zur Folge hat} \label{fig:Bild3} -\end{figure} \ No newline at end of file +\end{figure} diff --git a/buch/papers/spannung/references.bib b/buch/papers/spannung/references.bib index 090e3c3..02f8d09 100644 --- a/buch/papers/spannung/references.bib +++ b/buch/papers/spannung/references.bib @@ -13,7 +13,7 @@ day = {6} } -@online{spannung:Voigtsche Notation, +@online{spannung:Voigtsche-Notation, title = {Voigtsche Notation}, url = {https://de.wikipedia.org/wiki/Voigtsche_Notation}, date = {2021-05-29}, @@ -22,7 +22,7 @@ day = {6} } -@book{spannung:Grundlagen der Geotechnik, +@book{spannung:Grundlagen-der-Geotechnik, title = {Grundlagen der Geotechnik}, author = {Hans-Henning Schmidt and Roland F. Buchmaier and Carola Vogt-Breyer}, publisher = {Springer Fachmedien Wiesbaden GmbH}, @@ -32,7 +32,7 @@ volume = {5} } -@book{spannung:Stoffgesetze und numerische Modellierung in der Geotechnik, +@book{spannung:Stoffgesetze-und-numerische-Modellierung-in-der-Geotechnik, title = {Stoffgesetze und numerische Modellierung in der Geotechnik}, author = {Carlo Rabaiotti and Alessio Höttges}, publisher = {Hochschule Rapperswil}, diff --git a/buch/papers/spannung/teil1.tex b/buch/papers/spannung/teil1.tex index 2db244e..74516c1 100644 --- a/buch/papers/spannung/teil1.tex +++ b/buch/papers/spannung/teil1.tex @@ -21,4 +21,4 @@ Er hat in der Elastizitätstheorie als erstes Tensoren eingesetzt und beschriebe Auch Albert Einstein hat solche Tensoren eingesetzt, um in der Relativitätstheorie die Änderung der 4D Raumzeit beschreiben zu können. \cite{spannung:Tensor} -\cite{spannung:Voigtsche Notation} \ No newline at end of file +\cite{spannung:Voigtsche-Notation} diff --git a/buch/papers/spannung/teil2.tex b/buch/papers/spannung/teil2.tex index afd2c21..921d2b8 100644 --- a/buch/papers/spannung/teil2.tex +++ b/buch/papers/spannung/teil2.tex @@ -15,7 +15,7 @@ i, j\in\left\{1, 2, 3\right\} \] definiert. Daher ergeben sich die neun Spannungen. -Die nachfolgenden Zusammenhänge sind in \cite{spannung:Voigtsche Notation} beschrieben. +Die nachfolgenden Zusammenhänge sind in \cite{spannung:Voigtsche-Notation} beschrieben. Dieser Spannungstensor kann schliesslich mit $3^2$ Einträgen als $3\times3$ Matrix mit \[ \overline{\sigma} @@ -266,7 +266,7 @@ und folglich auch \varepsilon_{32} \] gilt. -Diese Eigenschaft wird durch die Voigt'sche Notation \cite{spannung:Voigtsche Notation} ausgenutzt, um die Gleichung vereinfachen zu können. +Diese Eigenschaft wird durch die Voigt'sche Notation \cite{spannung:Voigtsche-Notation} ausgenutzt, um die Gleichung vereinfachen zu können. Durch diese Symmetrie gilt \[ \overline{\sigma} @@ -488,4 +488,4 @@ Um wieder die Einflüsse der Parameter veranschaulichen zu können berechnet man \] Diese hängt wieder am meisten von $\sigma_{22}$ ab. Ist die Querdehnung $\nu$ grösser, so wird die Dehnung $\varepsilon_{22}$ reduziert. -Bei inkompressiblen Medien, bei welchen keine Dehnungen und nur identische Normalspannungen auftreten können, ist folglich $\nu=0.5$. \ No newline at end of file +Bei inkompressiblen Medien, bei welchen keine Dehnungen und nur identische Normalspannungen auftreten können, ist folglich $\nu=0.5$. diff --git a/buch/papers/spannung/teil3.tex b/buch/papers/spannung/teil3.tex index 438ac31..8d99733 100644 --- a/buch/papers/spannung/teil3.tex +++ b/buch/papers/spannung/teil3.tex @@ -28,7 +28,7 @@ q \sqrt{\frac{(\sigma_{11}-\sigma_{22})^{2}+(\sigma_{11}-\sigma_{33})^{2}+(\sigma_{22}-\sigma_{33})^{2}}{2}} . \] -Diese Zusammenhänge werden im Skript [\cite{spannung:Stoffgesetze und numerische Modellierung in der Geotechnik}] aufgezeigt. +Diese Zusammenhänge werden im Skript [\cite{spannung:Stoffgesetze-und-numerische-Modellierung-in-der-Geotechnik}] aufgezeigt. Die hydrostatische Spannung $p$ kann gemäss Gleichung (Nr) als \[ p @@ -102,4 +102,4 @@ Man hat so eine Matrix multipliziert mit einem Vektor und erhält einen Vektor. Mit dieser Formel lassen sich verschieden Ergebnisse von Versuchen analysieren und berechnen. Ein solcher Versuch, den oft in der Geotechnik durchgeführt wird, ist der Oedometer-Versuch. -Im nächsten Kapitel wird die Anwendung der Matrix an diesem Versuch beschrieben. \ No newline at end of file +Im nächsten Kapitel wird die Anwendung der Matrix an diesem Versuch beschrieben. -- cgit v1.2.1 From 3511e1749d139ab3248d3fb4add34726a86b8fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 4 Jun 2021 16:30:42 +0200 Subject: modernize tests --- buch/Makefile | 15 +++++++- buch/common/test-common.tex | 73 +++++++++++++++++++++++++++++++++++ buch/common/test1.tex | 21 ++++++++++ buch/common/test2.tex | 21 ++++++++++ buch/common/test3.tex | 21 ++++++++++ buch/test1.tex | 93 --------------------------------------------- buch/test2.tex | 91 -------------------------------------------- buch/test3.tex | 91 -------------------------------------------- 8 files changed, 149 insertions(+), 277 deletions(-) create mode 100644 buch/common/test-common.tex create mode 100644 buch/common/test1.tex create mode 100644 buch/common/test2.tex create mode 100644 buch/common/test3.tex delete mode 100644 buch/test1.tex delete mode 100644 buch/test2.tex delete mode 100644 buch/test3.tex (limited to 'buch') diff --git a/buch/Makefile b/buch/Makefile index 722c177..1cd50dd 100755 --- a/buch/Makefile +++ b/buch/Makefile @@ -28,8 +28,19 @@ buch.ind: buch.idx separate: buch.aux buch.pdf bash splitpapers -numerik.pdf: - pdfjam --outfile numerik.pdf \ +matrizen.pdf: + pdfjam --outfile matrizen.pdf \ ../cover/front.pdf 1,{} \ buch.pdf 1-504 \ ../cover/back.pdf {},1 + +tests: test1.pdf test2.pdf test3.pdf + +test1.pdf: common/test-common.tex common/test1.tex aufgaben1.tex + pdflatex common/test1.tex + +test2.pdf: common/test-common.tex common/test1.tex aufgaben2.tex + pdflatex common/test2.tex + +test3.pdf: common/test-common.tex common/test1.tex aufgaben3.tex + pdflatex common/test3.tex diff --git a/buch/common/test-common.tex b/buch/common/test-common.tex new file mode 100644 index 0000000..289e59c --- /dev/null +++ b/buch/common/test-common.tex @@ -0,0 +1,73 @@ +% +% test.tex -- Gemeinsamer Rahmen für Kurztests +% +% (c) 2021 Prof. Dr. Andreas Mueller, OST Ostschweizer Fachhochschule +% +\documentclass[a4paper,12pt]{article} +\usepackage{geometry} +\geometry{papersize={210mm,297mm},total={165mm,260mm}} +\usepackage{ngerman} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{times} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{amsfonts} +\usepackage{amsthm} +\usepackage{graphicx} +\usepackage{fancyhdr} +\usepackage{textcomp} +\usepackage[all]{xy} +\usepackage{txfonts} +\usepackage{alltt} +\usepackage{verbatim} +\usepackage{paralist} +\usepackage{makeidx} +\usepackage{array} +\usepackage{hyperref} +\usepackage{caption} +\usepackage{subcaption} +\usepackage{standalone} +\usepackage{environ} +\usepackage{tikz} +\input{../common/linsys.tex} +\newcounter{beispiel} +\newenvironment{beispiele}{ +\bgroup\smallskip\parindent0pt\bf Beispiele\egroup + +\begin{list}{\arabic{beispiel}.} + {\usecounter{beispiel} + \setlength{\labelsep}{5mm} + \setlength{\rightmargin}{0pt} +}}{\end{list}} +\newcounter{uebungsaufgabe} +% environment fuer uebungsaufgaben +\newenvironment{uebungsaufgaben}{ +\begin{list}{\arabic{uebungsaufgabe}.} + {\usecounter{uebungsaufgabe} + \setlength{\labelwidth}{2cm} + \setlength{\leftmargin}{0pt} + \setlength{\labelsep}{5mm} + \setlength{\rightmargin}{0pt} + \setlength{\itemindent}{0pt} +}}{\end{list}\vfill\pagebreak} +\newenvironment{teilaufgaben}{ +\begin{enumerate} +\renewcommand{\labelenumi}{\alph{enumi})} +}{\end{enumerate}} +% Loesung +\NewEnviron{loesung}{% +\begin{proof}[Lösung]% +\renewcommand{\qedsymbol}{$\bigcirc$} +\BODY +\end{proof}} +\NewEnviron{bewertung}{\relax} +\NewEnviron{diskussion}{ +\BODY +} +\RenewEnviron{loesung}{\relax} +\RenewEnviron{diskussion}{\relax} +\newenvironment{hinweis}{% +\renewcommand{\qedsymbol}{} +\begin{proof}[Hinweis]}{\end{proof}} + diff --git a/buch/common/test1.tex b/buch/common/test1.tex new file mode 100644 index 0000000..1f5a155 --- /dev/null +++ b/buch/common/test1.tex @@ -0,0 +1,21 @@ +% +% test1.tex -- Test 1 +% +% (c) 2021 Prof. Dr. Andreas Mueller, OST +% +\input{common/test-common.tex} + +\begin{document} +{\parindent0pt\hbox to\hsize{% +Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} +\vspace{0.5cm} + +\section*{Kurztest 1} + +\begin{uebungsaufgaben} + +\input{aufgaben1.tex} + +\end{uebungsaufgaben} + +\end{document} diff --git a/buch/common/test2.tex b/buch/common/test2.tex new file mode 100644 index 0000000..0980e44 --- /dev/null +++ b/buch/common/test2.tex @@ -0,0 +1,21 @@ +% +% test2.tex -- Test 2 +% +% (c) 2012 Prof. Dr. Andreas Mueller, OST +% +\input{common/test-common.tex} + +\begin{document} +{\parindent0pt\hbox to\hsize{% +Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} +\vspace{0.5cm} + +\section*{Kurztest 2} + +\begin{uebungsaufgaben} + +\input{aufgaben2.tex} + +\end{uebungsaufgaben} + +\end{document} diff --git a/buch/common/test3.tex b/buch/common/test3.tex new file mode 100644 index 0000000..8b24262 --- /dev/null +++ b/buch/common/test3.tex @@ -0,0 +1,21 @@ +% +% test3.tex -- Test 3 +% +% (c) 2021 Prof. Dr. Andreas Mueller, OST +% +\input{common/test-common.tex} + +\begin{document} +{\parindent0pt\hbox to\hsize{% +Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} +\vspace{0.5cm} + +\section*{Kurztest 3} + +\begin{uebungsaufgaben} + +\input{aufgaben3.tex} + +\end{uebungsaufgaben} + +\end{document} diff --git a/buch/test1.tex b/buch/test1.tex deleted file mode 100644 index 8345230..0000000 --- a/buch/test1.tex +++ /dev/null @@ -1,93 +0,0 @@ -% -% test1.tex -- Test 1 -% -% (c) 2012 Prof. Dr. Andreas Mueller, HSR -% -%\documentclass[a4paper,12pt]{book} -\documentclass[a4paper,12pt]{article} -\usepackage{geometry} -\geometry{papersize={210mm,297mm},total={165mm,260mm}} -\usepackage{ngerman} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{times} -\usepackage{amsmath} -\usepackage{amssymb} -\usepackage{amsfonts} -\usepackage{amsthm} -\usepackage{graphicx} -\usepackage{fancyhdr} -\usepackage{textcomp} -\usepackage[all]{xy} -\usepackage{txfonts} -\usepackage{alltt} -\usepackage{verbatim} -\usepackage{paralist} -\usepackage{makeidx} -\usepackage{array} -\usepackage{hyperref} -\usepackage{caption} -\usepackage{subcaption} -\usepackage{standalone} -\usepackage{environ} -\usepackage{tikz} -\input{../common/linsys.tex} -\newcounter{beispiel} -\newenvironment{beispiele}{ -\bgroup\smallskip\parindent0pt\bf Beispiele\egroup - -\begin{list}{\arabic{beispiel}.} - {\usecounter{beispiel} - \setlength{\labelsep}{5mm} - \setlength{\rightmargin}{0pt} -}}{\end{list}} -\newcounter{uebungsaufgabe} -% environment fuer uebungsaufgaben -\newenvironment{uebungsaufgaben}{ -\begin{list}{\arabic{uebungsaufgabe}.} - {\usecounter{uebungsaufgabe} - \setlength{\labelwidth}{2cm} - \setlength{\leftmargin}{0pt} - \setlength{\labelsep}{5mm} - \setlength{\rightmargin}{0pt} - \setlength{\itemindent}{0pt} -}}{\end{list}\vfill\pagebreak} -\newenvironment{teilaufgaben}{ -\begin{enumerate} -\renewcommand{\labelenumi}{\alph{enumi})} -}{\end{enumerate}} -% Loesung -\NewEnviron{loesung}{% -\begin{proof}[L"osung]% -\renewcommand{\qedsymbol}{$\bigcirc$} -\BODY -\end{proof}} -\NewEnviron{bewertung}{\relax} -\NewEnviron{diskussion}{ -\BODY -} -\RenewEnviron{loesung}{\relax} -\RenewEnviron{diskussion}{\relax} -\newenvironment{hinweis}{% -\renewcommand{\qedsymbol}{} -\begin{proof}[Hinweis]}{\end{proof}} - -\begin{document} -{\parindent0pt\hbox to\hsize{% -Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} -\vspace{0.5cm} - -\section*{Kurztest 1} - -\begin{uebungsaufgaben} - -\item -\input chapters/30-endlichekoerper/uebungsaufgaben/3003.tex -\item -\input chapters/30-endlichekoerper/uebungsaufgaben/3004.tex -\item -\input chapters/30-endlichekoerper/uebungsaufgaben/3005.tex - -\end{uebungsaufgaben} - -\end{document} diff --git a/buch/test2.tex b/buch/test2.tex deleted file mode 100644 index ea842ce..0000000 --- a/buch/test2.tex +++ /dev/null @@ -1,91 +0,0 @@ -% -% test2.tex -- Test 2 -% -% (c) 2012 Prof. Dr. Andreas Mueller, HSR -% -%\documentclass[a4paper,12pt]{book} -\documentclass[a4paper,12pt]{article} -\usepackage{geometry} -\geometry{papersize={210mm,297mm},total={165mm,260mm}} -\usepackage{ngerman} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{times} -\usepackage{amsmath} -\usepackage{amssymb} -\usepackage{amsfonts} -\usepackage{amsthm} -\usepackage{graphicx} -\usepackage{fancyhdr} -\usepackage{textcomp} -\usepackage[all]{xy} -\usepackage{txfonts} -\usepackage{alltt} -\usepackage{verbatim} -\usepackage{paralist} -\usepackage{makeidx} -\usepackage{array} -\usepackage{hyperref} -\usepackage{caption} -\usepackage{subcaption} -\usepackage{standalone} -\usepackage{environ} -\usepackage{tikz} -\input{../common/linsys.tex} -\newcounter{beispiel} -\newenvironment{beispiele}{ -\bgroup\smallskip\parindent0pt\bf Beispiele\egroup - -\begin{list}{\arabic{beispiel}.} - {\usecounter{beispiel} - \setlength{\labelsep}{5mm} - \setlength{\rightmargin}{0pt} -}}{\end{list}} -\newcounter{uebungsaufgabe} -% environment fuer uebungsaufgaben -\newenvironment{uebungsaufgaben}{ -\begin{list}{\arabic{uebungsaufgabe}.} - {\usecounter{uebungsaufgabe} - \setlength{\labelwidth}{2cm} - \setlength{\leftmargin}{0pt} - \setlength{\labelsep}{5mm} - \setlength{\rightmargin}{0pt} - \setlength{\itemindent}{0pt} -}}{\end{list}\vfill\pagebreak} -\newenvironment{teilaufgaben}{ -\begin{enumerate} -\renewcommand{\labelenumi}{\alph{enumi})} -}{\end{enumerate}} -% Loesung -\NewEnviron{loesung}{% -\begin{proof}[L"osung]% -\renewcommand{\qedsymbol}{$\bigcirc$} -\BODY -\end{proof}} -\NewEnviron{bewertung}{\relax} -\NewEnviron{diskussion}{ -\BODY -} -\RenewEnviron{loesung}{\relax} -\RenewEnviron{diskussion}{\relax} -\newenvironment{hinweis}{% -\renewcommand{\qedsymbol}{} -\begin{proof}[Hinweis]}{\end{proof}} - -\begin{document} -{\parindent0pt\hbox to\hsize{% -Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} -\vspace{0.5cm} - -\section*{Kurztest 2} - -\begin{uebungsaufgaben} - -\item -\input chapters/40-eigenwerte/uebungsaufgaben/4004.tex -\item -\input chapters/40-eigenwerte/uebungsaufgaben/4005.tex - -\end{uebungsaufgaben} - -\end{document} diff --git a/buch/test3.tex b/buch/test3.tex deleted file mode 100644 index 71b1529..0000000 --- a/buch/test3.tex +++ /dev/null @@ -1,91 +0,0 @@ -% -% test3.tex -- Test 3 -% -% (c) 2021 Prof. Dr. Andreas Mueller, OST -% -%\documentclass[a4paper,12pt]{book} -\documentclass[a4paper,12pt]{article} -\usepackage{geometry} -\geometry{papersize={210mm,297mm},total={165mm,260mm}} -\usepackage{ngerman} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{times} -\usepackage{amsmath} -\usepackage{amssymb} -\usepackage{amsfonts} -\usepackage{amsthm} -\usepackage{graphicx} -\usepackage{fancyhdr} -\usepackage{textcomp} -\usepackage[all]{xy} -\usepackage{txfonts} -\usepackage{alltt} -\usepackage{verbatim} -\usepackage{paralist} -\usepackage{makeidx} -\usepackage{array} -\usepackage{hyperref} -\usepackage{caption} -\usepackage{subcaption} -\usepackage{standalone} -\usepackage{environ} -\usepackage{tikz} -\input{../common/linsys.tex} -\newcounter{beispiel} -\newenvironment{beispiele}{ -\bgroup\smallskip\parindent0pt\bf Beispiele\egroup - -\begin{list}{\arabic{beispiel}.} - {\usecounter{beispiel} - \setlength{\labelsep}{5mm} - \setlength{\rightmargin}{0pt} -}}{\end{list}} -\newcounter{uebungsaufgabe} -% environment fuer uebungsaufgaben -\newenvironment{uebungsaufgaben}{ -\begin{list}{\arabic{uebungsaufgabe}.} - {\usecounter{uebungsaufgabe} - \setlength{\labelwidth}{2cm} - \setlength{\leftmargin}{0pt} - \setlength{\labelsep}{5mm} - \setlength{\rightmargin}{0pt} - \setlength{\itemindent}{0pt} -}}{\end{list}\vfill\pagebreak} -\newenvironment{teilaufgaben}{ -\begin{enumerate} -\renewcommand{\labelenumi}{\alph{enumi})} -}{\end{enumerate}} -% Loesung -\NewEnviron{loesung}{% -\begin{proof}[Lösung]% -\renewcommand{\qedsymbol}{$\bigcirc$} -\BODY -\end{proof}} -\NewEnviron{bewertung}{\relax} -\NewEnviron{diskussion}{ -\BODY -} -\RenewEnviron{loesung}{\relax} -\RenewEnviron{diskussion}{\relax} -\newenvironment{hinweis}{% -\renewcommand{\qedsymbol}{} -\begin{proof}[Hinweis]}{\end{proof}} - -\begin{document} -{\parindent0pt\hbox to\hsize{% -Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} -\vspace{0.5cm} - -\section*{Kurztest 3} - -\begin{uebungsaufgaben} - -\item -\input chapters/60-gruppen/uebungsaufgaben/6001.tex -%\item -%\input chapters/60-gruppen/uebungsaufgaben/6002.tex - -\end{uebungsaufgaben} - -\end{document} -- cgit v1.2.1 From b5c1c9a3d95184caa09d9448e0fbeb6f103ca8eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 4 Jun 2021 17:14:15 +0200 Subject: add test problems --- buch/aufgaben1.tex | 13 +++++++++++++ buch/aufgaben2.tex | 11 +++++++++++ buch/aufgaben3.tex | 7 +++++++ 3 files changed, 31 insertions(+) create mode 100644 buch/aufgaben1.tex create mode 100644 buch/aufgaben2.tex create mode 100644 buch/aufgaben3.tex (limited to 'buch') diff --git a/buch/aufgaben1.tex b/buch/aufgaben1.tex new file mode 100644 index 0000000..9348019 --- /dev/null +++ b/buch/aufgaben1.tex @@ -0,0 +1,13 @@ +% +% aufgaben1.tex -- Aufgaben für Test 1 +% +% (c) 2012 Prof. Dr. Andreas Mueller, HSR +% + +\item +\input chapters/30-endlichekoerper/uebungsaufgaben/3003.tex +\item +\input chapters/30-endlichekoerper/uebungsaufgaben/3004.tex +\item +\input chapters/30-endlichekoerper/uebungsaufgaben/3005.tex + diff --git a/buch/aufgaben2.tex b/buch/aufgaben2.tex new file mode 100644 index 0000000..dc4fc59 --- /dev/null +++ b/buch/aufgaben2.tex @@ -0,0 +1,11 @@ +% +% aufgaben2.tex -- Aufgaben für Test 2 +% +% (c) 2021 Prof. Dr. Andreas Mueller, OST +% + +\item +\input chapters/40-eigenwerte/uebungsaufgaben/4004.tex +\item +\input chapters/40-eigenwerte/uebungsaufgaben/4005.tex + diff --git a/buch/aufgaben3.tex b/buch/aufgaben3.tex new file mode 100644 index 0000000..23c9153 --- /dev/null +++ b/buch/aufgaben3.tex @@ -0,0 +1,7 @@ +% +% aufgaben3.tex -- Aufgaben für Test 3 +% +% (c) 2021 Prof. Dr. Andreas Mueller, OST +% +\item +\input chapters/60-gruppen/uebungsaufgaben/6001.tex -- cgit v1.2.1 From 72c6e0954eb2acd262a7db6701ed1d04bb8943c5 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 8 Jun 2021 15:34:22 +0200 Subject: created Hilfstabellen.tex, reworked codebsp.tex --- buch/papers/reedsolomon/codebsp.tex | 94 ++++++++++++++++++++++--------- buch/papers/reedsolomon/hilfstabellen.tex | 21 +++++++ 2 files changed, 87 insertions(+), 28 deletions(-) create mode 100644 buch/papers/reedsolomon/hilfstabellen.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex index 5b67c43..818078e 100644 --- a/buch/papers/reedsolomon/codebsp.tex +++ b/buch/papers/reedsolomon/codebsp.tex @@ -8,19 +8,35 @@ \rhead{Koerper Festlegen} Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir die einzelnen Probleme und ihre Lösungen anhand eines Beispiels betrachten. -Da wir in Endlichen Körpern Rechnen werden wir zuerst solch ein Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. -Wir legen für unser Beispiel den endlichen Körper $q = 11$ fest. -Alle folgenden Berechnungen wurden mit den beiden Restetabellen \textcolor{red}{xx} und \textcolor{red}{yy} durchgeführt. -Aus den Tabellen folgt auch, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur Verfügung stehen. +Da wir in Endlichen Körpern Rechnen werden wir zuerst solch einen Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6 (wie verweist man auf eine definition?)} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. +Wir legen für unser Beispiel den endlichen Körper mit $q = 11$ fest. +Zur Hilfestellung können dazu die beiden Tabellen \ref{reedsolomon:subsection:adtab} und +\ref{reedsolomon:subsection:mptab} hinzugezogen werden. Diese Tabellen enthalten sämtliche Resultate aller gültigen Operationen \textcolor{red}{(Notiz: nach meinem Wissen gibt es ja nur addition und multiplikation als gültige operationen)}, die in diesem Körper durchgeführt werden können. +Aus der Definition der Endlichen Körper (ersichtlich auch in den Tabellen) folgt, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur verfügung stehen und somit $11 = 0$ gelten muss. + +% OLD TEXT +%Alle folgenden Berechnungen wurden mit den beiden Restetabellen \ref{reedsolomon:subsection:adtab} und \ref{reedsolomon:subsection:mptab} durchgeführt. +%Aus den Tabellen folgt auch, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur Verfügung stehen. % die beiden Restetabellen von F_11 %\input{papers/reedsolomon/restetabelle1} %\input{papers/reedsolomon/restetabelle2} -Die grösse des endlichen Körpers legt auch fest, wie gross unsere Nachricht $n$ bestehend aus Nutzdatenteil und Fehlerkorrekturteil sein kann und beträgt in unserem Beispiel +Anhand der Menge uns zur Verfügung stehenden Zahlen wird auch festgelegt, wie viele Zahlen ein Nachrichtenblock $n$, bestehend aus Nutzdatenteil und Fehlerkorrekturteil, umfassen kann. +Der Nachrichtenblock im Beispiel besteht aus \[ -n = q - 1 = 10 \text{ Zahlen}. +n = q - 1 = 10 \text{ Zahlen}, \] +wobei die null weggelassen wird. Wenn wir versuchen würden, mit der null zu codieren, so stellen wir fest, dass wir wieder null an der gleichen Stelle erhalten und somit wäre die Codierung nicht eindeutig. + +% Notes +%Da bei allen Codes, die codiert werden wird an der gleichen Stelle eine Nullstelle auftreten. + +% Old Text +%Die grösse des endlichen Körpers legt auch fest, wie gross unsere Nachricht $n$ bestehend aus Nutzdatenteil und Fehlerkorrekturteil sein kann und beträgt in unserem Beispiel +%\[ +%n = q - 1 = 10 \text{ Zahlen}. +%\] Im nächsten Schritt bestimmen wir, wie viele Fehler $t$ maximal während der Übertragung auftreten dürfen, damit wir sie noch korrigieren können. Unser Beispielcode sollte in der Lage sein @@ -29,41 +45,63 @@ t = 2 \] Fehlerstellen korrigieren zu können. -Die Grösse des Nutzdatenteils hängt von der Grösse der Nachricht sowie der Anzahl der Fehlerkorrekturstellen. Je robuster der Code sein muss, desto weniger Platz für Nutzdaten $k$ bleibt in der Nachricht übrig. +Die Grösse des Nutzdatenteils hängt von der Grösse des Nachrichtenblocks sowie der Anzahl der Fehlerkorrekturstellen ab. Je robuster der Code sein muss, desto weniger Platz für Nutzdaten $k$ bleibt in der Nachricht übrig. Bei maximal 2 Fehler können wir noch \[ k = n - 2t = 6\text{ Zahlen} \] übertragen. -Zusammenfassend haben wir einen Codeblock mit der Länge von 10 Zahlen definiert, der 6 Zahlen als Nutzlast beinhaltet und in der Lage ist aus 2 fehlerhafte Stellen im Block die ursprünglichen Nutzdaten rekonstruieren kann. Zudem werden wir im weiteren feststellen, dass dieser Code maximal 4 Fehlerstellen erkennen, diese aber nicht rekonstruieren kann. +Zusammenfassend haben wir einen Nachrichtenblock mit der Länge von 10 Zahlen definiert, der 6 Zahlen als Nutzlast beinhaltet und in der Lage ist aus 2 fehlerhafte Stellen im Block die ursprünglichen Nutzdaten zu rekonstruieren. Zudem werden wir im weiteren feststellen, dass dieser Code maximal vier Fehlerstellen erkennen, diese aber nicht rekonstruieren kann. Wir legen nun die Nachricht \[ m = [0,0,0,0,4,7,2,5,8,1] \] -fest, die wir gerne an einen Empfänger übertragen möchten, wobei die vorderen vier Nullstellen für die Fehlerkorrektur zuständig sind. -Die Nachricht können wir auch als Polynom +fest, die wir gerne an einen Empfänger übertragen möchten, wobei die vorderen vier Stellen für die Fehlerkorrektur zuständig sind. +Solange diese Stellen vor dem Codieren und nach dem Decodieren den Wert null haben, so ist die Nachricht Fehlerfrei übertragen worden. + +Da wir in den folgenden Abschnitten mit Polynomen arbeiten, stellen wir die Nachicht auch noch als Polynom \[ m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 \] -darstellen. +dar. + +% Old Text +%Die Nachricht können wir auch als Polynom +%\[ +%m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 +%\] +%darstellen. \subsection{Der Ansatz der diskreten Fouriertransformation \label{reedsolomon:subsection:diskFT}} -In einem vorherigen Kapitel (???) haben wir schon einmal die diskrete Fouriertransformation zum Codieren einer Nachricht verwendet. In den endlichen Körpern wird dies jedoch nicht gelingen, da die Eulerische Zahl $\mathrm{e}$ in $\mathbb{F}_{11}$ nicht existiert. -Wir suchen also eine Zahl $a^i$, die in endlichen Körpern existiert und den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken kann. -Dazu schreiben wir +In einem vorherigen Kapitel \textcolor{red}{(???)} haben wir schon einmal die diskrete Fouriertransformation zum Codieren einer Nachricht verwendet. In den endlichen Körpern wird dies jedoch nicht gelingen, da die Eulerische Zahl $e$ in endlichen Körpern nicht existiert. +Wir legen deshalb die Zahl $a$ fest. Diese Zahl soll die gleichen aufgaben haben, wie $e^{\frac{j}{2 \pi}}$ in der Diskreten Fouriertransformation, nur mit dem Unterschied, dass $a$ in $\mathbb{F}_{11}$ existiert. Dazu soll $a$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken, um \[ \mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\} \] -um in +in \[ \mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}. \] - -Wenn wir alle möglichen Werte für $a$ einsetzen, also +umzuschreiben. + +Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen + +% Old Text +%Wir suchen also eine Zahl $a$, die in endlichen Körpern existiert und den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken kann. +%Dazu schreiben wir +%\[ +%\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\} +%\] +%um in +%\[ +%\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}. +%\] +% +%Wenn wir alle möglichen Werte für $a$ einsetzen, also %\begin{align} %a = 0 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\} \\ @@ -94,21 +132,26 @@ $a = 9 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 9, 4, 3, 5, 1, 9, $a = 10 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\}$ \end{tabular} \end{center} +so fällt uns auf, dass für $a$ die Zahlen $2,6,7,8$ erhalten, die tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em Primitive Einheitswurzel \em genannt. +Wenden wir diese Vorgehensweise auch für andere Endliche Körper an, so werden wir sehen, dass wir immer mindestens zwei solcher Einheitswurzel finden werden. Somit ist es uns überlassen, eine dieser Einheitswurzeln auszuwählen, mit der wir weiter rechnen wollen. -so fällt uns auf, dass die Zahlen $2,6,7,8$ tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em Primitive Einheitswurzel \em genannt. Für das Beispiel wählen wir die Zahl $a^i = 8$. Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetzen. \begin{center} \begin{tabular}{c} - $m(8^0) = 4 \cdot 1 + 7 \cdot 1 + 2 \cdot 1 + 5 \cdot 1 + 8 \cdot 1 + 1 = 5$ \\ - $m(8^1) = 4 \cdot 8 + 7 \cdot 8 + 2 \cdot 8 + 5 \cdot 8 + 8 \cdot 8 + 1 = 3$ \\ - \vdots + $m(8^0) = 4 \cdot 1^5 + 7 \cdot 1^4 + 2 \cdot 1^3 + 5 \cdot 1^2 + 8 \cdot 1^1 + 1 = 5$ \\ + $m(8^1) = 4 \cdot 8^5 + 7 \cdot 8^4 + 2 \cdot 8^3 + 5 \cdot 8^2 + 8 \cdot 8^1 + 1 = 3$ \\ + \vdots \\ + $m(8^9) = 4 \cdot 7^5 + 7 \cdot 7^4 + 2 \cdot 7^3 + 5 \cdot 7^2 + 8 \cdot 7^1 + 1 = 4$ \end{tabular} \end{center} -Für eine elegantere Formulierung stellen wir das ganze als Matrix dar, wobei $m$ unser Nachrichtenvektor, $A$ die Transformationsmatrix und $v$ unser Übertragungsvektor ist. - + +\subsection{Allgemeine Codierung + \label{reedsolomon:subsection:algCod}} + +Für eine elegantere Formulierung stellen wir das ganze als Matrix dar, wobei $m$ unsere Nachricht, $A$ die Transformationsmatrix und $v$ unser Übertragungsvektor ist. \[ v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ @@ -127,13 +170,8 @@ v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ \end{pmatrix} \] - Somit bekommen wir für unseren Übertragungsvektor \[ v = [5,3,6,5,2,10,2,7,10,4], \] den wir jetzt über einen beliebigen Nachrichtenkanal versenden können. - -\textbf{NOTES} - -warum wird 0 weggelassen? diff --git a/buch/papers/reedsolomon/hilfstabellen.tex b/buch/papers/reedsolomon/hilfstabellen.tex new file mode 100644 index 0000000..10e4fd1 --- /dev/null +++ b/buch/papers/reedsolomon/hilfstabellen.tex @@ -0,0 +1,21 @@ +% +% hilfstabellen.tex +% Autor: Michael Steiner +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{$\mathbb{F}_{11}$ Hilfstabellen + \label{reedsolomon:section:hilfstabellen}} +\rhead{Hilfstabellen} + +\textbf{TODO}: gibt es eine besser darstellungsart der tabellen? (\& platzierung der subsections) + +Um das rechnen zu erleichtern findet man in diesem Abschnitt die Resultate, die bei der Addition und der Multiplikation in $\mathbb{F}_{11}$ resultieren. + +\subsection{Additionstabelle + \label{reedsolomon:subsection:adtab}} +\input{papers/reedsolomon/restetabelle1.tex} + +\subsection{Multiplikationstabelle + \label{reedsolomon:subsection:mptab}} +\input{papers/reedsolomon/restetabelle2.tex} \ No newline at end of file -- cgit v1.2.1 From d408309e04a27315a2ce8788872095334dbea183 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 8 Jun 2021 17:33:56 +0200 Subject: updated codebsp.tex and decohnefehler.tex --- buch/papers/reedsolomon/codebsp.tex | 24 ++++++++------ buch/papers/reedsolomon/decohnefehler.tex | 54 ++++++++++++++++++------------- 2 files changed, 46 insertions(+), 32 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex index 818078e..262297e 100644 --- a/buch/papers/reedsolomon/codebsp.tex +++ b/buch/papers/reedsolomon/codebsp.tex @@ -87,9 +87,6 @@ in \mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}. \] umzuschreiben. - -Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen - % Old Text %Wir suchen also eine Zahl $a$, die in endlichen Körpern existiert und den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken kann. %Dazu schreiben wir @@ -102,7 +99,6 @@ Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen %\] % %Wenn wir alle möglichen Werte für $a$ einsetzen, also - %\begin{align} %a = 0 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\} \\ %a = 1 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\} \\ @@ -117,6 +113,10 @@ Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen %a = 10 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\} %\end{align} +\subsubsection{Die primitiven Einheitswurzeln + \label{reedsolomon:subsection:primsqrt}} + +Wenn wir jetzt sämtliche Zahlen von $\mathbb{F}_{11}$ in $a$ einsetzen \begin{center} \begin{tabular}{c r c l} %$a = 0 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\}$ \\ @@ -133,11 +133,15 @@ $a = 10 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 10, 1, 10, 1, 10, \end{tabular} \end{center} so fällt uns auf, dass für $a$ die Zahlen $2,6,7,8$ erhalten, die tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em Primitive Einheitswurzel \em genannt. -Wenden wir diese Vorgehensweise auch für andere Endliche Körper an, so werden wir sehen, dass wir immer mindestens zwei solcher Einheitswurzel finden werden. Somit ist es uns überlassen, eine dieser Einheitswurzeln auszuwählen, mit der wir weiter rechnen wollen. +Wenden wir diese Vorgehensweise auch für andere Endliche Körper an, so werden wir sehen, dass wir immer mindestens zwei solcher Einheitswurzel finden werden. Somit ist es uns überlassen, eine dieser Einheitswurzeln auszuwählen, mit der wir weiter rechnen wollen. Für das Beispiel wählen wir die Zahl $a^i = 8$. -Für das Beispiel wählen wir die Zahl $a^i = 8$. -Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetzen. +\subsubsection{Bildung einer Transformationsmatrix + \label{reedsolomon:subsection:transMat}} +Mit der Wahl einer Einheitswurzel ist es uns jetzt möglich, unsere Nachricht zu Codieren. Daraus sollen wir dann einen Übertragungsvektor $v$ erhalten, den wir an den Empfänger schicken können. Für die Codierung müssen wir alle $a^i$ in das Polynom $m(X)$ einsetzen. Da wir $a^i = 8^i$ gewählt haben ergibt sich daraus +% +%Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetzen. +% \begin{center} \begin{tabular}{c} $m(8^0) = 4 \cdot 1^5 + 7 \cdot 1^4 + 2 \cdot 1^3 + 5 \cdot 1^2 + 8 \cdot 1^1 + 1 = 5$ \\ @@ -146,12 +150,12 @@ Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetz $m(8^9) = 4 \cdot 7^5 + 7 \cdot 7^4 + 2 \cdot 7^3 + 5 \cdot 7^2 + 8 \cdot 7^1 + 1 = 4$ \end{tabular} \end{center} - +unser Übertragungsvektor. Um das ganze noch ein wenig übersichtlicher zu gestalten können wir die Polynome zu einer Matrix zusammenfassen und bildet so unsere Transformationsmatrix $A$. \subsection{Allgemeine Codierung \label{reedsolomon:subsection:algCod}} -Für eine elegantere Formulierung stellen wir das ganze als Matrix dar, wobei $m$ unsere Nachricht, $A$ die Transformationsmatrix und $v$ unser Übertragungsvektor ist. +Für die Codierung benötigen wir die Nachricht $m$, die Codiert werden soll sowie die Transformationsmatrix $A$. Daraus erhalten wir den Übertragungsvektor $v$. Setzen wir die Zahlen aus dem Beispiel ein erhalten wir folgende Darstellung. \[ v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ @@ -170,7 +174,7 @@ v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ \end{pmatrix} \] -Somit bekommen wir für unseren Übertragungsvektor +Für unseren Übertragungsvektor resultiert \[ v = [5,3,6,5,2,10,2,7,10,4], \] diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex index 6ca577a..3b709f3 100644 --- a/buch/papers/reedsolomon/decohnefehler.tex +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -3,41 +3,50 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Decodierung ohne Fehler +\section{Decodierung: Ansatz ohne Fehler \label{reedsolomon:section:decohnefehler}} \rhead{fehlerlose rekonstruktion} -Im ersten Teil zur Decodierung des Übertragungsvektor betrachten wir den Übertragungskanal als fehlerfrei. -Wir erhalten also unseren Übertragungsvektor + +In diesem Abschnitt betrachten wie die Überlegung, wie wir auf der Empfängerseite die Nachricht aus dem empfangenen Übertragungsvektor erhalten. Nach einer einfachen Überlegung müssen wir den Übertragungsvektor decodieren, was auf den ersten Blick nicht allzu kompliziert sein sollte, solange wir davon ausgehen können, dass es während der Übertragung keine Fehler gegeben hat. Wir betrachten deshalb den Übertragungskanal als fehlerfrei. + +Der Übertragungsvektor empfangen wir also als \[ v = [5,3,6,5,2,10,2,7,10,4]. \] - -Gesucht ist nun einen Weg, mit dem wir auf unseren Nachrichtenvektor zurückrechnen können. -Ein banaler Ansatz ist das Invertieren der Glechung +% Old Text +%Im ersten Teil zur Decodierung des Übertragungsvektor betrachten wir den Übertragungskanal als fehlerfrei. +%Wir erhalten also unseren Übertragungsvektor +%\[ +%v = [5,3,6,5,2,10,2,7,10,4]. +%\] +Nach einem banalen Ansatz ist die Decodierung die Inverse der Codierung. Dank der Matrixschreibweise lässt sich dies relativ einfach umsetzen. +% Old Text +%Gesucht ist nun einen Weg, mit dem wir auf unseren Nachrichtenvektor zurückrechnen können. +%Ein banaler Ansatz ist das Invertieren der Glechung \[ -v = A \cdot m \qquad \Rightarrow \qquad m = A^{-1} \cdot v. +v = A \cdot m \qquad \Rightarrow \qquad m = A^{-1} \cdot v \] - -Nur stellt sich dann die Frage, wie wir auf die Inverse der Matix $A$ kommen. +Nur stellt sich jetzt die Frage, wie wir die Inverse von $A$ berechnen. Dazu können wir wiederum den Ansatz der Fouriertransformation uns zur Hilfe nehmen, jedoch betrachten wir jetzt deren Inverse. Definiert ist sie als \[ F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt \qquad \Rightarrow \qquad \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega. \] - -In unserem Fall suchen wir also eine inverse für die Primitive Einheitswurzel $a$, also +Damit beschäftigen wir uns im Abschnitt \ref{reedsolomon:subsection:algdec} weiter, konkret suchen wir momentan aber eine Inverse für unsere primitive Einheitswurzel $a$. \[ -8^1 \qquad \Rightarrow \qquad 8^{-1}. +8^1 \qquad \rightarrow \qquad 8^{-1} \] +Mit einem solchen Problem haben wir uns bereits in Abschnitt \ref{buch:section:euklid} befasst und so den euklidischen Algorithmus kennengelernt, den wir auf unseren Fall anwenden können. -Im Abschnitt \textcolor{red}{4.1} haben wir den euklidischen Algorithmus kennengelernt, den wir auf unseren Fall anwenden können. +% Old Text +%Im Abschnitt \textcolor{red}{4.1} haben wir den euklidischen Algorithmus kennengelernt, den wir auf unseren Fall anwenden können. -\subsection{Der Euklidische Algorithmus -\label{reedsolomon:subsection:eukAlgo}} +\subsection{Inverse der primitiven Einheitswurzel +\label{reedsolomon:subsection:invEinh}} -Die Funktionsweise des euklidischen Algorithmus ist im Kapitel \textcolor{red}{4.1} ausführlich beschrieben. -Für unsere Anwendung wählen wir die Parameter $a_i = 8$ und $b_i = 11$. +Die Funktionsweise des euklidischen Algorithmus ist im Kapitel \ref{buch:section:euklid} ausführlich beschrieben. +Für unsere Anwendung wählen wir die Parameter $a = 8$ und $b = 11$ ($\mathbb{F}_{11}$). Daraus erhalten wir \begin{center} @@ -67,20 +76,21 @@ Daraus erhalten wir \end{tabular} \end{center} +als Inverse der primitiven Einheitswurzel. Die inverse Transformationsmatrix $A^{-1}$ bilden wir indem wir jetzt die inverse primitive Einheitswurzel anstelle der primitiven Einheitswurzel in die Matrix einsetzen. -als Inverse der Primitiven Einheitswurzel. +\subsection{Allgemeine Decodierung + \label{reedsolomon:subsection:algdec}} -Nun haben wir fast alles für die Rücktransformation beisammen. Wie auch bei der Inversen Fouriertransformation haben wir nun einen Vorfaktor +Wir haben jetzt fast alles für eine erfolgreiche Rücktransformation beisammen. Wir haben aber noch nicht alle Aspekte der inversen diskreten Fouriertransformation befolgt, so fehlt uns noch einen Vorfaktor \[ m = \textcolor{red}{s} \cdot A^{-1} \cdot v \] den wir noch bestimmen müssen. -Glücklicherweise lässt der sich analog wie bei der Inversen Fouriertransformation bestimmen und beträgt +Glücklicherweise lässt der sich analog wie bei der inversen diskreten Fouriertransformation bestimmen und beträgt \[ s = \frac{1}{10}. \] -Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ ergibt. -Somit lässt sich der Nachrichtenvektor einfach bestimmen mit +Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ in $\mathbb{F}_{11}$ ergibt. Somit lässt sich der Nachrichtenvektor einfach bestimmen mit \[ m = 10 \cdot A^{-1} \cdot v \qquad \Rightarrow \qquad m = 10 \cdot \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ -- cgit v1.2.1 From 73d5c3d4df0f73e96c1bac2ae1ce3b4dfcdc9d90 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Thu, 10 Jun 2021 12:23:57 +0200 Subject: updated a lot --- buch/papers/reedsolomon/decmitfehler.tex | 292 +++++++++++++++++++--------- buch/papers/reedsolomon/endlichekoerper.tex | 6 +- buch/papers/reedsolomon/main.tex | 7 + buch/papers/reedsolomon/references.bib | 69 ++++--- buch/papers/reedsolomon/rekonstruktion.tex | 33 ++-- 5 files changed, 275 insertions(+), 132 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex index 923c1c5..db6e586 100644 --- a/buch/papers/reedsolomon/decmitfehler.tex +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -3,52 +3,109 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Decodierung mit Fehler +\section{Decodierung: Ansatz mit Fehlerkorrektur \label{reedsolomon:section:decmitfehler}} \rhead{fehlerhafte rekonstruktion} -Im zweiten Teil zur Decodierung betrachten wir den Fall, dass unser Übertragungskanal nicht fehlerfrei ist. -Wir legen daher den Fehlervektor +Bisher haben wir die Decodierung unter der Bedingung durchgeführt, dass der Übertragungsvektor fehlerlos versendet und empfangen wurde. +In der realen Welt müssen wir uns jedoch damit abfinden, dass kein Übertragungskanal garantiert fehlerfrei ist und das wir früher oder später mit Fehlern rechnen müssen. +Genau für dieses Problem wurden Fehler korrigierende Codes, wie der Reed-Solomon-Code, entwickelt. +In diesem Abschnitt betrachten wir somit die Idee der Fehlerkorrektur und wie wir diese auf unser Beispiel anwenden können. +Der Übertragungskanal im Beispiel weisst jetzt den Fehlervektor \[ u = [0, 0, 0, 3, 0, 0, 0, 0, 2, 0] \] -fest, den wir zu unserem Übertragungsvektor als Fehler dazu addieren und somit +auf. +Senden wir jetzt unser Übertragungsvektor $v$ durch diesen Kanal addiert sich der Fehlervektor $u$ auf unsere Übertragung und wir erhalten \begin{center} - -\begin{tabular}{c | c r } - $v$ & & $[5,3,6,5,2,10,2,7,10,4]$\\ - $u$ & $+$ & $[0,0,0,3,0,0,0,0,2,0]$\\ - \hline - $w$ & & $[5,3,6,8,2,10,2,7,1,4]$\\ -\end{tabular} - -% alternative design -%\begin{tabular}{c | c cccccccccccc } -% $v$ & & $[$&$5,$&$3,$&$6,$&$5,$&$2,$&$10,$&$2,$&$7,$&$10,$&$4$&$]$\\ -% $u$ & $+$ & $[$&$0,$&$0,$&$0,$&$3,$&$0,$&$0,$&$0,$&$0,$&$2,$&$0$&$]$\\ + + \begin{tabular}{c | c r } + $v$ & & $[5,3,6,5,2,10,2,7,10,4]$\\ + $u$ & $+$ & $[0,0,0,3,0,0,0,0,2,0]$\\ + \hline + $w$ & & $[5,3,6,8,2,10,2,7,1,4]$\\ + \end{tabular} + + % alternative design + %\begin{tabular}{c | c cccccccccccc } + % $v$ & & $[$&$5,$&$3,$&$6,$&$5,$&$2,$&$10,$&$2,$&$7,$&$10,$&$4$&$]$\\ + % $u$ & $+$ & $[$&$0,$&$0,$&$0,$&$3,$&$0,$&$0,$&$0,$&$0,$&$2,$&$0$&$]$\\ + % \hline + % $w$ & & $[$&$5,$&$3,$&$6,$&$8,$&$2,$&$10,$&$2,$&$7,$&$1,$&$4$&$]$\\ + %\end{tabular} + +\end{center} +als neuen, fehlerbehafteten Übertragungsvektor $w$ auf der Empfängerseite. +% Old Text +%In diesem Abschnitt gehen wir genauer darauf ein, wie der Reed-Solomon-Code eine solche Feherkorrektur vornimt. +% +%In diesem Abschnitt betrachten wir das Problem, dass während der Übertragung des Übertragungsvektors von unserem Beispiel +% +% +%Zu diesem Zweck wurden Fehler korrigierende Codes entwickelt. +% +%Dieser Optimalfall kann jedoch mit keinem Übertragungskanal garantiert werden +% +% +%Im zweiten Teil zur Decodierung betrachten wir den Fall, dass unser Übertragungskanal nicht fehlerfrei ist. +%Wir legen daher den Fehlervektor +%\[ +%u = [0, 0, 0, 3, 0, 0, 0, 0, 2, 0] +%\] +%fest, den wir zu unserem Übertragungsvektor als Fehler dazu addieren und somit +% +%\begin{center} +% +%\begin{tabular}{c | c r } +% $v$ & & $[5,3,6,5,2,10,2,7,10,4]$\\ +% $u$ & $+$ & $[0,0,0,3,0,0,0,0,2,0]$\\ % \hline -% $w$ & & $[$&$5,$&$3,$&$6,$&$8,$&$2,$&$10,$&$2,$&$7,$&$1,$&$4$&$]$\\ +% $w$ & & $[5,3,6,8,2,10,2,7,1,4]$\\ %\end{tabular} - -\end{center} -als Übertragungsvektor auf der Empfängerseite erhalten. - -Wenn wir den Übertragungsvektor jetzt Rücktransformieren wie im vorherigen Kapitel erhalten wir +% +%% alternative design +%%\begin{tabular}{c | c cccccccccccc } +%% $v$ & & $[$&$5,$&$3,$&$6,$&$5,$&$2,$&$10,$&$2,$&$7,$&$10,$&$4$&$]$\\ +%% $u$ & $+$ & $[$&$0,$&$0,$&$0,$&$3,$&$0,$&$0,$&$0,$&$0,$&$2,$&$0$&$]$\\ +%% \hline +%% $w$ & & $[$&$5,$&$3,$&$6,$&$8,$&$2,$&$10,$&$2,$&$7,$&$1,$&$4$&$]$\\ +%%\end{tabular} +% +%\end{center} +%als Übertragungsvektor auf der Empfängerseite erhalten. +Wir jetzt als Empfänger wissen jedoch nicht, dass der erhaltene Übertragungsvektor jetzt fehlerbehaftet ist und werden dementsprechend den Ansatz aus Abschnitt \ref{reedsolomon:section:decohnefehler} anwenden. +Wir stellen jedoch recht schnell fest, dass am decodierten Nachrichtenblock \[ -r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]. +r = [\underbrace{5,7,4,10,}_{\text{Syndrom}}5,4,5,7,6,7]. \] -Im Vergleich zum vorherigen Kapitel sind die Fehlerkorrekturstellen jetzt $\neq 0$, was bedeutet, dass wir diesen Übertragungsvektor fehlerhaft empfangen haben und sich die Nachricht jetzt nicht mehr so einfach decodieren lässt. +etwas nicht in Ordnung ist, denn die vorderen vier Fehlerkorrekturstellen haben nicht mehr den Wert null. +Der Nachrichtenblock weisst jetzt ein \em Syndrom \em auf, welches anzeigt, dass der Übertragungsvektor fehlerhaft empfangen wurde. +% Old Text +%Wenn wir den Übertragungsvektor jetzt Rücktransformieren wie im vorherigen Kapitel erhalten wir +%\[ +%r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]. +%\] +Jetzt stellt sich natürlich die Frage, wie wir daraus den ursprünglich gesendeten Nachrichtenvektor zurückerhalten sollen. Laut der Definition über die Funktionsweise eines Reed-Solomon-Codes können wir aus den Fehlerkorrekturstellen ein ``Lokatorpolynom'' berechnen, welches die Information enthält, welche stellen innerhalb des empfangenen Übertragungsvektors fehlerhaft sind. -% warum wir die fehler suchen -Da Reed-Solomon-Codes in der Lage sind, eine Nachricht aus weniger Stellen zu rekonstruieren als wir ursprünglich haben, so müssen wir nur die Fehlerhaften Stellen finden und eliminieren, damit wir unsere Nutzdaten rekonstruieren können. -Damit stellt sich die Frage, wie wir die Fehlerstellen $e$ finden. -Dafür wählen wir einen Primitiven Ansatz mit -\begin{align} - m(X) & = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 \\ - r(X) & = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7 \\ - e(X) & = r(X) - m(X). -\end{align} -Setzen wir jetzt unsere Einheitswurzel für $X$ ein, so erhalten wir +\subsection{Das Fehlerstellenpolynom $d(X)$ + \label{reedsolomon:subsection:fehlerpolynom}} +Bevor wir unser Lokatorpolynom berechnen können, müssen wir zuerst eine Möglichkeit finden, die Fehlerhaften von den Korrekten Stellen im Übertragungsvektor unterscheiden zu können. In einem ersten Versuch könnten wir $d$ berechnen mit +\begin{center} +\begin{tabular}{r c l} + $m(X)$ & $=$ & $4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ \\ + $r(X)$ & $=$ & $5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ \\ + $d(X)$ & $=$ & $r(X) - m(X)$. +\end{tabular} +\end{center} +TODO (rewrite sentence): Dies wird uns zwar andere sorgen wegen $m(X)$ bereiten, \textcolor{red}{die werden wir jedoch zu einem späteren Zeitpunkt betrachten (todo: verweis auf kapitel?)}. +Setzen wir jetzt noch unsere Einheitswurzel aus dem Beispiel ein so erhalten wir +% Old Text +%\begin{align} +% m(X) & = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 \\ +% r(X) & = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7 \\ +% e(X) & = r(X) - m(X). +%\end{align} +%Setzen wir jetzt unsere Einheitswurzel für $X$ ein, so erhalten wir \begin{center} \begin{tabular}{c c c c c c c c c c c} \hline @@ -56,80 +113,137 @@ Setzen wir jetzt unsere Einheitswurzel für $X$ ein, so erhalten wir \hline $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ - $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + $d(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ \hline \end{tabular} \end{center} -und damit die Information, dass an allen Stellen, die nicht Null sind, Fehler enthalten. -Um jetzt alle nicht Nullstellen zu finden, wenden wir den Satz von Fermat an. +und damit die Information, dass allen Stellen, die nicht Null sind, Fehler enthalten. +Aus der Tabelle lesen wir, das in unserem Beispiel die Fehler an der Stelle drei und acht zu finden sind. + +Für das einfache Bestimmen von Hand mag dies ja noch ausreichen, jedoch können wir mit diesen Stellen nicht das Lokatorpolynom bestimmen, denn dafür bräuchten wir alle Nullstellen, an denen es Fehler gegeben hat (also sozusagen genau das umgekehrte). Um dies zu erreichen wenden wir eine andere Herangehensweise und nehmen uns den Satz von Fermat sowie den kleinsten gemeinsamen Teiler zur Hilfe. -\subsection{Der Satz von Fermat -\label{reedsolomon:subsection:fermat}} -Der Satz von Fermat besagt, dass für +\subsection{Mit dem grössten gemeinsamen Teiler auf Nullstellenjagd +\label{reedsolomon:subsection:ggT}} + +Zuerst betrachten wir mal den Satz von Fermat deren Funktionsweise wir in Abschnitt \ref{buch:section:galoiskoerper} kennengelernt haben. Der besagt, dass für \[ f(X) = X^{q-1} -1 = 0 \] -gilt, egal was wir für $q$ einsetzen. - -Für unser Beispiel erhalten wir +wobei dies für jedes $q$ gilt. Setzen wir also das $q$ von unserem Beispiel ein \[ f(X) = X^{10}-1 = 0 \qquad \text{für } X = \{1,2,3,4,5,6,7,8,9,10\} \] -und können $f(X)$ auch umschreiben in +und stellen dies als Nullstellenform (\textcolor{red}{richtiger name für die Schreibweise?}) dar. So ergibt sich die Darstellung \[ f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9). \] Zur Überprüfung können wir unsere Einheitswurzel in $a$ einsetzen und werden sehen, dass wir für $f(X) = 0$ erhalten werden. -Nach der gleichen Überlegung können wir jetzt auch $e(X)$ darstellen als + +Wir können jetzt auch $d(X)$ nach der gleichen Überlegung darstellen als \[ -e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6)(X-a^7) \qquad \qquad (X-a^9) \cdot p(x), +d(X) = (X-a^0)(X-a^1)(X-a^2)\textcolor{gray!40}{(X-a^3)}(X-a^4)(X-a^5)(X-a^6)(X-a^7)\textcolor{gray!40}{(X-a^8)}(X-a^9) \cdot p(x), \] -wobei $p(X)$ das Restpolynom ist und die Fehlerstellen beinhaltet. -Wenn wir jetzt den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen, so erhalten wir mit +wobei diese Darstellung nicht mehr alle Nullstellen umfasst wie es noch in $f(X)$ der Fall war. +Dies liegt daran, dass wir ja zwei Fehlerstellen (grau markiert) haben, die nicht Null sind. Diese fassen wir zum Restpolynom $p(X)$ (\textcolor{red}{eventuell farblich kennzeichnen?}) zusammen. +Wenn wir jetzt den grössten gemeinsamen Teiler von $f(X)$ und $d(X)$ berechnen, so erhalten wir mit \[ -\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6)(X-a^7) \qquad \qquad (X-a^9) +\operatorname{ggT}(f(X),d(X)) = (X-a^0)(X-a^1)(X-a^2)\textcolor{gray!40}{(X-a^3)}(X-a^4)(X-a^5)(X-a^6)(X-a^7)\textcolor{gray!40}{(X-a^8)}(X-a^9) \] eine Liste von Nullstellen, an denen es keine Fehler gegeben hat. -Da wir uns jedoch für eine Liste mit Nullstellen interessieren, an denen es Fehler gegeben hat berechnen wir stattdessen das kgV von $f(X)$ und $e(X)$ als +Dies scheint zuerst nicht sehr hilfreich zu sein, da wir für das Lokatorpolynom ja eine Liste der Nullstellen suchen, an denen es Fehler gegeben hat. Aus diesem Grund berechnen wir im nächsten Schritt das kleinste gemeinsame Vielfache von $f(X)$ und $d(X)$. + +%Wir werden auch feststellen, das unsere Bemühungen bisher nicht umsonst waren. + +\subsection{Mit dem kgV fehlerhafte Nullstellen finden + \label{reedsolomon:subsection:kgV}} + +Das kgV hat nämlich die Eigenschaft sämtliche Nullstellen zu finden, also nicht nur die fehlerhaften sondern auch die korrekten, was in \[ -\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9) \cdot q(X). +\operatorname{kgV}(f(X),d(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9) \cdot q(X). \] -Wir können das Resultat noch zerlegen in +ersichtlich ist. +Aus dem vorherigen Abschnitt wissen wir auch, dass $d(X)$ alle korrekten Nullstellen beinhaltet. Teilen wir das kgV jetzt auf in \[ -\operatorname{kgV}(f(X),e(X)) = d(X) \cdot e(X). +\operatorname{kgV}(f(X),d(X)) = d(X) \cdot l(X) \] -Somit muss $d(X)$ eine Liste von Nullstellen enthalten an denen es Fehler gegeben hat. +sollten wir für $l(X)$ eine Liste mit allen fehlerhaften Nullstellen erhalten. +Somit ist \[ -d(X) = (X-a^3)(X-a^8) +l(X) = (X-a^3)(X-a^8) \] +unser gesuchtes Lokatorpolynom. +Es scheint so als müssten wir nur noch an den besagten Stellen den Übertragungsvektor korrigieren und wir währen fertig mit der Fehlerkorrektur. +Jedoch haben wir noch ein grundlegendes Problem, dass zu beginn aufgetaucht ist, wir aber beiseite geschoben haben. Die Rede ist natürlich vom Nachrichtenvektor $m(X)$, mit dem wir in erster Linie das wichtige Fehlerstellenpolynom $d(X)$ berechnet haben. +\subsection{Der problematische Nachrichtenvektor $m(X)$ + \label{reedsolomon:subsection:nachrichtenvektor}} -und ist damit unser gesuchtes Lokatorpolynom. - -Das einzige Problem was jetzt noch bleibt ist, dass wir $e(X)$ berechnet haben aus +In Abschnitt \ref{reedsolomon:section:decmitfehler} haben wir \[ -e(X) = r(X) - m(X), +d(X) = r(X) - m(X) \] -wobei $m(X)$ auf der Empfängerseite unbekannt ist. -Es sieht danach aus, das wir diesen Lösungsansatz nicht verwenden können, da uns ein entscheidender Teil fehlt. -Bei einer näheren Betrachtung von $m(X)$ fällt uns aber auf, dass wir doch etwas über $m(X)$ wissen. -Wir kennen nämlich die ersten vier Stellen, da diese für die Fehlerkorrektur zuständig sind und daher Null sein müssen. +in Abhängigkeit von $m(X)$ berechnet. +Jedoch haben wir ausser acht gelassen, dass $m(X)$ auf der Empfängerseite nicht existiert und somit gänzlich unbekannt ist. +Es scheint so als würde dieser Lösungsansatz, den wir bisher verfolgt haben, nicht funktioniert. +Wir könnten uns höchstens noch fragen, ob wir tatsächlich nichts über den Nachrichtenvektor im Beispiel wissen. Wenn wir noch einmal den Vektor betrachten als \[ -m = [0,0,0,0,?,?,?,?,?,?] +m = [0,0,0,0,4,7,2,5,8,1] \] -An genau diesen Stellen liegt auch die Information, wo unsere Fehlerstellen liegen, was uns ermöglicht, den Teil von $e(X)$ zu berechnen, der uns auch interessiert. - -Wir können $e(X)$ also bestimmen als +fällt uns aber auf, dass wir doch etwas über diesen Vektor wissen, nämlich den Wert der ersten 2t (im Beispiel vier) stellen. +Im Normalfall sollen diese nämlich den Wert null betragen und somit sind nur die letzten k stellen (im Beispiel sechs) für uns unbekannt, dargestellt als \[ -e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X) +m = [0,0,0,0,?,?,?,?,?,?]. \] -wobei $p(X)$ wiederum ein unbekanntes Restpolynom ist und +Wie der Zufall es so will liegt an diesen vier Stellen auch die Information, wo die Fehlerstellen liegen. Daher reicht es auch aus +% darum werden die stellen auch als fehlerkorrekturstellen bezeichnet \[ -f(X) = X^{10} - 1 = X^{10} + 10 +d(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X) \] -ist können wir so in einer ersten Instanz den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen. -Dafür nehmen wir uns wiederum den Euklidischen Algorithmus zur Hilfe und berechnen so +so zu berechnen, dass wir die wichtigen vier Stellen kennen, der Rest des Polynoms jedoch im unbekannten Restpolynom $p(X)$ enthalten ist. + +\textcolor{red}{ist das wechseln zwischen 2t,k aus dem allgemeinfall und vier,sechs aus dem beispiel zu verwirrend?} + +\subsection{Die Berechnung der Fehlerstellen + \label{reedsolomon:subsection:nachrichtenvektor}} + +Um die Fehlerstellen zu berechnen wenden wir die gleiche Vorgehensweise wie zuvor an, also zuerst den ggT, danach berechnen wir das kgV um am Ende das Lokatorpolynom zu erhalten. + +\subsubsection{Schritt 1: ggT} +Wir berechnen den ggT von $f(X)$ und $d(X)$ mit +\begin{center} +\begin{tabular}{r c l} + $f(X)$ & $=$ & $X^{10} - 1 = X^{10} + 10$ \\ + $d(X)$ & $=$ & $5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$ +\end{tabular} +\end{center} +% +% +% +%Das einzige Problem was jetzt noch bleibt ist, dass wir $e(X)$ berechnet haben aus +%\[ +%e(X) = r(X) - m(X), +%\] +%wobei $m(X)$ auf der Empfängerseite unbekannt ist. +%Es sieht danach aus, das wir diesen Lösungsansatz nicht verwenden können, da uns ein entscheidender Teil fehlt. +%Bei einer näheren Betrachtung von $m(X)$ fällt uns aber auf, dass wir doch etwas über $m(X)$ wissen. +%Wir kennen nämlich die ersten vier Stellen, da diese für die Fehlerkorrektur zuständig sind und daher Null sein müssen. +%\[ +%m = [0,0,0,0,?,?,?,?,?,?] +%\] +%An genau diesen Stellen liegt auch die Information, wo unsere Fehlerstellen liegen, was uns ermöglicht, den Teil von $e(X)$ zu berechnen, der uns auch interessiert. +% +%Wir können $e(X)$ also bestimmen als +%\[ +%e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X) +%\] +%wobei $p(X)$ wiederum ein unbekanntes Restpolynom ist und +%\[ +%f(X) = X^{10} - 1 = X^{10} + 10 +%\] +%ist können wir so in einer ersten Instanz den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen. +%Dafür nehmen wir uns wiederum den Euklidischen Algorithmus zur Hilfe und berechnen so +% \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -151,11 +265,16 @@ Dafür nehmen wir uns wiederum den Euklidischen Algorithmus zur Hilfe und berech \] und erhalten \[ -\operatorname{ggT}(f(X),e(X)) = 6X^8 +\operatorname{ggT}(f(X),e(X)) = 6X^8. \] -Mit den Resultaten, die wir vom Rechenweg des grössten gemeinsamen Teiler erhalten haben können wir jetzt auch das kleinste Gemeinsame Vielfache berechnen. Eine detailliertere Vorgehensweise findet man in Kapitel ???. -Aus diesem erweiterten Euklidischen Algorithmus erhalten wir +\subsubsection{Schritt 2: kgV} + +Mit dem Resultat das wir vom ggT erhalten haben können wir jetzt das kgV berechnen. Dazu können wir jetzt den erweiterten Euklidischen Algorithmus verwenden, den wir in Abschnitt \ref{buch:subsection:daskgv} kennengelernt haben. +% +%Mit den Resultaten, die wir vom Rechenweg des grössten gemeinsamen Teiler erhalten haben können wir jetzt auch das kleinste Gemeinsame Vielfache berechnen. Eine detailliertere Vorgehensweise findet man in Kapitel ???. +% +%Aus diesem erweiterten Euklidischen Algorithmus erhalten wir \begin{center} \begin{tabular}{| c | c | c c |} @@ -170,28 +289,23 @@ Aus diesem erweiterten Euklidischen Algorithmus erhalten wir \end{tabular} \end{center} -und erhalten auf diesem Weg den Faktor +Daraus erhalten wir die Faktoren \[ -d(X) = 2X^2 + 5, +l(X) = 2X^2 + 5 \qquad \rightarrow \qquad l(X) = 2(X-5)(X-6). \] -den wir in +Unser gesuchtes Lokatorpolynom hat also die Form \[ -d(X) = 2(X-5)(X-6) +l(X) = (X-a^i)(X-a^j). \] -zerlegen können. -Da die unbekannten Stellen im Lokatorpolynom -\[ -d(X) = (X-a^i)(X-a^i) -\] -sind, müssen wir nur noch $i$ berechnen als +Also brauchen wir nur noch $i$ und $j$ zu berechnen und wir haben unsere gesuchten Fehlerstellen. +Diese bekommen wir recht einfach mit \begin{center} $a^i = 5 \qquad \Rightarrow \qquad i = 3$ - $a^i = 6 \qquad \Rightarrow \qquad i = 8$. + $a^j = 6 \qquad \Rightarrow \qquad j = 8$. \end{center} - -Somit erhalten wir schliesslich +Schlussendlich erhalten wir \[ d(X) = (X-a^3)(X-a^8) \] -als unser Lokatorpolynom mit den Fehlerhaften Stellen. \ No newline at end of file +als unser Lokatorpolynom mit den fehlerhaften Stellen. diff --git a/buch/papers/reedsolomon/endlichekoerper.tex b/buch/papers/reedsolomon/endlichekoerper.tex index 8ccd918..146067a 100644 --- a/buch/papers/reedsolomon/endlichekoerper.tex +++ b/buch/papers/reedsolomon/endlichekoerper.tex @@ -7,9 +7,9 @@ \label{reedsolomon:section:endlichekoerper}} \rhead{Problemstellung} -TODO: +\textcolor{red}{TODO: (warten auf den 1. Teil)} -Das rechnen in endlichen Körpern bietet einige Vorteile: +Das Rechnen in endlichen Körpern bietet einige Vorteile: \begin{itemize} \item Konkrete Zahlen: In endlichen Körpern gibt es weder rationale noch komplexe Zahlen. Zudem beschränken sich die möglichen Rechenoperationen auf das Addieren und Multiplizieren. Somit können wir nur ganze Zahlen als Resultat erhalten. @@ -20,4 +20,4 @@ Das rechnen in endlichen Körpern bietet einige Vorteile: Um jetzt eine Nachricht in den endlichen Körpern zu konstruieren legen wir fest, dass diese Nachricht aus einem Nutzdatenteil und einem Fehlerkorrekturteil bestehen muss. Somit ist die zu übertragende Nachricht immer grösser als die Daten, die wir übertragen wollen. Zudem müssen wir einen Weg finden, den Fehlerkorrekturteil so aus den Nutzdaten zu berechnen, dass wir die Nutzdaten auf der Empfängerseite wieder rekonstruieren können, sollte es zu einer fehlerhaften Übertragung kommen. -Nun stellt sich die Frage, wie wir eine Fehlerhafte Nachricht korrigieren können, ohne ihren ursprünglichen Inhalt zu kennen. Der Reed-Solomon-Code erzielt dies, indem aus dem Fehlerkorrekturteil ein sogenanntes "Lokatorpolynom" generiert werden kann. Dieses Polynom gibt dem Emfänger an, welche Stellen in der Nachricht feherhaft sind. +Nun stellt sich die Frage, wie wir eine fehlerhafte Nachricht korrigieren können, ohne ihren ursprünglichen Inhalt zu kennen. Der Reed-Solomon-Code erzielt dies, indem aus dem Fehlerkorrekturteil ein sogenanntes ``Lokatorpolynom'' generiert werden kann. Dieses Polynom gibt dem Emfänger an, welche Stellen in der Nachricht feherhaft sind. diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index a7485cd..9822d25 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -39,6 +39,13 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren \input{papers/reedsolomon/decohnefehler} \input{papers/reedsolomon/decmitfehler} \input{papers/reedsolomon/rekonstruktion} +\input{papers/reedsolomon/hilfstabellen} +%\input{papers/reedsolomon/glossar} -> geplant zur besseren orientierung +%\input{papers/reedsolomon/anwendungen} -> geplant + +\nocite{reedsolomon:weitz} +\nocite{reedsolomon:informationkommunikation} +%\nocite{reedsolomon:mendezmueller} \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/reedsolomon/references.bib b/buch/papers/reedsolomon/references.bib index 38613bd..4c1d17a 100644 --- a/buch/papers/reedsolomon/references.bib +++ b/buch/papers/reedsolomon/references.bib @@ -4,32 +4,53 @@ % (c) 2020 Autor, Hochschule Rapperswil % -@online{reedsolomon:bibtex, - title = {BibTeX}, - url = {https://de.wikipedia.org/wiki/BibTeX}, - date = {2020-02-06}, - year = {2020}, - month = {2}, - day = {6} +@online{reedsolomon:weitz, + title = {Fehlerkorrektur mit Reed-Solomon-Codes}, + url = {https://youtu.be/uOLW43OIZJ0}, + date = {2021-06-10}, + year = {2021}, + month = {6}, + day = {10} } -@book{reedsolomon:numerical-analysis, - title = {Numerical Analysis}, - author = {David Kincaid and Ward Cheney}, - publisher = {American Mathematical Society}, - year = {2002}, - isbn = {978-8-8218-4788-6}, - inseries = {Pure and applied undegraduate texts}, - volume = {2} -} +% https://link.springer.com/chapter/10.1007%2F978-3-8351-9077-1_9 -@article{reedsolomon:mendezmueller, - author = { Tabea Méndez and Andreas Müller }, - title = { Noncommutative harmonic analysis and image registration }, - journal = { Appl. Comput. Harmon. Anal.}, - year = 2019, - volume = 47, - pages = {607--627}, - url = {https://doi.org/10.1016/j.acha.2017.11.004} +@book{reedsolomon:informationkommunikation, + title = {Information und Kommunikation}, + author = {Markus Hufschmid}, + publisher = {Teubner}, + year = {2007}, + isbn = {978-3-8351-0122-7}, + inseries = {}, + volume = {1} } +% Beispiele +%@online{reedsolomon:bibtex, +% title = {BibTeX}, +% url = {https://de.wikipedia.org/wiki/BibTeX}, +% date = {2020-02-06}, +% year = {2020}, +% month = {2}, +% day = {6} +%} +% +%@book{reedsolomon:numerical-analysis, +% title = {Numerical Analysis}, +% author = {David Kincaid and Ward Cheney}, +% publisher = {American Mathematical Society}, +% year = {2002}, +% isbn = {978-8-8218-4788-6}, +% inseries = {Pure and applied undegraduate texts}, +% volume = {2} +%} +% +%@article{reedsolomon:mendezmueller, +% author = { Tabea Méndez and Andreas Müller }, +% title = { Noncommutative harmonic analysis and image registration }, +% journal = { Appl. Comput. Harmon. Anal.}, +% year = 2019, +% volume = 47, +% pages = {607--627}, +% url = {https://doi.org/10.1016/j.acha.2017.11.004} +%} \ No newline at end of file diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex index 8cb7744..89a700f 100644 --- a/buch/papers/reedsolomon/rekonstruktion.tex +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -1,24 +1,25 @@ % -% teil3.tex -- Beispiel-File für Teil 3 +% rekonstruktion.tex +% Autor: Michael Steiner % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{Nachricht Rekonstruieren \label{reedsolomon:section:rekonstruktion}} \rhead{Rekonstruktion} -Im letzten Kapitel haben wir eine Möglichkeit gefunden, wie wir die Fehlerhaften Stellen lokalisieren können. +Im letzten Kapitel haben wir eine Möglichkeit gefunden, wie wir die fehlerhaften Stellen lokalisieren können. Mit diesen Stellen soll es uns nun möglich sein, aus dem fehlerhaften empfangenen Nachrichtenvektor wieder unsere Nachricht zu rekonstruieren. Das Lokatorpolynom \[ -d(X) = (X - a^3)(X-a^8) +l(X) = (X - a^3)(X-a^8) \] -markiert dabei diese Fehlerhaften Stellen im Übertragungsvektor +markiert dabei diese fehlerhaften Stellen im Übertragungsvektor \[ w = [5,3,6,8,2,10,2,7,1,4]. \] Als Ausgangslage verwenden wir die Matrix, mit der wir den Nachrichtenvektor ursprünglich codiert haben. -Unser Ziel ist es wie auch schon im Kapitel X.X (Rekonstuktion ohne Fehler) eine Möglichkeit zu finden, wie wir den Übertragungsvektor decodieren können. -Aufgrund der Fehlerstellen müssen wir aber davon ausgehen, das wir nicht mehr den gleichen Weg verfolgen können wie wir im Kapitel X.X angewendet haben. +Unser Ziel ist es wie auch schon im Abschnitt \ref{reedsolomon:section:decohnefehler} eine Möglichkeit zu finden, wie wir den Übertragungsvektor decodieren können. +Aufgrund der Fehlerstellen müssen wir aber davon ausgehen, das wir nicht mehr den gleichen Weg verfolgen können wie wir im Abschnitt \ref{reedsolomon:section:decohnefehler} angewendet haben. Wir stellen also die Matrix auf und markieren gleichzeitig die Fehlerstellen. \[ @@ -82,21 +83,21 @@ Wir kennen aber das Resultat aus den letzten vier Spalten, da wir wissen, das di \end{pmatrix} = \begin{pmatrix} - 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}\\ - 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor{green}{8^6}& \textcolor{green}{8^7}& \textcolor{green}{8^8}& \textcolor{green}{8^9}\\ - 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor{green}{8^{12}}& \textcolor{green}{8^{14}}& \textcolor{green}{8^{16}}& \textcolor{green}{8^{18}}\\ - 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor{green}{8^{24}}& \textcolor{green}{8^{28}}& \textcolor{green}{8^{32}}& \textcolor{green}{8^{36}}\\ - 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor{green}{8^{30}}& \textcolor{green}{8^{35}}& \textcolor{green}{8^{40}}& \textcolor{green}{8^{45}}\\ - 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor{green}{8^{36}}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{48}}& \textcolor{green}{8^{54}}\\ - 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{49}}& \textcolor{green}{8^{56}}& \textcolor{green}{8^{63}}\\ - 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor{green}{8^{54}}& \textcolor{green}{8^{63}}& \textcolor{green}{8^{72}}& \textcolor{green}{8^{81}}\\ + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor{darkgreen}{8^0}& \textcolor{darkgreen}{8^0}& \textcolor{darkgreen}{8^0}& \textcolor{darkgreen}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor{darkgreen}{8^6}& \textcolor{darkgreen}{8^7}& \textcolor{darkgreen}{8^8}& \textcolor{darkgreen}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor{darkgreen}{8^{12}}& \textcolor{darkgreen}{8^{14}}& \textcolor{darkgreen}{8^{16}}& \textcolor{darkgreen}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor{darkgreen}{8^{24}}& \textcolor{darkgreen}{8^{28}}& \textcolor{darkgreen}{8^{32}}& \textcolor{darkgreen}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor{darkgreen}{8^{30}}& \textcolor{darkgreen}{8^{35}}& \textcolor{darkgreen}{8^{40}}& \textcolor{darkgreen}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor{darkgreen}{8^{36}}& \textcolor{darkgreen}{8^{42}}& \textcolor{darkgreen}{8^{48}}& \textcolor{darkgreen}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor{darkgreen}{8^{42}}& \textcolor{darkgreen}{8^{49}}& \textcolor{darkgreen}{8^{56}}& \textcolor{darkgreen}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor{darkgreen}{8^{54}}& \textcolor{darkgreen}{8^{63}}& \textcolor{darkgreen}{8^{72}}& \textcolor{darkgreen}{8^{81}}\\ \end{pmatrix} \cdot \begin{pmatrix} - m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor{green}{m_6} \\ \textcolor{green}{m_7} \\ \textcolor{green}{m_8} \\ \textcolor{green}{m_9} \\ + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor{darkgreen}{m_6} \\ \textcolor{darkgreen}{m_7} \\ \textcolor{darkgreen}{m_8} \\ \textcolor{darkgreen}{m_9} \\ \end{pmatrix} \] -Wir nehmen die Entsprechenden Spalten aus der Matrix heraus und erhalten so das Überbestimmte Gleichungssystem +Wir nehmen die entsprechenden Spalten aus der Matrix heraus und erhalten so das Überbestimmte Gleichungssystem \[ \begin{pmatrix} 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor{red}{7} \\ \textcolor{red}{4} \\ -- cgit v1.2.1 From 82672c8b82f0d082daa05cfc212a1b05a7f79650 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Thu, 10 Jun 2021 15:22:44 +0200 Subject: hilfstabellen updated --- buch/papers/reedsolomon/hilfstabellen.tex | 2 - buch/papers/reedsolomon/restetabelle1.tex | 190 ++++++++++++++++++++++++++--- buch/papers/reedsolomon/restetabelle2.tex | 192 ++++++++++++++++++++++++++---- 3 files changed, 343 insertions(+), 41 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/hilfstabellen.tex b/buch/papers/reedsolomon/hilfstabellen.tex index 10e4fd1..4e39de5 100644 --- a/buch/papers/reedsolomon/hilfstabellen.tex +++ b/buch/papers/reedsolomon/hilfstabellen.tex @@ -8,8 +8,6 @@ \label{reedsolomon:section:hilfstabellen}} \rhead{Hilfstabellen} -\textbf{TODO}: gibt es eine besser darstellungsart der tabellen? (\& platzierung der subsections) - Um das rechnen zu erleichtern findet man in diesem Abschnitt die Resultate, die bei der Addition und der Multiplikation in $\mathbb{F}_{11}$ resultieren. \subsection{Additionstabelle diff --git a/buch/papers/reedsolomon/restetabelle1.tex b/buch/papers/reedsolomon/restetabelle1.tex index a5055c0..3969ef2 100644 --- a/buch/papers/reedsolomon/restetabelle1.tex +++ b/buch/papers/reedsolomon/restetabelle1.tex @@ -1,24 +1,176 @@ % created by Michael Steiner % % Restetabelle von F_11: Addition -\begin{figure} + +% alternatives design +%\begin{figure} +%\begin{center} +%\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +%\hline +%+&0&1&2&3&4&5&6&7&8&9&10\\ +%\hline +%0&0&1&2&3&4&5&6&7&8&9&10\\ +%1&1&2&3&4&5&6&7&8&9&10&0\\ +%2&2&3&4&5&6&7&8&9&10&0&1\\ +%3&3&4&5&6&7&8&9&10&0&1&2\\ +%4&4&5&6&7&8&9&10&0&1&2&3\\ +%5&5&6&7&8&9&10&0&1&2&3&4\\ +%6&6&7&8&9&10&0&1&2&3&4&5\\ +%7&7&8&9&10&0&1&2&3&4&5&6\\ +%8&8&9&10&0&1&2&3&4&5&6&7\\ +%9&9&10&0&1&2&3&4&5&6&7&8\\ +%10&10&0&1&2&3&4&5&6&7&8&9\\ +%\hline +%\end{tabular} +%\end{center} +%\end{figure} + \begin{center} -\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} -\hline -+&0&1&2&3&4&5&6&7&8&9&10\\ -\hline -0&0&1&2&3&4&5&6&7&8&9&10\\ -1&1&2&3&4&5&6&7&8&9&10&0\\ -2&2&3&4&5&6&7&8&9&10&0&1\\ -3&3&4&5&6&7&8&9&10&0&1&2\\ -4&4&5&6&7&8&9&10&0&1&2&3\\ -5&5&6&7&8&9&10&0&1&2&3&4\\ -6&6&7&8&9&10&0&1&2&3&4&5\\ -7&7&8&9&10&0&1&2&3&4&5&6\\ -8&8&9&10&0&1&2&3&4&5&6&7\\ -9&9&10&0&1&2&3&4&5&6&7&8\\ -10&10&0&1&2&3&4&5&6&7&8&9\\ -\hline -\end{tabular} + +\begin{tikzpicture}[>=latex,thick,scale=0.45] +\fill[color=gray!40] (0,0) rectangle (18,-1.5); +\fill[color=gray!40] (0,0) rectangle (1.5,-18); +\draw[step = 1.5, gray,very thin] (0,0) grid (18,-18); +\draw[very thick] (0,0) rectangle (18,-18); +\draw[very thick] (0,-1.5) -- (18,-1.5); +\draw[very thick] (1.5,0) -- (1.5,-18); +\node at (0.75,-0.75) {$+$}; +\foreach \x in {0,...,10} + \node at (2.25+\x*1.5,-0.75) {$\x$}; +\foreach \y in {0,...,10} + \node at (0.75,-2.25+\y*-1.5) {$\y$}; +% Row 0 +\node at ( 2.25,-2.25) {$0$}; +\node at ( 3.75,-2.25) {$1$}; +\node at ( 5.25,-2.25) {$2$}; +\node at ( 6.75,-2.25) {$3$}; +\node at ( 8.25,-2.25) {$4$}; +\node at ( 9.75,-2.25) {$5$}; +\node at (11.25,-2.25) {$6$}; +\node at (12.75,-2.25) {$7$}; +\node at (14.25,-2.25) {$8$}; +\node at (15.75,-2.25) {$9$}; +\node at (17.25,-2.25) {$10$}; +% Row 1 +\node at ( 2.25,-3.75) {$1$}; +\node at ( 3.75,-3.75) {$2$}; +\node at ( 5.25,-3.75) {$3$}; +\node at ( 6.75,-3.75) {$4$}; +\node at ( 8.25,-3.75) {$5$}; +\node at ( 9.75,-3.75) {$6$}; +\node at (11.25,-3.75) {$7$}; +\node at (12.75,-3.75) {$8$}; +\node at (14.25,-3.75) {$9$}; +\node at (15.75,-3.75) {$10$}; +\node at (17.25,-3.75) {$0$}; +% Row 2 +\node at ( 2.25,-5.25) {$2$}; +\node at ( 3.75,-5.25) {$3$}; +\node at ( 5.25,-5.25) {$4$}; +\node at ( 6.75,-5.25) {$5$}; +\node at ( 8.25,-5.25) {$6$}; +\node at ( 9.75,-5.25) {$7$}; +\node at (11.25,-5.25) {$8$}; +\node at (12.75,-5.25) {$9$}; +\node at (14.25,-5.25) {$10$}; +\node at (15.75,-5.25) {$0$}; +\node at (17.25,-5.25) {$1$}; +% Row 3 +\node at ( 2.25,-6.75) {$3$}; +\node at ( 3.75,-6.75) {$4$}; +\node at ( 5.25,-6.75) {$5$}; +\node at ( 6.75,-6.75) {$6$}; +\node at ( 8.25,-6.75) {$7$}; +\node at ( 9.75,-6.75) {$8$}; +\node at (11.25,-6.75) {$9$}; +\node at (12.75,-6.75) {$10$}; +\node at (14.25,-6.75) {$0$}; +\node at (15.75,-6.75) {$1$}; +\node at (17.25,-6.75) {$2$}; +% Row 4 +\node at ( 2.25,-8.25) {$4$}; +\node at ( 3.75,-8.25) {$5$}; +\node at ( 5.25,-8.25) {$6$}; +\node at ( 6.75,-8.25) {$7$}; +\node at ( 8.25,-8.25) {$8$}; +\node at ( 9.75,-8.25) {$9$}; +\node at (11.25,-8.25) {$10$}; +\node at (12.75,-8.25) {$0$}; +\node at (14.25,-8.25) {$1$}; +\node at (15.75,-8.25) {$2$}; +\node at (17.25,-8.25) {$3$}; +% Row 5 +\node at ( 2.25,-9.75) {$5$}; +\node at ( 3.75,-9.75) {$6$}; +\node at ( 5.25,-9.75) {$7$}; +\node at ( 6.75,-9.75) {$8$}; +\node at ( 8.25,-9.75) {$9$}; +\node at ( 9.75,-9.75) {$10$}; +\node at (11.25,-9.75) {$0$}; +\node at (12.75,-9.75) {$1$}; +\node at (14.25,-9.75) {$2$}; +\node at (15.75,-9.75) {$3$}; +\node at (17.25,-9.75) {$4$}; +% Row 6 +\node at ( 2.25,-11.25) {$6$}; +\node at ( 3.75,-11.25) {$7$}; +\node at ( 5.25,-11.25) {$8$}; +\node at ( 6.75,-11.25) {$9$}; +\node at ( 8.25,-11.25) {$10$}; +\node at ( 9.75,-11.25) {$0$}; +\node at (11.25,-11.25) {$1$}; +\node at (12.75,-11.25) {$2$}; +\node at (14.25,-11.25) {$3$}; +\node at (15.75,-11.25) {$4$}; +\node at (17.25,-11.25) {$5$}; +% Row 7 +\node at ( 2.25,-12.75) {$7$}; +\node at ( 3.75,-12.75) {$8$}; +\node at ( 5.25,-12.75) {$9$}; +\node at ( 6.75,-12.75) {$10$}; +\node at ( 8.25,-12.75) {$0$}; +\node at ( 9.75,-12.75) {$1$}; +\node at (11.25,-12.75) {$2$}; +\node at (12.75,-12.75) {$3$}; +\node at (14.25,-12.75) {$4$}; +\node at (15.75,-12.75) {$5$}; +\node at (17.25,-12.75) {$6$}; +% Row 8 +\node at ( 2.25,-14.25) {$8$}; +\node at ( 3.75,-14.25) {$9$}; +\node at ( 5.25,-14.25) {$10$}; +\node at ( 6.75,-14.25) {$0$}; +\node at ( 8.25,-14.25) {$1$}; +\node at ( 9.75,-14.25) {$2$}; +\node at (11.25,-14.25) {$3$}; +\node at (12.75,-14.25) {$4$}; +\node at (14.25,-14.25) {$5$}; +\node at (15.75,-14.25) {$6$}; +\node at (17.25,-14.25) {$7$}; +% Row 9 +\node at ( 2.25,-15.75) {$9$}; +\node at ( 3.75,-15.75) {$10$}; +\node at ( 5.25,-15.75) {$0$}; +\node at ( 6.75,-15.75) {$1$}; +\node at ( 8.25,-15.75) {$2$}; +\node at ( 9.75,-15.75) {$3$}; +\node at (11.25,-15.75) {$4$}; +\node at (12.75,-15.75) {$5$}; +\node at (14.25,-15.75) {$6$}; +\node at (15.75,-15.75) {$7$}; +\node at (17.25,-15.75) {$8$}; +% Row 10 +\node at ( 2.25,-17.25) {$10$}; +\node at ( 3.75,-17.25) {$0$}; +\node at ( 5.25,-17.25) {$1$}; +\node at ( 6.75,-17.25) {$2$}; +\node at ( 8.25,-17.25) {$3$}; +\node at ( 9.75,-17.25) {$4$}; +\node at (11.25,-17.25) {$5$}; +\node at (12.75,-17.25) {$6$}; +\node at (14.25,-17.25) {$7$}; +\node at (15.75,-17.25) {$8$}; +\node at (17.25,-17.25) {$9$}; +\end{tikzpicture} + \end{center} -\end{figure} \ No newline at end of file diff --git a/buch/papers/reedsolomon/restetabelle2.tex b/buch/papers/reedsolomon/restetabelle2.tex index 887c981..1a9815c 100644 --- a/buch/papers/reedsolomon/restetabelle2.tex +++ b/buch/papers/reedsolomon/restetabelle2.tex @@ -1,24 +1,176 @@ % created by Michael Steiner % % Restetabelle von F_11: Multiplikation -\begin{figure} + +% alternatives design +%\begin{figure} +%\begin{center} +%\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +%\hline +%\cdot&0&1&2&3&4&5&6&7&8&9&10\\ +%\hline +%0&0&0&0&0&0&0&0&0&0&0&0\\ +%1&0&1&2&3&4&5&6&7&8&9&10\\ +%2&0&2&4&6&8&10&1&3&5&7&9\\ +%3&0&3&6&9&1&4&7&10&2&5&8\\ +%4&0&4&8&1&5&9&2&6&10&3&7\\ +%5&0&5&10&4&9&3&8&2&7&1&6\\ +%6&0&6&1&7&2&8&3&9&4&10&5\\ +%7&0&7&3&10&6&2&9&5&1&8&4\\ +%8&0&8&5&2&10&7&4&1&9&6&3\\ +%9&0&9&7&5&3&1&10&8&6&4&2\\ +%10&0&10&9&8&7&6&5&4&3&2&1\\ +%\hline +%\end{tabular} +%\end{center} +%\end{figure} + \begin{center} -\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} -\hline -\cdot&0&1&2&3&4&5&6&7&8&9&10\\ -\hline -0&0&0&0&0&0&0&0&0&0&0&0\\ -1&0&1&2&3&4&5&6&7&8&9&10\\ -2&0&2&4&6&8&10&1&3&5&7&9\\ -3&0&3&6&9&1&4&7&10&2&5&8\\ -4&0&4&8&1&5&9&2&6&10&3&7\\ -5&0&5&10&4&9&3&8&2&7&1&6\\ -6&0&6&1&7&2&8&3&9&4&10&5\\ -7&0&7&3&10&6&2&9&5&1&8&4\\ -8&0&8&5&2&10&7&4&1&9&6&3\\ -9&0&9&7&5&3&1&10&8&6&4&2\\ -10&0&10&9&8&7&6&5&4&3&2&1\\ -\hline -\end{tabular} -\end{center} -\end{figure} \ No newline at end of file + + \begin{tikzpicture}[>=latex,thick,scale=0.45] + \fill[color=gray!40] (0,0) rectangle (18,-1.5); + \fill[color=gray!40] (0,0) rectangle (1.5,-18); + \draw[step = 1.5, gray,very thin] (0,0) grid (18,-18); + \draw[very thick] (0,0) rectangle (18,-18); + \draw[very thick] (0,-1.5) -- (18,-1.5); + \draw[very thick] (1.5,0) -- (1.5,-18); + \node at (0.75,-0.75) {$\cdot$}; + \foreach \x in {0,...,10} + \node at (2.25+\x*1.5,-0.75) {$\x$}; + \foreach \y in {0,...,10} + \node at (0.75,-2.25+\y*-1.5) {$\y$}; + % Row 0 + \node at ( 2.25,-2.25) {$0$}; + \node at ( 3.75,-2.25) {$0$}; + \node at ( 5.25,-2.25) {$0$}; + \node at ( 6.75,-2.25) {$0$}; + \node at ( 8.25,-2.25) {$0$}; + \node at ( 9.75,-2.25) {$0$}; + \node at (11.25,-2.25) {$0$}; + \node at (12.75,-2.25) {$0$}; + \node at (14.25,-2.25) {$0$}; + \node at (15.75,-2.25) {$0$}; + \node at (17.25,-2.25) {$0$}; + % Row 1 + \node at ( 2.25,-3.75) {$0$}; + \node at ( 3.75,-3.75) {$1$}; + \node at ( 5.25,-3.75) {$2$}; + \node at ( 6.75,-3.75) {$3$}; + \node at ( 8.25,-3.75) {$4$}; + \node at ( 9.75,-3.75) {$5$}; + \node at (11.25,-3.75) {$6$}; + \node at (12.75,-3.75) {$7$}; + \node at (14.25,-3.75) {$8$}; + \node at (15.75,-3.75) {$9$}; + \node at (17.25,-3.75) {$10$}; + % Row 2 + \node at ( 2.25,-5.25) {$0$}; + \node at ( 3.75,-5.25) {$2$}; + \node at ( 5.25,-5.25) {$4$}; + \node at ( 6.75,-5.25) {$6$}; + \node at ( 8.25,-5.25) {$8$}; + \node at ( 9.75,-5.25) {$10$}; + \node at (11.25,-5.25) {$1$}; + \node at (12.75,-5.25) {$3$}; + \node at (14.25,-5.25) {$5$}; + \node at (15.75,-5.25) {$7$}; + \node at (17.25,-5.25) {$9$}; + % Row 3 + \node at ( 2.25,-6.75) {$0$}; + \node at ( 3.75,-6.75) {$3$}; + \node at ( 5.25,-6.75) {$6$}; + \node at ( 6.75,-6.75) {$9$}; + \node at ( 8.25,-6.75) {$1$}; + \node at ( 9.75,-6.75) {$4$}; + \node at (11.25,-6.75) {$7$}; + \node at (12.75,-6.75) {$10$}; + \node at (14.25,-6.75) {$2$}; + \node at (15.75,-6.75) {$5$}; + \node at (17.25,-6.75) {$8$}; + % Row 4 + \node at ( 2.25,-8.25) {$0$}; + \node at ( 3.75,-8.25) {$4$}; + \node at ( 5.25,-8.25) {$8$}; + \node at ( 6.75,-8.25) {$1$}; + \node at ( 8.25,-8.25) {$5$}; + \node at ( 9.75,-8.25) {$9$}; + \node at (11.25,-8.25) {$2$}; + \node at (12.75,-8.25) {$6$}; + \node at (14.25,-8.25) {$10$}; + \node at (15.75,-8.25) {$3$}; + \node at (17.25,-8.25) {$7$}; + % Row 5 + \node at ( 2.25,-9.75) {$0$}; + \node at ( 3.75,-9.75) {$5$}; + \node at ( 5.25,-9.75) {$10$}; + \node at ( 6.75,-9.75) {$4$}; + \node at ( 8.25,-9.75) {$9$}; + \node at ( 9.75,-9.75) {$3$}; + \node at (11.25,-9.75) {$8$}; + \node at (12.75,-9.75) {$2$}; + \node at (14.25,-9.75) {$7$}; + \node at (15.75,-9.75) {$1$}; + \node at (17.25,-9.75) {$6$}; + % Row 6 + \node at ( 2.25,-11.25) {$0$}; + \node at ( 3.75,-11.25) {$6$}; + \node at ( 5.25,-11.25) {$1$}; + \node at ( 6.75,-11.25) {$7$}; + \node at ( 8.25,-11.25) {$2$}; + \node at ( 9.75,-11.25) {$8$}; + \node at (11.25,-11.25) {$3$}; + \node at (12.75,-11.25) {$9$}; + \node at (14.25,-11.25) {$4$}; + \node at (15.75,-11.25) {$10$}; + \node at (17.25,-11.25) {$5$}; + % Row 7 + \node at ( 2.25,-12.75) {$0$}; + \node at ( 3.75,-12.75) {$7$}; + \node at ( 5.25,-12.75) {$3$}; + \node at ( 6.75,-12.75) {$10$}; + \node at ( 8.25,-12.75) {$6$}; + \node at ( 9.75,-12.75) {$2$}; + \node at (11.25,-12.75) {$9$}; + \node at (12.75,-12.75) {$5$}; + \node at (14.25,-12.75) {$1$}; + \node at (15.75,-12.75) {$8$}; + \node at (17.25,-12.75) {$4$}; + % Row 8 + \node at ( 2.25,-14.25) {$0$}; + \node at ( 3.75,-14.25) {$8$}; + \node at ( 5.25,-14.25) {$5$}; + \node at ( 6.75,-14.25) {$2$}; + \node at ( 8.25,-14.25) {$10$}; + \node at ( 9.75,-14.25) {$7$}; + \node at (11.25,-14.25) {$4$}; + \node at (12.75,-14.25) {$1$}; + \node at (14.25,-14.25) {$9$}; + \node at (15.75,-14.25) {$6$}; + \node at (17.25,-14.25) {$3$}; + % Row 9 + \node at ( 2.25,-15.75) {$0$}; + \node at ( 3.75,-15.75) {$9$}; + \node at ( 5.25,-15.75) {$7$}; + \node at ( 6.75,-15.75) {$5$}; + \node at ( 8.25,-15.75) {$3$}; + \node at ( 9.75,-15.75) {$1$}; + \node at (11.25,-15.75) {$10$}; + \node at (12.75,-15.75) {$8$}; + \node at (14.25,-15.75) {$6$}; + \node at (15.75,-15.75) {$4$}; + \node at (17.25,-15.75) {$2$}; + % Row 10 + \node at ( 2.25,-17.25) {$0$}; + \node at ( 3.75,-17.25) {$10$}; + \node at ( 5.25,-17.25) {$9$}; + \node at ( 6.75,-17.25) {$8$}; + \node at ( 8.25,-17.25) {$7$}; + \node at ( 9.75,-17.25) {$6$}; + \node at (11.25,-17.25) {$5$}; + \node at (12.75,-17.25) {$4$}; + \node at (14.25,-17.25) {$3$}; + \node at (15.75,-17.25) {$2$}; + \node at (17.25,-17.25) {$1$}; + \end{tikzpicture} + +\end{center} \ No newline at end of file -- cgit v1.2.1 From d15eaa234f3f1622289e2486db54fe0ce7309b8f Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Thu, 10 Jun 2021 18:22:35 +0200 Subject: nachschlagewerk created --- buch/papers/reedsolomon/decmitfehler.tex | 3 ++- buch/papers/reedsolomon/main.tex | 2 +- buch/papers/reedsolomon/nachschlagewerk.tex | 4 ++++ 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 buch/papers/reedsolomon/nachschlagewerk.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex index db6e586..feaa027 100644 --- a/buch/papers/reedsolomon/decmitfehler.tex +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -97,7 +97,8 @@ Bevor wir unser Lokatorpolynom berechnen können, müssen wir zuerst eine Mögli $d(X)$ & $=$ & $r(X) - m(X)$. \end{tabular} \end{center} -TODO (rewrite sentence): Dies wird uns zwar andere sorgen wegen $m(X)$ bereiten, \textcolor{red}{die werden wir jedoch zu einem späteren Zeitpunkt betrachten (todo: verweis auf kapitel?)}. +Dies wird uns zwar andere sorgen wegen $m(X)$ bereiten, wir werden werden deshalb erst in Abschnitt \ref{reedsolomon:subsection:nachrichtenvektor} darauf zurückkommen. + Setzen wir jetzt noch unsere Einheitswurzel aus dem Beispiel ein so erhalten wir % Old Text %\begin{align} diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index 9822d25..fa20936 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -39,8 +39,8 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren \input{papers/reedsolomon/decohnefehler} \input{papers/reedsolomon/decmitfehler} \input{papers/reedsolomon/rekonstruktion} +\input{papers/reedsolomon/nachschlagewerk} \input{papers/reedsolomon/hilfstabellen} -%\input{papers/reedsolomon/glossar} -> geplant zur besseren orientierung %\input{papers/reedsolomon/anwendungen} -> geplant \nocite{reedsolomon:weitz} diff --git a/buch/papers/reedsolomon/nachschlagewerk.tex b/buch/papers/reedsolomon/nachschlagewerk.tex new file mode 100644 index 0000000..60b857e --- /dev/null +++ b/buch/papers/reedsolomon/nachschlagewerk.tex @@ -0,0 +1,4 @@ +\section{Nachschlagewerk + \label{reedsolomon:section:nachschlagen}} +\rhead{nachschlagewerk} +todo: auflistung von z.b nachrichtenvektor, übertragungsvektor usw. inklusiver erklärung was es ist falls man beim lesen den faden verliert \ No newline at end of file -- cgit v1.2.1 From 09ca369b5a078dae6d55cc21e85452ac04a4a939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 11 Jun 2021 08:30:04 +0200 Subject: Fix references.bib --- buch/papers/reedsolomon/references.bib | 31 ------------------------------- 1 file changed, 31 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/references.bib b/buch/papers/reedsolomon/references.bib index 4c1d17a..731bd35 100644 --- a/buch/papers/reedsolomon/references.bib +++ b/buch/papers/reedsolomon/references.bib @@ -13,8 +13,6 @@ day = {10} } -% https://link.springer.com/chapter/10.1007%2F978-3-8351-9077-1_9 - @book{reedsolomon:informationkommunikation, title = {Information und Kommunikation}, author = {Markus Hufschmid}, @@ -25,32 +23,3 @@ volume = {1} } -% Beispiele -%@online{reedsolomon:bibtex, -% title = {BibTeX}, -% url = {https://de.wikipedia.org/wiki/BibTeX}, -% date = {2020-02-06}, -% year = {2020}, -% month = {2}, -% day = {6} -%} -% -%@book{reedsolomon:numerical-analysis, -% title = {Numerical Analysis}, -% author = {David Kincaid and Ward Cheney}, -% publisher = {American Mathematical Society}, -% year = {2002}, -% isbn = {978-8-8218-4788-6}, -% inseries = {Pure and applied undegraduate texts}, -% volume = {2} -%} -% -%@article{reedsolomon:mendezmueller, -% author = { Tabea Méndez and Andreas Müller }, -% title = { Noncommutative harmonic analysis and image registration }, -% journal = { Appl. Comput. Harmon. Anal.}, -% year = 2019, -% volume = 47, -% pages = {607--627}, -% url = {https://doi.org/10.1016/j.acha.2017.11.004} -%} \ No newline at end of file -- cgit v1.2.1