diff options
Diffstat (limited to '')
108 files changed, 10009 insertions, 217 deletions
diff --git a/buch/chapters/10-vektorenmatrizen/gruppen.tex b/buch/chapters/10-vektorenmatrizen/gruppen.tex index 9848469..cb37d05 100644 --- a/buch/chapters/10-vektorenmatrizen/gruppen.tex +++ b/buch/chapters/10-vektorenmatrizen/gruppen.tex @@ -182,7 +182,7 @@ begegnet, wo wir nur gezeigt haben, dass $AA^{-1}=E$ ist. Da aber die invertierbaren Matrizen eine Gruppe bilden, folgt jetzt aus dem Satz automatisch, dass auch $A^{-1}A=E$. -\subsubsection{Homomorphismen} +\subsubsection{Homomorphismen} \label{buch:gruppen:subsection:homomorphismen} Lineare Abbildung zwischen Vektorräumen zeichnen sich dadurch aus, dass sie die algebraische Struktur des Vektorraumes respektieren. Für eine Abbildung zwischen Gruppen heisst dies, dass die Verknüpfung, @@ -313,14 +313,14 @@ auf einem geeigneten Vektorraum. \begin{definition} \label{buch:vektorenmatrizen:def:darstellung} Eine Darstellung einer Gruppe $G$ ist ein Homomorphismus -$G\to\operatorname{GL}_(\mathbb{R})$. +$G\to\operatorname{GL}_n(\mathbb{R})$. \index{Darstellung} \end{definition} \begin{beispiel} Die Gruppen $\operatorname{GL}_n(\mathbb{Z})$, $\operatorname{SL}_n(\mathbb{Z})$ oder $\operatorname{SO}(n)$ -sind alle Teilmengen von $\operatorname{GL}_n(\mathbb{R}$. +sind alle Teilmengen von $\operatorname{GL}_n(\mathbb{R})$. Die Einbettungsabbildung $G\hookrightarrow \operatorname{GL}_n(\mathbb{R})$ ist damit automatisch eine Darstellung, sie heisst auch die {\em reguläre Darstellung} der Gruppe $G$. diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index db326f8..0bf3016 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -431,6 +431,7 @@ zur Bestimmung des grössten gemeinsamen Teilers von $76415$ und $23205$ zur Berechnung der Koeffizienten $c_k$ und $d_k$ Wir schreiben die gefundenen Zahlen in eine Tabelle: \begin{center} +\label{buch:endlichekoerper:beispiel1erweitert} \renewcommand{\arraystretch}{1.1} \begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} \hline @@ -518,6 +519,7 @@ Insbesondere ist der euklidische Algorithmus genauso wie die Matrixschreibweise auch für Polynome durchführbar. \begin{beispiel} +\label{buch:endlichekoerper:eqn:polynomggt} Wir berechnen als Beispiel den grössten gemeinsamen Teiler der Polynome \[ @@ -614,4 +616,368 @@ Aus den letzten zwei Zeilen folgt $ua-vb = ab/g - ab/g = 0$, wie erwartet. \end{beispiel} +% +% Das kleinste gemeinsame Vielfache +% +\subsection{Das kleinste gemeinsame Vielfache +\label{buch:subsection:daskgv}} +Das kleinste gemeinsame Vielfache zweier Zahlen $a$ und $b$ ist +\[ +\operatorname{kgV}(a,b) += +\frac{ab}{\operatorname{ggT}(a,b)}. +\] +Wir suchen nach einen Algorithmus, mit dem man das kleinste gemeinsame +Vielfache effizient berechnen kann. + +Die Zahlen $a$ und $b$ sind beide Vielfache des grössten gemeinsamen +Teilers $g=\operatorname{ggT}(a,b)$, es gibt also Zahlen $u$ und $v$ derart, +dass $a=ug$ und $b=vg$. +Wenn $t$ ein gemeinsamer Teiler von $u$ und $v$ ist, dann ist $tg$ ein +grösserer gemeinsamer Teiler von $a$ und $b$. +Dies kann nicht sein, also müssen $u$ und $v$ teilerfremd sein. +Das kleinste gemeinsame Vielfache von $a$ und $b$ ist dann $ugv=av=ub$. +Die Bestimmung des kleinsten gemeinsamen Vielfachen ist also gleichbedeutend +mit der Bestimmung der Zahlen $u$ und $v$. + +Die definierende Eigenschaften von $u$ und $v$ kann man in Matrixform als +\begin{equation} +\begin{pmatrix} +a\\b +\end{pmatrix} += +\underbrace{ +\begin{pmatrix} +u&?\\ +v&? +\end{pmatrix}}_{\displaystyle =K} +\begin{pmatrix} +\operatorname{ggT}(a,b)\\ 0 +\end{pmatrix} +\label{buch:eindlichekoerper:eqn:uvmatrix} +\end{equation} +geschrieben werden, wobei wir die Matrixelemente $?$ nicht kennen. +Diese Elemente müssen wir auch nicht kennen, um $u$ und $v$ zu bestimmen. + +Bei der Bestimmung des grössten gemeinsamen Teilers wurde der Vektor auf +der rechten Seite von~\eqref{buch:eindlichekoerper:eqn:uvmatrix} bereits +gefunden. +Die Matrizen $Q(q_i)$, die die einzelne Schritte des euklidischen +Algorithmus beschreiben, ergeben ihn als +\[ +\begin{pmatrix} +\operatorname{ggT}(a,b)\\0 +\end{pmatrix} += +Q(q_n)Q(q_{n-1}) \dots Q(q_1)Q(q_0) +\begin{pmatrix}a\\b\end{pmatrix}. +\] +Indem wir die Matrizen $Q(q_n)$ bis $Q(q_0)$ auf die linke Seite der +Gleichung schaffen, erhalten wir +\[ +\begin{pmatrix}a\\b\end{pmatrix} += +Q(q_0)^{-1} +Q(q_1)^{-1} +\dots +Q(q_{n-1})^{-1} +Q(q_n)^{-1} +\begin{pmatrix}\operatorname{ggT}(a,b)\\0\end{pmatrix}. +\] +Eine mögliche Lösung für die Matrix $K$ in +\eqref{buch:eindlichekoerper:eqn:uvmatrix} +ist der die Matrix +\[ +K += +Q(q_0)^{-1} +Q(q_1)^{-1} +\dots +Q(q_{n-1})^{-1} +Q(q_n). +\] +Insbesondere ist die Matrix $K$ die Inverse der früher gefundenen +Matrix $Q$. + +Die Berechnung der Matrix $K$ als Inverse von $Q$ ist nicht sehr +effizient. +Genauso wie es möglich war, das Produkt $Q$ der Matrizen +$Q(q_k)$ iterativ zu bestimmen, muss es auch eine Rekursionsformel +für das Produkt der inversen Matrizen $Q(q_k)^{-1}$ geben. + +Schreiben wir die gesuchte Matrix +\[ +K_k += +Q(q_0)^{-1}\dots Q(q_{k-1})^{-1} += +\begin{pmatrix} +e_k & e_{k-1}\\ +f_k & f_{k-1} +\end{pmatrix}, +\] +dann kann man $K_k$ durch die Rekursion +\begin{equation} +K_{k+1} += +K_{k} Q(q_k)^{-1} += +K_k K(q_k) +\qquad\text{mit}\qquad +K_0 = \begin{pmatrix}1&0\\0&1\end{pmatrix} = I +\label{buch:endlichekoerper:eqn:kgvrekursion} +\end{equation} +berechnen. +Die Inverse von $Q(q)$ ist +\[ +K(q) += +Q(q)^{-1} += +\frac{1}{\det Q(q)} +\begin{pmatrix} +q&1\\ +1&0 +\end{pmatrix} +\quad\text{denn}\quad +K(q)Q(q) += +\begin{pmatrix} +q&1\\ +1&0 +\end{pmatrix} +\begin{pmatrix} +0&1\\ +1&-q +\end{pmatrix} += +\begin{pmatrix} +1&0\\ +0&1 +\end{pmatrix}. +\] +Da die zweite Spalte von $K(q)$ die erste Spalte einer Einheitsmatrix +ist, wird die zweite Spalte des Produktes $AK(q)$ immer die erste Spalte +von $A$ sein. +In $K_{k+1}$ ist daher nur die erste Spalte neu, die zweite Spalte ist +die erste Spalte von $K_k$. + +Aus der Rekursionsformel \eqref{buch:endlichekoerper:eqn:kgvrekursion} +für die Matrizen $K_k$ kann man jetzt eine Rekursionsbeziehung +für die Folgen $e_k$ und $f_k$ ablesen, es gilt +\begin{align*} +e_{k+1} &= q_ke_k + e_{k-1} \\ +f_{k+1} &= q_kf_k + f_{k-1} +\end{align*} +für $k=0,1,\dots ,n$. +Damit können $e_k$ und $f_k$ gleichzeitig mit den Zahlen $c_k$ und $d_k$ +in einer Tabelle berechnen. + +\begin{beispiel} +Wir erweitern das Beispiel von +Seite~\pageref{buch:endlichekoerper:beispiel1erweitert} +um die beiden Spalten zur Berechnung von $e_k$ und $f_k$: +\begin{center} +\renewcommand{\arraystretch}{1.1} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} +\hline +k& a_k& b_k& q_k& r_k& c_k& d_k& e_k& f_k\\ +\hline + & & & & & 1& 0& 0& 1\\ +0& 76415& 23205& 3& 6800& 0& 1& 1& 0\\ +1& 23205& 6800& 3& 2805& 1& -3& 3& 1\\ +2& 6800& 2805& 2& 1190& -3& 10& 10& 3\\ +3& 2805& 1190& 2& 425& 7& -23& 23& 7\\ +4& 1190& 425& 2& 340& -17& 56& 56& 17\\ +5& 425& 340& 1& 85& 41& -135& 135& 41\\ +6& 340& 85& 4& 0& -58& 191& 191& 58\\ +7& 85& 0& & & 273& -899& 899& 273\\ +\hline +\end{tabular} +\end{center} +Der grösste gemeinsame Teiler ist $\operatorname{ggT}(a,b)=85$. +Aus der letzten Zeile der Tabelle kann man jetzt die Zahlen $u=e_7=899$ +und $v=f_7=273$ ablesen, und tatsächlich ist +\[ +a=76415 = 899\cdot 85 +\qquad\text{und}\qquad +b=23205 = 273 \cdot 85. +\] +Daraus kann man dann auch das kleinste gemeinsame Vielfache ablesen, es ist +\[ +\operatorname{kgV}(a,b) += +\operatorname{kgV}(76415,23205) += +\left\{ +\begin{aligned} +ub +&= +899\cdot 23205\\ +va +&= +273\cdot 76415 +\end{aligned} +\right\} += +20861295. +\qedhere +\] +\end{beispiel} + +Der erweiterte Algorithmus kann auch dazu verwendet werden, +das kleinste gemeinsame Vielfache zweier Polynome zu berechnen. +Dies wird zum Beispiel bei der Decodierung des Reed-Solomon-Codes in +Kapitel~\ref{chapter:reedsolomon} verwendet. + +\subsubsection{Polynome +\label{buch:endlichekoerper:eqn:polynomkgv}} +Im Beispiel auf Seite~\pageref{buch:endlichekoerper:eqn:polynomggt} +wird der grösste gemeinsame Teiler der Polynome +\[ +a += +X^4 - 2X^3 -7 X^2 + 8X + 12, +\qquad +b = X^4 + X^3 -7X^2 -X + 6 +\] +berechnet. +Dies kann jetzt erweitert werden für die Berechnung des kleinsten +gemeinsamen Vielfachen. + +\begin{beispiel} +Die Berechnungstabelle nur für die Spalten $e_k$ und $f_k$ ergibt +\begin{center} +\renewcommand{\arraystretch}{1.4} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} +\hline +k& q_k& e_k& f_k\\ +\hline + & & 0& 1\\ +0& 1& 1& 0\\ +1&-\frac13X-\frac13& 1& 1\\ +2& \frac34X+\frac34& -\frac13X+\frac23& -\frac13X-\frac13\\ + & &-\frac14X^2+\frac14X+\frac32&-\frac14X^2-\frac12X+\frac34\\ +\hline +\end{tabular} +\end{center} +Daraus kann man ablesen, dass +\[ +u += +-\frac14X^2+\frac14X+\frac32 +\qquad\text{und}\qquad +v += +-\frac14X^2-\frac12X+\frac34. +\] +Daraus ergibt sich das kleinste gemeinsame Vielfache auf zwei verschiedene Weisen: +\[ +\operatorname{ggT}(a,b) += +\left\{ +\begin{aligned} +\textstyle +(-\frac14X^2+\frac14X+\frac32)&\cdot(X^4 - 2X^3 -7 X^2 + 8X + 12) +\\ +\textstyle +(-\frac14X^2-\frac12X+\frac34)&\cdot(X^4 + X^3 -7X^2 -X + 6) +\end{aligned} +\right\} += +-\frac14X^6+\frac72X^4-\frac{49}4X^2+9. +\] +Die beiden Berechnungsmöglichkeiten stimmen wie erwartet überein. +\end{beispiel} + +\subsubsection{Anwendung: Decodierung des Reed-Solomon-Codes} +Der Reed-Solomon-Code verwendet Polynome zur Codierung der Daten, +dies wird in Kapitel~\ref{chapter:reedsolomon} im Detail beschrieben. +Bei der Decodierung muss der Faktor $u$ für zwei gegebene Polynome +$n(X)$ und $r(X)$ bestimmt werden. +Allerdings ist das Polynom $r(X)$ nicht vollständig bekannt, nur die +ersten paar Koeffizienten sind gegeben. +Dafür weiss man zusätzlich, wieviele Schritte genau der Euklidische +Algorithmus braucht. +Daraus lässt sich genügend Information gewinnen, um die Faktoren $u$ +und $v$ zu bestimmen. +Das Video \url{https://youtu.be/uOLW43OIZJ0} von Edmund Weitz +erklärt die Theorie hinter dieser Teilaufgabe anhand von Beispielen. + +\begin{beispiel} +Wir berechnen also die Faktoren $u$ und $v$ für die beiden Polynome +\begin{align*} +n(X) +&= +X^{12}+12 +\\ +r(X) +&= +7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + w(X) +\end{align*} +in $\mathbb{F}_{13}[X]$, wobei $w(X)$ ein unbekanntes Polynom vom Grad $5$ ist. +Man weiss zusätzlich noch, dass der euklidische Algorithmus genau drei +Schritte braucht, es gibt also genau drei Quotienten, die in die +Berechnung der Zahlen $e_k$ und $f_k$ einfliessen. + +Im ersten Schritt des euklidischen Algorithmus ist der Quotient +$n(X) / r(X)$ zu bestimmen, der Grad $1$ haben muss. +\begin{align*} +a_0=n(X) &= X^{12}+12 +\\ +b_0=r(X) &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + \dots +\\ +q_0 &= 2X+10 +\\ +r_0 = a_0-b_0\cdot q_0 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +a_1 &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + \dots +\\ +b_1 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +q_1 &= 2X+2 +\\ +r_1 = a_1 - b_1q_1 &= 5X^9 + 10 X^8 + \dots +\\ +a_2 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +b_2 &= 5X^9 + 10 X^8 + \dots +\\ +q_2 &= 2X+10 +\end{align*} +Aus den Polynomen $q_k$ können jetzt die Faktoren $u$ und $v$ +bestimmt werden: +\begin{center} +\begin{tabular}{|>{$}c<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} +\hline +k& q_k& e_k& f_k\\ +\hline + & & 0& 1\\ +0& 2X+10& 1& 0\\ +1& 2X+2 & 2X+10& 1\\ +2& 2X+10& 4X^2+11X+8& 2X+2\\ + & & 8X^3+10X^2+11X+12& 4X^2+11X+8\\ +\hline +\end{tabular} +\end{center} +Die Faktorisierung des Polynoms +\[ +u += +8X^3+10X^2+11X+12 +\] +kann bestimmt werden, indem man alle Zahlen $1,2,\dots,12\in\mathbb{F}_{13}$ +einsetzt. +Man findet so die Nullstellen $3$, $4$ und $8$, also muss das Polynom +$u$ faktorisiert werden können als +\[ +u= +8(X-3)(X-4)(X-8) += +8X^3 - 120X^2+544X-768 += +8X^3 +10X^2+11X+12. +\qedhere +\] +\end{beispiel} diff --git a/buch/chapters/30-endlichekoerper/galois.tex b/buch/chapters/30-endlichekoerper/galois.tex index fbacba6..2f8117e 100644 --- a/buch/chapters/30-endlichekoerper/galois.tex +++ b/buch/chapters/30-endlichekoerper/galois.tex @@ -27,7 +27,7 @@ Primzahlpotenz $p^n$ von Elementen haben und die die Basis wichtiger kryptographischer Algorithmen sind. % -% Arithmetik module $o$ +% Arithmetik modulo $o$ % \subsection{Arithmetik modulo $p$ \label{buch:subsection:arithmetik-modulo-p}} @@ -413,7 +413,7 @@ Elemente. \begin{figure} \centering \includegraphics{chapters/30-endlichekoerper/images/binomial2.pdf} -\caption{Binomialkoeffizienten module $2$ im Pascal-Dreieck. +\caption{Binomialkoeffizienten modulo $2$ im Pascal-Dreieck. Auf den rot hinterlegten Zeilen, die zu Exponenten der Form $2^k$ gehören, sind alle Koeffizienten ausser dem ersten und letzten durch $2$ teilbar. \label{buch:endliche-koerper:fig:binomial2}} @@ -423,7 +423,7 @@ sind alle Koeffizienten ausser dem ersten und letzten durch $2$ teilbar. \begin{figure} \centering \includegraphics{chapters/30-endlichekoerper/images/binomial5.pdf} -\caption{Binomialkoeffizienten module $5$ im Pascal-Dreieck. +\caption{Binomialkoeffizienten modulo $5$ im Pascal-Dreieck. Die von $0$ verschiedenen Reste werden durch Farben dargestellt: $1=\text{schwarz}$, $2=\text{\color{farbe2}rot}$, diff --git a/buch/chapters/30-endlichekoerper/images/binomial2.pdf b/buch/chapters/30-endlichekoerper/images/binomial2.pdf Binary files differindex 92be742..0a07c92 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial2.pdf +++ b/buch/chapters/30-endlichekoerper/images/binomial2.pdf 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 Binary files differindex 1b2a813..a4bdf51 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial5.pdf +++ b/buch/chapters/30-endlichekoerper/images/binomial5.pdf 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$}; } diff --git a/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima b/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima new file mode 100644 index 0000000..9116023 --- /dev/null +++ b/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima @@ -0,0 +1,29 @@ +n: X^12 + 12; +r: 7*X^11 + 4*X^10 + X^9 + 12*X^8 + 2*X^7 + 12*X^6; + +q0: 2*X+10; +q1: 2*X+2; +q2: 2*X+10; + +a0: n; +b0: r; +r0: expand(a0 - q0 * b0); + +a1: b0; +b1: r0; +r1: expand(a1 - q1 * b1); + +a2: b1; +b2: r1; +r2: expand(a2 - q2 * b2); + +K: matrix([1,0],[0,1]); + +K: expand(K . matrix([q0,1],[1,0])); +K: expand(K . matrix([q1,1],[1,0])); +K: expand(K . matrix([q2,1],[1,0])); + +u: 8*X^3+10*X^2+11*X+12; +v: 4*X^2+11*X+8; + +factor(u), modulus:13; diff --git a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex index 8a83256..5dea881 100644 --- a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex +++ b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex @@ -46,7 +46,7 @@ Q(2)Q(1)Q(3)Q(4) \begin{pmatrix} 4&-17\\ -11&47 \end{pmatrix}. \end{align*} Daraus kann man ablesen, dass $s=4$ und $t=-17$, tatsächlich ist -$4\cdot 47-47\cdot 11=188-187=1$. +$4\cdot 47-17\cdot 11=188-187=1$. Wir schliessen daraus, dass $-17=30\in\mathbb{F}_{47}$ die multiplikative Inverse von $b=11$ ist. Die Rechnung $11\cdot 30 = 330 = 7\cdot 47 + 1$ zeigt, dass dies diff --git a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex index 046ac94..deb15dc 100644 --- a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex +++ b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex @@ -65,19 +65,19 @@ Die Gauss-Tableaux sind \begin{align*} \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 1 & 0\\ - 1 & 1 & 1 & 1 & 0\\ - 0 & 1 & 1 & 0 & 1\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 1 & 1\\ + 1 & 1 & 1 & 1 & 1\\ + 0 & 1 & 1 & 0 & 0\\ \hline \end{tabular} &\to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 1 & 0\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 1 & 1\\ 0 & 0 & 1 & 1 & 1\\ - 0 & 1 & 1 & 0 & 1\\ + 0 & 1 & 1 & 0 & 0\\ \hline \end{tabular} %\\ @@ -85,8 +85,8 @@ Die Gauss-Tableaux sind \to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 1 & 0\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 1 & 1\\ 0 & 0 & 1 & 1 & 1\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -95,8 +95,8 @@ Die Gauss-Tableaux sind \to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 0 & 1\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 0 & 0\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -106,8 +106,8 @@ Die Gauss-Tableaux sind \to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 0 & 0 & 1\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -118,7 +118,7 @@ Die Gauss-Tableaux sind \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline 1 & 0 & 0 & 0 & 0\\ - 0 & 1 & 0 & 0 & 1\\ + 0 & 1 & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -128,7 +128,7 @@ In der ersten Zeile stehen die Schritt der Vorwärtsreduktion, in der zweiten die Schritte des Rückwärtseinsetzens. Als Lösung liest man ab \[ -x=\begin{pmatrix}0\\1\\0\\1 \end{pmatrix}, +x=\begin{pmatrix}0\\0\\0\\1 \end{pmatrix}, \] die Korrektheit kann man leicht durch Einsetzen überprüfen. \item diff --git a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex index 28f4d2c..65c18a2 100644 --- a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex +++ b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex @@ -1,10 +1,12 @@ -Das Polynom $m(X)=X^2+X+1$ ist als Polynom in $\mathbb{F}_3[X]$ irreduzibel. +% !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} diff --git a/buch/chapters/30-endlichekoerper/wurzeln.tex b/buch/chapters/30-endlichekoerper/wurzeln.tex index 02429dc..600336c 100644 --- a/buch/chapters/30-endlichekoerper/wurzeln.tex +++ b/buch/chapters/30-endlichekoerper/wurzeln.tex @@ -731,7 +731,7 @@ dass sf+tm=1. \] Reduzieren wir modulo $m$, wird daraus $af=1$ in $\Bbbk[X]/m\Bbbk[X]$. -Das Polynom $a$, reduziert module $m$, ist also die multiplikative +Das Polynom $a$, reduziert modulo $m$, ist also die multiplikative Inverse von $f$. Bei der praktischen Durchführung des euklidischen Algorithmus ist der diff --git a/buch/chapters/40-eigenwerte/Makefile.inc b/buch/chapters/40-eigenwerte/Makefile.inc index b15f476..5f30ab5 100644 --- a/buch/chapters/40-eigenwerte/Makefile.inc +++ b/buch/chapters/40-eigenwerte/Makefile.inc @@ -12,4 +12,7 @@ CHAPTERFILES = $(CHAPTERFILES) \ chapters/40-eigenwerte/spektraltheorie.tex \ chapters/40-eigenwerte/uebungsaufgaben/4001.tex \ chapters/40-eigenwerte/uebungsaufgaben/4002.tex \ + chapters/40-eigenwerte/uebungsaufgaben/4003.tex \ + chapters/40-eigenwerte/uebungsaufgaben/4004.tex \ + chapters/40-eigenwerte/uebungsaufgaben/4005.tex \ chapters/40-eigenwerte/chapter.tex diff --git a/buch/chapters/40-eigenwerte/chapter.tex b/buch/chapters/40-eigenwerte/chapter.tex index e769b38..24ea57d 100644 --- a/buch/chapters/40-eigenwerte/chapter.tex +++ b/buch/chapters/40-eigenwerte/chapter.tex @@ -34,8 +34,8 @@ Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. \input{chapters/40-eigenwerte/grundlagen.tex} \input{chapters/40-eigenwerte/normalformen.tex} \input{chapters/40-eigenwerte/spektralradius.tex} -\input{chapters/40-eigenwerte/numerisch.tex} \input{chapters/40-eigenwerte/spektraltheorie.tex} +%\input{chapters/40-eigenwerte/numerisch.tex} \section*{Übungsaufgaben} \rhead{Übungsaufgaben} @@ -44,5 +44,8 @@ Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. \uebungsaufgabe{4001} \uebungsaufgabe{4002} \uebungsaufgabe{4003} +\uebungsaufgabe{4004} +\uebungsaufgabe{4005} +\uebungsaufgabe{4006} \end{uebungsaufgaben} diff --git a/buch/chapters/40-eigenwerte/grundlagen.tex b/buch/chapters/40-eigenwerte/grundlagen.tex index d984452..69618a9 100644 --- a/buch/chapters/40-eigenwerte/grundlagen.tex +++ b/buch/chapters/40-eigenwerte/grundlagen.tex @@ -16,6 +16,36 @@ gestreckt werden. Gelingt es, eine Basis aus solchen sogenanten {\em Eigenvektoren} zu finden, dann kann man die Matrix $A$ durch Basiswechsel in diese Form bringen. +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/kernbild.pdf} +\caption{Iterierte Kerne und Bilder einer $3\times 3$-Matrix mit Rang~2. +Die abnehmend geschachtelten iterierten Bilder +$\mathcal{J}^1(A) \subset \mathcal{J}^2(A)$ +sind links dargestellt, die zunehmen geschachtelten iterierten Kerne +$\mathcal{K}^1(A) \subset \mathcal{K}^2(A)$ rechts. +\label{buch:eigenwerte:img:kernbild}} +\end{figure} + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/kombiniert.pdf} +\caption{Iterierte Kerne und Bilder einer $3\times 3$-Matrix mit Rang~2. +Da $\dim\mathcal{J}^2(A)=1$ und $\dim\mathcal{J}^1(A)=2$ ist, muss es +einen Vektor in $\mathcal{J}^1(A)$ geben, der von $A$ auf $0$ abgebildet +wird, der also auch im Kern $\mathcal{K}^1(A)$ liegt. +Daher ist $\mathcal{K}^1(A)$ die Schnittgerade von $\mathcal{J}^1(A)$ und +$\mathcal{K}^2(A)$. +Man kann auch gut erkennen, dass +$\mathbb{R}^3 += +\mathcal{K}^1(A)\oplus \mathcal{J}^1(A) += +\mathcal{K}^2(A) \oplus \mathcal{J}^2(A)$ +ist. +\label{buch:eigenwerte:img:kombiniert}} +\end{figure} + % % Kern und Bild von Matrixpotenzen % @@ -183,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 @@ -198,6 +246,7 @@ $\mathcal{J}^i(A)$ für $i\ge k$ werden mit bezeichnet. \end{definition} + % % Inveriante Unterräume % @@ -369,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. @@ -457,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 db00dac..54b36d5 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 +all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf \ + wurzelapprox.pdf wurzel.pdf dimjk.pdf jknilp.pdf \ + normalform.pdf minmax.pdf sp.pdf: sp.tex sppaths.tex pdflatex sp.tex @@ -14,3 +16,29 @@ sppaths.tex: spbeispiel.m nilpotent.pdf: nilpotent.tex pdflatex nilpotent.tex +kernbild.pdf: kernbild.tex bild2.jpg kern2.jpg + pdflatex kernbild.tex + +kombiniert.pdf: kombiniert.tex kombiniert.jpg + pdflatex kombiniert.tex + +wurzelapprox.pdf: wurzelapprox.tex wa.tex + pdflatex wurzelapprox.tex + +wa.tex: wa.m + octave wa.m + +wurzel.pdf: wurzel.tex + pdflatex wurzel.tex + +dimjk.pdf: dimjk.tex + pdflatex dimjk.tex + +jknilp.pdf: jknilp.tex + pdflatex jknilp.tex + +normalform.pdf: normalform.tex + pdflatex normalform.tex + +minmax.pdf: minmax.tex + pdflatex minmax.tex diff --git a/buch/chapters/40-eigenwerte/images/bild1.jpg b/buch/chapters/40-eigenwerte/images/bild1.jpg Binary files differnew file mode 100644 index 0000000..879fae8 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/bild1.jpg diff --git a/buch/chapters/40-eigenwerte/images/bild2.jpg b/buch/chapters/40-eigenwerte/images/bild2.jpg Binary files differnew file mode 100644 index 0000000..2597c95 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/bild2.jpg diff --git a/buch/chapters/40-eigenwerte/images/dimjk.pdf b/buch/chapters/40-eigenwerte/images/dimjk.pdf Binary files differnew file mode 100644 index 0000000..fcfe4da --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/dimjk.pdf 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/drei.jpg b/buch/chapters/40-eigenwerte/images/drei.jpg Binary files differnew file mode 100644 index 0000000..35f9034 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/drei.jpg diff --git a/buch/chapters/40-eigenwerte/images/jknilp.pdf b/buch/chapters/40-eigenwerte/images/jknilp.pdf Binary files differnew file mode 100644 index 0000000..9293263 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/jknilp.pdf 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/kern1.jpg b/buch/chapters/40-eigenwerte/images/kern1.jpg Binary files differnew file mode 100644 index 0000000..5c99664 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/kern1.jpg diff --git a/buch/chapters/40-eigenwerte/images/kern2.jpg b/buch/chapters/40-eigenwerte/images/kern2.jpg Binary files differnew file mode 100644 index 0000000..87d18ac --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/kern2.jpg diff --git a/buch/chapters/40-eigenwerte/images/kernbild.pdf b/buch/chapters/40-eigenwerte/images/kernbild.pdf Binary files differnew file mode 100644 index 0000000..2a321b2 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/kernbild.pdf diff --git a/buch/chapters/40-eigenwerte/images/kernbild.tex b/buch/chapters/40-eigenwerte/images/kernbild.tex new file mode 100644 index 0000000..4eced84 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/kernbild.tex @@ -0,0 +1,40 @@ +% +% kernbild.tex -- Kern und Bild einer Matrix +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\definecolor{darkgreen}{rgb}{0,0.4,0} +\definecolor{turqoise}{rgb}{0,0.3,0.6} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\begin{scope}[xshift=-3.5cm] +\node at (0,0) {\includegraphics[width=6.8cm]{bild2.jpg}}; + +\fill[color=white,opacity=0.8] (-3,-2.75) rectangle (-2,-2.3); +\node[color=orange] at (-2.5,-2.5) {$\mathcal{J}^1(A)$}; +\node at (3.3,0) {$x_1$}; +\node at (0.3,3.2) {$x_3$}; +\node[color=purple] at (2.3,0.6) [rotate=8] {$\mathcal{J}^2(A)$}; +\end{scope} + +\begin{scope}[xshift=3.5cm] +\node at (0,0) {\includegraphics[width=6.8cm]{kern2.jpg}}; +\node[color=darkgreen] at (1.8,2.2) [rotate=58] {$\mathcal{K}^1(A)$}; +\fill[color=white,opacity=0.8] (-1.5,0.8) rectangle (-0.5,1.2); +\node[color=turqoise] at (-1,1) {$\mathcal{K}^2(A)$}; +\node at (3.3,0) {$x_1$}; +\node at (0.3,3.2) {$x_3$}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/images/kernbild1.jpg b/buch/chapters/40-eigenwerte/images/kernbild1.jpg Binary files differnew file mode 100644 index 0000000..87e874e --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/kernbild1.jpg diff --git a/buch/chapters/40-eigenwerte/images/kernbild2.jpg b/buch/chapters/40-eigenwerte/images/kernbild2.jpg Binary files differnew file mode 100644 index 0000000..1160b31 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/kernbild2.jpg diff --git a/buch/chapters/40-eigenwerte/images/kombiniert.jpg b/buch/chapters/40-eigenwerte/images/kombiniert.jpg Binary files differnew file mode 100644 index 0000000..bebc36f --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/kombiniert.jpg diff --git a/buch/chapters/40-eigenwerte/images/kombiniert.pdf b/buch/chapters/40-eigenwerte/images/kombiniert.pdf Binary files differnew file mode 100644 index 0000000..91cee0b --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/kombiniert.pdf diff --git a/buch/chapters/40-eigenwerte/images/kombiniert.tex b/buch/chapters/40-eigenwerte/images/kombiniert.tex new file mode 100644 index 0000000..d850c64 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/kombiniert.tex @@ -0,0 +1,48 @@ +% +% kombiniert.tex -- Iterierte Kerne und Bilder +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\definecolor{darkgreen}{rgb}{0,0.4,0} +\definecolor{turqoise}{rgb}{0,0.3,0.6} +\def\skala{1} +\newboolean{showgrid} +\setboolean{showgrid}{false} +\def\breite{7} +\def\hoehe{7} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\node at (0,0) {\includegraphics[width=13.8cm]{kombiniert.jpg}}; + +\node at (6.6,-0.1) {$x_1$}; +\node at (0.3,6.7) {$x_3$}; + +\node[color=purple] at (4.8,1) [rotate=8] {$\mathcal{J}^2(A)$}; +\node[color=darkgreen] at (3.5,4.6) [rotate=58] {$\mathcal{K}^1(A)$}; + +\fill[color=white,opacity=0.8] (-2.3,3.8) rectangle (-1.3,4.2); +\node[color=turqoise] at (-1.8,4) {$\mathcal{K}^2(A)$}; + +\fill[color=white,opacity=0.8] (2.5,-5.75) rectangle (3.5,-5.3); +\node[color=orange] at (3,-5.5) {$\mathcal{J}^1(A)$}; + +%\node at G +% Gitter +\ifthenelse{\boolean{showgrid}}{ +\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe); +\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe); +\draw (-\breite,-\hoehe) grid (\breite, \hoehe); +\fill (0,0) circle[radius=0.05]; +}{} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/images/minmax.pdf b/buch/chapters/40-eigenwerte/images/minmax.pdf Binary files differnew file mode 100644 index 0000000..46ed28a --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/minmax.pdf 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/normalform.pdf b/buch/chapters/40-eigenwerte/images/normalform.pdf Binary files differnew file mode 100644 index 0000000..c5bdb61 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/normalform.pdf 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/sp.pdf b/buch/chapters/40-eigenwerte/images/sp.pdf Binary files differindex d4de984..b93b890 100644 --- a/buch/chapters/40-eigenwerte/images/sp.pdf +++ b/buch/chapters/40-eigenwerte/images/sp.pdf 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 Binary files differnew file mode 100644 index 0000000..751cf33 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/wurzel.pdf 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 Binary files differnew file mode 100644 index 0000000..01fa714 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/wurzelapprox.pdf 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/normalformen.tex b/buch/chapters/40-eigenwerte/normalformen.tex index c21c403..9169f65 100644 --- a/buch/chapters/40-eigenwerte/normalformen.tex +++ b/buch/chapters/40-eigenwerte/normalformen.tex @@ -330,9 +330,259 @@ Es ist das Polynom geringsten Grades über $\Bbbk'$, welches $m(A)=0$ erfüllt. \subsection{Reelle Normalform \label{buch:subsection:reelle-normalform}} +Wenn eine reelle Matrix $A$ komplexe Eigenwerte hat, ist die Jordansche +Normalform zwar möglich, aber die zugehörigen Basisvektoren werden ebenfalls +komplexe Komponenten haben. +Für eine rein reelle Rechnung ist dies nachteilig, da der Speicheraufwand +dadurch verdoppelt und der Rechenaufwand für Multiplikationen vervierfacht +wird. -\subsection{Obere Hessenberg-Form -\label{buch:subsection:obere-hessenberg-form}} +Die nicht reellen Eigenwerte von $A$ treten in konjugiert komplexen Paaren +$\lambda_i$ und $\overline{\lambda}_i$ auf. +Wir betrachten im Folgenden nur ein einziges Paar $\lambda=a+ib$ und +$\overline{\lambda}=a-ib$ von konjugiert komplexen Eigenwerten mit +nur je einem einzigen $n\times n$-Jordan-Block $J$ und $\overline{J}$. +Ist $\mathcal{B}=\{b_1,\dots,b_n\}$ die Basis für den Jordan-Block $J$, +dann kann man die Vektoren +$\overline{\mathcal{B}}=\{\overline{b}_1,\dots,\overline{b}_n\}$ als Basis für +$\overline{J}$ verwenden. +Die vereinigte Basis +$\mathcal{C} = \mathcal{B}\cup\overline{\mathcal{B}} += \{b_1,\dots,b_n,\overline{b}_1,\dots,\overline{b}_n\}$ +erzeugen einen $2n$-dimensionalen Vektorraum, +der direkte Summe der beiden von $\mathcal{B}$ und $\overline{\mathcal{B}}$ +erzeugen Vektorräume $V=\langle\mathcal{B}\rangle$ und +$\overline{V}=\langle\overline{\mathcal{B}}\rangle$ ist. +Es ist also +\[ +U=\langle \mathcal{C}\rangle += +V\oplus \overline{V}. +\] +Wir bezeichnen die lineare Abbildung mit den Jordan-Blöcken +$J$ und $\overline{J}$ wieder mit $A$. + +Auf dem Vektorraum $U$ hat die lineare Abbildung in der Basis +$\mathcal{C}$ die Matrix +\[ +A= +\begin{pmatrix} +J&0\\ +0&\overline{J} +\end{pmatrix} += +\begin{pmatrix} +\lambda& 1 & & & &&&&&\\ + &\lambda& 1 & & &&&&&\\ + & &\lambda&\ddots& &&&&&\\ + & & &\ddots& 1 &&&&&\\ + & & & &\lambda&&&&&\\ +&&&& &\overline{\lambda}&1&& & \\ +&&&& &&\overline{\lambda}&1& & \\ +&&&& &&&\overline{\lambda} &\dots& \\ +&&&& &&& &\dots&1\\ +&&&& &&& &&\overline{\lambda}\\ +\end{pmatrix}. +\] + +Die Jordan-Normalform bedeutet, dass +\[ +\begin{aligned} +Ab_1&=\lambda b_1 & + A\overline{b}_1 &= \overline{\lambda} \overline{b}_1 \\ +Ab_2&=\lambda b_2 + b_1 & + A\overline{b}_2 &= \overline{\lambda} \overline{b}_2 +\overline{b_1}\\ +Ab_3&=\lambda b_3 + b_2 & + A\overline{b}_3 &= \overline{\lambda} \overline{b}_3 +\overline{b_2}\\ + &\;\vdots & + &\;\vdots \\ +Ab_n&=\lambda b_n + b_{n-1} & + A\overline{b}_n &= \overline{\lambda} \overline{b}_n +\overline{b_{n-1}} +\end{aligned} +\] +Für die Linearkombinationen +\begin{equation} +\begin{aligned} +c_i &= \frac{b_i+\overline{b}_i}{\sqrt{2}}, +& +d_i &= \frac{b_i-\overline{b}_i}{i\sqrt{2}} +\end{aligned} +\label{buch:eigenwerte:eqn:reellenormalformumrechnung} +\end{equation} +folgt dann für $k>1$ +\begin{align*} +Ac_k +&= +\frac{Ab_k+A\overline{b}_k}{2} +& +Ad_k +&= +\frac{Ab_k-A\overline{b}_k}{2i} +\\ +&= +\frac1{\sqrt{2}}(\lambda b_k + b_{k-1} ++ \overline{\lambda}\overline{b}_k + \overline{b}_{k-1}) +& +&= +\frac1{i\sqrt{2}}(\lambda b_k + b_{k-1} +- \overline{\lambda}\overline{b}_k - \overline{b}_{k-1}) +\\ +&= +\frac1{\sqrt{2}}(\alpha b_k + i\beta b_k + \alpha \overline{b}_k -i\beta \overline{b}_k) ++ +c_{k-1} +& +&= +\frac1{i\sqrt{2}}( +\alpha b_k + i\beta b_k - \alpha \overline{b}_k +i\beta \overline{b}_k) ++ +d_{k-1} +\\ +&= +\alpha +\frac{b_k+\overline{b}_k}{\sqrt{2}} ++ +i \beta \frac{b_k-\overline{b}_k}{\sqrt{2}} ++ +c_{k-1} +& +&= +\alpha +\frac{b_k-\overline{b}_k}{i\sqrt{2}} ++ +i \beta \frac{b_k+\overline{b}_k}{i\sqrt{2}} ++ +d_{k-1} +\\ +&= \alpha c_k -\beta d_k ++ +c_{k-1} +& +&= \alpha d_k + \beta c_k ++ +d_{k-1}. +\end{align*} +Für $k=1$ fallen die Terme $c_{k-1}$ und $d_{k-1}$ weg. +In der Basis $\mathcal{D}=\{c_1,d_1,\dots,c_n,d_n\}$ hat die Matrix +also die {\em reelle Normalform} +\begin{equation} +\def\temp#1{\multicolumn{1}{|c}{#1\mathstrut}} +\def\semp#1{\multicolumn{1}{c|}{#1\mathstrut}} +A_{\text{reell}} += +\left( +\begin{array}{cccccccccccc} +\cline{1-4} +\temp{\alpha}& \beta&\temp{ 1}& 0&\temp{} & & & & & &&\\ +\temp{-\beta}&\alpha&\temp{ 0}& 1&\temp{} & & & & & &&\\ +\cline{1-6} + & &\temp{\alpha}& \beta&\temp{ 1}& 0&\temp{} & & & &&\\ + & &\temp{-\beta}&\alpha&\temp{ 0}& 1&\temp{} & & & &&\\ +\cline{3-6} + & & & &\temp{\alpha}& \beta&\temp{} & & & &&\\ + & & & &\temp{-\beta}&\alpha&\temp{} & & & &&\\ +\cline{5-8} + & & & & & &\temp{\phantom{0}}&\phantom{0}&\temp{ }& &&\\ + & & & & & &\temp{\phantom{0}}&\phantom{0}&\temp{ }& &&\\ +\cline{7-12} + & & & & & & & &\temp{\alpha}& \beta&\temp{ 1}&\semp{ 0}\\ + & & & & & & & &\temp{-\beta}&\alpha&\temp{ 0}&\semp{ 1}\\ +\cline{9-12} + & & & & & & & & & &\temp{\alpha}&\semp{ \beta}\\ + & & & & & & & & & &\temp{-\beta}&\semp{\alpha}\\ +\cline{11-12} +\end{array}\right). +\label{buch:eigenwerte:eqn:reellenormalform} +\end{equation} + +Wir bestimmen noch die Transformationsmatrix, die $A$ in die reelle +Normalform bringt. +Dazu beachten wir, dass die Vektoren $c_k$ und $d_k$ in der Basis +$\mathcal{B}$ nur in den Komponenten $k$ und $n+k$ von $0$ verschiedene +Koordinaten haben, nämlich +\[ +c_k += +\frac1{\sqrt{2}} +\left( +\begin{array}{c} +\vdots\\ 1 \\ \vdots\\\hline \vdots\\ 1\\\vdots +\end{array}\right) +\qquad\text{und}\qquad +d_k += +\frac1{i\sqrt{2}} +\left(\begin{array}{c} +\vdots\\ 1 \\ \vdots\\\hline\vdots\\-1\\\vdots +\end{array}\right) += +\frac1{\sqrt{2}} +\left(\begin{array}{c} +\vdots\\-i \\ \vdots\\\hline \vdots\\ i\\\vdots +\end{array}\right) +\] +gemäss \eqref{buch:eigenwerte:eqn:reellenormalformumrechnung}. +Die Umrechnung der Koordinaten von der Basis $\mathcal{B}$ in die Basis +$\mathcal{D}$ +wird daher durch die Matrix +\[ +S += +\frac{1}{\sqrt{2}} +\left(\begin{array}{cccccccccc} +1&-i& & & & & & & & \\ + & &1&-i& & & & & & \\ + & & & &1&-i& & & & \\ + & & & & & &\dots&\dots& & \\ + & & & & & & & &1&-i\\ +\hline +1& i& & & & & & & & \\ + & &1& i& & & & & & \\ + & & & &1& i& & & & \\ + & & & & & &\dots&\dots& & \\ + & & & & & & & &1& i\\ +\end{array}\right) +\] +vermittelt. +Der Nenner $\sqrt{2}$ wurde so gewählt, dass die +Zeilenvektoren der Matrix $S$ als komplexe Vektoren orthonormiert sind, +die Matrix $S$ ist daher unitär und hat die Inverse +\[ +S^{-1} += +S^* += +\frac{1}{\sqrt{2}} +\left(\begin{array}{ccccc|ccccc} + 1& & & & & 1& & & & \\ + i& & & & &-i& & & & \\ + & 1& & & & & 1& & & \\ + & i& & & & &-i& & & \\ + & & 1& & & & & 1& & \\ + & & i& & & & &-i& & \\ + & & &\dots& & & & &\dots& \\ + & & &\dots& & & & &\dots& \\ + & & & & 1& & & & & 1\\ + & & & & i& & & & &-i\\ +\end{array}\right). +\] +Insbesondere folgt jetzt +\[ +A += +S^{-1}A_{\text{reell}}S += +S^*A_{\text{reell}}S +\qquad\text{und}\qquad +A_{\text{reell}} += +SAS^{-1} += +SAS^*. +\] + +%\subsection{Obere Hessenberg-Form +%\label{buch:subsection:obere-hessenberg-form}} diff --git a/buch/chapters/40-eigenwerte/spektralradius.tex b/buch/chapters/40-eigenwerte/spektralradius.tex index bdc725f..a36dc33 100644 --- a/buch/chapters/40-eigenwerte/spektralradius.tex +++ b/buch/chapters/40-eigenwerte/spektralradius.tex @@ -3,9 +3,9 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswi % -\section{Funktionen einer Matrix -\label{buch:section:funktionen-einer-matrix}} -\rhead{Funktionen einer Matrix} +\section{Analytische Funktionen einer Matrix +\label{buch:section:analytische-funktionen-einer-matrix}} +\rhead{Analytische Funktionen einer Matrix} Eine zentrale Motivation in der Entwicklung der Eigenwerttheorie war das Bestreben, Potenzen $A^k$ auch für grosse $k$ effizient zu berechnen. diff --git a/buch/chapters/40-eigenwerte/spektraltheorie.tex b/buch/chapters/40-eigenwerte/spektraltheorie.tex index 4146505..466b99e 100644 --- a/buch/chapters/40-eigenwerte/spektraltheorie.tex +++ b/buch/chapters/40-eigenwerte/spektraltheorie.tex @@ -5,7 +5,798 @@ % \section{Spektraltheorie \label{buch:section:spektraltheorie}} -% Matrix-Exponentialfunktion -% Wurzel einer Matrix -% Beliebige Funktion f(A) für normale Matrizen +Aufgabe der Spektraltheorie ist, Bedingungen an eine Matrix $A$ und eine +Funktion $f(z)$ zu finden, unter denen es möglich ist, $f(A)$ auf +konsistente Art und Weise zu definieren. +Weiter müssen Methoden entwickelt werden, mit denen $f(A)$ berechnet +werden kann. +Für ein Polynom $p(z)$ ist $p(A)$ durch einsetzen definiert. +Für Funktionen, die sich nicht durch ein Polynom darstellen lassen, +muss eine Approximation der Funktion durch Polynome verwendet werden. +Sei also $p_n(z)$ eine Folge von Polynomen, die als Approximation der +Funktion $f(z)$ verwendet werden soll. +Das Ziel ist, $f(A)$ als den Grenzwert der Matrixfolge $p_n(A)$ +zu definieren. + +Zunächst ist nicht klar, wie eine solche Folge gewählt werden muss. +Es muss eine Teilmenge von $K\subset\mathbb{C}$ spezifiziert werden, +auf der die Funktionenfolge $p_n(z)$ konvergieren muss, +damit auch die Konvergenz der Matrizenfolge $p_n(A)$ garantiert ist. +Auch die Art der Konvergenz von $p_n(z)$ auf der Menge $K$ ist noch +unklar. +Da der Abstand zweier Matrizen $A$ und $B$ in der Operatornorm +mit der grössten Abweichung $\|(A-B)v\|$ für Einheitsvektoren $v$ +gemessen wird, ist es einigermassen plausibel, dass +die grösse Abweichung zwischen zwei Polynomen $|p(z) - q(z)|$ auf +der Menge $K$ kleine sein muss, wenn $\|p(A)-q(A)\|$ klein +sein soll. +Da die Differenz $p(z)-q(z)$ für beliebige Polynome, die sich nicht +nur um eine Konstante unterscheiden, mit $z$ über alle Grenzen wächst, +muss $K$ beschränkt sein. +Gesucht ist also eine kompakte Menge $K\subset\mathbb{C}$ und eine +Folge $p_n(z)$ von Polynomen, die auf $K$ gleichmässig gegen $f(z)$ +konvergieren. +Die Wahl von $K$ muss sicherstellen, dass für jede gleichmässig +konvergente Folge von Polynomen $p_n(z)$ auch die Matrizenfolge +$p_n(A)$ konvergiert. + +Es wird sich zeigen, dass die Menge $K$ das Spektrum von $A$ ist, +also eine endliche Teilmenge von $\mathbb{C}$. +Jede Funktion kann auf so einer Menge durch Polynome exakt wiedergegeben +werden. +Es gibt insbesondere Folgen von Polynomen, die eingeschränkt +auf das Spektrum gleich sind, also $p_n(z)=p_m(z)$ für alle $z\in K$, +die aber ausserhalb des Spektrums alle verschieden sind. +Als Beispiel kann die Matrix +\[ +N=\begin{pmatrix}0&1\\0&0\end{pmatrix} +\] +herangezogen werden. +Ihr Spektrum ist $\operatorname{Sp}(N)=\{0\}\subset\mathbb{C}$. +Zwei Polynome stimmen genau dann auf $\operatorname{Sp}(N)$ überein, +wenn der konstante Koeffizient gleich ist. +Die Polynome $p(z)=z$ und $q(z)=z^2$ stimmen daher auf dem Spektrum +überein. +Für die Matrizen gilt aber $p(N)=N$ und $q(N)=N^2=0$, die Matrizen +stimmen also nicht überein. +Es braucht also zusätzliche Bedingungen an die Matrix $A$, die +sicherstellen, dass $p(A)=0$ ist, wann immer $p(z)=0$ für +$z\in\operatorname{Sp}(A)$ gilt. + +In diesem Abschnitt sollen diese Fragen untersucht werden. +In Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +wird gezeigt, wie sich Funktionen durch Polynome approximieren +lassen, woraus sich dann Approximationen von $f(A)$ für diagonalisierbare +Matrizen mit reellen Eigenwerten ergeben. + +Der Satz von Stone-Weierstrass, der in +Abschnitt~\ref{buch:subsetion:stone-weierstrass} dargestellt wird, +ist ein sehr allgemeines Approximationsresultat, welches nicht nur +zeigt, dass die Approximation unter sehr natürlichen Voraussetzungen +beliebig genau möglich ist, sondern uns im komplexen Fall auch +weitere Einsicht dafür geben kann, welche Voraussetzungen an eine +komplexe Matrix gestellt werden müssen, damit man damit rechnen kann, +dass die Approximation zu einer konsistenten Definition von $f(A)$ führt. + +% +% Approximation +% +\subsection{Approximation durch Polynome +\label{buch:subsection:approximation-durch-polynome}} +Die der Berechnung von $f(A)$ für eine beleibige stetige Funktion, +die sich nicht als Potenzreihe schreiben lässt, verwendet Approximationen +von Polynomen. +Die numerische Mathematik hat eine grosse Menge von solchen +Approximationsverfahren entwickelt, wovon zwei kurz (ohne Beweise) +vorgestellt werden sollen. + +\subsubsection{Das Legendre-Interpolationspolynom} +Zu vorgegebenen, verschiedenen Zahlen $z_i\in\mathbb{C}$, $0\le i\le n$, +die auch die {\em Stützstellen} genannt werden, +gibt es immer ein Polynom vom Grade $n$, welches in den $z_i$ vorgegebene +Werte $f(z_i)$ annimmt. +Ein solches Polynom lässt sich im Prinzip mit Hilfe eines linearen +Gleichungssystems finden, man kann aber auch direkt eine Lösung +konstruieren. +Dazu bildet man erst die Polynome +\begin{align*} +l(z) &= (z-z_0)(z-z_1)\dots (z-z_n) \qquad\text{und} +\\ +l_i(z) &= (z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n). +\end{align*} +Darin bedeutet der Hut, dass dieser Term weggelassen werden soll. +Für $z\ne z_i$ ist $l_i(z)=l(z)/(z-z_i)$. +Die Polynome +\[ +k_i(z) += +\frac{l_i(z)}{l_i(z_i)} += +\frac{(z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n)}{(z_i-z_0)\dots \widehat{(z_i-z_i)}\dots (z_i-z_n)} +\] +haben die Eigenschaft +$k_i(z_j)=\delta_{ij}$. +Damit lässt sich jetzt ein Polynom +\[ +p(z) = \sum_{j=0}^n f(z_j) \frac{l_j(z)}{l_j(z_j)} +\] +vom Grad $n$ konstruieren, welches die Werte +\[ +p(z_i) += +\sum_{j=0}^n f(z_j) \frac{l_j(z_i)}{l_j(z_j)} += +\sum_{j=0}^n f(z_j) \delta_{ij} += +f_(z_i) +\] +annimmt. +Das Polynom $p(z)$ heisst das {\em Legendre-Interpolationspolynom}. + +Zwar lässt sich also für eine endliche Menge von komplexen Zahlen immer +ein Polynom finden, welches vorgeschriebene Wert in allen diesen Zahlen +annimmt, doch ist die Stabilität für grosse $n$ eher beschränkt. + + +\subsubsection{Gleichmassige Approximation mit Bernstein-Polynomen} +Das Legendre-Interpolationspolynom nimmt in den Stützstellen die +verlangten Werte an, aber ausserhalb der Stützstellen ist nicht +garantiert, dass man eine gute Approximation einer Funktion $f(z)$ +erhält. + +Für die Approximation auf einem reellen Interval $[a,b]$ hat +Sergei Natanowitsch Bernstein ein +Dazu werden zuerst die reellen Bernsteinpolynome vom Grad $n$ +durch +\begin{align*} +B_{i,n}(t) = \binom{n}{i} t^i(1-t)^{n-i}. +\end{align*} +definiert. +Als Approximationspolynom für die auf dem Interval +$[0,1]$ definierte, stetige Funktion $f(t)$ kann man dann +\[ +B_n(f)(t) += +\sum_{i=0}^n B_{i,n}(t) f\biggl(\frac{i}{n}\biggr) +\] +verwenden. +Die Polynome $B_n(f)(t)$ konvergieren gleichmässig auf $[0,1]$ +gegen die Funktion $f(t)$. +Über die Konvergenz ausserhalb des reellen Intervalls wird nichts +ausgesagt. +Die Approximation mit Bernstein-Polynomen ist daher nur sinnvoll, +wenn man weiss, dass die Eigenwerte der Matrix reell sind, was im +wesentlichen auf diagonalisierbare Matrizen führt. + +Für ein anderes Interval $[a,b]$ kann man ein Approximationspolynom +erhalten, indem man die affine Transformation +$s\mapsto (s-a)/(b-a)$ +von $[a,b]$ auf $[0,1]$ +verwendet. + +% +% Der Satz von Stone-Weierstrass +% +\subsection{Der Satz von Stone-Weierstrasss +\label{buch:subsetion:stone-weierstrass}} +Der Satz von Stone-Weierstrass behandelt im Gegensatz zu den in +Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +besprochenen Approximationsmethoden nicht nur Funktionen von +reellen Variablen durch Polynome. +Vielmehr kann das Definitionsgebiet irgend eine abgeschlossene +und beschränkte Teilmenge eines reellen oder komplexen Vektorraumes +sein und die Funktionen können Polynome aber auch viel allgemeinere +Funktionen verwendet werden, wie zum Beispiel die Funktionen +$x\mapsto \cos nx$ und $x\mapsto \sin nx$ definiert auf dem +Intervall $[0,2\pi]$. +In diesem Fall liefert der Satz von Stone-Weierstrass die Aussage, +dass sich jede stetige periodische Funktion gleichmässig durch +trigonometrische Polynome approximieren lässt. + +Die Aussage des Satz von Stone-Weierstrass über reelle Funktionen +lässt sich nicht auf komplexe Funktionen erweitern. +Von besonderem Interesse ist jedoch, dass der Beweis des Satz +zeigt, warum solche Aussagen für komplexe Funktionen nicht mehr +zutreffen. +Im Falle der Approximation von komplexen Funktionen $f(z)$ durch Polynome +zwecks Definition von $f(A)$ werden sich daraus Bedingungen an die +Matrix ableiten lassen, die eine konsistente Definition überhaupt +erst ermöglichen werden. + +\subsubsection{Punkte trennen} +Aus den konstanten Funktionen lassen sich durch algebraische +Operationen nur weitere konstante Funktionen erzeugen. +Die konstanten Funktionen sind also nur dann eine genügend +reichhaltige Menge, wenn die Menge $K$ nur einen einzigen Punkt +enthält. +Damit sich Funktionen approximieren lassen, die in zwei Punkten +verschiedene Werte haben, muss es auch unter den zur Approximation +zur Verfügung stehenden Funktionen solche haben, deren Werte sich +in diesen Punkten unterscheiden. +Diese Bedingung wird in der folgenden Definition formalisiert. + +\begin{definition} +Sei $K$ eine beliebige Menge und $A$ eine Menge von Funktionen +$K\to \mathbb{C}$. +Man sagt, $A$ {\em trennt die Punkte von $K$}, wenn es für jedes Paar +\index{Punkte trennen}% +von Punkten $x,y\in K$ eine Funktion $f\in A$ gibt derart, dass +$f(x)\ne f(y)$. +\end{definition} + +Man kann sich die Funktionen $f$, die gemäss dieser Definition die Punkte +von $K$ trennen, als eine Art Koordinaten der Punkte in $K$ vorstellen. +Die Punkte der Teilmenge $K\subset \mathbb{R}^n$ werden zum Beispiel +von den Koordinatenfunktionen $x\mapsto x_i$ getrennt. +Wir schreiben für die $i$-Koordinate daher auch als Funktion $x_i(x)=x_i$. +Zwei verschiedene Punkte $x,y\in K$ unterscheiden sich in mindestens +einer Koordinate. +Für diese Koordinate sind dann die Werte der zugehörigen +Koordinatenfunktion $x_i=x_i(x)\ne x_i(y)=y_i$ verschieden, die +Funktionen $x_1(x)$ bis $x_n(x)$ trennen also die Punkte. + +\begin{beispiel} +Wir betrachten einen Kreis in der Ebene, also die Menge +\[ +S^1 += +\{(x_1,x_2)\;|\; x_1^2 + x_2^2=1\} +\] +$S^1$ ist eine abgeschlossene und beschränkte Menge in $\mathbb{R}^2$. +Die Funktion $x\mapsto x_1$ trennt die Punkte nicht, denn zu jedem +Punkt $(x_1,x_2)\in S^2$ gibt es den an der ersten Achse +gespiegelten Punkt $\sigma(x)=(x_1,-x_2)$, dessen erste Koordinate +den gleichen Wert hat. +Ebenso trennt die Koordinatenfunktion $x\mapsto x_2$ die Punkte nicht. +Die Menge $A=\{ x_1(x), x_2(x)\}$ bestehend aus den beiden +Koordinatenfunktionen trennt dagegen die Punkte von $S^1$, da die Punkte +sich immer in mindestens einem Punkt unterscheiden. + +Man könnte auch versuchen, den Kreis in Polarkoordinaten zu beschreiben. +Die Funktion $\varphi(x)$, die jedem Punkt $x\in S^1$ den Polarwinkel +zuordnet, trennt sicher die Punkte des Kreises. +Zwei verschiedene Punkte auf dem Kreis haben verschieden Polarwinkel. +Die Menge $\{\varphi\}$ trennt also die Punkte von $S^1$. +Allerdings ist die Funktion nicht stetig, was zwar der Definition +nicht widerspricht aber ein Hindernis für spätere Anwendungen ist. +\end{beispiel} + + +\subsubsection{Der Satz von Stone-Weierstrass für reelle Funktionen} +Die Beispiele von Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +haben bezeigt, dass sich reellwertige Funktionen einer reellen +Variable durch Polynome beliebig genau approximieren lassen. +Es wurde sogar eine Methode vorgestellt, die eine auf einem Intervall +gleichmässig konvergente Polynomefolge produziert. +Die Variable $x\in[a,b]$ trennt natürlich die Punkte, die Algebra der +Polynome in der Variablen $x$ enthält also sicher Funktionen, die in +verschiedenen Punkten des Intervalls auch verschiedene Werte annehmen. +Nicht ganz so selbstverständlich ist aber, dass sich daraus bereits +ergibt, dass jede beliebige Funktion sich als Polynome in $x$ +approximieren lässt. +Dies ist der Inhalt des folgenden Satzes von Stone-Weierstrass. + +\begin{figure} +\centering +\includegraphics{chapters/40-eigenwerte/images/wurzel.pdf} +\caption{Konstruktion einer monoton wachsenden Approximationsfolge für +$\sqrt{a}$ +\label{buch:eigenwerte:fig:wurzelverfahren}} +\end{figure} + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/wurzelapprox.pdf} +\caption{Monoton wachsende Approximation der Funktion $t\mapsto\sqrt{t}$ mit +Polynomen $u_n(t)$ nach +\eqref{buch:eigenwerte:eqn:wurzelapproximation} +(links) und der Fehler der Approximation +(rechts). +\label{buch:eigenwerte:fig:wurzelapproximation}} +\end{figure} + +\begin{satz}[Stone-Weierstrass] +\label{buch:satz:stone-weierstrass} +Enthält eine $\mathbb{R}$-Algebra $A$ von stetigen, rellen Funktionen +auf einer kompakten Menge $K$ die konstanten Funktionen und trennt sie +Punkte, d.~h.~für zwei verschiedene Punkte $x,y\in K$ gibt es +immer eine Funktion $f\in A$ mit $f(x)\ne f(y)$, dann ist jede stetige, +reelle Funktion auf $K$ gleichmässig approximierbar durch Funktionen +in $A$. +\end{satz} + +Für den Beweis des Satzes wird ein Hilfsresultat benötigt, welches wir +zunächst ableiten. +Es besagt, dass sich die Wurzelfunktion $t\mapsto\sqrt{t}$ +auf dem Interval $[0,1]$ gleichmässig +von unten durch Polynome approximieren lässt, die in +Abbildung~\ref{buch:eigenwerte:fig:wurzelapproximation} dargestellt +sind. + +\begin{satz} +Die rekursiv definierte Folge von Polynomen +\begin{equation} +u_{n+1}(t) += +u_n(t) + \frac12(t-u_n(t)^2), +\qquad +u_0(t)=0 +\label{buch:eigenwerte:eqn:wurzelapproximation} +\end{equation} +ist monoton wachsend und approximiert die Wurzelfunktion $t\mapsto\sqrt{t}$ +gleichmässig auf dem Intervall $[0,1]$. +\end{satz} + +\begin{figure} +\centering +\includegraphics{chapters/40-eigenwerte/images/minmax.pdf} +\caption{Graphische Erklärung der +Identitäten~\eqref{buch:eigenwerte:eqn:minmax} für +$\max(f(x),g(x))$ und $\min(f(x),g(x))$. +Die purpurrote Kurve stellt den Mittelwert von $f(x)$ und $g(x)$ dar, +die vertikalen grünen Linien haben die Länge der Differenz $|f(x)-g(x)|$. +Das Maximum erhält man, indem man den halben Betrag der Differenz zum +Mittelwert hinzuaddiert, das Minimum erhält man durch Subtraktion +der selben Grösse. +\label{buch:eigenwerte:fig:minmax}} +\end{figure} + +\begin{proof}[Beweis] +Wer konstruieren zunächst das in +Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} +visualierte Verfahren, mit dem für jede Zahl $a\in[0,1]$ +die Wurzel $\sqrt{a}$ berechnet werden kann. +Sei $u < \sqrt{a}$ eine Approximation der Wurzel. +Die Approximation ist der exakte Wert der Lösung, wenn $a-u^2=0$. +In jedem anderen Fall muss $u$ um einen Betrag $d$ vergrössert werden. +Natürlich muss immer noch $u+d<\sqrt{a}$ sein. +Man kann die maximal zulässige Korrektur $d$ geometrisch abschätzen, +wie dies in Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} +skizziert ist. +Die maximale Steigung des Graphen der Funktion $u\mapsto u^2$ ist $2$, +daher darf man $u$ maximal um die Hälfte der Differenz $a-u^2$ (grün) +vergrössern, also $d=\frac12(a-u^2)$. +Die Rekursionsformel +\[ +u_{n+1} = u_n + d = u_n + \frac12(a-u_n^2) +\] +mit dem Startwert $u_0=0$ liefert daher eine +Folge, die gegen $\sqrt{a}$ konvergiert. +\end{proof} + +\begin{proof}[Beweis des Satzes von Stone-Weierstrass] +Da $A$ eine Algebra ist, ist mit jeder Funktion $f\in A$ für jedes Polynome +$p\in\mathbb{R}[X]$ auch $p(f)$ eine Funktion in $A$. +\begin{enumerate} +\item Schritt: Für jede Funktion $f\in A$ lässt sich auch $|f|$ durch +Funktionen in $A$ beliebig genau durch eine monoton wachsende Folge +von Funktionen approximieren. + +Da $A$ eine Algebra ist, ist $f^2\in A$. +Sei ausserdem $m^2=\sup \{f(x)^2\;|\;x\in K\}$, so dass $f^2/m^2$ eine Funktion +mit Werten im Intervall $[0,1]$ ist. +Die Funktionen $f_n(x)=mu_n(f(x)^2/m^2)$ sind ebenfalls in $A$ und +approximieren gleichmässig $\sqrt{f(x)^2}=|f(x)|$. +\item Schritt: Für zwei Funktionen $f,g\in A$ gibt es eine monoton wachsende +Folge, die $\max(f,g)$ gleichmässig beliebig genau approximiert +und eine monoton fallende Folge, die $\min(f,g)$ gleichmässig beliebig +genau approximiert. + + +Diese Folgen können aus der Approximationsfolge für den Betrag einer +Funktion und den Identitäten +\begin{equation} +\begin{aligned} +\max(f,g) &= \frac12(f+g+|f-g|) \\ +\min(f,g) &= \frac12(f+g-|f-g|) +\end{aligned} +\label{buch:eigenwerte:eqn:minmax} +\end{equation} +gefunden werden, die in Abbildung~\ref{buch:eigenwerte:fig:minmax} +graphisch erklärt werden. +\item Schritt: Zu zwei beliebigen Punkten $x,y\in K$ und Werten +$\alpha,\beta\in\mathbb{R}$ gibt es immer eine Funktion in $A$, +die in den Punkten $x,y$ die vorgegebenen Werte $\alpha$ bzw.~$\beta$ +annimmt. +Da $A$ die Punkte trennt, gibt es eine Funktion $f_0$ mit $f_0(x)\ne f_0(y)$. +Dann ist die Funktion +\[ +f(t) += +\beta + \frac{f_0(t)-f_0(y)}{f_0(x)-f_0(y)}(\alpha-\beta) +\] +wohldefiniert und nimmt die verlangten Werte an. +\item Schritt: Zu jeder stetigen Funktion $f\colon K\to\mathbb{R}$, jedem +Punkt $x\in K$ und jedem $\varepsilon>0$ gibt es eine Funktion $g\in A$ derart, +dass $g(x)=f(x)$ und $g(y) \le f(y)+\varepsilon$ für alle $y\in K$. + +Zu jedem $z\in K$ gibt es eine Funktion in $A$ mit +$h_z(x)=f(x)$ und $h_z(z) \le f(z)+\frac12\varepsilon$. +Wegen der Stetigkeit von $h_z$ gibt es eine Umgebung $V_z$ von $z$, in der +immer noch gilt $h_z(y)\le f(y)+\varepsilon$ für $y\in V_z$. +Wegen der Kompaktheit von $K$ kann man endlich viele Punkte $z_i$ wählen +derart, dass die $V_{z_i}$ immer noch $K$ überdecken. +Dann erfüllt die Funktion +\( +g(z) = \inf h_{z_i} +\) +die Bedingungen $g(x) = f(x)$ und für $z\in V_{z_i}$ +\[ +g(z) = \inf_{j} h_{z_j}(z) \le h_{z_i}(z) \le f(z)+\varepsilon. +\] +Ausserdem ist $g(z)$ nach dem zweiten Schritt beliebig genau durch +Funktionen in $A$ approximierbar. +\item Schritt: Jede stetige Funktion $f\colon K\to\mathbb{R}$ kann +beliebig genau durch Funktionen in $A$ approximiert werden. +Sei $\varepsilon > 0$. + +Nach dem vierten Schritt gibt es für jedes $y\in K$ eine Funktion $g_y$ +derart, dass $g_y(y)=f(y)$ und $g_y(x) \le f(x) + \varepsilon$ für +$x\in K$. +Da $g_y$ stetig ist, gilt ausserdem $g_y(x) \ge f(x) -\varepsilon$ in +einer Umgebung $U_y$ von $y$. +Da $K$ kompakt ist, kann man endlich viele $y_i$ derart, dass die $U_{y_i}$ +immer noch ganz $K$ überdecken. +Die Funktion $g=\sup g_{y_i}$ erfüllt dann überall $g(x) \le f(x)+\varepsilon$, +weil jede der Funktionen $g_y$ diese Ungleichung erfüllt. +Ausserdem gilt für $x\in V_{x_j}$ +\[ +g(x) = \sup_i g_{x_i}(x) \ge g_{x_j}(x) \ge f(x)-\varepsilon. +\] +Somit ist +\[ +|f(x)-g(x)| \le \varepsilon. +\] +Damit ist $f(x)$ beliebig nahe an der Funktion $g(x)$, die sich +beliebig genau durch Funktionen aus $A$ approximieren lässt. +\qedhere +\end{enumerate} +\end{proof} + +Im ersten Schritt des Beweises ist ganz entscheidend, dass man die +Betragsfunktion konstruieren kann. +Daraus leiten sich dann alle folgenden Konstruktionen ab. + +\subsubsection{Anwendung auf symmetrische und hermitesche Matrizen} +Für symmetrische und hermitesche Matrizen $A$ ist bekannt, dass die +Eigenwerte reell sind, also das Spektrum $\operatorname{A}\subset\mathbb{R}$ +ist. +Für eine Funktion $\mathbb{R}\to \mathbb{R}$ lässt sich nach dem +Satz~\ref{buch:satz:stone-weierstrass} immer eine Folge $p_n$ von +approximierenden Polynomen in $x$ finden, die auf $\operatorname{Sp}(A)$ +gleichmässig konvergiert. +Die Matrix $f(A)$ kann dann definiert werden also der Grenzwert +\[ +f(A) = \lim_{n\to\infty} p_n(A). +\] +Da diese Matrizen auch diagonalisierbar sind, kann man eine Basis +aus Eigenvektoren verwenden. +Die Wirkung von $p_n(A)$ auf einem Eigenvektor $v$ zum Eigenwert $\lambda$ +ist +\[ +p_n(A)v += +(a_kA^k + a_{k-1}A^{k-1}+\dots +a_2A^2+a_1A+a_0I)v += +(a_k\lambda^k + a_{k-1}\lambda^{k-1}+\dots + a_2\lambda^2 + a_1\lambda + a_0)v += +p_n(\lambda)v. +\] +Im Grenzwert wirkt $f(A)$ daher durch Multiplikation eines Eigenvektors +mit $f(\lambda)$, die Matrix $f(A)$ hat in der genannten Basis die +Diagonalform +\[ +A=\begin{pmatrix} +\lambda_1& & & \\ + &\lambda_2& & \\ + & &\ddots& \\ + & & &\lambda_n +\end{pmatrix} +\qquad\Rightarrow\qquad +f(A)=\begin{pmatrix} +f(\lambda_1)& & & \\ + &f(\lambda_2)& & \\ + & &\ddots& \\ + & & &f(\lambda_n) +\end{pmatrix}. +\] + +\begin{satz} +\label{buch:eigenwerte:satz:spektralsatz} +Ist $A$ symmetrische oder selbstadjungiert Matrix und $f$ eine Funktion +auf dem Spektrum $\operatorname{Sp}(A)$ von $A$. +Dann gibt es genau eine Matrix $f(A)$, die Grenzwert jeder beliebigen +Folge $p_n(A)$ für Polynomfolgen, die $\operatorname{Sp}(A)$ gleichmässig +gegen $f$ konvergieren. +\end{satz} + +\subsubsection{Unmöglichkeit der Approximation von $z\mapsto \overline{z}$ +in $\mathbb{C}[z]$} +Der Satz~\ref{buch:satz:stone-weierstrass} von Stone-Weierstrass für +reelle Funktionen gilt nicht für komplexe Funktionen. +In diesem Abschnitt zeigen wir, dass sich die Funktion $z\mapsto\overline{z}$ +auf der Einheitskreisscheibe $K=\{z\in\mathbb{C}\;|\; |z|\le 1\}$ nicht +gleichmässig durch Polynome $p(z)$ mit komplexen Koeffizienten approximieren +lässt. + +Wäre eine solche Approximation möglich, dann könnte man $\overline{z}$ +auch durch eine Potenzreihe +\[ +\overline{z} += +\sum_{k=0}^\infty a_kz^k +\] +darstellen. +Das Wegintegral beider Seiten über den Pfad $\gamma(t) = e^{it}$ +in der komplexen Ebene ist +\begin{align*} +\oint_\gamma z^k\,dz +&= +\int_0^{2\pi} e^{ikt} ie^{it}\,dt += +i\int_0^{2\pi} e^{it(k+1)}\,dt += +i\biggl[ \frac{1}{i(k+1)} e^{it(k+1)}\biggr]_0^{2\pi} += +0 +\\ +\oint_\gamma +\sum_{k=0}^\infty a_kz^k +\,dz +&= +\sum_{k=0}^\infty a_k \oint_\gamma z^k\,dz += +\sum_{k=0}^\infty a_k\cdot 0 += +0 +\\ +\oint_\gamma \overline{z}\,dz +&= +\int_0^{2\pi} e^{it} ie^{it}\,dt += +i\int_0^{2\pi} \,dt = 2\pi i, +\end{align*} +dabei wurde $\overline{\gamma}(t)=e^{-it}$ verwendet. +Insbesondere widersprechen sich die beiden Integrale. +Die ursprüngliche Annahmen, $\overline{z}$ lasse sich durch Polynome +gleichmässig approximieren, muss daher verworfen werden. + +\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen} +Der Satz von Stone-Weierstrass kann nach dem vorangegangene Abschnitt +also nicht gelten. +Um den Beweis des Satzes~\ref{buch:satz:stone-weierstrass} +auf komplexe Zahlen zu übertragen, muss im ersten Schritt ein Weg +gefunden werden, den Betrag einer Funktion zu approximieren. + +Im reellen Fall geschah dies, indem zunächst eine Polynom-Approximation +für die Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer +Funktion angewendet wurde. +Der Betrag einer komplexen Zahl $z$ ist aber nicht allein aus $z$ +berechenbar, man braucht in irgend einer Form Zugang zu Real- +und Imaginärteil. +Zum Beispiel kann man Real- und Imaginärteil als +$\Re z= \frac12(z+\overline{z})$ und $\Im z = \frac12(z-\overline{z})$ +bestimmen. +Kenntnis von Real- und Imaginärteil ist als gleichbedeutend mit +der Kenntnis der komplex Konjugierten $\overline{z}$. +Der Betrag lässt sich daraus als $|z|^2 = z\overline{z}$ finden. +Beide Beispiele zeigen, dass man den im Beweis benötigten Betrag +nur dann bestimmen kann, wenn mit jeder Funktion aus $A$ auch die +komplex konjugierte Funktion zur Verfügung steht. + +\begin{satz}[Stone-Weierstrass] +Enthält eine $\mathbb{C}$-Algebra $A$ von stetigen, komplexwertigen +Funktionen auf einer kompakten Menge $K$ die konstanten Funktionen, +trennt sie Punkte und ist ausserdem mit jeder Funktion $f\in A$ auch +die komplex konjugiert Funktion $\overline{f}\in A$, +dann lässt sich jede stetige, komplexwertige Funktion +auf $K$ gleichmässig durch Funktionen aus $A$ approximieren. +\end{satz} + +Mit Hilfe der konjugiert komplexen Funktion lässt sich immer eine +Approximation für die Betragsfunktion finden, so dass sich der +Beweis des reellen Satzes von Stone-Weierstrass übertragen lässt. + +% +% Normale Matrizen +% +\subsection{Normale Matrizen +\label{buch:subsection:normale-matrizen}} +Aus dem Satz von Stone-Weierstrass für komplexe Matrizen kann man +jetzt einen Spektralsätze für eine etwas grössere Klasse von Matrizen +ableiten, als im Satz~\ref{buch:eigenwerte:satz:spektralsatz} +möglich war. +Der Satz besagt, dass für eine beliebige Funktion $f$ auf dem Spektrum +$\operatorname{Sp}(A)$ eine Folge von auf $\operatorname{Sp}(A)$ +gleichmässig konvergenten, approximierenden Polynomen +$p_n(z,\overline{z})$ gefunden werden kann. +Doch wie soll jetzt aus dieser Polynomfolge ein Kandidat von $f(A)$ +gefunden werden? + +Zunächst stellt sich die Frage, was für die Variable $\overline{z}$ +eingesetzt werden soll. +$1\times 1$-Matrizen sind notwendigerweise diagonal, also muss +man in diesem Fall die Matrix $\overline{A}$ für die Variable +$\overline{z}$ eingesetzt werden. +Dies erklärt aber noch nicht, wie für $n\times n$-Matrizen +vorzugehen ist, wenn $n>1$ ist. + +Die Notwendigkeit, die Variable $\overline{z}$ hinzuzunehmen +ergab sich aus der Anforderung, dass der Betrag aus $|z|^2=z\overline{z}$ +konstruiert werden können muss. +Insbesondere muss beim Einsetzen eine Matrix entstehen, die nur +positive Eigenwerte hat. +Für eine beliebige komplexe $n\times n$-Matrix $A$ ist aber +$A\overline{A}$ nicht notwendigerweise positiv, wie das Beispiel +\[ +A += +\begin{pmatrix}0&i\\i&0\end{pmatrix} +\qquad +\Rightarrow +\qquad +A\overline{A} += +\begin{pmatrix}0&i\\-i&0\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} += +\begin{pmatrix} +-1&0\\ + 0&-1 +\end{pmatrix} += +-I +\] +zeigt. +Eine positive Matrix entsteht dagegen immer, wenn man statt +$A$ die Adjungierte $A^*=\overline{A}^t$ verwendet. + +Die Substitution von $A$ für $z$ und $A^*$ für $\overline{z}$ +in einem Polynom $p(z,\overline{z})$ ist nicht unbedingt eindeutig. +Schon das Polynom $p(z,\overline{z})=z\overline{z}$ kann man auch +als $\overline{z}z$ schreiben. +Damit die Substition eindeutig wird, muss man also fordern, dass +$AA^* = A^*A$ ist. + +\begin{definition} +Eine Matrix $A\in M_n(\mathbb{C})$ heisst {\em normal}, wenn $AA^*=A^*A$ gilt. +\end{definition} + +\subsubsection{Beispiele normaler Matrizen} + +\begin{enumerate} +\item +Hermitesche und Antihermitesche Matrizen sind normal, denn solche +Matrizen erfüllen $A^*=\pm A$ und damit +\( +AA^* = \pm A^2 = A^*A. +\) +\item +Symmetrische und antisymmetrische Matrizen sind normal, +denn aus $A=A^t$ folgt $A^*=\overline{A}^t$ und damit +\begin{align*} +AA^* &= A\overline{A}^t = +\\ +A^*A &= +\end{align*} +\item +Unitäre Matrizen $U$ sind normal, das $UU^*=I=U^*U$ gilt. +\item +Orthogonale Matrizen sind normal wegen $O(n) = U(n) \cap M_n(\mathbb{R})$. +\end{enumerate} + +Jede Matrix lässt sich durch Wahl einer geeigneten Basis in Jordansche +Normalform bringen. +Allerdings sind Jordan-Blöcke keine normalen Matrizen, wie der folgende +Satz zeigt. + +\begin{satz} +Eine Dreiecksmatrix ist genau dann normal, wenn sie diagonal ist. +\end{satz} + +\begin{proof}[Beweis] +Sei $A$ eine obere Dreiecksmatrix, das Argument für eine untere Dreiecksmatrix +funktioniert gleich. +Wir berechnen ein Diagonalelement für beide Produkte $AA^*$ und $A^*A$. +Dazu brauchen wir die Matrixelemente von $A$ und $A^*$. +Bezeichnen wir die Matrixelemente von $A$ mit $a_{ij}$, dann hat $A^*$ +die Matrixelemente $(A^*)_{ij}=\overline{a}_{ji}$. +Damit kann man die Diagonalelemente der Produkte als +\begin{align*} +(AA^*)_{ii} +&= +\sum_{j=1}^n a_{ij}\overline{a}_{ij} += +\sum_{j=i}^n |a_{ij}|^2 +\\ +(A^*A)_{ii} +&= +\sum_{j=1}^n \overline{a}_{ji}a_{ji} += +\sum_{j=1}^i |a_{ji}|^2 +\end{align*} +ausrechnen. +Der obere Ausdruck ist die quadrierte Länge der Zeile $i$ der Matrix $A$, +der untere ist die quadrierte Länge der Spalte $i$. +Da die Matrix eine obere Dreiecksmatrix ist, hat die erste Spalte höchstens +ein einziges von $0$ verschiedenes Element. +Daher kann auch die erste Zeile höchstens dieses eine Elemente haben. +Die Matrix hat daher Blockstruktur mit einem $1\times 1$-Block in der +linken obere Ecke und einem $n-1$-dimensionalen Block für den Rest. +Durch Wiederholen des Arguments für den $(n-1)\times (n-1)$-Block +kann man so schrittweise schliessen, dass die Matrix $A$ diagonal sein muss. +\end{proof} + + +\begin{satz} +Sind $A$ und $B$ normale Matrizen und $AB^*=B^*A$, dann sind auch $A+B$ +und $AB$ normal. +\end{satz} + +\begin{proof}[Beweis] +Zunächst folgt aus $AB^*=B^*A$ auch +$A^*B = (B^*A)^* = (AB^*)^* = BA^*$. +Der Beweis erfolgt durch Nachrechnen: +\begin{align*} +(A+B)(A+B)^* +&= +AA^* + AB^* + BA^*+BB^* +\\ +(A+B)^*(A+B) +&= +A^*A + A^*B + B^*A + B^*B +\end{align*} +Die ersten und letzten Terme auf der rechten Seite stimmen überein, weil +$A$ und $B$ normal sind. +Die gemischten Terme stimmen überein wegen der Vertauschbarkeit von +$A$ und $B^*$. + +Für das Produkt rechnet man +\begin{align*} +(AB)(AB)^* +&= ABB^*A^* = AB^*BA^* += B^*AA^*B += +B^*A^*AB += +(AB)^*(AB), +\end{align*} +was zeigt, dass auch $AB$ normal ist. +\end{proof} + +\subsubsection{Äquivalente Bedingungen} +Es gibt eine grosse Zahl äquivalenter Eigenschaften für normale Matrizen. +Die folgenden Eigenschaften sind äquivalent: +\begin{enumerate} +\item +Die Matrix $A$ ist mit einer unitären Matrix diagonalisierbar +\item +Es gibt eine orthonormale Basis von Eigenvektoren von $A$ für $\mathbb{C}^n$ +\item +Für jeden Vektor $x\in\mathbb{C}^n$ gilt $\|Ax\|=\|A^*x\|$ +\item +Die Forbenius-Norm der Matrix $A$ kann mit den Eigenwerten $\lambda_i$ +von $A$ berechnet werden: +$\operatorname{Spur}(A^*A) = \sum_{i=1}^n |\lambda_i|^2$ +\item +Der hermitesche Teil $\frac12(A+A^*)$ und der antihermitesche Teil +$\frac12(A-A^*)$ von $A$ vertauschen. +\item +$A^*$ ist ein Polynom vom Grad $n-1$ in $A$. +\item +Es gibt eine unitäre Matrix $U$ derart, dass $A^*=AU$ +\item +Es gibt eine Polarzerlegugn $A=UP$ mit einer unitären Matrix $U$ und +einer postiv semidefiniten Matrix $P$, die untereinander vertauschen. +\item +Es gibt eine Matrix $N$ mit verschiedenen Eigenwerten, mit denen $A$ +vertauscht. +\item +Wenn $A$ die (absteigend geordneten) singulärwerte $\sigma_i$ und +die absteigend geordneten Eigenwerte $\lambda_i$ hat, +dann it $\sigma_i=|\lambda_i|$. +\end{enumerate} + + + diff --git a/buch/chapters/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/40-eigenwerte/uebungsaufgaben/4004.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4004.tex new file mode 100644 index 0000000..5940b46 --- /dev/null +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4004.tex @@ -0,0 +1,72 @@ +Berechnen Sie $\sin At$ für die Matrix +\[ +A=\begin{pmatrix} +\omega& 1 \\ + 0 &\omega +\end{pmatrix}. +\] +Kontrollieren Sie Ihr Resultat, indem Sie den Fall $\omega = 0$ gesondert +ausrechnen. +\begin{hinweis} +Schreiben Sie $A=\omega I + N$ mit einer nilpotenten Matrix. +\end{hinweis} + +\begin{loesung} +Man muss $At$ in die Potenzreihe +\[ +\sin z = z - \frac{z^3}{3!} + \frac{z^5}{5!} - \frac{z^7}{7!} + \dots +\] +für die Sinus-Funktion einsetzen. +Mit der Schreibweise $A=\omega I + N$, wobei $N^2=0$ können die Potenzen etwas +leichter berechnet werden: +\begin{align*} +A^0 &= I +\\ +A^1 &= \omega I + N +\\ +A^2 &= \omega^2 I + 2\omega N +\\ +A^3 &= \omega^3 I + 3\omega^2 N +\\ +A^4 &= \omega^4 I + 4\omega^3 N +\\ +&\phantom{a}\vdots +\\ +A^k &= \omega^k I + k\omega^{k-1} N +\end{align*} +Damit kann man jetzt $\sin At$ berechnen: +\begin{align} +\sin At +&= +At - \frac{A^3t^3}{3!} + \frac{A^5t^5}{5!} - \frac{A^7t^7}{7!} +\dots +\notag +\\ +&= +\biggl( +\omega t - \frac{\omega^3t^3}{3!} + \frac{\omega^5t^5}{5!} - \frac{\omega^7t^7}{7!} ++\dots +\biggr)I ++ +\biggl( +t -\frac{3\omega^2t^3}{3!} + \frac{5\omega^4t^5}{5!} - \frac{7\omega^6t^7}{7!}+\dots +\biggr)N +\notag +\\ +&= +I\sin\omega t ++tN\biggl(1-\frac{\omega^2t^2}{2!} +\frac{\omega^4t^4}{4!} +- \frac{\omega^6t^6}{6!} ++\dots\biggr) +\notag +\\ +&=I\sin\omega t + tN\cos\omega t. +\label{4004:resultat} +\end{align} +Im Fall $\omega=0$ ist $A=N$ und $A^2=0$, so dass +\[ +\sin At = tN, +\] +dies stimmt mit \eqref{4004:resultat} für $\omega=0$ überein, da +$\cos\omega t = \cos 0=1$ in diesem Fall. +\end{loesung} diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4005.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4005.tex new file mode 100644 index 0000000..ec76c34 --- /dev/null +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4005.tex @@ -0,0 +1,151 @@ +Rechnen Sie nach, dass die Matrix +\[ +A += +\begin{pmatrix} +2&1&0\\ +0&2&1\\ +1&0&2 +\end{pmatrix} +\] +normal ist. +\begin{teilaufgaben} +\item +Berechnen Sie die Eigenwerte, indem Sie das charakteristische Polynom +von $A$ und seine Nullstellen bestimmen. +\item +Das Polynom +\[ +p(z,\overline{z}) += +\frac{(3-\sqrt{3})z\overline{z}-9(1-\sqrt{3})}{6} +\] +hat die Eigenschaft, dass +\begin{align*} +p(\lambda,\lambda) &= |\lambda| +\end{align*} +für alle drei Eigenwerte von $A$. +Verwenden Sie dieses Polynom, um $B=|A|$ zu berechen. +\item +Überprüfen Sie Ihr Resultat, indem Sie mit einem Computeralgebra-Programm +die Eigenwerte von $B$ bestimmen. +\end{teilaufgaben} + +\begin{loesung} +Die Matrix $A$ ist von der Form $2I+O$ mit $O\in\operatorname{SO}(3)$, +für solche Matrizen wurde gezeigt, dass sie normal sind. +Man kann aber auch direkt nachrechnen: +\begin{align*} +AA^t +&= +\begin{pmatrix} +2&1&0\\ +0&2&1\\ +1&0&2 +\end{pmatrix} +\begin{pmatrix} +2&0&1\\ +1&2&0\\ +0&1&2 +\end{pmatrix} += +\begin{pmatrix} +5&2&2\\ +2&5&2\\ +2&2&5 +\end{pmatrix} +\\ +A^tA +&= +\begin{pmatrix} +2&0&1\\ +1&2&0\\ +0&1&2 +\end{pmatrix} +\begin{pmatrix} +2&1&0\\ +0&2&1\\ +1&0&2 +\end{pmatrix} += +\begin{pmatrix} +5&2&2\\ +2&5&2\\ +2&2&5 +\end{pmatrix} +\end{align*} +Es gilt also $AA^t=A^tA$, die Matrix ist also normal. +\begin{teilaufgaben} +\item Das charakteristische Polynom ist +\begin{align} +\chi_A(\lambda) +&=\left| +\begin{matrix} +2-\lambda & 1 & 0 \\ + 0 & 2-\lambda & 1 \\ + 1 & 0 & 2-\lambda +\end{matrix} +\right| += +(2-\lambda)^3+1 +\label{4005:charpoly} +\\ +&=-\lambda^3 -6\lambda^2 + 12\lambda +9. +\notag +\end{align} +Mit einem Taschenrechner kann man die Nullstellen finden, +aber man kann das auch die Form \eqref{4005:charpoly} +des charakteristischen Polynoms direkt faktorisieren: +\begin{align*} +\chi_A(\lambda) +&= +(2-\lambda)^3+1 +\\ +&= +((2-\lambda)+1) +((2-\lambda)^2 -(2-\lambda)+1) +\\ +&= +(3-\lambda) +(\lambda^2-3\lambda +4-2+\lambda +1) +\\ +&= +(3-\lambda) +(\lambda^2-2\lambda +3) +\end{align*} +Daraus kann man bereits einen Eigenwert $\lambda=3$ ablesen, +die weiteren Eigenwerte sind die Nullstellen des zweiten Faktors, die +man mit der Lösungsformel für quadratische Gleichungen finden kann: +\begin{align*} +\lambda_{\pm} +&= +\frac{3\pm\sqrt{9-12}}{2} += +\frac{3}{2} \pm\frac{\sqrt{-3}}{2} += +\frac{3}{2} \pm i\frac{\sqrt{3}}{2} +\end{align*} +\item +Wir müssen $z=A$ und $\overline{z}=A^t$ im Polynom $p(z,\overline{z})$ +substituieren und erhalten +\begin{align*} +B +&= +\frac{3-\sqrt{3}}6 \begin{pmatrix}5&2&2\\2&5&2\\2&2&5\end{pmatrix} ++\frac{\sqrt{3}-1}{2}I +\\ +&= +\begin{pmatrix} + 2.1547005& 0.42264973& 0.42264973 \\ + 0.4226497& 2.15470053& 0.42264973 \\ + 0.4226497& 0.42264973& 2.15470053 +\end{pmatrix} +\end{align*} +\item +Tatsächlich gibt die Berechnung der Eigenwerte +den einfachen Eigenwert $\mu_0=3=|\lambda_0|$ +und +den doppelten Eigenwert $\mu_{\pm} = \sqrt{3}=1.7320508=|\lambda_{\pm}|$. +\qedhere +\end{teilaufgaben} +\end{loesung} diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.maxima b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.maxima new file mode 100644 index 0000000..9c97a2b --- /dev/null +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.maxima @@ -0,0 +1,121 @@ +/* + * 4006.maxima + * + * (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule + */ + +A: matrix([ a+b*%i, 1, 0, 0 ], + [ 0, a+b*%i, 0, 0 ], + [ 0, 0, a-b*%i, 1 ], + [ 0, 0, 0, a-b*%i ]); + +expand(charpoly(A, x)); + +S: (1/sqrt(2)) * matrix([ 1, -%i, 0, 0 ], + [ 0, 0, 1, -%i ], + [ 1, %i, 0, 0 ], + [ 0, 0, 1, %i ]); + +B: expand(invert(S).A.S); + + +C: subst(2, a, B); +C: subst(3, b, C); +A: subst(2, a, A); +A: subst(3, b, A); + +U: matrix([ 1, 0, 1, 0 ], + [ 0, 1, 1, 2 ], + [ 0, 0, 1, 0 ], + [ 0, 0, 0, 1 ]); +V: matrix([ 1, 0, 0, 0 ], + [ 0, 1, 0, 0 ], + [ 0, 1, 1, 0 ], + [ 1, 0, 0, 1 ]); +T: U.V; +invert(T); + +D: T.C.invert(T); + +p: expand(charpoly(D, x)); + +factor(p); + +lambda: 2+3*%i; + +Dlambda: ratsimp(expand(D - lambda * identfor(D))); +rank(Dlambda); +/* D2: expand(Dlambda.Dlambda); */ +/* rank(D2); */ + +load(functs); + +/* +E: Dlambda; +E[1]: (rational(1/E[1,1]))*E[1]$ +E[2]: E[2] - E[2,1] * E[1]$ +E[3]: E[3] - E[3,1] * E[1]$ +E[4]: E[4] - E[4,1] * E[1]$ +E: ratsimp(E)$ + +E[2]: (rational(1/E[2,2])) * E[2]$ +E[3]: E[3] - E[3,2] * E[2]$ +E[4]: E[4] - E[4,2] * E[2]$ +E: ratsimp(E)$ + +E[3]: (rational(1/E[3,3])) * E[3]$ +E[4]: E[4] - E[4,3] * E[3]$ +E: ratsimp(E)$ + +E[2]: E[2] - E[2,3] * E[3]$ +E[1]: E[1] - E[1,3] * E[3]$ +E: ratsimp(E)$ + +E[1]: E[1] - E[1,2] * E[2]$ +E: ratsimp(E)$ + +E; +*/ + +b1: matrix([1+%i],[2+2*%i],[%i],[1]); +ratsimp(D.b1 - lambda*b1); + +G: Dlambda; +G: addcol(G, b1); +G[1]: (rational(1/G[1,1]))*G[1]$ +G[2]: G[2] - G[2,1] * G[1]$ +G[3]: G[3] - G[3,1] * G[1]$ +G[4]: G[4] - G[4,1] * G[1]$ +G: ratsimp(G)$ + +G[2]: (rational(1/G[2,2])) * G[2]$ +G[3]: G[3] - G[3,2] * G[2]$ +G[4]: G[4] - G[4,2] * G[2]$ +G: ratsimp(G)$ + +G[3]: (rational(1/G[3,3])) * G[3]$ +G[4]: G[4] - G[4,3] * G[3]$ +G: ratsimp(G)$ + +G[2]: G[2] - G[2,3] * G[3]$ +G[1]: G[1] - G[1,3] * G[3]$ +G: ratsimp(G)$ + +G[1]: G[1] - G[1,2] * G[2]$ +G: ratsimp(G)$ + +G; + +b2: matrix([ G[1,5] ], [ G[2,5] ], [ G[3,5] ], [ G[4,5] ]); + +expand(D.b2 - lambda * b2 - b1); + +c1: 2 * realpart(b1); +d1: 2 * imagpart(b1); +c2: 2 * realpart(b2); +d2: 2 * imagpart(b2); + +D.c1 - 2 * c1 + 3 * d1; +D.d1 - 3 * c1 - 2 * d1; +D.c2 - 2 * c2 + 3 * d2 - c1; +D.d2 - 3 * c2 - 2 * d2 - d1; diff --git a/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex new file mode 100644 index 0000000..7ccc065 --- /dev/null +++ b/buch/chapters/40-eigenwerte/uebungsaufgaben/4006.tex @@ -0,0 +1,97 @@ +Man findet eine Basis, in der die Matrix +\[ +A=\begin{pmatrix*}[r] + -5& 2& 6& 0\\ +-11& 12& -3& -15\\ + -7& 0& 9& 4\\ + 0& 5& -7& -8 +\end{pmatrix*} +\] +die relle Normalform bekommt. + +\begin{loesung} +Das charakteristische Polynom der Matrix ist +\[ +\chi_{A}(\lambda) += +\lambda^4-8\lambda^3+42\lambda^2-104\lambda+169 += +(\lambda^2-4\lambda+13)^2. +\] +Es hat die doppelten Nullstellen +\[ +\lambda_\pm += +2\pm \sqrt{4-13} += +2\pm \sqrt{-9} += +2\pm 3i. +\] +Zur Bestimmung der Basis muss man jetzt zunächst den Kern von +$A_+=A-\lambda_+I$ bestimmen, zum Beispiel mit Hilfe des Gauss-Algorithmus, +man findet +\[ +b_1 += +\begin{pmatrix} +1+i\\ +2+2i\\ +i\\ +1 +\end{pmatrix}. +\] +Als nächstes braucht man einen Vektor $b_1\in \ker A_+^2$, der +$b_1$ auf $b_1+\lambda_+b_2$ abbildet. +Durch Lösen des Gleichungssystems $Ab_2-\lambda_+ b_2=b_1$ findet man +\[ +b_2 += +\begin{pmatrix} +2-i\\3\\2\\0 +\end{pmatrix} +\qquad\text{und damit weiter}\qquad +\overline{b}_1 += +\begin{pmatrix} +1-i\\ +2-2i\\ +-i\\ +1 +\end{pmatrix},\quad +\overline{b}_2 += +\begin{pmatrix} +2+i\\3\\2\\0 +\end{pmatrix}. +\] +Als Basis für die reelle Normalform von $A$ kann man jetzt die Vektoren +\begin{align*} +c_1 +&= +b_1+\overline{b}_1 = \begin{pmatrix}2\\4\\0\\2\end{pmatrix},& +d_1 +&= +\frac{1}{i}(b_1-\overline{b}_1) = \begin{pmatrix}2\\4\\2\\0\end{pmatrix},& +c_2 +&= +b_2+\overline{b}_2 = \begin{pmatrix}4\\6\\4\\0\end{pmatrix},& +d_2 +&= +\frac{1}{i}(b_2-\overline{b}_2) = \begin{pmatrix}-2\\0\\0\\0\end{pmatrix} +\end{align*} +verwenden. +In dieser Basis hat $A$ die Matrix +\[ +A' += +\begin{pmatrix*}[r] + 2& 3& 1& 0\\ +-3& 2& 0& 1\\ + 0& 0& 2& 3\\ + 0& 0&-3& 2 +\end{pmatrix*}, +\] +wie man einfach nachrechnen kann. +\end{loesung} + diff --git a/buch/chapters/50-permutationen/transpositionen.tex b/buch/chapters/50-permutationen/transpositionen.tex index 604e010..748b2e9 100644 --- a/buch/chapters/50-permutationen/transpositionen.tex +++ b/buch/chapters/50-permutationen/transpositionen.tex @@ -111,7 +111,7 @@ Permutationen. \end{definition} Die alternierende Gruppe $A_n$ ist tatsächlich eine Untergruppe. -Zunächst ist $\operatorname{sign}(e)=(-1)^0=1$, also ist $e\in A_n$. +Zunächst ist $\operatorname{sgn}(e)=(-1)^0=1$, also ist $e\in A_n$. Es wurde schon gezeigt, dass mit jedem Element $\sigma\in A_n$ auch das inverse Element $\sigma^{-1}\in A_n$ ist. Es muss aber noch sichergestellt werden, dass das Produkt von zwei @@ -120,17 +120,17 @@ geraden Transpositionen wieder gerade ist: \begin{aligned} \sigma_1,\sigma_2&\in A_n &\Rightarrow&& -\operatorname{sign}(\sigma_1) +\operatorname{sgn}(\sigma_1) &= -\operatorname{sign}(\sigma_2) +\operatorname{sgn}(\sigma_2) = 1 \\ &&\Rightarrow&& -\operatorname{sign}(\sigma_1\sigma_2) +\operatorname{sgn}(\sigma_1\sigma_2) &= -\operatorname{sign}(\sigma_1) -\operatorname{sign}(\sigma_2) +\operatorname{sgn}(\sigma_1) +\operatorname{sgn}(\sigma_2) = 1\cdot 1=1 &&\Rightarrow& diff --git a/buch/chapters/60-gruppen/chapter.tex b/buch/chapters/60-gruppen/chapter.tex index d07db3f..3b1abc1 100644 --- a/buch/chapters/60-gruppen/chapter.tex +++ b/buch/chapters/60-gruppen/chapter.tex @@ -7,11 +7,41 @@ \label{buch:chapter:matrizengruppen}} \lhead{Matrizengruppen} \rhead{} +Matrizen können dazu verwendet werden, Symmetrien von geometrischen oder +physikalischen Systemen zu beschreiben. +Neben diskreten Symmetrien wie zum Beispiel Spiegelungen gehören dazu +auch kontinuierliche Symmetrien wie Translationen oder Invarianz einer +phyisikalischen Grösse über die Zeit. +Solche Symmetrien müssen durch Matrizen beschrieben werden können, +die auf stetige oder sogar differenzierbare Art von der Zeit abhängen. +Die Menge der Matrizen, die zur Beschreibung solcher Symmetrien benutzt +werden, muss also eine zusätzliche Struktur haben, die ermöglicht, +sinnvoll über Stetigkeit und Differenzierbarkeit bei Matrizen +zu sprechen. + +Die Menge der Matrizen bilden zunächst eine Gruppe, +die zusätzliche differenziarbare Struktur macht daraus +eine sogenannte Lie-Gruppe. +Die Ableitungen nach einem Parameter liegen in der sogenannten +Lie-Algebra, einer Matrizen-Algebra mit dem antisymmetrischen +Lie-Klammer-Produkt $[A,B]=AB-BA$, auch Kommutator genannt. +Lie-Gruppe und Lie-Algebra sind eng miteinander verknüpft, +so eng, dass sich die meisten Eigenschaften der Gruppe aus den Eigenschaften +der Lie-Gruppe aus der Lie-Algebra ableiten lassen. +Die Verbindung wird hergestellt durch die Exponentialabbildung. +Ziel dieses Kapitels ist, die Grundzüge dieses interessanten +Zusammenhangs darzustellen. \input{chapters/60-gruppen/symmetrien.tex} \input{chapters/60-gruppen/lie-gruppen.tex} \input{chapters/60-gruppen/lie-algebren.tex} -\input{chapters/60-gruppen/homogen.tex} - +%\input{chapters/60-gruppen/homogen.tex} +\section*{Übungsaufgaben} +\rhead{Übungsaufgaben} +\aufgabetoplevel{chapters/60-gruppen/uebungsaufgaben} +\begin{uebungsaufgaben} +\uebungsaufgabe{6002} +\uebungsaufgabe{6001} +\end{uebungsaufgaben} diff --git a/buch/chapters/60-gruppen/images/Makefile b/buch/chapters/60-gruppen/images/Makefile new file mode 100644 index 0000000..3ed39e5 --- /dev/null +++ b/buch/chapters/60-gruppen/images/Makefile @@ -0,0 +1,25 @@ +# +# Makefile +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: phasenraum.pdf kartenkreis.pdf karten.pdf sl2.pdf scherungen.pdf + +phasenraum.pdf: phasenraum.tex + pdflatex phasenraum.tex + +kartenkreis.pdf: kartenkreis.tex + pdflatex kartenkreis.tex + +torus.png: torus.pov + povray +A0.1 -W1920 -H1080 -Otorus.png torus.pov + +karten.pdf: karten.tex torus.png + pdflatex karten.tex + +sl2.pdf: sl2.tex + pdflatex sl2.tex + +scherungen.pdf: scherungen.tex + pdflatex scherungen.tex + diff --git a/buch/chapters/60-gruppen/images/castle.jpeg b/buch/chapters/60-gruppen/images/castle.jpeg Binary files differnew file mode 100644 index 0000000..bf90a36 --- /dev/null +++ b/buch/chapters/60-gruppen/images/castle.jpeg diff --git a/buch/chapters/60-gruppen/images/karten.pdf b/buch/chapters/60-gruppen/images/karten.pdf Binary files differnew file mode 100644 index 0000000..d769cca --- /dev/null +++ b/buch/chapters/60-gruppen/images/karten.pdf diff --git a/buch/chapters/60-gruppen/images/karten.tex b/buch/chapters/60-gruppen/images/karten.tex new file mode 100644 index 0000000..c8eb4a3 --- /dev/null +++ b/buch/chapters/60-gruppen/images/karten.tex @@ -0,0 +1,112 @@ +% +% karten.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\node at (0,0) {\includegraphics[width=10cm]{torus.png}}; + +\def\s{3} + +\node at (-3.5,-0.4) {$U_\alpha$}; +\node at (2.0,-0.4) {$U_\beta$}; + +\draw[->] (-2,-2.2) -- (-3,-4.3); +\node at (-2.5,-3.25) [left] {$\varphi_\alpha$}; + +\draw[->] (1.4,-1.7) -- (3,-4.3); +\node at (2.5,-3.25) [right] {$\varphi_\beta$}; + +\begin{scope}[xshift=-4.5cm,yshift=-8cm] + \begin{scope} + \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \begin{scope}[xshift=1.8cm,yshift=0.6cm,rotate=30] + \fill[color=gray!20] + (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \foreach \x in {0,0.2,...,1}{ + \draw[color=darkgreen] + ({\x*\s},{-0.2*\s}) + -- + ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=orange] + (0,{\y*\s}) + -- + ({1*\s},{\y*\s}); + } + \end{scope} + \end{scope} + + \foreach \x in {0,0.2,...,1}{ + \draw[color=blue,line width=1.4pt] + ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=red,line width=1.4pt] + (0,{\y*\s}) -- ({1*\s},{\y*\s}); + } + + \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; + \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; + + \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; + +\end{scope} + +\begin{scope}[xshift=1.5cm,yshift=-8cm] + \begin{scope} + \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + % x = - [ (sqrt(3)/2)*0.6+(1/2)*0.2 ] = -0.6196 + % y = - [ (-1/2)*0.6 + (sqrt(3)/2)*0.2 ] = + \begin{scope}[xshift=-1.8588cm,yshift=0.3804cm,rotate=-30] + \fill[color=gray!20] + (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \foreach \x in {0,0.2,...,1}{ + \draw[color=blue] + ({\x*\s},{-0.2*\s}) + -- + ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=red] + (0,{\y*\s}) + -- + ({1*\s},{\y*\s}); + } + \end{scope} + \end{scope} + + \foreach \x in {0,0.2,...,1}{ + \draw[color=darkgreen,line width=1.4pt] + ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=orange,line width=1.4pt] (0,{\y*\s}) -- ({1*\s},{\y*\s}); + } + \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; + \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; + \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; +\end{scope} + +\draw[<-,color=white,opacity=0.8,line width=5pt] (2.5,-6.5) arc (55:100:6.5); +\draw[<-,shorten >= 0.1cm,shorten <= 0.3cm] (2.5,-6.5) arc (55:100:6.5); + +\node at (0,-5.9) + {$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/kartenkreis.pdf b/buch/chapters/60-gruppen/images/kartenkreis.pdf Binary files differnew file mode 100644 index 0000000..4619b56 --- /dev/null +++ b/buch/chapters/60-gruppen/images/kartenkreis.pdf diff --git a/buch/chapters/60-gruppen/images/kartenkreis.tex b/buch/chapters/60-gruppen/images/kartenkreis.tex new file mode 100644 index 0000000..4f19937 --- /dev/null +++ b/buch/chapters/60-gruppen/images/kartenkreis.tex @@ -0,0 +1,189 @@ +% +% kartenkreis.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{3} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\fill[color=red!20] (0,-1) rectangle (1.5,1); +\fill[color=blue!20] (-1.5,-1) rectangle (0,1); +\fill[color=darkgreen!40,opacity=0.5] (-1,0) rectangle (1,1.5); +\fill[color=orange!40,opacity=0.5] (-1,-1.5) rectangle (1,0); +\fill[color=white] (0,0) circle[radius=1]; + +\fill[color=gray!20] + (0,-1.5) -- (0.02,-1.6) -- (0.5,-1.8) -- (0.98,-1.6) -- (1,-1.5) + -- cycle; +\fill[color=gray!20] + (0,1.5) -- (0.02,1.6) -- (0.5,1.8) -- (0.98,1.6) -- (1,1.5) + -- cycle; +\fill[color=gray!20] + (0,-1.5) -- (-0.02,-1.6) -- (-0.5,-1.8) -- (-0.98,-1.6) -- (-1,-1.5) + -- cycle; +\fill[color=gray!20] + (0,1.5) -- (-0.02,1.6) -- (-0.5,1.8) -- (-0.98,1.6) -- (-1,1.5) + -- cycle; + +\fill[color=gray!20] + (1.5,0) -- (1.6,0.02) -- (1.8,0.5) -- (1.6,0.98) -- (1.5,1) + -- cycle; +\fill[color=gray!20] + (-1.5,0) -- (-1.6,0.02) -- (-1.8,0.5) -- (-1.6,0.98) -- (-1.5,1) + -- cycle; +\fill[color=gray!20] + (1.5,0) -- (1.6,-0.02) -- (1.8,-0.5) -- (1.6,-0.98) -- (1.5,-1) + -- cycle; +\fill[color=gray!20] + (-1.5,0) -- (-1.6,-0.02) -- (-1.8,-0.5) -- (-1.6,-0.98) -- (-1.5,-1) + -- cycle; + +\draw[->] (0.5,-1.8) arc (-180:-90:0.1) arc (-90:0:1.3) arc (0:90:0.1); +\draw[->] (1.8,0.5) arc (-90:0:0.1) arc (0:90:1.3) arc (90:180:0.1); +\draw[->] (-0.5,1.8) arc (0:90:0.1) arc (90:180:1.3) arc (180:270:0.1); +\draw[->] (-1.8,-0.5) arc (90:180:0.1) arc (180:270:1.3) arc (270:360:0.1); + +\node at (1.01,1.32) + [right] {$\varphi_3\circ \varphi_1^{-1}(y)=\sqrt{1-y^2}$}; +\node at (1.6,1.6) {$\varphi_{31}$}; + +\node at (1.01,-1.28) + [right] {$\varphi_1\circ \varphi_4^{-1}(x)=-\sqrt{1-x^2}$}; +\node at (1.6,-1.6) {$\varphi_{14}$}; + +\node at (-1.24,1.32) + [left] {$\varphi_2\circ\varphi_3^{-1}(x)=\sqrt{1-x^2}$}; +\node at (-1.6,1.6) {$\varphi_{23}$}; + +\node at (-1.18,-1.28) + [left] {$\varphi_4\circ\varphi_2^{-1}(y)=-\sqrt{1-y^2}$}; +\node at (-1.6,-1.6) {$\varphi_{42}$}; + + +\foreach \y in {0.1,0.3,...,0.9}{ + \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] + ({sqrt(1-\y*\y)},{\y}) -- (1.5,\y); + \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] + ({sqrt(1-\y*\y)},{-\y}) -- (1.5,-\y); + \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] + ({-sqrt(1-\y*\y)},{\y}) -- (-1.5,\y); + \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] + ({-sqrt(1-\y*\y)},{-\y}) -- (-1.5,-\y); +} +\foreach \x in {0.1,0.3,...,0.9}{ + \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] + ({\x},{sqrt(1-\x*\x)}) -- ({\x},1.5); + \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] + ({-\x},{sqrt(1-\x*\x)}) -- ({-\x},1.5); + \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] + ({\x},{-sqrt(1-\x*\x)}) -- ({\x},-1.5); + \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] + ({-\x},{-sqrt(1-\x*\x)}) -- ({-\x},-1.5); +} + +%\draw[color=gray!50,line width=3pt] (0,0) circle[radius=1]; +\draw[color=yellow!30,line width=3pt] (0,0) circle[radius=1]; +\node[color=yellow] at ({1/sqrt(2)},{1/sqrt(2)}) [above right] {$S^1$}; + +\def\r{1.02} + +\begin{scope} + \clip (0,-1.1) rectangle (1.1,1.1); + \draw[color=red,line width=1.4pt] (-89:\r) arc (-89:89:\r); + \draw[color=red,line width=1.4pt] (0,-\r) circle[radius=0.02]; + \draw[color=red,line width=1.4pt] (0,\r) circle[radius=0.02]; +\end{scope} + +\begin{scope} + \clip (-1.1,-1.1) rectangle (0,1.1); + \draw[color=blue,line width=1.4pt] (91:\r) arc (91:269:\r); + \draw[color=blue,line width=1.4pt] (0,-\r) circle[radius=0.02]; + \draw[color=blue,line width=1.4pt] (0,\r) circle[radius=0.02]; +\end{scope} + +\xdef\r{0.98} + +\begin{scope} + \clip (-1.1,0) rectangle (1.1,1.1); + \draw[color=darkgreen,line width=1.4pt] (1:\r) arc (1:179:\r); + \draw[color=darkgreen,line width=1.4pt] (\r,0) circle[radius=0.02]; + \draw[color=darkgreen,line width=1.4pt] (-\r,0) circle[radius=0.02]; +\end{scope} + +\begin{scope} + \clip (-1.1,-1.1) rectangle (1.1,0); + \draw[color=orange,line width=1.4pt] (181:\r) arc (181:359:\r); + \draw[color=orange,line width=1.4pt] (\r,0) circle[radius=0.02]; + \draw[color=orange,line width=1.4pt] (-\r,0) circle[radius=0.02]; +\end{scope} + +\begin{scope}[yshift=1.5cm] + \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$\mathbb{R}$}]; + \begin{scope} + \clip (-1,-0.1) rectangle (1,0.1); + \draw[color=darkgreen,line width=1.4pt] (-0.98,0) -- (0.98,0); + \draw[color=darkgreen,line width=1.4pt] (-1,0) + circle[radius=0.02]; + \draw[color=darkgreen,line width=1.4pt] (1,0) + circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[yshift=-1.5cm] + \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={below:$\mathbb{R}$}]; + \begin{scope} + \clip (-1,-0.1) rectangle (1,0.1); + \draw[color=orange,line width=1.4pt] (-0.98,0) -- (0.98,0); + \draw[color=orange,line width=1.4pt] (-1,0) circle[radius=0.02]; + \draw[color=orange,line width=1.4pt] (1,0) circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[xshift=1.5cm] + \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$\mathbb{R}$}]; + \begin{scope} + \clip (-0.1,-1) rectangle (0.1,1); + \draw[color=red,line width=1.4pt] (0,-0.98) -- (0,0.98); + \draw[color=red,line width=1.4pt] (0,-1) circle[radius=0.02]; + \draw[color=red,line width=1.4pt] (0,1) circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[xshift=-1.5cm] + \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={left:$\mathbb{R}$}]; + \begin{scope} + \clip (-0.1,-1) rectangle (0.1,1); + \draw[color=blue,line width=1.4pt] (0,-0.98) -- (0,0.98); + \draw[color=blue,line width=1.4pt] (0,-1) circle[radius=0.02]; + \draw[color=blue,line width=1.4pt] (0,1) circle[radius=0.02]; + \end{scope} +\end{scope} + +\node[color=red] at (23:1) [right] {$U_{x>0}$}; +\node[color=red] at (1.25,0) [right] {$\varphi_1$}; + +\node[color=blue] at (157:1) [left] {$U_{x<0}$}; +\node[color=blue] at (-1.25,0) [left] {$\varphi_2$}; + +\node[color=darkgreen] at (115:1) [below right] {$U_{y>0}$}; +\node[color=darkgreen] at (0,1.25) [above] {$\varphi_3$}; + +\node[color=orange] at (-115:1) [above right] {$U_{y<0}$}; +\node[color=orange] at (0,-1.25) [below] {$\varphi_4$}; + +\draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$x$}]; +\draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$y$}]; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/phasenraum.pdf b/buch/chapters/60-gruppen/images/phasenraum.pdf Binary files differnew file mode 100644 index 0000000..adfb0c6 --- /dev/null +++ b/buch/chapters/60-gruppen/images/phasenraum.pdf diff --git a/buch/chapters/60-gruppen/images/phasenraum.tex b/buch/chapters/60-gruppen/images/phasenraum.tex new file mode 100644 index 0000000..2bccc27 --- /dev/null +++ b/buch/chapters/60-gruppen/images/phasenraum.tex @@ -0,0 +1,93 @@ +% +% phasenraum.tex -- +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\m{1} +\def\K{0.444} + +\pgfmathparse{sqrt(\K/\m)} +\xdef\o{\pgfmathresult} + +\def\punkt#1#2{ ({#2*cos(#1)},{\o*#2*sin(#1)}) } + +\foreach \r in {0.5,1,...,6}{ + \draw plot[domain=0:359,samples=360] + ({\r*cos(\x)},{\o*\r*sin(\x)}) -- cycle; +} + +\def\tangente#1#2{ + \pgfmathparse{#2/\m} + \xdef\u{\pgfmathresult} + + \pgfmathparse{-#1*\K} + \xdef\v{\pgfmathresult} + + \pgfmathparse{sqrt(\u*\u+\v*\v)} + \xdef\l{\pgfmathresult} + + \fill[color=blue] (#1,#2) circle[radius=0.03]; + \draw[color=blue,line width=0.5pt] + ({#1-0.2*\u/\l},{#2-0.2*\v/\l}) + -- + ({#1+0.2*\u/\l},{#2+0.2*\v/\l}); +} + +\foreach \x in {-6.25,-5.75,...,6.3}{ + \foreach \y in {-4.25,-3.75,...,4.3}{ + \tangente{\x}{\y} + } +} + +%\foreach \x in {0.5,1,...,5.5,6}{ +% \tangente{\x}{0} +% \tangente{-\x}{0} +% \foreach \y in {0.5,1,...,4}{ +% \tangente{\x}{\y} +% \tangente{-\x}{\y} +% \tangente{\x}{-\y} +% \tangente{-\x}{-\y} +% } +%} +%\foreach \y in {0.5,1,...,4}{ +% \tangente{0}{\y} +% \tangente{0}{-\y} +%} + +\fill[color=white,opacity=0.7] \punkt{60}{4} rectangle \punkt{59}{5.8}; +\fill[color=white,opacity=0.7] \punkt{0}{4} rectangle \punkt{18}{4.9}; + +\draw[->,color=red,line width=1.4pt] + plot[domain=0:60,samples=360] + ({4*cos(\x)},{\o*4*sin(\x)}); + +\draw[->] (-6.5,0) -- (6.7,0) coordinate[label={$x$}]; +\draw[->] (0,-4.5) -- (0,4.7) coordinate[label={right:$p$}]; + +\fill[color=red] \punkt{60}{4} circle[radius=0.08]; +\node[color=red] at \punkt{60}{4} [above right] + {$\begin{pmatrix}x(t)\\p(t)\end{pmatrix}$}; + +\fill[color=red] \punkt{0}{4} circle[radius=0.08]; +\node[color=red] at \punkt{0}{4} [above right] + {$\begin{pmatrix}x_0\\0\end{pmatrix}$}; + +\fill[color=white] (4,0) circle[radius=0.05]; +\node at (3.9,0) [below right] {$x_0$}; +\fill (0,{\o*4}) circle[radius=0.05]; +\node at (0.1,{\o*4+0.05}) [below left] {$\omega x_0$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/scherungen.pdf b/buch/chapters/60-gruppen/images/scherungen.pdf Binary files differnew file mode 100644 index 0000000..c7f4988 --- /dev/null +++ b/buch/chapters/60-gruppen/images/scherungen.pdf 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/images/sl2.pdf b/buch/chapters/60-gruppen/images/sl2.pdf Binary files differnew file mode 100644 index 0000000..ffc0759 --- /dev/null +++ b/buch/chapters/60-gruppen/images/sl2.pdf 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/images/torus.png b/buch/chapters/60-gruppen/images/torus.png Binary files differnew file mode 100644 index 0000000..c42440f --- /dev/null +++ b/buch/chapters/60-gruppen/images/torus.png 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/lie-algebren.tex b/buch/chapters/60-gruppen/lie-algebren.tex index 69d4b1d..cee8510 100644 --- a/buch/chapters/60-gruppen/lie-algebren.tex +++ b/buch/chapters/60-gruppen/lie-algebren.tex @@ -6,3 +6,642 @@ \section{Lie-Algebren \label{buch:section:lie-algebren}} \rhead{Lie-Algebren} +Im vorangegangenen Abschnitt wurde gezeigt, dass alle beschriebenen +Matrizengruppen als Untermannigfaltigkeiten im $n^2$-dimensionalen +Vektorraum $M_n(\mathbb{R}9$ betrachtet werden können. +Die Gruppen haben damit nicht nur die algebraische Struktur einer +Matrixgruppe, sie haben auch die geometrische Struktur einer +Mannigfaltigkeit. +Insbesondere ist es sinnvoll, von Ableitungen zu sprechen. + +Eindimensionale Untergruppen einer Gruppe können auch als Kurven +innerhalb der Gruppe angesehen werden. +In diesem Abschnitt soll gezeigt werden, wie man zu jeder eindimensionalen +Untergruppe einen Vektor in $M_n(\mathbb{R})$ finden kann derart, dass +der Vektor als Tangentialvektor an diese Kurve gelten kann. +Aus einer Abbildung zwischen der Gruppe und diesen Tagentialvektoren +erhält man dann auch eine algebraische Struktur auf diesen Tangentialvektoren, +die sogenannte Lie-Algebra. +Sie ist charakteristisch für die Gruppe. +Insbesondere werden wir sehen, wie die Gruppen $\operatorname{SO}(3)$ +und $\operatorname{SU}(2)$ die gleich Lie-Algebra haben und dass die +Lie-Algebra von $\operatorname{SO}(3)$ mit dem Vektorprodukt in $\mathbb{R}^3$ +übereinstimmt. + +% +% Die Lie-Algebra einer Matrizengruppe +% +\subsection{Lie-Algebra einer Matrizengruppe +\label{buch:section:lie-algebra-einer-matrizengruppe}} +Zu jedem Tangentialvektor $A$ im Punkt $I$ einer Matrizengruppe gibt es +eine Einparameteruntergruppe, die mit Hilfe der Exponentialfunktion +$e^{At}$ konstruiert werden kann. +Für die folgende Konstruktion arbeiten wir in der Gruppe +$\operatorname{GL}_n(\mathbb{R})$, in der jede Matrix auch ein +Tangentialvektor ist. +Wir werden daraus die Lie-Klammer ableiten und später verifizieren, +dass diese auch für die Tangentialvektoren der Gruppen +$\operatorname{SO}(n)$ oder $\operatorname{SL}_n(\mathbb{R})$ funktioniert. + +\subsubsection{Lie-Klammer} +Zu zwei verschiedenen Tagentialvektoren $A\in M_n(\mathbb{R})$ und +$B\in M_n(\mathbb{R})$ gibt es zwei verschiedene Einparameteruntergruppen +$e^{At}$ und $e^{Bt}$. +Wenn die Matrizen $A$ und $B$ oder die Einparameteruntergruppen +$e^{At}$ und $e^{Bt}$ vertauschbar sind, dann stimmen +$e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ nicht überein. +Die zugehörigen Potenzreihen sind: +\begin{align*} +e^{At} +&= +I+At + \frac{A^2t^2}{2!} + \frac{A^3t^3}{3!} + \dots +\\ +e^{Bt} +&= +I+Bt + \frac{B^2t^2}{2!} + \frac{B^3t^3}{3!} + \dots +\\ +e^{At}e^{Bt} +&= +\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) +\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) +\\ +&= +I+(A+B)t + \biggl(\frac{A^2}{2!}+AB+\frac{B^2}{2!}\biggr)t^2 +\dots +\\ +e^{Bt}e^{At} +&= +\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) +\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) +\\ +&= +I+(B+A)t + \biggl(\frac{B^2}{2!}+BA+\frac{A^2}{2!}\biggr)t^2 +\dots +\intertext{% +Die beiden Kurven $e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ haben zwar den gleichen +Tangentialvektor für $t=0$, sie unterscheiden +sich aber untereinander, und sie unterscheiden sich von der +Einparameteruntergruppe von $A+B$} +e^{(A+B)t} +&= +I + (A+B)t + \frac{t^2}{2}(A^2 + AB + BA + B^2) + \ldots +\intertext{Für die Unterschiede finden wir} +e^{At}e^{Bt} - e^{(A+B)t} +&= +\biggl(AB-\frac{AB+BA}2\biggr)t^2 ++\ldots += +(AB-BA) \frac{t^2}{2} + \ldots += +[A,B]\frac{t^2}{2}+\ldots +\\ +e^{Bt}e^{At} - e^{(A+B)t} +&= +\biggl(BA-\frac{AB+BA}2\biggr)t^2 ++\ldots += +(BA-AB) +\frac{t^2}{2} ++\ldots += +-[A,B]\frac{t^2}{2} +\\ +e^{At}e^{Bt}-e^{Bt}e^{At} +&= +(AB-BA)t^2+\ldots += +\phantom{-}[A,B]t^2+\ldots +\end{align*} +wobei mit $[A,B]=AB-BA$ abgekürzt wird. + +\begin{definition} +\label{buch:gruppen:def:kommutator} +Der Kommutator zweier Matrizen $A,B\in M_n(\mathbb{R})$ ist die Matrix +$[A,B]=AB-BA$. +\end{definition} + +Der Kommutator ist bilinear und antisymmetrisch, da +\begin{align*} +[\lambda A+\mu B,C] +&= +\lambda AC+\mu BC-\lambda CA -\mu CB += +\lambda[A,C]+\mu[B,C] +\\ +[A,\lambda B+\mu C] +&= +\lambda AB + \mu AC - \lambda BA - \mu CA += +\lambda[A,B]+\mu[A,C] +\\ +[A,B] +&= +AB-BA = -(BA-AB) = -[B,A]. +\end{align*} +Aus der letzten Bedingung folgt insbesodnere $[A,A]=0$ + +Der Kommutator $[A,B]$ misst in niedrigster Ordnung den Unterschied +zwischen den $e^{At}$ und $e^{Bt}$. +Der Kommutator der Tangentialvektoren $A$ und $B$ bildet also die +Nichtkommutativität der Matrizen $e^{At}$ und $e^{Bt}$ ab. + + +\subsubsection{Die Jacobi-Identität} +Der Kommutator hat die folgende zusätzliche algebraische Eigenschaft: +\begin{align*} +[A,[B,C]] ++ +[B,[C,A]] ++ +[C,[A,B]] +&= +[A,BC-CB] ++ +[B,CA-AC] ++ +[C,AB-BA] +\\ +&=\phantom{+} +ABC-ACB-BCA+CBA +\\ +&\phantom{=}+ +BCA-BAC-CAB+ACB +\\ +&\phantom{=}+ +CAB-CBA-ABC+BAC +\\ +&=0. +\end{align*} +Diese Eigenschaft findet man auch bei anderen Strukturen, zum Beispiel +bei Vektorfeldern, die man als Differentialoperatoren auf Funktionen +betrachten kann. +Man kann dann einen Kommutator $[X,Y]$ für zwei Vektorfelder +$X$ und $Y$ definieren. +Dieser Kommutator von Vektorfeldern erfüllt ebenfalls die gleiche +Identität. + +\begin{definition} +\label{buch:gruppen:def:jacobi} +Ein bilineares Produkt $[\;,\;]\colon V\times V\to V$ auf dem Vektorraum +erfüllt die {\em Jacobi-Identität}, wenn +\[ +[u,[v,w]] + [v,[w,u]] + [w,[u,v]]=0 +\] +ist für beliebige Vektoren $u,v,w\in V$. +\end{definition} + +\subsubsection{Lie-Algebra} +Die Tangentialvektoren einer Lie-Gruppe tragen also mit dem Kommutator +eine zusätzliche Struktur, nämlich die Struktur einer Lie-Algebra. + +\begin{definition} +Ein Vektorraum $V$ mit einem bilinearen, Produkt +\[ +[\;,\;]\colon V\times V \to V : (u,v) \mapsto [u,v], +\] +welches zusätzlich die Jacobi-Identität~\ref{buch:gruppen:def:jacobi} +erfüllt, heisst eine {\em Lie-Algebra}. +\end{definition} + +Die Lie-Algebra einer Lie-Gruppe $G$ wird mit $LG$ bezeichnet. +$LG$ besteht aus den Tangentialvektoren im Punkt $I$. +Die Exponentialabbildung $\exp\colon LG\to G:A\mapsto e^A$ +ist eine differenzierbare Abbildung von $LG$ in die Gruppe $G$. +Insbesondere kann die Inverse der Exponentialabbildung als eine +Karte in einer Umgebung von $I$ verwendet werden. + +Für die Lie-Algebren der Matrizengruppen, die früher definiert worden +sind, verwenden wir die als Notationskonvention, dass der Name der +Lie-Algebra der mit kleinen Buchstaben geschrieben Name der Lie-Gruppe ist. +Die Lie-Algebra von $\operatorname{SO}(n)$ ist also +$L\operatorname{SO}(n) = \operatorname{os}(n)$, +die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ ist +$L\operatorname{SL}_n(\mathbb{R})=\operatorname{sl}_n(\mathbb{R})$. + + +% +% Die Lie-Algebra von SO(3) +% +\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$ +\label{buch:subsection:die-lie-algebra-von-so3}} +Zur Gruppe $\operatorname{SO}(3)$ der Drehmatrizen gehört die Lie-Algebra +$\operatorname{so}(3)$ der antisymmetrischen $3\times 3$-Matrizen. +Solche Matrizen haben die Form +\[ +\Omega += +\begin{pmatrix} + 0 & \omega_3&-\omega_2\\ +-\omega_3& 0 & \omega_1\\ + \omega_2&-\omega_1& 0 +\end{pmatrix} +\] +Der Vektorraum $\operatorname{so}(3)$ ist also dreidimensional. + +Die Wirkung von $I+t\Omega$ auf einem Vektor $x$ ist +\[ +(I+t\Omega) +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} += +\begin{pmatrix} + 1 & t\omega_3&-t\omega_2\\ +-t\omega_3& 1 & t\omega_1\\ + t\omega_2&-t\omega_1& 1 +\end{pmatrix} +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} += +\begin{pmatrix} +x_1-t(-\omega_3x_2+\omega_2x_3)\\ +x_2-t( \omega_3x_1-\omega_1x_3)\\ +x_3-t(-\omega_2x_1+\omega_1x_2) +\end{pmatrix} += +x- t\begin{pmatrix}\omega_1\\\omega_2\\\omega_3\end{pmatrix}\times x += +x+ tx\times \omega. +\] +Die Matrix $\Omega$ ist als die infinitesimale Version einer Drehung +um die Achse $\omega$. + +Wir können die Analogie zwischen Matrizen in $\operatorname{so}(3)$ und +Vektoren in $\mathbb R^3$ noch etwas weiter treiben. Zu jedem Vektor +in $\mathbb R^3$ konstruieren wir eine Matrix in $\operatorname{so}(3)$ +mit Hilfe der Abbildung +\[ +\mathbb R^3\to\operatorname{so}(3) +: +\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix} +\mapsto +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 +\end{pmatrix}. +\] +Der Kommutator von zwei so aus Vektoren $\vec u$ und $\vec v$ +konstruierten Matrizen $U$ und $V$ ist: +\begin{align*} +[U,V] +&= +UV-VU +\\ +&= +\begin{pmatrix} + 0 & u_3&-u_1\\ +-u_3& 0 & u_2\\ + u_1&-u_2& 0 +\end{pmatrix} +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 +\end{pmatrix} +- +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 +\end{pmatrix} +\begin{pmatrix} + 0 & u_3&-u_1\\ +-u_3& 0 & u_2\\ + u_1&-u_2& 0 +\end{pmatrix} +\\ +&= +\begin{pmatrix} +u_3v_3+u_1v_1 - u_3v_3 - u_1v_1 + & u_1v_2 - u_2v_1 + & u_3v_2 - u_2v_3 +\\ +u_2v_1 - u_1v_2 + & -u_3v_3-u_2v_2 + u_3v_3+u_2v_2 + & u_3v_1 - u_1v_3 +\\ +u_2v_3 - u_3v_2 + & u_1v_3 - u_3v_1 + &-u_1v_1-u_2v_2 u_1v_1+u_2v_2 +\end{pmatrix} +\\ +&= +\begin{pmatrix} +0 + & u_1v_2 - u_2v_1 + &-(u_2v_3-u_3v_2) +\\ +-( u_1v_2 - u_2v_1) + & 0 + & u_3v_1 - u_1v_3 +\\ +u_2v_3 - u_3v_2 + &-( u_3v_1 - u_1v_3) + & 0 +\end{pmatrix} +\end{align*} +Die Matrix $[U,V]$ gehört zum Vektor $\vec u\times\vec v$. +Damit können wir aus der Jacobi-Identität jetzt folgern, dass +\[ +\vec u\times(\vec v\times w) ++ +\vec v\times(\vec w\times u) ++ +\vec w\times(\vec u\times v) +=0 +\] +für drei beliebige Vektoren $\vec u$, $\vec v$ und $\vec w$ ist. +Dies bedeutet, dass der dreidimensionale Vektorraum $\mathbb R^3$ +mit dem Vektorprodukt zu einer Lie-Algebra wird. +In der Tat verwenden einige Bücher statt der vertrauten Notation +$\vec u\times \vec v$ für das Vektorprodukt die aus der Theorie der +Lie-Algebren entlehnte Notation $[\vec u,\vec v]$, zum Beispiel +das Lehrbuch der Theoretischen Physik \cite{skript:landaulifschitz1} +von Landau und Lifschitz. + +Die Lie-Algebren sind vollständig klassifiziert worden, es gibt +keine nicht trivialen zweidimensionalen Lie-Algebren. +Unser dreidimensionaler Raum ist also auch in dieser Hinsicht speziell: +es ist der kleinste Vektorraum, in dem eine nichttriviale Lie-Algebra-Struktur +möglich ist. + +Die antisymmetrischen Matrizen +\[ +\omega_{23} += +\begin{pmatrix} 0&1&0\\-1&0&0\\0&0&0\end{pmatrix} +\quad +\omega_{31} += +\begin{pmatrix} 0&0&-1\\0&0&0\\1&0&0\end{pmatrix} +\quad +\omega_{12} += +\begin{pmatrix} 0&0&0\\0&0&1\\0&-1&0\end{pmatrix} +\] +haben die Kommutatoren +\begin{equation} +\begin{aligned} +[\omega_{23},\omega_{31}] +&= +\begin{pmatrix} +0&0&0\\ +0&0&1\\ +0&-1&0 +\end{pmatrix} += +\omega_{12} +\\ +[\omega_{31},\omega_{12}] +&= +\begin{pmatrix} +0&1&0\\ +-1&0&0\\ +0&0&0 +\end{pmatrix} += +\omega_{23} +\\ +[\omega_{12},\omega_{23}] +&= +\begin{pmatrix} +0&0&-1\\ +0&0&0\\ +1&0&0 +\end{pmatrix} += +\omega_{31} +\end{aligned} +\label{buch:gruppen:eqn:so3-kommutatoren} +\end{equation} + +\subsection{Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$} +Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ besteht aus den +spurlosen Matrizen in $M_n(\mathbb{R})$. +Der Kommutator solcher Matrizen erfüllt +\[ +\operatorname{Spur}([A,B]) += +\operatorname{Spur}(AB-BA) += +\operatorname{Spur}(AB)-\operatorname{Spur}(BA) += +0, +\] +somit ist +\[ +\operatorname{sl}_n(\mathbb{R}) += +\{ +A\in M_n(\mathbb{R})\;|\; \operatorname{Spur}(A)=0 +\} +\] +mit dem Kommutator eine Lie-Algebra. + +% +% Die Lie-Algebra von U(n) +% +\subsection{Die Lie-Algebra von $\operatorname{U}(n)$} +Die Lie-Gruppe +\[ +U(n) += +\{ +A\in M_n(\mathbb{C} +\;|\; +AA^*=I +\} +\] +heisst die unitäre Gruppe, sie besteht aus den Matrizen, die +das sesquilineare Standardskalarprodukt auf dem komplexen +Vektorraum $\mathbb{C}^n$ invariant lassen. +Sei eine $\gamma(t)$ ein differenzierbare Kurve in $\operatorname{U}(n)$ +derart, dass $\gamma(0)=I$. +Die Ableitung der Identität $AA^*=I$ führt dann auf +\begin{align*} +0 += +\frac{d}{dt} +\gamma(t)\gamma(t)^* +\bigg|_{t=0} += +\dot{\gamma}(0)\gamma(0)^* ++ +\gamma(0)\dot{\gamma}(0)^* += +\dot{\gamma}(0) ++ +\dot{\gamma}(0)^* +\quad\Rightarrow\quad +\dot{\gamma}(0)&=-\dot{\gamma}(0)^*. +A&=-A^* +\end{align*} +Die Lie-Algebra $\operatorname{u}(n)$ besteht daher aus den antihermiteschen +Matrizen. + +Wir sollten noch verifizieren, dass der Kommutator zweier antihermiteschen +Matrizen wieder anithermitesch ist: +\begin{align*} +[A,B]^* +&= +(AB-BA)^* += +B^*A^*-A^*B^* += +BA - AB += +-[B,A]. +\end{align*} + +Eine antihermitesche Matrix erfüllt $a_{ij}=-\overline{a}_{ji}$, +für die Diagonalelemente folgt daher $a_{ii} = -\overline{a}_{ii}$ +oder $\overline{a}_{ii}=-a_{ii}$. +Der Realteil von $a_{ii}$ ist +\[ +\Re a_{ii} += +\frac{a_{ii}+\overline{a}_{ii}}2 += +0, +\] +die Diagonalelemente einer antihermiteschen Matrix sind daher rein +imaginär. + + +% +% Die Lie-Algebra SU(2) +% +\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$} +Die Lie-Algebra $\operatorname{su}(n)$ besteht aus den +spurlosen antihermiteschen Matrizen. +Sie erfüllen daher die folgenden Bedingungen: +\[ +A=\begin{pmatrix}a&b\\c&d\end{pmatrix} +\qquad +\text{mit} +\qquad +\left\{ +\begin{aligned} +a+d&=0&&\Rightarrow& a=is = -d +\\ +b^*&=-c +\end{aligned} +\right. +\] +Damit hat $A$ die Form +\begin{align*} +A=\begin{pmatrix} +is&u+iv\\ +-u+iv&-is +\end{pmatrix} +&= +s +\begin{pmatrix} +i&0\\ +0&-i +\end{pmatrix} ++ +u +\begin{pmatrix} + 0&1\\ +-1&0 +\end{pmatrix} ++ +v +\begin{pmatrix} +0&i\\ +i&0 +\end{pmatrix} +\\ +&= +iv\underbrace{\begin{pmatrix}0&1\\1&0\end{pmatrix}}_{\displaystyle=\sigma_1} ++ +iu\underbrace{\begin{pmatrix}0&-i\\i&0\end{pmatrix}}_{\displaystyle=\sigma_2} ++ +is\underbrace{\begin{pmatrix}1&0\\0&-1\end{pmatrix}}_{\displaystyle=\sigma_3} +\end{align*} +Diese Matrizen heissen die {\em Pauli-Matrizen}, sie haben die Kommutatoren +\begin{align*} +[\sigma_1,\sigma_2] +&= +\begin{pmatrix}0&1\\1&0\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +- +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +\begin{pmatrix}0&1\\1&0\end{pmatrix} += +2\begin{pmatrix}i&0\\0&-i \end{pmatrix} += +2i\sigma_3, +\\ +[\sigma_2,\sigma_3] +&= +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +- +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} += +2 +\begin{pmatrix}0&i\\i&0\end{pmatrix} += +2i\sigma_1. +\\ +[\sigma_1,\sigma_3] +&= +\begin{pmatrix}0&1\\1&0\end{pmatrix} +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +- +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +\begin{pmatrix}0&1\\1&0\end{pmatrix} += +2i +\begin{pmatrix}0&-1\\1&0\end{pmatrix} += +2i\sigma_2, +\end{align*} +Bis auf eine Skalierung stimmt dies überein mit den Kommutatorprodukten +der Matrizen $\omega_{23}$, $\omega_{31}$ und $\omega_{12}$ +in \eqref{buch:gruppen:eqn:so3-kommutatoren}. +Die Matrizen $-\frac12i\sigma_j$ haben die Kommutatorprodukte +\begin{align*} +\bigl[-{\textstyle\frac12}i\sigma_1,-{\textstyle\frac12}i\sigma_2\bigr] +&= +-{\textstyle\frac14}[\sigma_1,\sigma_2] += +-{\textstyle\frac14}\cdot 2i\sigma_3 += +-{\textstyle\frac12}i\sigma_3 +\\ +\bigl[-{\textstyle\frac12}i\sigma_2,-{\textstyle\frac12}i\sigma_3\bigr] +&= +-{\textstyle\frac14}[\sigma_2,\sigma_3] += +-{\textstyle\frac14}\cdot 2i\sigma_1 += +-{\textstyle\frac12}i\sigma_1 +\\ +\bigl[-{\textstyle\frac12}i\sigma_3,-{\textstyle\frac12}i\sigma_1\bigr] +&= +-{\textstyle\frac14}[\sigma_3,\sigma_1] += +-{\textstyle\frac14}\cdot 2i\sigma_2 += +-{\textstyle\frac12}i\sigma_2 +\end{align*} +Die lineare Abbildung, die +\begin{align*} +\omega_{23}&\mapsto -{\textstyle\frac12}i\sigma_1\\ +\omega_{31}&\mapsto -{\textstyle\frac12}i\sigma_2\\ +\omega_{12}&\mapsto -{\textstyle\frac12}i\sigma_3 +\end{align*} +abbildet ist daher ein Isomorphismus der Lie-Algebra $\operatorname{so}(3)$ +auf die Lie-Algebra $\operatorname{su}(2)$. +Die Lie-Gruppen $\operatorname{SO}(3)$ und $\operatorname{SU}(2)$ +haben also die gleiche Lie-Algebra. + +Tatsächlich kann man Hilfe von Quaternionen die Matrix $\operatorname{SU}(2)$ +als Einheitsquaternionen beschreiben und damit eine Darstellung der +Drehmatrizen in $\operatorname{SO}(3)$ finden. +Dies wird in Kapitel~\ref{chapter:clifford} dargestellt. + + + + + diff --git a/buch/chapters/60-gruppen/lie-gruppen.tex b/buch/chapters/60-gruppen/lie-gruppen.tex index cb1ca84..e92c254 100644 --- a/buch/chapters/60-gruppen/lie-gruppen.tex +++ b/buch/chapters/60-gruppen/lie-gruppen.tex @@ -6,3 +6,876 @@ \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 \to \mathbb{R}^N$ eine Karte für die Umgebung +$U_e\subset G$ von $e\in G$. +Für $g\in G$ ist dann die Abbildung +\[ +\varphi_g +\colon +U_g += +gU_e +\to +\mathbb{R} +: +h\mapsto \varphi_e(g^{-1}h) +\] +eine Karte für die Umgebung $U_g$ des Gruppenelementes $g$. +schreibt man $l_{g}$ für die Abbildung $h\mapsto gh$, dann +kann man die Kartenabbildung auch $\varphi_g = \varphi_e\circ l_{g^{-1}}$ +schreiben. + +\subsubsection{Kartenwechsel} +Die Kartenwechsel-Abbildungen für zwei Karten $\varphi_{g_1}$ +und $\varphi_{g_2}$ ist die Abbildung +\[ +\varphi_{g_1,g_2} += +\varphi_{g_1}\circ \varphi_{g_2}^{-1} += +\varphi_e\circ l_{g_1^{-1}} \circ (\varphi_e\circ l_{g_2^{-1}})^{-1} += +\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2^{-1}}^{-1} \varphi_e^{-1} += +\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2}\varphi_e^{-1} += +\varphi_e\circ l_{g_1^{-1}g_2}\varphi_e^{-1} +\] +mit der Ableitung +\[ +D\varphi_e\circ Dl_{g_1^{-1}g_2} D\varphi_e^{-1} += +D\varphi_e\circ Dl_{g_1^{-1}g_2} (D\varphi_e)^{-1}. +\] +Die Abbildung $l_{g_1^{-1}g_2}$ ist aber nur die Multiplikation mit +einer Matrix, also eine lineare Abbildung, so dass der Kartenwechsel +nichts anderes ist als die Darstellung der Matrix der Linksmultiplikation +$l_{g_1^{-1}g_2}$ im Koordinatensystem der Karte $U_e$ ist. +Differenzierbarkeit der Kartenwechsel ist damit sichergestellt, +die Matrizengruppen sind automatisch differenzierbare Mannigfaltigkeiten. + +Die Konstruktion aller Karten aus einer einzigen Karte für eine +Umgebung des neutralen Elements zeigt auch, dass es für die Matrizengruppen +reicht, wenn man die Elemente in einer Umgebung des neutralen +Elementes parametrisieren kann. +Dies ist jedoch nicht nur für die Matrizengruppen möglich. +Wenn eine Gruppe gleichzeitig eine differenzierbare Mannigfaltigkeit +ist, dann können Karten über die ganze Gruppe transportiert werden, +wenn die Multiplikation mit Gruppenelementen eine differenzierbare +Abbildung ist. +Solche Gruppen heissen auch Lie-Gruppen gemäss der folgenden Definition. + +\begin{definition} +\index{Lie-Gruppe}% +Eine {\em Lie-Gruppe} ist eine Gruppe, die gleichzeitig eine differenzierbare +Mannigfaltigkeit ist derart, dass die Abbildungen +\begin{align*} +G\times G \to G &: (g_1,g_2)\mapsto g_1g_2 +\\ +G\to G &: g \mapsto g^{-1} +\end{align*} +differenzierbare Abbildungen zwischen Mannigfaltigkeiten sind. +\end{definition} + +Die Abstraktheit dieser Definition täuscht etwas über die +Tatsache hinweg, dass sich mit Hilfe der Darstellungstheorie +jede beliebige Lie-Gruppe als Untermannigfaltigkeit einer +Matrizengruppe verstehen lässt. +Das Studium der Matrizengruppen erlaubt uns daher ohne grosse +Einschränkungen ein Verständnis für die Theorie der Lie-Gruppen +zu entwickeln. + +\subsubsection{Tangentialvektoren und die Exponentialabbildung} +Die Matrizengruppen sind alle in der +$n^2$-dimensionalen Mannigfaltigkeit $\operatorname{GL}_n(\mathbb{R})$ +enthalten. +Diffferenzierbare Kurven $\gamma(t)$ in $\operatorname{GL}_n(\mathbb{R})$ +haben daher in jedem Punkt Tangentialvektoren, die als Matrizen in +$M_n(\mathbb{R})$ betrachtet werden können. +Wenn $\gamma(t)$ die Matrixelemente $\gamma_{ij}(t)$ hat, dann ist der +Tangentialvektor im Punkt $\gamma(t)$ durch +\[ +\frac{d}{dt} +\gamma(t) += +\begin{pmatrix} +\dot{\gamma}_{11}(t)&\dots &\dot{\gamma}_{1n}(t)\\ +\vdots &\ddots&\vdots \\ +\dot{\gamma}_{n1}(t)&\dots &\dot{\gamma}_{nn}(t) +\end{pmatrix} +\] +gegeben. + +Im Allgemeinen kann man Tangentialvektoren in verschiedenen Punkten +einer Mannigfaltigkeit nicht miteinander vergleichen. +Die Multiplikation $l_g$, die den Punkt $e$ in den Punkt $g$ verschiebt, +transportiert auch die Tangentialvektoren im Punkt $e$ in +Tangentialvektoren im Punkt $g$. + +\begin{aufgabe} +Gibt es eine Kurve $\gamma(t)\in\mathbb{GL}_n(\mathbb{R})$ mit +$\gamma(0)=e$ derart, dass der Tangentialvektor im Punkt $\gamma(t)$ +für $t>0$ derselbe ist wie der Tangentialvektor im Punkt $e$, transportiert +durch Matrixmultiplikation mit $\gamma(t)$? +\end{aufgabe} + +Eine solche Kurve muss die Differentialgleichung +\begin{equation} +\frac{d}{dt}\gamma(t) += +\gamma(t)\cdot A +\label{buch:gruppen:eqn:expdgl} +\end{equation} +erfüllen, wobei $A\in M_n(\mathbb{R})$ der gegebene Tangentialvektor +in $e=I$ ist. + +Die Matrixexponentialfunktion +\[ +e^{At} += +1+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\frac{A^4t^4}{4!}+\dots +\] +liefert eine Einparametergruppe +$\mathbb{R}\to \operatorname{GL}_n(\mathbb{R})$ mit der Ableitung +\[ +\frac{d}{dt} e^{At} += +\lim_{h\to 0} \frac{e^{A(t+h)}-e^{At}}{h} += +\lim_{h\to 0} e^{At}\frac{e^{Ah}-I}{h} += +e^{At} A. +\] +Sie ist also Lösung der Differentialgleichung~\eqref{buch:gruppen:eqn:expdgl}. + +\subsection{Drehungen in der Ebene +\label{buch:gruppen:drehungen2d}} +Die Drehungen der Ebene sind die orientierungserhaltenden Symmetrien +des Einheitskreises, der in Abbildung~\ref{buch:gruppen:fig:kartenkreis} +als Mannigfaltigkeit erkannt wurde. +Sie bilden eine Lie-Gruppe, die auf verschiedene Arten als Matrix +beschrieben werden kann. + +\subsubsection{Die Untergruppe +$\operatorname{SO}(2)\subset \operatorname{GL}_2(\mathbb{R})$} +Drehungen der Ebene können in einer orthonormierten Basis durch +Matrizen der Form +\[ +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +dargestellt werden. +Wir bezeichnen die Menge der Drehmatrizen in der Ebene mit +$\operatorname{SO}(2)\subset\operatorname{GL}_2(\mathbb{R})$. +Die Abbildung +\[ +D_{\bullet} +\colon +\mathbb{R}\to \operatorname{SO}(2) +: +\alpha \mapsto D_{\alpha} +\] +hat die Eigenschaften +\begin{align*} +D_{\alpha+\beta}&= D_{\alpha}D_{\beta} +\\ +D_0&=I +\\ +D_{2k\pi}&=I\qquad \forall k\in\mathbb{Z}. +\end{align*} +Daraus folgt zum Beispiel, dass $D_{\bullet}$ eine $2\pi$-periodische +Funktion ist. +$D_{\bullet}$ bildet die Menge der Winkel $[0,2\pi)$ bijektiv auf +die Menge der Drehmatrizen in der Ebene ab. + +Für jedes Intervall $(a,b)\subset\mathbb{R}$ mit Länge +$b-a < 2\pi$ ist die Abbildung $\alpha\mapsto D_{\alpha}$ umkehrbar, +die Umkehrung kann als Karte verwendet werden. +Zwei verschiedene Karten $\alpha_1\colon U_1\to\mathbb{R}$ und +$\alpha_2\colon U_2\to\mathbb{R}$ bilden die Elemente $g\in U_1\cap U_2$ +in Winkel $\alpha_1(g)$ und $\alpha_2(g)$ ab, für die +$D_{\alpha_1(g)}=D_{\alpha_2(g)}$ gilt. +Dies ist gleichbedeutend damit, dass $\alpha_1(g)=\alpha_2(g)+2\pi k$ +mit $k\in \mathbb{Z}$. +In einem Intervall in $U_1\cap U_2$ muss $k$ konstant sein. +Die Kartenwechselabblidung ist also nur die Addition eines Vielfachen +von $2\pi$, mit der identischen Abbildung als Ableitung. +Diese Karten führen also auf besonders einfache Kartenwechselabbildungen. + +\subsubsection{Die Untergruppe $S^1\subset\mathbb{C}$} +Ein alternatives Bild für die Drehungen der Ebene kann man in der komplexen +Ebene $\mathbb{C}$ erhalten. +Die Multiplikation mit der komplexen Zahl $e^{i\alpha}$ beschreibt eine +Drehung der komplexen Ebene um den Winkel $\alpha$. +Die Zahlen der Form $e^{i\alpha}$ haben den Betrag $1$ und die Abbildung +\[ +f\colon \mathbb{R}\to \mathbb{C}:\alpha \mapsto e^{i\alpha} +\] +hat die Eigenschaften +\begin{align*} +f(\alpha+\beta) &= f(\alpha)f(\beta) +\\ +f(0)&=1 +\\ +f(2\pi k)&=1\qquad\forall k\in\mathbb{Z}, +\end{align*} +die zu den Eigenschaften der Abbildung $\alpha\mapsto D_{\alpha}$ +analog sind. + +Jede komplexe Zahl $z$ vom Betrag $1$ kann geschrieben werden in der Form +$z=e^{i\alpha}$, die Abbildung $f$ ist also eine Parametrisierung des +Einheitskreises in der Ebene. +Wir bezeichen $S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ die komplexen Zahlen vom +Betrag $1$. +$S^1$ ist eine Gruppe bezüglich der Multiplikation, da für jede Zahl +$z,w\in S^1$ gilt +$|z^{-1}|=1$ und $|zw|=1$ und damit $z^{-1}\in S^1$ und $zw\in S^1$. + +Zu einer komplexen Zahl $z\in S^1$ gibt es einen bis auf Vielfache +von $2\pi$ eindeutigen Winkel $\alpha(z)$ derart, dass $e^{i\alpha(z)}=z$. +Damit kann man jetzt die Abbildung +\[ +\varphi +\colon +S^1\to \operatorname{SO}(2) +: +z\mapsto D_{\alpha(z)} +\] +konstruieren. +Da $D_{\alpha}$ $2\pi$-periodisch ist, geben um Vielfache +von $2\pi$ verschiedene Wahlen von $\alpha(z)$ die gleiche +Matrix $D_{\alpha(z)}$, die Abbildung $\varphi$ ist daher +wohldefiniert. +$\varphi$ erfüllt ausserdem die Bedingungen +\begin{align*} +\varphi(z_1z_2) +&= +D_{\alpha(z_1z_2)} += +D_{\alpha(z_1)+\alpha(z_2)} += +D_{\alpha(z_1)}D_{\alpha(z_2)} += +\varphi(z_1)\varphi(z_2) +\\ +\varphi(1) +&= +D_{\alpha(1)} += +D_0 += +I +\end{align*} +Die Abbildung $\varphi$ ist ein Homomorphismus der Gruppe $S^1$ +in die Gruppe $\operatorname{SO}(2)$. +Die Menge der Drehmatrizen in der Ebene kann also mit dem Einheitskreis +in der komplexen Ebene identifiziert werden. + +\subsubsection{Tangentialvektoren von $\operatorname{SO}(2)$} +Da die Gruppe $\operatorname{SO}(2)$ eine eindimensionale Gruppe +ist, kann jede Kurve $\gamma(t)$ durch den Drehwinkel $\alpha(t)$ +mit $\gamma(t) = D_{\alpha(t)}$ beschrieben werden. +Die Ableitung in $M_2(\mathbb{R})$ ist +\begin{align*} +\frac{d}{dt} \gamma(t) +&= +\frac{d}{d\alpha} +\begin{pmatrix} +\cos\alpha(t) & - \sin\alpha(t)\\ +\sin\alpha(t) & \cos\alpha(t) +\end{pmatrix} +\cdot +\frac{d\alpha}{dt} +\\ +&= +\begin{pmatrix} +-\sin\alpha(t)&-\cos\alpha(t)\\ + \cos\alpha(t)&-\sin\alpha(t) +\end{pmatrix} +\cdot +\dot{\alpha}(t) +\\ +&= +\begin{pmatrix} +\cos\alpha(t) & - \sin\alpha(t)\\ +\sin\alpha(t) & \cos\alpha(t) +\end{pmatrix} +\begin{pmatrix} +0&-1\\ +1&0 +\end{pmatrix} +\cdot +\dot{\alpha}(t) += +D_{\alpha(t)}J\cdot\dot{\alpha}(t). +\end{align*} +Alle Tangentialvektoren von $\operatorname{SO}(2)$ im Punkt $D_\alpha$ +entstehen aus $J$ durch Drehung mit der Matrix $D_\alpha$ und Skalierung +mit $\dot{\alpha}(t)$. + +% +% Isometrien von R^n +% +\subsection{Isometrien von $\mathbb{R}^n$ +\label{buch:gruppen:isometrien}} + +\subsubsection{Skalarprodukt} +Lineare Abbildungen des Raumes $\mathbb{R}^n$ können durch +$n\times n$-Matrizen beschrieben werden. +Die Matrizen, die das Standardskalarprodukt $\mathbb{R}^n$ erhalten, +bilden eine Gruppe, die in diesem Abschnitt genauer untersucht werden soll. +Eine Matrix $A\in M_{n}(\mathbb{R})$ ändert das Skalarprodukt, wenn +für jedes beliebige Paar $x,y$ von Vektoren gilt +$\langle Ax,Ay\rangle = \langle x,y\rangle$. +Das Standardskalarprodukt kann mit dem Matrixprodukt ausgedrückt werden: +\[ +\langle Ax,Ay\rangle += +(Ax)^tAy += +x^tA^tAy += +x^ty += +\langle x,y\rangle +\] +für jedes Paar von Vektoren $x,y\in\mathbb{R}$. + +Mit dem Skalarprodukt kann man auch die Matrixelemente einer Matrix +einer Abbildung $f$ in der Standardbasis bestimmen. +Das Skalarprodukt $\langle e_i, v\rangle$ ist die Länge der Projektion +des Vektors $v$ auf die Richtung $e_i$. +Die Komponenten von $Ae_j$ sind daher $a_{ij}=\langle e_i,f(e_j)\rangle$. +Die Matrix $A$ der Abbildung $f$ hat also die Matrixelemente +$a_{ij}=e_i^tAe_j$. + +\subsubsection{Die orthogonale Gruppe $\operatorname{O}(n)$} +Die Matrixelemente von $A^tA$ sind +$\langle A^tAe_i, e_j\rangle =\langle e_i,e_j\rangle = \delta_{ij}$ +sind diejenigen der Einheitsmatrix, +die Matrix $A$ erfüllt $AA^t=I$ oder $A^{-1}=A^t$. +Dies sind die {\em orthogonalen} Matrizen. +Die Menge $\operatorname{O}(n)$ der isometrischen Abbildungen besteht +daher aus den Matrizen +\[ +\operatorname{O}(n) += +\{ A\in M_n(\mathbb{R})\;|\; AA^t=I\}. +\] +Die Matrixgleichung $AA^t=I$ liefert $n(n+1)/2$ unabhängige Bedingungen, +die die orthogonalen Matrizen innerhalb der $n^2$-dimensionalen +Menge $M_n(\mathbb{R})$ auszeichnen. +Die Menge $\operatorname{O}(n)$ der orthogonalen Matrizen hat daher +die Dimension +\[ +n^2 - \frac{n(n+1)}{2} += +\frac{2n^2-n^2-n}{2} += +\frac{n(n-1)}2. +\] +Im Spezialfall $n=2$ ist die Gruppe $O(2)$ eindimensional. + +\subsubsection{Tangentialvektoren} +Die orthogonalen Matrizen bilden eine abgeschlossene Untermannigfaltigkeit +von $\operatorname{GL}_n(\mathbb{R})$, nicht jede Matrix $M_n(\mathbb{R})$ +kann also ein Tangentialvektor von $O(n)$ sein. +Um herauszufinden, welche Matrizen als Tangentialvektoren in Frage +kommen, betrachten wir eine Kurve $\gamma\colon\mathbb{R}\to O(n)$ +von orthogonalen Matrizen mit $\gamma(0)=I$. +Orthogonal bedeutet +\[ +\begin{aligned} +&& +0 +&= +\frac{d}{dt}I += +\frac{d}{dt} +(\gamma(t)^t\gamma(t)) += +\dot{\gamma}(t)^t\gamma(t)) ++ +\gamma(t)^t\dot{\gamma}(t)) +\\ +&\Rightarrow& +0 +&= +\dot{\gamma}(0)^t \cdot I + I\cdot \dot{\gamma(0)} += +\dot{\gamma}(0)^t + \dot{\gamma}(0) += +A^t+A=0 +\\ +&\Rightarrow& +A^t&=-A +\end{aligned} +\] +Die Tangentialvektoren von $\operatorname{O}(n)$ sind also genau +die antisymmetrischen Matrizen. + +Für $n=2$ sind alle antisymmetrischen Matrizen Vielfache der Matrix +$J$, wie in Abschnitt~\ref{buch:gruppen:drehungen2d} +gezeigt wurde. + +Für jedes Paar $i<j$ ist die Matrix $A_{ij}$ mit den Matrixelementen +$(A_{ij})_{ij}=-1$ und $(A_{ij})_{ji}=1$ +antisymmetrisch. +Für $n=2$ ist $A_{12}=J$. +Die $n(n-1)/2$ Matrizen $A_{ij}$ bilden eine Basis des +$n(n-1)/2$-dimensionale Tangentialraumes von $\operatorname{O}(n)$. + +Tangentialvektoren in einem anderen Punkt $g\in\operatorname{O}(n)$ +haben die Form $gA$, wobei $A$ eine antisymmetrische Matrix ist. +Diese Matrizen sind nur noch in speziellen Fällen antisymmetrisch, +zum Beispiel im Punkt $-I\in\operatorname{O}(n)$. + +\subsubsection{Die Gruppe $\operatorname{SO}(n)$} +Die Gruppe $\operatorname{O}(n)$ enhält auch Isometrien, die +die Orientierung des Raumes umkehren, wie zum Beispiel Spiegelungen. +Wegen $\det (AA^t)=\det A\det A^t = (\det A)^2=1$ kann die Determinante +einer orthogonalen Matrix nur $\pm 1$ sein. +Orientierungserhaltende Isometrien haben Determinante $1$. + +Die Gruppe +\[ +\operatorname{SO}(n) += +\{A\in\operatorname{O}(n)\;|\; \det A=1\} +\] +heisst die {\em spezielle orthogonale Gruppe}. +Die Dimension der Gruppe $\operatorname{O}(n)$ ist $n(n-1)/2$. + +\subsubsection{Die Gruppe $\operatorname{SO}(3)$} +Die Gruppe $\operatorname{SO}(3)$ der Drehungen des dreidimensionalen +Raumes hat die Dimension $3(3-1)/2=3$. +Eine Drehung wird festgelegt durch die Richtung der Drehachse und den +Drehwinkel. +Die Richtung der Drehachse ist ein Einheitsvektor, also ein Punkt +auf der zweidimensionalen Kugel. +Der Drehwinkel ist der dritte Parameter. + +Drehungen mit kleinen Drehwinkeln können zusammengesetzt werden +aus den Matrizen +\begin{align*} +D_{x,\alpha} +&= +\begin{pmatrix} +1&0&0\\ +0&\cos\alpha&-\sin\alpha\\ +0&\sin\alpha& \cos\alpha +\end{pmatrix}, +& +D_{y,\beta} +&= +\begin{pmatrix} + \cos\beta&0&\sin\beta\\ + 0 &1& 0 \\ +-\sin\beta&0&\cos\beta +\end{pmatrix}, +& +D_{z,\gamma} +&= +\begin{pmatrix} +\cos\gamma&-\sin\gamma&0\\ +\sin\gamma& \cos\gamma&0\\ + 0 & 0 &1 +\end{pmatrix} +\\ +&= +e^{A_{23}t} +& +&= +e^{-A_{13}t} +& +&= +e^{A_{21}t} +\end{align*} +die Drehungen um die Koordinatenachsen um den Winkel $\alpha$ +beschreiben. +Auch die Winkel $\alpha$, $\beta$ und $\gamma$ können als die +drei Koordinaten der Mannigkfaltigkeit $\operatorname{SO}(3)$ +angesehen werden. + +% +% Spezielle lineare Gruppe +% +\subsection{Volumenerhaltende Abbildungen und +die Gruppe $\operatorname{SL}_n(\mathbb{R})$ +\label{buch:gruppen:sl}} +Die Elemente der Gruppe $SO(n)$ erhalten Längen, Winkel und die +Orientierung, also auch das Volumen. +Es gibt aber volumenerhaltende Abbildungen, die Längen oder Winkel +nicht notwendigerweise erhalten. +Matrizen $A\in M_n(\mathbb{R})$, die das Volumen erhalten, +haben die Determinante $\det A=1$. +Wegen $\det(AB)=\det A\det B$ ist das Produkt zweier Matrizen mit +Determinante $1$ wieder eine solche, sie bilden daher eine Gruppe. + +\begin{definition} +Die volumenerhaltenden Abbildungen bilden die Gruppe +\[ +\operatorname{SL}_n(\mathbb{R}) += +\{ +A\in M_n(\mathbb{R}) +\;|\; +\det (A) = 1 +\} +\] +sie heisst die {\em spezielle lineare Gruppe}. +\end{definition} + +Wir wollen jetzt die Tangentialvektoren von $\operatorname{SL}_n(\mathbb{R})$ +bestimmen. +Dazu sei $A(t)$ eine Kurve in $\operatorname{SL}_n(\mathbb{R})$ +mit $A(0)=I$. +Für alle $t\in\mathbb{R}$ ist $\det A(t)=1$, daher ist die Ableitung +\[ +\frac{d}{dt} \det A(t) = 0 +\quad\text{an der Stelle $t=0$.} +\] +Für $n=2$ ist +\begin{align*} +A(t) +&= +\begin{pmatrix} +a(t)&b(t)\\ +c(t)&d(t) +\end{pmatrix} +\in +\operatorname{SL}_2(\mathbb{R}) +&&\Rightarrow& +\frac{d}{dt} +\det A(t)\bigg|_{t=0} +&= +\dot{a}(0) d(0)+a(0)\dot{d}(0) +- +\dot{b}(0) c(0)-b(0)\dot{c}(0) +\\ +&&&& +&= +\dot{a}(0) + \dot{d}(0) +\\ +&&&& +&= +\operatorname{Spur}\frac{dA}{dt}. +\end{align*} +Dies gilt nicht nur im Falle $n=2$, sondern ganz allgemein für beliebige +$n\times n$-Matrizen. + +\begin{satz} +Ist $A(t)$ eine differenzierbare Kurve in $\operatorname{SL}_n(\mathbb{B})$ +mit $A(0)=I$, dann ist $\operatorname{Spur}\dot{A}(0)=0$. +\end{satz} + +\begin{proof}[Beweis] +Die Entwicklung der Determinante von $A$ nach der ersten Spalte ist +\[ +\det A(t) = \sum_{i=1}^n (-1)^{i+1} a_{i1}(t) \det A_{i1}(t). +\] +Die Ableitung nach $t$ ist +\[ +\frac{d}{dt} \det A(t) += +\sum_{i=1}^n (-1)^{i+1} \dot{a}_{i1}(t) \det A_{i1}(t). ++ +\sum_{i=1}^n (-1)^{i+1} a_{i1}(t) \frac{d}{dt}\det A_{i1}(t). +\] +An der Stelle $t=0$ enthält $\det A_{i1}(0)$ für $i\ne 1$ +eine Nullzeile, der einzige nichtverschwindende Term in der ersten +Summe ist daher der erste. +In der zweiten Summe ist das einzige nicht verschwindende $a_{i1}(0)$ +jenes für $i=1$, somit ist die Ableitung von $\det A(t)$ +\begin{equation} +\frac{d}{dt} \det A(t) += +\dot{a}_{11}(t) \det A_{11}(t). ++ +\frac{d}{dt}\det A_{11}(t) += +\dot{a}_{11}(0) ++ +\frac{d}{dt}\det A_{11}(t). +\label{buch:gruppen:eqn:detspur} +\end{equation} +Die Beziehung \eqref{buch:gruppen:eqn:detspur} kann für einen Beweis mit +vollständiger Induktion verwendet werden. + +Die Induktionsverankerung für $n=1$ besagt, dass $\det A(t)=a_{11}(t)$ +genau dann konstant $=1$ ist, wenn $\dot{a}_{11}(0)=\operatorname{Spur}A(0)$ +ist. +Unter der Induktionsannahme, dass für eine $(n-1)\times(n-1)$-Matrix +$\tilde{A}(t)$ mit $\tilde{A}(0)=I$ die Ableitung der Determinante +\[ +\frac{d}{dt}\tilde{A}(0) += +\operatorname{Spur}\dot{\tilde{A}}(0) +\] +ist, folgt jetzt mit +\eqref{buch:gruppen:eqn:detspur}, dass +\[ +\frac{d}{dt}A(0) += +\dot{a}_{11}(0) ++ +\frac{d}{dt} \det A_{11}(t)\bigg|_{t=0} += +\dot{a}_{11}(0) ++ +\operatorname{Spur}\dot{A}_{11}(0) += +\operatorname{Spur}\dot{A}(0). +\] +Damit folgt jetzt die Behauptung für alle $n$. +\end{proof} + +\begin{beispiel} +Die Tangentialvektoren von $\operatorname{SL}_2(\mathbb{R})$ sind +die spurlosen Matrizen +\[ +A=\begin{pmatrix}a&b\\c&d\end{pmatrix} +\quad\Rightarrow\quad +\operatorname{Spur}A=a+d=0 +\quad\Rightarrow\quad +A=\begin{pmatrix}a&b\\c&-a\end{pmatrix}. +\] +Der Tangentialraum ist also dreidimensional. +Als Basis könnte man die folgenden Vektoren verwenden: +\begin{align*} +A +&= +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +&&\Rightarrow& +e^{At} +&= +\begin{pmatrix} e^t & 0 \\ 0 & e^{-t} \end{pmatrix} +\\ +B +&= +\begin{pmatrix}0&-1\\1&0\end{pmatrix} +&&\Rightarrow& +e^{Bt} +&= +\begin{pmatrix} +\cos t & -\sin t\\ +\sin t & \cos t +\end{pmatrix} +\\ +C +&= +\begin{pmatrix}0&1\\1&0\end{pmatrix} +&&\Rightarrow& +e^{Ct} +&= +I + Ct + \frac{C^2t^2}{2!} + \frac{C^3t^3}{3!} + \frac{C^4t^4}{4!}+\dots +\\ +&&&& +&= +I\biggl(1 + \frac{t^2}{2!} + \frac{t^4}{4!}+\dots \biggr) ++ +C\biggl(t + \frac{t^3}{3!} + \frac{t^5}{5!}+\dots \biggr) +\\ +&&&& +&= +I\cosh t + C \sinh t += +\begin{pmatrix} +\cosh t & \sinh t\\ +\sinh t & \cosh t +\end{pmatrix}, +\end{align*} +wobei in der Auswertung der Potenzreihe für $e^{Ct}$ verwendet wurde, +dass $C^2=I$. + +Die Matrizen $e^{At}$ Streckungen der einen Koordinatenachse und +Stauchungen der anderen derart, dass das Volumen erhalten bleibt. +Die Matrizen $e^{Bt}$ sind Drehmatrizen, die Längen und Winkel und +damit erst recht den Flächeninhalt erhalten. +Die Matrizen der Form $e^{Ct}$ haben die Vektoren $(1,\pm1)$ als +Eigenvektoren: +\begin{align*} +\begin{pmatrix}1\\1\end{pmatrix} +&\mapsto +e^{Ct} +\begin{pmatrix}1\\1\end{pmatrix} += +(\cosh t +\sinh t) +\begin{pmatrix}1\\1\end{pmatrix} += +\biggl( +\frac{e^t+e^{-t}}2 ++ +\frac{e^t-e^{-t}}2 +\biggr) +\begin{pmatrix}1\\1\end{pmatrix} += +e^t +\begin{pmatrix}1\\1\end{pmatrix} +\\ +\begin{pmatrix}1\\-1\end{pmatrix} +&\mapsto +e^{Ct} +\begin{pmatrix}1\\-1\end{pmatrix} += +(\cosh t -\sinh t) +\begin{pmatrix}1\\-1\end{pmatrix} += +\biggl( +\frac{e^t+e^{-t}}2 +- +\frac{e^t-e^{-t}}2 +\biggr) +\begin{pmatrix}1\\-1\end{pmatrix} += +e^{-t} +\begin{pmatrix}1\\-1\end{pmatrix} +\end{align*} +Die Matrizen $e^{Ct}$ strecken die Richtung $(1,1)$ um $e^t$ und +die dazu orthogonale Richtung $(1,-1)$ um den Faktor $e^{-t}$. +Dies ist die gegenüber $e^{At}$ um $45^\circ$ verdrehte Situation, +auch diese Matrizen sind flächenerhaltend. +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/sl2.pdf} +\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} + +% +% Die Gruppe SU(2) +% +\subsection{Die Gruppe $\operatorname{SU}(2)$ +\label{buch:gruppen:su2}} +Die Menge der Matrizen +\[ +\operatorname{SU}(2) += +\left\{ +\left. +A=\begin{pmatrix} a&b\\c&d\end{pmatrix} +\;\right|\; +a,b,c,d\in\mathbb{C},\det(A)=1, AA^*=I +\right\} +\] +heisst die {\em spezielle unitäre Gruppe}. +Wegen $\det(AB)=\det(A)\det(B)=1$ und $(AB)^*AB=B^*A^*AB=B^*B=I$ ist +$\operatorname{SU}(2)$ eine Untergruppe von $\operatorname{GL}_2(\mathbb{C})$. +Die Bedingungen $\det A=1$ und $AA^*=I$ schränken die möglichen Werte +von $a$ und $b$ weiter ein. +Aus +\[ +A^* += +\begin{pmatrix} +\overline{a}&\overline{c}\\ +\overline{b}&\overline{d} +\end{pmatrix} +\] +und den Bedingungen führen die Gleichungen +\[ +\begin{aligned} +a\overline{a}+b\overline{b}&=1 +&&\Rightarrow&|a|^2+|b|^2&=1 +\\ +a\overline{c}+b\overline{d}&=0 +&&\Rightarrow& +\frac{a}{b}&=-\frac{\overline{d}}{\overline{c}} +\\ +c\overline{a}+d\overline{b}&=0 +&&\Rightarrow& +\frac{c}{d}&=-\frac{\overline{b}}{\overline{a}} +\\ +c\overline{c}+d\overline{d}&=1&&\Rightarrow&|c|^2+|d|^2&=1 +\\ +ad-bc&=1 +\end{aligned} +\] +Aus der zweiten Gleichung kann man ableiten, dass es eine Zahl $t\in\mathbb{C}$ +gibt derart, dass $c=-t\overline{b}$ und $d=t\overline{a}$. +Damit wird die Bedingung an die Determinante zu +\[ +1 += +ad-bc = at\overline{a} - b(-t\overline{b}) += +t(|a|^2+|b|^2) += +t, +\] +also muss die Matrix $A$ die Form haben +\[ +A += +\begin{pmatrix} +a&b\\ +-\overline{b}&\overline{a} +\end{pmatrix} +\qquad\text{mit}\quad |a|^2+|b|^2=1. +\] +Schreibt man $a=a_1+ia_2$ und $b=b_1+ib_2$ mit rellen $a_i$ und $b_i$, +dann besteht $SU(2)$ aus den Matrizen der Form +\[ +A= +\begin{pmatrix} + a_1+ia_2&b_1+ib_2\\ +-b_1+ib_2&a_1-ia_2 +\end{pmatrix} +\] +mit der zusätzlichen Bedingung +\[ +|a|^2+|b|^2 += +a_1^2 + a_2^2 + b_1^2 + b_2^2 = 1. +\] +Die Matrizen von $\operatorname{SU}(2)$ stehen daher in einer +eins-zu-eins-Beziehung zu den Vektoren $(a_1,a_2,b_1,b_2)\in\mathbb{R}^4$ +eines vierdimensionalen reellen Vektorraums mit Länge $1$. +Geometrisch betrachtet ist also $\operatorname{SU}(2)$ eine dreidmensionalen +Kugel, die in einem vierdimensionalen Raum eingebettet ist. + + + diff --git a/buch/chapters/60-gruppen/symmetrien.tex b/buch/chapters/60-gruppen/symmetrien.tex index 8d5c0e0..7364c85 100644 --- a/buch/chapters/60-gruppen/symmetrien.tex +++ b/buch/chapters/60-gruppen/symmetrien.tex @@ -7,4 +7,719 @@ \section{Symmetrien \label{buch:section:symmetrien}} \rhead{Symmetrien} +Der geometrische Begriff der Symmetrie meint die Eigenschaft eines +geometrischen Objektes, dass es bei einer Bewegung auf sich selbst +abgebildet wird. +Das Wort stammt aus dem altgriechischen, wo es {\em Gleichmass} +bedeutet. +Spiegelsymmetrische Objekte zeichnen sich zum Beispiel dadurch aus, +dass Messungen von Strecken die gleichen Werte ergeben wie die Messungen +der entsprechenden gespiegelten Strecken (siehe auch +Abbildung~\ref{buch:lie:bild:castlehoward}, was die Herkunft des +Begriffs verständlich macht. +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/60-gruppen/images/castle.jpeg} +\caption{Das Castle Howard in Yorkshire war in dieser ausgeprägt symmetrischen +Form geplant, wurde dann aber in modifizeirter Form gebaut. +Messungen zwischen Punkten in der rechten Hälfte des Bildes +ergeben die gleichen Werte wie Messungen entsprechenden Strecken +in der linken Hälfte, was den Begriff Symmetrie rechtfertigt. +\label{buch:lie:bild:castlehoward}} +\end{figure} +In der Physik wird dem Begriff der Symmetrie daher auch eine erweiterte +Bedeutung gegeben. +Jede Transformation eines Systems, welche bestimmte Grössen nicht +verändert, wird als Symmetrie bezeichnet. +Die Gesetze der Physik sind typischerweise unabhängig davon, wo man den +den Nullpunkt der Zeit oder das räumlichen Koordinatensystems ansetzt, +eine Transformation des Zeitnullpunktes oder des Ursprungs des +Koordinatensystems ändert daher die Bewegungsgleichungen nicht, sie ist +eine Symmetrie des Systems. + +Umgekehrt kann man fragen, welche Symmetrien ein System hat. +Da sich Symmetrien zusammensetzen und umkehren lassen, kann man in davon +ausgehen, dass die Symmetrietransformationen eine Gruppe bilden. +Besonders interessant ist dies im Falle von Transformationen, die +durch Matrizen beschrieben weren. +Eine unter der Symmetrie erhaltene Eigenschaft definiert so eine +Untergruppe der Gruppe $\operatorname{GL}_n(\mathbb{R})$ der +invertierbaren Matrizen. +Die erhaltenen Eigenschaften definieren eine Menge von Gleichungen, +denen die Elemente der Untergruppe genügen müssen. +Als Lösungsmenge einer Gleichung erhält die Untergruppe damit eine +zusätzliche geometrische Struktur, man nennt sie eine differenzierbare +Mannigfaltigkeit. +Dieser Begriff wird im Abschnitt~\ref{buch:subsection:mannigfaltigkeit} +eingeführt. +Es wird sich zum Beispiel zeigen, dass die Menge der Drehungen der +Ebene mit den Punkten eines Kreises parametrisieren lassen, +die Lösungen der Gleichung $x^2+y^2=1$ sind. + +Eine Lie-Gruppe ist eine Gruppe, die gleichzeitig eine differenzierbare +Mannigfaltigkeit ist. +Die Existenz von geometrischen Konzepten wie Tangentialvektoren +ermöglicht zusätzliche Werkzeuge, mit denen diese Gruppe untersucht +und verstanden werden können. +Ziel dieses Abschnitts ist, die Grundlagen für diese Untersuchung zu +schaffen, die dann im Abschnitt~\ref{buch:section:lie-algebren} +durchgeführt werden soll. + +\subsection{Algebraische Symmetrien +\label{buch:subsection:algebraische-symmetrien}} +Mit Matrizen lassen sich Symmetrien in einem geometrischen Problem +oder in einem physikalischen System beschreiben. +Man denkt dabei gerne zuerst an geometrische Symmetrien wie die +Symmetrie unter Punktspiegelung oder die Spiegelung an der $x_1$-$x_2$-Ebene, +wie sie zum Beispiel durch die Abbildungen +\[ +\mathbb{R}^3\to\mathbb{R}^3 : x\mapsto -x +\qquad\text{oder}\qquad +\mathbb{R}^3\to\mathbb{R}^3 : +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} +\mapsto +\begin{pmatrix}-x_1\\x_2\\x_3\end{pmatrix} +\] +dargestellt werden. +Beide haben zunächst die Eigenschaft, dass Längen und Winkel und damit +das Skalarprodukt erhalten sind. +Diese Eigenschaft allein erlaubt aber noch nicht, die beiden Transformationen +zu unterscheiden. +Die Punktspiegelung zeichnet sich dadurch aus, das alle Geraden und alle +Ebenen durch den Ursprung auf sich selbst abgebildet werden. +Dies funktioniert für die Ebenenspiegelung nicht, dort bleibt nur die +Spiegelungsebene (die $x_1$-$x_2$-Ebene im vorliegenden Fall) und +ihre Normale erhalten. +Die folgenden Beispiele sollen zeigen, wie solche Symmetriedefinitionen +auf algebraische Bedingungen an die Matrixelemente führen. + +Zu jeder Abbildung $f\colon\mathbb{R}^n\to\mathbb{R}^n$, unter der +ein geometrisches Objekt in $\mathbb{R}^n$ symmetrisch ist, können wir +sofort weitere Abbildungen angeben, die ebenfalls Symmetrien sind. +Zum Beispiel sind die iterierten Abbildungen $f\circ f$, $f\circ f\circ f$ +u.~s.~w., die wir auch $f^n$ mit $n\in\mathbb{N}$ schreiben werden, +ebenfalls Symmetrien. +Wenn die Symmetrie auch umkehrbar ist, dann gilt dies sogar für alle +$n\in\mathbb{Z}$. +Wir erhalten so eine Abbildung +$\varphi\colon \mathbb{Z}\to \operatorname{GL}_n(\mathbb{R}):n\mapsto f^n$ +mit den Eigenschaften $\varphi(0)=f^0 = I$ und +$\varphi(n+m)=f^{n+m}=f^n\circ f^m = \varphi(n)\circ\varphi(m)$. +$\varphi$ ist ein Homomorphismus der Gruppe $\mathbb{Z}$ in die Gruppe +$\operatorname{GL}_n(\mathbb{R})$. +Wir nennen dies eine {\em diskrete Symmetrie}. + +\subsection{Kontinuierliche Symmetrien +\label{buch:subsection:kontinuierliche-symmetrien}} +Von besonderem Interesse sind kontinuierliche Symmetrien. +Dies sind Abbildungen eines Systems, die von einem Parameter +abhängen. +Zum Beispiel können wir Drehungen der Ebene $\mathbb{R}^2$ um den +Winkel $\alpha$ durch Matrizen +\[ +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +beschrieben werden. +Ein Kreis um den Nullpunkt bleibt unter jeder dieser Drehungen invariant. +Im Gegensatz dazu sind alle $3n$-Ecke mit Schwerpunkt $0$ nur invariant +unter der einen Drehung $D_{\frac{2\pi}3}$ invariant. +Die kleinste Menge, die einen vorgegebenen Punkt enthält und unter +allen Drehungen $D_\alpha$ invariant ist, ist immer ein Kreis um +den Nullpunkt. + +\begin{definition} +Ein Homomorphismus $\varphi\colon\mathbb{R}\to\operatorname{GL}_n(\mathbb{R})$ +von der additiven Gruppe $\mathbb{R}$ in die allgemeine lineare Gruppe +heisst eine {\em Einparameter-Untergruppe} von +$\operatorname{GL}_n(\mathbb{R})$. +\end{definition} + +Die Abbildung +\[ +\varphi +\colon +\mathbb{R}\to\operatorname{GL}_n(\mathbb{R}) +: +\alpha \mapsto +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +ist also eine Einparameter-Untergruppe von $\operatorname{GL}_2(\mathbb{R})$. + +\subsubsection{Der harmonische Oszillator} +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/phasenraum.pdf} +\caption{Die Lösungen der +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +im Phasenraum sind Ellipsen mit Halbachsenverhältnis $\omega^{-1}$. +\label{chapter:gruppen:fig:phasenraum}} +\end{figure} +Eine Masse $m$ verbunden mit einer Feder mit der Federkonstanten $K$ +schwingt um die Ruhelage $x=0$ entsprechend der Differentialgleichung +\[ +m\frac{d^2}{dt^2} x(t) = -Kx(t). +\] +Die Kreisfrequenz der Schwingung ist +\[ +\omega = \sqrt{\frac{K}{m}}. +\] +Das System kann als zweidimensionales System im Phasenraum mit den +Koordinaten $x_1=x$ und $x_2=p=m\dot{x}$ beschrieben werden. +Die zweidimensionale Differentialgleichung ist +\begin{equation} +\left. +\begin{aligned} +\dot{x}(t) &= \frac{1}{m}p(t)\\ +\dot{p}(t) &= -Kx(t) +\end{aligned} +\quad +\right\} +\qquad\Rightarrow\qquad +\frac{d}{dt} +\begin{pmatrix}x(t)\\p(t)\end{pmatrix} += +\begin{pmatrix} +0&\frac{1}{m}\\ +-K&0 +\end{pmatrix} +\begin{pmatrix}x(t)\\p(t)\end{pmatrix}. +\label{chapter:gruppen:eqn:phasenraumdgl} +\end{equation} +Die Lösung der Differentialgleichung für die Anfangsbedingung $x(0)=1$ und +$p(0)=0$ ist +\[ +x(t) += +\cos \omega t +\qquad\Rightarrow\qquad +p(t) += +-\omega \sin\omega t, +\] +die Lösung zur Anfangsbedingung $x(0)=0$ und $p(0)=1$ ist +\[ +x(t) = \frac{1}{\omega} \sin\omega t, +\qquad +p(t) = \cos \omega t. +\] +In Matrixform kann man die allgemeine Lösung zur Anfangsbedingun $x(0)=x_0$ +und $p(0)=p_0$ +\begin{equation} +\begin{pmatrix} +x(t)\\ +p(t) +\end{pmatrix} += +\underbrace{ +\begin{pmatrix} + \cos \omega t & \frac{1}{\omega} \sin\omega t \\ +-\omega \sin\omega t & \cos\omega t +\end{pmatrix} +}_{\displaystyle =\Phi_t} +\begin{pmatrix}x_0\\p_0\end{pmatrix} +\label{buch:gruppen:eqn:phi} +\end{equation} +schreiben. +Die Matrizen $\Phi_t$ bilden eine Einparameter-Untergruppe von +$\operatorname{GL}_n(\mathbb{R})$, da +\begin{align*} +\Phi_s\Phi_t +&= +\begin{pmatrix} + \cos\omega s & \frac{1}{\omega} \sin\omega s \\ +-\omega \sin\omega s & \cos\omega s +\end{pmatrix} +\begin{pmatrix} + \cos\omega t & \frac{1}{\omega} \sin\omega t \\ +-\omega \sin\omega t & \cos\omega t +\end{pmatrix} +\\ +&= +\begin{pmatrix} +\cos\omega s \cos\omega t - \sin\omega s \sin\omega t +& \frac{1}{\omega} ( \cos\omega s \sin\omega t + \sin\omega s \cos \omega t) +\\ +-\omega (\sin\omega s \cos\omega t + \cos\omega s \sin\omega t ) +& \cos\omega s \cos\omega t -\sin\omega s \sin\omega t +\end{pmatrix} +\\ +&= +\begin{pmatrix} + \cos\omega(s+t) & \frac{1}{\omega}\sin\omega(s+t) \\ +-\omega \sin\omega(s+t) & \cos\omega(s+t) +\end{pmatrix} += +\Phi_{s+t} +\end{align*} +gilt. +Die Lösungen der +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +sind in Abbildung~\ref{chapter:gruppen:fig:phasenraum} +Die Matrizen $\Phi_t$ beschreiben eine kontinuierliche Symmetrie +des Differentialgleichungssystems, welches den harmonischen Oszillator +beschreibt. + +\subsubsection{Fluss einer Differentialgleichung} +Die Abbildungen $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} sind jeweils +Matrizen in $\operatorname{GL}_n(\mathbb{R})$. +Der Grund dafür ist, dass die +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +linear ist. +Dies hat zur Folge, dass für zwei Anfangsbedingungen $x_1,x_2\in\mathbb{R}^2$ +die Lösung für Linearkombinationen $\lambda x_1+\mu x_2$ durch +Linearkombination der Lösungen erhalten werden kann, also +aus der Formel +\[ +\Phi_t (\lambda x_1 + \mu x_2) = \lambda \Phi_t x_1 + \mu \Phi_t x_2. +\] +Dies zeigt, dass $\Phi_t$ für jedes $t$ eine lineare Abbildung sein muss. + +Für eine beliebige Differentialgleichung kann man immer noch eine Abbildung +$\Phi$ konstruieren, die aber nicht mehr linear ist. +Sei dazu die Differentialgleichung erster Ordnung +\begin{equation} +\frac{dx}{dt} += +f(t,x) +\qquad\text{mit}\qquad +f\colon \mathbb{R}\times\mathbb{R}^n \to \mathbb{R}^n +\label{buch:gruppen:eqn:dgl} +\end{equation} +gegeben. +Für jeden Anfangswert $x_0\in\mathbb{R}^n$ kann man mindestens für eine +gewisse Zeit $t <\varepsilon$ eine Lösung $x(t,x_0)$ finden mit $x(t,x_0)=x_0$. +Aus der Theorie der gewöhnlichen Differentialgleichungen ist auch +bekannt, dass $x(t,x_0)$ mindestens in der Nähe von $x_0$ differenzierbar von +$x_0$ abhängt. +Dies erlaubt eine Abbildung +\[ +\Phi\colon \mathbb{R}\times \mathbb{R}^n \to \mathbb{R}^n +: +(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0) +\] +zu definieren, die sowohl von $t$ als auch von $x_0$ differenzierbar +abhängt. +Aus der Definition folgt unmittelbar, dass $\Phi_0(x_0)=x_0$ ist, dass +also $\Phi_0$ die identische Abbildung von $\mathbb{R}^n$ ist. + +Aus der Definition lässt sich auch ableiten, dass +$\Phi_{s+t}=\Phi_s\circ\Phi_t$ gilt. +$\Phi_t(x_0)=x(t,x_0)$ ist der Endpunkt der Bahn, die bei $x_0$ beginnt +und sich während der Zeit $t$ entwickelt. +$\Phi_s(x(t,x_0))$ ist dann der Endpunkt der Bahn, die bei $x(t,x_0)$ +beginnt und sich während der Zeit $s$ entwickelt. +Somit ist $\Phi_s\circ \Phi_t(x_0)$ der Endpunkt der Bahn, die bei +$x_0$ beginnt und sich über die Zeit $s+t$ entwickelt. +In Formeln bedeutet dies +\[ +\Phi_{s+t} = \Phi_s\circ \Phi_t. +\] +Die Abbildung $t\mapsto \Phi_t$ ist also wieder ein Homomorphismus +von der additiven Gruppe $\mathbb{R}$ in eine Gruppe von differenzierbaren +Abbildungen $\mathbb{R}^n\to\mathbb{R}^n$. + +\begin{definition} +Die Abbildung +\[ +\Phi\colon \mathbb{R}\times\mathbb{R}^n\to\mathbb{R}^n +: +(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0) +\] +heisst der {\em Fluss} der Differentialgleichung +\eqref{buch:gruppen:eqn:dgl}, +wenn für jedes $x_0\in\mathbb{R}^n$ die Kurve $t\mapsto \Phi_t(x_0)$ +eine Lösung der Differentialgleichung ist mit Anfangsbedingung $x_0$. +\end{definition} + +Die Abbildung $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} ist also +der Fluss der Differentialgleichung des harmonischen Oszillators. + +\subsection{Mannigfaltigkeiten +\label{buch:subsection:mannigfaltigkeit}} +Eine Differentialgleichung der Form~\eqref{buch:gruppen:eqn:dgl} +stellt einen Zusammenhang her zwischen einem Punkt $x$ und der +Tangentialrichtung einer Bahnkurve $f(t,x)$. +Die Ableitung liefert die lineare Näherung der Bahkurve +\[ +x(t_0+h) = x(t_0) + h f(t_0,x_0) + o(h) +\] +für $h$ in einer kleinen Umgebung von $0$. +Das funktioniert auch, weil $f(t_0,x_0)$ selbst ein Vektor von +$\mathbb{R}^n$ ist, in dem die Bahnkurve verläuft. + +Diese Idee funktioniert nicht mehr zum Beispiel für eine +Differentialgleichung auf einer Kugeloberfläche, weil alle Punkte +$x(t_0)+hf(t_0,x_0)$ für alle $h\ne 0$ nicht mehr auf der Kugeloberfläche +liegen. +Physikalisch äussert sich das ein einer zusätzlichen Kraft, die nötig +ist, die Bahn auf der Kugeloberfläche zu halten. +Diese Kraft stellt zum Beispiel sicher, dass die Vektoren $f(t,x)$ für +Punkte $x$ auf der Kugeloberfläche immer tangential an die Kugel sind. +Trotzdem ist der Tangentialvektor oder der Geschwindigkeitsvektor +nicht mehr ein Objekt, welches als Teil der Kugeloberfläche definiert +werden kann, er kann nur definiert werden, wenn man sich die Kugel als +in einen höherdimensionalen Raum eingebettet vorstellen kann. + +Um die Idee der Differentialgleichung auf einer beliebigen Fläche +konsistent zu machen ist daher notwendig, die Idee einer Tagentialrichtung +auf eine Art zu definieren, die nicht von der Einbettung der Fläche +in den $n$-dimensionalen Raum abhängig ist. +Das in diesem Abschnitt entwickelte Konzept der {\em Mannigfaltigkeit} +löst dieses Problem. + +\subsubsection{Karten} +Die Navigation auf der Erdoberfläche verwendet das Koordinatensystem +der geographischen Länge und Breite. +Dieses Koordinatensystem funktioniert gut, solange man sich nicht an +den geographischen Polen befindet, denn deren Koordinaten sind +nicht mehr eindeutig. +Alle Punkte mit geographischer Breite $90^\circ$ und beliebiger +geographischer Länge beschreiben den Nordpol. +Auch die Ableitung funktioniert dort nicht mehr. +Bewegt man sich mit konstanter Geschwindigkeit über den Nordpol, +springt die Ableitung der geographischen Breite von einem positiven +Wert auf einen negativen Wert, sie kann also nicht differenzierbar sein. +Diese Einschränkungen sind in der Praxis nur ein geringes Problem dar, +da die meisten Reisen nicht über die Pole erfolgen. + +Der Polarforscher, der in unmittelbarer Umgebung des Poles arbeitet, +kann das Problem lösen, indem er eine lokale Karte für das Gebiet +um den Pol erstellt. +Dafür kann er beliebige Koordinaten verwenden, zum Beispiel auch +ein kartesisches Koordinatensystem, er muss nur eine Methode haben, +wie er seine Koordinaten wieder auf geographische Länge und Breite +umrechnen will. +Und wenn er über Geschwindigkeiten kommunizieren will, dann muss +er auch Ableitungen von Kurven in seinem kartesischen Koordinatensystem +umrechnen können auf die Kugelkoordinaten. +Dazu muss seine Umrechnungsformel von kartesischen Koordinaten +auf Kugelkoordinaten differenzierbar sein. + +Diese Idee wird durch das Konzept der Mannigfaltigkeit verallgemeinert. +Eine $n$-dimensionale {\em Mannigfaltigkeit} ist eine Menge $M$ von Punkten, +die lokal, also in der Umgebung eines Punktes, mit möglicherweise mehreren +verschiedenen Koordinatensystemen versehen werden kann. +Ein Koordinatensystem ist eine umkehrbare Abbildung einer offenen Teilmenge +$U\subset M$ in den Raum $\mathbb{R}^n$. +Die Komponenten dieser Abbildung heissen die {\em Koordinaten}. + +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/karten.pdf} +\caption{Karten +$\varphi_\alpha\colon U_\alpha\to \mathbb{R}^2$ +und +$\varphi_\beta\colon U_\beta\to \mathbb{R}^2$ +auf einem Torus. +Auf dem Überschneidungsgebiet $\varphi_\alpha^{-1}(U_\alpha\cap U_\beta)$ +ist der Kartenwechsel $\varphi_\beta\circ\varphi_\alpha^{-1}$ wohldefiniert +und muss differnzierbar sein, wenn eine differenzierbare Mannigfaltigkeit +entstehen soll. +\label{buch:gruppen:fig:karten}} +\end{figure} + +\begin{definition} +Eine Karte auf $M$ ist eine umkehrbare Abbildung +$\varphi\colon U\to \mathbb{R}^n$ (siehe auch +Abbildung~\ref{buch:gruppen:fig:karten}). +Ein differenzierbarer Atlas ist eine Familie von Karten $\varphi_\alpha$ +derart, dass die Definitionsgebiete $U_\alpha$ die ganze Menge $M$ +überdecken, und dass die Kartenwechsel Abbildungen +\[ +\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1} +\colon +\varphi_\alpha(U_\alpha\cap U_\beta) +\to +\varphi_\beta(U_\alpha\cap U_\beta) +\] +als Abbildung von offenen Teilmengen von $\mathbb{R}^n$ differenzierbar +ist. +Eine {$n$-dimensionale differenzierbare Mannigfaltigkeit} ist eine +Menge $M$ mit einem differenzierbaren Atlas. +\end{definition} + +Karten und Atlanten regeln also nur, wie sich verschiedene lokale +Koordinatensysteme ineinander umrechnen lassen. + +\begin{beispiel} +$M=\mathbb{R}^n$ ist eine differenzierbare Mannigfaltigkeit denn +die identische Abbildung $M\to \mathbb{R}^n$ ist eine Karte und ein +Atlas von $M$. +\end{beispiel} + +\begin{beispiel} +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/kartenkreis.pdf} +\caption{Karten für die Kreislinie $S^1\subset\mathbb{R}^2$. +\label{buch:gruppen:fig:kartenkreis}} +\end{figure} +Die Kreislinie in in der Ebene ist eine $1$-dimensionale Mannigfaltigkeit. +Natürlich kann sie nicht mit einer einzigen Karte beschrieben werden, +da es keine umkehrbaren Abbildungen zwischen $\mathbb{R}$ und der Kreislinie +gibt. +Die Projektionen auf die einzelnen Koordinaten liefern die folgenden +vier Karten: +\begin{align*} +\varphi_1&\colon U_{x>0}\{(x,y)\;|\;x^2+y^2=1\wedge x>0\} \to\mathbb{R} +: +(x,y) \mapsto y +\\ +\varphi_2&\colon U_{x<0}\{(x,y)\;|\;x^2+y^2=1\wedge x<0\} \to\mathbb{R} +: +(x,y) \mapsto y +\\ +\varphi_3&\colon U_{y>0}\{(x,y)\;|\;x^2+y^2=1\wedge y>0\} \to\mathbb{R} +: +(x,y) \mapsto x +\\ +\varphi_4&\colon U_{y<0}\{(x,y)\;|\;x^2+y^2=1\wedge y<0\} \to\mathbb{R} +: +(x,y) \mapsto x +\end{align*} +Die Werte der Kartenabbildungen sind genau die $x$- und $y$-Koordinaten +auf der in den Raum $\mathbb{R}^2$ eingebetteten Kreislinie. + +Für $\varphi_1$ und $\varphi_2$ sind die Definitionsgebiete disjunkt, +hier gibt es also keine Notwendigkeit, Koordinatenumrechnungen vornehmen +zu können. +Dasselbe gilt für $\varphi_3$ und $\varphi_4$. + +Die nichtleeren Schnittmengen der verschiedenen Kartengebiete beschreiben +jeweils die Punkte der Kreislinie in einem Quadranten. +Die Umrechnung zwischen den Koordinaten und ihre Ableitung +ist je nach Quadrant durch +\begin{align*} +&\text{1.~Quadrant}& +\varphi_{31} +&= +\varphi_3\circ\varphi_1^{-1}\colon y\mapsto\phantom{-}\sqrt{1-y^2\mathstrut} +& +D\varphi_{31} +&= +-\frac{y}{\sqrt{1-y^2\mathstrut}} +\\ +&\text{2.~Quadrant}& +\varphi_{24} +&= +\varphi_3\circ\varphi_1^{-1}\colon x\mapsto\phantom{-}\sqrt{1-x^2\mathstrut} +& +D\varphi_{24} +&= +-\frac{x}{\sqrt{1-x^2\mathstrut}} +\\ +&\text{3.~Quadrant}& +\varphi_{42} +&= +\varphi_3\circ\varphi_1^{-1}\colon y\mapsto-\sqrt{1-y^2\mathstrut} +& +D\varphi_{42} +&= +\phantom{-}\frac{y}{\sqrt{1-y^2\mathstrut}} +\\ +&\text{4.~Quadrant}& +\varphi_{14} +&= +\varphi_3\circ\varphi_1^{-1}\colon x\mapsto-\sqrt{1-x^2\mathstrut} +& +D\varphi_{14} +&= +\phantom{-}\frac{x}{\sqrt{1-x^2\mathstrut}} +\end{align*} +gegeben. +Diese Abbildungen sind im offenen Intervall $(-1,1)$ differenzierbar, +Schwierigkeiten mit der Ableitungen ergeben sich nur an den Stellen +$x=\pm1$ und $y=\pm 1$, die in einem Überschneidungsgebiet von Karten +nicht vorkommen können. +Somit bilden die vier Karten einen differenzierbaren Atlas für +die Kreislinie (Abbildung~\ref{buch:gruppen:fig:kartenkreis}). +\end{beispiel} + +\begin{beispiel} +Ganz analog zum vorangegangenen Beispiel über die Kreisline lässt sich +für eine $n$-di\-men\-sio\-nale Sphäre +\[ +S^n = \{ (x_1,\dots,x_{n+1})\;|\; x_0^2+\dots+x_n^2=1\} +\] +immer ein Atlas aus $2^{n+1}$ Karten mit den Koordinatenabbildungen +\[ +\varphi_{i,\pm} +\colon +U_{i,\pm} += +\{p\in S^n\;|\; \pm x_i >0\} +\to +\mathbb{R}^n +: +p\mapsto (x_1,\dots,\hat{x}_i,\dots,x_{n+1}) +\] +konstruieren, der $S^n$ zu einer $n$-dimensionalen Mannigfaltigkeit macht. +\end{beispiel} + +\subsubsection{Tangentialraum} +Mit Hilfe einer Karte $\varphi_\alpha\colon U_\alpha\to\mathbb{R}^n$ +kann das Geschehen in einer Mannigfaltigkeit in den vertrauten +$n$-dimensionalen Raum $\mathbb{B}^n$ transportiert werden. +Eine Kurve $\gamma\colon \mathbb{R}\to M$, die so parametrisiert sein +soll, dass $\gamma(t)\in U_\alpha$ für $t$ in einer Umgebung $I$ von $0$ ist, +wird von der Karte in eine Kurve +$\gamma_\alpha=\varphi_\alpha\circ\gamma\colon I\to \mathbb{R}^n$ +abgebildet, +deren Tangentialvektor wieder ein Vektor in $\mathbb{R}^n$ ist. + +Eine zweite Karte $\varphi_\beta$ führt auf eine andere Kurve +mit der Parametrisierung +$\gamma_\beta=\varphi_\beta\circ\gamma\colon I \to \mathbb{R}^n$ +und einem anderen Tangentialvektor. +Die beiden Tangentialvektoren können aber mit der Ableitung der +Koordinatenwechsel-Abbildung +$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}\colon +\varphi_\alpha(U_\alpha\cap U_\beta)\to \mathbb{R}^n$ +ineinander umgerechnet werden. +Aus +\[ +\gamma_\beta += +\varphi_\beta\circ \gamma += +( +\varphi_\beta +\circ +\varphi_\alpha^{-1} +) +\circ +\varphi_\alpha\circ\gamma += +\varphi_{\beta\alpha} +\circ +\varphi_\alpha\circ\gamma += +\varphi_{\beta\alpha}\circ\gamma_\alpha +\] +folgt durch Ableitung nach dem Kurvenparameter $t$, dass +\[ +\frac{d}{dt}\gamma_\beta(t) += +D\varphi_{\beta\alpha} +\cdot +\frac{d}{dt}\gamma_\alpha(t). +\] +Die Ableitung $D\varphi_{\beta\alpha}$ von $\varphi_{\beta\alpha}$ +an der Stelle $\gamma_\alpha(t)$ berechnet also aus dem Tangentialvektor +einer Kurve in der Karte $\varphi_\alpha$ den Tangentialvektor der +Kurve in der Karte $\varphi_\beta$. + +Die Forderung nach Differenzierbarkeit der Kartenwechselabbildungen +$\varphi_{\beta\alpha}$ stellt also nur sicher, dass die Beschreibung +eines Systemes mit Differentialgleichungen in verschiedenen +Koordinatensystemen auf die gleichen Lösungskurven in der +Mannigfaltigkeit führt. +Insbesondere ist die Verwendung von Karten ist also nur ein Werkzeug, +mit dem die Unmöglichkeit einer globalen Besschreibung einer +Mannigfaltigkeit $M$ mit einem einzigen globalen Koordinatensystem +ohne Singularitäten umgangen werden kann. + +\begin{beispiel} +Das Beispiel des Kreises in Abbildung~\ref{buch:gruppen:fig:kartenkreis} +zeigt, dass die Tangentialvektoren je nach Karte sehr verschieden +aussehen können. +Der Tangentialvektor der Kurve $\gamma(t) = (x(t), y(t))$ im Punkt +$\gamma(t)$ ist $\dot{y}(t)$ in den Karten $\varphi_1$ und $\varphi_2$ +und $\dot{x}(t)$ in den Karten $\varphi_3$ und $\varphi_4$. + +Die spezielle Kurve $\gamma(t) = (\cos t,\sin t)$ hat in einem Punkt +$t\in (0,\frac{\pi}2)$. +in der Karte $\varphi_1$ den Tangentialvektor $\dot{y}(t)=\cos t$, +in der Karte $\varphi_3$ aber den Tangentialvektor $\dot{x}=-\sin t$. +Die Ableitung des Kartenwechsels in diesem Punkt ist die $1\times 1$-Matrix +\[ +D\varphi_{31}(\gamma(t)) += +-\frac{y(t)}{\sqrt{1-y(t)^2}} += +-\frac{\sin t}{\sqrt{1-\sin^2 t}} += +-\frac{\sin t}{\cos t} += +-\tan t. +\] +Die Koordinatenumrechnung ist gegeben durch +\[ +\dot{x}(t) += +D\varphi_{31}(\gamma(t)) +\dot{y}(t) +\] +wird für die spezielle Kurve $\gamma(t)=(\cos t,\sin t)$ wird dies zu +\[ +D\varphi_{31}(\gamma(t)) +\cdot +\dot{y}(t) += +-\tan t\cdot \cos t += +-\frac{\sin t}{\cos t}\cdot \cos t += +-\sin t += +\dot{x}(t). +\qedhere +\] +\end{beispiel} + +Betrachtet man die Kreislinie als Kurve in $\mathbb{R}^2$, +dann ist der Tangentialvektor durch +$\dot{\gamma}(t)=(\dot{x}(t),\dot{y}(t))$ gegeben. +Da die Karten Projektionen auf die $x$- bzw.~$y$-Achsen sind, +entsteht der Tangentialvektor in der Karte durch Projektion +von $(\dot{x}(t),\dot{y}(t))$ auf die entsprechende Komponente. + +Die Tangentialvektoren in zwei verschiedenen Punkten der Kurve können +im Allgemeinen nicht miteinander verglichen werden. +Darüber hinweg hilft auch die Tatsache nicht, dass die Kreislinie +in den Vektorraum $\mathbb{R}^2$ eingebettet sind, wo sich Vektoren +durch Translation miteinander vergleichen lassen. +Ein nichtverschwindender Tangentialvektor im Punkt $(1,0)$ hat, +betrachtet als Vektor in $\mathbb{R}^2$ verschwindende $x$-Komponente, +für Tangentialvektoren im Inneren eines Quadranten ist dies nicht +der Fall. + +Eine Möglichkeit, einen Tangentialvektor in $(1,0)$ mit einem +Tangentialvektor im Punkt $(\cos t,\sin t)$ zu vergleichen, besteht +darin, den Vektor um den Winkel $t$ zu drehen. +Dies ist möglich, weil die Kreislinie eine kontinuierliche Symmetrie, +nämlich die Drehung um den Winkel $t$ hat, die es erlaubt, den Punkt $(1,0)$ +in den Punkt $(\cos t,\sin t)$ abzubilden. +Erst diese Symmetrie ermöglicht den Vergleich. +Dieser Ansatz ist für alle Matrizen erfolgreich, wie wir später sehen werden. + +Ein weiterer Ansatz, Tangentialvektoren zu vergleichen, ist die Idee, +einen sogenannten Zusammenhang zu definieren, eine Vorschrift, wie +Tangentialvektoren infinitesimal entlang von Kurven in der Mannigfaltigkeit +transportiert werden können. +Auf einer sogenannten {\em Riemannschen Mannigfaltigkeit} ist zusätzlich +zur Mannigfaltigkeitsstruktur die Längenmessung definiert. +Sie kann dazu verwendet werden, den Transport von Vektoren entlang einer +Kurve so zu definieren, dass dabei Längen und Winkel erhalten bleiben. +Dieser Ansatz ist die Basis der Theorie der Krümmung sogenannter +Riemannscher Mannigfaltigkeiten. + +\subsection{Der Satz von Noether +\label{buch:subsection:noether}} + + + + + + diff --git a/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex b/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex 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..14fbe2b --- /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} + diff --git a/buch/chapters/70-graphen/Makefile.inc b/buch/chapters/70-graphen/Makefile.inc index d8fe742..2a7d9a6 100644 --- a/buch/chapters/70-graphen/Makefile.inc +++ b/buch/chapters/70-graphen/Makefile.inc @@ -7,5 +7,6 @@ CHAPTERFILES = $(CHAPTERFILES) \ chapters/70-graphen/beschreibung.tex \ chapters/70-graphen/spektral.tex \ + chapters/70-graphen/waerme.tex \ chapters/70-graphen/wavelets.tex \ chapters/70-graphen/chapter.tex diff --git a/buch/chapters/70-graphen/beschreibung.tex b/buch/chapters/70-graphen/beschreibung.tex index 25cfcc0..a0f46da 100644 --- a/buch/chapters/70-graphen/beschreibung.tex +++ b/buch/chapters/70-graphen/beschreibung.tex @@ -401,7 +401,7 @@ Sie hat für $i\ne j$ die Einträge \\ &=\text{Anzahl der Kanten, die $i$ mit $j$ verbinden} \\ -&=a_{ij} +&=a_{ij}. \end{align*} Die Adjazenzmatrix eines Graphen lässt sich also aus der Inzidenzmatrix berechnen. diff --git a/buch/chapters/70-graphen/chapter.tex b/buch/chapters/70-graphen/chapter.tex index b6e02c9..6def393 100644 --- a/buch/chapters/70-graphen/chapter.tex +++ b/buch/chapters/70-graphen/chapter.tex @@ -65,5 +65,6 @@ Basis zur Beschreibung von Funktionen auf dem Graphen. \input{chapters/70-graphen/beschreibung.tex} \input{chapters/70-graphen/spektral.tex} +\input{chapters/70-graphen/waerme.tex} \input{chapters/70-graphen/wavelets.tex} diff --git a/buch/chapters/70-graphen/images/Makefile b/buch/chapters/70-graphen/images/Makefile index b42cbae..5db54c8 100644 --- a/buch/chapters/70-graphen/images/Makefile +++ b/buch/chapters/70-graphen/images/Makefile @@ -3,11 +3,14 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf +all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf \ + petersonchrind.pdf nine.pdf gh.pdf peterson.pdf: peterson.tex pdflatex peterson.tex +petersonchrind.pdf: petersonchrind.tex + pdflatex petersonchrind.tex adjazenzu.pdf: adjazenzu.tex pdflatex adjazenzu.tex @@ -17,3 +20,12 @@ adjazenzd.pdf: adjazenzd.tex kreis.pdf: kreis.tex pdflatex kreis.tex +fundamental.pdf: fundamental.tex + pdflatex fundamental.tex + +nine.pdf: nine.tex + pdflatex nine.tex + +gh.pdf: gh.tex + pdflatex gh.tex + diff --git a/buch/chapters/70-graphen/images/fundamental.pdf b/buch/chapters/70-graphen/images/fundamental.pdf Binary files differnew file mode 100644 index 0000000..66b82ca --- /dev/null +++ b/buch/chapters/70-graphen/images/fundamental.pdf 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/images/gh.pdf b/buch/chapters/70-graphen/images/gh.pdf Binary files differnew file mode 100644 index 0000000..c6e48d7 --- /dev/null +++ b/buch/chapters/70-graphen/images/gh.pdf diff --git a/buch/chapters/70-graphen/images/gh.tex b/buch/chapters/70-graphen/images/gh.tex new file mode 100644 index 0000000..fcceb5f --- /dev/null +++ b/buch/chapters/70-graphen/images/gh.tex @@ -0,0 +1,55 @@ +% +% gh.tex -- Lokalsierungsfunktionen für Wavelets auf einem Graphen +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\kurve#1#2{ + \draw[color=#2,line width=1.4pt] + plot[domain=0:6.3,samples=400] + ({\x},{7*\x*exp(-(\x/#1)*(\x/#1))/#1}); +} + +\begin{scope} + +\draw[->] (-0.1,0) -- (6.6,0) coordinate[label={$\lambda$}]; + +\kurve{1}{red} +\foreach \k in {0,...,4}{ + \pgfmathparse{0.30*exp(ln(2)*\k)} + \xdef\l{\pgfmathresult} + \kurve{\l}{blue} +} + +\node[color=red] at ({0.7*1},3) [above] {$g(\lambda)$}; +\node[color=blue] at ({0.7*0.3*16},3) [above] {$g_i(\lambda)$}; + +\draw[->] (0,-0.1) -- (0,3.3); +\end{scope} + +\begin{scope}[xshift=7cm] + +\draw[->] (-0.1,0) -- (6.6,0) coordinate[label={$\lambda$}]; + +\draw[color=darkgreen,line width=1.4pt] + plot[domain=0:6.3,samples=100] + ({\x},{3*exp(-(\x/0.5)*(\x/0.5)}); + +\draw[->] (0,-0.1) -- (0,3.3) coordinate[label={right:$\color{darkgreen}h(\lambda)$}]; + +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/70-graphen/images/nine.pdf b/buch/chapters/70-graphen/images/nine.pdf Binary files differnew file mode 100644 index 0000000..2ae9f68 --- /dev/null +++ b/buch/chapters/70-graphen/images/nine.pdf diff --git a/buch/chapters/70-graphen/images/nine.tex b/buch/chapters/70-graphen/images/nine.tex new file mode 100644 index 0000000..f214c1e --- /dev/null +++ b/buch/chapters/70-graphen/images/nine.tex @@ -0,0 +1,67 @@ +% +% nine.tex -- Nine node graph to illustrate Wilf's theorem +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\def\kante#1#2{ + \draw[shorten >= 0.2cm,shorten <= 0.2cm] (#1) -- (#2); +} +\def\knoten#1#2{ + \fill[color=#2!30] (#1) circle[radius=0.2]; + \draw[color=#2] (#1) circle[radius=0.2]; + \draw (#1) circle[radius=0.2]; +} +\def\R{1.5} +\definecolor{rot}{rgb}{1,0,0} +\definecolor{gruen}{rgb}{0,0.6,0} +\definecolor{blau}{rgb}{0,0,1} + +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\coordinate (A) at (0:\R); +\coordinate (B) at (40:\R); +\coordinate (C) at (80:\R); +\coordinate (D) at (120:\R); +\coordinate (E) at (160:\R); +\coordinate (F) at (200:\R); +\coordinate (G) at (240:\R); +\coordinate (H) at (280:\R); +\coordinate (I) at (320:\R); + +\knoten{A}{rot} +\knoten{B}{blau} +\knoten{C}{gruen} +\knoten{D}{blau} +\knoten{E}{rot} +\knoten{F}{blau} +\knoten{G}{rot} +\knoten{H}{gruen} +\knoten{I}{blau} + +\kante{A}{B} +\kante{B}{C} +\kante{C}{D} +\kante{D}{E} +\kante{E}{F} +\kante{F}{G} +\kante{G}{H} +\kante{H}{I} +\kante{I}{A} + +\kante{A}{C} +\kante{A}{D} +\kante{D}{G} + + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/70-graphen/images/petersonchrind.pdf b/buch/chapters/70-graphen/images/petersonchrind.pdf Binary files differnew file mode 100644 index 0000000..23ef6e9 --- /dev/null +++ b/buch/chapters/70-graphen/images/petersonchrind.pdf diff --git a/buch/chapters/70-graphen/images/petersonchrind.tex b/buch/chapters/70-graphen/images/petersonchrind.tex new file mode 100644 index 0000000..4ae9f39 --- /dev/null +++ b/buch/chapters/70-graphen/images/petersonchrind.tex @@ -0,0 +1,142 @@ +% +% tikztemplate.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\Ra{2} +\def\Ri{1} +\def\e{1.0} +\def\r{0.2} + +\begin{scope}[xshift=-3.5cm] + +\definecolor{rot}{rgb}{0.8,0,0.8} +\definecolor{gruen}{rgb}{0.2,0.6,0.2} +\definecolor{blau}{rgb}{1,0.6,0.2} + +\coordinate (PA) at ({\Ri*sin(0*72)},{\e*\Ri*cos(0*72)}); +\coordinate (PB) at ({\Ri*sin(1*72)},{\e*\Ri*cos(1*72)}); +\coordinate (PC) at ({\Ri*sin(2*72)},{\e*\Ri*cos(2*72)}); +\coordinate (PD) at ({\Ri*sin(3*72)},{\e*\Ri*cos(3*72)}); +\coordinate (PE) at ({\Ri*sin(4*72)},{\e*\Ri*cos(4*72)}); + +\coordinate (QA) at ({\Ra*sin(0*72)},{\e*\Ra*cos(0*72)}); +\coordinate (QB) at ({\Ra*sin(1*72)},{\e*\Ra*cos(1*72)}); +\coordinate (QC) at ({\Ra*sin(2*72)},{\e*\Ra*cos(2*72)}); +\coordinate (QD) at ({\Ra*sin(3*72)},{\e*\Ra*cos(3*72)}); +\coordinate (QE) at ({\Ra*sin(4*72)},{\e*\Ra*cos(4*72)}); + +\draw (PA)--(PC)--(PE)--(PB)--(PD)--cycle; +\draw (QA)--(QB)--(QC)--(QD)--(QE)--cycle; +\draw (PA)--(QA); +\draw (PB)--(QB); +\draw (PC)--(QC); +\draw (PD)--(QD); +\draw (PE)--(QE); + +\fill[color=blau] (PA) circle[radius=\r]; +\fill[color=rot] (PB) circle[radius=\r]; +\fill[color=rot] (PC) circle[radius=\r]; +\fill[color=gruen] (PD) circle[radius=\r]; +\fill[color=gruen] (PE) circle[radius=\r]; + +\fill[color=rot] (QA) circle[radius=\r]; +\fill[color=blau] (QB) circle[radius=\r]; +\fill[color=gruen] (QC) circle[radius=\r]; +\fill[color=rot] (QD) circle[radius=\r]; +\fill[color=blau] (QE) circle[radius=\r]; + +\draw (PA) circle[radius=\r]; +\draw (PB) circle[radius=\r]; +\draw (PC) circle[radius=\r]; +\draw (PD) circle[radius=\r]; +\draw (PE) circle[radius=\r]; + +\draw (QA) circle[radius=\r]; +\draw (QB) circle[radius=\r]; +\draw (QC) circle[radius=\r]; +\draw (QD) circle[radius=\r]; +\draw (QE) circle[radius=\r]; + +\node at (0,{-\Ra}) [below] {$\operatorname{chr}P=3\mathstrut$}; + +\end{scope} + +\begin{scope}[xshift=3.5cm] +\definecolor{rot}{rgb}{0.8,0,0.8} +\definecolor{gruen}{rgb}{0.2,0.6,0.2} +\definecolor{blau}{rgb}{1,0.6,0.2} +\definecolor{gelb}{rgb}{0,0,1} + +\coordinate (PA) at ({\Ri*sin(0*72)},{\e*\Ri*cos(0*72)}); +\coordinate (PB) at ({\Ri*sin(1*72)},{\e*\Ri*cos(1*72)}); +\coordinate (PC) at ({\Ri*sin(2*72)},{\e*\Ri*cos(2*72)}); +\coordinate (PD) at ({\Ri*sin(3*72)},{\e*\Ri*cos(3*72)}); +\coordinate (PE) at ({\Ri*sin(4*72)},{\e*\Ri*cos(4*72)}); + +\coordinate (QA) at ({\Ra*sin(0*72)},{\e*\Ra*cos(0*72)}); +\coordinate (QB) at ({\Ra*sin(1*72)},{\e*\Ra*cos(1*72)}); +\coordinate (QC) at ({\Ra*sin(2*72)},{\e*\Ra*cos(2*72)}); +\coordinate (QD) at ({\Ra*sin(3*72)},{\e*\Ra*cos(3*72)}); +\coordinate (QE) at ({\Ra*sin(4*72)},{\e*\Ra*cos(4*72)}); + +\draw (PA)--(PC)--(PE)--(PB)--(PD)--cycle; +\draw (QA)--(QB)--(QC)--(QD)--(QE)--cycle; +\draw (PA)--(QA); +\draw (PB)--(QB); +\draw (PC)--(QC); +\draw (PD)--(QD); +\draw (PE)--(QE); + +\fill[color=rot] (QA) circle[radius={1.5*\r}]; +\fill[color=rot!40] (QB) circle[radius=\r]; +\fill[color=rot!40] (QE) circle[radius=\r]; +\fill[color=rot!40] (PA) circle[radius=\r]; + +\fill[color=blau] (PB) circle[radius={1.5*\r}]; +\fill[color=blau!40] (PD) circle[radius=\r]; +\fill[color=blau!40] (PE) circle[radius=\r]; +\fill[color=blau!80,opacity=0.5] (QB) circle[radius=\r]; + +\fill[color=gruen] (PC) circle[radius={1.5*\r}]; +\fill[color=gruen!40] (QC) circle[radius=\r]; +\fill[color=gruen!80,opacity=0.5] (PA) circle[radius=\r]; +\fill[color=gruen!80,opacity=0.5] (PE) circle[radius=\r]; + +\fill[color=gelb] (QD) circle[radius={1.5*\r}]; +\fill[color=gelb!80,opacity=0.5] (QC) circle[radius=\r]; +\fill[color=gelb!80,opacity=0.5] (QE) circle[radius=\r]; +\fill[color=gelb!80,opacity=0.5] (PD) circle[radius=\r]; + +\draw (PA) circle[radius=\r]; +\draw (PB) circle[radius={1.5*\r}]; +\draw (PC) circle[radius={1.5*\r}]; +\draw (PD) circle[radius=\r]; +\draw (PE) circle[radius=\r]; + +\draw (QA) circle[radius={1.5*\r}]; +\draw (QB) circle[radius=\r]; +\draw (QC) circle[radius=\r]; +\draw (QD) circle[radius={1.5*\r}]; +\draw (QE) circle[radius=\r]; + +\node at (0,{-\Ra}) [below] {$\operatorname{ind}P=4\mathstrut$}; + +\end{scope} + + + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/70-graphen/spektral.tex b/buch/chapters/70-graphen/spektral.tex index 9349f41..5fb3056 100644 --- a/buch/chapters/70-graphen/spektral.tex +++ b/buch/chapters/70-graphen/spektral.tex @@ -1,8 +1,465 @@ % -% spektral.tex +% spektral.tex -- spektrale Graphentheorie % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{Spektrale Graphentheorie \label{buch:section:spektrale-graphentheorie}} \rhead{Spektrale Graphentheorie} +Die Adjazenz-Matrix, die Grad-Matrix und damit natürlich auch +die Laplace-Matrix codieren alle wesentliche Information eines +ungerichteten Graphen. +Sie operiert auf Vektoren, die für jeden Knoten des Graphen eine +Komponente haben. +Dies eröffnet die Möglichkeit, den Graphen über die linearalgebraischen +Eigenschaften dieser Matrizen zu studieren. +Dieser Abschnitt soll diese Idee an dem ziemlich übersichtlichen Beispiel +der chromatischen Zahl eines Graphen illustrieren. + +\subsection{Chromatische Zahl und Unabhängigkeitszahl +\label{buch:subsection:chromatische-zahl}} +Der Grad eines Knotens ist ein mass dafür, wie stark ein Graph +``vernetzt'' ist. +Je höher der Grad, desto mehr direkte Verbindungen zwischen Knoten gibt es. +Noch etwas präziser können diese Idee die beiden mit Hilfe der +chromatischen zahl und der Unabhängigkeitszahl erfasst werden. + +\begin{definition} +Die {\em chromatische Zahl} $\operatorname{chr}G$ eines Graphen $G$ ist +die minimale Anzahl von Farben, die Einfärben der Knoten eines Graphen +nötig sind, sodass benachbarte Knoten verschiedene Farben haben. +\index{chromatische Zahl} +\end{definition} + +\begin{definition} +Eine Menge von Knoten eines Graphen heisst {\em unabhängig}, wenn +keine zwei Knoten im Graphen verbunden sind. +Die {\em Unabhängigkeitszahl} $\operatorname{ind}G$ eines Graphen $G$ +ist die maximale Anzahl Knoten einer unabhängigen Menge. +\index{Unabhängigkeitszahl} +\end{definition} + +Zwischen der chromatischen Zahl und der Unabhängigkeitszahl eines Graphen +muss es einen Zusammenhang geben. +Je mehr Verbingungen es im Graphen gibt, desto grösser wird die chromatische +Zahl. +Gleichzeitig wird es schwieriger für Mengen von Knoten, unabhängig zu sein. + +\begin{satz} +\label{buch:satz:chrind} +Ist $G$ ein Graph mit $n$ Knoten, dann gilt +$\operatorname{chr}G\cdot\operatorname{ind}G\ge n$. +\end{satz} + +\begin{proof}[Beweis] +Eine minimale Färbung des Graphen mit $\operatorname{chr}G$ Farben +teilt die Knoten in $\operatorname{chr}G$ Mengen $V_f$ von Knoten mit +gleicher Farbe $f$ ein. +Da diese Mengen einfarbig sind, sind sie unabhängig, enthalten also +höchstens so viele Knoten, wie die Unabhängigkeitszahl erlaubt, +also $|V_f|\le \operatorname{ind}G$. +Da die Menge aller Knoten die Vereinigung der Mengen $V_f$ ist, +ist die Gesamtzahl der Knoten +\begin{align*} +V +&= +\bigcup_{\text{$f$ eine Farbe}} V_f +&&\Rightarrow& +n +&= +\sum_{\text{$f$ eine Farbe}} |V_f| +\\ +& +&&& +&\le +\sum_{\text{$f$ eine Farbe}} \operatorname{ind}G += +(\text{Anzahl Farben})\cdot \operatorname{ind}G += +\operatorname{chr}G \cdot \operatorname{ind}G. +\end{align*} +Damit ist $n\le \operatorname{chr}G\cdot\operatorname{ind}G$ gezeigt. +\qedhere +\end{proof} + +\begin{beispiel} +In einem vollständigen Graphen ist jeder Knoten mit jedem anderen verbunden. +Jede Menge mit zwei oder mehr Knoten kann daher nicht unabhängig sein, die +Unabhängigkeitszahl ist daher $\operatorname{ind}G=1$. +Andererseits ist für jeden Knoten eine eigene Farbe nötig, daher ist die +chromatische Zahl $\operatorname{chr}G=n$. +Die Ungleichung von Satz~\ref{buch:satz:chrind} ist erfüllt, sogar mit +Gleichheit. +Das Beispiel zeigt, dass die Ungleichung nicht ohne zusätzliche Annahmen +verbessert werden kann. +\end{beispiel} + +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/petersonchrind.pdf} +\caption{Chromatische Zahl und Unabhängigkeitszahl des Peterson-Graphen. +Die chromatische Zahl ist $3$, da der Graph sich mit drei Farben einfärben +lässt (links). +Die Unabhängigkeitszahl ist $4$, die vier grösseren Knoten im rechten +Graphen sind unabhängig. +Die Farben der kleinen Knoten sind die additive Mischung der Farben +der grossen Knoten, mit denen sie verbunden sind. +\label{buch:graphen:fig:chrindpeterson}} +\end{figure} + +\begin{beispiel} +Der Peterson-Graph $P$ von Abbildung~\ref{buch:graphen:fig:chrindpeterson} +hat chromatische Zahl $\operatorname{chr}P=3$ und unabhängigkeitszahl +$\operatorname{ind}P=4$. +Die Ungleichung von Satz~\ref{buch:satz:chrind} ist erfüllt, sogar als +Ungleichung: $\operatorname{chr}P\cdot\operatorname{ind}P=3\cdot 4=12>10=n$. +\end{beispiel} + +Nach Definition ist Unabhängigkeitszahl ein Mass für die Grösse einer +unabhängigen Menge von Punkten. +Der Beweis von Satz~\ref{buch:satz:chrind} zeigt, dass man sich die +chromatische Zahl als ein Mass dafür, wieviele solche anabhängige +Mengen in einem Graphen untergebracht werden können. + +% +% Chromatische Zahl und maximaler Grad +% +\subsection{Chromatische Zahl und maximaler Grad +\label{buch:subsection:chr-und-maximaler-grad}} +Wenn kein Knoten mehr als $d$ Nachbarn hat, dann reichen +$d+1$ Farben immer, um diesen Knoten und seine Nachbarn einzufärben. +Das heisst aber noch nicht, dass dann auch $d+1$ Farben zur +Einfärbung des ganzen Graphen reichen. +Genau dies garantiert jedoch der folgende Satz. + +\begin{definition} +Der maximale Grad +\( +\max_{v\in V} \deg(v) +\) +wird mit $d$ bezeichnet. +\end{definition} + +\begin{satz} +\label{buch:graphen:satz:chrmaxgrad} +Ist $G$ ein Graph mit maximalem Grad $d$, dann gilt +$\operatorname{chr}G \le d+1$. +\end{satz} + +\begin{proof}[Beweis] +Wir führen den Beweis mit Hilfe von vollständiger Induktion nach der +Anzahl Knoten eines Graphen. +Ein Graph mit nur einem Knoten hat keine Kanten, der maximale Grad ist +daher $0$ und $d+1=1$ Farbe reicht auch tatsächlich zur Einfärbung des +einen Knotens. + +Wir nehmen jetzt an, die Behaupt sei für Graphen mit $n-1$ Knoten bereits +bewiesen, ein Graph $G'$ mit $n-1$ Knoten und maximalem Grad $d'$ erfüllt +also die Ungleichung $\operatorname{chr}G'\le d'+1$. + +Wir wählen jetzt einen beleibigen Knoten $v$ des Graphen $G$ und bilden +den Graphen $G'$, der aus $G$ entsteht, indem man den Knoten $v$ +entfernt: $G'=G\setminus\{v\}$. +Der maximale Grad $d'$ von $G'$ kann dabei nicht grösser werden, es ist +also $d'\le d$. +Da $G'$ genau $n-1$ Knoten hat, lässt er sich mit höchstens $d'+1\le d+1$ +Farben einfärben. +Es muss jetzt also nur noch eine Farbe für den Knoten $v$ gefunden werden. +Da $d$ der maximale Grad ist, hat $v$ höchstens $d$ Nachbarn, die höchstens +$d$ verschiedene Farben haben können. +Von den $d+1$ zur Verfügung stehenden Farben bleibt also mindestens eine +übrig, mit der man den Knoten $v$ einfärben kann. +Damit ist der Induktionsschritt gelungen und somit der Satz bewiesen. +\end{proof} + +Das Argument im Beweis von Satz~\ref{buch:graphen:satz:chrmaxgrad} +ist für alle Begriffe anwendbar, die sich bei der Bildung eines +Untergraphen auf ``monotone'' Art ändern. +Die chromatische Zahl eines Untergraphen ist höchstens so gross wie die +des ganzen Graphen. +Dann kann man eine Ungleichung für grosse Graphen schrittweise aus +entsprechenden Ungleichungen für die kleineren Teilgraphen gewinnen. +Ziel der folgenden Abschnitte ist zu zeigen, dass sich eine Grösse +mit ähnlichen Eigenschaften aus dem Eigenwertspektrum der Adjazenzmatrix +ablesen lässt. +Daraus ergibt sich dann eine bessere Abschätzung der chromatischen Zahl +eines Graphen. + +% +% maximaler Eigenwert und maximaler Grad +% +\subsection{Maximaler Eigenwert von $A(G)$ und maximaler Grad +\label{buch:subsection:maximaler-eigenwert}} +Die Adjazenzmatrix $A(G)$ eines Graphen $G$ mit $n$ Knoten enthält unter +anderem auch die Information über den Grad eines Knotens. +Die Summe der Elemente einer Zeile oder einer Spalte ergibt einen Vektor, +der die Grade der Knoten als Komponenten enthält. +Ist $U$ ein $n$-dimensionaler Vektor aus lauter Einsen, dann ist +ist $A(G)U$ ein Spaltenvektor bestehend aus den Zeilensummen der Matrix +$A(G)$ und +$U^tA(G)$ ein Zeilenvektor bestehend aus den Spaltensummen. +$A(G)U$ ist also der Vektor der Grade der Knoten. + +Das Skalarprodukt von $A(G)U$ mit $U$ ist die Summe der Grade. +Somit ist +\begin{equation} +\frac{\langle A(G)U,U\rangle}{\langle U,U\rangle} += +\frac{1}{\langle U,U\rangle}\sum_{v\in V}\deg(v) += +\frac{1}{n}(d_1+\dots+d_n) +\label{buch:graphen:eqn:AUdavg} +\end{equation} +der mittlere Grad, der mit $\overline{d}$ bezeichnet werden soll. + +Da $A(G)$ eine symmetrische Matrix ist, ist $A(G)$ diagonalisierbar, +die Eigenwerte sind also alle reell. +Es ist ausserdem bekannt, dass der Eigenvektor $f$ zum grössten Eigenwert +$\alpha_{\text{max}}$ von $A(G)$ +den Bruch +\[ +\frac{\langle A(G)f,f\rangle}{\langle f,f\rangle} +\] +für Vektoren $f\ne 0$ maximiert. +Aus~\eqref{buch:graphen:eqn:AUdavg} folgt damit, dass +\begin{equation} +\overline{d} +\le +\alpha_{\text{max}} +\label{buch:graphen:eqn:dqueramax} +\end{equation} +ist. + +In Abschnitt~\ref{buch:section:positive-vektoren-und-matrizen} +des nächsten Kapitels wird die Perron-Frobenius-Theorie positiver +Matrizen vorgestellt, welche einer Reihe interessanter Aussagen +über den betragsgrössten Eigenwert und den zugehörigen Eigenvektor +macht. +Die Adjazenz-Matrix ist eine nichtnegative Matrix und $\alpha_{\text{max}}$ +ist der grösste Eigenwert, also genau die Grösse, auf die die +Sätze~\ref{buch:wahrscheinlichkeit:satz:perron-frobenius} +und \label{buch:wahrscheinlichkeit:satz:perron-frobenius2} +anwendbar sind. +Dazu muss die Matrix allerdings primitiv sein, was gleichbedeutend +ist damit, dass der Graph zusammenhängend ist. +Im folgenden soll dies daher jeweils angenommen werden. + +\begin{satz} +Ist $G$ ein zusammenhänger Graph mit $n$ Knoten und maximalem Grad $d$, +dann gilt +\[ +\frac1n\sum_{v\in V} \deg(v) += +\overline{d} +\le \alpha_{\text{max}} \le d. +\] +\end{satz} + +\begin{proof}[Beweis] +Wir wissen aus \eqref{buch:graphen:eqn:dqueramax} bereits, dass +$\overline{d}\le\alpha_{\text{max}}$ gilt, es bleibt also nur noch +$\alpha_{\text{max}}\le d$ zu beweisen. + +Sei $f$ der Eigenvektor zum Eigenwert $\alpha_{\text{max}}$. +Nach Satz~\label{buch:wahrscheinlichkeit:satz:perron-frobenius2} +ist $f$ ein positiver Vektor mit der Eigenschaft $A(G)f=\alpha_{\text{max}}f$. +Der Eigenvektor $f$ ist eine Funktion auf den Knoten des Graphen, +die $v$-Komponente des Vektors $f$ für einen Vertex $v\in V$ ist $f(v)$. +Die Eigenvektoreigenschaft bedeutet $(A(G)f)(v)=\alpha_{\text{max}} f(v)$. +Die Adjazenzmatrix $A(G)$ enthält in Zeile $v$ Einsen genau für diejenigen +Knoten $u\in V$, die zu $v$ benachbart sind. +Schreiben wir $u\sim v$ für die Nachbarschaftsrelation, dann ist +\[ +(A(G)f)(v) += +\sum_{u\sim v} f(u). +\] +Die Summe der Komponenten $A(G)f$ kann man erhalten durch Multiplikation +von $A(G)f$ mit einem Zeilenvektor $U^t$ aus lauter Einsen, also +\begin{equation} +\begin{aligned} +\sum_{v\in V}\sum_{u\sim v}f(v) +&= +U^tA(G)f += +(U^tA(G))f += +\begin{pmatrix}d_1&d_2&\dots&d_n\end{pmatrix} f +\\ +&= +\sum_{v\in V}\deg (v) f(v) +\le +\sum_{v\in V}df(v) += +d +\sum_{v\in V}f(v). +\end{aligned} +\label{buch:graphen:eqn:sumkomp} +\end{equation} +Andererseits ist $A(G)f=\alpha_{\text{max}}f$, die linke Seite +von~\eqref{buch:graphen:eqn:sumkomp} ist daher +\begin{equation} +\sum_{v\in V}\sum_{u\sim v}f(v) += +U^tA(G)f += +\alpha_{\text{max}} +U^tf += +\alpha_{\text{max}} \sum_{v\in V}f(v). +\label{buch:graphen:eqn:sumkomp2} +\end{equation} +Die Ungleichung~\eqref{buch:graphen:eqn:sumkomp} +und die Gleichung~\eqref{buch:graphen:eqn:sumkomp2} ergeben zusammen +die Ungleichung +\[ +\alpha_{\text{max}} \sum_{v\in V}f(v) +\le d\sum_{v\in V}f(v) +\qquad\Rightarrow\qquad +\alpha_{\text{max}} \le d, +\] +da die Summe der Komponenten des positiven Vektors $f$ nicht verschwinden +kann. +Damit ist die Ungleichung bewiesen. +\end{proof} + +% +% alpha_max eines Untergraphen +% +\subsection{$\alpha_{\text{max}}$ eines Untergraphen +\label{buch:subsection:alphamax-eines-untergraphen}} +Der grösste Eigenwert $\alpha_{\text{max}}$ ist ein potentieller +Anwärter für eine bessere Abschätzung der chromatischen Zahl. +Bereits früher wurde bemerkt, dass dies auch bedeutet, dass man +das Verhalten des grössten Eigenwerts bei einem Übergang zu einem +Untergraphen verstehen muss. + +\begin{satz} +\label{buch:graphen:satz:amaxuntergraph} +Sei $G'$ ein echter Untergraph von $G$ mit Adjazenzmatrix $A(G')$ und +grösstem Eigenwert $\alpha_{\text{max}}'=\varrho(A(G'))$, dann ist +$\alpha_{\text{max}}' \le \alpha_{\text{max}}$. +\end{satz} + +\begin{proof}[Beweis] +Sei $f'$ der positive Eigenvektor zum Eigenwert $\alpha_{\text{max}}'$ +der Matrix $A(G')$. +$f'$ ist definiert auf der Menge $V'$ der Knoten von $G'$. +Aus $f'$ lässt sich ein Vektor $g$ mit den Werten +\[ +g(v) += +\begin{cases} +f'(v)&\qquad v\in V'\\ + 0&\qquad\text{sonst} +\end{cases} +\] +konstruieren, der auf ganz $V$ definiert ist. + +Die Vektoren $f'$ und $g$ haben die gleichen Komponenten, also ist auch +$\langle f',f'\rangle = \langle g,g\rangle$. +Die Matrixelemente von $A(G')$ und $A(G)$ auf gemeinsamen Knoten $u,v\in V'$ +erfüllen $A(G')_{uv}\le A(G)_{uv}$, da jede Kante von $G'$ auch in $G$ ist. +Daher gilt +\[ +\langle A(G')f',f'\rangle +\le +\langle A(G)g,g\rangle, +\] +woraus sich die Ungleichung +\[ +\alpha_{\text{max}}' += +\frac{\langle A(G')f',f'\rangle}{\langle f',f'\rangle} += +\frac{\langle A(G)g,g\rangle}{\langle g,g\rangle} +\le +\alpha_{\text{max}} +\] +ergibt, da $\alpha_{\text{max}}$ das Maximum von +$\langle A(G)h,h\rangle/\langle h,h\rangle$ für alle Vektoren $h\ne 0$ ist. +\end{proof} + +% +% Der Satz von Wilf +% +\subsection{Chromatische Zahl und $\alpha_{\text{max}}$: Der Satz von Wilf +\label{buch:subsection:chr-und-alpha-max}} +Die in Satz~\ref{buch:graphen:satz:amaxuntergraph} beschriebene +Eigenschaft von $\alpha_{\text{max}}$ beim Übergang zu einem Untergraphen +ermöglich jetzt, eine besser Abschätzung für die chromatische Zahl +zu finden. + +\begin{satz}[Wilf] +\label{buch:graphen:satz:wilf} +Sie $G$ ein zusammenhängder Graph und $\alpha_{\text{max}}$ der grösste +Eigenwert seiner Adjazenzmatrix. Dann gilt +\[ +\operatorname{chr}G\le \alpha_{\text{max}}+1. +\] +\end{satz} + +\begin{proof}[Beweis] +Wie der Satz~\ref{buch:graphen:satz:chrmaxgrad} kann auch der Satz von Wilf +mit Hilfe von vollständiger Induktion über die Anzahl $n$ der Knoten +bewiesen werden. + +Ein Graph mit nur einem Knoten hat die $0$-Matrix als Adjazenzmatrix, +der maximale Eigenwert ist $\alpha_{\text{max}}=0$, und tatsächlich reicht +$\alpha_{\text{max}}+1=1$ Farbe, um den einen Knoten einzufärben. + +Wir nehmen jetzt an, der Satz sei für Graphen mit $n-1$ Knoten bereits +beweisen. +Wir müssen dann zeigen, dass der Satz dann auch für Graphen mit $n$ Knoten +gilt. + +Sei $v\in V$ ein Knoten minimalen Grades und $G'=G\setminus{v}$ der +Untergraph, der entsteht, wenn der Knoten $v$ entfernt wird. +Da $G'$ genau $n-1$ Knoten hat, gilt der Satz von Wilf für $G'$ +und daher kann $G'$ mit höchstens +\[ +\operatorname{chr}G' \le 1 + \alpha_{\text{max}}' +\] +Farben eingefärbt werden. +Nach Satz~\ref{buch:graphen:satz:amaxuntergraph} ist +$\alpha_{\text{max}}'\le \alpha_{\text{max}}$, +Also kann $G'$ mit höchstens $\alpha_{\text{max}}+1$ Farben eingefärbt werden. + +Da $v$ ein Knoten minimalen Grades ist, ist sein Grad +$d(v)\le \overline{d}\le \alpha_{\text{max}}$. +Die Nachbarn von $v$ haben also hächstens $\alpha_{\text{max}}$ verschiedene +Farben, mit einer weiteren Farbe lässt sich also auch $G$ einfärben. +Daraus folgt $\operatorname{chr}G\le \alpha_{\text{max}}+1$. +\end{proof} + +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/nine.pdf} +\caption{Beispiel für einen Graphen, für den der +Satz~\ref{buch:graphen:satz:wilf} von Wilf die bessere +Abschätzung für die chromatische Zahl eines Graphen gibt als der +maximale Grad. +\label{buch:graphen:fig:wilfexample}} +\end{figure} + +\begin{beispiel} +Der Graph in Abbildung~\ref{buch:graphen:fig:wilfexample} 12 Kanten und 9 +Knoten, daher ist $\overline{d}\le \frac{24}{9}$. +Der maximale Grad ist $4$ und durch explizite Rechnung mit Hilfe zum Beispiel +von Octave ergibt, dass $\alpha_{\text{max}}\approx 2.9565$. +Aus dem Satz von Wilf folgt, dass +$\operatorname{chr}G\le \alpha_{\text{max}}+1$, und daraus ergibt sich +$\operatorname{chr}G\le 3$. +Tatsächlich ist die chromatische Zahl $\operatorname{chr}G=3$, da +der Graph mindestens ein Dreieck enthält. +Der maximale Grad ist 4, somit gibt der +Satz~\ref{buch:graphen:satz:chrmaxgrad} +die Schranke +$\operatorname{chr}G\le 4+1=5$ +für die chromatische Zahl. +Der Satz von Wilf ist also eine wesentliche Verbesserung, er liefert in +diesem Fall den exakten Wert der chromatischen Zahl. +\end{beispiel} + + + diff --git a/buch/chapters/70-graphen/waerme.tex b/buch/chapters/70-graphen/waerme.tex new file mode 100644 index 0000000..e7fc023 --- /dev/null +++ b/buch/chapters/70-graphen/waerme.tex @@ -0,0 +1,184 @@ +% +% waerme.tex +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Wärmeleitung auf einem Graphen +\label{buch:section:waermeleitung-auf-einem-graphen}} +Die Vektoren, auf denen die Laplace-Matrix operiert, können betrachtet +werden als Funktionen, die jedem Knoten einen Wert zuordnen. +Eine mögliche physikalische Interpretation davon ist die Temperaturverteilung +auf dem Graphen. +Die Kanten zwischen den Knoten erlauben der Wärmeenergie, von einem Knoten +zu einem anderen zu fliessen. +Je grösser die Temperaturdifferenz zwischen zwei Knoten ist, desto +grösser ist der Wärmefluss und desto schneller ändert sich die Temperatur +der beteiligten Knoten. +Die zeitliche Änderung der Temperatur $T_i$ im Knoten $i$ ist proportional +\[ +\frac{dT_i}{dt} += +\sum_{\text{$j$ Nachbar von $i$}} \kappa (T_j-T_i) += +- +\kappa +\biggl( +d_iT_i +- +\sum_{\text{$j$ Nachbar von $i$}} T_j +\biggr) +\] +Der Term auf der rechten Seite ist genau die Wirkung der +Laplace-Matrix auf dem Vektor $T$ der Temperaturen: +\begin{equation} +\frac{dT}{dt} += +-\kappa L T. +\label{buch:graphen:eqn:waermeleitung} +\end{equation} +Der Wärmefluss, der durch die +Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} beschrieben +wird, codiert ebenfalls wesentliche Informationen über den Graphen. +Je mehr Kanten es zwischen verschiedenen Teilen eines Graphen gibt, +desto schneller findet der Wärmeaustausch zwischen diesen Teilen +statt. +Die Lösungen der Wärmeleitungsgleichung liefern also Informationen +über den Graphen. + +\subsection{Eigenwerte und Eigenvektoren +\label{buch:subsection:ein-zyklischer-graph}} +Die Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} +ist eine lineare Differentialgleichung mit konstanten Koeffizienten, +die mit der Matrixexponentialfunktion gelöst werden. +Die Lösung ist +\[ +f(t) = e^{-\kappa Lt}f(0). +\] + +Die Berechnung der Lösung mit der Matrixexponentialreihe ist ziemlich +ineffizient, da grosse Matrizenprodukte berechnet werden müssen. +Da die Matrix $L$ symmetrisch ist, gibt es eine Basis aus +orthonormierten Eigenvektoren und die Eigenwerte sind reell. +Wir bezeichnen die Eigenvektoren mit $f_1,\dots,f_n$ und die +zugehörigen Eigenwerte mit $\lambda_i$. +Die Funktion $f_i(t)= e^{-\kappa\lambda_it}f_i$ ist dann eine Lösung +der Wärmeleitungsgleichung, denn die beiden Seiten +\begin{align*} +\frac{d}{dt}f_i(t) +&= +-\kappa\lambda_ie^{-\kappa\lambda_it}f_i += +-\kappa\lambda_i f_i(t) +\\ +-\kappa Lf_i(t) +&= +-\kappa e^{-\kappa\lambda_it} Lf_i += +-\kappa e^{-\kappa\lambda_it} \lambda_i f_i += +-\kappa \lambda_i f_i(t) +\end{align*} +von \eqref{buch:graphen:eqn:waermeleitung} stimmen überein. + +Eine Lösung der Wärmeleitungsgleichung zu einer beliebigen +Anfangstemperaturverteilung $f$ kann durch Linearkombination aus +den Lösungen $f_i(t)$ zusammengesetzt werden. +Dazu ist nötig, $f$ aus den Vektoren $f_i$ linear zu kombinieren. +Da aber die $f_i$ orthonormiert sind, ist dies besonders einfach, +die Koeffizienten sind die Skalarprodukte mit den Eigenvektoren: +\[ +f=\sum_{i=1}^n \langle f_i,f\rangle f_i. +\] +Daraus kann man die allgmeine Lösungsformel +\begin{equation} +f(t) += +\sum_{i=1}^n \langle f_i,f\rangle f_i(t) += +\sum_{i=1}^n \langle f_i,f\rangle e^{-\kappa\lambda_i t}f_i +\label{buch:graphen:eqn:eigloesung} +\end{equation} +ableiten. + +\subsection{Beispiel: Ein zyklischer Graph} +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/kreis.pdf} +\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem +Graphen. +\label{buch:graphen:fig:kreis}} +\end{figure} +Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen +von Abbildung~\ref{buch:graphen:fig:kreis}. +Besonders interessant sind die folgenden Funktionen: +\[ +\left. +\begin{aligned} +s_m(k) +&= +\sin\frac{2\pi mk}{n} +\\ +c_m(k) +&= +\cos\frac{2\pi mk}{n} +\end{aligned} +\; +\right\} +\quad +\Rightarrow +\quad +e_m(k) += +e^{2\pi imk/n} += +c_m(k) + is_m(k). +\] +Das Skalarprodukt dieser Funktionen ist +\[ +\langle e_m, e_{m'}\rangle += +\frac1n +\sum_{k=1}^n +\overline{e^{2\pi i km/n}} +e^{2\pi ikm'/n} += +\frac1n +\sum_{k=1}^n +e^{\frac{2\pi i}{n}(m'-m)k} += +\delta_{mm'} +\] +Die Funktionen bilden daher eine Orthonormalbasis des Raums der +Funktionen auf $G$. +Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$ +die Funktionen +\[ +c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2} +\] +eine orthonormierte Basis. + + +Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen +Abbildung auf Funktionen auf dem Graphen gemacht werden. +Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit +Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist. +Dann definieren wir die Funktion $Lf$ durch +\[ +(Lf)(v) += +\sum_{v'\in V} l_{vv'}f(v'). +\] + +\subsection{Standardbasis und Eigenbasis +\label{buch:subsection:standardbasis-und-eigenbasis}} +Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear +kombinieren lassen, ist die Standardbasis. +Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten +\[ +e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} +1\qquad&v=v'\\ +0\qquad&\text{sonst.} +\end{cases} +\] + + diff --git a/buch/chapters/70-graphen/wavelets.tex b/buch/chapters/70-graphen/wavelets.tex index 0739f14..ef1520e 100644 --- a/buch/chapters/70-graphen/wavelets.tex +++ b/buch/chapters/70-graphen/wavelets.tex @@ -6,127 +6,327 @@ \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 \[ -\langle f,g\rangle +\frac{\partial T}{\partial t} = -\kappa \frac{\partial^2 T}{\partial x^2}. +\] +Die von Fourier erfundene Methode, die Fourier-Theorie, verwendet die +Funktionen $e^{ik x}$, die Eigenvektoren der zweiten Ableitung +$\partial^2/\partial x^2$ sind. +Diese haben das gleiche Problem, der Betrag von $e^{ikx}$ ist $1$, die +Entfernung von einem Punkt spielt überhaupt keine Rolle. +Die Funktion +\[ +F(x,t) = -\frac{1}{|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) + +\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) = -e^{2\pi imk/n} +\sum_{j=1}^n \langle f_j,e_i\rangle e^{-\kappa \lambda_i t} f_j = -c_m(k) + is_m(k). -\] -Das Skalarprodukt dieser Funktionen ist +\sum_{j=1}^n \overline{f}_{ji} e^{-\kappa \lambda_i t}, +\label{buch:graphen:eqn:fundamentalgraph} +\end{equation} +nicht unmittelbar erkennbar. + +Man kann aber aus~\eqref{buch:graphen:eqn:fundamentalgraph} ablesen, +dass für zunehmende Zeit die hohen Frequenzen sehr schnell gedämpft +werden. +Die hohen Frequenzen erzeugen also den scharfen Peak für Zeiten nahe +beim Knoten $i$, die zu kleineren $\lambda_i$ beschreiben die Ausbreitung +über grössere Distanzen. +Die Fundamentallösung interpoliert also in einem gewissen Sinne zwischen +den Extremen der Standardbasis und der Eigenbasis. +Die ``Interpolation'' geht von der Differentialgleichung aus, +sie ist nicht einfach nur ein Filter, der die verschiedenen Frequenzen +auf die gleiche Art bearbeitet. + +Gesucht ist eine Methode, eine Familie von Vektoren zu finden, +aus der sich alle Vektoren linear kombinieren lassen, in der aber +auch auf die für die Anwendung interessante Längenskala angepasste +Funktionen gefunden werden können. + +\subsection{Wavelets auf einem Graphen} +Die Fourier-Theorie analysiert Funktionen nach Frequenzen, wobei die +zeitliche Position von interessanten Stellen der Funktion in der Phase +der einzelnen Komponenten verschwindet. +Die Lokalisierung geht also für viele praktische Zwecke verloren. +Umgekehrt haben einzelne Ereignisse wie eine $\delta$-Funktion keine +charakteristische Frequenz, sie sind daher im Frequenzraum überhaupt +nicht lokalisierbar. +Die Darstellung im Frequenzraum und in der Zeit sind also extreme +Darstellungen, entweder Frequenzlokalisierung oder zeitliche Lokalisierung +ermöglichen, sich aber gegenseitig ausschliessen. + +\subsubsection{Dilatation} +Eine Wavelet-Basis für die $L^2$-Funktionen auf $\mathbb{R}$ erlaubt +eine Funktion auf $\mathbb{R}$ auf eine Art zu analysieren, die eine +ungenaue zeitliche Lokalisierung bei entsprechend ungenauer +Frequenzbestimmung ermöglicht. +Ausserdem entstehen die Wavelet-Funktionen aus einer einzigen Funktion +$\psi(t)$ durch Translation um $b$ und Dilatation mit dem Faktor $a$: \[ -\langle e_m, e_{m'}\rangle +\psi_{a,b}(t) = -\frac1n -\sum_{k=1}^n -\overline{e^{2\pi i km/n}} -e^{2\pi ikm'/n} +\frac{1}{\sqrt{|a|}} \psi\biggl(\frac{t-b}a\biggr) = -\frac1n -\sum_{k=1}^n -e^{\frac{2\pi i}{n}(m'-m)k} -= -\delta_{mm'} +T_bD_a\psi(t) \] -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 +in der Notation von \cite{buch:mathsem-wavelets}. +Auf einem Graphen ist so eine Konstruktion grundsätzlich nicht möglich, +da es darauf weder eine Translations- noch eine Streckungsoperation gibt. + +In der Theorie der diskreten Wavelet-Transformation ist es üblich, sich +auf Zweierpotenzen als Streckungsfaktoren zu beschränken. +Ein Gitter wird dadurch auf sich selbst abgebildet, aber auf einem +Graphen gibt es keine Rechtfertigung für diese spezielle Wahl von +Streckungsfaktoren mehr. +Es stellt sich daher die Frage, ob man für eine beliebige Menge +\( +T= \{ t_1,t_2,\dots\} \} +\) +von Streckungsfaktoren eine Familie von Funktionen $\chi_j$ zu finden +derart, dass man sich die $\chi_j$ in einem gewissen Sinn als aus +$\chi_0$ durch Dilatation entstanden vorstellen kann. + +Die Dilatation kann natürlich nicht von einer echten +Dilatation im Ortsraum herstammen, aber man kann wenigstens versuchen, die +Dilatation im Frequenzraum nachzubilden. +Für Funktionen in $L^2(\mathbb{R})$ entspricht die Dilatation mit dem +Faktor $a$ im Ortsraum der Dilatation mit dem Faktor $1/a$ im Frequenzraum: \[ -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} +\widehat{D_af}(\omega) = D_{1/a}\hat{f}(\omega). \] -eine orthonormierte Basis. -\end{beispiel} +\cite[Satz~3.14]{buch:mathsem-wavelets}. +Es bleibt aber das Problem, dass sich auch die Skalierung im Frequenzraum +nicht durchführen lässt, da auch das Frequenzspektrum des Graphen nur eine +Menge von reellen Zahlen ohne innere algebraische Struktur ist. +\subsubsection{Mutterwavelets} +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/gh.pdf} +\caption{Lokalisierungsfunktion $g(\lambda)$ für die Dilatation (links). +Die Dilatierten Funktionen $g_i=\tilde{D}_{1/a_i}g$ lokalisieren +die Frequenzen jeweils um die Frequenzen $a_i$ im Frequenzraum. +Der Konstante Vektor ist vollständig delokalisiert, die Funktion $h$ +in der rechten Abbildung entfernt die hohen Frequenzen und liefert Funktionen, +die in der Umgebung eines Knotens wie die Konstante Funktion aussehen. +\label{buch:graphs:fig:lokalisierung}} +\end{figure} +Das Mutter-Wavelet einer Wavelet-Analyse zeichnet definiert, in welchem Mass +sich Funktionen im Orts- und im Frequenzraum lokalisieren lassen. +Die Standardbasis der Funktionen auf einem Graphen repräsentieren die +perfekte örtliche Lokalisierung, Eigenbasis der Laplace-Matrix $L$ repräsentiert +die perfekte Lokalisierung im Frequenzraum. +Sei $g(\lambda)\ge 0$ eine Funktion im Frequenzraum, die für $\lambda\to0$ und +$\lambda\to\infty$ rasch abfällt mit einem Maximum irgendwo dazwischen +(Abbildung~\ref{buch:graphs:fig:lokalisierung}). +Sie kann als eine Lokalisierungsfunktion im Frequenzraum betrachtet werden. -Die 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) +Die Matrix $g(L)$ bildet entfernt aus einer Funktion die ganz hohen und +die ganz tiefen Frequenz, lokalisiert also die Funktionen im Frequenzraum. +Die Standardbasisvektoren werden dabei zu Funktionen, die nicht mehr nur +auf einem Knoten von $0$ verschieden sind, aber immer noch einigermassen +auf dem Graphen lokalisiert sind. +Natürlich sind vor allem die Werte auf den Eigenwerten +$\lambda_0 < \lambda_1\le \dots\le \lambda_n$ der Laplace-Matrix +von Interesse. + +Die Matrix $g(L)$ kann mit Hilfe der Spektraltheorie berechnet werden, +was im vorliegenden Fall naheliegend ist, weil ja die Eigenvektoren von +der Laplace-Matrix bereits bekannt sind. +Die Matrix $\chi^t$ bildet die Standardbasisvektoren in die +Eigenbasis-Vektoren ab, also in eine Zerlegung im Frequenzraum ab, +$\chi$ vermittelt die Umkehrabbildung. +Mit der Spektraltheorie findet man für die Abbildung $g(L)$ die Matrix +\begin{equation} +g(L) = -\sum_{v'\in V} l_{vv'}f(v'). -\] +\chi +\begin{pmatrix} +g(\lambda_0)&0&\dots&0\\ +0&g(\lambda_1)&\dots&0\\ +\vdots&\vdots&\ddots&\vdots\\ +0&0&\dots&g(\lambda_n) +\end{pmatrix} +\chi^t. +\label{buch:graphen:eqn:mutterwavelet} +\end{equation} -\subsection{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 +\subsubsection{Dilatation} +Die Dilatation um $a$ im Ortsraum wird zu einer Dilatation um $1/a$ im +Frequenzraum. +Statt also nach einer echten Dilatation der Spaltenvektoren in $g(L)$ +zu suchen, kann man sich darauf verlegen, Funktionen zu finden, deren +Spektrum von einer Funktionen lokalisiert worden ist, die eine Dilatation +von $g$ ist. +Man wählt daher eine ansteigende Folge $A=(a_1,\dots)$ von Streckungsfaktoren +und betrachtet anstelle von $g$ die dilatierten Funktionen +$g_i=\tilde{D}_{1/a_i}g$. +Die zugehörigen Wavelet-Funktionen auf dem Graphen können wieder mit +der Formel~\eqref{buch:graphen:eqn:mutterwavelet} berechnet werden, +man erhält +\begin{equation} +\tilde{D}_{1/a_i}g(L) += +g_i(L) += +\chi +\begin{pmatrix} +g(a_i\lambda_0)&0&\dots&0\\ +0&g(a_i\lambda_1)&\dots&0\\ +\vdots&\vdots&\ddots&\vdots\\ +0&0&\dots&g(a_i\lambda_n) +\end{pmatrix} +\chi^t . +\end{equation} +Die Spalten von $g_i(L)$ bilden wieder eine Menge von Funktionen, die +eine gemäss $g_i$ lokalisiertes Spektrum haben. + +\subsubsection{Vater-Wavelet} +Wegen $g(0)=0$ wird die konstante Funktion, die Eigenvektor zum Eigenwert +$\lambda_0=0$ ist, von den Abbildungen $g_i(L)$ auf $0$ abgebildet. +Andererseits ist diese Funktion nicht lokalisiert, man möchte Sie also +für die Analyse nicht unbedingt verwenden. +Man wählt daher eine Funktion $h(\lambda)$ mit $h(0)=1$ so, dass +für $\lambda\to \infty$ der Wert $h(\lambda)$ genügend rasch gegen $0$ +geht. +Die Matrix $h(L)$ bildet daher den konstanten Vektor nicht auf $0$ ab, +sondern lokalisiert ihn im Ortsraum. +Wir erhalten daher in den Spalten von $h(L)$ Vektoren, die um die +einzelnen Knoten lokalisiert sind. + +\subsubsection{Rekonstruktion} +Die Operatoren $h(L)$ und $g_i(L)$ erzeugen analysieren eine Funktion +nach den verschiedenen Frequenzen mit den Skalierungsfaktoren $a_i$, +aber die Rekonstruktion ist noch nicht klar. +Diese wäre einfacher, wenn die Operatoren zusammen die identische +Abbildung ergäben, wenn also \[ -e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} -1\qquad&v=v'\\ -0\qquad&\text{sonst.} -\end{cases} +h(L) + \sum_{i}g_i(L)=I \] +gelten würde. +Nach der Spektraltheorie gilt das nur, wenn für alle Eigenwerte +$\lambda_k$, $k=1,\dots,n$ +\[ +h(\lambda_k) + \sum_ig(a_i\lambda_k)=1 +\] +gilt. +Für beleibige Funktionen $g$ und $h$ kann man nicht davon ausgehen, +aber man kann erwarten. +Man muss daher zusätzlich verlangen, dass +\[ +h(\lambda_k) + \sum_{i} g(a_i\lambda_k) > 0 +\] +ist für alle Eigenwerte $\lambda_k$. +\subsubsection{Frame} +Die Menge von Vektoren, die in der vorangegangenen Konstruktion gefunden +wurden, ist zu gross, um eine Basis zu sein. +Vektoren lassen sich darin auf verschiedene Art darstellen. +Wir verlangen aber auch keine eindeutige Darstellung, nur eine +Darstellung, in der wir die ``dominierenden'' Komponenten in jeder +Frequenzskala identifizieren können. -\subsection{Wavelet-Basen -\label{buch:subsection:wavelet-basen}} - +\begin{definition} +\label{buch:graphen:def:frame} +Ein Frame des Vektorraumes $\mathbb{R}^n$ ist eine Menge +$F=\{e_k\;|\; k=1,\dots,N\}$ von Vektoren mit der Eigenschaft +\begin{equation} +A\|v\|^2 +\le +\sum_{k=1}^N |\langle v,e_k\rangle|^2 +\le +B\|v\|^2 +\label{buch:graphen:eqn:frame} +\end{equation} +Die Zahlen $A$ und $B$ heissen die {\em Frame-Konstanten} des Frames. +\end{definition} +Die oben gefundenen Vektoren, die Spalten Vektoren von $h(L)$ und $g_i(L)$ +bilden daher ein Frame. +Die Frame-Konstanten kann man unmittelbar ausrechnen. +Der mittlere Term von \eqref{buch:graphen:eqn:frame} ist +\[ +\|h(L) v\|^2 ++ +\sum_{i} \|g_i(L)v\|^2, +\] +die durch die Funktion +\[ +f(\lambda) += +h(\lambda)^2 + \sum_i g_i(\lambda)^2 +\] +abgeschätzt werden kann. +Die Frame-Konstanten sind daher +\begin{align*} +A&=\min_{k} f(\lambda_k) +& +&\text{und}& +B&=\max_{k} f(\lambda_k). +\end{align*} +Die Konstruktion hat also ein Frame für die Funktionen auf dem Graphen +etabliert, die viele Eigenschaften einer Multiskalenanalyse in diese +wesentlich weniger symmetrische Situation rettet. diff --git a/buch/chapters/80-wahrscheinlichkeit/parrondo.tex b/buch/chapters/80-wahrscheinlichkeit/parrondo.tex index a62d813..50e7fda 100644 --- a/buch/chapters/80-wahrscheinlichkeit/parrondo.tex +++ b/buch/chapters/80-wahrscheinlichkeit/parrondo.tex @@ -24,15 +24,15 @@ Je nach Ausgang gewinnt oder verliert der Spieler eine Einheit. Sei $X$ die Zufallsvariable, die den gewonnen Betrag beschreibt. Für eine faire Münze ist die Gewinnerwartung in diesem Spiel natürlich $E(X)=0$. -Wenn die Wahrscheinlichkeit für einen Gewinn $1+e$ ist, dann muss -die Wahrscheinlichkeit für einen Verlust $1-e$ sein, und die +Wenn die Wahrscheinlichkeit für einen Gewinn $\frac12+e$ ist, dann muss +die Wahrscheinlichkeit für einen Verlust $\frac12-e$ sein, und die Gewinnerwartung ist \( E(X) = 1\cdot P(X=1) + (-1)\cdot P(X=-1) = -1+e + (-1)(1-e) +\frac12+e + (-1)\biggl(\frac12-e\biggr) = 2e. \) @@ -763,7 +763,7 @@ Eigenwert $1$ finden, die Rechnung mit dem Gauss-Algorithmus liefert p= \frac{1}{709} \begin{pmatrix} -245\\180\\84 +245\\180\\284 \end{pmatrix}. \] Damit kann man jetzt die Gewinnwahrscheinlichkeit im iterierten Spiel diff --git a/buch/chapters/90-crypto/aes.tex b/buch/chapters/90-crypto/aes.tex index 6004dde..acdda22 100644 --- a/buch/chapters/90-crypto/aes.tex +++ b/buch/chapters/90-crypto/aes.tex @@ -32,4 +32,402 @@ Sicherheit. In diesem Abschnitt soll gezeigt werde, wie sich die AES spezifizierten Operationen als mit der Arithmetik der endlichen Körper beschreiben lassen. +Im Abschnitt~\ref{buch:subsection:byte-operationen} werden +Bytes als Elemente in einem endlichen Körper $\mathbb{F}_{2^8}$ +interpretiert. +Damit kann dann die sogenannte $S$-Box konstruiert werden und +es ist leicht zu verstehen, dass sie invertierbar ist. +Aus den Byte-Operationen können dann Mischoperationen erzeugt +werden, die Bytes untereinander verknüpfen, die aber auch wieder +als Operationen in einem endlichen Körper verstanden werden können. + +\subsection{Byte-Operationen +\label{buch:subsection:byte-operationen}} +Moderne Prozessoren operieren auf Wörtern, die Vielfache von Bytes sind. +Byte-Operationen sind besonders effizient in Hardware zu realisieren. +AES verwendet daher als Grundelemente Operationen auf Bytes, die als +Elemente eines endlichen Körpers $\mathbb{F}_{2^8}$ interpretiert werden. + +\subsubsection{Bytes als Elemente von $\mathbb{F}_{2^8}$} +Das Polynom $m(X)=X^8+X^4+X^3+X+1\in \mathbb{F}_2[X]$ ist irreduzibel, +somit ist $\mathbb{F}_{2^8} = \mathbb{F}_2[X]/(m)$ ein Körper. +Die Elemente können dargestellt werden als Polynome, das Byte +$\texttt{63}_{16}$ bekommt die Form +\[ +p(X) = p_7X^7 + p_6X^6 + \dots + p_2X^2+p_1X + p_0, +\] +sie bestehen daher aus den $8$ Bits $p_7,\dots,p_0$. + +Die Interpretation der Bytes als Elemente eines Körpers bedeutet, +dass jede Multiplikation mit einem nicht verschwindenden Byte +invertierbar ist. +Ausserdem mischen diese Operationen die einzelnen Bits auf einigermassen +undurchsichtige, aber umkehrbare Art durcheinander, wie dies für ein +Verschlüsselungsverfahren wünschenswert ist. + +\subsubsection{$S$-Box} +Für die Operation der $S$-Box wird wie folgt zusammengesetzt. +Zunächst wird ein Byte $x$ durch das zugehörige multiplikative +inverse Element +\[ +x\mapsto \bar{x} = \begin{cases} +x^{-1}&\qquad \text{für $x\in \mathbb{F}_{2^8}^*$}\\ +0 &\qquad \text{für $x=0$} +\end{cases} +\] +ersetzt. + +Im zweiten Schritt betrachten wir $\mathbb{F}_{2^8}$ als einen +$8$-dimensionalen Vektorraum über $\mathbb{F}_2$. +Einem Polynom $p(X)=p_7X^7 + \dots + p_1X+p_0$ wird der Spaltenvektor +mit den Komponenten $p_0$ bis $p_7$ zugeordnet. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/90-crypto/images/sbox.pdf} +\caption{Berechnung der Inversen der Matrix $A$ in der $S$-Box des +AES-Algorithmus mit dem Gauss-Algorithmus +\label{buch:crypto:fig:sbox}} +\end{figure} + +Eine lineare Transformation in diesem Vektorraum kann durch eine +$8\times 8$-Matrix in $M_8(\mathbb{F}_2)$ betrachtet werden. +In der $S$-Box wird die Matrix +\[ +A= +\begin{pmatrix} +1&0&0&0&1&1&1&1\\ +1&1&0&0&0&1&1&1\\ +1&1&1&0&0&0&1&1\\ +1&1&1&1&0&0&0&1\\ +1&1&1&1&1&0&0&0\\ +0&1&1&1&1&1&0&0\\ +0&0&1&1&1&1&1&0\\ +0&0&0&1&1&1&1&1 +\end{pmatrix}, +\qquad +A^{-1} += +\begin{pmatrix} +0&0&1&0&0&1&0&1\\ +1&0&0&1&0&0&1&0\\ +0&1&0&0&1&0&0&1\\ +1&0&1&0&0&1&0&0\\ +0&1&0&1&0&0&1&0\\ +0&0&1&0&1&0&0&1\\ +1&0&0&1&0&1&0&0\\ +0&1&0&0&1&0&1&0 +\end{pmatrix} +\] +verwendet. +Mit dem Gauss-Algorithmus, schematisch dargestellt in +Abbildung~\ref{buch:crypto:fig:sbox}, kann man die Inverse +bestimmen, die Multiplikation mit $A$ ist also eine invertierbare +Abbildung. + +Der letzte Schritt ist dann wieder eine Addition von +$q(X)=X^7+X^6+X+1\in \mathbb{F}_{2^8}$, durch Subtraktion +von $q(X)$ invertiert werden kann. +Die $S$-Box-Operation kann also bektoriell geschrieben werden also +\[ + S(x) = A\overline{x}+q. +\] + +Die Implementation ist möglicherweise mit einer Tabelle am schnellsten, +es sind ja nur 256 Bytes im Definitionsbereich der $S$-Box-Abbildung +und ebenso nur 256 möglich Werte. + +\subsection{Block-Operationen +\label{buch:subsection:block-operationen}} +Die zu verschlüsselnden Daten werden in in Blöcke aufgeteilt, deren +Länge Vielfache von $32$ bit sind. +Die kleinste Blockgrösse ist 128\,Bit, die grösste ist 256\,Bit. +Die Bytes eines Blockes werden dann in einem Rechteck angeordnet +als +\begin{equation} +\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline + b_{0} & b_{4} & b_{8} & b_{12} & b_{16} & b_{20} & b_{24} & b_{28} \\ + b_{1} & b_{5} & b_{9} & b_{13} & b_{17} & b_{21} & b_{25} & b_{29} \\ + b_{2} & b_{6} & b_{10} & b_{14} & b_{18} & b_{22} & b_{26} & b_{30} \\ + b_{3} & b_{7} & b_{11} & b_{15} & b_{19} & b_{23} & b_{27} & b_{31} \\ +\hline +\end{tabular} +\label{buch:crypto:eqn:block} +\end{equation} +für eine Blocklänge von 256\,Bits. + + + +\subsubsection{Zeilenshift} +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/90-crypto/images/shift.pdf} +\caption{Zeilenshift in einem Block von 256 bits +\label{buch:crypto:fig:shift}} +\end{figure} +Die Verschlüsselung muss sicherstellen, dass die Bytes des Blockes +untereinander gut gemischt werden. +Die bisher beschriebenen Operationen operieren immer nur auf einzelnen +Bytes während +die im nächsten Abschnitt beschriebene Spalten-Mischoperation +nur auf Spalten wird. +Die Zeilenmischoperation permutiert die Zeilen in den vier Zeilen +eines Blocks zyklisch, die erste Zeile bleibt an Ort, die zweite +Zeile wird um ein Byte rotiert, die dritte um zwei und die letzte +um 3 Bytes, wie in Abbildung~\ref{buch:crypto:fig:zeilenshift} +dargestellt. +Diese Operation könnte mit einer Permutationsmatrix beschrieben werden, +dies wäre jedoch keine effiziente Implementation. +Der Zeilenschift hat ansonsten keine elegante algebraische Beschreibung. + +\subsubsection{Spalten mischen} +Jede Spalte von \eqref{buch:crypto:eqn:block} kann als Vektor des +vierdimensionalen Vektorraumes $\mathbb{F}_{2^8}^4$. +Die Zeilenmischoperation wendet ein lineare Abbildung auf jeden +Spaltenvektor von~\eqref{buch:crypto:eqn:block}. +Die Koeffizienten der Matrix sind Elemente von $\mathbb{F}_{2^8}$. +Die Matrix ist +\[ +C=\begin{pmatrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16} +\end{pmatrix}. +\] +Um nachzuprüfen, dass die Matrix $C$ invertierbar ist, könnte man den +Gauss-Algorithmus verwenden und damit die Inverse berechnen. +Dazu müsste man die multiplikativen Inversen kennen, was etwas mühsam +ist. +Man kann aber aber auch die Determinante bestimmen, dazu braucht man +nur multiplizieren zu können, was in diesem Fall sehr leicht möglich ist, +weil kein Überlauf entsteht. +Dabei hilft es zu beachten, dass die Multiplikation mit $\texttt{02}_{16}$ +nur eine Einbit-Shiftoperation nach links ist. +Nur die Multiplikation $\texttt{03}_{16}\cdot\texttt{03}_{16}=\text{05}_{16}$ +gibt etwas mehr zu überlegen. +Mit geeigneten Zeilen-Operationen kann man die Berechnung der Determinante +von $C$ mit dem Entwicklungssatz etwas vereinfachen. +Man erhält +\begin{align*} +\det(C) +&= +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left( +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\right) ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +( +\texttt{02}_{16}(\texttt{04}_{16}+\texttt{05}_{16}) ++ +(\texttt{06}_{16}+\texttt{03}_{16}) +) ++ +\texttt{03}_{16}\texttt{03}_{16} +\\ +&= +\texttt{02}_{16} +( +\texttt{02}_{16} ++ +\texttt{05}_{16} +) ++ +\texttt{05}_{16} += +\texttt{0e}_{16}+\texttt{05}_{16} += +\texttt{0a}_{16} +\ne 0. +\end{align*} +Damit ist gezeigt, dass die Matrix $C$ invertierbar auf den +Spaltenvektoren wirkt. +Die Inverse der Matrix kann einmal berechnet und anschliessend +für die Entschlüsselung verwendet werden. + +Alternativ kann man die Multiplikation mit der Matrix $C$ auch +interpretieren als eine Polynommultiplikation. +Dazu interpretiert man die Spalten des Blocks als Polynom vom Grad~3 +mit Koeffizienten in $\mathbb{F}_{2^8}$. +Durch Reduktion mit dem irreduziblen Polynom +$n(Z)=Z^4+1\in\mathbb{F}_{2^8}[X]$ entsteht aus dem Polynomring +wieder ein Körper. +Die Wirkung der Matrix $C$ ist dann nichts anderes als Multiplikation +mit dem Polynom +\[ +c(Z) = \texttt{03}_{16}Z^3 + Z^2+Z^1+\texttt{02}_{16}, +\] +die natürlich ebenfalls umkehrbar ist. + +\subsection{Schlüssel +\label{buch:subsection:schlüssel}} +Die von den Byte- und Blockoperationen mischen die einzelnen Bits +der Daten zwar ganz schön durcheinander, aber es wird noch kein +Schlüsselmaterial eingearbeitet, welches den Prozess einzigartig +macht. + +\subsubsection{Schlüsseladdition} +Nach jeder Spaltenmischoperation wird ein Rundenschlüssel +zum Blockhinzuaddiert. +Beim ersten Mal wird dazu einfach das Schlüsselmaterial verwendet. +Für die folgenden Runden muss aus diesem Schlüssel neues +Material, die sogenannten Rundenschlüssel, gewonnen werden. + +\subsubsection{Rundenschlüssel} +\begin{figure} +\centering +\includegraphics{chapters/90-crypto/images/keys.pdf} +\caption{Erzeugung der erweiterten Schlüsseldaten aus dem Schlüssel +$K_0,\dots,K_7$ für Schlüssellänge 256\,bit. +Die mit $S$ beschrifteten Blöcke wenden die $S$-Box auf jedes einzelne +Byte an. +$\pi$ ist die zyklische Vertauschung der Bytes eines Wortes. +Die Operation $r_i$ ist eine Addition einer Konstanten, die in jeder +Runde anders ist. +\label{buch:crypto:fig:keys}} +\end{figure} +Die Erzeugung der Rundenschlüssel ist in Abbildung +\ref{buch:crypto:fig:keys} +schematisch dargestellt. +Die Blöcke beschreiben wieder Spaltenvektoren im vierdimensionalen +Raum $\mathbb{F}_{2^8}^4$. +Die Blöcke $K_0$ bis $K_7$ stellen den ursprünglichen Schlüssel dar. +Die Erzeugung eines neuen Blocks Schlüsselmatrial beginnt damit, +dass der letzte Vektor des vorangegangenblocks drei Operationen +unterworfen werden. +\begin{itemize} +\item +Die Operation $\pi$ vertauscht die Bytes des Vektors zyklisch: +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\def\s{0.6} +\begin{scope} +\draw (0,0) rectangle (\s,{4*\s}); +\foreach \y in {1,...,3}{ + \draw (0,{\y*\s}) (\s,{\y*\s}); +} +\node at ({0.5*\s},{0.5*\s}) {$b_3$}; +\node at ({0.5*\s},{1.5*\s}) {$b_2$}; +\node at ({0.5*\s},{2.5*\s}) {$b_1$}; +\node at ({0.5*\s},{3.5*\s}) {$b_0$}; +\end{scope} +\draw[->] ({1.1*\s},{2*\s}) -- ({4.9*\s},{2*\s}); +\node at ({3*\s},{2*\s}) [above] {$\pi$}; +\begin{scope}[xshift=3cm] +\draw (0,0) rectangle (\s,{4*\s}); +\foreach \y in {1,...,3}{ + \draw (0,{\y*\s}) (\s,{\y*\s}); +} +\node at ({0.5*\s},{0.5*\s}) {$b_0$}; +\node at ({0.5*\s},{1.5*\s}) {$b_3$}; +\node at ({0.5*\s},{2.5*\s}) {$b_2$}; +\node at ({0.5*\s},{3.5*\s}) {$b_1$}; +\end{scope} +\end{tikzpicture} +\end{center} +\item +Die $S$-Operation wendet die $S$-Box auf alle Bytes eines Vektors an. +\item +Die $r_i$ Operation addiert in Runde eine Konstante $r_i$ zur $0$-Komponente. +\end{itemize} +Die Konstante $r_i$ ist wieder ein einzelnes Byte und es ist daher +naheliegend, diese Bytes mit Hilfe der Arithmetik in $\mathbb{F}_{2^8}$ +zu erzeugen. +Man kann daher $r_i$ definieren als +$(\texttt{02}_{16})^{i-1}\in\mathbb{F}_{2^8}$. + +\subsection{Runden} +Der AES-Verschlüsselungsalgorithmus besteht jetzt darin, die bisher +definierten Operationen wiederholt anzuwenden. +Eine einzelne Runde besteht dabei aus folgenden Schritten: +\begin{enumerate} +\item Wende die $S$-Box auf alle Bytes des Blocks an. +\item Führe den Zeilenshift durch. +\item Mische die Spalten (wird in der letzten Runde) +\item Erzeuge den nächsten Rundenschlüssel +\item Addiere den Rundenschlüssel +\end{enumerate} +Der AES-Verschlüsselungsalgorithmus beginnt damit, dass der Schlüssel +zum Datenblock addiert wird. +Anschliessend werden je nach Blocklänge verschiedene Anzahlen von +Runden durchgeführt, 10 Runden für 128\,bit, 12 Runden für 192\,bit und +14 Runden für 256\,bit. + + + + diff --git a/buch/chapters/90-crypto/arith.tex b/buch/chapters/90-crypto/arith.tex index b6f2fd8..dcc31b8 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 Algorithmus 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..f4bed14 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 +all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \ + shift.pdf keys.pdf dh.pdf: dh.tex pdflatex dh.tex @@ -11,3 +12,18 @@ 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 + +sbox.pdf: sbox.tex + pdflatex sbox.tex + +shift.pdf: shift.tex + pdflatex shift.tex + +keys.pdf: keys.tex + pdflatex keys.tex + diff --git a/buch/chapters/90-crypto/images/dh.pdf b/buch/chapters/90-crypto/images/dh.pdf Binary files differindex 67b95a5..eede4bd 100644 --- a/buch/chapters/90-crypto/images/dh.pdf +++ b/buch/chapters/90-crypto/images/dh.pdf diff --git a/buch/chapters/90-crypto/images/elliptic.pdf b/buch/chapters/90-crypto/images/elliptic.pdf Binary files differindex d408f1e..e58639f 100644 --- a/buch/chapters/90-crypto/images/elliptic.pdf +++ b/buch/chapters/90-crypto/images/elliptic.pdf diff --git a/buch/chapters/90-crypto/images/keys.pdf b/buch/chapters/90-crypto/images/keys.pdf Binary files differnew file mode 100644 index 0000000..2c6b4b9 --- /dev/null +++ b/buch/chapters/90-crypto/images/keys.pdf diff --git a/buch/chapters/90-crypto/images/keys.tex b/buch/chapters/90-crypto/images/keys.tex new file mode 100644 index 0000000..d556b7c --- /dev/null +++ b/buch/chapters/90-crypto/images/keys.tex @@ -0,0 +1,121 @@ +% +% keys.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] +\definecolor{darkgreen}{rgb}{0,0.6,0} +\def\s{0.5} +\def\punkt#1#2{({(#1)*\s},{(#2)*\s})} +\def\wort#1#2#3{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; + \draw \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; +} + +\def\summe{ + \foreach \x in {0,3,...,21}{ + \draw[->] \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; + \draw \punkt{(\x+0.5)}{-2.5} circle[radius={0.3*\s}]; + \draw \punkt{(\x+0.5-0.2)}{-2.5} + -- + \punkt{(\x+0.5+0.2)}{-2.5}; + \draw \punkt{(\x+0.5)}{-2.5+0.2} + -- + \punkt{(\x+0.5)}{-2.5-0.2}; + \draw[->] \punkt{(\x+0.5)}{-2.9} -- \punkt{(\x+0.5)}{-4.9}; + } + \foreach \x in {0,3,...,18}{ + \draw[->] \punkt{(\x+1.1)}{-7} -- \punkt{(\x+2)}{-7} + -- \punkt{(\x+2)}{-2.5} -- \punkt{(\x+3.1)}{-2.5}; + } + \fill[color=white] + \punkt{(9+1.25)}{-5.5} + rectangle + \punkt{(9+2.75)}{-4.00}; + \draw + \punkt{(9+1.25)}{-5.5} + rectangle + \punkt{(9+2.75)}{-4.00}; + \node at \punkt{(9+2)}{-4.75} {$S$}; +} + +\def\blocks#1{ + \foreach \x in {0,3,...,21}{ + \wort{\x}{0}{#1} + } +} + +\def\schlange#1{ + \draw[->] \punkt{22.1}{2} -- \punkt{23}{2} + -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} + -- \punkt{-3}{-8} -- \punkt{-1}{-8} -- \punkt{-1}{-2.5} + -- \punkt{0.1}{-2.5}; + ; + \fill[color=white] \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; + \draw \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; + \node at \punkt{-3}{-2.5} {$\pi$}; + + \fill[color=white] \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; + \draw \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; + \node at \punkt{-3}{-4.5} {$S$}; + + \fill[color=white] \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; + \draw \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; + \node at \punkt{-3}{-6.5} {$r_{#1}$}; +} + +\begin{scope} + \blocks{blue!20} + \foreach \x in {0,...,7}{ + \node at \punkt{(3*\x+0.5)}{2} {$K_\x$}; + } + \schlange{1} + \summe +\end{scope} + +\begin{scope}[yshift=-4.5cm] + \blocks{darkgreen!20} + \foreach \x in {8,...,15}{ + \node at \punkt{(3*(\x-8)+0.5)}{2} {$K_{\x}$}; + } + \schlange{2} + \summe +\end{scope} + +\begin{scope}[yshift=-9cm] + \blocks{darkgreen!20} + \foreach \x in {16,...,23}{ + \node at \punkt{(3*(\x-16)+0.5)}{2} {$K_{\x}$}; + } + \schlange{3} + \summe +\end{scope} + +\begin{scope}[yshift=-13.5cm] + \blocks{darkgreen!20} + \foreach \x in {24,...,31}{ + \node at \punkt{(3*(\x-24)+0.5)}{2} {$K_{\x}$}; + } + \foreach \x in {0,3,...,21}{ + \draw[->,color=gray] + \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; + \node[color=gray] at \punkt{(\x+0.5)}{-2.1} [below] {$\vdots$}; + } + \draw[color=gray] \punkt{22.1}{2} -- \punkt{23}{2} + -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} + -- \punkt{-3}{-2.1}; + \node[color=gray] at \punkt{-3}{-2.1} [below] {$\vdots$}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/multiplikation.pdf b/buch/chapters/90-crypto/images/multiplikation.pdf Binary files differnew file mode 100644 index 0000000..86345b8 --- /dev/null +++ b/buch/chapters/90-crypto/images/multiplikation.pdf 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/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 Binary files differnew file mode 100644 index 0000000..7a5bdf3 --- /dev/null +++ b/buch/chapters/90-crypto/images/sbox.pdf 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/schieberegister.pdf b/buch/chapters/90-crypto/images/schieberegister.pdf Binary files differnew file mode 100644 index 0000000..30b675b --- /dev/null +++ b/buch/chapters/90-crypto/images/schieberegister.pdf 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/images/shift.pdf b/buch/chapters/90-crypto/images/shift.pdf Binary files differnew file mode 100644 index 0000000..b007378 --- /dev/null +++ b/buch/chapters/90-crypto/images/shift.pdf diff --git a/buch/chapters/90-crypto/images/shift.tex b/buch/chapters/90-crypto/images/shift.tex new file mode 100644 index 0000000..bcdf819 --- /dev/null +++ b/buch/chapters/90-crypto/images/shift.tex @@ -0,0 +1,131 @@ +% +% shift.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.8} +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\def\feld#1#2#3#4{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+1)}; + \node at \punkt{(#1+0.5)}{(#2+0.5)} {$\mathstrut #4$}; +} +\def\gitter{ + \draw \punkt{0}{0} rectangle \punkt{8}{4}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{4}; + } + \foreach \y in {1,...,3}{ + \draw \punkt{0}{\y} -- \punkt{8}{\y}; + } +} + +\begin{scope} + \feld{0}{3}{red!20}{b_{0}} + \feld{0}{2}{red!20}{b_{1}} + \feld{0}{1}{red!20}{b_{2}} + \feld{0}{0}{red!20}{b_{3}} + + \feld{1}{3}{red!10}{b_{4}} + \feld{1}{2}{red!10}{b_{5}} + \feld{1}{1}{red!10}{b_{6}} + \feld{1}{0}{red!10}{b_{7}} + + \feld{2}{3}{yellow!20}{b_{8}} + \feld{2}{2}{yellow!20}{b_{9}} + \feld{2}{1}{yellow!20}{b_{10}} + \feld{2}{0}{yellow!20}{b_{11}} + + \feld{3}{3}{yellow!10}{b_{12}} + \feld{3}{2}{yellow!10}{b_{13}} + \feld{3}{1}{yellow!10}{b_{14}} + \feld{3}{0}{yellow!10}{b_{15}} + + \feld{4}{3}{darkgreen!20}{b_{16}} + \feld{4}{2}{darkgreen!20}{b_{17}} + \feld{4}{1}{darkgreen!20}{b_{18}} + \feld{4}{0}{darkgreen!20}{b_{19}} + + \feld{5}{3}{darkgreen!10}{b_{20}} + \feld{5}{2}{darkgreen!10}{b_{21}} + \feld{5}{1}{darkgreen!10}{b_{22}} + \feld{5}{0}{darkgreen!10}{b_{23}} + + \feld{6}{3}{blue!20}{b_{24}} + \feld{6}{2}{blue!20}{b_{25}} + \feld{6}{1}{blue!20}{b_{26}} + \feld{6}{0}{blue!20}{b_{27}} + + \feld{7}{3}{blue!10}{b_{28}} + \feld{7}{2}{blue!10}{b_{29}} + \feld{7}{1}{blue!10}{b_{30}} + \feld{7}{0}{blue!10}{b_{31}} + + \gitter + + \draw[->] \punkt{8.1}{2} -- \punkt{9.3}{2}; +\end{scope} + + +\begin{scope}[xshift=7.5cm] + + \feld{0}{3}{red!20}{b_{0}} + \feld{1}{2}{red!20}{b_{1}} + \feld{2}{1}{red!20}{b_{2}} + \feld{3}{0}{red!20}{b_{3}} + + \feld{1}{3}{red!10}{b_{4}} + \feld{2}{2}{red!10}{b_{5}} + \feld{3}{1}{red!10}{b_{6}} + \feld{4}{0}{red!10}{b_{7}} + + \feld{2}{3}{yellow!20}{b_{8}} + \feld{3}{2}{yellow!20}{b_{9}} + \feld{4}{1}{yellow!20}{b_{10}} + \feld{5}{0}{yellow!20}{b_{11}} + + \feld{3}{3}{yellow!10}{b_{12}} + \feld{4}{2}{yellow!10}{b_{13}} + \feld{5}{1}{yellow!10}{b_{14}} + \feld{6}{0}{yellow!10}{b_{15}} + + \feld{4}{3}{darkgreen!20}{b_{16}} + \feld{5}{2}{darkgreen!20}{b_{17}} + \feld{6}{1}{darkgreen!20}{b_{18}} + \feld{7}{0}{darkgreen!20}{b_{19}} + + \feld{5}{3}{darkgreen!10}{b_{20}} + \feld{6}{2}{darkgreen!10}{b_{21}} + \feld{7}{1}{darkgreen!10}{b_{22}} + \feld{0}{0}{darkgreen!10}{b_{23}} + + \feld{6}{3}{blue!20}{b_{24}} + \feld{7}{2}{blue!20}{b_{25}} + \feld{0}{1}{blue!20}{b_{26}} + \feld{1}{0}{blue!20}{b_{27}} + + \feld{7}{3}{blue!10}{b_{28}} + \feld{0}{2}{blue!10}{b_{29}} + \feld{1}{1}{blue!10}{b_{30}} + \feld{2}{0}{blue!10}{b_{31}} + + \gitter + +\end{scope} + +\end{tikzpicture} +\end{document} + 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 diff --git a/buch/chapters/references.bib b/buch/chapters/references.bib index 2eed953..a5d0201 100644 --- a/buch/chapters/references.bib +++ b/buch/chapters/references.bib @@ -21,6 +21,12 @@ abstract = "In this paper, we present Google, a prototype of a large-scale searc } +@book{buch:mathsem-wavelets, + title = {Mathematisches Seminar Wavelets}, + author = { Andreas M"uller and others }, + year = {2019}, +} + @book{buch:mathsem-dgl, title = {Mathematisches Seminar Differentialgleichungen}, author = { Andreas M"uller and others }, @@ -123,3 +129,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}, +} + |