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