diff options
Diffstat (limited to '')
285 files changed, 18307 insertions, 3920 deletions
diff --git a/buch/.gitignore b/buch/.gitignore new file mode 100644 index 0000000..4600c1a --- /dev/null +++ b/buch/.gitignore @@ -0,0 +1,12 @@ +buch*.aux +buch*.bbl +buch*.bib +buch*.blg +buch*.idx +buch*.ilg +buch*.ind +buch*.log +buch*.out +buch*.pdf +buch*.run.xml +buch*.toc 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..e816b36 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial2.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial2.tex @@ -1,306 +1,325 @@ -% -% binomial2.tex -- Parität der Binomialkoeffizienten -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\def\s{0.37} -\pgfmathparse{\s*sqrt(3)/2} -\xdef\ys{\pgfmathresult} -\pgfmathparse{\s/2} -\xdef\xs{\pgfmathresult} - -% -% #1 = n -% #2 = k -% -\def\dreieck#1#2{ - \fill[color=black] ({\xs*(-#1+2*#2)},{-\ys*#1}) - -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) - -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; -} -\def\zeile#1{ - \fill[color=red!40] - ({\xs*(-#1)},{-\ys*#1}) - -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) - -- ({\xs*(#1+1)},{-\ys*(#1+1)}) - -- ({\xs*(#1)},{-\ys*#1}) -- cycle; -} - -\zeile{2} -\zeile{4} -\zeile{8} -\zeile{16} -\zeile{32} - -\dreieck{0}{0} - -\dreieck{1}{0} -\dreieck{1}{1} - -\dreieck{2}{0} -\dreieck{2}{2} - -\dreieck{3}{0} -\dreieck{3}{1} -\dreieck{3}{2} -\dreieck{3}{3} - -\dreieck{4}{0} -\dreieck{4}{4} - -\dreieck{5}{0} -\dreieck{5}{1} -\dreieck{5}{4} -\dreieck{5}{5} - -\dreieck{6}{0} -\dreieck{6}{2} -\dreieck{6}{4} -\dreieck{6}{6} - -\dreieck{7}{0} -\dreieck{7}{1} -\dreieck{7}{2} -\dreieck{7}{3} -\dreieck{7}{4} -\dreieck{7}{5} -\dreieck{7}{6} -\dreieck{7}{7} - -\dreieck{8}{0} -\dreieck{8}{8} - -\dreieck{9}{0} -\dreieck{9}{1} -\dreieck{9}{8} -\dreieck{9}{9} - -\dreieck{10}{0} -\dreieck{10}{2} -\dreieck{10}{8} -\dreieck{10}{10} - -\dreieck{11}{0} -\dreieck{11}{1} -\dreieck{11}{2} -\dreieck{11}{3} -\dreieck{11}{8} -\dreieck{11}{9} -\dreieck{11}{10} -\dreieck{11}{11} - -\dreieck{12}{0} -\dreieck{12}{4} -\dreieck{12}{8} -\dreieck{12}{12} - -\dreieck{13}{0} -\dreieck{13}{1} -\dreieck{13}{4} -\dreieck{13}{5} -\dreieck{13}{8} -\dreieck{13}{9} -\dreieck{13}{12} -\dreieck{13}{13} - -\dreieck{14}{0} -\dreieck{14}{2} -\dreieck{14}{4} -\dreieck{14}{6} -\dreieck{14}{8} -\dreieck{14}{10} -\dreieck{14}{12} -\dreieck{14}{14} - -\dreieck{15}{0} -\dreieck{15}{1} -\dreieck{15}{2} -\dreieck{15}{3} -\dreieck{15}{4} -\dreieck{15}{5} -\dreieck{15}{6} -\dreieck{15}{7} -\dreieck{15}{8} -\dreieck{15}{9} -\dreieck{15}{10} -\dreieck{15}{11} -\dreieck{15}{12} -\dreieck{15}{13} -\dreieck{15}{14} -\dreieck{15}{15} - -\dreieck{16}{0} -\dreieck{16}{16} - -\dreieck{17}{0} -\dreieck{17}{1} -\dreieck{17}{16} -\dreieck{17}{17} - -\dreieck{18}{0} -\dreieck{18}{2} -\dreieck{18}{16} -\dreieck{18}{18} - -\dreieck{19}{0} -\dreieck{19}{1} -\dreieck{19}{2} -\dreieck{19}{3} -\dreieck{19}{16} -\dreieck{19}{17} -\dreieck{19}{18} -\dreieck{19}{19} - -\dreieck{20}{0} -\dreieck{20}{4} -\dreieck{20}{16} -\dreieck{20}{20} - -\dreieck{21}{0} -\dreieck{21}{1} -\dreieck{21}{4} -\dreieck{21}{5} -\dreieck{21}{16} -\dreieck{21}{17} -\dreieck{21}{20} -\dreieck{21}{21} - -\dreieck{22}{0} -\dreieck{22}{2} -\dreieck{22}{4} -\dreieck{22}{6} -\dreieck{22}{16} -\dreieck{22}{18} -\dreieck{22}{20} -\dreieck{22}{22} - -\dreieck{23}{0} -\dreieck{23}{1} -\dreieck{23}{2} -\dreieck{23}{3} -\dreieck{23}{4} -\dreieck{23}{5} -\dreieck{23}{6} -\dreieck{23}{7} -\dreieck{23}{16} -\dreieck{23}{17} -\dreieck{23}{18} -\dreieck{23}{19} -\dreieck{23}{20} -\dreieck{23}{21} -\dreieck{23}{22} -\dreieck{23}{23} - -\dreieck{24}{0} -\dreieck{24}{8} -\dreieck{24}{16} -\dreieck{24}{24} - -\dreieck{25}{0} -\dreieck{25}{1} -\dreieck{25}{8} -\dreieck{25}{9} -\dreieck{25}{16} -\dreieck{25}{17} -\dreieck{25}{24} -\dreieck{25}{25} - -\dreieck{26}{0} -\dreieck{26}{2} -\dreieck{26}{8} -\dreieck{26}{10} -\dreieck{26}{16} -\dreieck{26}{18} -\dreieck{26}{24} -\dreieck{26}{26} - -\dreieck{27}{0} -\dreieck{27}{1} -\dreieck{27}{2} -\dreieck{27}{3} -\dreieck{27}{8} -\dreieck{27}{9} -\dreieck{27}{10} -\dreieck{27}{11} -\dreieck{27}{16} -\dreieck{27}{17} -\dreieck{27}{18} -\dreieck{27}{19} -\dreieck{27}{24} -\dreieck{27}{25} -\dreieck{27}{26} -\dreieck{27}{27} - -\dreieck{28}{0} -\dreieck{28}{4} -\dreieck{28}{8} -\dreieck{28}{12} -\dreieck{28}{16} -\dreieck{28}{20} -\dreieck{28}{24} -\dreieck{28}{28} - -\dreieck{29}{0} -\dreieck{29}{1} -\dreieck{29}{4} -\dreieck{29}{5} -\dreieck{29}{8} -\dreieck{29}{9} -\dreieck{29}{12} -\dreieck{29}{13} -\dreieck{29}{16} -\dreieck{29}{17} -\dreieck{29}{20} -\dreieck{29}{21} -\dreieck{29}{24} -\dreieck{29}{25} -\dreieck{29}{28} -\dreieck{29}{29} - -\foreach \k in {0,2,...,30}{ - \dreieck{30}{\k} -} - -\foreach \k in {0,...,31}{ - \dreieck{31}{\k} -} - -\dreieck{32}{0} -\dreieck{32}{32} - -\def\etikett#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; -} - -\etikett{0}{-2}{n=0} -\etikett{2}{-2}{n=2} -\etikett{4}{-2}{n=4} -\etikett{8}{-2}{n=8} -\etikett{16}{-2}{n=16} -\etikett{32}{-2}{n=32} - -\def\exponent#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; -} - -\exponent{-2}{0}{k=0} -\exponent{0}{2}{k=2} -\exponent{2}{4}{k=4} -\exponent{6}{8}{k=8} -\exponent{14}{16}{k=16} -\exponent{30}{32}{k=32} - -\end{tikzpicture} -\end{document} - +%
+% binomial2.tex -- Parität der Binomialkoeffizienten
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\def\s{0.37}
+\pgfmathparse{\s*sqrt(3)/2}
+\xdef\ys{\pgfmathresult}
+\pgfmathparse{\s/2}
+\xdef\xs{\pgfmathresult}
+
+%
+% #1 = n
+% #2 = k
+%
+\def\dreieck#1#2{
+ \fill[color=black] ({\xs*(-#1+2*#2)},{-\ys*#1})
+ -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)})
+ -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle;
+}
+\def\zeile#1{
+ \fill[color=red!40]
+ ({\xs*(-#1)},{-\ys*#1})
+ -- ({\xs*(-#1-1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1+1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1)},{-\ys*#1}) -- cycle;
+}
+
+\zeile{2}
+\zeile{4}
+\zeile{8}
+\zeile{16}
+\zeile{32}
+
+\dreieck{0}{0}
+
+\dreieck{1}{0}
+\dreieck{1}{1}
+
+\dreieck{2}{0}
+\dreieck{2}{2}
+
+\dreieck{3}{0}
+\dreieck{3}{1}
+\dreieck{3}{2}
+\dreieck{3}{3}
+
+\dreieck{4}{0}
+\dreieck{4}{4}
+
+\dreieck{5}{0}
+\dreieck{5}{1}
+\dreieck{5}{4}
+\dreieck{5}{5}
+
+\dreieck{6}{0}
+\dreieck{6}{2}
+\dreieck{6}{4}
+\dreieck{6}{6}
+
+\dreieck{7}{0}
+\dreieck{7}{1}
+\dreieck{7}{2}
+\dreieck{7}{3}
+\dreieck{7}{4}
+\dreieck{7}{5}
+\dreieck{7}{6}
+\dreieck{7}{7}
+
+\dreieck{8}{0}
+\dreieck{8}{8}
+
+\dreieck{9}{0}
+\dreieck{9}{1}
+\dreieck{9}{8}
+\dreieck{9}{9}
+
+\dreieck{10}{0}
+\dreieck{10}{2}
+\dreieck{10}{8}
+\dreieck{10}{10}
+
+\dreieck{11}{0}
+\dreieck{11}{1}
+\dreieck{11}{2}
+\dreieck{11}{3}
+\dreieck{11}{8}
+\dreieck{11}{9}
+\dreieck{11}{10}
+\dreieck{11}{11}
+
+\dreieck{12}{0}
+\dreieck{12}{4}
+\dreieck{12}{8}
+\dreieck{12}{12}
+
+\dreieck{13}{0}
+\dreieck{13}{1}
+\dreieck{13}{4}
+\dreieck{13}{5}
+\dreieck{13}{8}
+\dreieck{13}{9}
+\dreieck{13}{12}
+\dreieck{13}{13}
+
+\dreieck{14}{0}
+\dreieck{14}{2}
+\dreieck{14}{4}
+\dreieck{14}{6}
+\dreieck{14}{8}
+\dreieck{14}{10}
+\dreieck{14}{12}
+\dreieck{14}{14}
+
+\dreieck{15}{0}
+\dreieck{15}{1}
+\dreieck{15}{2}
+\dreieck{15}{3}
+\dreieck{15}{4}
+\dreieck{15}{5}
+\dreieck{15}{6}
+\dreieck{15}{7}
+\dreieck{15}{8}
+\dreieck{15}{9}
+\dreieck{15}{10}
+\dreieck{15}{11}
+\dreieck{15}{12}
+\dreieck{15}{13}
+\dreieck{15}{14}
+\dreieck{15}{15}
+
+\dreieck{16}{0}
+\dreieck{16}{16}
+
+\dreieck{17}{0}
+\dreieck{17}{1}
+\dreieck{17}{16}
+\dreieck{17}{17}
+
+\dreieck{18}{0}
+\dreieck{18}{2}
+\dreieck{18}{16}
+\dreieck{18}{18}
+
+\dreieck{19}{0}
+\dreieck{19}{1}
+\dreieck{19}{2}
+\dreieck{19}{3}
+\dreieck{19}{16}
+\dreieck{19}{17}
+\dreieck{19}{18}
+\dreieck{19}{19}
+
+\dreieck{20}{0}
+\dreieck{20}{4}
+\dreieck{20}{16}
+\dreieck{20}{20}
+
+\dreieck{21}{0}
+\dreieck{21}{1}
+\dreieck{21}{4}
+\dreieck{21}{5}
+\dreieck{21}{16}
+\dreieck{21}{17}
+\dreieck{21}{20}
+\dreieck{21}{21}
+
+\dreieck{22}{0}
+\dreieck{22}{2}
+\dreieck{22}{4}
+\dreieck{22}{6}
+\dreieck{22}{16}
+\dreieck{22}{18}
+\dreieck{22}{20}
+\dreieck{22}{22}
+
+\dreieck{23}{0}
+\dreieck{23}{1}
+\dreieck{23}{2}
+\dreieck{23}{3}
+\dreieck{23}{4}
+\dreieck{23}{5}
+\dreieck{23}{6}
+\dreieck{23}{7}
+\dreieck{23}{16}
+\dreieck{23}{17}
+\dreieck{23}{18}
+\dreieck{23}{19}
+\dreieck{23}{20}
+\dreieck{23}{21}
+\dreieck{23}{22}
+\dreieck{23}{23}
+
+\dreieck{24}{0}
+\dreieck{24}{8}
+\dreieck{24}{16}
+\dreieck{24}{24}
+
+\dreieck{25}{0}
+\dreieck{25}{1}
+\dreieck{25}{8}
+\dreieck{25}{9}
+\dreieck{25}{16}
+\dreieck{25}{17}
+\dreieck{25}{24}
+\dreieck{25}{25}
+
+\dreieck{26}{0}
+\dreieck{26}{2}
+\dreieck{26}{8}
+\dreieck{26}{10}
+\dreieck{26}{16}
+\dreieck{26}{18}
+\dreieck{26}{24}
+\dreieck{26}{26}
+
+\dreieck{27}{0}
+\dreieck{27}{1}
+\dreieck{27}{2}
+\dreieck{27}{3}
+\dreieck{27}{8}
+\dreieck{27}{9}
+\dreieck{27}{10}
+\dreieck{27}{11}
+\dreieck{27}{16}
+\dreieck{27}{17}
+\dreieck{27}{18}
+\dreieck{27}{19}
+\dreieck{27}{24}
+\dreieck{27}{25}
+\dreieck{27}{26}
+\dreieck{27}{27}
+
+\dreieck{28}{0}
+\dreieck{28}{4}
+\dreieck{28}{8}
+\dreieck{28}{12}
+\dreieck{28}{16}
+\dreieck{28}{20}
+\dreieck{28}{24}
+\dreieck{28}{28}
+
+\dreieck{29}{0}
+\dreieck{29}{1}
+\dreieck{29}{4}
+\dreieck{29}{5}
+\dreieck{29}{8}
+\dreieck{29}{9}
+\dreieck{29}{12}
+\dreieck{29}{13}
+\dreieck{29}{16}
+\dreieck{29}{17}
+\dreieck{29}{20}
+\dreieck{29}{21}
+\dreieck{29}{24}
+\dreieck{29}{25}
+\dreieck{29}{28}
+\dreieck{29}{29}
+
+\foreach \k in {0,2,...,30}{
+ \dreieck{30}{\k}
+}
+
+\foreach \k in {0,...,31}{
+ \dreieck{31}{\k}
+}
+
+\dreieck{32}{0}
+\dreieck{32}{32}
+
+\dreieck{33}{0}
+\dreieck{33}{1}
+\dreieck{33}{32}
+\dreieck{33}{33}
+
+\dreieck{34}{0}
+\dreieck{34}{2}
+\dreieck{34}{32}
+\dreieck{34}{34}
+
+\dreieck{35}{0}
+\dreieck{35}{1}
+\dreieck{35}{2}
+\dreieck{35}{3}
+\dreieck{35}{32}
+\dreieck{35}{33}
+\dreieck{35}{34}
+\dreieck{35}{35}
+
+\def\etikett#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$};
+}
+
+\etikett{0}{-2}{n=0}
+\etikett{2}{-2}{n=2}
+\etikett{4}{-2}{n=4}
+\etikett{8}{-2}{n=8}
+\etikett{16}{-2}{n=16}
+\etikett{32}{-2}{n=32}
+
+\def\exponent#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$};
+}
+
+\exponent{-2}{0}{k=0}
+\exponent{0}{2}{k=2}
+\exponent{2}{4}{k=4}
+\exponent{6}{8}{k=8}
+\exponent{14}{16}{k=16}
+\exponent{30}{32}{k=32}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/30-endlichekoerper/images/binomial5.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..f5aac0a 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial5.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial5.tex @@ -1,379 +1,437 @@ -% -% binomial2.tex -- Parität der Binomialkoeffizienten -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{farbe0}{rgb}{1,1,1} -\input{farben.tex} - -\def\s{0.37} -\pgfmathparse{\s*sqrt(3)/2} -\xdef\ys{\pgfmathresult} -\pgfmathparse{\s/2} -\xdef\xs{\pgfmathresult} - -% -% #1 = n -% #2 = k -% -\def\dreieck#1#2#3{ - \fill[color=farbe#3] ({\xs*(-#1+2*#2)},{-\ys*#1}) - -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) - -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; - \node[color=white] at ( ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)-0.03}) {$\scriptstyle #3$}; -} - -\definecolor{gelb}{rgb}{1,0.8,0.2} -\def\zeile#1{ - \fill[color=gelb] - ({\xs*(-#1)},{-\ys*#1}) - -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) - -- ({\xs*(#1+1)},{-\ys*(#1+1)}) - -- ({\xs*(#1)},{-\ys*#1}) -- cycle; -} - -\zeile{5} -\zeile{25} - -\dreieck{0}{0}{1} - -\dreieck{1}{0}{1} -\dreieck{1}{1}{1} - -\dreieck{2}{0}{1} -\dreieck{2}{1}{2} -\dreieck{2}{2}{1} - -\dreieck{3}{0}{1} -\dreieck{3}{1}{3} -\dreieck{3}{2}{3} -\dreieck{3}{3}{1} - -\dreieck{4}{0}{1} -\dreieck{4}{1}{4} -\dreieck{4}{2}{1} -\dreieck{4}{3}{4} -\dreieck{4}{4}{1} - -\dreieck{5}{0}{1} -\dreieck{5}{5}{1} - -\dreieck{6}{0}{1} -\dreieck{6}{1}{1} -\dreieck{6}{5}{1} -\dreieck{6}{6}{1} - -\dreieck{7}{0}{1} -\dreieck{7}{1}{2} -\dreieck{7}{2}{1} -\dreieck{7}{5}{1} -\dreieck{7}{6}{2} -\dreieck{7}{7}{1} - -\dreieck{8}{0}{1} -\dreieck{8}{1}{3} -\dreieck{8}{2}{3} -\dreieck{8}{3}{1} -\dreieck{8}{5}{1} -\dreieck{8}{6}{3} -\dreieck{8}{7}{3} -\dreieck{8}{8}{1} - -\dreieck{9}{0}{1} -\dreieck{9}{1}{4} -\dreieck{9}{2}{1} -\dreieck{9}{3}{4} -\dreieck{9}{4}{1} -\dreieck{9}{5}{1} -\dreieck{9}{6}{4} -\dreieck{9}{7}{1} -\dreieck{9}{8}{4} -\dreieck{9}{9}{1} - -\dreieck{10}{0}{1} -\dreieck{10}{5}{2} -\dreieck{10}{10}{1} - -\dreieck{11}{0}{1} -\dreieck{11}{1}{1} -\dreieck{11}{5}{2} -\dreieck{11}{6}{2} -\dreieck{11}{10}{1} -\dreieck{11}{11}{1} - -\dreieck{12}{0}{1} -\dreieck{12}{1}{2} -\dreieck{12}{2}{1} -\dreieck{12}{5}{2} -\dreieck{12}{6}{4} -\dreieck{12}{7}{2} -\dreieck{12}{10}{1} -\dreieck{12}{11}{2} -\dreieck{12}{12}{1} - -\dreieck{13}{0}{1} -\dreieck{13}{1}{3} -\dreieck{13}{2}{3} -\dreieck{13}{3}{1} -\dreieck{13}{5}{2} -\dreieck{13}{6}{1} -\dreieck{13}{7}{1} -\dreieck{13}{8}{2} -\dreieck{13}{10}{1} -\dreieck{13}{11}{3} -\dreieck{13}{12}{3} -\dreieck{13}{13}{1} - -\dreieck{14}{0}{1} -\dreieck{14}{1}{4} -\dreieck{14}{2}{1} -\dreieck{14}{3}{4} -\dreieck{14}{4}{1} -\dreieck{14}{5}{2} -\dreieck{14}{6}{3} -\dreieck{14}{7}{2} -\dreieck{14}{8}{3} -\dreieck{14}{9}{2} -\dreieck{14}{10}{1} -\dreieck{14}{11}{4} -\dreieck{14}{12}{1} -\dreieck{14}{13}{4} -\dreieck{14}{14}{1} - -\dreieck{15}{0}{1} -\dreieck{15}{5}{3} -\dreieck{15}{10}{3} -\dreieck{15}{15}{1} - -\dreieck{16}{0}{1} -\dreieck{16}{1}{1} -\dreieck{16}{5}{3} -\dreieck{16}{6}{3} -\dreieck{16}{10}{3} -\dreieck{16}{11}{3} -\dreieck{16}{15}{1} -\dreieck{16}{16}{3} - -\dreieck{17}{0}{1} -\dreieck{17}{1}{2} -\dreieck{17}{2}{1} -\dreieck{17}{5}{3} -\dreieck{17}{6}{1} -\dreieck{17}{7}{3} -\dreieck{17}{10}{3} -\dreieck{17}{11}{1} -\dreieck{17}{12}{3} -\dreieck{17}{15}{1} -\dreieck{17}{16}{2} -\dreieck{17}{17}{1} - -\dreieck{18}{0}{1} -\dreieck{18}{1}{3} -\dreieck{18}{2}{3} -\dreieck{18}{3}{1} -\dreieck{18}{5}{3} -\dreieck{18}{6}{4} -\dreieck{18}{7}{4} -\dreieck{18}{8}{3} -\dreieck{18}{10}{3} -\dreieck{18}{11}{4} -\dreieck{18}{12}{4} -\dreieck{18}{13}{3} -\dreieck{18}{15}{1} -\dreieck{18}{16}{3} -\dreieck{18}{17}{3} -\dreieck{18}{18}{1} - -\dreieck{19}{0}{1} -\dreieck{19}{1}{4} -\dreieck{19}{2}{1} -\dreieck{19}{3}{4} -\dreieck{19}{4}{1} -\dreieck{19}{5}{3} -\dreieck{19}{6}{2} -\dreieck{19}{7}{3} -\dreieck{19}{8}{2} -\dreieck{19}{9}{3} -\dreieck{19}{10}{3} -\dreieck{19}{11}{2} -\dreieck{19}{12}{3} -\dreieck{19}{13}{2} -\dreieck{19}{14}{3} -\dreieck{19}{15}{1} -\dreieck{19}{16}{4} -\dreieck{19}{17}{1} -\dreieck{19}{18}{4} -\dreieck{19}{19}{1} - -\dreieck{20}{0}{1} -\dreieck{20}{5}{4} -\dreieck{20}{10}{1} -\dreieck{20}{15}{4} -\dreieck{20}{20}{1} - -\dreieck{21}{0}{1} -\dreieck{21}{1}{1} -\dreieck{21}{5}{4} -\dreieck{21}{6}{4} -\dreieck{21}{10}{1} -\dreieck{21}{11}{1} -\dreieck{21}{15}{4} -\dreieck{21}{16}{4} -\dreieck{21}{20}{1} -\dreieck{21}{21}{1} - -\dreieck{22}{0}{1} -\dreieck{22}{1}{2} -\dreieck{22}{2}{1} -\dreieck{22}{5}{4} -\dreieck{22}{6}{3} -\dreieck{22}{7}{4} -\dreieck{22}{10}{1} -\dreieck{22}{11}{2} -\dreieck{22}{12}{1} -\dreieck{22}{15}{4} -\dreieck{22}{16}{3} -\dreieck{22}{17}{4} -\dreieck{22}{20}{1} -\dreieck{22}{21}{2} -\dreieck{22}{22}{1} - -\dreieck{23}{0}{1} -\dreieck{23}{1}{3} -\dreieck{23}{2}{3} -\dreieck{23}{3}{1} -\dreieck{23}{5}{4} -\dreieck{23}{6}{2} -\dreieck{23}{7}{2} -\dreieck{23}{8}{4} -\dreieck{23}{10}{1} -\dreieck{23}{11}{3} -\dreieck{23}{12}{3} -\dreieck{23}{13}{1} -\dreieck{23}{15}{4} -\dreieck{23}{16}{2} -\dreieck{23}{17}{2} -\dreieck{23}{18}{4} -\dreieck{23}{20}{1} -\dreieck{23}{21}{3} -\dreieck{23}{22}{3} -\dreieck{23}{23}{1} - -\dreieck{24}{0}{1} -\dreieck{24}{1}{4} -\dreieck{24}{2}{1} -\dreieck{24}{3}{4} -\dreieck{24}{4}{1} -\dreieck{24}{5}{4} -\dreieck{24}{6}{1} -\dreieck{24}{7}{4} -\dreieck{24}{8}{1} -\dreieck{24}{9}{4} -\dreieck{24}{10}{1} -\dreieck{24}{11}{4} -\dreieck{24}{12}{1} -\dreieck{24}{13}{4} -\dreieck{24}{14}{1} -\dreieck{24}{15}{4} -\dreieck{24}{16}{1} -\dreieck{24}{17}{4} -\dreieck{24}{18}{1} -\dreieck{24}{19}{4} -\dreieck{24}{20}{1} -\dreieck{24}{21}{4} -\dreieck{24}{22}{1} -\dreieck{24}{23}{4} -\dreieck{24}{24}{1} - -\dreieck{25}{0}{1} -\dreieck{25}{25}{1} - -\dreieck{26}{0}{1} -\dreieck{26}{1}{1} -\dreieck{26}{25}{1} -\dreieck{26}{26}{1} - -\dreieck{27}{0}{1} -\dreieck{27}{1}{2} -\dreieck{27}{2}{1} -\dreieck{27}{25}{1} -\dreieck{27}{26}{2} -\dreieck{27}{27}{1} - -\dreieck{28}{0}{1} -\dreieck{28}{1}{3} -\dreieck{28}{2}{3} -\dreieck{28}{3}{1} -\dreieck{28}{25}{1} -\dreieck{28}{26}{3} -\dreieck{28}{27}{3} -\dreieck{28}{28}{1} - -\dreieck{29}{0}{1} -\dreieck{29}{1}{4} -\dreieck{29}{2}{1} -\dreieck{29}{3}{4} -\dreieck{29}{4}{1} -\dreieck{29}{25}{1} -\dreieck{29}{26}{4} -\dreieck{29}{27}{1} -\dreieck{29}{28}{4} -\dreieck{29}{29}{1} - -\dreieck{30}{0}{1} -\dreieck{30}{5}{1} -\dreieck{30}{25}{1} -\dreieck{30}{30}{1} - -\dreieck{31}{0}{1} -\dreieck{31}{1}{1} -\dreieck{31}{5}{1} -\dreieck{31}{6}{1} -\dreieck{31}{25}{1} -\dreieck{31}{26}{1} -\dreieck{31}{30}{1} -\dreieck{31}{31}{1} - -\dreieck{32}{0}{1} -\dreieck{32}{1}{2} -\dreieck{32}{2}{1} -\dreieck{32}{5}{1} -\dreieck{32}{6}{2} -\dreieck{32}{7}{1} -\dreieck{32}{25}{1} -\dreieck{32}{26}{2} -\dreieck{32}{27}{1} -\dreieck{32}{30}{1} -\dreieck{32}{31}{2} -\dreieck{32}{32}{1} - -\def\etikett#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; -} - -\etikett{0}{-2}{n=0} -\etikett{5}{-2}{n=5} -\etikett{25}{-2}{n=25} - -\def\exponent#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; -} - -\exponent{-2}{0}{k=0} -\exponent{3}{5}{k=5} -\exponent{23}{25}{k=25} - -\end{tikzpicture} -\end{document} - +%
+% binomial2.tex -- Parität der Binomialkoeffizienten
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{farbe0}{rgb}{1,1,1}
+\input{farben.tex}
+
+\def\s{0.37}
+\pgfmathparse{\s*sqrt(3)/2}
+\xdef\ys{\pgfmathresult}
+\pgfmathparse{\s/2}
+\xdef\xs{\pgfmathresult}
+
+%
+% #1 = n
+% #2 = k
+%
+\def\dreieck#1#2#3{
+ \fill[color=farbe#3] ({\xs*(-#1+2*#2)},{-\ys*#1})
+ -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)})
+ -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle;
+ \node[color=white] at ( ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)-0.03}) {$\scriptstyle #3$};
+}
+
+\definecolor{gelb}{rgb}{1,0.8,0.2}
+\def\zeile#1{
+ \fill[color=gelb]
+ ({\xs*(-#1)},{-\ys*#1})
+ -- ({\xs*(-#1-1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1+1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1)},{-\ys*#1}) -- cycle;
+}
+
+\zeile{5}
+\zeile{25}
+
+\dreieck{0}{0}{1}
+
+\dreieck{1}{0}{1}
+\dreieck{1}{1}{1}
+
+\dreieck{2}{0}{1}
+\dreieck{2}{1}{2}
+\dreieck{2}{2}{1}
+
+\dreieck{3}{0}{1}
+\dreieck{3}{1}{3}
+\dreieck{3}{2}{3}
+\dreieck{3}{3}{1}
+
+\dreieck{4}{0}{1}
+\dreieck{4}{1}{4}
+\dreieck{4}{2}{1}
+\dreieck{4}{3}{4}
+\dreieck{4}{4}{1}
+
+\dreieck{5}{0}{1}
+\dreieck{5}{5}{1}
+
+\dreieck{6}{0}{1}
+\dreieck{6}{1}{1}
+\dreieck{6}{5}{1}
+\dreieck{6}{6}{1}
+
+\dreieck{7}{0}{1}
+\dreieck{7}{1}{2}
+\dreieck{7}{2}{1}
+\dreieck{7}{5}{1}
+\dreieck{7}{6}{2}
+\dreieck{7}{7}{1}
+
+\dreieck{8}{0}{1}
+\dreieck{8}{1}{3}
+\dreieck{8}{2}{3}
+\dreieck{8}{3}{1}
+\dreieck{8}{5}{1}
+\dreieck{8}{6}{3}
+\dreieck{8}{7}{3}
+\dreieck{8}{8}{1}
+
+\dreieck{9}{0}{1}
+\dreieck{9}{1}{4}
+\dreieck{9}{2}{1}
+\dreieck{9}{3}{4}
+\dreieck{9}{4}{1}
+\dreieck{9}{5}{1}
+\dreieck{9}{6}{4}
+\dreieck{9}{7}{1}
+\dreieck{9}{8}{4}
+\dreieck{9}{9}{1}
+
+\dreieck{10}{0}{1}
+\dreieck{10}{5}{2}
+\dreieck{10}{10}{1}
+
+\dreieck{11}{0}{1}
+\dreieck{11}{1}{1}
+\dreieck{11}{5}{2}
+\dreieck{11}{6}{2}
+\dreieck{11}{10}{1}
+\dreieck{11}{11}{1}
+
+\dreieck{12}{0}{1}
+\dreieck{12}{1}{2}
+\dreieck{12}{2}{1}
+\dreieck{12}{5}{2}
+\dreieck{12}{6}{4}
+\dreieck{12}{7}{2}
+\dreieck{12}{10}{1}
+\dreieck{12}{11}{2}
+\dreieck{12}{12}{1}
+
+\dreieck{13}{0}{1}
+\dreieck{13}{1}{3}
+\dreieck{13}{2}{3}
+\dreieck{13}{3}{1}
+\dreieck{13}{5}{2}
+\dreieck{13}{6}{1}
+\dreieck{13}{7}{1}
+\dreieck{13}{8}{2}
+\dreieck{13}{10}{1}
+\dreieck{13}{11}{3}
+\dreieck{13}{12}{3}
+\dreieck{13}{13}{1}
+
+\dreieck{14}{0}{1}
+\dreieck{14}{1}{4}
+\dreieck{14}{2}{1}
+\dreieck{14}{3}{4}
+\dreieck{14}{4}{1}
+\dreieck{14}{5}{2}
+\dreieck{14}{6}{3}
+\dreieck{14}{7}{2}
+\dreieck{14}{8}{3}
+\dreieck{14}{9}{2}
+\dreieck{14}{10}{1}
+\dreieck{14}{11}{4}
+\dreieck{14}{12}{1}
+\dreieck{14}{13}{4}
+\dreieck{14}{14}{1}
+
+\dreieck{15}{0}{1}
+\dreieck{15}{5}{3}
+\dreieck{15}{10}{3}
+\dreieck{15}{15}{1}
+
+\dreieck{16}{0}{1}
+\dreieck{16}{1}{1}
+\dreieck{16}{5}{3}
+\dreieck{16}{6}{3}
+\dreieck{16}{10}{3}
+\dreieck{16}{11}{3}
+\dreieck{16}{15}{1}
+\dreieck{16}{16}{3}
+
+\dreieck{17}{0}{1}
+\dreieck{17}{1}{2}
+\dreieck{17}{2}{1}
+\dreieck{17}{5}{3}
+\dreieck{17}{6}{1}
+\dreieck{17}{7}{3}
+\dreieck{17}{10}{3}
+\dreieck{17}{11}{1}
+\dreieck{17}{12}{3}
+\dreieck{17}{15}{1}
+\dreieck{17}{16}{2}
+\dreieck{17}{17}{1}
+
+\dreieck{18}{0}{1}
+\dreieck{18}{1}{3}
+\dreieck{18}{2}{3}
+\dreieck{18}{3}{1}
+\dreieck{18}{5}{3}
+\dreieck{18}{6}{4}
+\dreieck{18}{7}{4}
+\dreieck{18}{8}{3}
+\dreieck{18}{10}{3}
+\dreieck{18}{11}{4}
+\dreieck{18}{12}{4}
+\dreieck{18}{13}{3}
+\dreieck{18}{15}{1}
+\dreieck{18}{16}{3}
+\dreieck{18}{17}{3}
+\dreieck{18}{18}{1}
+
+\dreieck{19}{0}{1}
+\dreieck{19}{1}{4}
+\dreieck{19}{2}{1}
+\dreieck{19}{3}{4}
+\dreieck{19}{4}{1}
+\dreieck{19}{5}{3}
+\dreieck{19}{6}{2}
+\dreieck{19}{7}{3}
+\dreieck{19}{8}{2}
+\dreieck{19}{9}{3}
+\dreieck{19}{10}{3}
+\dreieck{19}{11}{2}
+\dreieck{19}{12}{3}
+\dreieck{19}{13}{2}
+\dreieck{19}{14}{3}
+\dreieck{19}{15}{1}
+\dreieck{19}{16}{4}
+\dreieck{19}{17}{1}
+\dreieck{19}{18}{4}
+\dreieck{19}{19}{1}
+
+\dreieck{20}{0}{1}
+\dreieck{20}{5}{4}
+\dreieck{20}{10}{1}
+\dreieck{20}{15}{4}
+\dreieck{20}{20}{1}
+
+\dreieck{21}{0}{1}
+\dreieck{21}{1}{1}
+\dreieck{21}{5}{4}
+\dreieck{21}{6}{4}
+\dreieck{21}{10}{1}
+\dreieck{21}{11}{1}
+\dreieck{21}{15}{4}
+\dreieck{21}{16}{4}
+\dreieck{21}{20}{1}
+\dreieck{21}{21}{1}
+
+\dreieck{22}{0}{1}
+\dreieck{22}{1}{2}
+\dreieck{22}{2}{1}
+\dreieck{22}{5}{4}
+\dreieck{22}{6}{3}
+\dreieck{22}{7}{4}
+\dreieck{22}{10}{1}
+\dreieck{22}{11}{2}
+\dreieck{22}{12}{1}
+\dreieck{22}{15}{4}
+\dreieck{22}{16}{3}
+\dreieck{22}{17}{4}
+\dreieck{22}{20}{1}
+\dreieck{22}{21}{2}
+\dreieck{22}{22}{1}
+
+\dreieck{23}{0}{1}
+\dreieck{23}{1}{3}
+\dreieck{23}{2}{3}
+\dreieck{23}{3}{1}
+\dreieck{23}{5}{4}
+\dreieck{23}{6}{2}
+\dreieck{23}{7}{2}
+\dreieck{23}{8}{4}
+\dreieck{23}{10}{1}
+\dreieck{23}{11}{3}
+\dreieck{23}{12}{3}
+\dreieck{23}{13}{1}
+\dreieck{23}{15}{4}
+\dreieck{23}{16}{2}
+\dreieck{23}{17}{2}
+\dreieck{23}{18}{4}
+\dreieck{23}{20}{1}
+\dreieck{23}{21}{3}
+\dreieck{23}{22}{3}
+\dreieck{23}{23}{1}
+
+\dreieck{24}{0}{1}
+\dreieck{24}{1}{4}
+\dreieck{24}{2}{1}
+\dreieck{24}{3}{4}
+\dreieck{24}{4}{1}
+\dreieck{24}{5}{4}
+\dreieck{24}{6}{1}
+\dreieck{24}{7}{4}
+\dreieck{24}{8}{1}
+\dreieck{24}{9}{4}
+\dreieck{24}{10}{1}
+\dreieck{24}{11}{4}
+\dreieck{24}{12}{1}
+\dreieck{24}{13}{4}
+\dreieck{24}{14}{1}
+\dreieck{24}{15}{4}
+\dreieck{24}{16}{1}
+\dreieck{24}{17}{4}
+\dreieck{24}{18}{1}
+\dreieck{24}{19}{4}
+\dreieck{24}{20}{1}
+\dreieck{24}{21}{4}
+\dreieck{24}{22}{1}
+\dreieck{24}{23}{4}
+\dreieck{24}{24}{1}
+
+\dreieck{25}{0}{1}
+\dreieck{25}{25}{1}
+
+\dreieck{26}{0}{1}
+\dreieck{26}{1}{1}
+\dreieck{26}{25}{1}
+\dreieck{26}{26}{1}
+
+\dreieck{27}{0}{1}
+\dreieck{27}{1}{2}
+\dreieck{27}{2}{1}
+\dreieck{27}{25}{1}
+\dreieck{27}{26}{2}
+\dreieck{27}{27}{1}
+
+\dreieck{28}{0}{1}
+\dreieck{28}{1}{3}
+\dreieck{28}{2}{3}
+\dreieck{28}{3}{1}
+\dreieck{28}{25}{1}
+\dreieck{28}{26}{3}
+\dreieck{28}{27}{3}
+\dreieck{28}{28}{1}
+
+\dreieck{29}{0}{1}
+\dreieck{29}{1}{4}
+\dreieck{29}{2}{1}
+\dreieck{29}{3}{4}
+\dreieck{29}{4}{1}
+\dreieck{29}{25}{1}
+\dreieck{29}{26}{4}
+\dreieck{29}{27}{1}
+\dreieck{29}{28}{4}
+\dreieck{29}{29}{1}
+
+\dreieck{30}{0}{1}
+\dreieck{30}{5}{1}
+\dreieck{30}{25}{1}
+\dreieck{30}{30}{1}
+
+\dreieck{31}{0}{1}
+\dreieck{31}{1}{1}
+\dreieck{31}{5}{1}
+\dreieck{31}{6}{1}
+\dreieck{31}{25}{1}
+\dreieck{31}{26}{1}
+\dreieck{31}{30}{1}
+\dreieck{31}{31}{1}
+
+\dreieck{32}{0}{1}
+\dreieck{32}{1}{2}
+\dreieck{32}{2}{1}
+\dreieck{32}{5}{1}
+\dreieck{32}{6}{2}
+\dreieck{32}{7}{1}
+\dreieck{32}{25}{1}
+\dreieck{32}{26}{2}
+\dreieck{32}{27}{1}
+\dreieck{32}{30}{1}
+\dreieck{32}{31}{2}
+\dreieck{32}{32}{1}
+
+\dreieck{33}{0}{1}
+\dreieck{33}{1}{3}
+\dreieck{33}{2}{3}
+\dreieck{33}{3}{1}
+\dreieck{33}{5}{1}
+\dreieck{33}{6}{3}
+\dreieck{33}{7}{3}
+\dreieck{33}{8}{1}
+\dreieck{33}{25}{1}
+\dreieck{33}{26}{3}
+\dreieck{33}{27}{3}
+\dreieck{33}{28}{1}
+\dreieck{33}{30}{1}
+\dreieck{33}{31}{3}
+\dreieck{33}{32}{3}
+\dreieck{33}{33}{1}
+
+\dreieck{34}{0}{1}
+\dreieck{34}{1}{4}
+\dreieck{34}{2}{1}
+\dreieck{34}{3}{4}
+\dreieck{34}{4}{1}
+\dreieck{34}{5}{1}
+\dreieck{34}{6}{4}
+\dreieck{34}{7}{1}
+\dreieck{34}{8}{4}
+\dreieck{34}{9}{1}
+\dreieck{34}{25}{1}
+\dreieck{34}{26}{4}
+\dreieck{34}{27}{1}
+\dreieck{34}{28}{4}
+\dreieck{34}{29}{1}
+\dreieck{34}{30}{1}
+\dreieck{34}{31}{4}
+\dreieck{34}{32}{1}
+\dreieck{34}{33}{4}
+\dreieck{34}{34}{1}
+
+\dreieck{35}{0}{1}
+\dreieck{35}{5}{2}
+\dreieck{35}{10}{1}
+\dreieck{35}{25}{1}
+\dreieck{35}{30}{2}
+\dreieck{35}{35}{1}
+
+\dreieck{36}{0}{1}
+\dreieck{36}{1}{1}
+\dreieck{36}{5}{2}
+\dreieck{36}{6}{2}
+\dreieck{36}{10}{1}
+\dreieck{36}{11}{1}
+\dreieck{36}{25}{1}
+\dreieck{36}{26}{1}
+\dreieck{36}{30}{2}
+\dreieck{36}{31}{2}
+\dreieck{36}{35}{1}
+\dreieck{36}{36}{1}
+
+\def\etikett#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$};
+}
+
+\etikett{0}{-2}{n=0}
+\etikett{5}{-2}{n=5}
+\etikett{25}{-2}{n=25}
+
+\def\exponent#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$};
+}
+
+\exponent{-2}{0}{k=0}
+\exponent{3}{5}{k=5}
+\exponent{23}{25}{k=25}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/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/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/chapter.tex b/buch/chapters/40-eigenwerte/chapter.tex index 5f8cb83..34c2444 100644 --- a/buch/chapters/40-eigenwerte/chapter.tex +++ b/buch/chapters/40-eigenwerte/chapter.tex @@ -1,50 +1,50 @@ -% -% chapter.tex -- Kapitel über Eigenwerte und Eigenvektoren -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\chapter{Eigenwerte und Eigenvektoren -\label{buch:chapter:eigenwerte-und-eigenvektoren}} -\lhead{Eigenwerte und Eigenvektoren} -\rhead{} -Die algebraischen Eigenschaften einer Matrix $A$ sind eng mit der -Frage nach linearen Beziehungen unter den Potenzen von $A^k$ verbunden. -Im Allgemeinen ist die Berechnung dieser Potenzen eher unübersichtlich, -es sei denn, die Matrix hat eine spezielle Form. -Die Potenzen einer Diagonalmatrix erhält man, indem man die Diagonalelemente -potenziert. -Auch für Dreiecksmatrizen ist mindestens die Berechnung der Diagonalelemente -von $A^k$ einfach. -Die Theorie der Eigenwerte und Eigenvektoren ermöglicht, Matrizen in -eine solche besonders einfache Form zu bringen. - -In Abschnitt~\ref{buch:section:grundlagen} werden die grundlegenden -Definitionen der Eigenwerttheorie in Erinnerung gerufen. -Damit kann dann in Abschnitt~\ref{buch:section:normalformen} -gezeigt werden, wie Matrizen in besonders einfache Form gebracht -werden können. -Die Eigenwerte bestimmen auch die Eigenschaften von numerischen -Algorithmen, wie in den Abschnitten~\ref{buch:section:spektralradius} -und \ref{buch:section:numerisch} dargestellt wird. -Für viele Funktionen kann man auch den Wert $f(A)$ berechnen, unter -geeigneten Voraussetzungen an den Spektralradius. -Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. - - -\input{chapters/40-eigenwerte/grundlagen.tex} -\input{chapters/40-eigenwerte/normalformen.tex} -\input{chapters/40-eigenwerte/spektralradius.tex} -\input{chapters/40-eigenwerte/spektraltheorie.tex} -\input{chapters/40-eigenwerte/numerisch.tex} - -\section*{Übungsaufgaben} -\rhead{Übungsaufgaben} -\aufgabetoplevel{chapters/40-eigenwerte/uebungsaufgaben} -\begin{uebungsaufgaben} -\uebungsaufgabe{4001} -\uebungsaufgabe{4002} -\uebungsaufgabe{4003} -\uebungsaufgabe{4004} -\uebungsaufgabe{4005} -\end{uebungsaufgaben} - +%
+% chapter.tex -- Kapitel über Eigenwerte und Eigenvektoren
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\chapter{Eigenwerte und Eigenvektoren
+\label{buch:chapter:eigenwerte-und-eigenvektoren}}
+\lhead{Eigenwerte und Eigenvektoren}
+\rhead{}
+Die algebraischen Eigenschaften einer Matrix $A$ sind eng mit der
+Frage nach linearen Beziehungen unter den Potenzen von $A^k$ verbunden.
+Im Allgemeinen ist die Berechnung dieser Potenzen eher unübersichtlich,
+es sei denn, die Matrix hat eine spezielle Form.
+Die Potenzen einer Diagonalmatrix erhält man, indem man die Diagonalelemente
+potenziert.
+Auch für Dreiecksmatrizen ist mindestens die Berechnung der Diagonalelemente
+von $A^k$ einfach.
+Die Theorie der Eigenwerte und Eigenvektoren ermöglicht, Matrizen in
+eine solche besonders einfache Form zu bringen.
+
+In Abschnitt~\ref{buch:section:grundlagen} werden die grundlegenden
+Definitionen der Eigenwerttheorie in Erinnerung gerufen.
+Damit kann dann in Abschnitt~\ref{buch:section:normalformen}
+gezeigt werden, wie Matrizen in besonders einfache Form gebracht
+werden können.
+Die Eigenwerte bestimmen auch die Eigenschaften von numerischen
+Algorithmen, wie in den Abschnitten~\ref{buch:section:spektralradius}
+und \ref{buch:section:numerisch} dargestellt wird.
+Für viele Funktionen kann man auch den Wert $f(A)$ berechnen, unter
+geeigneten Voraussetzungen an den Spektralradius.
+Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben.
+
+
+\input{chapters/40-eigenwerte/grundlagen.tex}
+\input{chapters/40-eigenwerte/normalformen.tex}
+\input{chapters/40-eigenwerte/spektralradius.tex}
+\input{chapters/40-eigenwerte/spektraltheorie.tex}
+%\input{chapters/40-eigenwerte/numerisch.tex}
+
+\section*{Übungsaufgaben}
+\rhead{Übungsaufgaben}
+\aufgabetoplevel{chapters/40-eigenwerte/uebungsaufgaben}
+\begin{uebungsaufgaben}
+\uebungsaufgabe{4001}
+\uebungsaufgabe{4002}
+\uebungsaufgabe{4003}
+\uebungsaufgabe{4004}
+\uebungsaufgabe{4005}
+\end{uebungsaufgaben}
+
diff --git a/buch/chapters/40-eigenwerte/images/Makefile b/buch/chapters/40-eigenwerte/images/Makefile index bec12d5..4d882f0 100644 --- a/buch/chapters/40-eigenwerte/images/Makefile +++ b/buch/chapters/40-eigenwerte/images/Makefile @@ -1,42 +1,44 @@ -# -# Makefile -# -# (c) 2020 Prof Dr Andreas Müller, Hochschule Rappersil -# -all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf \ - wurzelapprox.pdf wurzel.pdf dimjk.pdf jknilp.pdf \ - normalform.pdf - -sp.pdf: sp.tex sppaths.tex - pdflatex sp.tex - -sppaths.tex: spbeispiel.m - octave spbeispiel.m - -nilpotent.pdf: nilpotent.tex - pdflatex nilpotent.tex - -kernbild.pdf: kernbild.tex bild2.jpg kern2.jpg - pdflatex kernbild.tex - -kombiniert.pdf: kombiniert.tex kombiniert.jpg - pdflatex kombiniert.tex - -wurzelapprox.pdf: wurzelapprox.tex wa.tex - pdflatex wurzelapprox.tex - -wa.tex: wa.m - octave wa.m - -wurzel.pdf: wurzel.tex - pdflatex wurzel.tex - -dimjk.pdf: dimjk.tex - pdflatex dimjk.tex - -jknilp.pdf: jknilp.tex - pdflatex jknilp.tex - -normalform.pdf: normalform.tex - pdflatex normalform.tex - +#
+# Makefile
+#
+# (c) 2020 Prof Dr Andreas Müller, Hochschule Rappersil
+#
+all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf \
+ wurzelapprox.pdf wurzel.pdf dimjk.pdf jknilp.pdf \
+ normalform.pdf minmax.pdf
+
+sp.pdf: sp.tex sppaths.tex
+ pdflatex sp.tex
+
+sppaths.tex: spbeispiel.m
+ octave spbeispiel.m
+
+nilpotent.pdf: nilpotent.tex
+ pdflatex nilpotent.tex
+
+kernbild.pdf: kernbild.tex bild2.jpg kern2.jpg
+ pdflatex kernbild.tex
+
+kombiniert.pdf: kombiniert.tex kombiniert.jpg
+ pdflatex kombiniert.tex
+
+wurzelapprox.pdf: wurzelapprox.tex wa.tex
+ pdflatex wurzelapprox.tex
+
+wa.tex: wa.m
+ octave wa.m
+
+wurzel.pdf: wurzel.tex
+ pdflatex wurzel.tex
+
+dimjk.pdf: dimjk.tex
+ pdflatex dimjk.tex
+
+jknilp.pdf: jknilp.tex
+ pdflatex jknilp.tex
+
+normalform.pdf: normalform.tex
+ pdflatex normalform.tex
+
+minmax.pdf: minmax.tex
+ pdflatex minmax.tex
diff --git a/buch/chapters/40-eigenwerte/images/minmax.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..cf81834 --- /dev/null +++ b/buch/chapters/40-eigenwerte/images/minmax.tex @@ -0,0 +1,134 @@ +%
+% minmax.tex -- minimum und maximum
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{darkgreen}{rgb}{0,0.5,0}
+
+\def\mittellinie{
+ plot[domain=0:6.2832,samples=400]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))})
+}
+
+\begin{scope}
+ \fill[color=darkgreen!20]
+ plot[domain=0:6.2832,samples=360]
+ ({\x},{sin(180*\x/3.1415)})
+ --
+ plot[domain=6.2832:0,samples=360]
+ ({\x},{cos(180*\x/3.1415)})
+ -- cycle;
+ \foreach \x in {0.5,1,...,6}{
+ \draw[color=darkgreen]
+ ({\x},{sin(180*\x/3.1415)})
+ --
+ ({\x},{cos(180*\x/3.1415)});
+ }
+
+ \node[color=darkgreen] at (2,-0.8) [left] {$|f(x)-g(x)|$};
+ \draw[color=darkgreen,line width=0.3pt] (2,-0.8) -- (2.5,-0.7);
+
+ \draw[color=blue,line width=1.4pt] plot[domain=0:6.29,samples=360]
+ ({\x},{sin(180*\x/3.1415)});
+ \draw[color=red,line width=1.4pt] plot[domain=0:6.29,samples=360]
+ ({\x},{cos(180*\x/3.1415)});
+ \draw[color=purple!50,line width=1.4pt] \mittellinie;
+ \node[color=purple!50] at (6.2832,0.5) [right] {$\frac12(f(x)+g(x))$};
+
+ \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={below:$x$}];
+ \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}];
+
+
+ \xdef\x{2}
+ \node[color=blue] at (\x,{sin(180*\x/3.1415)}) [above right] {$f(x)$};
+ \pgfmathparse{2.5*3.14159-\x}
+ \xdef\x{\pgfmathresult}
+ \node[color=red] at (\x,{cos(180*\x/3.1415)}) [above left] {$g(x)$};
+
+\end{scope}
+
+\draw[->,line width=4pt,color=gray!40] ({3.1415-1},-1.3) -- ({3.1415-2.3},-3);
+\draw[->,line width=4pt,color=gray!40] ({3.1415+1},-1.3) -- ({3.1415+2.3},-3);
+
+\node at ({3.1415-1.75},-2.15) [left] {$\frac12(f(x)+g(x))+\frac12|f(x)-g(x)|$};
+\node at ({3.1415+1.75},-2.15) [right] {$\frac12(f(x)+g(x))-\frac12|f(x)-g(x)|$};
+
+\def\s{(-0.1)}
+
+\begin{scope}[xshift=-3.4cm,yshift=-4.6cm]
+ \fill[color=darkgreen!20]
+ \mittellinie
+ --
+ plot[domain=6.2832:0,samples=400]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))})
+ -- cycle;
+ \foreach \x in {0.5,1,...,6}{
+ \draw[color=darkgreen]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))})
+ --
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))});
+ }
+ \draw[color=darkgreen,line width=1.4pt]
+ plot[domain=6.2832:0,samples=400]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))});
+
+ \node[color=darkgreen] at (2,-0.3) [left] {$|f(x)-g(x)|$};
+ \draw[color=darkgreen,line width=0.3pt] (2,-0.3) -- (2.5,0.2);
+
+ \draw[color=purple!50,line width=1.4pt] \mittellinie;
+ \pgfmathparse{0.75*3.1415+\s}
+ \xdef\x{\pgfmathresult}
+ \node[color=darkgreen] at (\x,{sin(180*\x/3.1415)}) [above right]
+ {$\max(f(x),g(x))$};
+ \node[color=purple!50] at ({1.25*3.1415},-0.7) [below]
+ {$\frac12(f(x)+g(x))$};
+ \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}];
+ \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}];
+\end{scope}
+
+
+\begin{scope}[xshift=+3.4cm,yshift=-4.6cm]
+ \fill[color=darkgreen!20]
+ \mittellinie
+ --
+ plot[domain=6.2832:0,samples=400]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))})
+ -- cycle;
+ \foreach \x in {0.5,1,...,6}{
+ \draw[color=darkgreen]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))})
+ --
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))});
+ }
+ \draw[color=darkgreen,line width=1.4pt]
+ plot[domain=6.2832:0,samples=400]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))});
+
+ \node[color=darkgreen] at (3,0.3) [right] {$|f(x)-g(x)|$};
+ \draw[color=darkgreen,line width=0.3pt] (3,0.3) -- (2.5,-0.4);
+
+ \draw[color=purple!50,line width=1.4pt] \mittellinie;
+ \pgfmathparse{0.75*3.1415-\s}
+ \xdef\x{\pgfmathresult}
+ \node[color=darkgreen] at (\x,{cos(180*\x/3.1415)}) [below left]
+ {$\min(f(x),g(x))$};
+ \node[color=purple!50] at ({0.25*3.1415},0.7) [above right]
+ {$\frac12(f(x)+g(x))$};
+ \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}];
+ \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}];
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/40-eigenwerte/images/sp.pdf b/buch/chapters/40-eigenwerte/images/sp.pdf 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/wurzelapprox.pdf b/buch/chapters/40-eigenwerte/images/wurzelapprox.pdf Binary files differindex aeb5e5d..01fa714 100644 --- a/buch/chapters/40-eigenwerte/images/wurzelapprox.pdf +++ b/buch/chapters/40-eigenwerte/images/wurzelapprox.pdf diff --git a/buch/chapters/40-eigenwerte/spektraltheorie.tex b/buch/chapters/40-eigenwerte/spektraltheorie.tex index 4bf5c42..367a4c9 100644 --- a/buch/chapters/40-eigenwerte/spektraltheorie.tex +++ b/buch/chapters/40-eigenwerte/spektraltheorie.tex @@ -1,783 +1,802 @@ -% -% spektraltheorie.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Spektraltheorie -\label{buch:section:spektraltheorie}} -Aufgabe der Spektraltheorie ist, Bedingungen an eine Matrix $A$ und eine -Funktion $f(z)$ zu finden, unter denen es möglich ist, $f(A)$ auf -konsistente Art und Weise zu definieren. -Weiter müssen Methoden entwickelt werden, mit denen $f(A)$ berechnet -werden kann. -Für ein Polynom $p(z)$ ist $p(A)$ durch einsetzen definiert. -Für Funktionen, die sich nicht durch ein Polynom darstellen lassen, -muss eine Approximation der Funktion durch Polynome verwendet werden. -Sei also $p_n(z)$ eine Folge von Polynomen, die als Approximation der -Funktion $f(z)$ verwendet werden soll. -Das Ziel ist, $f(A)$ als den Grenzwert der Matrixfolge $p_n(A)$ -zu definieren. - -Zunächst ist nicht klar, wie eine solche Folge gewählt werden muss. -Es muss eine Teilmenge von $K\subset\mathbb{C}$ spezifiziert werden, -auf der die Funktionenfolge $p_n(z)$ konvergieren muss, -damit auch die Konvergenz der Matrizenfolge $p_n(A)$ garantiert ist. -Auch die Art der Konvergenz von $p_n(z)$ auf der Menge $K$ ist noch -unklar. -Da der Abstand zweier Matrizen $A$ und $B$ in der Operatornorm -mit der grössten Abweichung $\|(A-B)v\|$ für Einheitsvektoren $v$ -gemessen wird, ist es einigermassen plausibel, dass -die grösse Abweichung zwischen zwei Polynomen $|p(z) - q(z)|$ auf -der Menge $K$ kleine sein muss, wenn $\|p(A)-q(A)\|$ klein -sein soll. -Da die Differenz $p(z)-q(z)$ für beliebige Polynome, die sich nicht -nur um eine Konstante unterscheiden, mit $z$ über alle Grenzen wächst, -muss $K$ beschränkt sein. -Gesucht ist also eine kompakte Menge $K\subset\mathbb{C}$ und eine -Folge $p_n(z)$ von Polynomen, die auf $K$ gleichmässig gegen $f(z)$ -konvergieren. -Die Wahl von $K$ muss sicherstellen, dass für jede gleichmässig -konvergente Folge von Polynomen $p_n(z)$ auch die Matrizenfolge -$p_n(A)$ konvergiert. - -Es wird sich zeigen, dass die Menge $K$ das Spektrum von $A$ ist, -also eine endliche Teilmenge von $\mathbb{C}$. -Jede Funktion kann auf so einer Menge durch Polynome exakt wiedergegeben -werden. -Es gibt insbesondere Folgen von Polynomen, die eingeschränkt -auf das Spektrum gleich sind, also $p_n(z)=p_m(z)$ für alle $z\in K$, -die aber ausserhalb des Spektrums alle verschieden sind. -Als Beispiel kann die Matrix -\[ -N=\begin{pmatrix}0&1\\0&0\end{pmatrix} -\] -herangezogen werden. -Ihr Spektrum ist $\operatorname{Sp}(N)=\{0\}\subset\mathbb{C}$. -Zwei Polynome stimmen genau dann auf $\operatorname{Sp}(N)$ überein, -wenn der konstante Koeffizient gleich ist. -Die Polynome $p(z)=z$ und $q(z)=z^2$ stimmen daher auf dem Spektrum -überein. -Für die Matrizen gilt aber $p(N)=N$ und $q(N)=N^2=0$, die Matrizen -stimmen also nicht überein. -Es braucht also zusätzliche Bedingungen an die Matrix $A$, die -sicherstellen, dass $p(A)=0$ ist, wann immer $p(z)=0$ für -$z\in\operatorname{Sp}(A)$ gilt. - -In diesem Abschnitt sollen diese Fragen untersucht werden. -In Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -wird gezeigt, wie sich Funktionen durch Polynome approximieren -lassen, woraus sich dann Approximationen von $f(A)$ für diagonalisierbare -Matrizen mit reellen Eigenwerten ergeben. - -Der Satz von Stone-Weierstrass, der in -Abschnitt~\ref{buch:subsetion:stone-weierstrass} dargestellt wird, -ist ein sehr allgemeines Approximationsresultat, welches nicht nur -zeigt, dass die Approximation unter sehr natürlichen Voraussetzungen -beliebig genau möglich ist, sondern uns im komplexen Fall auch -weitere Einsicht dafür geben kann, welche Voraussetzungen an eine -komplexe Matrix gestellt werden müssen, damit man damit rechnen kann, -dass die Approximation zu einer konsistenten Definition von $f(A)$ führt. - -% -% Approximation -% -\subsection{Approximation durch Polynome -\label{buch:subsection:approximation-durch-polynome}} -Die der Berechnung von $f(A)$ für eine beleibige stetige Funktion, -die sich nicht als Potenzreihe schreiben lässt, verwendet Approximationen -von Polynomen. -Die numerische Mathematik hat eine grosse Menge von solchen -Approximationsverfahren entwickelt, wovon zwei kurz (ohne Beweise) -vorgestellt werden sollen. - -\subsubsection{Das Legendre-Interpolationspolynom} -Zu vorgegebenen, verschiedenen Zahlen $z_i\in\mathbb{C}$, $0\le i\le n$, -die auch die {\em Stützstellen} genannt werden, -gibt es immer ein Polynom vom Grade $n$, welches in den $z_i$ vorgegebene -Werte $f(z_i)$ annimmt. -Ein solches Polynom lässt sich im Prinzip mit Hilfe eines linearen -Gleichungssystems finden, man kann aber auch direkt eine Lösung -konstruieren. -Dazu bildet man erst die Polynome -\begin{align*} -l(z) &= (z-z_0)(z-z_1)\dots (z-z_n) \qquad\text{und} -\\ -l_i(z) &= (z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n). -\end{align*} -Darin bedeutet der Hut, dass dieser Term weggelassen werden soll. -Für $z\ne z_i$ ist $l_i(z)=l(z)/(z-z_i)$. -Die Polynome -\[ -k_i(z) -= -\frac{l_i(z)}{l_i(z_i)} -= -\frac{(z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n)}{(z_i-z_0)\dots \widehat{(z_i-z_i)}\dots (z_i-z_n)} -\] -haben die Eigenschaft -$k_i(z_j)=\delta_{ij}$. -Damit lässt sich jetzt ein Polynom -\[ -p(z) = \sum_{j=0}^n f(z_j) \frac{l_j(z)}{l_j(z_j)} -\] -vom Grad $n$ konstruieren, welches die Werte -\[ -p(z_i) -= -\sum_{j=0}^n f(z_j) \frac{l_j(z_i)}{l_j(z_j)} -= -\sum_{j=0}^n f(z_j) \delta_{ij} -= -f_(z_i) -\] -annimmt. -Das Polynom $p(z)$ heisst das {\em Legendre-Interpolationspolynom}. - -Zwar lässt sich also für eine endliche Menge von komplexen Zahlen immer -ein Polynom finden, welches vorgeschriebene Wert in allen diesen Zahlen -annimmt, doch ist die Stabilität für grosse $n$ eher beschränkt. - - -\subsubsection{Gleichmassige Approximation mit Bernstein-Polynomen} -Das Legendre-Interpolationspolynom nimmt in den Stützstellen die -verlangten Werte an, aber ausserhalb der Stützstellen ist nicht -garantiert, dass man eine gute Approximation einer Funktion $f(z)$ -erhält. - -Für die Approximation auf einem reellen Interval $[a,b]$ hat -Sergei Natanowitsch Bernstein ein -Dazu werden zuerst die reellen Bernsteinpolynome vom Grad $n$ -durch -\begin{align*} -B_{i,n}(t) = \binom{n}{i} t^i(1-t)^{n-i}. -\end{align*} -definiert. -Als Approximationspolynom für die auf dem Interval -$[0,1]$ definierte, stetige Funktion $f(t)$ kann man dann -\[ -B_n(f)(t) -= -\sum_{i=0}^n B_{i,n}(t) f\biggl(\frac{i}{n}\biggr) -\] -verwenden. -Die Polynome $B_n(f)(t)$ konvergieren gleichmässig auf $[0,1]$ -gegen die Funktion $f(t)$. -Über die Konvergenz ausserhalb des reellen Intervalls wird nichts -ausgesagt. -Die Approximation mit Bernstein-Polynomen ist daher nur sinnvoll, -wenn man weiss, dass die Eigenwerte der Matrix reell sind, was im -wesentlichen auf diagonalisierbare Matrizen führt. - -Für ein anderes Interval $[a,b]$ kann man ein Approximationspolynom -erhalten, indem man die affine Transformation -$s\mapsto (s-a)/(b-a)$ -von $[a,b]$ auf $[0,1]$ -verwendet. - -% -% Der Satz von Stone-Weierstrass -% -\subsection{Der Satz von Stone-Weierstrasss -\label{buch:subsetion:stone-weierstrass}} -Der Satz von Stone-Weierstrass behandelt im Gegensatz zu den in -Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -besprochenen Approximationsmethoden nicht nur Funktionen von -reellen Variablen durch Polynome. -Vielmehr kann das Definitionsgebiet irgend eine abgeschlossene -und beschränkte Teilmenge eines reellen oder komplexen Vektorraumes -sein und die Funktionen können Polynome aber auch viel allgemeinere -Funktionen verwendet werden, wie zum Beispiel die Funktionen -$x\mapsto \cos nx$ und $x\mapsto \sin nx$ definiert auf dem -Intervall $[0,2\pi]$. -In diesem Fall liefert der Satz von Stone-Weierstrass die Aussage, -dass sich jede stetige periodische Funktion gleichmässig durch -trigonometrische Polynome approximieren lässt. - -Die Aussage des Satz von Stone-Weierstrass über reelle Funktionen -lässt sich nicht auf komplexe Funktionen erweitern. -Von besonderem Interesse ist jedoch, dass der Beweis des Satz -zeigt, warum solche Aussagen für komplexe Funktionen nicht mehr -zutreffen. -Im Falle der Approximation von komplexen Funktionen $f(z)$ durch Polynome -zwecks Definition von $f(A)$ werden sich daraus Bedingungen an die -Matrix ableiten lassen, die eine konsistente Definition überhaupt -erst ermöglichen werden. - -\subsubsection{Punkte trennen} -Aus den konstanten Funktionen lassen sich durch algebraische -Operationen nur weitere konstante Funktionen erzeugen. -Die konstanten Funktionen sind also nur dann eine genügend -reichhaltige Menge, wenn die Menge $K$ nur einen einzigen Punkt -enthält. -Damit sich Funktionen approximieren lassen, die in zwei Punkten -verschiedene Werte haben, muss es auch unter den zur Approximation -zur Verfügung stehenden Funktionen solche haben, deren Werte sich -in diesen Punkten unterscheiden. -Diese Bedingung wird in der folgenden Definition formalisiert. - -\begin{definition} -Sei $K$ eine beliebige Menge und $A$ eine Menge von Funktionen -$K\to \mathbb{C}$. -Man sagt, $A$ {\em trennt die Punkte von $K$}, wenn es für jedes Paar -\index{Punkte trennen}% -von Punkten $x,y\in K$ eine Funktion $f\in A$ gibt derart, dass -$f(x)\ne f(y)$. -\end{definition} - -Man kann sich die Funktionen $f$, die gemäss dieser Definition die Punkte -von $K$ trennen, als eine Art Koordinaten der Punkte in $K$ vorstellen. -Die Punkte der Teilmenge $K\subset \mathbb{R}^n$ werden zum Beispiel -von den Koordinatenfunktionen $x\mapsto x_i$ getrennt. -Wir schreiben für die $i$-Koordinate daher auch als Funktion $x_i(x)=x_i$. -Zwei verschiedene Punkte $x,y\in K$ unterscheiden sich in mindestens -einer Koordinate. -Für diese Koordinate sind dann die Werte der zugehörigen -Koordinatenfunktion $x_i=x_i(x)\ne x_i(y)=y_i$ verschieden, die -Funktionen $x_1(x)$ bis $x_n(x)$ trennen also die Punkte. - -\begin{beispiel} -Wir betrachten einen Kreis in der Ebene, also die Menge -\[ -S^1 -= -\{(x_1,x_2)\;|\; x_1^2 + x_2^2=1\} -\] -$S^1$ ist eine abgeschlossene und beschränkte Menge in $\mathbb{R}^2$. -Die Funktion $x\mapsto x_1$ trennt die Punkte nicht, denn zu jedem -Punkt $(x_1,x_2)\in S^2$ gibt es den an der ersten Achse -gespiegelten Punkt $\sigma(x)=(x_1,-x_2)$, dessen erste Koordinate -den gleichen Wert hat. -Ebenso trennt die Koordinatenfunktion $x\mapsto x_2$ die Punkte nicht. -Die Menge $A=\{ x_1(x), x_2(x)\}$ bestehend aus den beiden -Koordinatenfunktionen trennt dagegen die Punkte von $S^1$, da die Punkte -sich immer in mindestens einem Punkt unterscheiden. - -Man könnte auch versuchen, den Kreis in Polarkoordinaten zu beschreiben. -Die Funktion $\varphi(x)$, die jedem Punkt $x\in S^1$ den Polarwinkel -zuordnet, trennt sicher die Punkte des Kreises. -Zwei verschiedene Punkte auf dem Kreis haben verschieden Polarwinkel. -Die Menge $\{\varphi\}$ trennt also die Punkte von $S^1$. -Allerdings ist die Funktion nicht stetig, was zwar der Definition -nicht widerspricht aber ein Hindernis für spätere Anwendungen ist. -\end{beispiel} - - -\subsubsection{Der Satz von Stone-Weierstrass für reelle Funktionen} -Die Beispiele von Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -haben bezeigt, dass sich reellwertige Funktionen einer reellen -Variable durch Polynome beliebig genau approximieren lassen. -Es wurde sogar eine Methode vorgestellt, die eine auf einem Intervall -gleichmässig konvergente Polynomefolge produziert. -Die Variable $x\in[a,b]$ trennt natürlich die Punkte, die Algebra der -Polynome in der Variablen $x$ enthält also sicher Funktionen, die in -verschiedenen Punkten des Intervalls auch verschiedene Werte annehmen. -Nicht ganz so selbstverständlich ist aber, dass sich daraus bereits -ergibt, dass jede beliebige Funktion sich als Polynome in $x$ -approximieren lässt. -Dies ist der Inhalt des folgenden Satzes von Stone-Weierstrass. - -\begin{figure} -\centering -\includegraphics{chapters/40-eigenwerte/images/wurzel.pdf} -\caption{Konstruktion einer monoton wachsenden Approximationsfolge für -$\sqrt{a}$ -\label{buch:eigenwerte:fig:wurzelverfahren}} -\end{figure} - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/wurzelapprox.pdf} -\caption{Monoton wachsende Approximation der Funktion $t\mapsto\sqrt{t}$ mit -Polynomen $u_n(t)$ nach -\eqref{buch:eigenwerte:eqn:wurzelapproximation} -(links) und der Fehler der Approximation -(rechts). -\label{buch:eigenwerte:fig:wurzelapproximation}} -\end{figure} - -\begin{satz}[Stone-Weierstrass] -\label{buch:satz:stone-weierstrass} -Enthält eine $\mathbb{R}$-Algebra $A$ von stetigen, rellen Funktionen -auf einer kompakten Menge $K$ die konstanten Funktionen und trennt sie -Punkte, d.~h.~für zwei verschiedene Punkte $x,y\in K$ gibt es -immer eine Funktion $f\in A$ mit $f(x)\ne f(y)$, dann ist jede stetige, -reelle Funktion auf $K$ gleichmässig approximierbar durch Funktionen -in $A$. -\end{satz} - -Für den Beweis des Satzes wird ein Hilfsresultat benötigt, welches wir -zunächst ableiten. -Es besagt, dass sich die Wurzelfunktion $t\mapsto\sqrt{t}$ -auf dem Interval $[0,1]$ gleichmässig -von unten durch Polynome approximieren lässt, die in -Abbildung~\ref{buch:eigenwerte:fig:wurzelapproximation} dargestellt -sind. - -\begin{satz} -Die rekursiv definierte Folge von Polynomen -\begin{equation} -u_{n+1}(t) -= -u_n(t) + \frac12(t-u_n(t)^2), -\qquad -u_0(t)=0 -\label{buch:eigenwerte:eqn:wurzelapproximation} -\end{equation} -ist monoton wachsend und approximiert die Wurzelfunktion $t\mapsto\sqrt{t}$ -gleichmässig auf dem Intervall $[0,1]$. -\end{satz} - -\begin{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{align*} -\max(f,g) &= \frac12(f+g+|f-g|) \\ -\min(f,g) &= \frac12(f+g-|f-g|) -\end{align*} -gefunden werden. -\item Schritt: Zu zwei beliebigen Punkten $x,y\in K$ und Werten -$\alpha,\beta\in\mathbb{R}$ gibt es immer eine Funktion in $A$, -die in den Punkten $x,y$ die vorgegebenen Werte $\alpha$ bzw.~$\beta$ -annimmt. -Da $A$ die Punkte trennt, gibt es eine Funktion $f_0$ mit $f_0(x)\ne f_0(y)$. -Dann ist die Funktion -\[ -f(t) -= -\beta + \frac{f_0(t)-f_0(y)}{f_0(x)-f_0(y)}(\alpha-\beta) -\] -wohldefiniert und nimmt die verlangten Werte an. -\item Schritt: Zu jeder stetigen Funktion $f\colon K\to\mathbb{R}$, jedem -Punkt $x\in K$ und jedem $\varepsilon>0$ gibt es eine Funktion $g\in A$ derart, -dass $g(x)=f(x)$ und $g(y) \le f(y)+\varepsilon$ für alle $y\in K$. - -Zu jedem $z\in K$ gibt es eine Funktion in $A$ mit -$h_z(x)=f(x)$ und $h_z(z) \le f(z)+\frac12\varepsilon$. -Wegen der Stetigkeit von $h_z$ gibt es eine Umgebung $V_z$ von $z$, in der -immer noch gilt $h_z(y)\le f(y)+\varepsilon$ für $y\in V_z$. -Wegen der Kompaktheit von $K$ kann man endlich viele Punkte $z_i$ wählen -derart, dass die $V_{z_i}$ immer noch $K$ überdecken. -Dann erfüllt die Funktion -\( -g(z) = \inf h_{z_i} -\) -die Bedingungen $g(x) = f(x)$ und für $z\in V_{z_i}$ -\[ -g(z) = \inf_{j} h_{z_j}(z) \le h_{z_i}(z) \le f(z)+\varepsilon. -\] -Ausserdem ist $g(z)$ nach dem zweiten Schritt beliebig genau durch -Funktionen in $A$ approximierbar. -\item Schritt: Jede stetige Funktion $f\colon K\to\mathbb{R}$ kann -beliebig genau durch Funktionen in $A$ approximiert werden. -Sei $\varepsilon > 0$. - -Nach dem vierten Schritt gibt es für jedes $y\in K$ eine Funktion $g_y$ -derart, dass $g_y(y)=f(y)$ und $g_y(x) \le f(x) + \varepsilon$ für -$x\in K$. -Da $g_y$ stetig ist, gilt ausserdem $g_y(x) \ge f(x) -\varepsilon$ in -einer Umgebung $U_y$ von $y$. -Da $K$ kompakt ist, kann man endlich viele $y_i$ derart, dass die $U_{y_i}$ -immer noch ganz $K$ überdecken. -Die Funktion $g=\sup g_{y_i}$ erfüllt dann überall $g(x) \le f(x)+\varepsilon$, -weil jede der Funktionen $g_y$ diese Ungleichung erfüllt. -Ausserdem gilt für $x\in V_{x_j}$ -\[ -g(x) = \sup_i g_{x_i}(x) \ge g_{x_j}(x) \ge f(x)-\varepsilon. -\] -Somit ist -\[ -|f(x)-g(x)| \le \varepsilon. -\] -Damit ist $f(x)$ beliebig nahe an der Funktion $g(x)$, die sich -beliebig genau durch Funktionen aus $A$ approximieren lässt. -\qedhere -\end{enumerate} -\end{proof} - -Im ersten Schritt des Beweises ist ganz entscheidend, dass man die -Betragsfunktion konstruieren kann. -Daraus leiten sich dann alle folgenden Konstruktionen ab. - -\subsubsection{Anwendung auf symmetrische und hermitesche Matrizen} -Für symmetrische und hermitesche Matrizen $A$ ist bekannt, dass die -Eigenwerte reell sind, also das Spektrum $\operatorname{A}\subset\mathbb{R}$ -ist. -Für eine Funktion $\mathbb{R}\to \mathbb{R}$ lässt sich nach dem -Satz~\ref{buch:satz:stone-weierstrass} immer eine Folge $p_n$ von -approximierenden Polynomen in $x$ finden, die auf $\operatorname{Sp}(A)$ -gleichmässig konvergiert. -Die Matrix $f(A)$ kann dann definiert werden also der Grenzwert -\[ -f(A) = \lim_{n\to\infty} p_n(A). -\] -Da diese Matrizen auch diagonalisierbar sind, kann man eine Basis -aus Eigenvektoren verwenden. -Die Wirkung von $p_n(A)$ auf einem Eigenvektor $v$ zum Eigenwert $\lambda$ -ist -\[ -p_n(A)v -= -(a_kA^k + a_{k-1}A^{k-1}+\dots +a_2A^2+a_1A+a_0I)v -= -(a_k\lambda^k + a_{k-1}\lambda^{k-1}+\dots + a_2\lambda^2 + a_1\lambda + a_0)v -= -p_n(\lambda)v. -\] -Im Grenzwert wirkt $f(A)$ daher durch Multiplikation eines Eigenvektors -mit $f(\lambda)$, die Matrix $f(A)$ hat in der genannten Basis die -Diagonalform -\[ -A=\begin{pmatrix} -\lambda_1& & & \\ - &\lambda_2& & \\ - & &\ddots& \\ - & & &\lambda_n -\end{pmatrix} -\qquad\Rightarrow\qquad -f(A)=\begin{pmatrix} -f(\lambda_1)& & & \\ - &f(\lambda_2)& & \\ - & &\ddots& \\ - & & &f(\lambda_n) -\end{pmatrix}. -\] - -\begin{satz} -\label{buch:eigenwerte:satz:spektralsatz} -Ist $A$ symmetrische oder selbstadjungiert Matrix und $f$ eine Funktion -auf dem Spektrum $\operatorname{Sp}(A)$ von $A$. -Dann gibt es genau eine Matrix $f(A)$, die Grenzwert jeder beliebigen -Folge $p_n(A)$ für Polynomfolgen, die $\operatorname{Sp}(A)$ gleichmässig -gegen $f$ konvergieren. -\end{satz} - -\subsubsection{Unmöglichkeit der Approximation von $z\mapsto \overline{z}$ -in $\mathbb{C}[z]$} -Der Satz~\ref{buch:satz:stone-weierstrass} von Stone-Weierstrass für -reelle Funktionen gilt nicht für komplexe Funktionen. -In diesem Abschnitt zeigen wir, dass sich die Funktion $z\mapsto\overline{z}$ -auf der Einheitskreisscheibe $K=\{z\in\mathbb{C}\;|\; |z|\le 1\}$ nicht -gleichmässig durch Polynome $p(z)$ mit komplexen Koeffizienten approximieren -lässt. - -Wäre eine solche Approximation möglich, dann könnte man $\overline{z}$ -auch durch eine Potenzreihe -\[ -\overline{z} -= -\sum_{k=0}^\infty a_kz^k -\] -darstellen. -Das Wegintegral beider Seiten über den Pfad $\gamma(t) = e^{it}$ -in der komplexen Ebene ist -\begin{align*} -\oint_\gamma z^k\,dz -&= -\int_0^{2\pi} e^{ikt} ie^{it}\,dt -= -i\int_0^{2\pi} e^{it(k+1)}\,dt -= -i\biggl[ \frac{1}{i(k+1)} e^{it(k+1)}\biggr]_0^{2\pi} -= -0 -\\ -\oint_\gamma -\sum_{k=0}^\infty a_kz^k -\,dz -&= -\sum_{k=0}^\infty a_k \oint_\gamma z^k\,dz -= -\sum_{k=0}^\infty a_k\cdot 0 -= -0 -\\ -\oint_\gamma \overline{z}\,dz -&= -\int_0^{2\pi} e^{it} ie^{it}\,dt -= -i\int_0^{2\pi} \,dt = 2\pi i, -\end{align*} -dabei wurde $\overline{\gamma}(t)=e^{-it}$ verwendet. -Insbesondere widersprechen sich die beiden Integrale. -Die ursprüngliche Annahmen, $\overline{z}$ lasse sich durch Polynome -gleichmässig approximieren, muss daher verworfen werden. - -\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen} -Der Satz von Stone-Weierstrass kann nach dem vorangegangene Abschnitt -also nicht gelten. -Um den Beweis des Satzes~\ref{buch:satz:stone-weierstrass} -auf komplexe Zahlen zu übertragen, muss im ersten Schritt ein Weg -gefunden werden, den Betrag einer Funktion zu approximieren. - -Im reellen Fall geschah dies, indem zunächst eine Polynom-Approximation -für die Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer -Funktion angewendet wurde. -Der Betrag einer komplexen Zahl $z$ ist aber nicht allein aus $z$ -berechenbar, man braucht in irgend einer Form Zugang zu Real- -und Imaginärteil. -Zum Beispiel kann man Real- und Imaginärteil als -$\Re z= \frac12(z+\overline{z})$ und $\Im z = \frac12(z-\overline{z})$ -bestimmen. -Kenntnis von Real- und Imaginärteil ist als gleichbedeutend mit -der Kenntnis der komplex Konjugierten $\overline{z}$. -Der Betrag lässt sich daraus als $|z|^2 = z\overline{z}$ finden. -Beide Beispiele zeigen, dass man den im Beweis benötigten Betrag -nur dann bestimmen kann, wenn mit jeder Funktion aus $A$ auch die -komplex konjugierte Funktion zur Verfügung steht. - -\begin{satz}[Stone-Weierstrass] -Enthält eine $\mathbb{C}$-Algebra $A$ von stetigen, komplexwertigen -Funktionen auf einer kompakten Menge $K$ die konstanten Funktionen, -trennt sie Punkte und ist ausserdem mit jeder Funktion $f\in A$ auch -die komplex konjugiert Funktion $\overline{f}\in A$, -dann lässt sich jede stetige, komplexwertige Funktion -auf $K$ gleichmässig durch Funktionen aus $A$ approximieren. -\end{satz} - -Mit Hilfe der konjugiert komplexen Funktion lässt sich immer eine -Approximation für die Betragsfunktion finden, so dass sich der -Beweis des reellen Satzes von Stone-Weierstrass übertragen lässt. - -% -% Normale Matrizen -% -\subsection{Normale Matrizen -\label{buch:subsection:normale-matrizen}} -Aus dem Satz von Stone-Weierstrass für komplexe Matrizen kann man -jetzt einen Spektralsätze für eine etwas grössere Klasse von Matrizen -ableiten, als im Satz~\ref{buch:eigenwerte:satz:spektralsatz} -möglich war. -Der Satz besagt, dass für eine beliebige Funktion $f$ auf dem Spektrum -$\operatorname{Sp}(A)$ eine Folge von auf $\operatorname{Sp}(A)$ -gleichmässig konvergenten, approximierenden Polynomen -$p_n(z,\overline{z})$ gefunden werden kann. -Doch wie soll jetzt aus dieser Polynomfolge ein Kandidat von $f(A)$ -gefunden werden? - -Zunächst stellt sich die Frage, was für die Variable $\overline{z}$ -eingesetzt werden soll. -$1\times 1$-Matrizen sind notwendigerweise diagonal, also muss -man in diesem Fall die Matrix $\overline{A}$ für die Variable -$\overline{z}$ eingesetzt werden. -Dies erklärt aber noch nicht, wie für $n\times n$-Matrizen -vorzugehen ist, wenn $n>1$ ist. - -Die Notwendigkeit, die Variable $\overline{z}$ hinzuzunehmen -ergab sich aus der Anforderung, dass der Betrag aus $|z|^2=z\overline{z}$ -konstruiert werden können muss. -Insbesondere muss beim Einsetzen eine Matrix entstehen, die nur -positive Eigenwerte hat. -Für eine beliebige komplexe $n\times n$-Matrix $A$ ist aber -$A\overline{A}$ nicht notwendigerweise positiv, wie das Beispiel -\[ -A -= -\begin{pmatrix}0&i\\i&0\end{pmatrix} -\qquad -\Rightarrow -\qquad -A\overline{A} -= -\begin{pmatrix}0&i\\-i&0\end{pmatrix} -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -= -\begin{pmatrix} --1&0\\ - 0&-1 -\end{pmatrix} -= --I -\] -zeigt. -Eine positive Matrix entsteht dagegen immer, wenn man statt -$A$ die Adjungierte $A^*=\overline{A}^t$ verwendet. - -Die Substitution von $A$ für $z$ und $A^*$ für $\overline{z}$ -in einem Polynom $p(z,\overline{z})$ ist nicht unbedingt eindeutig. -Schon das Polynom $p(z,\overline{z})=z\overline{z}$ kann man auch -als $\overline{z}z$ schreiben. -Damit die Substition eindeutig wird, muss man also fordern, dass -$AA^* = A^*A$ ist. - -\begin{definition} -Eine Matrix $A\in M_n(\mathbb{C})$ heisst {\em normal}, wenn $AA^*=A^*A$ gilt. -\end{definition} - -\subsubsection{Beispiele normaler Matrizen} - -\begin{enumerate} -\item -Hermitesche und Antihermitesche Matrizen sind normal, denn solche -Matrizen erfüllen $A^*=\pm A$ und damit -\( -AA^* = \pm A^2 = A^*A. -\) -\item -Symmetrische und antisymmetrische Matrizen sind normal, -denn aus $A=A^t$ folgt $A^*=\overline{A}^t$ und damit -\begin{align*} -AA^* &= A\overline{A}^t = -\\ -A^*A &= -\end{align*} -\item -Unitäre Matrizen $U$ sind normal, das $UU^*=I=U^*U$ gilt. -\item -Orthogonale Matrizen sind normal wegen $O(n) = U(n) \cap M_n(\mathbb{R})$. -\end{enumerate} - -Jede Matrix lässt sich durch Wahl einer geeigneten Basis in Jordansche -Normalform bringen. -Allerdings sind Jordan-Blöcke keine normalen Matrizen, wie der folgende -Satz zeigt. - -\begin{satz} -Eine Dreiecksmatrix ist genau dann normal, wenn sie diagonal ist. -\end{satz} - -\begin{proof}[Beweis] -Sei $A$ eine obere Dreiecksmatrix, das Argument für eine untere Dreiecksmatrix -funktioniert gleich. -Wir berechnen ein Diagonalelement für beide Produkte $AA^*$ und $A^*A$. -Dazu brauchen wir die Matrixelemente von $A$ und $A^*$. -Bezeichnen wir die Matrixelemente von $A$ mit $a_{ij}$, dann hat $A^*$ -die Matrixelemente $(A^*)_{ij}=\overline{a}_{ji}$. -Damit kann man die Diagonalelemente der Produkte als -\begin{align*} -(AA^*)_{ii} -&= -\sum_{j=1}^n a_{ij}\overline{a}_{ij} -= -\sum_{j=i}^n |a_{ij}|^2 -\\ -(A^*A)_{ii} -&= -\sum_{j=1}^n \overline{a}_{ji}a_{ji} -= -\sum_{j=1}^i |a_{ji}|^2 -\end{align*} -ausrechnen. -Der obere Ausdruck ist die quadrierte Länge der Zeile $i$ der Matrix $A$, -der untere ist die quadrierte Länge der Spalte $i$. -Da die Matrix eine obere Dreiecksmatrix ist, hat die erste Spalte höchstens -ein einziges von $0$ verschiedenes Element. -Daher kann auch die erste Zeile höchstens dieses eine Elemente haben. -Die Matrix hat daher Blockstruktur mit einem $1\times 1$-Block in der -linken obere Ecke und einem $n-1$-dimensionalen Block für den Rest. -Durch Wiederholen des Arguments für den $(n-1)\times (n-1)$-Block -kann man so schrittweise schliessen, dass die Matrix $A$ diagonal sein muss. -\end{proof} - - -\begin{satz} -Sind $A$ und $B$ normale Matrizen und $AB^*=B^*A$, dann sind auch $A+B$ -und $AB$ normal. -\end{satz} - -\begin{proof}[Beweis] -Zunächst folgt aus $AB^*=B^*A$ auch -$A^*B = (B^*A)^* = (AB^*)^* = BA^*$. -Der Beweis erfolgt durch Nachrechnen: -\begin{align*} -(A+B)(A+B)^* -&= -AA^* + AB^* + BA^*+BB^* -\\ -(A+B)^*(A+B) -&= -A^*A + A^*B + B^*A + B^*B -\end{align*} -Die ersten und letzten Terme auf der rechten Seite stimmen überein, weil -$A$ und $B$ normal sind. -Die gemischten Terme stimmen überein wegen der Vertauschbarkeit von -$A$ und $B^*$. - -Für das Produkt rechnet man -\begin{align*} -(AB)(AB)^* -&= ABB^*A^* = AB^*BA^* -= B^*AA^*B -= -B^*A^*AB -= -(AB)^*(AB), -\end{align*} -was zeigt, dass auch $AB$ normal ist. -\end{proof} - -\subsubsection{Äquivalente Bedingungen} -Es gibt eine grosse Zahl äquivalenter Eigenschaften für normale Matrizen. -Die folgenden Eigenschaften sind äquivalent: -\begin{enumerate} -\item -Die Matrix $A$ ist mit einer unitären Matrix diagonalisierbar -\item -Es gibt eine orthonormale Basis von Eigenvektoren von $A$ für $\mathbb{C}^n$ -\item -Für jeden Vektor $x\in\mathbb{C}^n$ gilt $\|Ax\|=\|A^*x\|$ -\item -Die Forbenius-Norm der Matrix $A$ kann mit den Eigenwerten $\lambda_i$ -von $A$ berechnet werden: -$\operatorname{Spur}(A^*A) = \sum_{i=1}^n |\lambda_i|^2$ -\item -Der hermitesche Teil $\frac12(A+A^*)$ und der antihermitesche Teil -$\frac12(A-A^*)$ von $A$ vertauschen. -\item -$A^*$ ist ein Polynom vom Grad $n-1$ in $A$. -\item -Es gibt eine unitäre Matrix $U$ derart, dass $A^*=AU$ -\item -Es gibt eine Polarzerlegugn $A=UP$ mit einer unitären Matrix $U$ und -einer postiv semidefiniten Matrix $P$, die untereinander vertauschen. -\item -Es gibt eine Matrix $N$ mit verschiedenen Eigenwerten, mit denen $A$ -vertauscht. -\item -Wenn $A$ die (absteigend geordneten) singulärwerte $\sigma_i$ und -die absteigend geordneten Eigenwerte $\lambda_i$ hat, -dann it $\sigma_i=|\lambda_i|$. -\end{enumerate} - - - - +%
+% spektraltheorie.tex
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Spektraltheorie
+\label{buch:section:spektraltheorie}}
+Aufgabe der Spektraltheorie ist, Bedingungen an eine Matrix $A$ und eine
+Funktion $f(z)$ zu finden, unter denen es möglich ist, $f(A)$ auf
+konsistente Art und Weise zu definieren.
+Weiter müssen Methoden entwickelt werden, mit denen $f(A)$ berechnet
+werden kann.
+Für ein Polynom $p(z)$ ist $p(A)$ durch einsetzen definiert.
+Für Funktionen, die sich nicht durch ein Polynom darstellen lassen,
+muss eine Approximation der Funktion durch Polynome verwendet werden.
+Sei also $p_n(z)$ eine Folge von Polynomen, die als Approximation der
+Funktion $f(z)$ verwendet werden soll.
+Das Ziel ist, $f(A)$ als den Grenzwert der Matrixfolge $p_n(A)$
+zu definieren.
+
+Zunächst ist nicht klar, wie eine solche Folge gewählt werden muss.
+Es muss eine Teilmenge von $K\subset\mathbb{C}$ spezifiziert werden,
+auf der die Funktionenfolge $p_n(z)$ konvergieren muss,
+damit auch die Konvergenz der Matrizenfolge $p_n(A)$ garantiert ist.
+Auch die Art der Konvergenz von $p_n(z)$ auf der Menge $K$ ist noch
+unklar.
+Da der Abstand zweier Matrizen $A$ und $B$ in der Operatornorm
+mit der grössten Abweichung $\|(A-B)v\|$ für Einheitsvektoren $v$
+gemessen wird, ist es einigermassen plausibel, dass
+die grösse Abweichung zwischen zwei Polynomen $|p(z) - q(z)|$ auf
+der Menge $K$ kleine sein muss, wenn $\|p(A)-q(A)\|$ klein
+sein soll.
+Da die Differenz $p(z)-q(z)$ für beliebige Polynome, die sich nicht
+nur um eine Konstante unterscheiden, mit $z$ über alle Grenzen wächst,
+muss $K$ beschränkt sein.
+Gesucht ist also eine kompakte Menge $K\subset\mathbb{C}$ und eine
+Folge $p_n(z)$ von Polynomen, die auf $K$ gleichmässig gegen $f(z)$
+konvergieren.
+Die Wahl von $K$ muss sicherstellen, dass für jede gleichmässig
+konvergente Folge von Polynomen $p_n(z)$ auch die Matrizenfolge
+$p_n(A)$ konvergiert.
+
+Es wird sich zeigen, dass die Menge $K$ das Spektrum von $A$ ist,
+also eine endliche Teilmenge von $\mathbb{C}$.
+Jede Funktion kann auf so einer Menge durch Polynome exakt wiedergegeben
+werden.
+Es gibt insbesondere Folgen von Polynomen, die eingeschränkt
+auf das Spektrum gleich sind, also $p_n(z)=p_m(z)$ für alle $z\in K$,
+die aber ausserhalb des Spektrums alle verschieden sind.
+Als Beispiel kann die Matrix
+\[
+N=\begin{pmatrix}0&1\\0&0\end{pmatrix}
+\]
+herangezogen werden.
+Ihr Spektrum ist $\operatorname{Sp}(N)=\{0\}\subset\mathbb{C}$.
+Zwei Polynome stimmen genau dann auf $\operatorname{Sp}(N)$ überein,
+wenn der konstante Koeffizient gleich ist.
+Die Polynome $p(z)=z$ und $q(z)=z^2$ stimmen daher auf dem Spektrum
+überein.
+Für die Matrizen gilt aber $p(N)=N$ und $q(N)=N^2=0$, die Matrizen
+stimmen also nicht überein.
+Es braucht also zusätzliche Bedingungen an die Matrix $A$, die
+sicherstellen, dass $p(A)=0$ ist, wann immer $p(z)=0$ für
+$z\in\operatorname{Sp}(A)$ gilt.
+
+In diesem Abschnitt sollen diese Fragen untersucht werden.
+In Abschnitt~\ref{buch:subsection:approximation-durch-polynome}
+wird gezeigt, wie sich Funktionen durch Polynome approximieren
+lassen, woraus sich dann Approximationen von $f(A)$ für diagonalisierbare
+Matrizen mit reellen Eigenwerten ergeben.
+
+Der Satz von Stone-Weierstrass, der in
+Abschnitt~\ref{buch:subsetion:stone-weierstrass} dargestellt wird,
+ist ein sehr allgemeines Approximationsresultat, welches nicht nur
+zeigt, dass die Approximation unter sehr natürlichen Voraussetzungen
+beliebig genau möglich ist, sondern uns im komplexen Fall auch
+weitere Einsicht dafür geben kann, welche Voraussetzungen an eine
+komplexe Matrix gestellt werden müssen, damit man damit rechnen kann,
+dass die Approximation zu einer konsistenten Definition von $f(A)$ führt.
+
+%
+% Approximation
+%
+\subsection{Approximation durch Polynome
+\label{buch:subsection:approximation-durch-polynome}}
+Die der Berechnung von $f(A)$ für eine beleibige stetige Funktion,
+die sich nicht als Potenzreihe schreiben lässt, verwendet Approximationen
+von Polynomen.
+Die numerische Mathematik hat eine grosse Menge von solchen
+Approximationsverfahren entwickelt, wovon zwei kurz (ohne Beweise)
+vorgestellt werden sollen.
+
+\subsubsection{Das Legendre-Interpolationspolynom}
+Zu vorgegebenen, verschiedenen Zahlen $z_i\in\mathbb{C}$, $0\le i\le n$,
+die auch die {\em Stützstellen} genannt werden,
+gibt es immer ein Polynom vom Grade $n$, welches in den $z_i$ vorgegebene
+Werte $f(z_i)$ annimmt.
+Ein solches Polynom lässt sich im Prinzip mit Hilfe eines linearen
+Gleichungssystems finden, man kann aber auch direkt eine Lösung
+konstruieren.
+Dazu bildet man erst die Polynome
+\begin{align*}
+l(z) &= (z-z_0)(z-z_1)\dots (z-z_n) \qquad\text{und}
+\\
+l_i(z) &= (z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n).
+\end{align*}
+Darin bedeutet der Hut, dass dieser Term weggelassen werden soll.
+Für $z\ne z_i$ ist $l_i(z)=l(z)/(z-z_i)$.
+Die Polynome
+\[
+k_i(z)
+=
+\frac{l_i(z)}{l_i(z_i)}
+=
+\frac{(z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n)}{(z_i-z_0)\dots \widehat{(z_i-z_i)}\dots (z_i-z_n)}
+\]
+haben die Eigenschaft
+$k_i(z_j)=\delta_{ij}$.
+Damit lässt sich jetzt ein Polynom
+\[
+p(z) = \sum_{j=0}^n f(z_j) \frac{l_j(z)}{l_j(z_j)}
+\]
+vom Grad $n$ konstruieren, welches die Werte
+\[
+p(z_i)
+=
+\sum_{j=0}^n f(z_j) \frac{l_j(z_i)}{l_j(z_j)}
+=
+\sum_{j=0}^n f(z_j) \delta_{ij}
+=
+f_(z_i)
+\]
+annimmt.
+Das Polynom $p(z)$ heisst das {\em Legendre-Interpolationspolynom}.
+
+Zwar lässt sich also für eine endliche Menge von komplexen Zahlen immer
+ein Polynom finden, welches vorgeschriebene Wert in allen diesen Zahlen
+annimmt, doch ist die Stabilität für grosse $n$ eher beschränkt.
+
+
+\subsubsection{Gleichmassige Approximation mit Bernstein-Polynomen}
+Das Legendre-Interpolationspolynom nimmt in den Stützstellen die
+verlangten Werte an, aber ausserhalb der Stützstellen ist nicht
+garantiert, dass man eine gute Approximation einer Funktion $f(z)$
+erhält.
+
+Für die Approximation auf einem reellen Interval $[a,b]$ hat
+Sergei Natanowitsch Bernstein ein
+Dazu werden zuerst die reellen Bernsteinpolynome vom Grad $n$
+durch
+\begin{align*}
+B_{i,n}(t) = \binom{n}{i} t^i(1-t)^{n-i}.
+\end{align*}
+definiert.
+Als Approximationspolynom für die auf dem Interval
+$[0,1]$ definierte, stetige Funktion $f(t)$ kann man dann
+\[
+B_n(f)(t)
+=
+\sum_{i=0}^n B_{i,n}(t) f\biggl(\frac{i}{n}\biggr)
+\]
+verwenden.
+Die Polynome $B_n(f)(t)$ konvergieren gleichmässig auf $[0,1]$
+gegen die Funktion $f(t)$.
+Über die Konvergenz ausserhalb des reellen Intervalls wird nichts
+ausgesagt.
+Die Approximation mit Bernstein-Polynomen ist daher nur sinnvoll,
+wenn man weiss, dass die Eigenwerte der Matrix reell sind, was im
+wesentlichen auf diagonalisierbare Matrizen führt.
+
+Für ein anderes Interval $[a,b]$ kann man ein Approximationspolynom
+erhalten, indem man die affine Transformation
+$s\mapsto (s-a)/(b-a)$
+von $[a,b]$ auf $[0,1]$
+verwendet.
+
+%
+% Der Satz von Stone-Weierstrass
+%
+\subsection{Der Satz von Stone-Weierstrasss
+\label{buch:subsetion:stone-weierstrass}}
+Der Satz von Stone-Weierstrass behandelt im Gegensatz zu den in
+Abschnitt~\ref{buch:subsection:approximation-durch-polynome}
+besprochenen Approximationsmethoden nicht nur Funktionen von
+reellen Variablen durch Polynome.
+Vielmehr kann das Definitionsgebiet irgend eine abgeschlossene
+und beschränkte Teilmenge eines reellen oder komplexen Vektorraumes
+sein und die Funktionen können Polynome aber auch viel allgemeinere
+Funktionen verwendet werden, wie zum Beispiel die Funktionen
+$x\mapsto \cos nx$ und $x\mapsto \sin nx$ definiert auf dem
+Intervall $[0,2\pi]$.
+In diesem Fall liefert der Satz von Stone-Weierstrass die Aussage,
+dass sich jede stetige periodische Funktion gleichmässig durch
+trigonometrische Polynome approximieren lässt.
+
+Die Aussage des Satz von Stone-Weierstrass über reelle Funktionen
+lässt sich nicht auf komplexe Funktionen erweitern.
+Von besonderem Interesse ist jedoch, dass der Beweis des Satz
+zeigt, warum solche Aussagen für komplexe Funktionen nicht mehr
+zutreffen.
+Im Falle der Approximation von komplexen Funktionen $f(z)$ durch Polynome
+zwecks Definition von $f(A)$ werden sich daraus Bedingungen an die
+Matrix ableiten lassen, die eine konsistente Definition überhaupt
+erst ermöglichen werden.
+
+\subsubsection{Punkte trennen}
+Aus den konstanten Funktionen lassen sich durch algebraische
+Operationen nur weitere konstante Funktionen erzeugen.
+Die konstanten Funktionen sind also nur dann eine genügend
+reichhaltige Menge, wenn die Menge $K$ nur einen einzigen Punkt
+enthält.
+Damit sich Funktionen approximieren lassen, die in zwei Punkten
+verschiedene Werte haben, muss es auch unter den zur Approximation
+zur Verfügung stehenden Funktionen solche haben, deren Werte sich
+in diesen Punkten unterscheiden.
+Diese Bedingung wird in der folgenden Definition formalisiert.
+
+\begin{definition}
+Sei $K$ eine beliebige Menge und $A$ eine Menge von Funktionen
+$K\to \mathbb{C}$.
+Man sagt, $A$ {\em trennt die Punkte von $K$}, wenn es für jedes Paar
+\index{Punkte trennen}%
+von Punkten $x,y\in K$ eine Funktion $f\in A$ gibt derart, dass
+$f(x)\ne f(y)$.
+\end{definition}
+
+Man kann sich die Funktionen $f$, die gemäss dieser Definition die Punkte
+von $K$ trennen, als eine Art Koordinaten der Punkte in $K$ vorstellen.
+Die Punkte der Teilmenge $K\subset \mathbb{R}^n$ werden zum Beispiel
+von den Koordinatenfunktionen $x\mapsto x_i$ getrennt.
+Wir schreiben für die $i$-Koordinate daher auch als Funktion $x_i(x)=x_i$.
+Zwei verschiedene Punkte $x,y\in K$ unterscheiden sich in mindestens
+einer Koordinate.
+Für diese Koordinate sind dann die Werte der zugehörigen
+Koordinatenfunktion $x_i=x_i(x)\ne x_i(y)=y_i$ verschieden, die
+Funktionen $x_1(x)$ bis $x_n(x)$ trennen also die Punkte.
+
+\begin{beispiel}
+Wir betrachten einen Kreis in der Ebene, also die Menge
+\[
+S^1
+=
+\{(x_1,x_2)\;|\; x_1^2 + x_2^2=1\}
+\]
+$S^1$ ist eine abgeschlossene und beschränkte Menge in $\mathbb{R}^2$.
+Die Funktion $x\mapsto x_1$ trennt die Punkte nicht, denn zu jedem
+Punkt $(x_1,x_2)\in S^2$ gibt es den an der ersten Achse
+gespiegelten Punkt $\sigma(x)=(x_1,-x_2)$, dessen erste Koordinate
+den gleichen Wert hat.
+Ebenso trennt die Koordinatenfunktion $x\mapsto x_2$ die Punkte nicht.
+Die Menge $A=\{ x_1(x), x_2(x)\}$ bestehend aus den beiden
+Koordinatenfunktionen trennt dagegen die Punkte von $S^1$, da die Punkte
+sich immer in mindestens einem Punkt unterscheiden.
+
+Man könnte auch versuchen, den Kreis in Polarkoordinaten zu beschreiben.
+Die Funktion $\varphi(x)$, die jedem Punkt $x\in S^1$ den Polarwinkel
+zuordnet, trennt sicher die Punkte des Kreises.
+Zwei verschiedene Punkte auf dem Kreis haben verschieden Polarwinkel.
+Die Menge $\{\varphi\}$ trennt also die Punkte von $S^1$.
+Allerdings ist die Funktion nicht stetig, was zwar der Definition
+nicht widerspricht aber ein Hindernis für spätere Anwendungen ist.
+\end{beispiel}
+
+
+\subsubsection{Der Satz von Stone-Weierstrass für reelle Funktionen}
+Die Beispiele von Abschnitt~\ref{buch:subsection:approximation-durch-polynome}
+haben bezeigt, dass sich reellwertige Funktionen einer reellen
+Variable durch Polynome beliebig genau approximieren lassen.
+Es wurde sogar eine Methode vorgestellt, die eine auf einem Intervall
+gleichmässig konvergente Polynomefolge produziert.
+Die Variable $x\in[a,b]$ trennt natürlich die Punkte, die Algebra der
+Polynome in der Variablen $x$ enthält also sicher Funktionen, die in
+verschiedenen Punkten des Intervalls auch verschiedene Werte annehmen.
+Nicht ganz so selbstverständlich ist aber, dass sich daraus bereits
+ergibt, dass jede beliebige Funktion sich als Polynome in $x$
+approximieren lässt.
+Dies ist der Inhalt des folgenden Satzes von Stone-Weierstrass.
+
+\begin{figure}
+\centering
+\includegraphics{chapters/40-eigenwerte/images/wurzel.pdf}
+\caption{Konstruktion einer monoton wachsenden Approximationsfolge für
+$\sqrt{a}$
+\label{buch:eigenwerte:fig:wurzelverfahren}}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/wurzelapprox.pdf}
+\caption{Monoton wachsende Approximation der Funktion $t\mapsto\sqrt{t}$ mit
+Polynomen $u_n(t)$ nach
+\eqref{buch:eigenwerte:eqn:wurzelapproximation}
+(links) und der Fehler der Approximation
+(rechts).
+\label{buch:eigenwerte:fig:wurzelapproximation}}
+\end{figure}
+
+\begin{satz}[Stone-Weierstrass]
+\label{buch:satz:stone-weierstrass}
+Enthält eine $\mathbb{R}$-Algebra $A$ von stetigen, rellen Funktionen
+auf einer kompakten Menge $K$ die konstanten Funktionen und trennt sie
+Punkte, d.~h.~für zwei verschiedene Punkte $x,y\in K$ gibt es
+immer eine Funktion $f\in A$ mit $f(x)\ne f(y)$, dann ist jede stetige,
+reelle Funktion auf $K$ gleichmässig approximierbar durch Funktionen
+in $A$.
+\end{satz}
+
+Für den Beweis des Satzes wird ein Hilfsresultat benötigt, welches wir
+zunächst ableiten.
+Es besagt, dass sich die Wurzelfunktion $t\mapsto\sqrt{t}$
+auf dem Interval $[0,1]$ gleichmässig
+von unten durch Polynome approximieren lässt, die in
+Abbildung~\ref{buch:eigenwerte:fig:wurzelapproximation} dargestellt
+sind.
+
+\begin{satz}
+Die rekursiv definierte Folge von Polynomen
+\begin{equation}
+u_{n+1}(t)
+=
+u_n(t) + \frac12(t-u_n(t)^2),
+\qquad
+u_0(t)=0
+\label{buch:eigenwerte:eqn:wurzelapproximation}
+\end{equation}
+ist monoton wachsend und approximiert die Wurzelfunktion $t\mapsto\sqrt{t}$
+gleichmässig auf dem Intervall $[0,1]$.
+\end{satz}
+
+\begin{figure}
+\centering
+\includegraphics{chapters/40-eigenwerte/images/minmax.pdf}
+\caption{Graphische Erklärung der
+Identitäten~\eqref{buch:eigenwerte:eqn:minmax} für
+$\max(f(x),g(x))$ und $\min(f(x),g(x))$.
+Die purpurrote Kurve stellt den Mittelwert von $f(x)$ und $g(x)$ dar,
+die vertikalen grünen Linien haben die Länge der Differenz $|f(x)-g(x)|$.
+Das Maximum erhält man, indem man den halben Betrag der Differenz zum
+Mittelwert hinzuaddiert, das Minimum erhält man durch Subtraktion
+der selben Grösse.
+\label{buch:eigenwerte:fig:minmax}}
+\end{figure}
+
+\begin{proof}[Beweis]
+Wer konstruieren zunächst das in
+Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren}
+visualierte Verfahren, mit dem für jede Zahl $a\in[0,1]$
+die Wurzel $\sqrt{a}$ berechnet werden kann.
+Sei $u < \sqrt{a}$ eine Approximation der Wurzel.
+Die Approximation ist der exakte Wert der Lösung, wenn $a-u^2=0$.
+In jedem anderen Fall muss $u$ um einen Betrag $d$ vergrössert werden.
+Natürlich muss immer noch $u+d<\sqrt{a}$ sein.
+Man kann die maximal zulässige Korrektur $d$ geometrisch abschätzen,
+wie dies in Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren}
+skizziert ist.
+Die maximale Steigung des Graphen der Funktion $u\mapsto u^2$ ist $2$,
+daher darf man $u$ maximal um die Hälfte der Differenz $a-u^2$ (grün)
+vergrössern, also $d=\frac12(a-u^2)$.
+Die Rekursionsformel
+\[
+u_{n+1} = u_n + d = u_n + \frac12(a-u_n^2)
+\]
+mit dem Startwert $u_0=0$ liefert daher eine
+Folge, die gegen $\sqrt{a}$ konvergiert.
+\end{proof}
+
+\begin{proof}[Beweis des Satzes von Stone-Weierstrass]
+Da $A$ eine Algebra ist, ist mit jeder Funktion $f\in A$ für jedes Polynome
+$p\in\mathbb{R}[X]$ auch $p(f)$ eine Funktion in $A$.
+\begin{enumerate}
+\item Schritt: Für jede Funktion $f\in A$ lässt sich auch $|f|$ durch
+Funktionen in $A$ beliebig genau durch eine monoton wachsende Folge
+von Funktionen approximieren.
+
+Da $A$ eine Algebra ist, ist $f^2\in A$.
+Sei ausserdem $m^2=\sup \{f(x)^2\;|\;x\in K\}$, so dass $f^2/m^2$ eine Funktion
+mit Werten im Intervall $[0,1]$ ist.
+Die Funktionen $f_n(x)=mu_n(f(x)^2/m^2)$ sind ebenfalls in $A$ und
+approximieren gleichmässig $\sqrt{f(x)^2}=|f(x)|$.
+\item Schritt: Für zwei Funktionen $f,g\in A$ gibt es eine monoton wachsende
+Folge, die $\max(f,g)$ gleichmässig beliebig genau approximiert
+und eine monoton fallende Folge, die $\min(f,g)$ gleichmässig beliebig
+genau approximiert.
+
+
+Diese Folgen können aus der Approximationsfolge für den Betrag einer
+Funktion und den Identitäten
+\begin{equation}
+\begin{aligned}
+\max(f,g) &= \frac12(f+g+|f-g|) \\
+\min(f,g) &= \frac12(f+g-|f-g|)
+\end{aligned}
+\label{buch:eigenwerte:eqn:minmax}
+\end{equation}
+gefunden werden, die in Abbildung~\ref{buch:eigenwerte:fig:minmax}
+graphisch erklärt werden.
+\item Schritt: Zu zwei beliebigen Punkten $x,y\in K$ und Werten
+$\alpha,\beta\in\mathbb{R}$ gibt es immer eine Funktion in $A$,
+die in den Punkten $x,y$ die vorgegebenen Werte $\alpha$ bzw.~$\beta$
+annimmt.
+Da $A$ die Punkte trennt, gibt es eine Funktion $f_0$ mit $f_0(x)\ne f_0(y)$.
+Dann ist die Funktion
+\[
+f(t)
+=
+\beta + \frac{f_0(t)-f_0(y)}{f_0(x)-f_0(y)}(\alpha-\beta)
+\]
+wohldefiniert und nimmt die verlangten Werte an.
+\item Schritt: Zu jeder stetigen Funktion $f\colon K\to\mathbb{R}$, jedem
+Punkt $x\in K$ und jedem $\varepsilon>0$ gibt es eine Funktion $g\in A$ derart,
+dass $g(x)=f(x)$ und $g(y) \le f(y)+\varepsilon$ für alle $y\in K$.
+
+Zu jedem $z\in K$ gibt es eine Funktion in $A$ mit
+$h_z(x)=f(x)$ und $h_z(z) \le f(z)+\frac12\varepsilon$.
+Wegen der Stetigkeit von $h_z$ gibt es eine Umgebung $V_z$ von $z$, in der
+immer noch gilt $h_z(y)\le f(y)+\varepsilon$ für $y\in V_z$.
+Wegen der Kompaktheit von $K$ kann man endlich viele Punkte $z_i$ wählen
+derart, dass die $V_{z_i}$ immer noch $K$ überdecken.
+Dann erfüllt die Funktion
+\(
+g(z) = \inf h_{z_i}
+\)
+die Bedingungen $g(x) = f(x)$ und für $z\in V_{z_i}$
+\[
+g(z) = \inf_{j} h_{z_j}(z) \le h_{z_i}(z) \le f(z)+\varepsilon.
+\]
+Ausserdem ist $g(z)$ nach dem zweiten Schritt beliebig genau durch
+Funktionen in $A$ approximierbar.
+\item Schritt: Jede stetige Funktion $f\colon K\to\mathbb{R}$ kann
+beliebig genau durch Funktionen in $A$ approximiert werden.
+Sei $\varepsilon > 0$.
+
+Nach dem vierten Schritt gibt es für jedes $y\in K$ eine Funktion $g_y$
+derart, dass $g_y(y)=f(y)$ und $g_y(x) \le f(x) + \varepsilon$ für
+$x\in K$.
+Da $g_y$ stetig ist, gilt ausserdem $g_y(x) \ge f(x) -\varepsilon$ in
+einer Umgebung $U_y$ von $y$.
+Da $K$ kompakt ist, kann man endlich viele $y_i$ derart, dass die $U_{y_i}$
+immer noch ganz $K$ überdecken.
+Die Funktion $g=\sup g_{y_i}$ erfüllt dann überall $g(x) \le f(x)+\varepsilon$,
+weil jede der Funktionen $g_y$ diese Ungleichung erfüllt.
+Ausserdem gilt für $x\in V_{x_j}$
+\[
+g(x) = \sup_i g_{x_i}(x) \ge g_{x_j}(x) \ge f(x)-\varepsilon.
+\]
+Somit ist
+\[
+|f(x)-g(x)| \le \varepsilon.
+\]
+Damit ist $f(x)$ beliebig nahe an der Funktion $g(x)$, die sich
+beliebig genau durch Funktionen aus $A$ approximieren lässt.
+\qedhere
+\end{enumerate}
+\end{proof}
+
+Im ersten Schritt des Beweises ist ganz entscheidend, dass man die
+Betragsfunktion konstruieren kann.
+Daraus leiten sich dann alle folgenden Konstruktionen ab.
+
+\subsubsection{Anwendung auf symmetrische und hermitesche Matrizen}
+Für symmetrische und hermitesche Matrizen $A$ ist bekannt, dass die
+Eigenwerte reell sind, also das Spektrum $\operatorname{A}\subset\mathbb{R}$
+ist.
+Für eine Funktion $\mathbb{R}\to \mathbb{R}$ lässt sich nach dem
+Satz~\ref{buch:satz:stone-weierstrass} immer eine Folge $p_n$ von
+approximierenden Polynomen in $x$ finden, die auf $\operatorname{Sp}(A)$
+gleichmässig konvergiert.
+Die Matrix $f(A)$ kann dann definiert werden also der Grenzwert
+\[
+f(A) = \lim_{n\to\infty} p_n(A).
+\]
+Da diese Matrizen auch diagonalisierbar sind, kann man eine Basis
+aus Eigenvektoren verwenden.
+Die Wirkung von $p_n(A)$ auf einem Eigenvektor $v$ zum Eigenwert $\lambda$
+ist
+\[
+p_n(A)v
+=
+(a_kA^k + a_{k-1}A^{k-1}+\dots +a_2A^2+a_1A+a_0I)v
+=
+(a_k\lambda^k + a_{k-1}\lambda^{k-1}+\dots + a_2\lambda^2 + a_1\lambda + a_0)v
+=
+p_n(\lambda)v.
+\]
+Im Grenzwert wirkt $f(A)$ daher durch Multiplikation eines Eigenvektors
+mit $f(\lambda)$, die Matrix $f(A)$ hat in der genannten Basis die
+Diagonalform
+\[
+A=\begin{pmatrix}
+\lambda_1& & & \\
+ &\lambda_2& & \\
+ & &\ddots& \\
+ & & &\lambda_n
+\end{pmatrix}
+\qquad\Rightarrow\qquad
+f(A)=\begin{pmatrix}
+f(\lambda_1)& & & \\
+ &f(\lambda_2)& & \\
+ & &\ddots& \\
+ & & &f(\lambda_n)
+\end{pmatrix}.
+\]
+
+\begin{satz}
+\label{buch:eigenwerte:satz:spektralsatz}
+Ist $A$ symmetrische oder selbstadjungiert Matrix und $f$ eine Funktion
+auf dem Spektrum $\operatorname{Sp}(A)$ von $A$.
+Dann gibt es genau eine Matrix $f(A)$, die Grenzwert jeder beliebigen
+Folge $p_n(A)$ für Polynomfolgen, die $\operatorname{Sp}(A)$ gleichmässig
+gegen $f$ konvergieren.
+\end{satz}
+
+\subsubsection{Unmöglichkeit der Approximation von $z\mapsto \overline{z}$
+in $\mathbb{C}[z]$}
+Der Satz~\ref{buch:satz:stone-weierstrass} von Stone-Weierstrass für
+reelle Funktionen gilt nicht für komplexe Funktionen.
+In diesem Abschnitt zeigen wir, dass sich die Funktion $z\mapsto\overline{z}$
+auf der Einheitskreisscheibe $K=\{z\in\mathbb{C}\;|\; |z|\le 1\}$ nicht
+gleichmässig durch Polynome $p(z)$ mit komplexen Koeffizienten approximieren
+lässt.
+
+Wäre eine solche Approximation möglich, dann könnte man $\overline{z}$
+auch durch eine Potenzreihe
+\[
+\overline{z}
+=
+\sum_{k=0}^\infty a_kz^k
+\]
+darstellen.
+Das Wegintegral beider Seiten über den Pfad $\gamma(t) = e^{it}$
+in der komplexen Ebene ist
+\begin{align*}
+\oint_\gamma z^k\,dz
+&=
+\int_0^{2\pi} e^{ikt} ie^{it}\,dt
+=
+i\int_0^{2\pi} e^{it(k+1)}\,dt
+=
+i\biggl[ \frac{1}{i(k+1)} e^{it(k+1)}\biggr]_0^{2\pi}
+=
+0
+\\
+\oint_\gamma
+\sum_{k=0}^\infty a_kz^k
+\,dz
+&=
+\sum_{k=0}^\infty a_k \oint_\gamma z^k\,dz
+=
+\sum_{k=0}^\infty a_k\cdot 0
+=
+0
+\\
+\oint_\gamma \overline{z}\,dz
+&=
+\int_0^{2\pi} e^{it} ie^{it}\,dt
+=
+i\int_0^{2\pi} \,dt = 2\pi i,
+\end{align*}
+dabei wurde $\overline{\gamma}(t)=e^{-it}$ verwendet.
+Insbesondere widersprechen sich die beiden Integrale.
+Die ursprüngliche Annahmen, $\overline{z}$ lasse sich durch Polynome
+gleichmässig approximieren, muss daher verworfen werden.
+
+\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen}
+Der Satz von Stone-Weierstrass kann nach dem vorangegangene Abschnitt
+also nicht gelten.
+Um den Beweis des Satzes~\ref{buch:satz:stone-weierstrass}
+auf komplexe Zahlen zu übertragen, muss im ersten Schritt ein Weg
+gefunden werden, den Betrag einer Funktion zu approximieren.
+
+Im reellen Fall geschah dies, indem zunächst eine Polynom-Approximation
+für die Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer
+Funktion angewendet wurde.
+Der Betrag einer komplexen Zahl $z$ ist aber nicht allein aus $z$
+berechenbar, man braucht in irgend einer Form Zugang zu Real-
+und Imaginärteil.
+Zum Beispiel kann man Real- und Imaginärteil als
+$\Re z= \frac12(z+\overline{z})$ und $\Im z = \frac12(z-\overline{z})$
+bestimmen.
+Kenntnis von Real- und Imaginärteil ist als gleichbedeutend mit
+der Kenntnis der komplex Konjugierten $\overline{z}$.
+Der Betrag lässt sich daraus als $|z|^2 = z\overline{z}$ finden.
+Beide Beispiele zeigen, dass man den im Beweis benötigten Betrag
+nur dann bestimmen kann, wenn mit jeder Funktion aus $A$ auch die
+komplex konjugierte Funktion zur Verfügung steht.
+
+\begin{satz}[Stone-Weierstrass]
+Enthält eine $\mathbb{C}$-Algebra $A$ von stetigen, komplexwertigen
+Funktionen auf einer kompakten Menge $K$ die konstanten Funktionen,
+trennt sie Punkte und ist ausserdem mit jeder Funktion $f\in A$ auch
+die komplex konjugiert Funktion $\overline{f}\in A$,
+dann lässt sich jede stetige, komplexwertige Funktion
+auf $K$ gleichmässig durch Funktionen aus $A$ approximieren.
+\end{satz}
+
+Mit Hilfe der konjugiert komplexen Funktion lässt sich immer eine
+Approximation für die Betragsfunktion finden, so dass sich der
+Beweis des reellen Satzes von Stone-Weierstrass übertragen lässt.
+
+%
+% Normale Matrizen
+%
+\subsection{Normale Matrizen
+\label{buch:subsection:normale-matrizen}}
+Aus dem Satz von Stone-Weierstrass für komplexe Matrizen kann man
+jetzt einen Spektralsätze für eine etwas grössere Klasse von Matrizen
+ableiten, als im Satz~\ref{buch:eigenwerte:satz:spektralsatz}
+möglich war.
+Der Satz besagt, dass für eine beliebige Funktion $f$ auf dem Spektrum
+$\operatorname{Sp}(A)$ eine Folge von auf $\operatorname{Sp}(A)$
+gleichmässig konvergenten, approximierenden Polynomen
+$p_n(z,\overline{z})$ gefunden werden kann.
+Doch wie soll jetzt aus dieser Polynomfolge ein Kandidat von $f(A)$
+gefunden werden?
+
+Zunächst stellt sich die Frage, was für die Variable $\overline{z}$
+eingesetzt werden soll.
+$1\times 1$-Matrizen sind notwendigerweise diagonal, also muss
+man in diesem Fall die Matrix $\overline{A}$ für die Variable
+$\overline{z}$ eingesetzt werden.
+Dies erklärt aber noch nicht, wie für $n\times n$-Matrizen
+vorzugehen ist, wenn $n>1$ ist.
+
+Die Notwendigkeit, die Variable $\overline{z}$ hinzuzunehmen
+ergab sich aus der Anforderung, dass der Betrag aus $|z|^2=z\overline{z}$
+konstruiert werden können muss.
+Insbesondere muss beim Einsetzen eine Matrix entstehen, die nur
+positive Eigenwerte hat.
+Für eine beliebige komplexe $n\times n$-Matrix $A$ ist aber
+$A\overline{A}$ nicht notwendigerweise positiv, wie das Beispiel
+\[
+A
+=
+\begin{pmatrix}0&i\\i&0\end{pmatrix}
+\qquad
+\Rightarrow
+\qquad
+A\overline{A}
+=
+\begin{pmatrix}0&i\\-i&0\end{pmatrix}
+\begin{pmatrix}0&-i\\i&0\end{pmatrix}
+=
+\begin{pmatrix}
+-1&0\\
+ 0&-1
+\end{pmatrix}
+=
+-I
+\]
+zeigt.
+Eine positive Matrix entsteht dagegen immer, wenn man statt
+$A$ die Adjungierte $A^*=\overline{A}^t$ verwendet.
+
+Die Substitution von $A$ für $z$ und $A^*$ für $\overline{z}$
+in einem Polynom $p(z,\overline{z})$ ist nicht unbedingt eindeutig.
+Schon das Polynom $p(z,\overline{z})=z\overline{z}$ kann man auch
+als $\overline{z}z$ schreiben.
+Damit die Substition eindeutig wird, muss man also fordern, dass
+$AA^* = A^*A$ ist.
+
+\begin{definition}
+Eine Matrix $A\in M_n(\mathbb{C})$ heisst {\em normal}, wenn $AA^*=A^*A$ gilt.
+\end{definition}
+
+\subsubsection{Beispiele normaler Matrizen}
+
+\begin{enumerate}
+\item
+Hermitesche und Antihermitesche Matrizen sind normal, denn solche
+Matrizen erfüllen $A^*=\pm A$ und damit
+\(
+AA^* = \pm A^2 = A^*A.
+\)
+\item
+Symmetrische und antisymmetrische Matrizen sind normal,
+denn aus $A=A^t$ folgt $A^*=\overline{A}^t$ und damit
+\begin{align*}
+AA^* &= A\overline{A}^t =
+\\
+A^*A &=
+\end{align*}
+\item
+Unitäre Matrizen $U$ sind normal, das $UU^*=I=U^*U$ gilt.
+\item
+Orthogonale Matrizen sind normal wegen $O(n) = U(n) \cap M_n(\mathbb{R})$.
+\end{enumerate}
+
+Jede Matrix lässt sich durch Wahl einer geeigneten Basis in Jordansche
+Normalform bringen.
+Allerdings sind Jordan-Blöcke keine normalen Matrizen, wie der folgende
+Satz zeigt.
+
+\begin{satz}
+Eine Dreiecksmatrix ist genau dann normal, wenn sie diagonal ist.
+\end{satz}
+
+\begin{proof}[Beweis]
+Sei $A$ eine obere Dreiecksmatrix, das Argument für eine untere Dreiecksmatrix
+funktioniert gleich.
+Wir berechnen ein Diagonalelement für beide Produkte $AA^*$ und $A^*A$.
+Dazu brauchen wir die Matrixelemente von $A$ und $A^*$.
+Bezeichnen wir die Matrixelemente von $A$ mit $a_{ij}$, dann hat $A^*$
+die Matrixelemente $(A^*)_{ij}=\overline{a}_{ji}$.
+Damit kann man die Diagonalelemente der Produkte als
+\begin{align*}
+(AA^*)_{ii}
+&=
+\sum_{j=1}^n a_{ij}\overline{a}_{ij}
+=
+\sum_{j=i}^n |a_{ij}|^2
+\\
+(A^*A)_{ii}
+&=
+\sum_{j=1}^n \overline{a}_{ji}a_{ji}
+=
+\sum_{j=1}^i |a_{ji}|^2
+\end{align*}
+ausrechnen.
+Der obere Ausdruck ist die quadrierte Länge der Zeile $i$ der Matrix $A$,
+der untere ist die quadrierte Länge der Spalte $i$.
+Da die Matrix eine obere Dreiecksmatrix ist, hat die erste Spalte höchstens
+ein einziges von $0$ verschiedenes Element.
+Daher kann auch die erste Zeile höchstens dieses eine Elemente haben.
+Die Matrix hat daher Blockstruktur mit einem $1\times 1$-Block in der
+linken obere Ecke und einem $n-1$-dimensionalen Block für den Rest.
+Durch Wiederholen des Arguments für den $(n-1)\times (n-1)$-Block
+kann man so schrittweise schliessen, dass die Matrix $A$ diagonal sein muss.
+\end{proof}
+
+
+\begin{satz}
+Sind $A$ und $B$ normale Matrizen und $AB^*=B^*A$, dann sind auch $A+B$
+und $AB$ normal.
+\end{satz}
+
+\begin{proof}[Beweis]
+Zunächst folgt aus $AB^*=B^*A$ auch
+$A^*B = (B^*A)^* = (AB^*)^* = BA^*$.
+Der Beweis erfolgt durch Nachrechnen:
+\begin{align*}
+(A+B)(A+B)^*
+&=
+AA^* + AB^* + BA^*+BB^*
+\\
+(A+B)^*(A+B)
+&=
+A^*A + A^*B + B^*A + B^*B
+\end{align*}
+Die ersten und letzten Terme auf der rechten Seite stimmen überein, weil
+$A$ und $B$ normal sind.
+Die gemischten Terme stimmen überein wegen der Vertauschbarkeit von
+$A$ und $B^*$.
+
+Für das Produkt rechnet man
+\begin{align*}
+(AB)(AB)^*
+&= ABB^*A^* = AB^*BA^*
+= B^*AA^*B
+=
+B^*A^*AB
+=
+(AB)^*(AB),
+\end{align*}
+was zeigt, dass auch $AB$ normal ist.
+\end{proof}
+
+\subsubsection{Äquivalente Bedingungen}
+Es gibt eine grosse Zahl äquivalenter Eigenschaften für normale Matrizen.
+Die folgenden Eigenschaften sind äquivalent:
+\begin{enumerate}
+\item
+Die Matrix $A$ ist mit einer unitären Matrix diagonalisierbar
+\item
+Es gibt eine orthonormale Basis von Eigenvektoren von $A$ für $\mathbb{C}^n$
+\item
+Für jeden Vektor $x\in\mathbb{C}^n$ gilt $\|Ax\|=\|A^*x\|$
+\item
+Die Forbenius-Norm der Matrix $A$ kann mit den Eigenwerten $\lambda_i$
+von $A$ berechnet werden:
+$\operatorname{Spur}(A^*A) = \sum_{i=1}^n |\lambda_i|^2$
+\item
+Der hermitesche Teil $\frac12(A+A^*)$ und der antihermitesche Teil
+$\frac12(A-A^*)$ von $A$ vertauschen.
+\item
+$A^*$ ist ein Polynom vom Grad $n-1$ in $A$.
+\item
+Es gibt eine unitäre Matrix $U$ derart, dass $A^*=AU$
+\item
+Es gibt eine Polarzerlegugn $A=UP$ mit einer unitären Matrix $U$ und
+einer postiv semidefiniten Matrix $P$, die untereinander vertauschen.
+\item
+Es gibt eine Matrix $N$ mit verschiedenen Eigenwerten, mit denen $A$
+vertauscht.
+\item
+Wenn $A$ die (absteigend geordneten) singulärwerte $\sigma_i$ und
+die absteigend geordneten Eigenwerte $\lambda_i$ hat,
+dann it $\sigma_i=|\lambda_i|$.
+\end{enumerate}
+
+
+
+
diff --git a/buch/chapters/60-gruppen/chapter.tex b/buch/chapters/60-gruppen/chapter.tex index c2aa68d..aa5469f 100644 --- a/buch/chapters/60-gruppen/chapter.tex +++ b/buch/chapters/60-gruppen/chapter.tex @@ -1,41 +1,47 @@ -% -% chapter.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\chapter{Matrizengruppen -\label{buch:chapter:matrizengruppen}} -\lhead{Matrizengruppen} -\rhead{} -Matrizen können dazu verwendet werden, Symmetrien von geometrischen oder -physikalischen Systemen zu beschreiben. -Neben diskreten Symmetrien wie zum Beispiel Spiegelungen gehören dazu -auch kontinuierliche Symmetrien wie Translationen oder Invarianz einer -phyisikalischen Grösse über die Zeit. -Solche Symmetrien müssen durch Matrizen beschrieben werden können, -die auf stetige oder sogar differenzierbare Art von der Zeit abhängen. -Die Menge der Matrizen, die zur Beschreibung solcher Symmetrien benutzt -werden, muss also eine zusätzliche Struktur haben, die ermöglicht, -sinnvoll über Stetigkeit und Differenzierbarkeit bei Matrizen -zu sprechen. - -Die Menge der Matrizen bilden zunächst eine Gruppe, -die zusätzliche differenziarbare Struktur macht daraus -eine sogenannte Lie-Gruppe. -Die Ableitungen nach einem Parameter liegen in der sogenannten -Lie-Algebra, einer Matrizen-Algebra mit dem antisymmetrischen -Lie-Klammer-Produkt $[A,B]=AB-BA$, auch Kommutator genannt. -Lie-Gruppe und Lie-Algebra sind eng miteinander verknüpft, -so eng, dass sich die meisten Eigenschaften der Gruppe aus den Eigenschaften -der Lie-Gruppe aus der Lie-Algebra ableiten lassen. -Die Verbindung wird hergestellt durch die Exponentialabbildung. -Ziel dieses Kapitels ist, die Grundzüge dieses interessanten -Zusammenhangs darzustellen. - -\input{chapters/60-gruppen/symmetrien.tex} -\input{chapters/60-gruppen/lie-gruppen.tex} -\input{chapters/60-gruppen/lie-algebren.tex} -\input{chapters/60-gruppen/homogen.tex} - - - +%
+% chapter.tex
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\chapter{Matrizengruppen
+\label{buch:chapter:matrizengruppen}}
+\lhead{Matrizengruppen}
+\rhead{}
+Matrizen können dazu verwendet werden, Symmetrien von geometrischen oder
+physikalischen Systemen zu beschreiben.
+Neben diskreten Symmetrien wie zum Beispiel Spiegelungen gehören dazu
+auch kontinuierliche Symmetrien wie Translationen oder Invarianz einer
+phyisikalischen Grösse über die Zeit.
+Solche Symmetrien müssen durch Matrizen beschrieben werden können,
+die auf stetige oder sogar differenzierbare Art von der Zeit abhängen.
+Die Menge der Matrizen, die zur Beschreibung solcher Symmetrien benutzt
+werden, muss also eine zusätzliche Struktur haben, die ermöglicht,
+sinnvoll über Stetigkeit und Differenzierbarkeit bei Matrizen
+zu sprechen.
+
+Die Menge der Matrizen bilden zunächst eine Gruppe,
+die zusätzliche differenziarbare Struktur macht daraus
+eine sogenannte Lie-Gruppe.
+Die Ableitungen nach einem Parameter liegen in der sogenannten
+Lie-Algebra, einer Matrizen-Algebra mit dem antisymmetrischen
+Lie-Klammer-Produkt $[A,B]=AB-BA$, auch Kommutator genannt.
+Lie-Gruppe und Lie-Algebra sind eng miteinander verknüpft,
+so eng, dass sich die meisten Eigenschaften der Gruppe aus den Eigenschaften
+der Lie-Gruppe aus der Lie-Algebra ableiten lassen.
+Die Verbindung wird hergestellt durch die Exponentialabbildung.
+Ziel dieses Kapitels ist, die Grundzüge dieses interessanten
+Zusammenhangs darzustellen.
+
+\input{chapters/60-gruppen/symmetrien.tex}
+\input{chapters/60-gruppen/lie-gruppen.tex}
+\input{chapters/60-gruppen/lie-algebren.tex}
+%\input{chapters/60-gruppen/homogen.tex}
+
+\section*{Übungsaufgaben}
+\rhead{Übungsaufgaben}
+\aufgabetoplevel{chapters/60-gruppen/uebungsaufgaben}
+\begin{uebungsaufgaben}
+\uebungsaufgabe{6002}
+\uebungsaufgabe{6001}
+\end{uebungsaufgaben}
+
diff --git a/buch/chapters/60-gruppen/images/Makefile b/buch/chapters/60-gruppen/images/Makefile new file mode 100644 index 0000000..8cd824f --- /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/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..67c8d70 --- /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..ff6331e --- /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..2305b26 --- /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..f6df172 --- /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..c41308c --- /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..ee09c36 --- /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 366d280..482ba6f 100644 --- a/buch/chapters/60-gruppen/lie-algebren.tex +++ b/buch/chapters/60-gruppen/lie-algebren.tex @@ -1,263 +1,647 @@ -% -% lie-algebren.tex -- Lie-Algebren -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Lie-Algebren -\label{buch:section:lie-algebren}} -\rhead{Lie-Algebren} -Im vorangegangenen Abschnitt wurde gezeigt, dass alle beschriebenen -Matrizengruppen als Untermannigfaltigkeiten im $n^2$-dimensionalen -Vektorraum $M_n(\mathbb{R}9$ betrachtet werden können. -Die Gruppen haben damit nicht nur die algebraische Struktur einer -Matrixgruppe, sie haben auch die geometrische Struktur einer -Mannigfaltigkeit. -Insbesondere ist es sinnvoll, von Ableitungen zu sprechen. - -Eindimensionale Untergruppen einer Gruppe können auch als Kurven -innerhalb der Gruppe angesehen werden. -In diesem Abschnitt soll gezeigt werden, wie man zu jeder eindimensionalen -Untergruppe einen Vektor in $M_n(\mathbb{R})$ finden kann derart, dass -der Vektor als Tangentialvektor an diese Kurve gelten kann. -Aus einer Abbildung zwischen der Gruppe und diesen Tagentialvektoren -erhält man dann auch eine algebraische Struktur auf diesen Tangentialvektoren, -die sogenannte Lie-Algebra. -Sie ist charakteristisch für die Gruppe. -Insbesondere werden wir sehen, wie die Gruppen $\operatorname{SO}(3)$ -und $\operatorname{SU}(2)$ die gleich Lie-Algebra haben und dass die -Lie-Algebra von $\operatorname{SO}(3)$ mit dem Vektorprodukt in $\mathbb{R}^3$ -übereinstimmt. - -% -% Tangentialvektoren und SO(2) -% -\subsection{Tangentialvektoren und $\operatorname{SO}(2)$} -Die Drehungen in der Ebene können reell als Matrizen der Form -\[ -D_{\alpha} -= -\begin{pmatrix} -\cos\alpha&-\sin\alpha\\ -\sin\alpha& \cos\alpha -\end{pmatrix} -\] -als eidimensionale Kurve innerhalb von $M_2(\mathbb{R})$ beschrieben -werden. -Alternativ können Drehungen um den Winkel $\alpha$ als mit Hilfe von -der Abbildung -$ -\alpha\mapsto e^{i\alpha} -$ -als komplexe Zahlen vom Betrag $1$ beschrieben werden. -Dies sind zwei verschiedene Parametrisierungen der gleichen -geometrischen Transformation. - -Die Ableitung nach $\alpha$ ist $ie^{i\alpha}$, der Tangentialvektor -im Punkt $e^{i\alpha}$ ist also $ie^{i\alpha}$. -Die Multiplikation mit $i$ ist die Drehung um $90^\circ$, der Tangentialvektor -ist also der um $90^\circ$ gedrehte Ortsvektor zum Punkt auf der Kurve. - -In der Darstelllung als $2\times 2$-Matrix ist die Ableitung -\[ -\frac{d}{d\alpha}D_\alpha -= -\frac{d}{d\alpha} -\begin{pmatrix} -\cos\alpha& -\sin\alpha\\ -\sin\alpha& \cos\alpha -\end{pmatrix} -= -\begin{pmatrix} --\sin\alpha & -\cos\alpha \\ - \cos\alpha & -\sin\alpha -\end{pmatrix}. -\] -Die rechte Seite kann wieder mit der Drehmatrix $D_\alpha$ geschrieben -werden, es ist nämlich -\[ -\frac{d}{d\alpha}D_\alpha -= -\begin{pmatrix} --\sin\alpha & -\cos\alpha \\ - \cos\alpha & -\sin\alpha -\end{pmatrix} -= -\begin{pmatrix} -\cos\alpha & -\sin\alpha\\ -\sin\alpha & \cos\alpha -\end{pmatrix} -\begin{pmatrix} -0&-1\\ -1& 0 -\end{pmatrix} -= -D_\alpha J. -\] -Der Tangentialvektor an die Kurve $\alpha\mapsto D_\alpha$ innerhalb -$M_2(\mathbb{R})$ im Punkt $D_\alpha$ ist also die Matrix -$JD_\alpha$. -Die Matrix $J$ ist die Drehung um $90^\circ$, denn $J=D_{\frac{\pi}2}$. -Der Zusammenhang zwischen dem Punkt $D_\alpha$ und dem Tangentialvektor -ist also analog zur Beschreibug mit komplexen Zahlen. - -Im Komplexen vermittelt die Exponentialfunktion den Zusammenhang zwischen -dem Winkel $\alpha$ und dre Drehung $e^{i\alpha}$. -Der Grund dafür ist natürlich die Differentialgleichung -\[ -\frac{d}{d\alpha} z(\alpha) = iz(\alpha). -\] -Die analoge Differentialgleichung -\[ -\frac{d}{d\alpha} D_\alpha = J D_\alpha -\] -führt auf die Matrix-Exponentialreihe -\begin{align*} -D_\alpha -= -\exp (J\alpha) -&= -\sum_{k=0}^\infty \frac{(J\alpha)^k}{k!} -= -I\biggl( -1-\frac{\alpha^2}{2!} + \frac{\alpha^4}{4!} -\frac{\alpha^6}{6!}+\dots -\biggr) -+ -J\biggl( -\alpha - \frac{\alpha^3}{3!} -+ \frac{\alpha^5}{5!} -- \frac{\alpha^7}{7!}+\dots -\biggr) -\\ -&= -I\cos\alpha -+ -J\sin\alpha, -\end{align*} -welche der Eulerschen Formel $e^{i\alpha} = \cos\alpha + i \sin\alpha$ -analog ist. - -In diesem Beispiel gibt es nur eine Tangentialrichtung und alle in Frage -kommenden Matrizen vertauschen miteinander. -Es ist daher nicht damit zu rechnen, dass sich eine interessante -Algebrastruktur für die Ableitungen konstruieren lässt. - -% -% Die Lie-Algebra einer Matrizengruppe -% -\subsection{Lie-Algebra einer Matrizengruppe} -Das eindimensionale Beispiel $\operatorname{SO}(2)$ hat gezeigt, dass -die Tangentialvektoren in einem beliebigen Punkt $D_\alpha$ aus dem -Tangentialvektor im Punkt $I$ durch Anwendung der Drehung hervorgehen, -die $I$ in $D_\alpha$ abbildet. -Die Drehungen einer eindimensionalen Untergruppe transportieren daher -den Tangentialvektor in $I$ entlang der Kurve auf jeden beliebigen -anderen Punkt. -Zu jedem Tangentialvektor im Punkt $I$ dürfte es daher genau eine -eindimensionale Untergruppe geben. - -Sei die Abbildung $\varrho\colon\mathbb{R}\to G$ eine Einparameter-Untergruppe -von $G\subset M_n(\mathbb{R})$. -Durch Ableitung der Gleichung $\varrho(t+x) = \varrho(t)\varrho(x)$ nach -$x$ folgt die Differentialgleichung -\[ -\varrho'(t) -= -\frac{d}{dx}\varrho(t+x)\bigg|_{x=0} -= -\varrho(t) \frac{d}{dx}\varrho(0)\bigg|_{x=0} -= -\varrho(t) \varrho'(0). -\] -Der Tangentialvektor in $\varrho'(t)$ in $\varrho(t)$ ist daher -der Tangentialvektor $\varrho'(0)$ in $I$ transportiert in den Punkt -$\varrho(t)$ mit Hilfe der Matrix $\varrho(t)$. - -Aus der Differentialgleichung folgt auch, dass -\[ -\varrho(t) = \exp (t\varrho'(0)). -\] -Zu einem Tangentialvektor in $I$ kann man also immer die -Einparameter-Untergruppe mit Hilfe der Differentialgleichung -oder der expliziten Exponentialreihe rekonstruieren. - -Die eindimensionale Gruppe $\operatorname{SO}(2)$ ist abelsch und -hat einen eindimensionalen Tangentialraum, man kann also nicht mit -einer interessanten Algebrastruktur rechnen. -Für eine höherdimensionale, nichtabelsche Gruppe sollte sich aus -der Tatsache, dass es verschiedene eindimensionale Untergruppen gibt, -deren Elemente nicht mit den Elemente einer anderen solchen Gruppe -vertauschen, eine interessante Algebra konstruieren lassen, deren -Struktur die Nichtvertauschbarkeit wiederspiegelt. - -Seien also $A$ und $B$ Tangentialvektoren einer Matrizengruppe $G$, -die zu den Einparameter-Untergruppen $\varphi(t)=\exp At$ und -$\varrho(t)=\exp Bt$ gehören. -Insbesondere gilt $\varphi'(0)=A$ und $\varrho'(0)=B$. -Das Produkt $\pi(t)=\varphi(t)\varrho(t)$ ist allerdings nicht notwendigerweise -eine Einparametergruppe, denn dazu müsste gelten -\begin{align*} -\pi(t+s) -&= -\varphi(t+s)\varrho(t+s) -= -\varphi(t)\varphi(s)\varrho(t)\varrho(s) -\\ -= -\pi(t)\pi(s) -&= -\varphi(t)\varrho(t)\varphi(s)\varrho(s) -\end{align*} -Durch Multiplikation von links mit $\varphi(t)^{-1}$ und -mit $\varrho(s)^{-1}$ von rechts folgt, dass dies genau dann gilt, -wenn -\[ -\varphi(s)\varrho(t)=\varrho(t)\varphi(s). -\] -Die beiden Seiten dieser Gleichung sind erneut verschiedene Punkte -in $G$. -Durch Multiplikation mit $\varrho(t)^{-1}$ von links und mit -$\varphi(s)^{-1}$ von rechts erhält man die äquivaliente -Bedingung -\begin{equation} -\varrho(-t)\varphi(s)\varrho(t)\varphi(-s)=I. -\label{buch:lie:konjugation} -\end{equation} -Ist die Gruppe $G$ nicht kommutativ, kann man nicht -annehmen, dass diese Bedingung erfüllt ist. - -Aus \eqref{buch:lie:konjugation} erhält man jetzt eine Kurve -\[ -t \mapsto \gamma(t,s) = \varrho(-t)\varphi(s)\varrho(t)\varphi(-s) \in G -\] -in der Gruppe, die für $t=0$ durch $I$ geht. -Ihren Tangentialvektor kann man durch Ableitung bekommen: -\begin{align*} -\frac{d}{dt}\gamma(t,s) -&= --\varrho'(-t)\varphi(s)\varrho(t)\varphi(-s) -+\varrho(-t)\varphi(s)\varrho'(t)\varphi(-t) -\\ -\frac{d}{dt}\gamma(t)\bigg|_{t=0} -&= --B\varphi(s) + \varphi(-s)B -\end{align*} -Durch erneute Ableitung nach $s$ erhält man dann -\begin{align*} -\frac{d}{ds} \frac{d}{dt}\gamma(t,s)\bigg|_{t=0} -&= --B\varphi'(s) - \varphi(-s)B -\end{align*} - -% -% Die Lie-Algebra von SO(3) -% -\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$} - -% -% Die Lie-Algebra von SU(2) -% -\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$} - - - - +%
+% lie-algebren.tex -- Lie-Algebren
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Lie-Algebren
+\label{buch:section:lie-algebren}}
+\rhead{Lie-Algebren}
+Im vorangegangenen Abschnitt wurde gezeigt, dass alle beschriebenen
+Matrizengruppen als Untermannigfaltigkeiten im $n^2$-dimensionalen
+Vektorraum $M_n(\mathbb{R}9$ betrachtet werden können.
+Die Gruppen haben damit nicht nur die algebraische Struktur einer
+Matrixgruppe, sie haben auch die geometrische Struktur einer
+Mannigfaltigkeit.
+Insbesondere ist es sinnvoll, von Ableitungen zu sprechen.
+
+Eindimensionale Untergruppen einer Gruppe können auch als Kurven
+innerhalb der Gruppe angesehen werden.
+In diesem Abschnitt soll gezeigt werden, wie man zu jeder eindimensionalen
+Untergruppe einen Vektor in $M_n(\mathbb{R})$ finden kann derart, dass
+der Vektor als Tangentialvektor an diese Kurve gelten kann.
+Aus einer Abbildung zwischen der Gruppe und diesen Tagentialvektoren
+erhält man dann auch eine algebraische Struktur auf diesen Tangentialvektoren,
+die sogenannte Lie-Algebra.
+Sie ist charakteristisch für die Gruppe.
+Insbesondere werden wir sehen, wie die Gruppen $\operatorname{SO}(3)$
+und $\operatorname{SU}(2)$ die gleich Lie-Algebra haben und dass die
+Lie-Algebra von $\operatorname{SO}(3)$ mit dem Vektorprodukt in $\mathbb{R}^3$
+übereinstimmt.
+
+%
+% Die Lie-Algebra einer Matrizengruppe
+%
+\subsection{Lie-Algebra einer Matrizengruppe
+\label{buch:section:lie-algebra-einer-matrizengruppe}}
+Zu jedem Tangentialvektor $A$ im Punkt $I$ einer Matrizengruppe gibt es
+eine Einparameteruntergruppe, die mit Hilfe der Exponentialfunktion
+$e^{At}$ konstruiert werden kann.
+Für die folgende Konstruktion arbeiten wir in der Gruppe
+$\operatorname{GL}_n(\mathbb{R})$, in der jede Matrix auch ein
+Tangentialvektor ist.
+Wir werden daraus die Lie-Klammer ableiten und später verifizieren,
+dass diese auch für die Tangentialvektoren der Gruppen
+$\operatorname{SO}(n)$ oder $\operatorname{SL}_n(\mathbb{R})$ funktioniert.
+
+\subsubsection{Lie-Klammer}
+Zu zwei verschiedenen Tagentialvektoren $A\in M_n(\mathbb{R})$ und
+$B\in M_n(\mathbb{R})$ gibt es zwei verschiedene Einparameteruntergruppen
+$e^{At}$ und $e^{Bt}$.
+Wenn die Matrizen $A$ und $B$ oder die Einparameteruntergruppen
+$e^{At}$ und $e^{Bt}$ vertauschbar sind, dann stimmen
+$e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ nicht überein.
+Die zugehörigen Potenzreihen sind:
+\begin{align*}
+e^{At}
+&=
+I+At + \frac{A^2t^2}{2!} + \frac{A^3t^3}{3!} + \dots
+\\
+e^{Bt}
+&=
+I+Bt + \frac{B^2t^2}{2!} + \frac{B^3t^3}{3!} + \dots
+\\
+e^{At}e^{Bt}
+&=
+\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr)
+\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr)
+\\
+&=
+I+(A+B)t + \biggl(\frac{A^2}{2!}+AB+\frac{B^2}{2!}\biggr)t^2 +\dots
+\\
+e^{Bt}e^{At}
+&=
+\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr)
+\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr)
+\\
+&=
+I+(B+A)t + \biggl(\frac{B^2}{2!}+BA+\frac{A^2}{2!}\biggr)t^2 +\dots
+\intertext{%
+Die beiden Kurven $e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ haben zwar den gleichen
+Tangentialvektor für $t=0$, sie unterscheiden
+sich aber untereinander, und sie unterscheiden sich von der
+Einparameteruntergruppe von $A+B$}
+e^{(A+B)t}
+&=
+I + (A+B)t + \frac{t^2}{2}(A^2 + AB + BA + B^2) + \ldots
+\intertext{Für die Unterschiede finden wir}
+e^{At}e^{Bt} - e^{(A+B)t}
+&=
+\biggl(AB-\frac{AB+BA}2\biggr)t^2
++\ldots
+=
+(AB-BA) \frac{t^2}{2} + \ldots
+=
+[A,B]\frac{t^2}{2}+\ldots
+\\
+e^{Bt}e^{At} - e^{(A+B)t}
+&=
+\biggl(BA-\frac{AB+BA}2\biggr)t^2
++\ldots
+=
+(BA-AB)
+\frac{t^2}{2}
++\ldots
+=
+-[A,B]\frac{t^2}{2}
+\\
+e^{At}e^{Bt}-e^{Bt}e^{At}
+&=
+(AB-BA)t^2+\ldots
+=
+\phantom{-}[A,B]t^2+\ldots
+\end{align*}
+wobei mit $[A,B]=AB-BA$ abgekürzt wird.
+
+\begin{definition}
+\label{buch:gruppen:def:kommutator}
+Der Kommutator zweier Matrizen $A,B\in M_n(\mathbb{R})$ ist die Matrix
+$[A,B]=AB-BA$.
+\end{definition}
+
+Der Kommutator ist bilinear und antisymmetrisch, da
+\begin{align*}
+[\lambda A+\mu B,C]
+&=
+\lambda AC+\mu BC-\lambda CA -\mu CB
+=
+\lambda[A,C]+\mu[B,C]
+\\
+[A,\lambda B+\mu C]
+&=
+\lambda AB + \mu AC - \lambda BA - \mu CA
+=
+\lambda[A,B]+\mu[A,C]
+\\
+[A,B]
+&=
+AB-BA = -(BA-AB) = -[B,A].
+\end{align*}
+Aus der letzten Bedingung folgt insbesodnere $[A,A]=0$
+
+Der Kommutator $[A,B]$ misst in niedrigster Ordnung den Unterschied
+zwischen den $e^{At}$ und $e^{Bt}$.
+Der Kommutator der Tangentialvektoren $A$ und $B$ bildet also die
+Nichtkommutativität der Matrizen $e^{At}$ und $e^{Bt}$ ab.
+
+
+\subsubsection{Die Jacobi-Identität}
+Der Kommutator hat die folgende zusätzliche algebraische Eigenschaft:
+\begin{align*}
+[A,[B,C]]
++
+[B,[C,A]]
++
+[C,[A,B]]
+&=
+[A,BC-CB]
++
+[B,CA-AC]
++
+[C,AB-BA]
+\\
+&=\phantom{+}
+ABC-ACB-BCA+CBA
+\\
+&\phantom{=}+
+BCA-BAC-CAB+ACB
+\\
+&\phantom{=}+
+CAB-CBA-ABC+BAC
+\\
+&=0.
+\end{align*}
+Diese Eigenschaft findet man auch bei anderen Strukturen, zum Beispiel
+bei Vektorfeldern, die man als Differentialoperatoren auf Funktionen
+betrachten kann.
+Man kann dann einen Kommutator $[X,Y]$ für zwei Vektorfelder
+$X$ und $Y$ definieren.
+Dieser Kommutator von Vektorfeldern erfüllt ebenfalls die gleiche
+Identität.
+
+\begin{definition}
+\label{buch:gruppen:def:jacobi}
+Ein bilineares Produkt $[\;,\;]\colon V\times V\to V$ auf dem Vektorraum
+erfüllt die {\em Jacobi-Identität}, wenn
+\[
+[u,[v,w]] + [v,[w,u]] + [w,[u,v]]=0
+\]
+ist für beliebige Vektoren $u,v,w\in V$.
+\end{definition}
+
+\subsubsection{Lie-Algebra}
+Die Tangentialvektoren einer Lie-Gruppe tragen also mit dem Kommutator
+eine zusätzliche Struktur, nämlich die Struktur einer Lie-Algebra.
+
+\begin{definition}
+Ein Vektorraum $V$ mit einem bilinearen, Produkt
+\[
+[\;,\;]\colon V\times V \to V : (u,v) \mapsto [u,v],
+\]
+welches zusätzlich die Jacobi-Identität~\ref{buch:gruppen:def:jacobi}
+erfüllt, heisst eine {\em Lie-Algebra}.
+\end{definition}
+
+Die Lie-Algebra einer Lie-Gruppe $G$ wird mit $LG$ bezeichnet.
+$LG$ besteht aus den Tangentialvektoren im Punkt $I$.
+Die Exponentialabbildung $\exp\colon LG\to G:A\mapsto e^A$
+ist eine differenzierbare Abbildung von $LG$ in die Gruppe $G$.
+Insbesondere kann die Inverse der Exponentialabbildung als eine
+Karte in einer Umgebung von $I$ verwendet werden.
+
+Für die Lie-Algebren der Matrizengruppen, die früher definiert worden
+sind, verwenden wir die als Notationskonvention, dass der Name der
+Lie-Algebra der mit kleinen Buchstaben geschrieben Name der Lie-Gruppe ist.
+Die Lie-Algebra von $\operatorname{SO}(n)$ ist also
+$L\operatorname{SO}(n) = \operatorname{os}(n)$,
+die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ ist
+$L\operatorname{SL}_n(\mathbb{R})=\operatorname{sl}_n(\mathbb{R})$.
+
+
+%
+% Die Lie-Algebra von SO(3)
+%
+\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$
+\label{buch:subsection:die-lie-algebra-von-so3}}
+Zur Gruppe $\operatorname{SO}(3)$ der Drehmatrizen gehört die Lie-Algebra
+$\operatorname{so}(3)$ der antisymmetrischen $3\times 3$-Matrizen.
+Solche Matrizen haben die Form
+\[
+\Omega
+=
+\begin{pmatrix}
+ 0 & \omega_3&-\omega_2\\
+-\omega_3& 0 & \omega_1\\
+ \omega_2&-\omega_1& 0
+\end{pmatrix}
+\]
+Der Vektorraum $\operatorname{so}(3)$ ist also dreidimensional.
+
+Die Wirkung von $I+t\Omega$ auf einem Vektor $x$ ist
+\[
+(I+t\Omega)
+\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix}
+=
+\begin{pmatrix}
+ 1 & t\omega_3&-t\omega_2\\
+-t\omega_3& 1 & t\omega_1\\
+ t\omega_2&-t\omega_1& 1
+\end{pmatrix}
+\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix}
+=
+\begin{pmatrix}
+x_1-t(-\omega_3x_2+\omega_2x_3)\\
+x_2-t( \omega_3x_1-\omega_1x_3)\\
+x_3-t(-\omega_2x_1+\omega_1x_2)
+\end{pmatrix}
+=
+x- t\begin{pmatrix}\omega_1\\\omega_2\\\omega_3\end{pmatrix}\times x
+=
+x+ tx\times \omega.
+\]
+Die Matrix $\Omega$ ist als die infinitesimale Version einer Drehung
+um die Achse $\omega$.
+
+Wir können die Analogie zwischen Matrizen in $\operatorname{so}(3)$ und
+Vektoren in $\mathbb R^3$ noch etwas weiter treiben. Zu jedem Vektor
+in $\mathbb R^3$ konstruieren wir eine Matrix in $\operatorname{so}(3)$
+mit Hilfe der Abbildung
+\[
+\mathbb R^3\to\operatorname{so}(3)
+:
+\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix}
+\mapsto
+\begin{pmatrix}
+ 0 & v_3&-v_1\\
+-v_3& 0 & v_2\\
+ v_1&-v_2& 0
+\end{pmatrix}.
+\]
+Der Kommutator von zwei so aus Vektoren $\vec u$ und $\vec v$
+konstruierten Matrizen $U$ und $V$ ist:
+\begin{align*}
+[U,V]
+&=
+UV-VU
+\\
+&=
+\begin{pmatrix}
+ 0 & u_3&-u_1\\
+-u_3& 0 & u_2\\
+ u_1&-u_2& 0
+\end{pmatrix}
+\begin{pmatrix}
+ 0 & v_3&-v_1\\
+-v_3& 0 & v_2\\
+ v_1&-v_2& 0
+\end{pmatrix}
+-
+\begin{pmatrix}
+ 0 & v_3&-v_1\\
+-v_3& 0 & v_2\\
+ v_1&-v_2& 0
+\end{pmatrix}
+\begin{pmatrix}
+ 0 & u_3&-u_1\\
+-u_3& 0 & u_2\\
+ u_1&-u_2& 0
+\end{pmatrix}
+\\
+&=
+\begin{pmatrix}
+u_3v_3+u_1v_1 - u_3v_3 - u_1v_1
+ & u_1v_2 - u_2v_1
+ & u_3v_2 - u_2v_3
+\\
+u_2v_1 - u_1v_2
+ & -u_3v_3-u_2v_2 + u_3v_3+u_2v_2
+ & u_3v_1 - u_1v_3
+\\
+u_2v_3 - u_3v_2
+ & u_1v_3 - u_3v_1
+ &-u_1v_1-u_2v_2 u_1v_1+u_2v_2
+\end{pmatrix}
+\\
+&=
+\begin{pmatrix}
+0
+ & u_1v_2 - u_2v_1
+ &-(u_2v_3-u_3v_2)
+\\
+-( u_1v_2 - u_2v_1)
+ & 0
+ & u_3v_1 - u_1v_3
+\\
+u_2v_3 - u_3v_2
+ &-( u_3v_1 - u_1v_3)
+ & 0
+\end{pmatrix}
+\end{align*}
+Die Matrix $[U,V]$ gehört zum Vektor $\vec u\times\vec v$.
+Damit können wir aus der Jacobi-Identität jetzt folgern, dass
+\[
+\vec u\times(\vec v\times w)
++
+\vec v\times(\vec w\times u)
++
+\vec w\times(\vec u\times v)
+=0
+\]
+für drei beliebige Vektoren $\vec u$, $\vec v$ und $\vec w$ ist.
+Dies bedeutet, dass der dreidimensionale Vektorraum $\mathbb R^3$
+mit dem Vektorprodukt zu einer Lie-Algebra wird.
+In der Tat verwenden einige Bücher statt der vertrauten Notation
+$\vec u\times \vec v$ für das Vektorprodukt die aus der Theorie der
+Lie-Algebren entlehnte Notation $[\vec u,\vec v]$, zum Beispiel
+das Lehrbuch der Theoretischen Physik \cite{skript:landaulifschitz1}
+von Landau und Lifschitz.
+
+Die Lie-Algebren sind vollständig klassifiziert worden, es gibt
+keine nicht trivialen zweidimensionalen Lie-Algebren.
+Unser dreidimensionaler Raum ist also auch in dieser Hinsicht speziell:
+es ist der kleinste Vektorraum, in dem eine nichttriviale Lie-Algebra-Struktur
+möglich ist.
+
+Die antisymmetrischen Matrizen
+\[
+\omega_{23}
+=
+\begin{pmatrix} 0&1&0\\-1&0&0\\0&0&0\end{pmatrix}
+\quad
+\omega_{31}
+=
+\begin{pmatrix} 0&0&-1\\0&0&0\\1&0&0\end{pmatrix}
+\quad
+\omega_{12}
+=
+\begin{pmatrix} 0&0&0\\0&0&1\\0&-1&0\end{pmatrix}
+\]
+haben die Kommutatoren
+\begin{equation}
+\begin{aligned}
+[\omega_{23},\omega_{31}]
+&=
+\begin{pmatrix}
+0&0&0\\
+0&0&1\\
+0&-1&0
+\end{pmatrix}
+=
+\omega_{12}
+\\
+[\omega_{31},\omega_{12}]
+&=
+\begin{pmatrix}
+0&1&0\\
+-1&0&0\\
+0&0&0
+\end{pmatrix}
+=
+\omega_{23}
+\\
+[\omega_{12},\omega_{23}]
+&=
+\begin{pmatrix}
+0&0&-1\\
+0&0&0\\
+1&0&0
+\end{pmatrix}
+=
+\omega_{31}
+\end{aligned}
+\label{buch:gruppen:eqn:so3-kommutatoren}
+\end{equation}
+
+\subsection{Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$}
+Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ besteht aus den
+spurlosen Matrizen in $M_n(\mathbb{R})$.
+Der Kommutator solcher Matrizen erfüllt
+\[
+\operatorname{Spur}([A,B])
+=
+\operatorname{Spur}(AB-BA)
+=
+\operatorname{Spur}(AB)-\operatorname{Spur}(BA)
+=
+0,
+\]
+somit ist
+\[
+\operatorname{sl}_n(\mathbb{R})
+=
+\{
+A\in M_n(\mathbb{R})\;|\; \operatorname{Spur}(A)=0
+\}
+\]
+mit dem Kommutator eine Lie-Algebra.
+
+%
+% Die Lie-Algebra von U(n)
+%
+\subsection{Die Lie-Algebra von $\operatorname{U}(n)$}
+Die Lie-Gruppe
+\[
+U(n)
+=
+\{
+A\in M_n(\mathbb{C}
+\;|\;
+AA^*=I
+\}
+\]
+heisst die unitäre Gruppe, sie besteht aus den Matrizen, die
+das sesquilineare Standardskalarprodukt auf dem komplexen
+Vektorraum $\mathbb{C}^n$ invariant lassen.
+Sei eine $\gamma(t)$ ein differenzierbare Kurve in $\operatorname{U}(n)$
+derart, dass $\gamma(0)=I$.
+Die Ableitung der Identität $AA^*=I$ führt dann auf
+\begin{align*}
+0
+=
+\frac{d}{dt}
+\gamma(t)\gamma(t)^*
+\bigg|_{t=0}
+=
+\dot{\gamma}(0)\gamma(0)^*
++
+\gamma(0)\dot{\gamma}(0)^*
+=
+\dot{\gamma}(0)
++
+\dot{\gamma}(0)^*
+\quad\Rightarrow\quad
+\dot{\gamma}(0)&=-\dot{\gamma}(0)^*.
+A&=-A^*
+\end{align*}
+Die Lie-Algebra $\operatorname{u}(n)$ besteht daher aus den antihermiteschen
+Matrizen.
+
+Wir sollten noch verifizieren, dass der Kommutator zweier antihermiteschen
+Matrizen wieder anithermitesch ist:
+\begin{align*}
+[A,B]^*
+&=
+(AB-BA)^*
+=
+B^*A^*-A^*B^*
+=
+BA - AB
+=
+-[B,A].
+\end{align*}
+
+Eine antihermitesche Matrix erfüllt $a_{ij}=-\overline{a}_{ji}$,
+für die Diagonalelemente folgt daher $a_{ii} = -\overline{a}_{ii}$
+oder $\overline{a}_{ii}=-a_{ii}$.
+Der Realteil von $a_{ii}$ ist
+\[
+\Re a_{ii}
+=
+\frac{a_{ii}+\overline{a}_{ii}}2
+=
+0,
+\]
+die Diagonalelemente einer antihermiteschen Matrix sind daher rein
+imaginär.
+
+
+%
+% Die Lie-Algebra SU(2)
+%
+\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$}
+Die Lie-Algebra $\operatorname{su}(n)$ besteht aus den
+spurlosen antihermiteschen Matrizen.
+Sie erfüllen daher die folgenden Bedingungen:
+\[
+A=\begin{pmatrix}a&b\\c&d\end{pmatrix}
+\qquad
+\text{mit}
+\qquad
+\left\{
+\begin{aligned}
+a+d&=0&&\Rightarrow& a=is = -d
+\\
+b^*&=-c
+\end{aligned}
+\right.
+\]
+Damit hat $A$ die Form
+\begin{align*}
+A=\begin{pmatrix}
+is&u+iv\\
+-u+iv&-is
+\end{pmatrix}
+&=
+s
+\begin{pmatrix}
+i&0\\
+0&-i
+\end{pmatrix}
++
+u
+\begin{pmatrix}
+ 0&1\\
+-1&0
+\end{pmatrix}
++
+v
+\begin{pmatrix}
+0&i\\
+i&0
+\end{pmatrix}
+\\
+&=
+iv\underbrace{\begin{pmatrix}0&1\\1&0\end{pmatrix}}_{\displaystyle=\sigma_1}
++
+iu\underbrace{\begin{pmatrix}0&-i\\i&0\end{pmatrix}}_{\displaystyle=\sigma_2}
++
+is\underbrace{\begin{pmatrix}1&0\\0&-1\end{pmatrix}}_{\displaystyle=\sigma_3}
+\end{align*}
+Diese Matrizen heissen die {\em Pauli-Matrizen}, sie haben die Kommutatoren
+\begin{align*}
+[\sigma_1,\sigma_2]
+&=
+\begin{pmatrix}0&1\\1&0\end{pmatrix}
+\begin{pmatrix}0&-i\\i&0\end{pmatrix}
+-
+\begin{pmatrix}0&-i\\i&0\end{pmatrix}
+\begin{pmatrix}0&1\\1&0\end{pmatrix}
+=
+2\begin{pmatrix}i&0\\0&-i \end{pmatrix}
+=
+2i\sigma_3,
+\\
+[\sigma_2,\sigma_3]
+&=
+\begin{pmatrix}0&-i\\i&0\end{pmatrix}
+\begin{pmatrix}1&0\\0&-1\end{pmatrix}
+-
+\begin{pmatrix}1&0\\0&-1\end{pmatrix}
+\begin{pmatrix}0&-i\\i&0\end{pmatrix}
+=
+2
+\begin{pmatrix}0&i\\i&0\end{pmatrix}
+=
+2i\sigma_1.
+\\
+[\sigma_1,\sigma_3]
+&=
+\begin{pmatrix}0&1\\1&0\end{pmatrix}
+\begin{pmatrix}1&0\\0&-1\end{pmatrix}
+-
+\begin{pmatrix}1&0\\0&-1\end{pmatrix}
+\begin{pmatrix}0&1\\1&0\end{pmatrix}
+=
+2i
+\begin{pmatrix}0&-1\\1&0\end{pmatrix}
+=
+2i\sigma_2,
+\end{align*}
+Bis auf eine Skalierung stimmt dies überein mit den Kommutatorprodukten
+der Matrizen $\omega_{23}$, $\omega_{31}$ und $\omega_{12}$
+in \eqref{buch:gruppen:eqn:so3-kommutatoren}.
+Die Matrizen $-\frac12i\sigma_j$ haben die Kommutatorprodukte
+\begin{align*}
+\bigl[-{\textstyle\frac12}i\sigma_1,-{\textstyle\frac12}i\sigma_2\bigr]
+&=
+-{\textstyle\frac14}[\sigma_1,\sigma_2]
+=
+-{\textstyle\frac14}\cdot 2i\sigma_3
+=
+-{\textstyle\frac12}i\sigma_3
+\\
+\bigl[-{\textstyle\frac12}i\sigma_2,-{\textstyle\frac12}i\sigma_3\bigr]
+&=
+-{\textstyle\frac14}[\sigma_2,\sigma_3]
+=
+-{\textstyle\frac14}\cdot 2i\sigma_1
+=
+-{\textstyle\frac12}i\sigma_1
+\\
+\bigl[-{\textstyle\frac12}i\sigma_3,-{\textstyle\frac12}i\sigma_1\bigr]
+&=
+-{\textstyle\frac14}[\sigma_3,\sigma_1]
+=
+-{\textstyle\frac14}\cdot 2i\sigma_2
+=
+-{\textstyle\frac12}i\sigma_2
+\end{align*}
+Die lineare Abbildung, die
+\begin{align*}
+\omega_{23}&\mapsto -{\textstyle\frac12}i\sigma_1\\
+\omega_{31}&\mapsto -{\textstyle\frac12}i\sigma_2\\
+\omega_{12}&\mapsto -{\textstyle\frac12}i\sigma_3
+\end{align*}
+abbildet ist daher ein Isomorphismus der Lie-Algebra $\operatorname{so}(3)$
+auf die Lie-Algebra $\operatorname{su}(2)$.
+Die Lie-Gruppen $\operatorname{SO}(3)$ und $\operatorname{SU}(2)$
+haben also die gleiche Lie-Algebra.
+
+Tatsächlich kann man Hilfe von Quaternionen die Matrix $\operatorname{SU}(2)$
+als Einheitsquaternionen beschreiben und damit eine Darstellung der
+Drehmatrizen in $\operatorname{SO}(3)$ finden.
+Dies wird in Kapitel~\ref{chapter:clifford} dargestellt.
+
+
+
+
+
diff --git a/buch/chapters/60-gruppen/lie-gruppen.tex b/buch/chapters/60-gruppen/lie-gruppen.tex index 1268ce2..2c88b76 100644 --- a/buch/chapters/60-gruppen/lie-gruppen.tex +++ b/buch/chapters/60-gruppen/lie-gruppen.tex @@ -1,326 +1,881 @@ -% -% lie-gruppen.tex -- Lie-Gruppebn -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Lie-Gruppen -\label{buch:section:lie-gruppen}} -\rhead{Lie-Gruppen} - -\subsection{Drehungen in der Ebene -\label{buch:gruppen:drehungen2d}} -Drehungen der Ebene können in einer orthonormierten Basis durch -Matrizen der Form -\[ -D_{\alpha} -= -\begin{pmatrix} -\cos\alpha&-\sin\alpha\\ -\sin\alpha& \cos\alpha -\end{pmatrix} -\] -dargestellt werden. -Wir bezeichnen die Menge der Drehmatrizen in der Ebene mit -$\operatorname{SO}(2)\subset\operatorname{GL}_2(\mathbb{R})$. -Die Abbildung -\[ -D_{\bullet} -\colon -\mathbb{R}\to \operatorname{SO}(2) -: -\alpha \mapsto D_{\alpha} -\] -hat die Eigenschaften -\begin{align*} -D_{\alpha+\beta}&= D_{\alpha}D_{\beta} -\\ -D_0&=I -\\ -D_{2k\pi}&=I\qquad \forall k\in\mathbb{Z}. -\end{align*} -Daraus folgt zum Beispiel, dass $D_{\bullet}$ eine $2\pi$-periodische -Funktion ist. -$D_{\bullet}$ bildet die Menge der Winkel $[0,2\pi)$ bijektiv auf -die Menge der Drehmatrizen in der Ebene ab. - -Ein alternatives Bild für die Drehungen der Ebene kann man in der komplexen -Ebene $\mathbb{C}$ erhalten. -Die Multiplikation mit der komplexen Zahl $e^{i\alpha}$ beschreibt eine -Drehung der komplexen Ebene um den Winkel $\alpha$. -Die Zahlen der Form $e^{i\alpha}$ haben den Betrag $1$ und die Abbildung -\[ -f\colon \mathbb{R}\to \mathbb{C}:\alpha \mapsto e^{i\alpha} -\] -hat die Eigenschaften -\begin{align*} -f(\alpha+\beta) &= f(\alpha)f(\beta) -\\ -f(0)&=1 -\\ -f(2\pi k)&=1\qquad\forall k\in\mathbb{Z}, -\end{align*} -die zu den Eigenschaften der Abbildung $\alpha\mapsto D_{\alpha}$ -analog sind. - -Jede komplexe Zahl $z$ vom Betrag $1$ kann geschrieben werden in der Form -$z=e^{i\alpha}$, die Abbildung $f$ ist also eine Parametrisierung des -Einheitskreises in der Ebene. -Wir bezeichen $S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ die komplexen Zahlen vom -Betrag $1$. -$S^1$ ist eine Gruppe bezüglich der Multiplikation, da für jede Zahl -$z,w\in S^1$ gilt -$|z^{-1}|=1$ und $|zw|=1$ und damit $z^{-1}\in S^1$ und $zw\in S^1$. - -Zu einer komplexen Zahl $z\in S^1$ gibt es einen bis auf Vielfache -von $2\pi$ eindeutigen Winkel $\alpha(z)$ derart, dass $e^{i\alpha(z)}=z$. -Damit kann man jetzt die Abbildung -\[ -\varphi -\colon -S^1\to \operatorname{SO}(2) -: -z\mapsto D_{\alpha(z)} -\] -konstruieren. -Da $D_{\alpha}$ $2\pi$-periodisch ist, geben um Vielfache -von $2\pi$ verschiedene Wahlen von $\alpha(z)$ die gleiche -Matrix $D_{\alpha(z)}$, die Abbildung $\varphi$ ist daher -wohldefiniert. -$\varphi$ erfüllt ausserdem die Bedingungen -\begin{align*} -\varphi(z_1z_2) -&= -D_{\alpha(z_1z_2)} -= -D_{\alpha(z_1)+\alpha(z_2)} -= -D_{\alpha(z_1)}D_{\alpha(z_2)} -= -\varphi(z_1)\varphi(z_2) -\\ -\varphi(1) -&= -D_{\alpha(1)} -= -D_0 -= -I -\end{align*} -Die Abbildung $\varphi$ ist ein Homomorphismus der Gruppe $S^1$ -in die Gruppe $\operatorname{SO}(2)$. -Die Menge der Drehmatrizen in der Ebene kann also mit dem Einheitskreis -in der komplexen Ebene identifiziert werden. - -% -% Isometrien von R^n -% -\subsection{Isometrien von $\mathbb{R}^n$ -\label{buch:gruppen:isometrien}} -Lineare Abbildungen der Ebene $\mathbb{R}^n$ mit dem üblichen Skalarprodukt -können durch $n\times n$-Matrizen beschrieben werden. -Die Matrizen, die das Skalarprodukt erhalten, bilden eine Gruppe, -die in diesem Abschnitt genauer untersucht werden soll. -Eine Matrix $A\in M_{2}(\mathbb{R})$ ändert das Skalarprodukt nicht, wenn -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{Die Gruppe $\operatorname{SO}(n)$} -Die Gruppe $\operatorname{O}(n)$ enhält auch Isometrien, die -die Orientierung des Raumes umkehren, wie zum Beispiel Spiegelungen. -Wegen $\det (AA^t)=\det A\det A^t = (\det A)^2=1$ kann die Determinante -einer orthogonalen Matrix nur $\pm 1$ sein. -Orientierungserhaltende Isometrien haben Determinante $1$. - -Die Gruppe -\[ -\operatorname{SO}(n) -= -\{A\in\operatorname{O}(n)\;|\; \det A=1\} -\] -heisst die {\em spezielle orthogonale Gruppe}. -Die Dimension der Gruppe $\operatorname{O}(n)$ ist $n(n-1)/2$. - -\subsubsection{Die Gruppe $\operatorname{SO}(3)$} -Die Gruppe $\operatorname{SO}(3)$ der Drehungen des dreidimensionalen -Raumes hat die Dimension $3(3-1)/2=3$. -Eine Drehung wird festgelegt durch die Richtung der Drehachse und den -Drehwinkel. -Die Richtung der Drehachse ist ein Einheitsvektor, also ein Punkt -auf der zweidimensionalen Kugel. -Der Drehwinkel ist der dritte Parameter. - -Drehungen mit kleinen Drehwinkeln können zusammengesetzt werden -aus den Matrizen -\[ -D_{x,\alpha} -= -\begin{pmatrix} -1&0&0\\ -0&\cos\alpha&-\sin\alpha\\ -0&\sin\alpha& \cos\alpha -\end{pmatrix}, -\qquad -D_{y,\beta} -= -\begin{pmatrix} - \cos\beta&0&\sin\beta\\ - 0 &1& 0 \\ --\sin\beta&0&\cos\beta -\end{pmatrix}, -\qquad -D_{z,\gamma} -= -\begin{pmatrix} -\cos\gamma&-\sin\gamma&0\\ -\sin\gamma& \cos\gamma&0\\ - 0 & 0 &1 -\end{pmatrix}, -\] -die Drehungen um die Koordinatenachsen um den Winkel $\alpha$ -beschreiben. -Auch die Winkel $\alpha$, $\beta$ und $\gamma$ können als die -drei Koordinaten der Mannigkfaltigkeit $\operatorname{SO}(3)$ -angesehen werden. - -% -% Die Gruppe SU(2) -% -\subsection{Die Gruppe $\operatorname{SU}(2)$ -\label{buch:gruppen:su2}} -Die Menge der Matrizen -\[ -\operatorname{SU}(2) -= -\left\{ -\left. -A=\begin{pmatrix} a&b\\c&d\end{pmatrix} -\;\right|\; -a,b,c,d\in\mathbb{C},\det(A)=1, AA^*=I -\right\} -\] -heisst die {\em spezielle unitäre Gruppe}. -Wegen $\det(AB)=\det(A)\det(B)=1$ und $(AB)^*AB=B^*A^*AB=B^*B=I$ ist -$\operatorname{SU}(2)$ eine Untergruppe von $\operatorname{GL}_2(\mathbb{C})$. -Die Bedingungen $\det A=1$ und $AA^*=I$ schränken die möglichen Werte -von $a$ und $b$ weiter ein. -Aus -\[ -A^* -= -\begin{pmatrix} -\overline{a}&\overline{c}\\ -\overline{b}&\overline{d} -\end{pmatrix} -\] -und den Bedingungen führen die Gleichungen -\[ -\begin{aligned} -a\overline{a}+b\overline{b}&=1 -&&\Rightarrow&|a|^2+|b|^2&=1 -\\ -a\overline{c}+b\overline{d}&=0 -&&\Rightarrow& -\frac{a}{b}&=-\frac{\overline{d}}{\overline{c}} -\\ -c\overline{a}+d\overline{b}&=0 -&&\Rightarrow& -\frac{c}{d}&=-\frac{\overline{b}}{\overline{a}} -\\ -c\overline{c}+d\overline{d}&=1&&\Rightarrow&|c|^2+|d|^2&=1 -\\ -ad-bc&=1 -\end{aligned} -\] -Aus der zweiten Gleichung kann man ableiten, dass es eine Zahl $t\in\mathbb{C}$ -gibt derart, dass $c=-t\overline{b}$ und $d=t\overline{a}$. -Damit wird die Bedingung an die Determinante zu -\[ -1 -= -ad-bc = at\overline{a} - b(-t\overline{b}) -= -t(|a|^2+|b|^2) -= -t, -\] -also muss die Matrix $A$ die Form haben -\[ -A -= -\begin{pmatrix} -a&b\\ --\overline{b}&\overline{a} -\end{pmatrix} -\qquad\text{mit}\quad |a|^2+|b|^2=1. -\] -Schreibt man $a=a_1+ia_2$ und $b=b_1+ib_2$ mit rellen $a_i$ und $b_i$, -dann besteht $SU(2)$ aus den Matrizen der Form -\[ -A= -\begin{pmatrix} - a_1+ia_2&b_1+ib_2\\ --b_1+ib_2&a_1-ia_2 -\end{pmatrix} -\] -mit der zusätzlichen Bedingung -\[ -|a|^2+|b|^2 -= -a_1^2 + a_2^2 + b_1^2 + b_2^2 = 1. -\] -Die Matrizen von $\operatorname{SU}(2)$ stehen daher in einer -eins-zu-eins-Beziehung zu den Vektoren $(a_1,a_2,b_1,b_2)\in\mathbb{R}^4$ -eines vierdimensionalen reellen Vektorraums mit Länge $1$. -Geometrisch betrachtet ist also $\operatorname{SU}(2)$ eine dreidmensionalen -Kugel, die in einem vierdimensionalen Raum eingebettet ist. - - - +%
+% lie-gruppen.tex -- Lie-Gruppebn
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Lie-Gruppen
+\label{buch:section:lie-gruppen}}
+\rhead{Lie-Gruppen}
+Die in bisherigen Beispielen untersuchten Matrizengruppen zeichnen sich
+durch zusätzliche Eigenschaften aus.
+Die Gruppe
+\[
+\operatorname{GL}_n(\mathbb{R})
+=
+\{ A \in M_n(\mathbb{R})\;|\; \det A \ne 0\}
+\]
+besteht aus den Matrizen, deren Determinante nicht $0$ ist.
+Da die Menge der Matrizen mit $\det A=0$ eine abgeschlossene Menge
+in $M_n(\mathbb{R}) \simeq \mathbb{R}^{n^2}$ ist, ist
+$\operatorname{GL}_n(\mathbb{R})$ eine offene Teilmenge in $\mathbb{R}^{n^2}$,
+sie besitzt also automatisch die Struktur einer $n^2$-Mannigfaltigkeit.
+Dies gilt jedoch auch für alle anderen Matrizengruppen, die in diesem
+Abschnitt genauer untersucht werden sollen.
+
+\subsection{Mannigfaltigkeitsstruktur der Matrizengruppen
+\label{buch:subsection:mannigfaltigkeitsstruktur-der-matrizengruppen}}
+Eine Matrizengruppe wird automatsich zu einer Mannigfaltigkeit,
+wenn es gelingt, eine Karte für eine Umgebung des neutralen Elements
+zu finden.
+Dazu muss gezeigt werden, dass sich aus einer solchen Karte für jedes
+andere Gruppenelement eine Karte für eine Umgebung ableiten lässt.
+Sei also $\varphi_e\colon U_e\mathbb{R}^N$ eine Karte für die Umgebung
+$U_e\subset G$ von $e\in G$.
+Für $g\in G$ ist dann die Abbildung
+\[
+\varphi_g
+\colon
+U_g
+=
+gU_e
+\to
+\mathbb{R}
+:
+h\mapsto \varphi_e(g^{-1}h)
+\]
+eine Karte für die Umgebung $U_g$ des Gruppenelementes $g$.
+schreibt man $l_{g}$ für die Abbildung $h\mapsto gh$, dann
+kann man die Kartenabbildung auch $\varphi_g = \varphi_e\circ l_{g^{-1}}$
+schreiben.
+
+\subsubsection{Kartenwechsel}
+Die Kartenwechsel-Abbildungen für zwei Karten $\varphi_{g_1}$
+und $\varphi_{g_2}$ ist die Abbildung
+\[
+\varphi_{g_1,g_2}
+=
+\varphi_{g_1}\circ \varphi_{g_2}^{-1}
+=
+\varphi_e\circ l_{g_1^{-1}} \circ (\varphi_e\circ l_{g_2^{-1}})^{-1}
+=
+\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2^{-1}}^{-1} \varphi_e^{-1}
+=
+\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2}\varphi_e^{-1}
+=
+\varphi_e\circ l_{g_1^{-1}g_2}\varphi_e^{-1}
+\]
+mit der Ableitung
+\[
+D\varphi_e\circ Dl_{g_1^{-1}g_2} D\varphi_e^{-1}
+=
+D\varphi_e\circ Dl_{g_1^{-1}g_2} (D\varphi_e)^{-1}.
+\]
+Die Abbildung $l_{g_1^{-1}g_2}$ ist aber nur die Multiplikation mit
+einer Matrix, also eine lineare Abbildung, so dass der Kartenwechsel
+nichts anderes ist als die Darstellung der Matrix der Linksmultiplikation
+$l_{g_1^{-1}g_2}$ im Koordinatensystem der Karte $U_e$ ist.
+Differenzierbarkeit der Kartenwechsel ist damit sichergestellt,
+die Matrizengruppen sind automatisch differenzierbare Mannigfaltigkeiten.
+
+Die Konstruktion aller Karten aus einer einzigen Karte für eine
+Umgebung des neutralen Elements zeigt auch, dass es für die Matrizengruppen
+reicht, wenn man die Elemente in einer Umgebung des neutralen
+Elementes parametrisieren kann.
+Dies ist jedoch nicht nur für die Matrizengruppen möglich.
+Wenn eine Gruppe gleichzeitig eine differenzierbare Mannigfaltigkeit
+ist, dann können Karten über die ganze Gruppe transportiert werden,
+wenn die Multiplikation mit Gruppenelementen eine differenzierbare
+Abbildung ist.
+Solche Gruppen heissen auch Lie-Gruppen gemäss der folgenden Definition.
+
+\begin{definition}
+\index{Lie-Gruppe}%
+Eine {\em Lie-Gruppe} ist eine Gruppe, die gleichzeitig eine differenzierbare
+Mannigfaltigkeit ist derart, dass die Abbildungen
+\begin{align*}
+G\times G \to G &: (g_1,g_2)\mapsto g_1g_2
+\\
+G\to G &: g \mapsto g^{-1}
+\end{align*}
+differenzierbare Abbildungen zwischen Mannigfaltigkeiten sind.
+\end{definition}
+
+Die Abstraktheit dieser Definition täuscht etwas über die
+Tatsache hinweg, dass sich mit Hilfe der Darstellungstheorie
+jede beliebige Lie-Gruppe als Untermannigfaltigkeit einer
+Matrizengruppe verstehen lässt.
+Das Studium der Matrizengruppen erlaubt uns daher ohne grosse
+Einschränkungen ein Verständnis für die Theorie der Lie-Gruppen
+zu entwickeln.
+
+\subsubsection{Tangentialvektoren und die Exponentialabbildung}
+Die Matrizengruppen sind alle in der
+$n^2$-dimensionalen Mannigfaltigkeit $\operatorname{GL}_n(\mathbb{R})$
+enthalten.
+Diffferenzierbare Kurven $\gamma(t)$ in $\operatorname{GL}_n(\mathbb{R})$
+haben daher in jedem Punkt Tangentialvektoren, die als Matrizen in
+$M_n(\mathbb{R})$ betrachtet werden können.
+Wenn $\gamma(t)$ die Matrixelemente $\gamma_{ij}(t)$ hat, dann ist der
+Tangentialvektor im Punkt $\gamma(t)$ durch
+\[
+\frac{d}{dt}
+\gamma(t)
+=
+\begin{pmatrix}
+\dot{\gamma}_{11}(t)&\dots &\dot{\gamma}_{1n}(t)\\
+\vdots &\ddots&\vdots \\
+\dot{\gamma}_{n1}(t)&\dots &\dot{\gamma}_{nn}(t)
+\end{pmatrix}
+\]
+gegeben.
+
+Im Allgemeinen kann man Tangentialvektoren in verschiedenen Punkten
+einer Mannigfaltigkeit nicht miteinander vergleichen.
+Die Multiplikation $l_g$, die den Punkt $e$ in den Punkt $g$ verschiebt,
+transportiert auch die Tangentialvektoren im Punkt $e$ in
+Tangentialvektoren im Punkt $g$.
+
+\begin{aufgabe}
+Gibt es eine Kurve $\gamma(t)\in\mathbb{GL}_n(\mathbb{R})$ mit
+$\gamma(0)=e$ derart, dass der Tangentialvektor im Punkt $\gamma(t)$
+für $t>0$ derselbe ist wie der Tangentialvektor im Punkt $e$, transportiert
+durch Matrixmultiplikation mit $\gamma(t)$?
+\end{aufgabe}
+
+Eine solche Kurve muss die Differentialgleichung
+\begin{equation}
+\frac{d}{dt}\gamma(t)
+=
+\gamma(t)\cdot A
+\label{buch:gruppen:eqn:expdgl}
+\end{equation}
+erfüllen, wobei $A\in M_n(\mathbb{R})$ der gegebene Tangentialvektor
+in $e=I$ ist.
+
+Die Matrixexponentialfunktion
+\[
+e^{At}
+=
+1+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\frac{A^4t^4}{4!}+\dots
+\]
+liefert eine Einparametergruppe
+$\mathbb{R}\to \operatorname{GL}_n(\mathbb{R})$ mit der Ableitung
+\[
+\frac{d}{dt} e^{At}
+=
+\lim_{h\to 0} \frac{e^{A(t+h)}-e^{At}}{h}
+=
+\lim_{h\to 0} e^{At}\frac{e^{Ah}-I}{h}
+=
+e^{At} A.
+\]
+Sie ist also Lösung der Differentialgleichung~\eqref{buch:gruppen:eqn:expdgl}.
+
+\subsection{Drehungen in der Ebene
+\label{buch:gruppen:drehungen2d}}
+Die Drehungen der Ebene sind die orientierungserhaltenden Symmetrien
+des Einheitskreises, der in Abbildung~\ref{buch:gruppen:fig:kartenkreis}
+als Mannigfaltigkeit erkannt wurde.
+Sie bilden eine Lie-Gruppe, die auf verschiedene Arten als Matrix
+beschrieben werden kann.
+
+\subsubsection{Die Untergruppe
+$\operatorname{SO}(2)\subset \operatorname{GL}_2(\mathbb{R})$}
+Drehungen der Ebene können in einer orthonormierten Basis durch
+Matrizen der Form
+\[
+D_{\alpha}
+=
+\begin{pmatrix}
+\cos\alpha&-\sin\alpha\\
+\sin\alpha& \cos\alpha
+\end{pmatrix}
+\]
+dargestellt werden.
+Wir bezeichnen die Menge der Drehmatrizen in der Ebene mit
+$\operatorname{SO}(2)\subset\operatorname{GL}_2(\mathbb{R})$.
+Die Abbildung
+\[
+D_{\bullet}
+\colon
+\mathbb{R}\to \operatorname{SO}(2)
+:
+\alpha \mapsto D_{\alpha}
+\]
+hat die Eigenschaften
+\begin{align*}
+D_{\alpha+\beta}&= D_{\alpha}D_{\beta}
+\\
+D_0&=I
+\\
+D_{2k\pi}&=I\qquad \forall k\in\mathbb{Z}.
+\end{align*}
+Daraus folgt zum Beispiel, dass $D_{\bullet}$ eine $2\pi$-periodische
+Funktion ist.
+$D_{\bullet}$ bildet die Menge der Winkel $[0,2\pi)$ bijektiv auf
+die Menge der Drehmatrizen in der Ebene ab.
+
+Für jedes Intervall $(a,b)\subset\mathbb{R}$ mit Länge
+$b-a < 2\pi$ ist die Abbildung $\alpha\mapsto D_{\alpha}$ umkehrbar,
+die Umkehrung kann als Karte verwendet werden.
+Zwei verschiedene Karten $\alpha_1\colon U_1\to\mathbb{R}$ und
+$\alpha_2\colon U_2\to\mathbb{R}$ bilden die Elemente $g\in U_1\cap U_2$
+in Winkel $\alpha_1(g)$ und $\alpha_2(g)$ ab, für die
+$D_{\alpha_1(g)}=D_{\alpha_2(g)}$ gilt.
+Dies ist gleichbedeutend damit, dass $\alpha_1(g)=\alpha_2(g)+2\pi k$
+mit $k\in \mathbb{Z}$.
+In einem Intervall in $U_1\cap U_2$ muss $k$ konstant sein.
+Die Kartenwechselabblidung ist also nur die Addition eines Vielfachen
+von $2\pi$, mit der identischen Abbildung als Ableitung.
+Diese Karten führen also auf besonders einfache Kartenwechselabbildungen.
+
+\subsubsection{Die Untergruppe $S^1\subset\mathbb{C}$}
+Ein alternatives Bild für die Drehungen der Ebene kann man in der komplexen
+Ebene $\mathbb{C}$ erhalten.
+Die Multiplikation mit der komplexen Zahl $e^{i\alpha}$ beschreibt eine
+Drehung der komplexen Ebene um den Winkel $\alpha$.
+Die Zahlen der Form $e^{i\alpha}$ haben den Betrag $1$ und die Abbildung
+\[
+f\colon \mathbb{R}\to \mathbb{C}:\alpha \mapsto e^{i\alpha}
+\]
+hat die Eigenschaften
+\begin{align*}
+f(\alpha+\beta) &= f(\alpha)f(\beta)
+\\
+f(0)&=1
+\\
+f(2\pi k)&=1\qquad\forall k\in\mathbb{Z},
+\end{align*}
+die zu den Eigenschaften der Abbildung $\alpha\mapsto D_{\alpha}$
+analog sind.
+
+Jede komplexe Zahl $z$ vom Betrag $1$ kann geschrieben werden in der Form
+$z=e^{i\alpha}$, die Abbildung $f$ ist also eine Parametrisierung des
+Einheitskreises in der Ebene.
+Wir bezeichen $S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ die komplexen Zahlen vom
+Betrag $1$.
+$S^1$ ist eine Gruppe bezüglich der Multiplikation, da für jede Zahl
+$z,w\in S^1$ gilt
+$|z^{-1}|=1$ und $|zw|=1$ und damit $z^{-1}\in S^1$ und $zw\in S^1$.
+
+Zu einer komplexen Zahl $z\in S^1$ gibt es einen bis auf Vielfache
+von $2\pi$ eindeutigen Winkel $\alpha(z)$ derart, dass $e^{i\alpha(z)}=z$.
+Damit kann man jetzt die Abbildung
+\[
+\varphi
+\colon
+S^1\to \operatorname{SO}(2)
+:
+z\mapsto D_{\alpha(z)}
+\]
+konstruieren.
+Da $D_{\alpha}$ $2\pi$-periodisch ist, geben um Vielfache
+von $2\pi$ verschiedene Wahlen von $\alpha(z)$ die gleiche
+Matrix $D_{\alpha(z)}$, die Abbildung $\varphi$ ist daher
+wohldefiniert.
+$\varphi$ erfüllt ausserdem die Bedingungen
+\begin{align*}
+\varphi(z_1z_2)
+&=
+D_{\alpha(z_1z_2)}
+=
+D_{\alpha(z_1)+\alpha(z_2)}
+=
+D_{\alpha(z_1)}D_{\alpha(z_2)}
+=
+\varphi(z_1)\varphi(z_2)
+\\
+\varphi(1)
+&=
+D_{\alpha(1)}
+=
+D_0
+=
+I
+\end{align*}
+Die Abbildung $\varphi$ ist ein Homomorphismus der Gruppe $S^1$
+in die Gruppe $\operatorname{SO}(2)$.
+Die Menge der Drehmatrizen in der Ebene kann also mit dem Einheitskreis
+in der komplexen Ebene identifiziert werden.
+
+\subsubsection{Tangentialvektoren von $\operatorname{SO}(2)$}
+Da die Gruppe $\operatorname{SO}(2)$ eine eindimensionale Gruppe
+ist, kann jede Kurve $\gamma(t)$ durch den Drehwinkel $\alpha(t)$
+mit $\gamma(t) = D_{\alpha(t)}$ beschrieben werden.
+Die Ableitung in $M_2(\mathbb{R})$ ist
+\begin{align*}
+\frac{d}{dt} \gamma(t)
+&=
+\frac{d}{d\alpha}
+\begin{pmatrix}
+\cos\alpha(t) & - \sin\alpha(t)\\
+\sin\alpha(t) & \cos\alpha(t)
+\end{pmatrix}
+\cdot
+\frac{d\alpha}{dt}
+\\
+&=
+\begin{pmatrix}
+-\sin\alpha(t)&-\cos\alpha(t)\\
+ \cos\alpha(t)&-\sin\alpha(t)
+\end{pmatrix}
+\cdot
+\dot{\alpha}(t)
+\\
+&=
+\begin{pmatrix}
+\cos\alpha(t) & - \sin\alpha(t)\\
+\sin\alpha(t) & \cos\alpha(t)
+\end{pmatrix}
+\begin{pmatrix}
+0&-1\\
+1&0
+\end{pmatrix}
+\cdot
+\dot{\alpha}(t)
+=
+D_{\alpha(t)}J\cdot\dot{\alpha}(t).
+\end{align*}
+Alle Tangentialvektoren von $\operatorname{SO}(2)$ im Punkt $D_\alpha$
+entstehen aus $J$ durch Drehung mit der Matrix $D_\alpha$ und Skalierung
+mit $\dot{\alpha}(t)$.
+
+%
+% Isometrien von R^n
+%
+\subsection{Isometrien von $\mathbb{R}^n$
+\label{buch:gruppen:isometrien}}
+
+\subsubsection{Skalarprodukt}
+Lineare Abbildungen des Raumes $\mathbb{R}^n$ können durch
+$n\times n$-Matrizen beschrieben werden.
+Die Matrizen, die das Standardskalarprodukt $\mathbb{R}^n$ erhalten,
+bilden eine Gruppe, die in diesem Abschnitt genauer untersucht werden soll.
+Eine Matrix $A\in M_{n}(\mathbb{R})$ ändert das Skalarprodukt, wenn
+für jedes beliebige Paar $x,y$ von Vektoren gilt
+$\langle Ax,Ay\rangle = \langle x,y\rangle$.
+Das Standardskalarprodukt kann mit dem Matrixprodukt ausgedrückt werden:
+\[
+\langle Ax,Ay\rangle
+=
+(Ax)^tAy
+=
+x^tA^tAy
+=
+x^ty
+=
+\langle x,y\rangle
+\]
+für jedes Paar von Vektoren $x,y\in\mathbb{R}$.
+
+Mit dem Skalarprodukt kann man auch die Matrixelemente einer Matrix
+einer Abbildung $f$ in der Standardbasis bestimmen.
+Das Skalarprodukt $\langle e_i, v\rangle$ ist die Länge der Projektion
+des Vektors $v$ auf die Richtung $e_i$.
+Die Komponenten von $Ae_j$ sind daher $a_{ij}=\langle e_i,f(e_j)\rangle$.
+Die Matrix $A$ der Abbildung $f$ hat also die Matrixelemente
+$a_{ij}=e_i^tAe_j$.
+
+\subsubsection{Die orthogonale Gruppe $\operatorname{O}(n)$}
+Die Matrixelemente von $A^tA$ sind
+$\langle A^tAe_i, e_j\rangle =\langle e_i,e_j\rangle = \delta_{ij}$
+sind diejenigen der Einheitsmatrix,
+die Matrix $A$ erfüllt $AA^t=I$ oder $A^{-1}=A^t$.
+Dies sind die {\em orthogonalen} Matrizen.
+Die Menge $\operatorname{O}(n)$ der isometrischen Abbildungen besteht
+daher aus den Matrizen
+\[
+\operatorname{O}(n)
+=
+\{ A\in M_n(\mathbb{R})\;|\; AA^t=I\}.
+\]
+Die Matrixgleichung $AA^t=I$ liefert $n(n+1)/2$ unabhängige Bedingungen,
+die die orthogonalen Matrizen innerhalb der $n^2$-dimensionalen
+Menge $M_n(\mathbb{R})$ auszeichnen.
+Die Menge $\operatorname{O}(n)$ der orthogonalen Matrizen hat daher
+die Dimension
+\[
+n^2 - \frac{n(n+1)}{2}
+=
+\frac{2n^2-n^2-n}{2}
+=
+\frac{n(n-1)}2.
+\]
+Im Spezialfall $n=2$ ist die Gruppe $O(2)$ eindimensional.
+
+\subsubsection{Tangentialvektoren}
+Die orthogonalen Matrizen bilden eine abgeschlossene Untermannigfaltigkeit
+von $\operatorname{GL}_n(\mathbb{R})$, nicht jede Matrix $M_n(\mathbb{R})$
+kann also ein Tangentialvektor von $O(n)$ sein.
+Um herauszufinden, welche Matrizen als Tangentialvektoren in Frage
+kommen, betrachten wir eine Kurve $\gamma\colon\mathbb{R}\to O(n)$
+von orthogonalen Matrizen mit $\gamma(0)=I$.
+Orthogonal bedeutet
+\[
+\begin{aligned}
+&&
+0
+&=
+\frac{d}{dt}I
+=
+\frac{d}{dt}
+(\gamma(t)^t\gamma(t))
+=
+\dot{\gamma}(t)^t\gamma(t))
++
+\gamma(t)^t\dot{\gamma}(t))
+\\
+&\Rightarrow&
+0
+&=
+\dot{\gamma}(0)^t \cdot I + I\cdot \dot{\gamma(0)}
+=
+\dot{\gamma}(0)^t + \dot{\gamma}(0)
+=
+A^t+A=0
+\\
+&\Rightarrow&
+A^t&=-A
+\end{aligned}
+\]
+Die Tangentialvektoren von $\operatorname{O}(n)$ sind also genau
+die antisymmetrischen Matrizen.
+
+Für $n=2$ sind alle antisymmetrischen Matrizen Vielfache der Matrix
+$J$, wie in Abschnitt~\ref{buch:gruppen:drehungen2d}
+gezeigt wurde.
+
+Für jedes Paar $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 cb07475..c0a0fb8 100644 --- a/buch/chapters/60-gruppen/symmetrien.tex +++ b/buch/chapters/60-gruppen/symmetrien.tex @@ -1,108 +1,725 @@ -% -% symmetrien.tex -- Geometrische Beschreibung von Symmetrien, O(n), SO(n), -% Spiegelungen -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Symmetrien -\label{buch:section:symmetrien}} -\rhead{Symmetrien} -Der geometrische Begriff der Symmetrie meint die Eigenschaft eines -geometrischen Objektes, dass es bei einer Bewegung auf sich selbst -abgebildet wird. -Das Wort stammt aus dem altgriechischen, wo es {\em Gleichmass} -bedeutet. -Spiegelsymmetrische Objekte zeichnen sich zum Beispiel dadurch aus, -dass Messungen von Strecken die gleichen Werte ergeben wie die Messungen -der entsprechenden gespiegelten Strecken (siehe auch -Abbildung~\ref{buch:lie:bild:castlehoward}, was die Herkunft des -Begriffs verständlich macht. -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/60-gruppen/images/castle.jpeg} -\caption{Das Castle Howard in Yorkshire war in dieser ausgeprägt symmetrischen -Form geplant, wurde dann aber in modifizeirter Form gebaut. -Messungen zwischen Punkten in der rechten Hälfte des Bildes -ergeben die gleichen Werte wie Messungen entsprechenden Strecken -in der linken Hälfte, was den Begriff Symmetrie rechtfertigt. -\label{buch:lie:bild:castlehoward}} -\end{figure} -In der Physik wird dem Begriff der Symmetrie daher auch eine erweiterte -Bedeutung gegeben. -Jede Transformation eines Systems, welche bestimmte Grössen nicht -verändert, wird als Symmetrie bezeichnet. -Die Gesetze der Physik sind typischerweise unabhängig davon, wo man den -den Nullpunkt der Zeit oder das räumlichen Koordinatensystems ansetzt, -eine Transformation des Zeitnullpunktes oder des Ursprungs des -Koordinatensystems ändert daher die Bewegungsgleichungen nicht, sie ist -eine Symmetrie des Systems. - -Umgekehrt kann man fragen, welche Symmetrien ein System hat. -Da sich Symmetrien zusammensetzen und umkehren lassen, kann man in davon -ausgehen, dass die Symmetrietransformationen eine Gruppe bilden. -Besonders interessant ist dies im Falle von Transformationen, die -durch Matrizen beschrieben weren. -Eine unter der Symmetrie erhaltene Eigenschaft definiert so eine -Untergruppe der Gruppe $\operatorname{GL}_n(\mathbb{R})$ der -invertierbaren Matrizen. -Die erhaltenen Eigenschaften definieren eine Menge von Gleichungen, -denen die Elemente der Untergruppe genügen müssen. -Als Lösungsmenge einer Gleichung erhält die Untergruppe damit eine -zusätzliche geometrische Struktur, man nennt sie eine differenzierbare -Mannigfaltigkeit. -Dieser Begriff wird im Abschnitt~\ref{buch:subsection:mannigfaltigkeit} -eingeführt. -Es wird sich zum Beispiel zeigen, dass die Menge der Drehungen der -Ebene mit den Punkten eines Kreises parametrisieren lassen, -die Lösungen der Gleichung $x^2+y^2=1$ sind. - -Eine Lie-Gruppe ist eine Gruppe, die gleichzeitig eine differenzierbare -Mannigfaltigkeit ist. -Die Existenz von geometrischen Konzepten wie Tangentialvektoren -ermöglicht zusätzliche Werkzeuge, mit denen diese Gruppe untersucht -und verstanden werden können. -Ziel dieses Abschnitts ist, die Grundlagen für diese Untersuchung zu -schaffen, die dann im Abschnitt~\ref{buch:section:lie-algebren} -durchgeführt werden soll. - -\subsection{Algebraische Symmetrien -\label{buch:subsection:algebraische-symmetrien}} -Mit Matrizen lassen sich Symmetrien in einem geometrischen Problem -oder in einem physikalischen System beschreiben. -Man denkt dabei gerne zuerst an geometrische Symmetrien wie die -Symmetrie unter Punktspiegelung oder die Spiegelung an der $x_1$-$x_2$-Ebene, -wie sie zum Beispiel durch die Abbildungen -\[ -\mathbb{R}^3\to\mathbb{R}^3 : x\mapsto -x -\qquad\text{oder}\qquad -\mathbb{R}^3\to\mathbb{R}^3 : -\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} -\mapsto -\begin{pmatrix}-x_1\\x_2\\x_3\end{pmatrix} -\] -dargestellt werden. -Beide haben zunächst die Eigenschaft, dass Längen und Winkel und damit -das Skalarprodukt erhalten sind. -Diese Eigenschaft allein erlaubt aber noch nicht, die beiden Transformationen -zu unterscheiden. -Die Punktspiegelung zeichnet sich dadurch aus, das alle Geraden und alle -Ebenen durch den Ursprung auf sich selbst abgebildet werden. -Dies funktioniert für die Ebenenspiegelung nicht, dort bleibt nur die -Spiegelungsebene (die $x_1$-$x_2$-Ebene im vorliegenden Fall) und -ihre Normale erhalten. -Die folgenden Beispiele sollen zeigen, wie solche Symmetriedefinitionen -auf algebraische Bedingungen an die Matrixelemente führen. - - -\subsection{Manningfaltigkeiten -\label{buch:subsection:mannigfaltigkeit}} - -\subsection{Der Satz von Noether -\label{buch:subsection:noether}} - - - - - - - +%
+% symmetrien.tex -- Geometrische Beschreibung von Symmetrien, O(n), SO(n),
+% Spiegelungen
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Symmetrien
+\label{buch:section:symmetrien}}
+\rhead{Symmetrien}
+Der geometrische Begriff der Symmetrie meint die Eigenschaft eines
+geometrischen Objektes, dass es bei einer Bewegung auf sich selbst
+abgebildet wird.
+Das Wort stammt aus dem altgriechischen, wo es {\em Gleichmass}
+bedeutet.
+Spiegelsymmetrische Objekte zeichnen sich zum Beispiel dadurch aus,
+dass Messungen von Strecken die gleichen Werte ergeben wie die Messungen
+der entsprechenden gespiegelten Strecken (siehe auch
+Abbildung~\ref{buch:lie:bild:castlehoward}, was die Herkunft des
+Begriffs verständlich macht.
+\begin{figure}
+\centering
+\includegraphics[width=\textwidth]{chapters/60-gruppen/images/castle.jpeg}
+\caption{Das Castle Howard in Yorkshire war in dieser ausgeprägt symmetrischen
+Form geplant, wurde dann aber in modifizeirter Form gebaut.
+Messungen zwischen Punkten in der rechten Hälfte des Bildes
+ergeben die gleichen Werte wie Messungen entsprechenden Strecken
+in der linken Hälfte, was den Begriff Symmetrie rechtfertigt.
+\label{buch:lie:bild:castlehoward}}
+\end{figure}
+In der Physik wird dem Begriff der Symmetrie daher auch eine erweiterte
+Bedeutung gegeben.
+Jede Transformation eines Systems, welche bestimmte Grössen nicht
+verändert, wird als Symmetrie bezeichnet.
+Die Gesetze der Physik sind typischerweise unabhängig davon, wo man den
+den Nullpunkt der Zeit oder das räumlichen Koordinatensystems ansetzt,
+eine Transformation des Zeitnullpunktes oder des Ursprungs des
+Koordinatensystems ändert daher die Bewegungsgleichungen nicht, sie ist
+eine Symmetrie des Systems.
+
+Umgekehrt kann man fragen, welche Symmetrien ein System hat.
+Da sich Symmetrien zusammensetzen und umkehren lassen, kann man in davon
+ausgehen, dass die Symmetrietransformationen eine Gruppe bilden.
+Besonders interessant ist dies im Falle von Transformationen, die
+durch Matrizen beschrieben weren.
+Eine unter der Symmetrie erhaltene Eigenschaft definiert so eine
+Untergruppe der Gruppe $\operatorname{GL}_n(\mathbb{R})$ der
+invertierbaren Matrizen.
+Die erhaltenen Eigenschaften definieren eine Menge von Gleichungen,
+denen die Elemente der Untergruppe genügen müssen.
+Als Lösungsmenge einer Gleichung erhält die Untergruppe damit eine
+zusätzliche geometrische Struktur, man nennt sie eine differenzierbare
+Mannigfaltigkeit.
+Dieser Begriff wird im Abschnitt~\ref{buch:subsection:mannigfaltigkeit}
+eingeführt.
+Es wird sich zum Beispiel zeigen, dass die Menge der Drehungen der
+Ebene mit den Punkten eines Kreises parametrisieren lassen,
+die Lösungen der Gleichung $x^2+y^2=1$ sind.
+
+Eine Lie-Gruppe ist eine Gruppe, die gleichzeitig eine differenzierbare
+Mannigfaltigkeit ist.
+Die Existenz von geometrischen Konzepten wie Tangentialvektoren
+ermöglicht zusätzliche Werkzeuge, mit denen diese Gruppe untersucht
+und verstanden werden können.
+Ziel dieses Abschnitts ist, die Grundlagen für diese Untersuchung zu
+schaffen, die dann im Abschnitt~\ref{buch:section:lie-algebren}
+durchgeführt werden soll.
+
+\subsection{Algebraische Symmetrien
+\label{buch:subsection:algebraische-symmetrien}}
+Mit Matrizen lassen sich Symmetrien in einem geometrischen Problem
+oder in einem physikalischen System beschreiben.
+Man denkt dabei gerne zuerst an geometrische Symmetrien wie die
+Symmetrie unter Punktspiegelung oder die Spiegelung an der $x_1$-$x_2$-Ebene,
+wie sie zum Beispiel durch die Abbildungen
+\[
+\mathbb{R}^3\to\mathbb{R}^3 : x\mapsto -x
+\qquad\text{oder}\qquad
+\mathbb{R}^3\to\mathbb{R}^3 :
+\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix}
+\mapsto
+\begin{pmatrix}-x_1\\x_2\\x_3\end{pmatrix}
+\]
+dargestellt werden.
+Beide haben zunächst die Eigenschaft, dass Längen und Winkel und damit
+das Skalarprodukt erhalten sind.
+Diese Eigenschaft allein erlaubt aber noch nicht, die beiden Transformationen
+zu unterscheiden.
+Die Punktspiegelung zeichnet sich dadurch aus, das alle Geraden und alle
+Ebenen durch den Ursprung auf sich selbst abgebildet werden.
+Dies funktioniert für die Ebenenspiegelung nicht, dort bleibt nur die
+Spiegelungsebene (die $x_1$-$x_2$-Ebene im vorliegenden Fall) und
+ihre Normale erhalten.
+Die folgenden Beispiele sollen zeigen, wie solche Symmetriedefinitionen
+auf algebraische Bedingungen an die Matrixelemente führen.
+
+Zu jeder Abbildung $f\colon\mathbb{R}^n\to\mathbb{R}^n$, unter der
+ein geometrisches Objekt in $\mathbb{R}^n$ symmetrisch ist, können wir
+sofort weitere Abbildungen angeben, die ebenfalls Symmetrien sind.
+Zum Beispiel sind die iterierten Abbildungen $f\circ f$, $f\circ f\circ f$
+u.~s.~w., die wir auch $f^n$ mit $n\in\mathbb{N}$ schreiben werden,
+ebenfalls Symmetrien.
+Wenn die Symmetrie auch umkehrbar ist, dann gilt dies sogar für alle
+$n\in\mathbb{Z}$.
+Wir erhalten so eine Abbildung
+$\varphi\colon \mathbb{Z}\to \operatorname{GL}_n(\mathbb{R}):n\mapsto f^n$
+mit den Eigenschaften $\varphi(0)=f^0 = I$ und
+$\varphi(n+m)=f^{n+m}=f^n\circ f^m = \varphi(n)\circ\varphi(m)$.
+$\varphi$ ist ein Homomorphismus der Gruppe $\mathbb{Z}$ in die Gruppe
+$\operatorname{GL}_n(\mathbb{R})$.
+Wir nennen dies eine {\em diskrete Symmetrie}.
+
+\subsection{Kontinuierliche Symmetrien
+\label{buch:subsection:kontinuierliche-symmetrien}}
+Von besonderem Interesse sind kontinuierliche Symmetrien.
+Dies sind Abbildungen eines Systems, die von einem Parameter
+abhängen.
+Zum Beispiel können wir Drehungen der Ebene $\mathbb{R}^2$ um den
+Winkel $\alpha$ durch Matrizen
+\[
+D_{\alpha}
+=
+\begin{pmatrix}
+\cos\alpha&-\sin\alpha\\
+\sin\alpha& \cos\alpha
+\end{pmatrix}
+\]
+beschrieben werden.
+Ein Kreis um den Nullpunkt bleibt unter jeder dieser Drehungen invariant.
+Im Gegensatz dazu sind alle $3n$-Ecke mit Schwerpunkt $0$ nur invariant
+unter der einen Drehung $D_{\frac{2\pi}3}$ invariant.
+Die kleinste Menge, die einen vorgegebenen Punkt enthält und unter
+allen Drehungen $D_\alpha$ invariant ist, ist immer ein Kreis um
+den Nullpunkt.
+
+\begin{definition}
+Ein Homomorphismus $\varphi\colon\mathbb{R}\to\operatorname{GL}_n(\mathbb{R})$
+von der additiven Gruppe $\mathbb{R}$ in die allgemeine lineare Gruppe
+heisst eine {\em Einparameter-Untergruppe} von
+$\operatorname{GL}_n(\mathbb{R})$.
+\end{definition}
+
+Die Abbildung
+\[
+\varphi
+\colon
+\mathbb{R}\to\operatorname{GL}_n(\mathbb{R})
+:
+\alpha \mapsto
+D_{\alpha}
+=
+\begin{pmatrix}
+\cos\alpha&-\sin\alpha\\
+\sin\alpha& \cos\alpha
+\end{pmatrix}
+\]
+ist also eine Einparameter-Untergruppe von $\operatorname{GL}_2(\mathbb{R})$.
+
+\subsubsection{Der harmonische Oszillator}
+\begin{figure}
+\centering
+\includegraphics{chapters/60-gruppen/images/phasenraum.pdf}
+\caption{Die Lösungen der
+Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl}
+im Phasenraum sind Ellipsen mit Halbachsenverhältnis $\omega^{-1}$.
+\label{chapter:gruppen:fig:phasenraum}}
+\end{figure}
+Eine Masse $m$ verbunden mit einer Feder mit der Federkonstanten $K$
+schwingt um die Ruhelage $x=0$ entsprechend der Differentialgleichung
+\[
+m\frac{d^2}{dt^2} x(t) = -Kx(t).
+\]
+Die Kreisfrequenz der Schwingung ist
+\[
+\omega = \sqrt{\frac{K}{m}}.
+\]
+Das System kann als zweidimensionales System im Phasenraum mit den
+Koordinaten $x_1=x$ und $x_2=p=m\dot{x}$ beschrieben werden.
+Die zweidimensionale Differentialgleichung ist
+\begin{equation}
+\left.
+\begin{aligned}
+\dot{x}(t) &= \frac{1}{m}p(t)\\
+\dot{p}(t) &= -Kx(t)
+\end{aligned}
+\quad
+\right\}
+\qquad\Rightarrow\qquad
+\frac{d}{dt}
+\begin{pmatrix}x(t)\\p(t)\end{pmatrix}
+=
+\begin{pmatrix}
+0&\frac{1}{m}\\
+-K&0
+\end{pmatrix}
+\begin{pmatrix}x(t)\\p(t)\end{pmatrix}.
+\label{chapter:gruppen:eqn:phasenraumdgl}
+\end{equation}
+Die Lösung der Differentialgleichung für die Anfangsbedingung $x(0)=1$ und
+$p(0)=0$ ist
+\[
+x(t)
+=
+\cos \omega t
+\qquad\Rightarrow\qquad
+p(t)
+=
+-\omega \sin\omega t,
+\]
+die Lösung zur Anfangsbedingung $x(0)=0$ und $p(0)=1$ ist
+\[
+x(t) = \frac{1}{\omega} \sin\omega t,
+\qquad
+p(t) = \cos \omega t.
+\]
+In Matrixform kann man die allgemeine Lösung zur Anfangsbedingun $x(0)=x_0$
+und $p(0)=p_0$
+\begin{equation}
+\begin{pmatrix}
+x(t)\\
+p(t)
+\end{pmatrix}
+=
+\underbrace{
+\begin{pmatrix}
+ \cos \omega t & \frac{1}{\omega} \sin\omega t \\
+-\omega \sin\omega t & \cos\omega t
+\end{pmatrix}
+}_{\displaystyle =\Phi_t}
+\begin{pmatrix}x_0\\p_0\end{pmatrix}
+\label{buch:gruppen:eqn:phi}
+\end{equation}
+schreiben.
+Die Matrizen $\Phi_t$ bilden eine Einparameter-Untergruppe von
+$\operatorname{GL}_n(\mathbb{R})$, da
+\begin{align*}
+\Phi_s\Phi_t
+&=
+\begin{pmatrix}
+ \cos\omega s & \frac{1}{\omega} \sin\omega s \\
+-\omega \sin\omega s & \cos\omega s
+\end{pmatrix}
+\begin{pmatrix}
+ \cos\omega t & \frac{1}{\omega} \sin\omega t \\
+-\omega \sin\omega t & \cos\omega t
+\end{pmatrix}
+\\
+&=
+\begin{pmatrix}
+\cos\omega s \cos\omega t - \sin\omega s \sin\omega t
+& \frac{1}{\omega} ( \cos\omega s \sin\omega t + \sin\omega s \cos \omega t)
+\\
+-\omega (\sin\omega s \cos\omega t + \cos\omega s \sin\omega t )
+& \cos\omega s \cos\omega t -\sin\omega s \sin\omega t
+\end{pmatrix}
+\\
+&=
+\begin{pmatrix}
+ \cos\omega(s+t) & \frac{1}{\omega}\sin\omega(s+t) \\
+-\omega \sin\omega(s+t) & \cos\omega(s+t)
+\end{pmatrix}
+=
+\Phi_{s+t}
+\end{align*}
+gilt.
+Die Lösungen der
+Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl}
+sind in Abbildung~\ref{chapter:gruppen:fig:phasenraum}
+Die Matrizen $\Phi_t$ beschreiben eine kontinuierliche Symmetrie
+des Differentialgleichungssystems, welches den harmonischen Oszillator
+beschreibt.
+
+\subsubsection{Fluss einer Differentialgleichung}
+Die Abbildungen $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} sind jeweils
+Matrizen in $\operatorname{GL}_n(\mathbb{R})$.
+Der Grund dafür ist, dass die
+Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl}
+linear ist.
+Dies hat zur Folge, dass für zwei Anfangsbedingungen $x_1,x_2\in\mathbb{R}^2$
+die Lösung für Linearkombinationen $\lambda x_1+\mu x_2$ durch
+Linearkombination der Lösungen erhalten werden kann, also
+aus der Formel
+\[
+\Phi_t (\lambda x_1 + \mu x_2) = \lambda \Phi_t x_1 + \mu \Phi_t x_2.
+\]
+Dies zeigt, dass $\Phi_t$ für jedes $t$ eine lineare Abbildung sein muss.
+
+Für eine beliebige Differentialgleichung kann man immer noch eine Abbildung
+$\Phi$ konstruieren, die aber nicht mehr linear ist.
+Sei dazu die Differentialgleichung erster Ordnung
+\begin{equation}
+\frac{dx}{dt}
+=
+f(t,x)
+\qquad\text{mit}\qquad
+f\colon \mathbb{R}\times\mathbb{R}^n \to \mathbb{R}^n
+\label{buch:gruppen:eqn:dgl}
+\end{equation}
+gegeben.
+Für jeden Anfangswert $x_0\in\mathbb{R}^n$ kann man mindestens für eine
+gewisse Zeit $t <\varepsilon$ eine Lösung $x(t,x_0)$ finden mit $x(t,x_0)=x_0$.
+Aus der Theorie der gewöhnlichen Differentialgleichungen ist auch
+bekannt, dass $x(t,x_0)$ mindestens in der Nähe von $x_0$ differenzierbar von
+$x_0$ abhängt.
+Dies erlaubt eine Abbildung
+\[
+\Phi\colon \mathbb{R}\times \mathbb{R}^n \to \mathbb{R}^n
+:
+(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0)
+\]
+zu definieren, die sowohl von $t$ als auch von $x_0$ differenzierbar
+abhängt.
+Aus der Definition folgt unmittelbar, dass $\Phi_0(x_0)=x_0$ ist, dass
+also $\Phi_0$ die identische Abbildung von $\mathbb{R}^n$ ist.
+
+Aus der Definition lässt sich auch ableiten, dass
+$\Phi_{s+t}=\Phi_s\circ\Phi_t$ gilt.
+$\Phi_t(x_0)=x(t,x_0)$ ist der Endpunkt der Bahn, die bei $x_0$ beginnt
+und sich während der Zeit $t$ entwickelt.
+$\Phi_s(x(t,x_0))$ ist dann der Endpunkt der Bahn, die bei $x(t,x_0)$
+beginnt und sich während der Zeit $s$ entwickelt.
+Somit ist $\Phi_s\circ \Phi_t(x_0)$ der Endpunkt der Bahn, die bei
+$x_0$ beginnt und sich über die Zeit $s+t$ entwickelt.
+In Formeln bedeutet dies
+\[
+\Phi_{s+t} = \Phi_s\circ \Phi_t.
+\]
+Die Abbildung $t\mapsto \Phi_t$ ist also wieder ein Homomorphismus
+von der additiven Gruppe $\mathbb{R}$ in eine Gruppe von differenzierbaren
+Abbildungen $\mathbb{R}^n\to\mathbb{R}^n$.
+
+\begin{definition}
+Die Abbildung
+\[
+\Phi\colon \mathbb{R}\times\mathbb{R}^n\to\mathbb{R}^n
+:
+(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0)
+\]
+heisst der {\em Fluss} der Differentialgleichung
+\eqref{buch:gruppen:eqn:dgl},
+wenn für jedes $x_0\in\mathbb{R}^n$ die Kurve $t\mapsto \Phi_t(x_0)$
+eine Lösung der Differentialgleichung ist mit Anfangsbedingung $x_0$.
+\end{definition}
+
+Die Abbildung $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} ist also
+der Fluss der Differentialgleichung des harmonischen Oszillators.
+
+\subsection{Mannigfaltigkeiten
+\label{buch:subsection:mannigfaltigkeit}}
+Eine Differentialgleichung der Form~\eqref{buch:gruppen:eqn:dgl}
+stellt einen Zusammenhang her zwischen einem Punkt $x$ und der
+Tangentialrichtung einer Bahnkurve $f(t,x)$.
+Die Ableitung liefert die lineare Näherung der Bahkurve
+\[
+x(t_0+h) = x(t_0) + h f(t_0,x_0) + o(h)
+\]
+für $h$ in einer kleinen Umgebung von $0$.
+Das funktioniert auch, weil $f(t_0,x_0)$ selbst ein Vektor von
+$\mathbb{R}^n$ ist, in dem die Bahnkurve verläuft.
+
+Diese Idee funktioniert nicht mehr zum Beispiel für eine
+Differentialgleichung auf einer Kugeloberfläche, weil alle Punkte
+$x(t_0)+hf(t_0,x_0)$ für alle $h\ne 0$ nicht mehr auf der Kugeloberfläche
+liegen.
+Physikalisch äussert sich das ein einer zusätzlichen Kraft, die nötig
+ist, die Bahn auf der Kugeloberfläche zu halten.
+Diese Kraft stellt zum Beispiel sicher, dass die Vektoren $f(t,x)$ für
+Punkte $x$ auf der Kugeloberfläche immer tangential an die Kugel sind.
+Trotzdem ist der Tangentialvektor oder der Geschwindigkeitsvektor
+nicht mehr ein Objekt, welches als Teil der Kugeloberfläche definiert
+werden kann, er kann nur definiert werden, wenn man sich die Kugel als
+in einen höherdimensionalen Raum eingebettet vorstellen kann.
+
+Um die Idee der Differentialgleichung auf einer beliebigen Fläche
+konsistent zu machen ist daher notwendig, die Idee einer Tagentialrichtung
+auf eine Art zu definieren, die nicht von der Einbettung der Fläche
+in den $n$-dimensionalen Raum abhängig ist.
+Das in diesem Abschnitt entwickelte Konzept der {\em Mannigfaltigkeit}
+löst dieses Problem.
+
+\subsubsection{Karten}
+Die Navigation auf der Erdoberfläche verwendet das Koordinatensystem
+der geographischen Länge und Breite.
+Dieses Koordinatensystem funktioniert gut, solange man sich nicht an
+den geographischen Polen befindet, denn deren Koordinaten sind
+nicht mehr eindeutig.
+Alle Punkte mit geographischer Breite $90^\circ$ und beliebiger
+geographischer Länge beschreiben den Nordpol.
+Auch die Ableitung funktioniert dort nicht mehr.
+Bewegt man sich mit konstanter Geschwindigkeit über den Nordpol,
+springt die Ableitung der geographischen Breite von einem positiven
+Wert auf einen negativen Wert, sie kann also nicht differenzierbar sein.
+Diese Einschränkungen sind in der Praxis nur ein geringes Problem dar,
+da die meisten Reisen nicht über die Pole erfolgen.
+
+Der Polarforscher, der in unmittelbarer Umgebung des Poles arbeitet,
+kann das Problem lösen, indem er eine lokale Karte für das Gebiet
+um den Pol erstellt.
+Dafür kann er beliebige Koordinaten verwenden, zum Beispiel auch
+ein kartesisches Koordinatensystem, er muss nur eine Methode haben,
+wie er seine Koordinaten wieder auf geographische Länge und Breite
+umrechnen will.
+Und wenn er über Geschwindigkeiten kommunizieren will, dann muss
+er auch Ableitungen von Kurven in seinem kartesischen Koordinatensystem
+umrechnen können auf die Kugelkoordinaten.
+Dazu muss seine Umrechnungsformel von kartesischen Koordinaten
+auf Kugelkoordinaten differenzierbar sein.
+
+Diese Idee wird durch das Konzept der Mannigfaltigkeit verallgemeinert.
+Eine $n$-dimensionale {\em Mannigfaltigkeit} ist eine Menge $M$ von Punkten,
+die lokal, also in der Umgebung eines Punktes, mit möglicherweise mehreren
+verschiedenen Koordinatensystemen versehen werden kann.
+Ein Koordinatensystem ist eine umkehrbare Abbildung einer offenen Teilmenge
+$U\subset M$ in den Raum $\mathbb{R}^n$.
+Die Komponenten dieser Abbildung heissen die {\em Koordinaten}.
+
+\begin{figure}
+\centering
+\includegraphics{chapters/60-gruppen/images/karten.pdf}
+\caption{Karten
+$\varphi_\alpha\colon U_\alpha\to \mathbb{R}^2$
+und
+$\varphi_\beta\colon U_\beta\to \mathbb{R}^2$
+auf einem Torus.
+Auf dem Überschneidungsgebiet $\varphi_\alpha^{-1}(U_\alpha\cap U_\beta)$
+ist der Kartenwechsel $\varphi_\beta\circ\varphi_\alpha^{-1}$ wohldefiniert
+und muss differnzierbar sein, wenn eine differenzierbare Mannigfaltigkeit
+entstehen soll.
+\label{buch:gruppen:fig:karten}}
+\end{figure}
+
+\begin{definition}
+Eine Karte auf $M$ ist eine umkehrbare Abbildung
+$\varphi\colon U\to \mathbb{R}^n$ (siehe auch
+Abbildung~\ref{buch:gruppen:fig:karten}).
+Ein differenzierbarer Atlas ist eine Familie von Karten $\varphi_\alpha$
+derart, dass die Definitionsgebiete $U_\alpha$ die ganze Menge $M$
+überdecken, und dass die Kartenwechsel Abbildungen
+\[
+\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}
+\colon
+\varphi_\alpha(U_\alpha\cap U_\beta)
+\to
+\varphi_\beta(U_\alpha\cap U_\beta)
+\]
+als Abbildung von offenen Teilmengen von $\mathbb{R}^n$ differenzierbar
+ist.
+Eine {$n$-dimensionale differenzierbare Mannigfaltigkeit} ist eine
+Menge $M$ mit einem differenzierbaren Atlas.
+\end{definition}
+
+Karten und Atlanten regeln also nur, wie sich verschiedene lokale
+Koordinatensysteme ineinander umrechnen lassen.
+
+\begin{beispiel}
+$M=\mathbb{R}^n$ ist eine differenzierbare Mannigfaltigkeit denn
+die identische Abbildung $M\to \mathbb{R}^n$ ist eine Karte und ein
+Atlas von $M$.
+\end{beispiel}
+
+\begin{beispiel}
+\begin{figure}
+\centering
+\includegraphics{chapters/60-gruppen/images/kartenkreis.pdf}
+\caption{Karten für die Kreislinie $S^1\subset\mathbb{R}^2$.
+\label{buch:gruppen:fig:kartenkreis}}
+\end{figure}
+Die Kreislinie in in der Ebene ist eine $1$-dimensionale Mannigfaltigkeit.
+Natürlich kann sie nicht mit einer einzigen Karte beschrieben werden,
+da es keine umkehrbaren Abbildungen zwischen $\mathbb{R}$ und der Kreislinie
+gibt.
+Die Projektionen auf die einzelnen Koordinaten liefern die folgenden
+vier Karten:
+\begin{align*}
+\varphi_1&\colon U_{x>0}\{(x,y)\;|\;x^2+y^2=1\wedge x>0\} \to\mathbb{R}
+:
+(x,y) \mapsto y
+\\
+\varphi_2&\colon U_{x<0}\{(x,y)\;|\;x^2+y^2=1\wedge x<0\} \to\mathbb{R}
+:
+(x,y) \mapsto y
+\\
+\varphi_3&\colon U_{y>0}\{(x,y)\;|\;x^2+y^2=1\wedge y>0\} \to\mathbb{R}
+:
+(x,y) \mapsto x
+\\
+\varphi_4&\colon U_{y<0}\{(x,y)\;|\;x^2+y^2=1\wedge y<0\} \to\mathbb{R}
+:
+(x,y) \mapsto x
+\end{align*}
+Die Werte der Kartenabbildungen sind genau die $x$- und $y$-Koordinaten
+auf der in den Raum $\mathbb{R}^2$ eingebetteten Kreislinie.
+
+Für $\varphi_1$ und $\varphi_2$ sind die Definitionsgebiete disjunkt,
+hier gibt es also keine Notwendigkeit, Koordinatenumrechnungen vornehmen
+zu können.
+Dasselbe gilt für $\varphi_3$ und $\varphi_4$.
+
+Die nichtleeren Schnittmengen der verschiedenen Kartengebiete beschreiben
+jeweils die Punkte der Kreislinie in einem Quadranten.
+Die Umrechnung zwischen den Koordinaten und ihre Ableitung
+ist je nach Quadrant durch
+\begin{align*}
+&\text{1.~Quadrant}&
+\varphi_{31}
+&=
+\varphi_3\circ\varphi_1^{-1}\colon y\mapsto\phantom{-}\sqrt{1-y^2\mathstrut}
+&
+D\varphi_{31}
+&=
+-\frac{y}{\sqrt{1-y^2\mathstrut}}
+\\
+&\text{2.~Quadrant}&
+\varphi_{24}
+&=
+\varphi_3\circ\varphi_1^{-1}\colon x\mapsto\phantom{-}\sqrt{1-x^2\mathstrut}
+&
+D\varphi_{24}
+&=
+-\frac{x}{\sqrt{1-x^2\mathstrut}}
+\\
+&\text{3.~Quadrant}&
+\varphi_{42}
+&=
+\varphi_3\circ\varphi_1^{-1}\colon y\mapsto-\sqrt{1-y^2\mathstrut}
+&
+D\varphi_{42}
+&=
+\phantom{-}\frac{y}{\sqrt{1-y^2\mathstrut}}
+\\
+&\text{4.~Quadrant}&
+\varphi_{14}
+&=
+\varphi_3\circ\varphi_1^{-1}\colon x\mapsto-\sqrt{1-x^2\mathstrut}
+&
+D\varphi_{14}
+&=
+\phantom{-}\frac{x}{\sqrt{1-x^2\mathstrut}}
+\end{align*}
+gegeben.
+Diese Abbildungen sind im offenen Intervall $(-1,1)$ differenzierbar,
+Schwierigkeiten mit der Ableitungen ergeben sich nur an den Stellen
+$x=\pm1$ und $y=\pm 1$, die in einem Überschneidungsgebiet von Karten
+nicht vorkommen können.
+Somit bilden die vier Karten einen differenzierbaren Atlas für
+die Kreislinie (Abbildung~\ref{buch:gruppen:fig:kartenkreis}).
+\end{beispiel}
+
+\begin{beispiel}
+Ganz analog zum vorangegangenen Beispiel über die Kreisline lässt sich
+für eine $n$-di\-men\-sio\-nale Sphäre
+\[
+S^n = \{ (x_1,\dots,x_{n+1})\;|\; x_0^2+\dots+x_n^2=1\}
+\]
+immer ein Atlas aus $2^{n+1}$ Karten mit den Koordinatenabbildungen
+\[
+\varphi_{i,\pm}
+\colon
+U_{i,\pm}
+=
+\{p\in S^n\;|\; \pm x_i >0\}
+\to
+\mathbb{R}^n
+:
+p\mapsto (x_1,\dots,\hat{x}_i,\dots,x_{n+1})
+\]
+konstruieren, der $S^n$ zu einer $n$-dimensionalen Mannigfaltigkeit macht.
+\end{beispiel}
+
+\subsubsection{Tangentialraum}
+Mit Hilfe einer Karte $\varphi_\alpha\colon U_\alpha\to\mathbb{R}^n$
+kann das Geschehen in einer Mannigfaltigkeit in den vertrauten
+$n$-dimensionalen Raum $\mathbb{B}^n$ transportiert werden.
+Eine Kurve $\gamma\colon \mathbb{R}\to M$, die so parametrisiert sein
+soll, dass $\gamma(t)\in U_\alpha$ für $t$ in einer Umgebung $I$ von $0$ ist,
+wird von der Karte in eine Kurve
+$\gamma_\alpha=\varphi_\alpha\circ\gamma\colon I\to \mathbb{R}^n$
+abgebildet,
+deren Tangentialvektor wieder ein Vektor in $\mathbb{R}^n$ ist.
+
+Eine zweite Karte $\varphi_\beta$ führt auf eine andere Kurve
+mit der Parametrisierung
+$\gamma_\beta=\varphi_\beta\circ\gamma\colon I \to \mathbb{R}^n$
+und einem anderen Tangentialvektor.
+Die beiden Tangentialvektoren können aber mit der Ableitung der
+Koordinatenwechsel-Abbildung
+$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}\colon
+\varphi_\alpha(U_\alpha\cap U_\beta)\to \mathbb{R}^n$
+ineinander umgerechnet werden.
+Aus
+\[
+\gamma_\beta
+=
+\varphi_\beta\circ \gamma
+=
+(
+\varphi_\beta
+\circ
+\varphi_\alpha^{-1}
+)
+\circ
+\varphi_\alpha\circ\gamma
+=
+\varphi_{\beta\alpha}
+\circ
+\varphi_\alpha\circ\gamma
+=
+\varphi_{\beta\alpha}\circ\gamma_\alpha
+\]
+folgt durch Ableitung nach dem Kurvenparameter $t$, dass
+\[
+\frac{d}{dt}\gamma_\beta(t)
+=
+D\varphi_{\beta\alpha}
+\cdot
+\frac{d}{dt}\gamma_\alpha(t).
+\]
+Die Ableitung $D\varphi_{\beta\alpha}$ von $\varphi_{\beta\alpha}$
+an der Stelle $\gamma_\alpha(t)$ berechnet also aus dem Tangentialvektor
+einer Kurve in der Karte $\varphi_\alpha$ den Tangentialvektor der
+Kurve in der Karte $\varphi_\beta$.
+
+Die Forderung nach Differenzierbarkeit der Kartenwechselabbildungen
+$\varphi_{\beta\alpha}$ stellt also nur sicher, dass die Beschreibung
+eines Systemes mit Differentialgleichungen in verschiedenen
+Koordinatensystemen auf die gleichen Lösungskurven in der
+Mannigfaltigkeit führt.
+Insbesondere ist die Verwendung von Karten ist also nur ein Werkzeug,
+mit dem die Unmöglichkeit einer globalen Besschreibung einer
+Mannigfaltigkeit $M$ mit einem einzigen globalen Koordinatensystem
+ohne Singularitäten umgangen werden kann.
+
+\begin{beispiel}
+Das Beispiel des Kreises in Abbildung~\ref{buch:gruppen:fig:kartenkreis}
+zeigt, dass die Tangentialvektoren je nach Karte sehr verschieden
+aussehen können.
+Der Tangentialvektor der Kurve $\gamma(t) = (x(t), y(t))$ im Punkt
+$\gamma(t)$ ist $\dot{y}(t)$ in den Karten $\varphi_1$ und $\varphi_2$
+und $\dot{x}(t)$ in den Karten $\varphi_3$ und $\varphi_4$.
+
+Die spezielle Kurve $\gamma(t) = (\cos t,\sin t)$ hat in einem Punkt
+$t\in (0,\frac{\pi}2)$.
+in der Karte $\varphi_1$ den Tangentialvektor $\dot{y}(t)=\cos t$,
+in der Karte $\varphi_3$ aber den Tangentialvektor $\dot{x}=-\sin t$.
+Die Ableitung des Kartenwechsels in diesem Punkt ist die $1\times 1$-Matrix
+\[
+D\varphi_{31}(\gamma(t))
+=
+-\frac{y(t)}{\sqrt{1-y(t)^2}}
+=
+-\frac{\sin t}{\sqrt{1-\sin^2 t}}
+=
+-\frac{\sin t}{\cos t}
+=
+-\tan t.
+\]
+Die Koordinatenumrechnung ist gegeben durch
+\[
+\dot{x}(t)
+=
+D\varphi_{31}(\gamma(t))
+\dot{y}(t)
+\]
+wird für die spezielle Kurve $\gamma(t)=(\cos t,\sin t)$ wird dies zu
+\[
+D\varphi_{31}(\gamma(t))
+\cdot
+\dot{y}(t)
+=
+-\tan t\cdot \cos t
+=
+-\frac{\sin t}{\cos t}\cdot \cos t
+=
+-\sin t
+=
+\dot{x}(t).
+\qedhere
+\]
+\end{beispiel}
+
+Betrachtet man die Kreislinie als Kurve in $\mathbb{R}^2$,
+dann ist der Tangentialvektor durch
+$\dot{\gamma}(t)=(\dot{x}(t),\dot{y}(t))$ gegeben.
+Da die Karten Projektionen auf die $x$- bzw.~$y$-Achsen sind,
+entsteht der Tangentialvektor in der Karte durch Projektion
+von $(\dot{x}(t),\dot{y}(t))$ auf die entsprechende Komponente.
+
+Die Tangentialvektoren in zwei verschiedenen Punkten der Kurve können
+im Allgemeinen nicht miteinander verglichen werden.
+Darüber hinweg hilft auch die Tatsache nicht, dass die Kreislinie
+in den Vektorraum $\mathbb{R}^2$ eingebettet sind, wo sich Vektoren
+durch Translation miteinander vergleichen lassen.
+Ein nichtverschwindender Tangentialvektor im Punkt $(1,0)$ hat,
+betrachtet als Vektor in $\mathbb{R}^2$ verschwindende $x$-Komponente,
+für Tangentialvektoren im Inneren eines Quadranten ist dies nicht
+der Fall.
+
+Eine Möglichkeit, einen Tangentialvektor in $(1,0)$ mit einem
+Tangentialvektor im Punkt $(\cos t,\sin t)$ zu vergleichen, besteht
+darin, den Vektor um den Winkel $t$ zu drehen.
+Dies ist möglich, weil die Kreislinie eine kontinuierliche Symmetrie,
+nämlich die Drehung um den Winkel $t$ hat, die es erlaubt, den Punkt $(1,0)$
+in den Punkt $(\cos t,\sin t)$ abzubilden.
+Erst diese Symmetrie ermöglicht den Vergleich.
+Dieser Ansatz ist für alle Matrizen erfolgreich, wie wir später sehen werden.
+
+Ein weiterer Ansatz, Tangentialvektoren zu vergleichen, ist die Idee,
+einen sogenannten Zusammenhang zu definieren, eine Vorschrift, wie
+Tangentialvektoren infinitesimal entlang von Kurven in der Mannigfaltigkeit
+transportiert werden können.
+Auf einer sogenannten {\em Riemannschen Mannigfaltigkeit} ist zusätzlich
+zur Mannigfaltigkeitsstruktur die Längenmessung definiert.
+Sie kann dazu verwendet werden, den Transport von Vektoren entlang einer
+Kurve so zu definieren, dass dabei Längen und Winkel erhalten bleiben.
+Dieser Ansatz ist die Basis der Theorie der Krümmung sogenannter
+Riemannscher Mannigfaltigkeiten.
+
+\subsection{Der Satz von Noether
+\label{buch:subsection:noether}}
+
+
+
+
+
+
+
diff --git a/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex b/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex new file mode 100644 index 0000000..5c973fd --- /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..25ac535 --- /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/images/Makefile b/buch/chapters/70-graphen/images/Makefile index b42cbae..c1bc5df 100644 --- a/buch/chapters/70-graphen/images/Makefile +++ b/buch/chapters/70-graphen/images/Makefile @@ -1,19 +1,22 @@ -# -# Makefile -- Bilder für Kapitel Graphen -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf - -peterson.pdf: peterson.tex - pdflatex peterson.tex - -adjazenzu.pdf: adjazenzu.tex - pdflatex adjazenzu.tex - -adjazenzd.pdf: adjazenzd.tex - pdflatex adjazenzd.tex - -kreis.pdf: kreis.tex - pdflatex kreis.tex - +#
+# Makefile -- Bilder für Kapitel Graphen
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf
+
+peterson.pdf: peterson.tex
+ pdflatex peterson.tex
+
+adjazenzu.pdf: adjazenzu.tex
+ pdflatex adjazenzu.tex
+
+adjazenzd.pdf: adjazenzd.tex
+ pdflatex adjazenzd.tex
+
+kreis.pdf: kreis.tex
+ pdflatex kreis.tex
+
+fundamental.pdf: fundamental.tex
+ pdflatex fundamental.tex
+
diff --git a/buch/chapters/70-graphen/images/fundamental.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..388bdf7 --- /dev/null +++ b/buch/chapters/70-graphen/images/fundamental.tex @@ -0,0 +1,54 @@ +%
+% fundamental.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\begin{scope}[xshift=-4.6cm]
+ \draw[color=red,line width=2pt] (1.8,0) -- (1.8,2);
+ \draw[color=red,line width=2pt] (0,0) -- (4,0);
+ \node at (1.8,0) [below] {$i$};
+ \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+
+ \node at (2,-2.3) [below] {Standarbasis};
+\end{scope}
+
+\begin{scope}
+ \draw[color=red,line width=1.4pt]
+ plot[domain=0:360,samples=100] ({\x/90},{2*sin(\x)});
+ \draw[color=blue,line width=1.4pt]
+ plot[domain=0:360,samples=100] ({\x/90},{2*cos(\x)});
+ \node[color=blue] at (1,-1) {$\Re f_i$};
+ \node[color=red] at (2,1) {$\Im f_i$};
+ \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+ \node at (2,-2.3) [below] {Eigenbasis};
+\end{scope}
+
+\begin{scope}[xshift=4.6cm]
+ \foreach \t in {0.02,0.05,0.1,0.2,0.5}{
+ \draw[color=red,line width=1.0pt]
+ plot[domain=-1.8:2.2,samples=100]
+ ({\x+1.8},{exp(-\x*\x/(4*\t))/(sqrt(4*3.1415*\t))});
+ }
+ \fill[color=red] (1.8,0) circle[radius=0.08];
+ \node at (1.8,0) [below] {$\xi$};
+ \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+ \node at (2,-2.3) [below] {Fundamentallösung};
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/70-graphen/spektral.tex b/buch/chapters/70-graphen/spektral.tex index 9349f41..72e3519 100644 --- a/buch/chapters/70-graphen/spektral.tex +++ b/buch/chapters/70-graphen/spektral.tex @@ -1,8 +1,198 @@ -% -% spektral.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Spektrale Graphentheorie -\label{buch:section:spektrale-graphentheorie}} -\rhead{Spektrale Graphentheorie} +%
+% spektral.tex
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Spektrale Graphentheorie
+\label{buch:section:spektrale-graphentheorie}}
+\rhead{Spektrale Graphentheorie}
+Die Laplace-Matrix codiert alle wesentliche Information eines
+ungerichteten Graphen.
+Sie operiert auf Vektoren, die für jeden Knoten des Graphen eine
+Komponente haben.
+Dies eröffnet die Möglichkeit, den Graphen über die linearalgebraischen
+Eigenschaften der Laplace-Matrix zu studieren.
+
+\subsection{Grapheigenschaften und Spektrum von $L$
+\label{buch:subsection:grapheigenschaften-und-spektrum-von-l}}
+TODO XXX
+
+\subsection{Wärmeleitung auf einem Graphen
+\label{buch:subsection:waermeleitung-auf-einem-graphen}}
+Die Vektoren, auf denen die Laplace-Matrix operiert, können betrachtet
+werden als Funktionen, die jedem Knoten einen Wert zuordnen.
+Eine mögliche physikalische Interpretation davon ist die Temperaturverteilung
+auf dem Graphen.
+Die Kanten zwischen den Knoten erlauben der Wärmeenergie, von einem Knoten
+zu einem anderen zu fliessen.
+Je grösser die Temperaturdifferenz zwischen zwei Knoten ist, desto
+grösser ist der Wärmefluss und desto schneller ändert sich die Temperatur
+der beteiligten Knoten.
+Die zeitliche Änderung der Temperatur $T_i$ im Knoten $i$ ist proportional
+\[
+\frac{dT_i}{dt}
+=
+\sum_{\text{$j$ Nachbar von $i$}} \kappa (T_j-T_i)
+=
+-
+\kappa
+\biggl(
+d_iT_i
+-
+\sum_{\text{$j$ Nachbar von $i$}} T_j
+\biggr)
+\]
+Der Term auf der rechten Seite ist genau die Wirkung der
+Laplace-Matrix auf dem Vektor $T$ der Temperaturen:
+\begin{equation}
+\frac{dT}{dt}
+=
+-\kappa L T.
+\label{buch:graphen:eqn:waermeleitung}
+\end{equation}
+Der Wärmefluss, der durch die
+Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} beschrieben
+wird, codiert ebenfalls wesentliche Informationen über den Graphen.
+Je mehr Kanten es zwischen verschiedenen Teilen eines Graphen gibt,
+desto schneller findet der Wärmeaustausch zwischen diesen Teilen
+statt.
+Die Lösungen der Wärmeleitungsgleichung liefern also Informationen
+über den Graphen.
+
+\subsection{Eigenwerte und Eigenvektoren
+\label{buch:subsection:ein-zyklischer-graph}}
+Die Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung}
+ist eine lineare Differentialgleichung mit konstanten Koeffizienten,
+die mit der Matrixexponentialfunktion gelöst werden.
+Die Lösung ist
+\[
+f(t) = e^{-\kappa Lt}f(0).
+\]
+
+Die Berechnung der Lösung mit der Matrixexponentialreihe ist ziemlich
+ineffizient, da grosse Matrizenprodukte berechnet werden müssen.
+Da die Matrix $L$ symmetrisch ist, gibt es eine Basis aus
+orthonormierten Eigenvektoren und die Eigenwerte sind reell.
+Wir bezeichnen die Eigenvektoren mit $f_1,\dots,f_n$ und die
+zugehörigen Eigenwerte mit $\lambda_i$.
+Die Funktion $f_i(t)= e^{-\kappa\lambda_it}f_i$ ist dann eine Lösung
+der Wärmeleitungsgleichung, denn die beiden Seiten
+\begin{align*}
+\frac{d}{dt}f_i(t)
+&=
+-\kappa\lambda_ie^{-\kappa\lambda_it}f_i
+=
+-\kappa\lambda_i f_i(t)
+\\
+-\kappa Lf_i(t)
+&=
+-\kappa e^{-\kappa\lambda_it} Lf_i
+=
+-\kappa e^{-\kappa\lambda_it} \lambda_i f_i
+=
+-\kappa \lambda_i f_i(t)
+\end{align*}
+von \eqref{buch:graphen:eqn:waermeleitung} stimmen überein.
+
+Eine Lösung der Wärmeleitungsgleichung zu einer beliebigen
+Anfangstemperaturverteilung $f$ kann durch Linearkombination aus
+den Lösungen $f_i(t)$ zusammengesetzt werden.
+Dazu ist nötig, $f$ aus den Vektoren $f_i$ linear zu kombinieren.
+Da aber die $f_i$ orthonormiert sind, ist dies besonders einfach,
+die Koeffizienten sind die Skalarprodukte mit den Eigenvektoren:
+\[
+f=\sum_{i=1}^n \langle f_i,f\rangle f_i.
+\]
+Daraus kann man die allgmeine Lösungsformel
+\begin{equation}
+f(t)
+=
+\sum_{i=1}^n \langle f_i,f\rangle f_i(t)
+=
+\sum_{i=1}^n \langle f_i,f\rangle e^{-\kappa\lambda_i t}f_i
+\label{buch:graphen:eqn:eigloesung}
+\end{equation}
+ableiten.
+
+\subsection{Beispiel: Ein zyklischer Graph}
+\begin{figure}
+\centering
+\includegraphics{chapters/70-graphen/images/kreis.pdf}
+\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem
+Graphen.
+\label{buch:graphen:fig:kreis}}
+\end{figure}
+Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen
+von Abbildung~\ref{buch:graphen:fig:kreis}.
+Besonders interessant sind die folgenden Funktionen:
+\[
+\left.
+\begin{aligned}
+s_m(k)
+&=
+\sin\frac{2\pi mk}{n}
+\\
+c_m(k)
+&=
+\cos\frac{2\pi mk}{n}
+\end{aligned}
+\;
+\right\}
+\quad
+\Rightarrow
+\quad
+e_m(k)
+=
+e^{2\pi imk/n}
+=
+c_m(k) + is_m(k).
+\]
+Das Skalarprodukt dieser Funktionen ist
+\[
+\langle e_m, e_{m'}\rangle
+=
+\frac1n
+\sum_{k=1}^n
+\overline{e^{2\pi i km/n}}
+e^{2\pi ikm'/n}
+=
+\frac1n
+\sum_{k=1}^n
+e^{\frac{2\pi i}{n}(m'-m)k}
+=
+\delta_{mm'}
+\]
+Die Funktionen bilden daher eine Orthonormalbasis des Raums der
+Funktionen auf $G$.
+Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$
+die Funktionen
+\[
+c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2}
+\]
+eine orthonormierte Basis.
+
+
+Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen
+Abbildung auf Funktionen auf dem Graphen gemacht werden.
+Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit
+Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist.
+Dann definieren wir die Funktion $Lf$ durch
+\[
+(Lf)(v)
+=
+\sum_{v'\in V} l_{vv'}f(v').
+\]
+
+\subsection{Standardbasis und Eigenbasis
+\label{buch:subsection:standardbasis-und-eigenbasis}}
+Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear
+kombinieren lassen, ist die Standardbasis.
+Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten
+\[
+e_v\colon V\to\mathbb R:v'\mapsto \begin{cases}
+1\qquad&v=v'\\
+0\qquad&\text{sonst.}
+\end{cases}
+\]
+
+
diff --git a/buch/chapters/70-graphen/wavelets.tex b/buch/chapters/70-graphen/wavelets.tex index 0739f14..26a9e42 100644 --- a/buch/chapters/70-graphen/wavelets.tex +++ b/buch/chapters/70-graphen/wavelets.tex @@ -1,133 +1,125 @@ -% -% wavelets.tex -- Wavelets auf Graphen -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Wavelets auf Graphen -\label{buch:section:wavelets-auf-graphen}} -\rhead{Wavelets auf Graphen} -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 -\[ -\langle f,g\rangle -= -\frac{1}{|V|}\sum_{v\in V} \overline{f}(v) g(v) -\] -Dies ist das bekannte Skalarprodukt der Vektoren mit Komponenten $f(v)$. - -\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} -\begin{beispiel} -Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen -von Abbildung~\ref{buch:graphen:fig:kreis}. -Besonders interessant sind die folgenden Funktionen: -\[ -\left. -\begin{aligned} -s_m(k) -&= -\sin\frac{2\pi mk}{n} -\\ -c_m(k) -&= -\cos\frac{2\pi mk}{n} -\end{aligned} -\; -\right\} -\quad -\Rightarrow -\quad -e_m(k) -= -e^{2\pi imk/n} -= -c_m(k) + is_m(k). -\] -Das Skalarprodukt dieser Funktionen ist -\[ -\langle e_m, e_{m'}\rangle -= -\frac1n -\sum_{k=1}^n -\overline{e^{2\pi i km/n}} -e^{2\pi ikm'/n} -= -\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. -\end{beispiel} - - -Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen -Abbildung auf Funktionen auf dem Graphen gemacht werden. -Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit -Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist. -Dann definieren wir die Funktion $Lf$ durch -\[ -(Lf)(v) -= -\sum_{v'\in V} l_{vv'}f(v'). -\] - -\subsection{Standardbasis und Eigenbasis -\label{buch:subsection:standardbasis-und-eigenbasis}} -Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear -kombinieren lassen, ist die Standardbasis. -Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten -\[ -e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} -1\qquad&v=v'\\ -0\qquad&\text{sonst.} -\end{cases} -\] - - -\subsection{Wavelet-Basen -\label{buch:subsection:wavelet-basen}} - - - - - - +%
+% wavelets.tex -- Wavelets auf Graphen
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Wavelets auf Graphen
+\label{buch:section:wavelets-auf-graphen}}
+\rhead{Wavelets auf Graphen}
+In Abschnitt~\ref{buch:subsection:standardbasis-und-eigenbasis} wurde
+gezeigt dass die Standardbasis den Zusammenhang zwischen den einzelnen
+Teilen des Graphen völlig ignoriert, während die Eigenbasis Wellen
+beschreibt, die mit vergleichbarer Amplitude sich über den ganzen
+Graphen entsprechen.
+Die Eigenbasis unterdrückt also die ``Individualität'' der einzelnen
+Knoten fast vollständig.
+
+Wenn man einen Standardbasisvektor in einem Knoten $i$
+als Anfangstemperaturverteilung verwendet, erwartet man eine Lösung,
+die für kleine Zeiten $t$ die Energie immer in der Nähe des Knotens $i$
+konzentriert hat.
+Weder die Standardbasis noch die Eigenbasis haben diese Eigenschaft.
+
+\subsection{Vergleich mit der Wärmeleitung auf $\mathbb{R}$}
+Ein ähnliches Phänomen findet man bei der Wärmeausbreitung gemäss
+der partiellen Differentialgleichung
+\[
+\frac{\partial T}{\partial t} = -\kappa \frac{\partial^2 T}{\partial x^2}.
+\]
+Die von Fourier erfundene Methode, die Fourier-Theorie, verwendet die
+Funktionen $e^{ik x}$, die Eigenvektoren der zweiten Ableitung
+$\partial^2/\partial x^2$ sind.
+Diese haben das gleiche Problem, der Betrag von $e^{ikx}$ ist $1$, die
+Entfernung von einem Punkt spielt überhaupt keine Rolle.
+Die Funktion
+\[
+F(x,t)
+=
+\frac{1}{\sqrt{4\pi\kappa t}}e^{-x^2/4\kappa t}
+\]
+ist eine Lösung der Wärmeleitungsgleichung mit einem Maximum an
+der Stelle $0$.
+Sie heisst die Fundamentallösung der Wärmeleitungsgleichung.
+Durch Überlagerung von Translaten in eine Funktion
+\begin{equation}
+f(x,t)
+=
+\int_{-\infty}^\infty f(\xi) F(x-\xi,t)\,d\xi
+\label{buch:graphen:eqn:fundamentalueberlagerung}
+\end{equation}
+kann man die allgemeine Lösung aus Fundamentallösungen zusammensetzen.
+Die Fundamentallösungen $f(x-\xi,t)$ sind für kleine Zeiten immer noch
+deutlich in einer Umgebung von $\xi$ konzentriert.
+
+% XXX Ausbreitung der Fundamentallösung illustrieren
+\begin{figure}
+\centering
+\includegraphics{chapters/70-graphen/images/fundamental.pdf}
+\caption{Vergleich der verschiedenen Funktionenfamilien, mit denen
+Lösungenfunktionen durch Linearkombination erzeugt werden können.
+In der Standarbasis (links) ist es am einfachsten, die Funktionswerte
+abzulesen, in der Eigenbasis (Mitte) kann die zeitliche Entwicklung
+besonders leicht berechnet werden.
+Dazuwischen liegen die Fundamentallösungen (rechts), die eine einigermassen
+übersichtliche Zeitentwicklung haben, die Berechnung der Temperatur an
+einer Stelle $x$ zur Zeit $t$ ist aber erst durch das Integral
+\eqref{buch:graphen:eqn:fundamentalueberlagerung} gegeben.
+\label{buch:graphen:fig:fundamental}}
+\end{figure}
+
+\subsection{Fundamentallösungen auf einem Graphen}
+Die Wärmeleitungsgleichung auf einem Graphen kann für einen
+Standardbasisvektor mit Hilfe der
+Lösungsformel~\eqref{buch:graphen:eqn:eigloesung}
+gefunden werden.
+Aus physikalischen Gründen ist aber offensichtlich, dass die
+Wärmeenergie Fundamentallösungen $F_i(t)$ für kurze Zeiten $t$
+in der Nähe des Knoten $i$ konzentriert ist.
+Dies ist aber aus der expliziten Formel
+\begin{equation}
+F_i(t)
+=
+\sum_{j=1}^n \langle f_j,e_i\rangle e^{-\kappa \lambda_i t} f_j
+=
+\sum_{j=1}^n \overline{f}_{ji} e^{-\kappa \lambda_i t},
+\label{buch:graphen:eqn:fundamentalgraph}
+\end{equation}
+nicht unmittelbar erkennbar.
+
+Man kann aber aus~\eqref{buch:graphen:eqn:fundamentalgraph} ablesen,
+dass für zunehmende Zeit die hohen Frequenzen sehr schnell gedämpft
+werden.
+Die hohen Frequenzen erzeugen also den scharfen Peak für Zeiten nahe
+beim Knoten $i$, die zu kleineren $\lambda_i$ beschreiben die Ausbreitung
+über grössere Distanzen.
+Die Fundamentallösung interpoliert also in einem gewissen Sinne zwischen
+den Extremen der Standardbasis und der Eigenbasis.
+Die ``Interpolation'' geht von der Differentialgleichung aus,
+sie ist nicht einfach nur ein Filter, der die verschiedenen Frequenzen
+auf die gleiche Art bearbeitet.
+
+Gesucht ist eine Methode, eine Familie von Vektoren zu finden,
+aus der sich alle Vektoren linear kombinieren lassen, in der aber
+auch auf die für die Anwendung interessante Längenskala angepasste
+Funktionen gefunden werden können.
+
+\subsection{Wavelets und Frequenzspektrum}
+Eine Wavelet-Basis der Funktionen auf $\mathbb{R}$ zerlegt
+
+
+\subsection{Frequenzspektrum
+\label{buch:subsection:frequenzspektrum}}
+Die Fundamentallösung der Wärmeleitunsgleichung haben ein Spektrum, welches
+wie $e^{-k^2}$ gegen $0$ geht.
+
+Die Fundamentallösung entsteht dadurch, dass die hohen Frequenzen
+schneller dämpft als die tiefen Frequenzen.
+
+
+\subsection{Wavelet-Basen
+\label{buch:subsection:}}
+
+
+
+
+
diff --git a/buch/chapters/90-crypto/aes.tex b/buch/chapters/90-crypto/aes.tex index 6004dde..168ff2c 100644 --- a/buch/chapters/90-crypto/aes.tex +++ b/buch/chapters/90-crypto/aes.tex @@ -1,35 +1,433 @@ -% -% aes.tex -- Beschreibung des AES Algorithmus -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Advanced Encryption Standard -- AES -\label{buch:section:aes}} -\rhead{Advanced Encryption Standard} -Eine wichtige Forderung bei der Konzeption des damals neuen -Advanced Encryption Standard war, dass darin keine ``willkürlich'' -erscheinenden Operationen geben darf, bei denen der Verdacht -entstehen könnte, dass sich dahinter noch offengelegtes Wissen -über einen möglichen Angriff auf den Verschlüsselungsalgorithmus -verbergen könnte. -Dies war eine Schwäche des vor AES üblichen DES Verschlüsselungsalgorithmus. -In seiner Definition kommt eine Reihe von Konstanten vor, über deren -Herkunft nichts bekannt war. -Die Gerüchteküche wollte wissen, dass die NSA die Konstanten aus dem -ursprünglichen Vorschlag abgeändert habe, und dass dies geschehen sei, -um den Algorithmus durch die NSA angreifbar zu machen. - -Eine weiter Forderung war, dass die Sicherheit des neuen -Verschlüsselungsstandards ``skalierbar'' sein soll, dass man also -die Schlüssellänge mit der Zeit von 128~Bit auf 196 oder sogar 256~Bit -steigern kann. -Der Standard wird dadurch langlebiger und gleichzeitig entsteht die -Möglichkeit, Sicherheit gegen Rechenleistung einzutauschen. -Weniger leistungsfähige Systeme können den Algorithmus immer noch -nutzen, entweder mit geringerer Verschlüsselungsrate oder geringerer -Sicherheit. - -In diesem Abschnitt soll gezeigt werde, wie sich die AES -spezifizierten Operationen als mit der Arithmetik der -endlichen Körper beschreiben lassen. - +%
+% aes.tex -- Beschreibung des AES Algorithmus
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Advanced Encryption Standard -- AES
+\label{buch:section:aes}}
+\rhead{Advanced Encryption Standard}
+Eine wichtige Forderung bei der Konzeption des damals neuen
+Advanced Encryption Standard war, dass darin keine ``willkürlich''
+erscheinenden Operationen geben darf, bei denen der Verdacht
+entstehen könnte, dass sich dahinter noch offengelegtes Wissen
+über einen möglichen Angriff auf den Verschlüsselungsalgorithmus
+verbergen könnte.
+Dies war eine Schwäche des vor AES üblichen DES Verschlüsselungsalgorithmus.
+In seiner Definition kommt eine Reihe von Konstanten vor, über deren
+Herkunft nichts bekannt war.
+Die Gerüchteküche wollte wissen, dass die NSA die Konstanten aus dem
+ursprünglichen Vorschlag abgeändert habe, und dass dies geschehen sei,
+um den Algorithmus durch die NSA angreifbar zu machen.
+
+Eine weiter Forderung war, dass die Sicherheit des neuen
+Verschlüsselungsstandards ``skalierbar'' sein soll, dass man also
+die Schlüssellänge mit der Zeit von 128~Bit auf 196 oder sogar 256~Bit
+steigern kann.
+Der Standard wird dadurch langlebiger und gleichzeitig entsteht die
+Möglichkeit, Sicherheit gegen Rechenleistung einzutauschen.
+Weniger leistungsfähige Systeme können den Algorithmus immer noch
+nutzen, entweder mit geringerer Verschlüsselungsrate oder geringerer
+Sicherheit.
+
+In diesem Abschnitt soll gezeigt werde, wie sich die AES
+spezifizierten Operationen als mit der Arithmetik der
+endlichen Körper beschreiben lassen.
+Im Abschnitt~\ref{buch:subsection:byte-operationen} werden
+Bytes als Elemente in einem endlichen Körper $\mathbb{F}_{2^8}$
+interpretiert.
+Damit kann dann die sogenannte $S$-Box konstruiert werden und
+es ist leicht zu verstehen, dass sie invertierbar ist.
+Aus den Byte-Operationen können dann Mischoperationen erzeugt
+werden, die Bytes untereinander verknüpfen, die aber auch wieder
+als Operationen in einem endlichen Körper verstanden werden können.
+
+\subsection{Byte-Operationen
+\label{buch:subsection:byte-operationen}}
+Moderne Prozessoren operieren auf Wörtern, die Vielfache von Bytes sind.
+Byte-Operationen sind besonders effizient in Hardware zu realisieren.
+AES verwendet daher als Grundelemente Operationen auf Bytes, die als
+Elemente eines endlichen Körpers $\mathbb{F}_{2^8}$ interpretiert werden.
+
+\subsubsection{Bytes als Elemente von $\mathbb{F}_{2^8}$}
+Das Polynom $m(X)=X^8+X^4+X^3+X+1\in \mathbb{F}_2[X]$ ist irreduzibel,
+somit ist $\mathbb{F}_{2^8} = \mathbb{F}_2[X]/(m)$ ein Körper.
+Die Elemente können dargestellt werden als Polynome, das Byte
+$\texttt{63}_{16}$ bekommt die Form
+\[
+p(X) = p_7X^7 + p_6X^6 + \dots + p_2X^2+p_1X + p_0,
+\]
+sie bestehen daher aus den $8$ Bits $p_7,\dots,p_0$.
+
+Die Interpretation der Bytes als Elemente eines Körpers bedeutet,
+dass jede Multiplikation mit einem nicht verschwindenden Byte
+invertierbar ist.
+Ausserdem mischen diese Operationen die einzelnen Bits auf einigermassen
+undurchsichtige, aber umkehrbare Art durcheinander, wie dies für ein
+Verschlüsselungsverfahren wünschenswert ist.
+
+\subsubsection{$S$-Box}
+Für die Operation der $S$-Box wird wie folgt zusammengesetzt.
+Zunächst wird ein Byte $x$ durch das zugehörige multiplikative
+inverse Element
+\[
+x\mapsto \bar{x} = \begin{cases}
+x^{-1}&\qquad \text{für $x\in \mathbb{F}_{2^8}^*$}\\
+0 &\qquad \text{für $x=0$}
+\end{cases}
+\]
+ersetzt.
+
+Im zweiten Schritt betrachten wir $\mathbb{F}_{2^8}$ als einen
+$8$-dimensionalen Vektorraum über $\mathbb{F}_2$.
+Einem Polynom $p(X)=p_7X^7 + \dots + p_1X+p_0$ wird der Spaltenvektor
+mit den Komponenten $p_0$ bis $p_7$ zugeordnet.
+
+\begin{figure}
+\centering
+\includegraphics[width=\textwidth]{chapters/90-crypto/images/sbox.pdf}
+\caption{Berechnung der Inversen der Matrix $A$ in der $S$-Box des
+AES-Algorithmus mit dem Gauss-Algorithmus
+\label{buch:crypto:fig:sbox}}
+\end{figure}
+
+Eine lineare Transformation in diesem Vektorraum kann durch eine
+$8\times 8$-Matrix in $M_8(\mathbb{F}_2)$ betrachtet werden.
+In der $S$-Box wird die Matrix
+\[
+A=
+\begin{pmatrix}
+1&0&0&0&1&1&1&1\\
+1&1&0&0&0&1&1&1\\
+1&1&1&0&0&0&1&1\\
+1&1&1&1&0&0&0&1\\
+1&1&1&1&1&0&0&0\\
+0&1&1&1&1&1&0&0\\
+0&0&1&1&1&1&1&0\\
+0&0&0&1&1&1&1&1
+\end{pmatrix},
+\qquad
+A^{-1}
+=
+\begin{pmatrix}
+0&0&1&0&0&1&0&1\\
+1&0&0&1&0&0&1&0\\
+0&1&0&0&1&0&0&1\\
+1&0&1&0&0&1&0&0\\
+0&1&0&1&0&0&1&0\\
+0&0&1&0&1&0&0&1\\
+1&0&0&1&0&1&0&0\\
+0&1&0&0&1&0&1&0
+\end{pmatrix}
+\]
+verwendet.
+Mit dem Gauss-Algorithmus, schematisch dargestellt in
+Abbildung~\ref{buch:crypto:fig:sbox}, kann man die Inverse
+bestimmen, die Multiplikation mit $A$ ist also eine invertierbare
+Abbildung.
+
+Der letzte Schritt ist dann wieder eine Addition von
+$q(X)=X^7+X^6+X+1\in \mathbb{F}_{2^8}$, durch Subtraktion
+von $q(X)$ invertiert werden kann.
+Die $S$-Box-Operation kann also bektoriell geschrieben werden also
+\[
+ S(x) = A\overline{x}+q.
+\]
+
+Die Implementation ist möglicherweise mit einer Tabelle am schnellsten,
+es sind ja nur 256 Bytes im Definitionsbereich der $S$-Box-Abbildung
+und ebenso nur 256 möglich Werte.
+
+\subsection{Block-Operationen
+\label{buch:subsection:block-operationen}}
+Die zu verschlüsselnden Daten werden in in Blöcke aufgeteilt, deren
+Länge Vielfache von $32$ bit sind.
+Die kleinste Blockgrösse ist 128\,Bit, die grösste ist 256\,Bit.
+Die Bytes eines Blockes werden dann in einem Rechteck angeordnet
+als
+\begin{equation}
+\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|}
+\hline
+ b_{0} & b_{4} & b_{8} & b_{12} & b_{16} & b_{20} & b_{24} & b_{28} \\
+ b_{1} & b_{5} & b_{9} & b_{13} & b_{17} & b_{21} & b_{25} & b_{29} \\
+ b_{2} & b_{6} & b_{10} & b_{14} & b_{18} & b_{22} & b_{26} & b_{30} \\
+ b_{3} & b_{7} & b_{11} & b_{15} & b_{19} & b_{23} & b_{27} & b_{31} \\
+\hline
+\end{tabular}
+\label{buch:crypto:eqn:block}
+\end{equation}
+für eine Blocklänge von 256\,Bits.
+
+
+
+\subsubsection{Zeilenshift}
+\begin{figure}
+\centering
+\includegraphics[width=\textwidth]{chapters/90-crypto/images/shift.pdf}
+\caption{Zeilenshift in einem Block von 256 bits
+\label{buch:crypto:fig:shift}}
+\end{figure}
+Die Verschlüsselung muss sicherstellen, dass die Bytes des Blockes
+untereinander gut gemischt werden.
+Die bisher beschriebenen Operationen operieren immer nur auf einzelnen
+Bytes während
+die im nächsten Abschnitt beschriebene Spalten-Mischoperation
+nur auf Spalten wird.
+Die Zeilenmischoperation permutiert die Zeilen in den vier Zeilen
+eines Blocks zyklisch, die erste Zeile bleibt an Ort, die zweite
+Zeile wird um ein Byte rotiert, die dritte um zwei und die letzte
+um 3 Bytes, wie in Abbildung~\ref{buch:crypto:fig:zeilenshift}
+dargestellt.
+Diese Operation könnte mit einer Permutationsmatrix beschrieben werden,
+dies wäre jedoch keine effiziente Implementation.
+Der Zeilenschift hat ansonsten keine elegante algebraische Beschreibung.
+
+\subsubsection{Spalten mischen}
+Jede Spalte von \eqref{buch:crypto:eqn:block} kann als Vektor des
+vierdimensionalen Vektorraumes $\mathbb{F}_{2^8}^4$.
+Die Zeilenmischoperation wendet ein lineare Abbildung auf jeden
+Spaltenvektor von~\eqref{buch:crypto:eqn:block}.
+Die Koeffizienten der Matrix sind Elemente von $\mathbb{F}_{2^8}$.
+Die Matrix ist
+\[
+C=\begin{pmatrix}
+\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\
+\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\
+\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}
+\end{pmatrix}.
+\]
+Um nachzuprüfen, dass die Matrix $C$ invertierbar ist, könnte man den
+Gauss-Algorithmus verwenden und damit die Inverse berechnen.
+Dazu müsste man die multiplikativen Inversen kennen, was etwas mühsam
+ist.
+Man kann aber aber auch die Determinante bestimmen, dazu braucht man
+nur multiplizieren zu können, was in diesem Fall sehr leicht möglich ist,
+weil kein Überlauf entsteht.
+Dabei hilft es zu beachten, dass die Multiplikation mit $\texttt{02}_{16}$
+nur eine Einbit-Shiftoperation nach links ist.
+Nur die Multiplikation $\texttt{03}_{16}\cdot\texttt{03}_{16}=\text{05}_{16}$
+gibt etwas mehr zu überlegen.
+Mit geeigneten Zeilen-Operationen kann man die Berechnung der Determinante
+von $C$ mit dem Entwicklungssatz etwas vereinfachen.
+Man erhält
+\begin{align*}
+\det(C)
+&=
+\left|
+\begin{matrix}
+\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\
+\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\
+\texttt{00}_{16}&\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
+\\
+&=
+\texttt{02}_{16}
+\left|
+\begin{matrix}
+\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
++
+\texttt{01}_{16}
+\left|
+\begin{matrix}
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
+\\
+&=
+\texttt{02}_{16}
+\left|
+\begin{matrix}
+\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\
+\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
++
+\texttt{01}_{16}
+\left|
+\begin{matrix}
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\
+\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
+\\
+&=
+\texttt{02}_{16}
+\left(
+\texttt{02}_{16}
+\left|
+\begin{matrix}
+\texttt{02}_{16}&\texttt{03}_{16}\\
+\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
++
+\texttt{01}_{16}
+\left|
+\begin{matrix}
+\texttt{03}_{16}&\texttt{01}_{16}\\
+\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
+\right)
++
+\texttt{01}_{16}
+\left|
+\begin{matrix}
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}\\
+\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16}
+\end{matrix}
+\right|
+\\
+&=
+\texttt{02}_{16}
+(
+\texttt{02}_{16}(\texttt{04}_{16}+\texttt{05}_{16})
++
+(\texttt{06}_{16}+\texttt{03}_{16})
+)
++
+\texttt{03}_{16}\texttt{03}_{16}
+\\
+&=
+\texttt{02}_{16}
+(
+\texttt{02}_{16}
++
+\texttt{05}_{16}
+)
++
+\texttt{05}_{16}
+=
+\texttt{0e}_{16}+\texttt{05}_{16}
+=
+\texttt{0a}_{16}
+\ne 0.
+\end{align*}
+Damit ist gezeigt, dass die Matrix $C$ invertierbar auf den
+Spaltenvektoren wirkt.
+Die Inverse der Matrix kann einmal berechnet und anschliessend
+für die Entschlüsselung verwendet werden.
+
+Alternativ kann man die Multiplikation mit der Matrix $C$ auch
+interpretieren als eine Polynommultiplikation.
+Dazu interpretiert man die Spalten des Blocks als Polynom vom Grad~3
+mit Koeffizienten in $\mathbb{F}_{2^8}$.
+Durch Reduktion mit dem irreduziblen Polynom
+$n(Z)=Z^4+1\in\mathbb{F}_{2^8}[X]$ entsteht aus dem Polynomring
+wieder ein Körper.
+Die Wirkung der Matrix $C$ ist dann nichts anderes als Multiplikation
+mit dem Polynom
+\[
+c(Z) = \texttt{03}_{16}Z^3 + Z^2+Z^1+\texttt{02}_{16},
+\]
+die natürlich ebenfalls umkehrbar ist.
+
+\subsection{Schlüssel
+\label{buch:subsection:schlüssel}}
+Die von den Byte- und Blockoperationen mischen die einzelnen Bits
+der Daten zwar ganz schön durcheinander, aber es wird noch kein
+Schlüsselmaterial eingearbeitet, welches den Prozess einzigartig
+macht.
+
+\subsubsection{Schlüsseladdition}
+Nach jeder Spaltenmischoperation wird ein Rundenschlüssel
+zum Blockhinzuaddiert.
+Beim ersten Mal wird dazu einfach das Schlüsselmaterial verwendet.
+Für die folgenden Runden muss aus diesem Schlüssel neues
+Material, die sogenannten Rundenschlüssel, gewonnen werden.
+
+\subsubsection{Rundenschlüssel}
+\begin{figure}
+\centering
+\includegraphics{chapters/90-crypto/images/keys.pdf}
+\caption{Erzeugung der erweiterten Schlüsseldaten aus dem Schlüssel
+$K_0,\dots,K_7$ für Schlüssellänge 256\,bit.
+Die mit $S$ beschrifteten Blöcke wenden die $S$-Box auf jedes einzelne
+Byte an.
+$\pi$ ist die zyklische Vertauschung der Bytes eines Wortes.
+Die Operation $r_i$ ist eine Addition einer Konstanten, die in jeder
+Runde anders ist.
+\label{buch:crypto:fig:keys}}
+\end{figure}
+Die Erzeugung der Rundenschlüssel ist in Abbildung
+\ref{buch:crypto:fig:keys}
+schematisch dargestellt.
+Die Blöcke beschreiben wieder Spaltenvektoren im vierdimensionalen
+Raum $\mathbb{F}_{2^8}^4$.
+Die Blöcke $K_0$ bis $K_7$ stellen den ursprünglichen Schlüssel dar.
+Die Erzeugung eines neuen Blocks Schlüsselmatrial beginnt damit,
+dass der letzte Vektor des vorangegangenblocks drei Operationen
+unterworfen werden.
+\begin{itemize}
+\item
+Die Operation $\pi$ vertauscht die Bytes des Vektors zyklisch:
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\def\s{0.6}
+\begin{scope}
+\draw (0,0) rectangle (\s,{4*\s});
+\foreach \y in {1,...,3}{
+ \draw (0,{\y*\s}) (\s,{\y*\s});
+}
+\node at ({0.5*\s},{0.5*\s}) {$b_3$};
+\node at ({0.5*\s},{1.5*\s}) {$b_2$};
+\node at ({0.5*\s},{2.5*\s}) {$b_1$};
+\node at ({0.5*\s},{3.5*\s}) {$b_0$};
+\end{scope}
+\draw[->] ({1.1*\s},{2*\s}) -- ({4.9*\s},{2*\s});
+\node at ({3*\s},{2*\s}) [above] {$\pi$};
+\begin{scope}[xshift=3cm]
+\draw (0,0) rectangle (\s,{4*\s});
+\foreach \y in {1,...,3}{
+ \draw (0,{\y*\s}) (\s,{\y*\s});
+}
+\node at ({0.5*\s},{0.5*\s}) {$b_0$};
+\node at ({0.5*\s},{1.5*\s}) {$b_3$};
+\node at ({0.5*\s},{2.5*\s}) {$b_2$};
+\node at ({0.5*\s},{3.5*\s}) {$b_1$};
+\end{scope}
+\end{tikzpicture}
+\end{center}
+\item
+Die $S$-Operation wendet die $S$-Box auf alle Bytes eines Vektors an.
+\item
+Die $r_i$ Operation addiert in Runde eine Konstante $r_i$ zur $0$-Komponente.
+\end{itemize}
+Die Konstante $r_i$ ist wieder ein einzelnes Byte und es ist daher
+naheliegend, diese Bytes mit Hilfe der Arithmetik in $\mathbb{F}_{2^8}$
+zu erzeugen.
+Man kann daher $r_i$ definieren als
+$(\texttt{02}_{16})^{i-1}\in\mathbb{F}_{2^8}$.
+
+\subsection{Runden}
+Der AES-Verschlüsselungsalgorithmus besteht jetzt darin, die bisher
+definierten Operationen wiederholt anzuwenden.
+Eine einzelne Runde besteht dabei aus folgenden Schritten:
+\begin{enumerate}
+\item Wende die $S$-Box auf alle Bytes des Blocks an.
+\item Führe den Zeilenshift durch.
+\item Mische die Spalten (wird in der letzten Runde)
+\item Erzeuge den nächsten Rundenschlüssel
+\item Addiere den Rundenschlüssel
+\end{enumerate}
+Der AES-Verschlüsselungsalgorithmus beginnt damit, dass der Schlüssel
+zum Datenblock addiert wird.
+Anschliessend werden je nach Blocklänge verschiedene Anzahlen von
+Runden durchgeführt, 10 Runden für 128\,bit, 12 Runden für 192\,bit und
+14 Runden für 256\,bit.
+
+
+
+
+
diff --git a/buch/chapters/90-crypto/arith.tex b/buch/chapters/90-crypto/arith.tex index b6f2fd8..2520a69 100644 --- a/buch/chapters/90-crypto/arith.tex +++ b/buch/chapters/90-crypto/arith.tex @@ -1,25 +1,295 @@ -% -% arith.tex -% -% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Arithmetik für die Kryptographie -\label{buch:section:arithmetik-fuer-kryptographie}} -\rhead{Arithmetik für die Kryptographie} - -\subsection{Potenzieren -\label{buch:subsection:potenzieren}} -% XXX Divide-and-Conquer Algorithmus - -\subsection{Rechenoperationen in $\mathbb{F}_p$ -\label{buch:subsection:rechenoperationen-in-fp}} -% XXX Multiplikation: modulare Reduktion mit jedem Digit -% XXX Divide-and-Conquer - -\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} -% XXX Beispiel F einer Oakley-Gruppe - +%
+% arith.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Arithmetik für die Kryptographie
+\label{buch:section:arithmetik-fuer-kryptographie}}
+\rhead{Arithmetik für die Kryptographie}
+Die Algorithmen der mathematischen Kryptographie basieren
+auf den Rechenoperationen in grossen, aber endlichen Körpern.
+Für die Division liefert der euklidische Algorithmus eine
+Methode, der in so vielen Schritten die Inverse findet,
+wie Dividend und Divisor Binärstellen haben.
+Dies ist weitgehend optimal.
+
+Die Division ist umkehrbar, in der Kryptographie strebt man aber an,
+Funktionen zu konstruieren, die nur mit grossem Aufwand umkehrbar sind.
+Eine solche Funktion ist das Potenzieren in einem endlichen Körper.
+Die Berechnung von Potenzen durch wiederholte Multiplikation ist jedoch
+prohibitiv aufwendig, daher ist ein schneller Potenzierungsalgorithmus
+nötig, der in Abschnitt~\ref{buch:subsection:potenzieren} beschrieben
+wird.
+Bei der Verschlüsselung grosser Datenmengen wie zum Beispiel bei
+der Verschlüsselung ganzer Harddisks mit Hilfe des AES-Algorithmus
+kommt es auf die Geschwindigkeit auch der elementarsten Operationen
+in den endlichen Körpern an.
+Solche Methoden werden in den Abschnitten
+\ref{buch:subsection:rechenoperationen-in-fp}
+und
+\ref{buch:subsection:rechenoperatione-in-f2l}
+besprochen.
+
+\subsection{Potenzieren
+\label{buch:subsection:potenzieren}}
+Wir gehen davon aus, dass wir einen schnellen Algorithmus zur
+Berechnung des Produktes zweier Elemente $a,b$ in einer
+beliebigen Gruppe $G$ haben.
+Die Gruppe $G$ kann die Multiplikation der ganzen oder reellen Zahlen
+sein, dies wird zum Beispiel in Implementation der Potenzfunktion
+verwendet.
+Für kryptographische Anwendungen ist $G$ die multiplikative Gruppe
+eines endlichen Körpers oder eine elliptische Kurve.
+
+Zur Berechnung von $a^k$ sind bei einer naiven Durchführung des
+Algorithmus $k-1$ Multiplikationen nötig, immer sofort gefolgt
+von einer Reduktion $\mod p$ um sicherzustellen, dass die Resultate
+nicht zu gross werden.
+Ist $l$ die Anzahl der Binärstellen von $k$, dann benötigt dieser
+naive Algorithmus $O(2^l)$ Multiplikationen, die Laufzeit wächst
+also exponentiell mit der Bitlänge von $k$ an.
+Der nachfolgend beschriebene Algorithmus reduziert die Laufzeit auf
+die $O(l)$.
+
+Zunächst schreiben wir den Exponenten $k$ in binärer Form als
+\[
+k = k_l2^l + k_{l-1}2^{l-1} + \dots k_22^2+k_12^1 k_02^0.
+\]
+Die Potenz $a^k$ kann dann geschrieben werden als
+\[
+a^k
+=
+a^{k_l2^l} \cdot a^{k_{l-1}2^{l-1}} \cdot \dots \cdot
+a^{k_22^2} \cdot a^{k_12^1} \cdot a^{k_02^0}
+\]
+Nur diejenigen Faktoren tragen etwas bei, für die $k_i\ne 0$ ist.
+Die Potenz kann man daher auch schreiben als
+\[
+a^k
+=
+\prod_{k_i\ne 0} a^{2^i}.
+\]
+Es sind also nur so viele Faktoren zu berücksichtigen, wie $k$
+Binärstellen $1$ hat.
+
+Die einzelnen Faktoren $a^{2^i}$ können durch wiederholtes Quadrieren
+erhalten werden:
+\[
+a^{2^i} = a^{2\cdot 2^{i-1}} = (a^{2^{i-1}})^2,
+\]
+also durch maximal $l-1$ Multiplikationen.
+Wenn $k$ keine Ganzzahl ist sondern binäre Nachkommastellen hat, also
+\[
+k=k_l2^l + \dots + k_12^1 + k_02^0 + k_{-1}2^{-1} + k_{-2}2^{-2}+\dots,
+\]
+dann können die Potenzen $a^{2^{-i}}$ durch wiederholtes Wurzelziehen
+\[
+a^{2^{-i}} = a^{\frac12\cdot 2^{-i+1}} = \sqrt{a^{2^{-i+1}}}
+\]
+gefunden werden.
+Die Berechnung der Quadratwurzel lässt sich in Hardware effizient
+implementieren.
+
+\begin{algorithmus}
+Der folgende 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}}
+Die Multiplikation macht aus zwei Faktoren $a$ und $b$ ein
+Resultat mit Bitlänge $\log_2 a+\log_2 b$, die Bitlänge wird
+also typischerweise verdoppelt.
+In $\mathbb{F}_p$ muss anschliessend das Resultat $\mod p$
+reduziert werden, so dass die Bitlänge wieder höchstens
+$\log_2p$ ist.
+In folgenden soll gezeigt werden, dass dieser Speicheraufwand
+für eine Binärimplementation deutlich reduziert werden kann,
+wenn die Reihenfolge der Operationen modifiziert wird.
+
+Für die Multiplikation von $41\cdot 47$ rechnet man im Binärsystem
+\begin{center}
+\begin{tabular}{>{$}r<{$}}
+\texttt{{\color{darkgreen}1}0{\color{red}1}001}\cdot\texttt{101111}\\
+\hline
+\texttt{101111}\\
+\texttt{{\color{red}101111}\phantom{000}}\\
+\texttt{{\color{darkgreen}101111}\phantom{00000}}\\
+\hline
+\texttt{11110000111}\\
+\hline
+\end{tabular}
+\end{center}
+In $\mathbb{F}_{53}$ muss im Anschluss Modulo $p=53$ reduziert werden.
+
+Der Speicheraufwand entsteht zunächst dadurch, dass durch die Multiplikation
+mit $2$ die Summanden immer länger werden.
+Man kann den die Sumanden kurz halten, indem man jedesmal, wenn
+der Summand nach der Multiplikation mit $2$ grösser als $p$ geworden ist,
+$p$ subtrahiert (Abbildung~\ref{buch:crypto:fig:reduktion}).
+Ebenso kann bei nach jeder Addition das bereits reduzierten zweiten
+Faktors wieder reduziert werden.
+Die Anzahl der nötigen Reduktionsoperationen wird durch diese
+frühzeitig durchgeführten Reduktionen nicht teurer als bei der Durchführung
+des Divisionsalgorithmus.
+
+\begin{figure}
+\begin{center}
+\begin{tabular}{>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}}
+\text{Multiplikation mit $2$}&\text{Reduktion?}&\text{reduziert}
+ &\text{Summanden}&\text{Summe}&\text{reduziert}
+\\
+\hline
+\texttt{101111} & &\texttt{101111}
+ &\texttt{101111}&\texttt{101111}&\texttt{101111}
+\\
+\texttt{101111\phantom{0}} &\texttt{{\color{red}1011110}}&\texttt{101001}
+ & & &
+\\
+\texttt{101111\phantom{00}} &\texttt{0{\color{red}111010}}&\texttt{011101}
+ & & &
+\\
+\texttt{101111\phantom{000}} &\texttt{0001010}&\texttt{000101}
+ &\texttt{000101}&\texttt{110100}&\texttt{110100}
+\\
+\texttt{101111\phantom{0000}} &\texttt{0010100}&\texttt{001010}
+ & & &
+\\
+\texttt{101111\phantom{00000}}&\texttt{0101000}&\texttt{010100}
+ &\texttt{010100}&\texttt{{\color{red}1001000}}&\texttt{10011}\rlap{$\mathstrut=19$}
+\end{tabular}
+\end{center}
+\caption{Multiplikation von $41=\texttt{101001}_2$ mit $47=\texttt{101111}_2$,
+Reduktion nach jeder Multiplikation mit $2$: falls das Resultat
+$>p$ ist, wie in den rot markierten Zeilen $p=53=\texttt{110101}_2$
+durchgeführt.
+Bei der Bildung der Summe wird ebenfalls in jedem Schritt falls nötig
+reduziert, angezeigt durch die roten Zahlen in der zweitletzten
+Spalte.
+Die Anzahl der Subtraktionen, die für die Reduktionen nötig sind, ist
+von der selben Grössenordnung wie bei der Durchführung des
+Divisionsalgorithmus.
+\label{buch:crypto:fig:reduktion}}
+\end{figure}
+
+Es ist also möglich, mit gleichem Aufwand an Operationen
+aber mit halbe Speicherplatzbedarf die Multiplikationen in $\mathbb{F}_p$
+durchzuführen.
+Die Platzeinsparung ist besonders bei Implementationen in Hardware
+hilfreich, wo on-die Speicherplatz teuer sein kann.
+
+\subsection{Rechenoperationen in $\mathbb{F}_{2^l}$
+\label{buch:subsection:rechenoperatione-in-f2l}}
+Von besonderem praktischem Interesse sind die endlichen Körper
+$\mathbb{F}_{2^l}$.
+Die arithmetischen Operationen in diesen Körpern lassen sich besonders
+effizient in Hardware realisieren.
+
+\subsubsection{Zahldarstellung}
+Ein endlicher Körper $\mathbb{F}_{2^l}$ ist definiert durch ein
+irreduzibles Polynom in $\mathbb{F}_2[X]$ vom Grad $2^l$
+\[
+m(X)
+=
+X^l + m_{l-1}X^{l-1} + m_{l-2}X^{l-2} + \dots + m_2X^2 + m_1X + m_0
+\]
+gegeben.
+Ein Element in $\mathbb{F}_2[X]/(m)$ kann dargestellt werden durch ein
+Polynom vom Grad $l-1$, also durch
+\[
+a = a_{l-1}X^{l-1} + a_{l-2}X^{l-2} +\dots + a_2X^2 + a_1X + a_0.
+\]
+In einer Maschine kann eine Zahl also als eine Bitfolge der Länge $l$
+dargestellt werden.
+
+\subsubsection{Addition}
+Die Addition in $\mathbb{F}_2$ ist in Hardware besonders leicht zu
+realisieren.
+Die Addition ist die XOR-Operation, die Multiplikation ist die UND-Verknüfung.
+Ausserdem stimmen in $\mathbb{F}_2$ Addition und Subtraktion überein.
+
+Die Addition zweier Polynome erfolgt komponentenweise.
+Die Addition von zwei Elemente von $\mathbb{F}_{2^l}$ kann also
+durch die bitweise XOR-Verknüpfung der Darstellungen der Summanden
+erfolgen.
+Diese Operation ist in einem einzigen Maschinenzyklus realisierbar.
+Die Subtraktion, die für die Reduktionsoperation module $m(X)$ nötig
+ist, ist mit der Addition identisch.
+
+\subsubsection{Multiplikation}
+Die Multiplikation zweier Polynome benötigt zunächst die Multiplikation
+mit $X$, wodurch der Grad des Polynoms ansteigt und möglicherweise so
+gross wird, dass eine Reduktionsoperation modulo $m(X)$ nötig wird.
+Die Reduktion wird immer dann nötig, wenn der Koeffizient von $X^l$
+nicht $0$ ist.
+Der Koeffizient kann dann zum Verschwinden gebracht werden, indem
+$m(X)$ addiert wird.
+
+\begin{figure}
+\centering
+\includegraphics{chapters/90-crypto/images/schieberegister.pdf}
+\caption{Implementation der Multiplikation mit $X$ in einem
+endlichen Körper $\mathbb{F}_{2^l}$ mit dem Minimalpolynom
+$m(X) = X^8+X^4+X^3+X^+1$ als Feedback-Schieberegister.
+\label{buch:crypto:fig:schieberegister}}
+\end{figure}
+
+In Abbildung~\ref{buch:crypto:fig:schieberegister} wird gezeigt,
+wie die Reduktion erfolgt, wenn die Multiplikation mit $X$, also der
+Shift nach links, einen Überlauf ergibt.
+Das Minimalpolynom $m(X)=X^8+X^4+X^3+X+1$ bedeutet, dass in $\mathbb{F}_{2^l}$
+$X^8=X^4+X^3+X+1$ gilt, so dass man das Überlaufbit durch
+$X^4+X^3+X+1$ ersetzen und addieren kann.
+
+Ein Produktes $p(X)\cdot q(X)$, wobei $p(X)$ und
+$q(X)$ Repräsentaten von Elementen $\mathbb{F}_{2^l}$ sind, kann jetzt
+wie folgt berechnet werden.
+Mit dem Schieberegister werden die Vielfachen $X^k\cdot p(X)$
+für $k=0,\dots,l-1$ berechnet.
+Diejenigen Vielfachen, für die der Koeffizient von $X^k$ in $q(X)$
+von $0$ verschieden ist werden aufsummiert und ergeben das Produkt.
+Der Prozess in Abbildung~\ref{buch:crypto:fig:multiplikation}
+dargestellt.
+
+\begin{figure}
+\centering
+\includegraphics[width=\textwidth]{chapters/90-crypto/images/multiplikation.pdf}
+\caption{Multiplikation zweier Elemente von $\mathbb{F}_{2^l}$.
+Mit Hilfe des Schieberegisters am linken Rand werden die Produkte
+$X\cdot p(X)$, $X^2\cdot p(X),\dots,X^7\cdot p(X)$ nach der in
+Abbildung~\ref{buch:crypto:fig:schieberegister} dargestellten
+Methode berechnet.
+Am rechten Rand werden diejenigen $X^k\cdot p(X)$ aufaddiert,
+für die der $X^k$-Koeffizient von $q(X)$ von $0$ verschieden ist.
+\label{buch:crypto:fig:multiplikation}}
+\end{figure}
+
+
+% XXX Beispiel F einer Oakley-Gruppe
+
diff --git a/buch/chapters/90-crypto/chapter.tex b/buch/chapters/90-crypto/chapter.tex index 43ac8de..920941d 100644 --- a/buch/chapters/90-crypto/chapter.tex +++ b/buch/chapters/90-crypto/chapter.tex @@ -1,31 +1,31 @@ -% -% chapter.tex -- Anwendungen von Matrizen in der Codierungstheorie und -% Kryptographie -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -% !TeX spellcheck = de_CH -\chapter{Anwendungen in Kryptographie und Codierungstheorie -\label{buch:chapter:kryptographie}} -\lhead{Kryptographie und Codierungstheorie} -\rhead{} -Die algebraische Theorie der endlichen Körper hat sich als besonders -nützliche herausgestellt in der Krypographie. -Die Eigenschaften dieser Körper sind reichhaltig genug, um -kryptographsch widerstandsfähige Algorithmen zu liefern, die -auch in ihrer Stärke beliebig skaliert werden können. -Gleichzeitig liefert die Algebra auch eine effiziente Implementierung. -In diesem Abschnitt soll dies an einigen Beispielen gezeigt werden. - -\input{chapters/90-crypto/arith.tex} -\input{chapters/90-crypto/ff.tex} -\input{chapters/90-crypto/aes.tex} -\input{chapters/90-crypto/rs.tex} - -\section*{Übungsaufgaben} -\rhead{Übungsaufgaben} -\aufgabetoplevel{chapters/90-crypto/uebungsaufgaben} -\begin{uebungsaufgaben} -\uebungsaufgabe{9001} -\end{uebungsaufgaben} - +%
+% chapter.tex -- Anwendungen von Matrizen in der Codierungstheorie und
+% Kryptographie
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+% !TeX spellcheck = de_CH
+\chapter{Anwendungen in Kryptographie und Codierungstheorie
+\label{buch:chapter:kryptographie}}
+\lhead{Kryptographie und Codierungstheorie}
+\rhead{}
+Die algebraische Theorie der endlichen Körper hat sich als besonders
+nützliche herausgestellt in der Krypographie.
+Die Eigenschaften dieser Körper sind reichhaltig genug, um
+kryptographsch widerstandsfähige Algorithmen zu liefern, die
+auch in ihrer Stärke beliebig skaliert werden können.
+Gleichzeitig liefert die Algebra auch eine effiziente Implementierung.
+In diesem Abschnitt soll dies an einigen Beispielen gezeigt werden.
+
+\input{chapters/90-crypto/arith.tex}
+\input{chapters/90-crypto/ff.tex}
+\input{chapters/90-crypto/aes.tex}
+%\input{chapters/90-crypto/rs.tex}
+
+\section*{Übungsaufgaben}
+\rhead{Übungsaufgaben}
+\aufgabetoplevel{chapters/90-crypto/uebungsaufgaben}
+\begin{uebungsaufgaben}
+\uebungsaufgabe{9001}
+\end{uebungsaufgaben}
+
diff --git a/buch/chapters/90-crypto/ff.tex b/buch/chapters/90-crypto/ff.tex index 4ab9c34..8a38f93 100644 --- a/buch/chapters/90-crypto/ff.tex +++ b/buch/chapters/90-crypto/ff.tex @@ -1,664 +1,664 @@ -% -% ff.tex -- Kryptographie und endliche Körper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% - -\section{Kryptographie und endliche Körper -\label{buch:section:kryptographie-und-endliche-koerper}} -\rhead{Kryptographie und endliche Körper} - -\subsection{Potenzen in $\mathbb{F}_p$ und diskreter Logarithmus -\label{buch:subsection:potenzen-diskreter-logarithmus}} -Für kryptographische Anwendungen wird eine einfach zu berechnende -Funktion benötigt, -die ohne zusätzliches Wissen, üblicherweise der Schlüssel genannt, -nicht ohne weiteres umkehrbar ist. -Die arithmetischen Operationen in einem endlichen Körper sind -mit geringem Aufwand durchführbar. -Für die ``schwierigste'' Operation, die Division, steht der -euklidische Algorithmus zur Verfügung. - -Die nächstschwierigere Operation ist die Potenzfunktion. -Für $g\in \Bbbk$ und $a\in\mathbb{N}$ ist die Potenz $g^a\in\Bbbk$ -natürlich durch die wiederholte Multiplikation definiert. -In der Praxis werden aber $g$ und $a$ Zahlen mit vielen Binärstellen -sein, die die wiederholte Multiplikation ist daher sicher nicht -effizient, das Kriterium der einfachen Berechenbarkeit scheint -also nicht erfüllt. -Der folgende Algorithmus berechnet die Potenz in $O(\log_2 a$ -Multiplikationen. - -\begin{algorithmus}[Divide-and-conquer] -\label{buch:crypto:algo:divide-and-conquer} -Sei $a=a_0 + a_12^1 + a_22^2 + \dots + a_k2^k$ die Binärdarstellung -der Zahl $a$. -\begin{enumerate} -\item setze $f=g$, $x=1$, $i=0$ -\label{divide-and-conquer-1} -\item solange $i\ge k$ ist, führe aus -\label{divide-and-conquer-2} -\begin{enumerate} -\item -\label{divide-and-conquer-3} -falls $a_i=1$ setze $x \coloneqq x \cdot f$ -\item -\label{divide-and-conquer-4} -$i \coloneqq i+1$ und $f\coloneqq f\cdot f$ -\end{enumerate} -\end{enumerate} -Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen -berechnet werden. -\end{algorithmus} - -\begin{proof}[Beweis] -Die Initalisierung in Schritt~\ref{divide-and-conquer-1} stellt sicher, -dass $x$ den Wert $g^0$ hat. -Schritt~\ref{divide-and-conquer-4} stellt sicher, -dass die Variable $f$ immer den Wert $g^{2^i}$ hat. -Im Schritt~\ref{divide-and-conquer-3} wird zu $x$ die Potenz -$g^{a_i2^i}$ hinzumultipliziert. -Am Ende des Algorithmus hat daher $x$ den Wert -\[ -x = g^{a_02^0} \cdot g^{a_12^1} \cdot g^{a_22^2} \cdot\ldots\cdot 2^{a_k2^k} -= -g^{a_0+a_12+a_22^2+\dots+a_k2^k} -= -g^a. -\] -Die Schleife wird $\lfloor1+\log_2ab\rfloor$ mal durchlaufen. -In jedem Fall wird auf jeden Fall die Multiplikation in -Schritt~\ref{divide-and-conquer-4} durchgeführt -und im schlimmsten Fall auch noch die Multiplikation in -Schritt~\ref{divide-and-conquer-3}. -Es werden also nicht mehr als $2\lfloor 1+\log_2a\rfloor=O(\log_2a)$ -Multiplikationen durchgeführt. -\end{proof} - -\begin{beispiel} -Man berechne die Potenz $7^{2021}$ in $\mathbb{F}_p$. -Die Binärdarstellung von 2021 ist $2021_{10}=\texttt{11111100101}_2$. -Wir stellen die nötigen Operationen des -Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} in der folgenden -Tabelle -\begin{center} -\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} -\hline - i& f& a_i& x\\ -\hline - 0& 7& 1& 7\\ - 1& 49& 0& 7\\ - 2&1110& 1& 24\\ - 3& 486& 0& 24\\ - 4&1234& 0& 24\\ - 5& 667& 1& 516\\ - 6& 785& 1& 977\\ - 7& 418& 1& 430\\ - 8& 439& 1& 284\\ - 9& 362& 1& 819\\ -10& 653& 1& 333\\ -\hline -\end{tabular} -\end{center} -Daraus liest man ab, dass $7^{2021}=333\in\mathbb{F}_{1291}$. -\end{beispiel} - -Die Tabelle suggeriert, dass die Potenzen von $g$ ``wild'', also -scheinbar ohne System in $\mathbb{F}_p$ herumspringen. -Dies deutet an, dass die Umkehrung der Exponentialfunktion in $\mathbb{F}_p$ -schwierig ist. -Die Umkehrfunktion der Exponentialfunktion, die Umkehrfunktion von -$x\mapsto g^x$ in $\mathbb{F}_p$ heisst der {\em diskrete Logarithmus}. -\index{diskreter Logarithmus}% -Tatsächlich ist der diskrete Logarithmus ähnlich schwierig zu bestimmen -wie das Faktorisieren von Zahlen, die das Produkt grosser -Primafaktoren ähnlicher Grössenordnung wie $p$ sind. -Die Funktion $x\mapsto g^x$ ist die gesuchte, schwierig zu invertierende -Funktion. - -Auf dern ersten Blick scheint der -Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} -den Nachteil zu haben, dass erst die Binärdarstellung der Zahl $a$ -ermittelt werden muss. -In einem Computer ist dies aber normalerweise kein Problem, da $a$ -im Computer ohnehin binär dargestellt ist. -Die Binärziffern werden in der Reihenfolge vom niederwertigsten zum -höchstwertigen Bit benötigt. -Die folgende Modifikation des Algorithmus ermittelt laufend -auch die Binärstellen von $a$. -Die dazu notwendigen Operationen sind im Binärsystem besonders -effizient implementierbar, die Division durch 2 ist ein Bitshift, der -Rest ist einfach das niederwertigste Bit der Zahl. - -\begin{algorithmus} -\label{buch:crypto:algo:divide-and-conquer2} -\begin{enumerate} -\item -Setze $f=g$, $x=1$, $i=0$ -\item -Solange $a>0$ ist, führe aus -\begin{enumerate} -\item -Verwende den euklidischen Algorithmus um $r$ und $b$ zu bestimmen mit $a=2b+r$ -\item -Falls $r=1$ setze $x \coloneqq x \cdot f$ -\item -$i \coloneqq i+1$, $a = b$ und $f\coloneqq f\cdot f$ -\end{enumerate} -\end{enumerate} -Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen -berechnet werden. -\end{algorithmus} - - -% -% Diffie-Hellman Schlüsseltausch -% -\subsection{Diffie-Hellman-Schlüsseltausch -\label{buch:subsection:diffie-hellman}} -Eine Grundaufgabe der Verschlüsselung im Internet ist, dass zwei -Kommunikationspartner einen gemeinsamen Schlüssel für die Verschlüsselung -der Daten aushandeln können müssen. -Es muss davon ausgegangen werden, dass die Kommunikation abgehört wird. -Trotzdem soll es für einen Lauscher nicht möglich sein, den -ausgehandelten Schlüssel zu ermitteln. - -% XXX Historisches zu Diffie und Hellman - -Die beiden Partner $A$ und $B$ einigen sich zunächst auf eine Zahl $g$, -die öffentlich bekannt sein darf. -Weiter erzeugen sie eine zufällige Zahl $a$ und $b$, die sie geheim -halten. -Das Verfahren soll aus diesen beiden Zahlen einen Schlüssel erzeugen, -den beide Partner berechnen können, ohne dass sie $a$ oder $b$ -übermitteln müssen. -Die beiden Zahlen werden daher auch die privaten Schlüssel genannt. - -Die Idee von Diffie und Hellman ist jetzt, die Werte $x=g^a$ und $y=g^b$ -zu übertragen. -In $\mathbb{R}$ würden dadurch natürlich dem Lauscher auch $a$ offenbart, -er könnte einfach $a=\log_g x$ berechnen. -Ebenso kann auch $b$ als $b=\log_g y$ erhalten werden, die beiden -privaten Schlüssel wären also nicht mehr privat. -Statt der Potenzfunktion in $\mathbb{R}$ muss also eine Funktion -verwendet werden, die nicht so leicht umgekehrt werden kann. -Die Potenzfunktion in $\mathbb{F}_p$ erfüllt genau diese Eigenschaft. -Die Kommunikationspartner einigen sich also auch noch auf die (grosse) -Primzahl $p$ und übermitteln $x=g^a\in\mathbb{F}_p$ und -$y=g^b\in\mathbb{F}_p$. - -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/dh.pdf} -\caption{Schlüsselaustausch nach Diffie-Hellman. -Die Kommunikationspartner $A$ und $B$ einigen sich öffentlich auf -$p\in\mathbb{N}$ und $g\in\mathbb{F}_p$. -$A$ wählt dann einen privaten Schlüssel $a\in\mathbb{N}$ und -$B$ wählt $b\in\mathbb{N}$, sie tauschen dann $x=g^a$ und $y=g^b$ -aus. -$A$ erhält den gemeinsamen Schlüssel aus $y^a$, $B$ erhält ihn -aus $x^b$. -\label{buch:crypto:fig:dh}} -\end{figure} - -Aus $x$ und $y$ muss jetzt der gemeinsame Schlüssel abgeleitet werden. -$A$ kennt $y=g^b$ und $a$, $B$ kennt $x=g^a$ und $b$. -Beide können die Zahl $s=g^{ab}\in\mathbb{F}_p$ berechnen. -$A$ macht das, indem er $y^a=(g^b)^a = g^{ab}$ rechnet, -$B$ rechnet $x^b = (g^a)^b = g^{ab}$, beide natürlich in $\mathbb{F}_p$. -Der Lauscher kann aber $g^{ab}$ nicht ermitteln, dazu müsste er -$a$ oder $b$ ermitteln können. -Die Zahl $s=g^{ab}$ kann also als gemeinsamer Schlüssel verwendet -werden. - - - -\subsection{Elliptische Kurven -\label{buch:subsection:elliptische-kurven}} -Das Diffie-Hellman-Verfahren basiert auf der Schwierigkeit, in einem -Körper $\mathbb{F}_p$ die Gleichung $a^x=b$ nach $x$ aufzulösen. -Die Addition in $\mathbb{F}_p$ wird dazu nicht benötigt. -Es reicht, eine Menge mit einer Multiplikation zu haben, in der das -die Gleichung $a^x=b$ schwierig zu lösen ist. -Ein Gruppe wäre also durchaus ausreichend. - -Ein Kandidat für eine solche Gruppe könnte der Einheitskreis -$S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ in der komplexen Ebene sein. -Wählt man eine Zahl $g=e^{i\alpha}$, wobei $\alpha$ ein irrationales -Vielfaches von $\pi$ ist, dann sind alle Potenzen $g^n$ für natürliche -Exponenten voneinander verschieden. -Wäre nämlich $g^{n_1}=g^{n_2}$, dann wäre $e^{i\alpha(n_1-n_2)}=1$ und -somit müsste $\alpha=2k\pi/(n_1-n_2)$ sein. -Damit wäre aber $\alpha$ ein rationales Vielfaches von $\pi$, im Widerspruch -zur Voraussetzung. -Die Abbildung $n\mapsto g^n\in S^1$ ist auf den ersten Blick etwa ähnlich -undurchschaubar wie die Abbildung $n\mapsto g^n\in\mathbb{F}_p$. -Es gibt zwar die komplexe Logarithmusfunktion, mit der man $n$ bestimmen -kann, dazu muss man aber den Wert von $g^n$ mit beliebiger Genauigkeit -kennen, denn die Werte von $g^n$ können beliebig nahe beieinander liegen. - -Der Einheitskreis ist die Lösungsmenge der Gleichung $x^2+y^2=1$ für -reelle Koordinaten $x$ und $y$, -doch Rundungsunsicherheiten verunmöglichen den Einsatz in einem -Verfahren ähnlich dem Diffie-Hellman-Verfahren. -Dieses Problem kann gelöst werden, indem für die Variablen Werte -aus einem endlichen Körper verwendet werden. -Gesucht ist also eine Gleichung in zwei Variablen, deren Lösungsmenge -in einem endlichen Körper eine Gruppenstruktur trägt. -Die Lösungsmenge ist eine ``Kurve'' von Punkten mit -Koordinaten in einem endlichen Körper. - -In diesem Abschnitt wird gezeigt, dass sogenannte elliptische Kurven -über endlichen Körpern genau die verlangen Eigenschaften haben. - -\subsubsection{Elliptische Kurven} -Elliptische Kurven sind Lösungen einer Gleichung der Form -\begin{equation} -Y^2+XY=X^3+aX+b -\label{buch:crypto:eqn:ellipticcurve} -\end{equation} -mit Werten von $X$ und $Y$ in einem geeigneten Körper. -Die Koeffizienten $a$ und $b$ müssen so gewählt werden, dass die -Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} genügend viele -Lösungen hat. -Über den komplexen Zahlen hat die Gleichung natürlich für jede Wahl von -$X$ drei Lösungen. -Für einen endlichen Körper können wir dies im allgemeinen nicht erwarten, -aber wenn wir genügend viele Wurzeln zu $\mathbb{F}$ hinzufügen können wir -mindestens erreichen, dass die Lösungsmenge so viele Elemente hat, -dass ein Versuch, die Gleichung $g^x=b$ mittels Durchprobierens zu -lösen, zum Scheitern verurteil ist. - -\begin{definition} -\label{buch:crypto:def:ellipticcurve} -Die {\em elliptische Kurve} $E_{a,b}(\Bbbk)$ über dem Körper $\Bbbk$ ist -die Menge -\[ -E_{a,b}(\Bbbk) -= -\{(X,Y)\in\Bbbk^2\;|\;Y^2+XY=X^3+aX+b\}, -\] -für $a,b\in\Bbbk$. -\end{definition} - -Um die Anschauung zu vereinfachen, werden wir elliptische Kurven über -dem Körper $\mathbb{R}$ visualisieren. -Die daraus gewonnenen geometrischen Einsichten werden wir anschliessend -algebraisch umsetzen. -In den reellen Zahlen kann man die -Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} -noch etwas vereinfachen. -Indem man in \eqref{buch:crypto:eqn:ellipticcurve} -quadratisch ergänzt, bekommt man -\begin{align} -Y^2 + XY + \frac14X^2 &= X^3+\frac14 X^2 +aX+b -\notag -\\ -\Rightarrow\qquad -v^2&=X^3+\frac14X^2+aX+b, -\label{buch:crypto:eqn:ell2} -\end{align} -indem man $v=Y+\frac12X$ setzt. -Man beachte, dass man diese Substition nur machen kann, wenn $\frac12$ -definiert ist. -In $\mathbb{R}$ ist dies kein Problem, aber genau über den Körpern -mit Charakteristik $2$, die wir für die Computer-Implementation -bevorzugen, ist dies nicht möglich. -Es geht hier aber nur um die Visualisierung. - -Auch die Form \eqref{buch:crypto:eqn:ell2} lässt sich noch etwas -vereinfachen. -Setzt man $X=u-\frac1{12}$, dann verschwindet nach einiger Rechnung, -die wir hier nicht durchführen wollen, der quadratische Term -auf der rechten Seite. -Die interessierenden Punkte sind Lösungen der einfacheren Gleichung -\begin{equation} -v^2 -= -u^3+\biggl(a-\frac{1}{48}\biggr)u + b-\frac{a}{12}+\frac{1}{864} -= -u^3+Au+B. -\label{buch:crypto:ellvereinfacht} -\end{equation} -In dieser Form ist mit $(u,v)$ immer auch $(u,-v)$ eine Lösung, -die Kurve ist symmetrisch bezüglich der $u$-Achse. -Ebenso kann man ablesen, dass nur diejenigen $u$-Werte möglich sind, -für die das kubische Polynom $u^3+Au+B$ auf der rechten Seite von -\eqref{buch:crypto:ellvereinfacht} -nicht negativ ist. - -Sind $u_1$, $u_2$ und $u_3$ die Nullstellen des kubischen Polynoms -auf der rechten Seite von~\eqref{buch:crypto:ellvereinfacht}, folgt -\[ -v^2 -= -(u-u_1)(u-u_2)(u-u_3) -= -u^3 --(u_1+u_2+u_3)u^2 -+(u_1u_2+u_1u_3+u_2u_3)u -- -u_1u_2u_3. -\] -Durch Koeffizientenvergleich sieht man, dass $u_1+u_2+u_3=0$ sein muss. -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/elliptic.pdf} -\caption{Elliptische Kurve in $\mathbb{R}$ in der Form -$v^2=u^3+Au+B$ mit Nullstellen $u_1$, $u_2$ und $u_3$ des -kubischen Polynoms auf der rechten Seite. -Die blauen Punkte und Geraden illustrieren die Definition der -Gruppenoperation in der elliptischen Kurve. -\label{buch:crypto:fig:elliptischekurve}} -\end{figure} -Abbildung~\ref{buch:crypto:fig:elliptischekurve} -zeigt eine elliptische Kurve in der Ebene. - -\subsubsection{Geometrische Definition der Gruppenoperation} -In der speziellen Form \ref{buch:crypto:ellvereinfacht} ist die -elliptische Kurve symmetrisch unter Spiegelung an der $u$-Achse. -Die Spiegelung ist eine Involution, zweimalige Ausführung führt auf -den ursprünglichen Punkt zurück. -Die Inverse in einer Gruppe hat diese Eigenschaft auch, es ist -daher naheliegend, den gespiegelten Punkt als die Inverse eines -Elementes zu nehmen. - -Eine Gerade durch zwei Punkte der -in Abbildung~\ref{buch:crypto:fig:elliptischekurve} -dargestellten Kurve schneidet die Kurve ein drittes Mal. -Die Gruppenoperation wird so definiert, dass drei Punkte der Kurve -auf einer Geraden das Gruppenprodukt $e$ haben. -Da aus $g_1g_2g_3=e$ folgt $g_3=(g_1g_2)^{-1}$ oder -$g_1g_2=g_3^{-1}$, erhält man das Gruppenprodukt zweier Elemente -auf der elliptischen Kurve indem erst den dritten Schnittpunkt -ermittelt und diesen dann an der $u$-Achse spiegelt. - -Die geometrische Konstruktion schlägt fehl, wenn $g_1=g_2$ ist. -In diesem Fall kann man die Tangente im Punkt $g_1$ an die Kurve -verwenden. -Dieser Fall tritt zum Beispiel auch in den drei Punkten -$(u_1,0)$, $(u_2,0)$ und $(u_3,0)$ ein. - -Um das neutrale Element der Gruppe zu finden, können wir -zwei Punkte $g$ und $g^{-1}$ miteinander verknüpfen. -Die Gerade durch $g$ und $g^{-1}$ schneidet aber die Kurve -kein drittes Mal. -Ausserdem sind alle Geraden durch $g$ und $g^{-1}$ für verschiedene -$g$ parallel. -Das neutrale Element entspricht also einem unendlich weit entfernten Punkt. -Das neutrale Element entsteht immer dann als Produkt, wenn zwei -Punkte die gleiche $u$-Koordinaten haben. - -\subsubsection{Gruppenoperation, algebraische Konstruktion} -Nach den geometrischen Vorarbeiten zur Definition der Gruppenoperation -kann können wir die Konstruktion jetzt algebraisch umsetzen. - -Zunächst überlegen wir uns wieder eine Involution, welche als Inverse -dienen kann. -Dazu beachten wir, dass die linke Seite der definierenden Gleichung -\begin{equation} -Y^2+XY=X^3-aX+b. -\label{buch:crypto:eqn:grupopgl} -\end{equation} -auch als $Y(Y+X)$ geschrieben werden kann. -Die Abbildung $Y\mapsto -X-Y$ macht daraus -\[ -(-X-Y)(-X-Y+X)=(X+Y)Y, -\] -dies ist also die gesuchte Involution. - -Seien also $g_1=(x_1,y_1)$ und $g_2=(x_2,y_2)$ zwei verschiedene Lösungen -der Gleichung \eqref{buch:crypto:eqn:grupopgl} -Als erstes brauchen wir eine Gleichung für die Gerade durch die beiden -Punkte. -Sei also $l(X,Y)$ eine Linearform derart, dass $l(g_1)=d$ und $l(g_2)=d$ -für ein geeignetes $d\in\Bbbk$. -Dann gilt auch für die Punkte -\[ -g(t) = tg_1 + (1-t)g_2 -\qquad\Rightarrow\qquad -l(g(t)) -= -tl(g_1) + (1-t)l(g_2) -= -tc+(1-t)c -= -(t+1-t)c -=c, -\] -jeder Punkt der Geraden durch $g_1$ und $g_2$ lässt sich in dieser Form -schreiben. - -Setzt man jetzt $g(t)$ in die Gleichung ein, erhält man eine kubische -Gleichung in $t$, von der wir bereits zwei Nullstellen kennen, nämlich -$0$ und $1$. -Die kubische Gleichung muss also durch $t$ und $(t-1)$ teilbar sein. -Diese Berechnung kann man einfach in einem Computeralgebrasystem -durchführen. -Das Polynom ist -\[ -p(t) -= -\] -Nach Division durch $t(t-1)$ erhält man als den Quotienten -\begin{align*} -q(t) -&= -(y_2-y_1)^2 -+ -(y_2-y_1) (x_2-x_1) -+ -t(x_2-x_1)^3 -- -2x_2^3+3x_1x_2^2-x_1^3 -\end{align*} -und den Rest -\[ -r(t) -= -t(y_1^2+x_1y_1-x_1^3-ax_1-b) -+ -(1-t)(y_2^2+x_2y_2-x_2^3-ax_2-b). -\] -Die Klammerausdrücke verschwinden, da die sie gleichbedeutend damit sind, -dass die Punkte Lösungen von \eqref{buch:crypto:eqn:grupopgl} sind. - -Für den dritten Punkt auf der Geraden muss $t$ so gewählt werden, dass -$q(t)=0$ ist. -Dies ist aber eine lineare Gleichung mit der Lösung -\begin{align*} -t -&= --\frac{ -(y_1-y_2)^2 -+ -(y_2-y_1)(x_2-x_1) --2x_2^3+3x_1x_2^2-x_1^3 -}{(x_2-x_1)^3} -. -\end{align*} -Setzt man dies $g(t)$ ein, erhält man für die Koordinaten des dritten -Punktes $g_3$ die Werte -\begin{align} -x_3 -&= -\frac{ -(y_2-y_1)^2(x_2-x_1) + (y_2-y_1)(x_2-x_1)^2 --(x_2^4+x_1^4) -}{ -(x_2-x_1)^3 -} -\label{buch:crypto:eqn:x3} -\\ -y_3 -&= -\frac{ -(y_2-y_1)^3 -+(x_2-x_1)(y_2-y_1)^2 --(x_{2}-x_{1})^3 ( y_{2} - y_{1}) --(x_{2}-x_{1})^2 ( x_{1} y_{2}- x_{2} y_{1}) -}{ -(x_2-x_1)^3 -} -\label{buch:crypto:eqn:y3} -\end{align} -Die Gleichungen -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -ermöglichen also, das Element $g_1g_2^{-1}$ zu berechnen. -Interessant daran ist, dass in den Formeln die Konstanten $a$ und $b$ -gar nicht vorkommen. - -Es bleibt noch der wichtige Fall des Quadrierens in der Gruppe zu -behandeln, also den Fall $g_1=g_2$. -In diese Fall sind die Formeln -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -ganz offensichtlich nicht anwendbar. -Die geometrische Anschauung hat nahegelegt, die Tangent an die Kurve -im Punkt $g_1$ zu nehmen. -In $\mathbb{R}$ würde man dafür einen Grenzübergang $g_2\to g_1$ machen, -aber in einem endlichen Körper ist dies natürlich nicht möglich. - -Wir schreiben die Gerade als Parameterdarstellung in der Form -\( -t\mapsto g(t)= (x_1+ut, y_1+vt) -\) -für beliebige Parameter in $\Bbbk$. -Die Werte $u_1$ und $u_2$ müssen so gewählt werden, dass $g(t)$ eine -Tangente wird. -Setzt man $g(t)$ in die Gleichung~\eqref{buch:crypto:eqn:grupopgl} ein, -entsteht ein kubische Gleichung, die genau dann eine doppelte Nullstelle -bei $0$ hat, wenn $u,v$ die Tangentenrichtung beschreiben. -Einsetzen von $g(t)$ in \eqref{buch:crypto:eqn:grupopgl} -ergibt die Gleichung -\begin{align} -0 -&= --u^3t^3 -+ -(-3u^2x_{1}+v^2+uv)t^2 -+ -(2vy_1+uy_1-3ux_1^2+vx_1-au)t -+ -(y_1^2+x_1y_1-x_1^3-ax_1-b) -\label{buch:crypto:eqn:tangente1} -\end{align} -Damit bei $t=0$ eine doppelte Nullstelle mussen die letzten beiden -Koeffizienten verschwinden, dies führt auf die Gleichungen -\begin{align} -y_1^2+x_1y_1&=x_1^3+ax_1+b -\label{buch:crypto:eqn:rest1} -\\ -(2y_1 -+x_1)v -+(y_1 --3x_1^2 --a)u -&=0 -\label{buch:crypto:eqn:rest2} -\end{align} -Die erste Gleichung \eqref{buch:crypto:eqn:rest1} drückt aus, -dass $g_1$ ein Punkt der Kurve ist, sie ist automatisch erfüllt. - -Die zweite Gleichung -\eqref{buch:crypto:eqn:rest2} -legt das Verhältnis von $u$ und $v$, also die -\label{buch:crypto:eqn:rest2} -Tangentenrichtung fest. -Eine mögliche Lösung ist -\begin{equation} -\begin{aligned} -u &= x_1+2y_1 -\\ -v &= -y_1+3x_1^2+a. -\end{aligned} -\label{buch:crypto:eqn:uv} -\end{equation} - -Der Quotient ist ein lineares Polynom in $t$, die Nullstelle parametrisiert -den Punkt, der $(g_1)^{-2}$ entspricht. -Der zugehörige Wert von $t$ ist -\begin{equation} -t=-\frac{3u^2x_1-v^2-uv}{u^3}. -\label{buch:crypto:eqn:t} -\end{equation} - - -Setzt man -\label{buch:crypto:eqn:t} -und -\eqref{buch:crypto:eqn:uv} -in $g(t)$ ein, erhält man sehr komplizierte Ausdrücke für den dritten Punkt. -Wir verzichten darauf, diese Ausdrücke hier aufzuschreiben. -In der Praxis wird man in einem Körper der Charakteristik 2 arbeiten. -In diesem Körper werden alle geraden Koeffizienten zu $0$, alle ungeraden -Koeffizienten werden unabhängig vom Vorzeichen zu $1$. -Damit bekommt man die folgenden, sehr viel übersichtlicheren Ausdrücke -für den dritten Punkt: -\begin{equation} -\begin{aligned} -x -&= --\frac{ -y_1^2+x_1y_1+x_1^4+x_1^3+ax_1-a^2 - }{ -x_1^2 -} -\\ -y -&= -\frac{ -y_1^3+(x_1^2+x_1+a)y_1^2+(x_1^4 +a^2)y_1+x_1^6+ax_1^4+ax_1^3+a^2x_1^2+a^2x_1+a^3 -}{ - x_1^3 -} -\end{aligned} -\label{buch:crypto:eqn:tangentechar2} -\end{equation} -Damit haben wir einen vollständigen Formelsatz für die Berechnung der -Gruppenoperation in der elliptischen Kurve mindestens für den praktisch -relevanten Fall einer Kurve über einem Körper der Charakteristik $2$. - -\begin{satz} -Die elliptische Kurve -\[ -E_{a,b}(\mathbb{F}_{p^l}) -= -\{ -(X,Y)\in\mathbb{F}_{p^l} -\;|\; -Y^2+XY = X^3-aX-b -\} -\] -trägt eine Gruppenstruktur, die wie folgt definiert ist: -\begin{enumerate} -\item Der Punkt $(0,0)$ entspricht dem neutralen Element. -\item Das inverse Element von $(x,y)$ ist $(-x,-y-x)$. -\item Für zwei verschiedene Punkte $g_1$ und $g_2$ kann $g_3=(g_1g_2)^{-1}$ -mit Hilfe der Formeln -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -gefunden werden. -\item Für einen Punkt $g_1$ kann $g_3=g_1^{-2}$ in Charakteristik $2$ mit -Hilfe der Formeln -\eqref{buch:crypto:eqn:tangentechar2} -gefunden werden. -\end{enumerate} -Diese Operationen machen $E_{a,b}(\mathbb{F}_{p^l})$ zu einer endlichen -abelschen Gruppe. -\end{satz} - -\subsubsection{Beispiele} -% XXX -TODO: elliptische Kurven in IPsec: Oakley Gruppen - -\subsubsection{Diffie-Hellman in einer elliptischen Kurve} -% XXX -TODO: $g^x$ in einer elliptischen Kurve - - - +%
+% ff.tex -- Kryptographie und endliche Körper
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+
+\section{Kryptographie und endliche Körper
+\label{buch:section:kryptographie-und-endliche-koerper}}
+\rhead{Kryptographie und endliche Körper}
+
+\subsection{Potenzen in $\mathbb{F}_p$ und diskreter Logarithmus
+\label{buch:subsection:potenzen-diskreter-logarithmus}}
+Für kryptographische Anwendungen wird eine einfach zu berechnende
+Funktion benötigt,
+die ohne zusätzliches Wissen, üblicherweise der Schlüssel genannt,
+nicht ohne weiteres umkehrbar ist.
+Die arithmetischen Operationen in einem endlichen Körper sind
+mit geringem Aufwand durchführbar.
+Für die ``schwierigste'' Operation, die Division, steht der
+euklidische Algorithmus zur Verfügung.
+
+Die nächstschwierigere Operation ist die Potenzfunktion.
+Für $g\in \Bbbk$ und $a\in\mathbb{N}$ ist die Potenz $g^a\in\Bbbk$
+natürlich durch die wiederholte Multiplikation definiert.
+In der Praxis werden aber $g$ und $a$ Zahlen mit vielen Binärstellen
+sein, die die wiederholte Multiplikation ist daher sicher nicht
+effizient, das Kriterium der einfachen Berechenbarkeit scheint
+also nicht erfüllt.
+Der folgende Algorithmus berechnet die Potenz in $O(\log_2 a)$
+Multiplikationen.
+
+\begin{algorithmus}[Divide-and-conquer]
+\label{buch:crypto:algo:divide-and-conquer}
+Sei $a=a_0 + a_12^1 + a_22^2 + \dots + a_k2^k$ die Binärdarstellung
+der Zahl $a$.
+\begin{enumerate}
+\item setze $f=g$, $x=1$, $i=0$
+\label{divide-and-conquer-1}
+\item solange $i\ge k$ ist, führe aus
+\label{divide-and-conquer-2}
+\begin{enumerate}
+\item
+\label{divide-and-conquer-3}
+falls $a_i=1$ setze $x \coloneqq x \cdot f$
+\item
+\label{divide-and-conquer-4}
+$i \coloneqq i+1$ und $f\coloneqq f\cdot f$
+\end{enumerate}
+\end{enumerate}
+Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen
+berechnet werden.
+\end{algorithmus}
+
+\begin{proof}[Beweis]
+Die Initalisierung in Schritt~\ref{divide-and-conquer-1} stellt sicher,
+dass $x$ den Wert $g^0$ hat.
+Schritt~\ref{divide-and-conquer-4} stellt sicher,
+dass die Variable $f$ immer den Wert $g^{2^i}$ hat.
+Im Schritt~\ref{divide-and-conquer-3} wird zu $x$ die Potenz
+$g^{a_i2^i}$ hinzumultipliziert.
+Am Ende des Algorithmus hat daher $x$ den Wert
+\[
+x = g^{a_02^0} \cdot g^{a_12^1} \cdot g^{a_22^2} \cdot\ldots\cdot 2^{a_k2^k}
+=
+g^{a_0+a_12+a_22^2+\dots+a_k2^k}
+=
+g^a.
+\]
+Die Schleife wird $\lfloor1+\log_2ab\rfloor$ mal durchlaufen.
+In jedem Fall wird auf jeden Fall die Multiplikation in
+Schritt~\ref{divide-and-conquer-4} durchgeführt
+und im schlimmsten Fall auch noch die Multiplikation in
+Schritt~\ref{divide-and-conquer-3}.
+Es werden also nicht mehr als $2\lfloor 1+\log_2a\rfloor=O(\log_2a)$
+Multiplikationen durchgeführt.
+\end{proof}
+
+\begin{beispiel}
+Man berechne die Potenz $7^{2021}$ in $\mathbb{F}_p$.
+Die Binärdarstellung von 2021 ist $2021_{10}=\texttt{11111100101}_2$.
+Wir stellen die nötigen Operationen des
+Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} in der folgenden
+Tabelle
+\begin{center}
+\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|}
+\hline
+ i& f& a_i& x\\
+\hline
+ 0& 7& 1& 7\\
+ 1& 49& 0& 7\\
+ 2&1110& 1& 24\\
+ 3& 486& 0& 24\\
+ 4&1234& 0& 24\\
+ 5& 667& 1& 516\\
+ 6& 785& 1& 977\\
+ 7& 418& 1& 430\\
+ 8& 439& 1& 284\\
+ 9& 362& 1& 819\\
+10& 653& 1& 333\\
+\hline
+\end{tabular}
+\end{center}
+Daraus liest man ab, dass $7^{2021}=333\in\mathbb{F}_{1291}$.
+\end{beispiel}
+
+Die Tabelle suggeriert, dass die Potenzen von $g$ ``wild'', also
+scheinbar ohne System in $\mathbb{F}_p$ herumspringen.
+Dies deutet an, dass die Umkehrung der Exponentialfunktion in $\mathbb{F}_p$
+schwierig ist.
+Die Umkehrfunktion der Exponentialfunktion, die Umkehrfunktion von
+$x\mapsto g^x$ in $\mathbb{F}_p$ heisst der {\em diskrete Logarithmus}.
+\index{diskreter Logarithmus}%
+Tatsächlich ist der diskrete Logarithmus ähnlich schwierig zu bestimmen
+wie das Faktorisieren von Zahlen, die das Produkt grosser
+Primafaktoren ähnlicher Grössenordnung wie $p$ sind.
+Die Funktion $x\mapsto g^x$ ist die gesuchte, schwierig zu invertierende
+Funktion.
+
+Auf dern ersten Blick scheint der
+Algorithmus~\ref{buch:crypto:algo:divide-and-conquer}
+den Nachteil zu haben, dass erst die Binärdarstellung der Zahl $a$
+ermittelt werden muss.
+In einem Computer ist dies aber normalerweise kein Problem, da $a$
+im Computer ohnehin binär dargestellt ist.
+Die Binärziffern werden in der Reihenfolge vom niederwertigsten zum
+höchstwertigen Bit benötigt.
+Die folgende Modifikation des Algorithmus ermittelt laufend
+auch die Binärstellen von $a$.
+Die dazu notwendigen Operationen sind im Binärsystem besonders
+effizient implementierbar, die Division durch 2 ist ein Bitshift, der
+Rest ist einfach das niederwertigste Bit der Zahl.
+
+\begin{algorithmus}
+\label{buch:crypto:algo:divide-and-conquer2}
+\begin{enumerate}
+\item
+Setze $f=g$, $x=1$, $i=0$
+\item
+Solange $a>0$ ist, führe aus
+\begin{enumerate}
+\item
+Verwende den euklidischen Algorithmus um $r$ und $b$ zu bestimmen mit $a=2b+r$
+\item
+Falls $r=1$ setze $x \coloneqq x \cdot f$
+\item
+$i \coloneqq i+1$, $a = b$ und $f\coloneqq f\cdot f$
+\end{enumerate}
+\end{enumerate}
+Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen
+berechnet werden.
+\end{algorithmus}
+
+
+%
+% Diffie-Hellman Schlüsseltausch
+%
+\subsection{Diffie-Hellman-Schlüsseltausch
+\label{buch:subsection:diffie-hellman}}
+Eine Grundaufgabe der Verschlüsselung im Internet ist, dass zwei
+Kommunikationspartner einen gemeinsamen Schlüssel für die Verschlüsselung
+der Daten aushandeln können müssen.
+Es muss davon ausgegangen werden, dass die Kommunikation abgehört wird.
+Trotzdem soll es für einen Lauscher nicht möglich sein, den
+ausgehandelten Schlüssel zu ermitteln.
+
+% XXX Historisches zu Diffie und Hellman
+
+Die beiden Partner $A$ und $B$ einigen sich zunächst auf eine Zahl $g$,
+die öffentlich bekannt sein darf.
+Weiter erzeugen sie eine zufällige Zahl $a$ und $b$, die sie geheim
+halten.
+Das Verfahren soll aus diesen beiden Zahlen einen Schlüssel erzeugen,
+den beide Partner berechnen können, ohne dass sie $a$ oder $b$
+übermitteln müssen.
+Die beiden Zahlen werden daher auch die privaten Schlüssel genannt.
+
+Die Idee von Diffie und Hellman ist jetzt, die Werte $x=g^a$ und $y=g^b$
+zu übertragen.
+In $\mathbb{R}$ würden dadurch natürlich dem Lauscher auch $a$ offenbart,
+er könnte einfach $a=\log_g x$ berechnen.
+Ebenso kann auch $b$ als $b=\log_g y$ erhalten werden, die beiden
+privaten Schlüssel wären also nicht mehr privat.
+Statt der Potenzfunktion in $\mathbb{R}$ muss also eine Funktion
+verwendet werden, die nicht so leicht umgekehrt werden kann.
+Die Potenzfunktion in $\mathbb{F}_p$ erfüllt genau diese Eigenschaft.
+Die Kommunikationspartner einigen sich also auch noch auf die (grosse)
+Primzahl $p$ und übermitteln $x=g^a\in\mathbb{F}_p$ und
+$y=g^b\in\mathbb{F}_p$.
+
+\begin{figure}
+\centering
+\includegraphics{chapters/90-crypto/images/dh.pdf}
+\caption{Schlüsselaustausch nach Diffie-Hellman.
+Die Kommunikationspartner $A$ und $B$ einigen sich öffentlich auf
+$p\in\mathbb{N}$ und $g\in\mathbb{F}_p$.
+$A$ wählt dann einen privaten Schlüssel $a\in\mathbb{N}$ und
+$B$ wählt $b\in\mathbb{N}$, sie tauschen dann $x=g^a$ und $y=g^b$
+aus.
+$A$ erhält den gemeinsamen Schlüssel aus $y^a$, $B$ erhält ihn
+aus $x^b$.
+\label{buch:crypto:fig:dh}}
+\end{figure}
+
+Aus $x$ und $y$ muss jetzt der gemeinsame Schlüssel abgeleitet werden.
+$A$ kennt $y=g^b$ und $a$, $B$ kennt $x=g^a$ und $b$.
+Beide können die Zahl $s=g^{ab}\in\mathbb{F}_p$ berechnen.
+$A$ macht das, indem er $y^a=(g^b)^a = g^{ab}$ rechnet,
+$B$ rechnet $x^b = (g^a)^b = g^{ab}$, beide natürlich in $\mathbb{F}_p$.
+Der Lauscher kann aber $g^{ab}$ nicht ermitteln, dazu müsste er
+$a$ oder $b$ ermitteln können.
+Die Zahl $s=g^{ab}$ kann also als gemeinsamer Schlüssel verwendet
+werden.
+
+
+
+\subsection{Elliptische Kurven
+\label{buch:subsection:elliptische-kurven}}
+Das Diffie-Hellman-Verfahren basiert auf der Schwierigkeit, in einem
+Körper $\mathbb{F}_p$ die Gleichung $a^x=b$ nach $x$ aufzulösen.
+Die Addition in $\mathbb{F}_p$ wird dazu nicht benötigt.
+Es reicht, eine Menge mit einer Multiplikation zu haben, in der das
+die Gleichung $a^x=b$ schwierig zu lösen ist.
+Ein Gruppe wäre also durchaus ausreichend.
+
+Ein Kandidat für eine solche Gruppe könnte der Einheitskreis
+$S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ in der komplexen Ebene sein.
+Wählt man eine Zahl $g=e^{i\alpha}$, wobei $\alpha$ ein irrationales
+Vielfaches von $\pi$ ist, dann sind alle Potenzen $g^n$ für natürliche
+Exponenten voneinander verschieden.
+Wäre nämlich $g^{n_1}=g^{n_2}$, dann wäre $e^{i\alpha(n_1-n_2)}=1$ und
+somit müsste $\alpha=2k\pi/(n_1-n_2)$ sein.
+Damit wäre aber $\alpha$ ein rationales Vielfaches von $\pi$, im Widerspruch
+zur Voraussetzung.
+Die Abbildung $n\mapsto g^n\in S^1$ ist auf den ersten Blick etwa ähnlich
+undurchschaubar wie die Abbildung $n\mapsto g^n\in\mathbb{F}_p$.
+Es gibt zwar die komplexe Logarithmusfunktion, mit der man $n$ bestimmen
+kann, dazu muss man aber den Wert von $g^n$ mit beliebiger Genauigkeit
+kennen, denn die Werte von $g^n$ können beliebig nahe beieinander liegen.
+
+Der Einheitskreis ist die Lösungsmenge der Gleichung $x^2+y^2=1$ für
+reelle Koordinaten $x$ und $y$,
+doch Rundungsunsicherheiten verunmöglichen den Einsatz in einem
+Verfahren ähnlich dem Diffie-Hellman-Verfahren.
+Dieses Problem kann gelöst werden, indem für die Variablen Werte
+aus einem endlichen Körper verwendet werden.
+Gesucht ist also eine Gleichung in zwei Variablen, deren Lösungsmenge
+in einem endlichen Körper eine Gruppenstruktur trägt.
+Die Lösungsmenge ist eine ``Kurve'' von Punkten mit
+Koordinaten in einem endlichen Körper.
+
+In diesem Abschnitt wird gezeigt, dass sogenannte elliptische Kurven
+über endlichen Körpern genau die verlangen Eigenschaften haben.
+
+\subsubsection{Elliptische Kurven}
+Elliptische Kurven sind Lösungen einer Gleichung der Form
+\begin{equation}
+Y^2+XY=X^3+aX+b
+\label{buch:crypto:eqn:ellipticcurve}
+\end{equation}
+mit Werten von $X$ und $Y$ in einem geeigneten Körper.
+Die Koeffizienten $a$ und $b$ müssen so gewählt werden, dass die
+Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} genügend viele
+Lösungen hat.
+Über den komplexen Zahlen hat die Gleichung natürlich für jede Wahl von
+$X$ drei Lösungen.
+Für einen endlichen Körper können wir dies im allgemeinen nicht erwarten,
+aber wenn wir genügend viele Wurzeln zu $\mathbb{F}$ hinzufügen können wir
+mindestens erreichen, dass die Lösungsmenge so viele Elemente hat,
+dass ein Versuch, die Gleichung $g^x=b$ mittels Durchprobierens zu
+lösen, zum Scheitern verurteil ist.
+
+\begin{definition}
+\label{buch:crypto:def:ellipticcurve}
+Die {\em elliptische Kurve} $E_{a,b}(\Bbbk)$ über dem Körper $\Bbbk$ ist
+die Menge
+\[
+E_{a,b}(\Bbbk)
+=
+\{(X,Y)\in\Bbbk^2\;|\;Y^2+XY=X^3+aX+b\},
+\]
+für $a,b\in\Bbbk$.
+\end{definition}
+
+Um die Anschauung zu vereinfachen, werden wir elliptische Kurven über
+dem Körper $\mathbb{R}$ visualisieren.
+Die daraus gewonnenen geometrischen Einsichten werden wir anschliessend
+algebraisch umsetzen.
+In den reellen Zahlen kann man die
+Gleichung~\eqref{buch:crypto:eqn:ellipticcurve}
+noch etwas vereinfachen.
+Indem man in \eqref{buch:crypto:eqn:ellipticcurve}
+quadratisch ergänzt, bekommt man
+\begin{align}
+Y^2 + XY + \frac14X^2 &= X^3+\frac14 X^2 +aX+b
+\notag
+\\
+\Rightarrow\qquad
+v^2&=X^3+\frac14X^2+aX+b,
+\label{buch:crypto:eqn:ell2}
+\end{align}
+indem man $v=Y+\frac12X$ setzt.
+Man beachte, dass man diese Substition nur machen kann, wenn $\frac12$
+definiert ist.
+In $\mathbb{R}$ ist dies kein Problem, aber genau über den Körpern
+mit Charakteristik $2$, die wir für die Computer-Implementation
+bevorzugen, ist dies nicht möglich.
+Es geht hier aber nur um die Visualisierung.
+
+Auch die Form \eqref{buch:crypto:eqn:ell2} lässt sich noch etwas
+vereinfachen.
+Setzt man $X=u-\frac1{12}$, dann verschwindet nach einiger Rechnung,
+die wir hier nicht durchführen wollen, der quadratische Term
+auf der rechten Seite.
+Die interessierenden Punkte sind Lösungen der einfacheren Gleichung
+\begin{equation}
+v^2
+=
+u^3+\biggl(a-\frac{1}{48}\biggr)u + b-\frac{a}{12}+\frac{1}{864}
+=
+u^3+Au+B.
+\label{buch:crypto:ellvereinfacht}
+\end{equation}
+In dieser Form ist mit $(u,v)$ immer auch $(u,-v)$ eine Lösung,
+die Kurve ist symmetrisch bezüglich der $u$-Achse.
+Ebenso kann man ablesen, dass nur diejenigen $u$-Werte möglich sind,
+für die das kubische Polynom $u^3+Au+B$ auf der rechten Seite von
+\eqref{buch:crypto:ellvereinfacht}
+nicht negativ ist.
+
+Sind $u_1$, $u_2$ und $u_3$ die Nullstellen des kubischen Polynoms
+auf der rechten Seite von~\eqref{buch:crypto:ellvereinfacht}, folgt
+\[
+v^2
+=
+(u-u_1)(u-u_2)(u-u_3)
+=
+u^3
+-(u_1+u_2+u_3)u^2
++(u_1u_2+u_1u_3+u_2u_3)u
+-
+u_1u_2u_3.
+\]
+Durch Koeffizientenvergleich sieht man, dass $u_1+u_2+u_3=0$ sein muss.
+\begin{figure}
+\centering
+\includegraphics{chapters/90-crypto/images/elliptic.pdf}
+\caption{Elliptische Kurve in $\mathbb{R}$ in der Form
+$v^2=u^3+Au+B$ mit Nullstellen $u_1$, $u_2$ und $u_3$ des
+kubischen Polynoms auf der rechten Seite.
+Die blauen Punkte und Geraden illustrieren die Definition der
+Gruppenoperation in der elliptischen Kurve.
+\label{buch:crypto:fig:elliptischekurve}}
+\end{figure}
+Abbildung~\ref{buch:crypto:fig:elliptischekurve}
+zeigt eine elliptische Kurve in der Ebene.
+
+\subsubsection{Geometrische Definition der Gruppenoperation}
+In der speziellen Form \ref{buch:crypto:ellvereinfacht} ist die
+elliptische Kurve symmetrisch unter Spiegelung an der $u$-Achse.
+Die Spiegelung ist eine Involution, zweimalige Ausführung führt auf
+den ursprünglichen Punkt zurück.
+Die Inverse in einer Gruppe hat diese Eigenschaft auch, es ist
+daher naheliegend, den gespiegelten Punkt als die Inverse eines
+Elementes zu nehmen.
+
+Eine Gerade durch zwei Punkte der
+in Abbildung~\ref{buch:crypto:fig:elliptischekurve}
+dargestellten Kurve schneidet die Kurve ein drittes Mal.
+Die Gruppenoperation wird so definiert, dass drei Punkte der Kurve
+auf einer Geraden das Gruppenprodukt $e$ haben.
+Da aus $g_1g_2g_3=e$ folgt $g_3=(g_1g_2)^{-1}$ oder
+$g_1g_2=g_3^{-1}$, erhält man das Gruppenprodukt zweier Elemente
+auf der elliptischen Kurve indem erst den dritten Schnittpunkt
+ermittelt und diesen dann an der $u$-Achse spiegelt.
+
+Die geometrische Konstruktion schlägt fehl, wenn $g_1=g_2$ ist.
+In diesem Fall kann man die Tangente im Punkt $g_1$ an die Kurve
+verwenden.
+Dieser Fall tritt zum Beispiel auch in den drei Punkten
+$(u_1,0)$, $(u_2,0)$ und $(u_3,0)$ ein.
+
+Um das neutrale Element der Gruppe zu finden, können wir
+zwei Punkte $g$ und $g^{-1}$ miteinander verknüpfen.
+Die Gerade durch $g$ und $g^{-1}$ schneidet aber die Kurve
+kein drittes Mal.
+Ausserdem sind alle Geraden durch $g$ und $g^{-1}$ für verschiedene
+$g$ parallel.
+Das neutrale Element entspricht also einem unendlich weit entfernten Punkt.
+Das neutrale Element entsteht immer dann als Produkt, wenn zwei
+Punkte die gleiche $u$-Koordinaten haben.
+
+\subsubsection{Gruppenoperation, algebraische Konstruktion}
+Nach den geometrischen Vorarbeiten zur Definition der Gruppenoperation
+kann können wir die Konstruktion jetzt algebraisch umsetzen.
+
+Zunächst überlegen wir uns wieder eine Involution, welche als Inverse
+dienen kann.
+Dazu beachten wir, dass die linke Seite der definierenden Gleichung
+\begin{equation}
+Y^2+XY=X^3-aX+b.
+\label{buch:crypto:eqn:grupopgl}
+\end{equation}
+auch als $Y(Y+X)$ geschrieben werden kann.
+Die Abbildung $Y\mapsto -X-Y$ macht daraus
+\[
+(-X-Y)(-X-Y+X)=(X+Y)Y,
+\]
+dies ist also die gesuchte Involution.
+
+Seien also $g_1=(x_1,y_1)$ und $g_2=(x_2,y_2)$ zwei verschiedene Lösungen
+der Gleichung \eqref{buch:crypto:eqn:grupopgl}
+Als erstes brauchen wir eine Gleichung für die Gerade durch die beiden
+Punkte.
+Sei also $l(X,Y)$ eine Linearform derart, dass $l(g_1)=d$ und $l(g_2)=d$
+für ein geeignetes $d\in\Bbbk$.
+Dann gilt auch für die Punkte
+\[
+g(t) = tg_1 + (1-t)g_2
+\qquad\Rightarrow\qquad
+l(g(t))
+=
+tl(g_1) + (1-t)l(g_2)
+=
+tc+(1-t)c
+=
+(t+1-t)c
+=c,
+\]
+jeder Punkt der Geraden durch $g_1$ und $g_2$ lässt sich in dieser Form
+schreiben.
+
+Setzt man jetzt $g(t)$ in die Gleichung ein, erhält man eine kubische
+Gleichung in $t$, von der wir bereits zwei Nullstellen kennen, nämlich
+$0$ und $1$.
+Die kubische Gleichung muss also durch $t$ und $(t-1)$ teilbar sein.
+Diese Berechnung kann man einfach in einem Computeralgebrasystem
+durchführen.
+Das Polynom ist
+\[
+p(t)
+=
+\]
+Nach Division durch $t(t-1)$ erhält man als den Quotienten
+\begin{align*}
+q(t)
+&=
+(y_2-y_1)^2
++
+(y_2-y_1) (x_2-x_1)
++
+t(x_2-x_1)^3
+-
+2x_2^3+3x_1x_2^2-x_1^3
+\end{align*}
+und den Rest
+\[
+r(t)
+=
+t(y_1^2+x_1y_1-x_1^3-ax_1-b)
++
+(1-t)(y_2^2+x_2y_2-x_2^3-ax_2-b).
+\]
+Die Klammerausdrücke verschwinden, da die sie gleichbedeutend damit sind,
+dass die Punkte Lösungen von \eqref{buch:crypto:eqn:grupopgl} sind.
+
+Für den dritten Punkt auf der Geraden muss $t$ so gewählt werden, dass
+$q(t)=0$ ist.
+Dies ist aber eine lineare Gleichung mit der Lösung
+\begin{align*}
+t
+&=
+-\frac{
+(y_1-y_2)^2
++
+(y_2-y_1)(x_2-x_1)
+-2x_2^3+3x_1x_2^2-x_1^3
+}{(x_2-x_1)^3}
+.
+\end{align*}
+Setzt man dies $g(t)$ ein, erhält man für die Koordinaten des dritten
+Punktes $g_3$ die Werte
+\begin{align}
+x_3
+&=
+\frac{
+(y_2-y_1)^2(x_2-x_1) + (y_2-y_1)(x_2-x_1)^2
+-(x_2^4+x_1^4)
+}{
+(x_2-x_1)^3
+}
+\label{buch:crypto:eqn:x3}
+\\
+y_3
+&=
+\frac{
+(y_2-y_1)^3
++(x_2-x_1)(y_2-y_1)^2
+-(x_{2}-x_{1})^3 ( y_{2} - y_{1})
+-(x_{2}-x_{1})^2 ( x_{1} y_{2}- x_{2} y_{1})
+}{
+(x_2-x_1)^3
+}
+\label{buch:crypto:eqn:y3}
+\end{align}
+Die Gleichungen
+\eqref{buch:crypto:eqn:x3}
+und
+\eqref{buch:crypto:eqn:y3}
+ermöglichen also, das Element $g_1g_2^{-1}$ zu berechnen.
+Interessant daran ist, dass in den Formeln die Konstanten $a$ und $b$
+gar nicht vorkommen.
+
+Es bleibt noch der wichtige Fall des Quadrierens in der Gruppe zu
+behandeln, also den Fall $g_1=g_2$.
+In diese Fall sind die Formeln
+\eqref{buch:crypto:eqn:x3}
+und
+\eqref{buch:crypto:eqn:y3}
+ganz offensichtlich nicht anwendbar.
+Die geometrische Anschauung hat nahegelegt, die Tangent an die Kurve
+im Punkt $g_1$ zu nehmen.
+In $\mathbb{R}$ würde man dafür einen Grenzübergang $g_2\to g_1$ machen,
+aber in einem endlichen Körper ist dies natürlich nicht möglich.
+
+Wir schreiben die Gerade als Parameterdarstellung in der Form
+\(
+t\mapsto g(t)= (x_1+ut, y_1+vt)
+\)
+für beliebige Parameter in $\Bbbk$.
+Die Werte $u_1$ und $u_2$ müssen so gewählt werden, dass $g(t)$ eine
+Tangente wird.
+Setzt man $g(t)$ in die Gleichung~\eqref{buch:crypto:eqn:grupopgl} ein,
+entsteht ein kubische Gleichung, die genau dann eine doppelte Nullstelle
+bei $0$ hat, wenn $u,v$ die Tangentenrichtung beschreiben.
+Einsetzen von $g(t)$ in \eqref{buch:crypto:eqn:grupopgl}
+ergibt die Gleichung
+\begin{align}
+0
+&=
+-u^3t^3
++
+(-3u^2x_{1}+v^2+uv)t^2
++
+(2vy_1+uy_1-3ux_1^2+vx_1-au)t
++
+(y_1^2+x_1y_1-x_1^3-ax_1-b)
+\label{buch:crypto:eqn:tangente1}
+\end{align}
+Damit bei $t=0$ eine doppelte Nullstelle mussen die letzten beiden
+Koeffizienten verschwinden, dies führt auf die Gleichungen
+\begin{align}
+y_1^2+x_1y_1&=x_1^3+ax_1+b
+\label{buch:crypto:eqn:rest1}
+\\
+(2y_1
++x_1)v
++(y_1
+-3x_1^2
+-a)u
+&=0
+\label{buch:crypto:eqn:rest2}
+\end{align}
+Die erste Gleichung \eqref{buch:crypto:eqn:rest1} drückt aus,
+dass $g_1$ ein Punkt der Kurve ist, sie ist automatisch erfüllt.
+
+Die zweite Gleichung
+\eqref{buch:crypto:eqn:rest2}
+legt das Verhältnis von $u$ und $v$, also die
+\label{buch:crypto:eqn:rest2}
+Tangentenrichtung fest.
+Eine mögliche Lösung ist
+\begin{equation}
+\begin{aligned}
+u &= x_1+2y_1
+\\
+v &= -y_1+3x_1^2+a.
+\end{aligned}
+\label{buch:crypto:eqn:uv}
+\end{equation}
+
+Der Quotient ist ein lineares Polynom in $t$, die Nullstelle parametrisiert
+den Punkt, der $(g_1)^{-2}$ entspricht.
+Der zugehörige Wert von $t$ ist
+\begin{equation}
+t=-\frac{3u^2x_1-v^2-uv}{u^3}.
+\label{buch:crypto:eqn:t}
+\end{equation}
+
+
+Setzt man
+\label{buch:crypto:eqn:t}
+und
+\eqref{buch:crypto:eqn:uv}
+in $g(t)$ ein, erhält man sehr komplizierte Ausdrücke für den dritten Punkt.
+Wir verzichten darauf, diese Ausdrücke hier aufzuschreiben.
+In der Praxis wird man in einem Körper der Charakteristik 2 arbeiten.
+In diesem Körper werden alle geraden Koeffizienten zu $0$, alle ungeraden
+Koeffizienten werden unabhängig vom Vorzeichen zu $1$.
+Damit bekommt man die folgenden, sehr viel übersichtlicheren Ausdrücke
+für den dritten Punkt:
+\begin{equation}
+\begin{aligned}
+x
+&=
+-\frac{
+y_1^2+x_1y_1+x_1^4+x_1^3+ax_1-a^2
+ }{
+x_1^2
+}
+\\
+y
+&=
+\frac{
+y_1^3+(x_1^2+x_1+a)y_1^2+(x_1^4 +a^2)y_1+x_1^6+ax_1^4+ax_1^3+a^2x_1^2+a^2x_1+a^3
+}{
+ x_1^3
+}
+\end{aligned}
+\label{buch:crypto:eqn:tangentechar2}
+\end{equation}
+Damit haben wir einen vollständigen Formelsatz für die Berechnung der
+Gruppenoperation in der elliptischen Kurve mindestens für den praktisch
+relevanten Fall einer Kurve über einem Körper der Charakteristik $2$.
+
+\begin{satz}
+Die elliptische Kurve
+\[
+E_{a,b}(\mathbb{F}_{p^l})
+=
+\{
+(X,Y)\in\mathbb{F}_{p^l}
+\;|\;
+Y^2+XY = X^3-aX-b
+\}
+\]
+trägt eine Gruppenstruktur, die wie folgt definiert ist:
+\begin{enumerate}
+\item Der Punkt $(0,0)$ entspricht dem neutralen Element.
+\item Das inverse Element von $(x,y)$ ist $(-x,-y-x)$.
+\item Für zwei verschiedene Punkte $g_1$ und $g_2$ kann $g_3=(g_1g_2)^{-1}$
+mit Hilfe der Formeln
+\eqref{buch:crypto:eqn:x3}
+und
+\eqref{buch:crypto:eqn:y3}
+gefunden werden.
+\item Für einen Punkt $g_1$ kann $g_3=g_1^{-2}$ in Charakteristik $2$ mit
+Hilfe der Formeln
+\eqref{buch:crypto:eqn:tangentechar2}
+gefunden werden.
+\end{enumerate}
+Diese Operationen machen $E_{a,b}(\mathbb{F}_{p^l})$ zu einer endlichen
+abelschen Gruppe.
+\end{satz}
+
+\subsubsection{Beispiele}
+% XXX
+TODO: elliptische Kurven in IPsec: Oakley Gruppen
+
+\subsubsection{Diffie-Hellman in einer elliptischen Kurve}
+% XXX
+TODO: $g^x$ in einer elliptischen Kurve
+
+
+
diff --git a/buch/chapters/90-crypto/images/Makefile b/buch/chapters/90-crypto/images/Makefile index 9480163..5df9178 100644 --- a/buch/chapters/90-crypto/images/Makefile +++ b/buch/chapters/90-crypto/images/Makefile @@ -1,13 +1,29 @@ -# -# Makefile -- build images for crypto chapter -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -all: dh.pdf elliptic.pdf - -dh.pdf: dh.tex - pdflatex dh.tex - -elliptic.pdf: elliptic.tex - pdflatex elliptic.tex - +#
+# Makefile -- build images for crypto chapter
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \
+ shift.pdf keys.pdf
+
+dh.pdf: dh.tex
+ pdflatex dh.tex
+
+elliptic.pdf: elliptic.tex
+ pdflatex elliptic.tex
+
+schieberegister.pdf: schieberegister.tex
+ pdflatex schieberegister.tex
+
+multiplikation.pdf: multiplikation.tex
+ pdflatex multiplikation.tex
+
+sbox.pdf: sbox.tex
+ pdflatex sbox.tex
+
+shift.pdf: shift.tex
+ pdflatex shift.tex
+
+keys.pdf: keys.tex
+ pdflatex keys.tex
+
diff --git a/buch/chapters/90-crypto/images/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..4b1b566 --- /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..dd59097 --- /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..1f0c2ce --- /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..fefb823 --- /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..49302ac --- /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..af225a7 --- /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..9cda25e 100644 --- a/buch/chapters/90-crypto/uebungsaufgaben/9001.tex +++ b/buch/chapters/90-crypto/uebungsaufgaben/9001.tex @@ -1,31 +1,31 @@ -$A$ und $B$ einigen sich darauf, das Diffie-Hellman-Verfahren für -$p=2027$ durchzuführen und mit $g=3$ zu arbeiten. -$A$ verwenden $a=49$ als privaten Schlüssel und erhält von $B$ -den öffentlichen Schlüssel $y=1772$. -Welchen gemeinsamen Schlüssel verwenden $A$ und $B$? - -\begin{loesung} -Der zu verwendende gemeinsame Schlüssel ist -$g^{ab}=(g^b)^a = y^a\in\mathbb{F}_2027$. -Diese Potenz kann man mit dem Divide-and-Conquer-Algorithmus effizient -berechnen. -Die Binärdarstellung des privaten Schlüssels von $A$ ist -$a=49_{10}=\texttt{110001}_2$. -Der Algorithmus verläuft wie folgt: -\begin{center} -\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} -\hline -i&g^{2^i}&a_i& x\\ -\hline -0& 3& 1& 3\\ -1& 9& 0& 3\\ -2& 81& 0& 3\\ -3& 480& 0& 3\\ -4& 1349& 1& 2020\\ -5& 1582& 1& 1088\\ -\hline -\end{tabular} -\end{center} -Der gemeinsame Schlüssel ist daher $s=1088$. -\end{loesung} - +$A$ und $B$ einigen sich darauf, das Diffie-Hellman-Verfahren für
+$p=2027$ durchzuführen und mit $g=3$ zu arbeiten.
+$A$ verwenden $a=49$ als privaten Schlüssel und erhält von $B$
+den öffentlichen Schlüssel $y=1772$.
+Welchen gemeinsamen Schlüssel verwenden $A$ und $B$?
+
+\begin{loesung}
+Der zu verwendende gemeinsame Schlüssel ist
+$g^{ab}=(g^b)^a = y^a\in\mathbb{F}_{2027}$.
+Diese Potenz kann man mit dem Divide-and-Conquer-Algorithmus effizient
+berechnen.
+Die Binärdarstellung des privaten Schlüssels von $A$ ist
+$a=49_{10}=\texttt{110001}_2$.
+Der Algorithmus verläuft wie folgt:
+\begin{center}
+\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|}
+\hline
+i&g^{2^i}&a_i& x\\
+\hline
+0& 3& 1& 3\\
+1& 9& 0& 3\\
+2& 81& 0& 3\\
+3& 480& 0& 3\\
+4& 1349& 1& 2020\\
+5& 1582& 1& 1088\\
+\hline
+\end{tabular}
+\end{center}
+Der gemeinsame Schlüssel ist daher $s=1088$.
+\end{loesung}
+
diff --git a/buch/chapters/references.bib b/buch/chapters/references.bib index 2eed953..dc95e7e 100644 --- a/buch/chapters/references.bib +++ b/buch/chapters/references.bib @@ -1,125 +1,135 @@ -% -% references.bib -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% - -@article{BRIN1998107, -title = "The anatomy of a large-scale hypertextual Web search engine", -journal = "Computer Networks and ISDN Systems", -volume = "30", -number = "1", -pages = "107 - 117", -year = "1998", -note = "Proceedings of the Seventh International World Wide Web Conference", -issn = "0169-7552", -doi = "https://doi.org/10.1016/S0169-7552(98)00110-X", -url = "http://www.sciencedirect.com/science/article/pii/S016975529800110X", -author = "Sergey Brin and Lawrence Page", -keywords = "World Wide Web, Search engines, Information retrieval, PageRank, Google", -abstract = "In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems. The prototype with a full text and hyperlink database of at least 24 million pages is available at http://google.stanford.edu/ To engineer a search engine is a challenging task. Search engines index tens to hundreds of millions of Web pages involving a comparable number of distinct terms. They answer tens of millions of queries every day. Despite the importance of large-scale search engines on the Web, very little academic research has been done on them. Furthermore, due to rapid advance in technology and Web proliferation, creating a Web search engine today is very different from three years ago. This paper provides an in-depth description of our large-scale Web search engine — the first such detailed public description we know of to date. Apart from the problems of scaling traditional search techniques to data of this magnitude, there are new technical challenges involved with using the additional information present in hypertext to produce better search results. This paper addresses this question of how to build a practical large-scale system which can exploit the additional information present in hypertext. Also we look at the problem of how to effectively deal with uncontrolled hypertext collections where anyone can publish anything they want." -} - - -@book{buch:mathsem-dgl, - title = {Mathematisches Seminar Differentialgleichungen}, - author = { Andreas M"uller and others }, - year = {2016}, -} - -@online{buch:fftw, - title = {Fastest Fourier Transform in the West}, - url = {http://www.fftw.org/}, - DAY = {23}, - MONTH = {july}, - YEAR = 2018 -} - -@online{buch:repo, - subtitle = {Source Code Repository}, - author = {Andreas Müller}, - url = {https://github.com/AndreasFMueller/SeminarNumerik.git}, - DAY = 6, - MONTH = {february}, - YEAR = 2020 -} - -@book{buch:henrici, - author = {Peter Henrici}, - title = {Essentials of numerical analysis}, - subtitle = {With pocket calculator demonstrations}, - year = 1982, - publisher = {John Wiley and Sons, Inc.}, - isbn = {0-471-05904-8} -} - -@online{buch:tartaglia, - title = {Niccolò Tartaglia}, - url = {https://de.wikipedia.org/wiki/Niccolò_Tartaglia}, - date = {2020-02-06}, - year = {2020}, - month = {2}, - day = {6} -} - -@online{buch:kahan-summation, - title = {Kahan summation algorithm}, - url = {https://en.wikipedia.org/wiki/Kahan_summation_algorithm}, - date = {2020-02-29}, - year = {2020}, - month = {2}, - day = {29} -} - -@book{buch:watkins, - title = {Fundamentals of Matrix Computations}, - author = {David S. Watkins}, - year = 2010, - publisher = {John Wiley and Sons, Inc.}, - edition = {3} -} - -@online{buch:lissajous, - title = {Makeing Shapes with PSLab Oscilloscope}, - author = {CloudyPadmal}, - url = {https://blog.fossasia.org/making-shapes-with-pslab-oscilloscope/}, - DAY = 7, - month = 3, - year = 2020 -} -@book{buch:richardson, - title = {The emergence of numerical weather prediction: Richardson's dream}, - author = {Peter Lynch}, - year = 2006, - publisher = {Cambridge University Press}, - isbn = {978-0-52-185729-1} -} - -@book{buch:dieudonne, - title={Foundations of Modern Analysis}, - author={Jean Dieudonn{\'e}}, - number={Vol. 1}, - lccn={60008049}, - series={Dieudonn{\'e}, Jean: Treatise on analysis}, - year={1960}, - publisher={Academic Press} -} - -@book{buch:ebbinghaus, - title = {Zahlen}, - year = 1983, - inseries = {Grundwissen Mathematik}, - volume = 1, - publisher = {Springer-Verlag}, - author = { Hans-Dieter Ebbinghaus et al }, - isbn = { 3-540-12666-X } -} - -@online{buch:primitivepolynomiallist, - title = {Primitive Polynomial List}, - url = {https://www.partow.net/programming/polynomials/index.html}, - day = 8, - month = 3, - year = 2021 -} - +%
+% references.bib
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+
+@article{BRIN1998107,
+title = "The anatomy of a large-scale hypertextual Web search engine",
+journal = "Computer Networks and ISDN Systems",
+volume = "30",
+number = "1",
+pages = "107 - 117",
+year = "1998",
+note = "Proceedings of the Seventh International World Wide Web Conference",
+issn = "0169-7552",
+doi = "https://doi.org/10.1016/S0169-7552(98)00110-X",
+url = "http://www.sciencedirect.com/science/article/pii/S016975529800110X",
+author = "Sergey Brin and Lawrence Page",
+keywords = "World Wide Web, Search engines, Information retrieval, PageRank, Google",
+abstract = "In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems. The prototype with a full text and hyperlink database of at least 24 million pages is available at http://google.stanford.edu/ To engineer a search engine is a challenging task. Search engines index tens to hundreds of millions of Web pages involving a comparable number of distinct terms. They answer tens of millions of queries every day. Despite the importance of large-scale search engines on the Web, very little academic research has been done on them. Furthermore, due to rapid advance in technology and Web proliferation, creating a Web search engine today is very different from three years ago. This paper provides an in-depth description of our large-scale Web search engine — the first such detailed public description we know of to date. Apart from the problems of scaling traditional search techniques to data of this magnitude, there are new technical challenges involved with using the additional information present in hypertext to produce better search results. This paper addresses this question of how to build a practical large-scale system which can exploit the additional information present in hypertext. Also we look at the problem of how to effectively deal with uncontrolled hypertext collections where anyone can publish anything they want."
+}
+
+
+@book{buch:mathsem-dgl,
+ title = {Mathematisches Seminar Differentialgleichungen},
+ author = { Andreas M"uller and others },
+ year = {2016},
+}
+
+@online{buch:fftw,
+ title = {Fastest Fourier Transform in the West},
+ url = {http://www.fftw.org/},
+ DAY = {23},
+ MONTH = {july},
+ YEAR = 2018
+}
+
+@online{buch:repo,
+ subtitle = {Source Code Repository},
+ author = {Andreas Müller},
+ url = {https://github.com/AndreasFMueller/SeminarNumerik.git},
+ DAY = 6,
+ MONTH = {february},
+ YEAR = 2020
+}
+
+@book{buch:henrici,
+ author = {Peter Henrici},
+ title = {Essentials of numerical analysis},
+ subtitle = {With pocket calculator demonstrations},
+ year = 1982,
+ publisher = {John Wiley and Sons, Inc.},
+ isbn = {0-471-05904-8}
+}
+
+@online{buch:tartaglia,
+ title = {Niccolò Tartaglia},
+ url = {https://de.wikipedia.org/wiki/Niccolò_Tartaglia},
+ date = {2020-02-06},
+ year = {2020},
+ month = {2},
+ day = {6}
+}
+
+@online{buch:kahan-summation,
+ title = {Kahan summation algorithm},
+ url = {https://en.wikipedia.org/wiki/Kahan_summation_algorithm},
+ date = {2020-02-29},
+ year = {2020},
+ month = {2},
+ day = {29}
+}
+
+@book{buch:watkins,
+ title = {Fundamentals of Matrix Computations},
+ author = {David S. Watkins},
+ year = 2010,
+ publisher = {John Wiley and Sons, Inc.},
+ edition = {3}
+}
+
+@online{buch:lissajous,
+ title = {Makeing Shapes with PSLab Oscilloscope},
+ author = {CloudyPadmal},
+ url = {https://blog.fossasia.org/making-shapes-with-pslab-oscilloscope/},
+ DAY = 7,
+ month = 3,
+ year = 2020
+}
+@book{buch:richardson,
+ title = {The emergence of numerical weather prediction: Richardson's dream},
+ author = {Peter Lynch},
+ year = 2006,
+ publisher = {Cambridge University Press},
+ isbn = {978-0-52-185729-1}
+}
+
+@book{buch:dieudonne,
+ title={Foundations of Modern Analysis},
+ author={Jean Dieudonn{\'e}},
+ number={Vol. 1},
+ lccn={60008049},
+ series={Dieudonn{\'e}, Jean: Treatise on analysis},
+ year={1960},
+ publisher={Academic Press}
+}
+
+@book{buch:ebbinghaus,
+ title = {Zahlen},
+ year = 1983,
+ inseries = {Grundwissen Mathematik},
+ volume = 1,
+ publisher = {Springer-Verlag},
+ author = { Hans-Dieter Ebbinghaus et al },
+ isbn = { 3-540-12666-X }
+}
+
+@online{buch:primitivepolynomiallist,
+ title = {Primitive Polynomial List},
+ url = {https://www.partow.net/programming/polynomials/index.html},
+ day = 8,
+ month = 3,
+ year = 2021
+}
+
+@book{skript:landaulifschitz1,
+ author = {Landau, L. D. and Lifschitz, E. M.},
+ title = {Mechanik},
+ series = {Lehrbuch der theoretischen Physik},
+ volume = {1},
+ publisher = {Akademie-Verlag},
+ year = {1981},
+ language = {german},
+}
+
diff --git a/buch/papers/reedsolomon/.gitignor b/buch/papers/reedsolomon/.gitignor new file mode 100644 index 0000000..52a02ac --- /dev/null +++ b/buch/papers/reedsolomon/.gitignor @@ -0,0 +1,24 @@ +RS.aux +RS.bbl +RS.bib +RS.blg +RS.idx +RS.ilg +RS.ind +RS.log +RS.out +RS.pdf +RS.run.xml +RS.toc +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index 17ce46b..005172f 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -14,17 +14,64 @@ \fi} \global\let\hyper@last\relax \gdef\HyperFirstAtBeginDocument#1{#1} -\providecommand\HyField@AuxAddToFields[1]{} -\providecommand\HyField@AuxAddToCoFields[2]{} -\@nameuse{bbl@beforestart} +\providecommand*\HyPL@Entry[1]{} +\bbl@beforestart \catcode `"\active +\HyPL@Entry{0<</P(1)>>} \babel@aux{ngerman}{} \@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} -\@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}}} +\HyPL@Entry{1<</P(2)>>} +\@writefile{toc}{\beamer@sectionintoc {1}{Einführung}{2}{0}{1}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}}} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {2}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {2}}} +\HyPL@Entry{2<</P(3)>>} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} +\HyPL@Entry{3<</P(4)>>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {4}{5}}} +\HyPL@Entry{5<</P(5)>>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {6}{6}}} +\HyPL@Entry{6<</P(6)>>} +\@writefile{toc}{\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {3}{6}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {3}{6}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {7}{7}}} +\HyPL@Entry{7<</P(7)>>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {8}{14}}} +\HyPL@Entry{14<</P(8)>>} +\@writefile{toc}{\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {7}{14}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {7}{14}}} +\@writefile{nav}{\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}}} +\@writefile{snm}{\beamer@slide {ft_discrete}{15}} +\newlabel{ft_discrete}{{8}{15}{Diskrete Fourier Transformation}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} +\HyPL@Entry{15<</P(9)>>} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} +\HyPL@Entry{16<</P(10)>>} +\@writefile{toc}{\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {15}{16}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {15}{16}}} +\@writefile{nav}{\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}}} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{18}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {18}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {10}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.bbl b/buch/papers/reedsolomon/RS presentation/RS.bbl deleted file mode 100644 index e69de29..0000000 --- a/buch/papers/reedsolomon/RS presentation/RS.bbl +++ /dev/null diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index f7dc931..4e1c806 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,10 +1,10 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/W32TeX) (preloaded format=pdflatex 2019.11.30) 20 APR 2021 12:21 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 18:18 entering extended mode restricted \write18 enabled. %&-line parsing enabled. **RS.tex (./RS.tex -LaTeX2e <2019-10-01> patch level 3 +LaTeX2e <2019-10-01> patch level 1 (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamer.cls Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemodes.sty @@ -24,12 +24,9 @@ Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) \beamer@commentbox=\box29 \beamer@modecount=\count85 ) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifpdf.sty -Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead. - -(c:/texlive/2019/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2019/11/07 v1.0c TeX engine tests -)) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) \headdp=\dimen102 \footheight=\dimen103 \sidebarheight=\dimen104 @@ -84,11 +81,12 @@ Package: keyval 2014/10/28 v1.15 key=value parser (DPC) (c:/texlive/2019/texmf-dist/tex/latex/geometry/geometry.sty Package: geometry 2018/04/16 v5.8 Page Geometry -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifvtex.sty -Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. ) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifxetex.sty -Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional ) \Gm@cnth=\count105 \Gm@cntv=\count106 @@ -104,14 +102,14 @@ Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. \Gm@dimlist=\toks15 ) (c:/texlive/2019/texmf-dist/tex/latex/base/size11.clo -File: size11.clo 2019/10/25 v1.4k Standard LaTeX file (size option) +File: size11.clo 2019/08/27 v1.4j Standard LaTeX file (size option) ) (c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty (c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) (c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR) +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) (c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty Package: trig 2016/01/03 v1.10 sin cos tan (DPC) @@ -119,10 +117,10 @@ Package: trig 2016/01/03 v1.10 sin cos tan (DPC) (c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration ) -Package graphics Info: Driver file: pdftex.def on input line 105. +Package graphics Info: Driver file: xetex.def on input line 105. -(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/pdftex.def -File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex )) \Gin@req@height=\dimen126 \Gin@req@width=\dimen127 @@ -178,18 +176,23 @@ Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) ) -Driver file for pgf: pgfsys-pdftex.def +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) -(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def -File: pgfsys-pdftex.def 2019/08/03 v3.1.4b (3.1.4b) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count113 ))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) -\pgfsyssoftpath@smallbuffer@items=\count113 -\pgfsyssoftpath@bigbuffer@items=\count114 +\pgfsyssoftpath@smallbuffer@items=\count114 +\pgfsyssoftpath@bigbuffer@items=\count115 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) @@ -199,9 +202,8 @@ Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) (c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg File: color.cfg 2016/01/02 v1.6 sample color configuration ) -Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Driver file: xetex.def on input line 225. Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. -Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. Package xcolor Info: Model `RGB' extended on input line 1364. Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. @@ -218,7 +220,7 @@ Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex \pgfmath@dimen=\dimen140 -\pgfmath@count=\count115 +\pgfmath@count=\count116 \pgfmath@box=\box37 \pgfmath@toks=\toks23 \pgfmath@stack@operand=\toks24 @@ -242,7 +244,7 @@ x) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm etics.code.tex))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex -\c@pgfmathroundto@lastzeros=\count116 +\c@pgfmathroundto@lastzeros=\count117 )) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex @@ -279,7 +281,7 @@ File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) \pgfpic=\box38 \pgf@hbox=\box39 \pgf@layerbox@main=\box40 -\pgf@picture@serial@count=\count117 +\pgf@picture@serial@count=\count118 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code .tex @@ -310,8 +312,8 @@ File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) \pgf@max=\dimen164 -\pgf@sys@shading@range@num=\count118 -\pgf@shadingcount=\count119 +\pgf@sys@shading@range@num=\count119 +\pgf@shadingcount=\count120 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) @@ -333,8 +335,8 @@ File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) ))) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty Package: xxcolor 2003/10/24 ver 0.1 -\XC@nummixins=\count120 -\XC@countmixins=\count121 +\XC@nummixins=\count121 +\XC@countmixins=\count122 ) (c:/texlive/2019/texmf-dist/tex/generic/oberdiek/atbegshi.sty Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) @@ -346,41 +348,46 @@ Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) )) (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2019/11/10 v7.00c Hypertext links for LaTeX +Package: hyperref 2019/09/28 v7.00a Hypertext links for LaTeX -(c:/texlive/2019/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty -Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO -) -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifluatex.sty -Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. -))) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package hobsub Info: Skipping package `infwarerr' (already loaded). +Package hobsub Info: Skipping package `ltxcmds' (already loaded). +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package hobsub Info: Skipping package `ifvtex' (already loaded). +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package hobsub Info: Skipping package `ifpdf' (already loaded). +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2019/07/25 v0.30 Utility functions of pdfTeX for LuaTeX (HO ) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/pdfescape.sty +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: pdfTeX >= 1.30 not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode not found. Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO ) -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hycolor.sty -Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) - -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty -Package: xcolor-patch 2016/05/16 xcolor patch - -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hopatch.sty -Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) -))) -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/letltxmacro.sty +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package hobsub Info: Skipping package `atbegshi' (already loaded). +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) ) (c:/texlive/2019/texmf-dist/tex/latex/oberdiek/auxhook.sty Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) @@ -389,85 +396,79 @@ Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) ) \@linkdim=\dimen165 -\Hy@linkcounter=\count122 -\Hy@pagecounter=\count123 +\Hy@linkcounter=\count123 +\Hy@pagecounter=\count124 (c:/texlive/2019/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2019/11/10 v7.00c Hyperref: PDFDocEncoding definition (HO) -Now handling font encoding PD1 ... -... no UTF-8 mapping file for font encoding PD1 +File: pd1enc.def 2019/09/28 v7.00a Hyperref: PDFDocEncoding definition (HO) ) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/intcalc.sty -Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) -) -\Hy@SavedSpaceFactor=\count124 +\Hy@SavedSpaceFactor=\count125 (c:/texlive/2019/texmf-dist/tex/latex/latexconfig/hyperref.cfg File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive ) -Package hyperref Info: Option `bookmarks' set `true' on input line 4409. -Package hyperref Info: Option `bookmarksopen' set `true' on input line 4409. -Package hyperref Info: Option `implicit' set `false' on input line 4409. -Package hyperref Info: Hyper figures OFF on input line 4535. -Package hyperref Info: Link nesting OFF on input line 4540. -Package hyperref Info: Hyper index ON on input line 4543. -Package hyperref Info: Plain pages OFF on input line 4550. -Package hyperref Info: Backreferencing OFF on input line 4555. +Package hyperref Info: Option `bookmarks' set `true' on input line 4414. +Package hyperref Info: Option `bookmarksopen' set `true' on input line 4414. +Package hyperref Info: Option `implicit' set `false' on input line 4414. +Package hyperref Info: Hyper figures OFF on input line 4540. +Package hyperref Info: Link nesting OFF on input line 4545. +Package hyperref Info: Hyper index ON on input line 4548. +Package hyperref Info: Plain pages OFF on input line 4555. +Package hyperref Info: Backreferencing OFF on input line 4560. Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. -Package hyperref Info: Bookmarks ON on input line 4788. -\c@Hy@tempcnt=\count125 +Package hyperref Info: Bookmarks ON on input line 4793. +\c@Hy@tempcnt=\count126 (c:/texlive/2019/texmf-dist/tex/latex/url/url.sty \Urlmuskip=\muskip10 Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. ) -LaTeX Info: Redefining \url on input line 5147. +LaTeX Info: Redefining \url on input line 5152. \XeTeXLinkMargin=\dimen166 - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bitset.sty -Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bigintcalc.sty -Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO -) -)) -\Fld@menulength=\count126 +\Fld@menulength=\count127 \Field@Width=\dimen167 \Fld@charsize=\dimen168 -Package hyperref Info: Hyper figures OFF on input line 6418. -Package hyperref Info: Link nesting OFF on input line 6423. -Package hyperref Info: Hyper index ON on input line 6426. -Package hyperref Info: backreferencing OFF on input line 6433. -Package hyperref Info: Link coloring OFF on input line 6438. -Package hyperref Info: Link coloring with OCG OFF on input line 6443. -Package hyperref Info: PDF/A mode OFF on input line 6448. -LaTeX Info: Redefining \ref on input line 6488. -LaTeX Info: Redefining \pageref on input line 6492. -\Hy@abspage=\count127 +Package hyperref Info: Hyper figures OFF on input line 6423. +Package hyperref Info: Link nesting OFF on input line 6428. +Package hyperref Info: Hyper index ON on input line 6431. +Package hyperref Info: backreferencing OFF on input line 6438. +Package hyperref Info: Link coloring OFF on input line 6443. +Package hyperref Info: Link coloring with OCG OFF on input line 6448. +Package hyperref Info: PDF/A mode OFF on input line 6453. +LaTeX Info: Redefining \ref on input line 6493. +LaTeX Info: Redefining \pageref on input line 6497. +\Hy@abspage=\count128 Package hyperref Message: Stopped early. ) -Package hyperref Info: Driver (autodetected): hpdftex. - (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hpdftex.def -File: hpdftex.def 2019/11/10 v7.00c Hyperref driver for pdfTeX +Package hyperref Info: Driver (autodetected): hxetex. + (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hxetex.def +File: hxetex.def 2019/09/28 v7.00a Hyperref driver for XeTeX -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/atveryend.sty -Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2019/09/28 v7.00a Hyperref: PDF Unicode definition (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/stringenc.sty +Package: stringenc 2016/05/16 v1.11 Convert strings between diff. encodings (HO ) -\Fld@listcount=\count128 -\c@bookmark@seq@number=\count129 +) +\pdfm@box=\box42 +\c@Hy@AnnotLevel=\count129 +\HyField@AnnotCount=\count130 +\Fld@listcount=\count131 +\c@bookmark@seq@number=\count132 (c:/texlive/2019/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/uniquecounter.sty -Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) -) Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 -85. +82. )) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/se-ascii-print.def +File: se-ascii-print.def 2016/05/16 v1.11 stringenc: Printable ASCII characters + +) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaserequires.sty (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasefont.sty @@ -496,50 +497,50 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty -\beamer@argscount=\count130 +\beamer@argscount=\count133 \beamer@lastskipcover=\skip44 -\beamer@trivlistdepth=\count131 +\beamer@trivlistdepth=\count134 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasesection.sty -\c@lecture=\count132 -\c@part=\count133 -\c@section=\count134 -\c@subsection=\count135 -\c@subsubsection=\count136 +\c@lecture=\count135 +\c@part=\count136 +\c@section=\count137 +\c@subsection=\count138 +\c@subsubsection=\count139 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframe.sty -\beamer@framebox=\box42 -\beamer@frametitlebox=\box43 -\beamer@zoombox=\box44 -\beamer@zoomcount=\count137 -\beamer@zoomframecount=\count138 +\beamer@framebox=\box43 +\beamer@frametitlebox=\box44 +\beamer@zoombox=\box45 +\beamer@zoomcount=\count140 +\beamer@zoomframecount=\count141 \beamer@frametextheight=\dimen169 -\c@subsectionslide=\count139 +\c@subsectionslide=\count142 \beamer@frametopskip=\skip45 \beamer@framebottomskip=\skip46 \beamer@frametopskipautobreak=\skip47 \beamer@framebottomskipautobreak=\skip48 \beamer@envbody=\toks27 \framewidth=\dimen170 -\c@framenumber=\count140 +\c@framenumber=\count143 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty \beamer@verbatimfileout=\write4 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty -\beamer@splitbox=\box45 -\beamer@autobreakcount=\count141 +\beamer@splitbox=\box46 +\beamer@autobreakcount=\count144 \beamer@autobreaklastheight=\dimen171 \beamer@frametitletoks=\toks28 \beamer@framesubtitletoks=\toks29 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty -\beamer@footins=\box46 +\beamer@footins=\box47 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenotes.sty -\beamer@frameboxcopy=\box47 +\beamer@frameboxcopy=\box48 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty @@ -547,11 +548,11 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty -\bmb@box=\box48 -\bmb@colorbox=\box49 -\bmb@boxshadow=\box50 -\bmb@boxshadowball=\box51 -\bmb@boxshadowballlarge=\box52 +\bmb@box=\box49 +\bmb@colorbox=\box50 +\bmb@boxshadow=\box51 +\bmb@boxshadowball=\box52 +\bmb@boxshadowballlarge=\box53 \bmb@temp=\dimen172 \bmb@dima=\dimen173 \bmb@dimb=\dimen174 @@ -564,8 +565,8 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) \@enLab=\toks31 ) -\c@figure=\count142 -\c@table=\count143 +\c@figure=\count145 +\c@table=\count146 \abovecaptionskip=\skip49 \belowcaptionskip=\skip50 ) @@ -574,7 +575,7 @@ Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty (c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty -Package: amsmath 2019/11/16 v2.17d AMS math features +Package: amsmath 2019/04/01 v2.17c AMS math features \@mathmargin=\skip51 For additional information on amsmath, use the `?' option. @@ -593,30 +594,30 @@ Package: amsbsy 1999/11/29 v1.2d Bold Symbols (c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty Package: amsopn 2016/03/08 v2.02 operator names ) -\inf@bad=\count144 +\inf@bad=\count147 LaTeX Info: Redefining \frac on input line 227. -\uproot@=\count145 -\leftroot@=\count146 +\uproot@=\count148 +\leftroot@=\count149 LaTeX Info: Redefining \overline on input line 389. -\classnum@=\count147 -\DOTSCASE@=\count148 +\classnum@=\count150 +\DOTSCASE@=\count151 LaTeX Info: Redefining \ldots on input line 486. LaTeX Info: Redefining \dots on input line 489. LaTeX Info: Redefining \cdots on input line 610. -\Mathstrutbox@=\box53 -\strutbox@=\box54 +\Mathstrutbox@=\box54 +\strutbox@=\box55 \big@size=\dimen180 LaTeX Font Info: Redeclaring font encoding OML on input line 733. LaTeX Font Info: Redeclaring font encoding OMS on input line 734. -\macc@depth=\count149 -\c@MaxMatrixCols=\count150 +\macc@depth=\count152 +\c@MaxMatrixCols=\count153 \dotsspace@=\muskip11 -\c@parentequation=\count151 -\dspbrk@lvl=\count152 +\c@parentequation=\count154 +\dspbrk@lvl=\count155 \tag@help=\toks33 -\row@=\count153 -\column@=\count154 -\maxfields@=\count155 +\row@=\count156 +\column@=\count157 +\maxfields@=\count158 \andhelp@=\toks34 \eqnshift@=\dimen181 \alignsep@=\dimen182 @@ -628,8 +629,8 @@ LaTeX Font Info: Redeclaring font encoding OMS on input line 734. \multlinegap=\skip52 \multlinetaggap=\skip53 \mathdisplay@stack=\toks36 -LaTeX Info: Redefining \[ on input line 2858. -LaTeX Info: Redefining \] on input line 2859. +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. ) (c:/texlive/2019/texmf-dist/tex/latex/amscls/amsthm.sty Package: amsthm 2017/10/31 v2.20.4 @@ -643,7 +644,7 @@ Package: amsthm 2017/10/31 v2.20.4 \thm@headsep=\skip56 \dth@everypar=\toks42 ) -\c@theorem=\count156 +\c@theorem=\count159 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemedefault.sty @@ -658,13 +659,22 @@ Package: amsthm 2017/10/31 v2.20.4 Package: inputenc 2018/08/11 v1.3c Input encoding file \inpenc@prehook=\toks43 \inpenc@posthook=\toks44 -) -(c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty + + +Package inputenc Warning: inputenc package ignored with utf8 based engines. + +) (c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty Package: fontenc 2018/08/11 v2.0j Standard LaTeX package (c:/texlive/2019/texmf-dist/tex/latex/base/t1enc.def File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +) +LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 +05. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd +File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern )) (c:/texlive/2019/texmf-dist/tex/latex/lm/lmodern.sty Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts @@ -702,10 +712,10 @@ LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' (Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. ) (c:/texlive/2019/texmf-dist/tex/generic/babel/babel.sty -Package: babel 2019/11/14 3.36 The Babel package +Package: babel 2019/10/15 3.35 The Babel package (c:/texlive/2019/texmf-dist/tex/generic/babel/switch.def -File: switch.def 2019/11/14 3.36 Babel switching mechanism +File: switch.def 2019/10/15 3.35 Babel switching mechanism ) (c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngerman.ldf Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra @@ -716,50 +726,122 @@ Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr aphy) (c:/texlive/2019/texmf-dist/tex/generic/babel/babel.def -File: babel.def 2019/11/14 3.36 Babel common definitions -\babel@savecnt=\count157 +File: babel.def 2019/10/15 3.35 Babel common definitions +\babel@savecnt=\count160 \U@D=\dimen189 -(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def) -LaTeX Info: Redefining \textlatin on input line 2250. -\bbl@dirlevel=\count158 +(c:/texlive/2019/texmf-dist/tex/generic/babel/xebabel.def +(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def)) +LaTeX Info: Redefining \textlatin on input line 2185. +\bbl@dirlevel=\count161 ) Package babel Info: Making " an active character on input line 121. ))) -(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty -(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty -\beamer@sidebarwidth=\dimen190 -\beamer@headheight=\dimen191 -LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 -7. +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) -(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd -File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box56 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen190 +\pgf@nodesepend=\dimen191 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen192 +\pgffor@skip=\dimen193 +\pgffor@stack=\toks45 +\pgffor@toks=\toks46 )) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count162 +\pgfplotmarksize=\dimen194 +) +\tikz@lastx=\dimen195 +\tikz@lasty=\dimen196 +\tikz@lastxsaved=\dimen197 +\tikz@lastysaved=\dimen198 +\tikz@lastmovetox=\dimen199 +\tikz@lastmovetoy=\dimen256 +\tikzleveldistance=\dimen257 +\tikzsiblingdistance=\dimen258 +\tikz@figbox=\box57 +\tikz@figbox@bg=\box58 +\tikz@tempbox=\box59 +\tikz@tempbox@bg=\box60 +\tikztreelevel=\count163 +\tikznumberofchildren=\count164 +\tikznumberofcurrentchild=\count165 +\tikz@fig@count=\count166 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count167 +\pgfmatrixcurrentcolumn=\count168 +\pgf@matrix@numberofcolumns=\count169 +) +\tikz@expandcount=\count170 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty +\beamer@sidebarwidth=\dimen259 +\beamer@headheight=\dimen260 +) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemeseahorse.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemecircles.sty)) (./RS.aux) \openout1 = `RS.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. *geometry* driver: auto-detecting -*geometry* detected driver: pdftex +*geometry* detected driver: xetex *geometry* verbose mode - [ preamble ] result: -* driver: pdftex +* driver: xetex * paper: custom * layout: <same size as paper> * layoutoffset:(h,v)=(0.0pt,0.0pt) @@ -790,96 +872,71 @@ LaTeX Font Info: ... okay on input line 7. * \@reversemarginfalse * (1in=72.27pt=25.4mm, 1cm=28.453pt) -(c:/texlive/2019/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count159 -\scratchdimen=\dimen192 -\scratchbox=\box55 -\nofMPsegments=\count160 -\nofMParguments=\count161 -\everyMPshowfont=\toks45 -\MPscratchCnt=\count162 -\MPscratchDim=\dimen193 -\MPnumerator=\count163 -\makeMPintoPDFobject=\count164 -\everyMPtoPDFconversion=\toks46 -) (c:/texlive/2019/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty -Package: epstopdf-base 2019/11/27 v2.8 Base part for package epstopdf -Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 -85. - -(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv -e -)) ABD: EveryShipout initializing macros -\AtBeginShipoutBox=\box56 -Package hyperref Info: Link coloring OFF on input line 7. +\AtBeginShipoutBox=\box61 +Package hyperref Info: Link coloring OFF on input line 9. (c:/texlive/2019/texmf-dist/tex/latex/hyperref/nameref.sty Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/refcount.sty -Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) -) (c:/texlive/2019/texmf-dist/tex/generic/oberdiek/gettitlestring.sty Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) ) -\c@section@level=\count165 +\c@section@level=\count171 ) -LaTeX Info: Redefining \ref on input line 7. -LaTeX Info: Redefining \pageref on input line 7. -LaTeX Info: Redefining \nameref on input line 7. +LaTeX Info: Redefining \ref on input line 9. +LaTeX Info: Redefining \pageref on input line 9. +LaTeX Info: Redefining \nameref on input line 9. (./RS.out) (./RS.out) \@outlinefile=\write5 \openout5 = `RS.out'. LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 7. +(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 7. +(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 7. +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 7. +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 9. \symnumbers=\mathgroup6 \sympureletters=\mathgroup7 LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' -(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 7. +(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' -(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 7. +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' -(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 7. +(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathit on input line 7. +(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' -(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 7. +(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 7. +(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' -(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' -(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' -(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' -(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 7. +(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 7. +(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 9. (c:/texlive/2019/texmf-dist/tex/latex/translator/translator-basic-dictionary-En glish.dict @@ -907,15 +964,151 @@ Dictionary: translator-theorem-dictionary, Language: English ) (./RS.nav) Package hyperref Warning: Option `pdfauthor' has already been used, -(hyperref) setting the option has no effect on input line 8. +(hyperref) setting the option has no effect on input line 10. Package hyperref Warning: Option `pdfsubject' has already been used, -(hyperref) setting the option has no effect on input line 14. +(hyperref) setting the option has no effect on input line 16. [1 -{c:/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2 +] +LaTeX Font Info: Trying to load font information for OT1+lmss on input line +29. + (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd +File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OML+lmm on input line 2 +9. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMS+lmsy on input line +29. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMX+lmex on input line +29. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10.95> on input line 29. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 29. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 29. +LaTeX Font Info: Trying to load font information for U+msa on input line 29. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 29. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. + [2 + +] [3 + +] +File: images/polynom1.pdf Graphic file (type pdf) +<use images/polynom1.pdf> + [4 + +] +File: images/polynom2.pdf Graphic file (type pdf) +<use images/polynom2.pdf> + [5 + +] +[6 + +] [7 + +] +File: images/fig1.pdf Graphic file (type pdf) +<use images/fig1.pdf> + +Overfull \vbox (14.63716pt too high) detected at line 105 + [] + +[8 + +] +File: images/fig2.pdf Graphic file (type pdf) +<use images/fig2.pdf> + +Overfull \vbox (14.63716pt too high) detected at line 105 + [] + +[9 + +] +File: images/fig3.pdf Graphic file (type pdf) +<use images/fig3.pdf> + +Overfull \vbox (14.63716pt too high) detected at line 105 + [] + +[10 + +] +File: images/fig4.pdf Graphic file (type pdf) +<use images/fig4.pdf> + +Overfull \vbox (14.63716pt too high) detected at line 105 + [] + +[11 + +] +File: images/fig5.pdf Graphic file (type pdf) +<use images/fig5.pdf> + +Overfull \vbox (14.63716pt too high) detected at line 105 + [] + +[12 + +] +File: images/fig6.pdf Graphic file (type pdf) +<use images/fig6.pdf> + +Overfull \vbox (14.63716pt too high) detected at line 105 + [] + +[13 + +] +File: images/fig7.pdf Graphic file (type pdf) +<use images/fig7.pdf> + +Overfull \vbox (14.63716pt too high) detected at line 105 + [] + +[14 + +] [15 + +] [16 + +] [17 + +] [18 ] \tf@nav=\write6 @@ -927,30 +1120,21 @@ Package hyperref Warning: Option `pdfsubject' has already been used, \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 25. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 25. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 160. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 160. (./RS.aux) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 25. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 25. +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 160. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 160. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. +(rerunfilecheck) Checksum: 74C688051BF542B3A11E9793A97790F4. ) Here is how much of TeX's memory you used: - 18359 strings out of 492164 - 341776 string characters out of 6129087 - 431862 words of memory out of 5000000 - 22272 multiletter control sequences out of 15000+600000 - 19654 words of font info for 23 fonts, out of 8000000 for 9000 - 1141 hyphenation exceptions out of 8191 - 58i,12n,57p,796b,459s stack positions out of 5000i,500n,10000p,200000b,80000s -{c:/texlive/2019/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc}<c:/texlive/2019/tex -mf-dist/fonts/type1/public/lm/lmss10.pfb><c:/texlive/2019/texmf-dist/fonts/type -1/public/lm/lmss12.pfb><c:/texlive/2019/texmf-dist/fonts/type1/public/lm/lmss8. -pfb> -Output written on RS.pdf (2 pages, 53965 bytes). -PDF statistics: - 42 PDF objects out of 1000 (max. 8388607) - 28 compressed objects within 1 object stream - 5 named destinations out of 1000 (max. 500000) - 43 words of extra memory for PDF output out of 10000 (max. 10000000) + 24400 strings out of 492483 + 451960 string characters out of 6132858 + 534889 words of memory out of 5000000 + 28378 multiletter control sequences out of 15000+600000 + 37892 words of font info for 41 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 58i,15n,61p,796b,549s stack positions out of 5000i,500n,10000p,200000b,80000s +Output written on RS.pdf (18 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 9033d8b..1d67391 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -1,9 +1,40 @@ \headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} \headcommand {\beamer@framepages {1}{1}} -\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}} +\headcommand {\beamer@sectionpages {1}{1}} +\headcommand {\beamer@subsectionpages {1}{1}} +\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} +\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} \headcommand {\beamer@framepages {2}{2}} -\headcommand {\beamer@partpages {1}{2}} -\headcommand {\beamer@subsectionpages {1}{2}} -\headcommand {\beamer@sectionpages {1}{2}} -\headcommand {\beamer@documentpages {2}} -\headcommand {\gdef \inserttotalframenumber {2}} +\headcommand {\beamer@sectionpages {2}{2}} +\headcommand {\beamer@subsectionpages {2}{2}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}} +\headcommand {\beamer@framepages {3}{3}} +\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}} +\headcommand {\beamer@framepages {4}{5}} +\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}} +\headcommand {\beamer@framepages {6}{6}} +\headcommand {\beamer@sectionpages {3}{6}} +\headcommand {\beamer@subsectionpages {3}{6}} +\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}} +\headcommand {\beamer@framepages {7}{7}} +\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}} +\headcommand {\beamer@framepages {8}{14}} +\headcommand {\beamer@sectionpages {7}{14}} +\headcommand {\beamer@subsectionpages {7}{14}} +\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}} +\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}} +\headcommand {\beamer@framepages {15}{15}} +\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}} +\headcommand {\beamer@framepages {16}{16}} +\headcommand {\beamer@sectionpages {15}{16}} +\headcommand {\beamer@subsectionpages {15}{16}} +\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}} +\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}} +\headcommand {\beamer@framepages {17}{18}} +\headcommand {\beamer@partpages {1}{18}} +\headcommand {\beamer@subsectionpages {17}{18}} +\headcommand {\beamer@sectionpages {17}{18}} +\headcommand {\beamer@documentpages {18}} +\headcommand {\gdef \inserttotalframenumber {10}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index e69de29..32b9a2c 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -0,0 +1,5 @@ +\BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 +\BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 +\BOOKMARK [2][]{Outline0.3}{Fourier\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.4}{Diskrete\040Fourier\040Transformation}{}% 4 +\BOOKMARK [2][]{Outline0.5}{Probleme\040und\040Fragen}{}% 5 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf Binary files differindex 459d7e8..913bc42 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.pdf +++ b/buch/papers/reedsolomon/RS presentation/RS.pdf diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm index e69de29..6607ea8 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.snm +++ b/buch/papers/reedsolomon/RS presentation/RS.snm @@ -0,0 +1 @@ +\beamer@slide {ft_discrete}{15} diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz Binary files differindex fe8adf5..001b5c8 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz +++ b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 400e654..eecd66b 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -3,7 +3,9 @@ \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[ngerman]{babel} +\usepackage{tikz} \usetheme{Hannover} + \begin{document} \author{Joshua Bär und Michael Steiner} \title{Reed-Solomon-Code} @@ -17,13 +19,152 @@ \begin{frame}[plain] \maketitle \end{frame} -%------------------------------------------------------------------------------- + \section{Einführung} + \begin{frame} + \frametitle{Einführung} + \begin{itemize} + \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten + und deren Fehler Erkennung. + \end{itemize} + \end{frame} +\section{Polynom Ansatz} \begin{frame} - \frametitle{Test} - Ich mag Züge. + Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. + \end{frame} + \begin{frame} + Übertragen von + ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} + als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. + + \only<1>{ + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{green}{15}, \textcolor{green}{26}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom1.pdf}} + \only<2>{ + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} \end{frame} \begin{frame} + \frametitle{Parameter} + \begin{center} + \begin{tabular}{ c c c } + \hline + "Nutzlast" & Fehler & Versenden \\ + \hline + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + &&\\ + k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ + \hline + &&\\ + &&\\ + &Ausserdem können bis zu 2t Fehler erkannt werden!\\ + \end{tabular} + \end{center} + + + + \end{frame} +\section{Diskrete Fourier Transformation} + \begin{frame} + \frametitle{Idee} + \begin{itemize} + \item Idee mit Fourier Transformieren und dann senden. + \item Danach Empfangen und Rücktransformieren. + \end{itemize} + \end{frame} + + \begin{frame} + \begin{figure} + \only<1>{ + \includegraphics[width=0.9\linewidth]{images/fig1.pdf} + } + \only<2>{ + \includegraphics[width=0.9\linewidth]{images/fig2.pdf} + } + \only<3>{ + \includegraphics[width=0.9\linewidth]{images/fig3.pdf} + } + \only<4>{ + \includegraphics[width=0.9\linewidth]{images/fig4.pdf} + } + \only<5>{ + \includegraphics[width=0.9\linewidth]{images/fig5.pdf} + } + \only<6>{ + \includegraphics[width=0.9\linewidth]{images/fig6.pdf} + } + \only<7>{ + \includegraphics[width=0.9\linewidth]{images/fig7.pdf} + } + \end{figure} + \end{frame} + + + \begin{frame} + \frametitle{Diskrete Fourier Transformation} + Die Diskrete Fourier Transformation ist so gegeben: + \[ + \label{ft_discrete} + \hat{c}_{k} + = \frac{1}{N} \sum_{n=0}^{N-1} + {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} + \]. + + \[ + w = e^{-\frac{2\pi j}{N} k} + \] + Wenn $N$ konstant: + \[ + \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \] + \end{frame} + + + \begin{frame} + \frametitle{Diskrete Fourier Transformation} + \[ + \begin{pmatrix} + \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n + \end{pmatrix} + = + \begin{pmatrix} + w^0 & w^0 & w^0 & \dots &w^0 \\ + w^0 & w^1 &w^2 & \dots &w^N \\ + w^0 & w^2 &w^4 & \dots &w^{2N} \\ + \vdots & \vdots &\vdots &\ddots &\vdots \\ + w^0 & w^{1(N-1)}&w^{2(N-1)}& \dots &w^{(N-1)(N-1)} \\ + \end{pmatrix} + \begin{pmatrix} + \textcolor{blue}{f_0} \\ + \textcolor{blue}{f_1} \\ + \textcolor{blue}{f_2} \\ + \vdots \\ + 0 \\ + \end{pmatrix} + \] + \end{frame} + +\section{Probleme und Fragen} + \begin{frame} + \frametitle{Probleme und Fragen} + + Wie wird der Fehler lokalisiert? + \only<2>{ + \newline + Indem in einem Endlichen Körper gerechnet wird. + } + \end{frame} + + \begin{frame} \frametitle{Reed-Solomon in Endlichen Körpern} \begin{itemize} @@ -728,4 +869,5 @@ \end{frame} %------------------------------------------------------------------------------- -\end{document}
\ No newline at end of file + +\end{document} diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index 4cd1c86..44c06ab 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1 +1,6 @@ \babel@toc {ngerman}{} +\beamer@sectionintoc {1}{Einführung}{2}{0}{1} +\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2} +\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3} +\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4} +\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5} diff --git a/buch/papers/reedsolomon/RS presentation/Thumbs.db b/buch/papers/reedsolomon/RS presentation/Thumbs.db Binary files differdeleted file mode 100644 index 1626e26..0000000 --- a/buch/papers/reedsolomon/RS presentation/Thumbs.db +++ /dev/null diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf Binary files differindex 5cff7fe..abde60c 100644 --- a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf +++ b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex deleted file mode 100644 index cb323ae..0000000 --- a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex +++ /dev/null @@ -1,81 +0,0 @@ -%% Creator: Inkscape 1.0.2 (e86c870879, 2021-01-15, custom), www.inkscape.org -%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 -%% Accompanies image file 'fig1.pdf' (pdf, eps, ps) -%% -%% To include the image in your LaTeX document, write -%% \input{<filename>.pdf_tex} -%% instead of -%% \includegraphics{<filename>.pdf} -%% To scale the image, write -%% \def\svgwidth{<desired width>} -%% \input{<filename>.pdf_tex} -%% instead of -%% \includegraphics[width=<desired width>]{<filename>.pdf} -%% -%% Images with a different path to the parent latex file can -%% be accessed with the `import' package (which may need to be -%% installed) using -%% \usepackage{import} -%% in the preamble, and then including the image with -%% \import{<path to file>}{<filename>.pdf_tex} -%% Alternatively, one can specify -%% \graphicspath{{<path to file>/}} -%% -%% For more information, please see info/svg-inkscape on CTAN: -%% http://tug.ctan.org/tex-archive/info/svg-inkscape -%% -\begingroup% - \makeatletter% - \providecommand\color[2][]{% - \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% - \renewcommand\color[2][]{}% - }% - \providecommand\transparent[1]{% - \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% - \renewcommand\transparent[1]{}% - }% - \providecommand\rotatebox[2]{#2}% - \newcommand*\fsize{\dimexpr\f@size pt\relax}% - \newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}% - \ifx\svgwidth\undefined% - \setlength{\unitlength}{420bp}% - \ifx\svgscale\undefined% - \relax% - \else% - \setlength{\unitlength}{\unitlength * \real{\svgscale}}% - \fi% - \else% - \setlength{\unitlength}{\svgwidth}% - \fi% - \global\let\svgwidth\undefined% - \global\let\svgscale\undefined% - \makeatother% - \begin{picture}(1,0.75)% - \lineheight{1}% - \setlength\tabcolsep{0pt}% - \put(0,0){\includegraphics[width=\unitlength,page=1]{fig1.pdf}}% - \put(0.19038536,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% - \put(0.27196429,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}20\end{tabular}}}}% - \put(0.35354321,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}30\end{tabular}}}}% - \put(0.43512214,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}40\end{tabular}}}}% - \put(0.51670107,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}50\end{tabular}}}}% - \put(0.59828,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}60\end{tabular}}}}% - \put(0.67985893,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}70\end{tabular}}}}% - \put(0.76143804,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}80\end{tabular}}}}% - \put(0.84301696,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}90\end{tabular}}}}% - \put(0,0){\includegraphics[width=\unitlength,page=2]{fig1.pdf}}% - \put(0.10654768,0.07232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0\end{tabular}}}}% - \put(0.10654768,0.13357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1\end{tabular}}}}% - \put(0.10654768,0.19482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2\end{tabular}}}}% - \put(0.10654768,0.25607143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}3\end{tabular}}}}% - \put(0.10654768,0.31732143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}4\end{tabular}}}}% - \put(0.10654768,0.37857143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}5\end{tabular}}}}% - \put(0.10654768,0.43982143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}6\end{tabular}}}}% - \put(0.10654768,0.50107143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}7\end{tabular}}}}% - \put(0.10654768,0.56232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}8\end{tabular}}}}% - \put(0.10654768,0.62357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}9\end{tabular}}}}% - \put(0.09404768,0.68482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% - \put(0.47857196,0.70669643){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}\textbf{Signal}\end{tabular}}}}% - \put(0,0){\includegraphics[width=\unitlength,page=3]{fig1.pdf}}% - \end{picture}% -\endgroup% diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.png b/buch/papers/reedsolomon/RS presentation/images/fig1.png Binary files differdeleted file mode 100644 index a0395d7..0000000 --- a/buch/papers/reedsolomon/RS presentation/images/fig1.png +++ /dev/null diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.pdf b/buch/papers/reedsolomon/RS presentation/images/fig2.pdf Binary files differnew file mode 100644 index 0000000..8281ce7 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig2.pdf diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.png b/buch/papers/reedsolomon/RS presentation/images/fig2.png Binary files differdeleted file mode 100644 index bd8faa0..0000000 --- a/buch/papers/reedsolomon/RS presentation/images/fig2.png +++ /dev/null diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.pdf b/buch/papers/reedsolomon/RS presentation/images/fig3.pdf Binary files differnew file mode 100644 index 0000000..7d29d1e --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig3.pdf diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.png b/buch/papers/reedsolomon/RS presentation/images/fig3.png Binary files differdeleted file mode 100644 index e14358d..0000000 --- a/buch/papers/reedsolomon/RS presentation/images/fig3.png +++ /dev/null diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.pdf b/buch/papers/reedsolomon/RS presentation/images/fig4.pdf Binary files differnew file mode 100644 index 0000000..394a673 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig4.pdf diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.png b/buch/papers/reedsolomon/RS presentation/images/fig4.png Binary files differdeleted file mode 100644 index 1821c3b..0000000 --- a/buch/papers/reedsolomon/RS presentation/images/fig4.png +++ /dev/null diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.pdf b/buch/papers/reedsolomon/RS presentation/images/fig5.pdf Binary files differnew file mode 100644 index 0000000..37416a9 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig5.pdf diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.png b/buch/papers/reedsolomon/RS presentation/images/fig5.png Binary files differdeleted file mode 100644 index e4abbaa..0000000 --- a/buch/papers/reedsolomon/RS presentation/images/fig5.png +++ /dev/null diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.pdf b/buch/papers/reedsolomon/RS presentation/images/fig6.pdf Binary files differnew file mode 100644 index 0000000..61cbc01 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig6.pdf diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.png b/buch/papers/reedsolomon/RS presentation/images/fig6.png Binary files differdeleted file mode 100644 index 5447949..0000000 --- a/buch/papers/reedsolomon/RS presentation/images/fig6.png +++ /dev/null diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.pdf b/buch/papers/reedsolomon/RS presentation/images/fig7.pdf Binary files differnew file mode 100644 index 0000000..7397ffe --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig7.pdf diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.png b/buch/papers/reedsolomon/RS presentation/images/fig7.png Binary files differdeleted file mode 100644 index a850402..0000000 --- a/buch/papers/reedsolomon/RS presentation/images/fig7.png +++ /dev/null diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.aux b/buch/papers/reedsolomon/RS presentation/images/polynom1.aux new file mode 100644 index 0000000..f23e546 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.aux @@ -0,0 +1 @@ +\relax diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.log b/buch/papers/reedsolomon/RS presentation/images/polynom1.log new file mode 100644 index 0000000..183eaea --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.log @@ -0,0 +1,747 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:27 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**polynom1.tex +(./polynom1.tex +LaTeX2e <2019-10-01> patch level 1 +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cls +Document Class: standalone 2018/03/26 v1.3a Class to compile TeX sub-files stan +dalone +(c:/texlive/2019/texmf-dist/tex/latex/tools/shellesc.sty +Package: shellesc 2016/06/07 v0.02b unified shell escape interface for LaTeX +Package shellesc Info: Restricted shell escape enabled on input line 72. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +(c:/texlive/2019/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2014/12/03 v2.7a package option processing (HA) + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkeyval.tex +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks14 +\XKV@tempa@toks=\toks15 + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count80 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +\sa@internal=\count81 +\c@sapage=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cfg +File: standalone.cfg 2018/03/26 v1.3a Default configuration file for 'standalon +e' class +) +(c:/texlive/2019/texmf-dist/tex/latex/base/article.cls +Document Class: article 2019/08/27 v1.4j Standard LaTeX document class +(c:/texlive/2019/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2019/08/27 v1.4j Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen103 +\pgfutil@tempdimb=\dimen104 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box27 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +)) +\Gin@req@height=\dimen105 +\Gin@req@width=\dimen106 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen107 +\pgf@y=\dimen108 +\pgf@xa=\dimen109 +\pgf@ya=\dimen110 +\pgf@xb=\dimen111 +\pgf@yb=\dimen112 +\pgf@xc=\dimen113 +\pgf@yc=\dimen114 +\pgf@xd=\dimen115 +\pgf@yd=\dimen116 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count91 +\c@pgf@countb=\count92 +\c@pgf@countc=\count93 +\c@pgf@countd=\count94 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count95 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count96 +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count97 +\pgfsyssoftpath@bigbuffer@items=\count98 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen117 +\pgfmath@count=\count99 +\pgfmath@box=\box28 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count100 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen118 +\pgf@picmaxx=\dimen119 +\pgf@picminy=\dimen120 +\pgf@picmaxy=\dimen121 +\pgf@pathminx=\dimen122 +\pgf@pathmaxx=\dimen123 +\pgf@pathminy=\dimen124 +\pgf@pathmaxy=\dimen125 +\pgf@xx=\dimen126 +\pgf@xy=\dimen127 +\pgf@yx=\dimen128 +\pgf@yy=\dimen129 +\pgf@zx=\dimen130 +\pgf@zy=\dimen131 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen132 +\pgf@path@lasty=\dimen133 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen134 +\pgf@shorten@start@additional=\dimen135 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box29 +\pgf@hbox=\box30 +\pgf@layerbox@main=\box31 +\pgf@picture@serial@count=\count101 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen136 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen137 +\pgf@pt@y=\dimen138 +\pgf@pt@temp=\dimen139 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen140 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen141 +\pgf@sys@shading@range@num=\count102 +\pgf@shadingcount=\count103 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box32 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.te +x +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box33 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen142 +\pgf@nodesepend=\dimen143 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen144 +\pgffor@skip=\dimen145 +\pgffor@stack=\toks26 +\pgffor@toks=\toks27 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count104 +\pgfplotmarksize=\dimen146 +) +\tikz@lastx=\dimen147 +\tikz@lasty=\dimen148 +\tikz@lastxsaved=\dimen149 +\tikz@lastysaved=\dimen150 +\tikz@lastmovetox=\dimen151 +\tikz@lastmovetoy=\dimen152 +\tikzleveldistance=\dimen153 +\tikzsiblingdistance=\dimen154 +\tikz@figbox=\box34 +\tikz@figbox@bg=\box35 +\tikz@tempbox=\box36 +\tikz@tempbox@bg=\box37 +\tikztreelevel=\count105 +\tikznumberofchildren=\count106 +\tikznumberofcurrentchild=\count107 +\tikz@fig@count=\count108 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count109 +\pgfmatrixcurrentcolumn=\count110 +\pgf@matrix@numberofcolumns=\count111 +) +\tikz@expandcount=\count112 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +\sa@box=\box38 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/04/01 v2.17c AMS math features +\@mathmargin=\skip43 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks28 +\ex@=\dimen155 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count113 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count114 +\leftroot@=\count115 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count116 +\DOTSCASE@=\count117 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box39 +\strutbox@=\box40 +\big@size=\dimen157 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count118 +\c@MaxMatrixCols=\count119 +\dotsspace@=\muskip10 +\c@parentequation=\count120 +\dspbrk@lvl=\count121 +\tag@help=\toks29 +\row@=\count122 +\column@=\count123 +\maxfields@=\count124 +\andhelp@=\toks30 +\eqnshift@=\dimen158 +\alignsep@=\dimen159 +\tagshift@=\dimen160 +\tagwidth@=\dimen161 +\totwidth@=\dimen162 +\lineht@=\dimen163 +\@envbody=\toks31 +\multlinegap=\skip44 +\multlinetaggap=\skip45 +\mathdisplay@stack=\toks32 +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. +) +(c:/texlive/2019/texmf-dist/tex/latex/psnfss/times.sty +Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) +) +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/txfonts.sty +Package: txfonts 2008/01/22 v3.2.1 +LaTeX Font Info: Redeclaring symbol font `operators' on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/txr/m/n --> OT1/txr/bx/n on input line 22. +\symitalic=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `italic' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 26. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 31. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/txss/m/n --> OT1/txss/b/n on input line 41. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/txtt/m/n --> OT1/txtt/b/n on input line 51. +LaTeX Font Info: Redeclaring symbol font `letters' on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/txmi/m/it --> OML/txmi/bx/it on input line 59. +\symlettersA=\mathgroup5 +LaTeX Font Info: Overwriting symbol font `lettersA' in version `bold' +(Font) U/txmia/m/it --> U/txmia/bx/it on input line 67. +LaTeX Font Info: Redeclaring symbol font `symbols' on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/txsy/m/n --> OMS/txsy/bx/n on input line 78. +\symAMSa=\mathgroup6 +LaTeX Font Info: Overwriting symbol font `AMSa' in version `bold' +(Font) U/txsya/m/n --> U/txsya/bx/n on input line 94. +\symAMSb=\mathgroup7 +LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold' +(Font) U/txsyb/m/n --> U/txsyb/bx/n on input line 103. +\symsymbolsC=\mathgroup8 +LaTeX Font Info: Overwriting symbol font `symbolsC' in version `bold' +(Font) U/txsyc/m/n --> U/txsyc/bx/n on input line 113. +LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/txex/m/n --> OMX/txex/bx/n on input line 121. +\symlargesymbolsA=\mathgroup9 +LaTeX Font Info: Overwriting symbol font `largesymbolsA' in version `bold' +(Font) U/txexa/m/n --> U/txexa/bx/n on input line 129. +LaTeX Font Info: Redeclaring math symbol \mathsterling on input line 164. +LaTeX Font Info: Redeclaring math symbol \hbar on input line 591. +LaTeX Info: Redefining \not on input line 1043. +) +(c:/texlive/2019/texmf-dist/tex/latex/pgfplots/pgfplots.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex) +Package: pgfplots 2018/03/28 v1.16 Data Visualization (1.16) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +\t@pgfplots@toka=\toks33 +\t@pgfplots@tokb=\toks34 +\t@pgfplots@tokc=\toks35 +\pgfplots@tmpa=\dimen164 +\c@pgfplots@coordindex=\count125 +\c@pgfplots@scanlineindex=\count126 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.te +x)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfs +upp_loader.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +cture.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +ctureext.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.co +de.tex +\c@pgfplotsarray@tmp=\count127 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.c +ode.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.c +ode.tex +\c@pgfplotstable@counta=\count128 +\t@pgfplotstable@a=\toks36 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code. +tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfsh +ading.code.tex +\c@pgfplotslibrarysurf@no=\count129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-xetex.def +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-dvipdfmx.def +\c@pgfplotslibrarysurf@streamlen=\count130 +)))) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.t +ex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex +))) (c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.t +ex +\pgfdecoratedcompleteddistance=\dimen165 +\pgfdecoratedremainingdistance=\dimen166 +\pgfdecoratedinputsegmentcompleteddistance=\dimen167 +\pgfdecoratedinputsegmentremainingdistance=\dimen168 +\pgf@decorate@distancetomove=\dimen169 +\pgf@decorate@repeatstate=\count131 +\pgfdecorationsegmentamplitude=\dimen170 +\pgfdecorationsegmentlength=\dimen171 +) +\tikz@lib@dec@box=\box41 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathmorphing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathmorphing.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathreplacing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathreplacing.code.tex)) +\pgfplots@numplots=\count132 +\pgfplots@xmin@reg=\dimen172 +\pgfplots@xmax@reg=\dimen173 +\pgfplots@ymin@reg=\dimen174 +\pgfplots@ymax@reg=\dimen175 +\pgfplots@zmin@reg=\dimen176 +\pgfplots@zmax@reg=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryplotmarks.code.tex +File: tikzlibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code. +tex +File: pgflibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/csvsimple/csvsimple.sty +Package: csvsimple 2019/04/09 version 1.21 LaTeX CSV file processing + +(c:/texlive/2019/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count133 +) +\csv@file=\read2 +\c@csvinputline=\count134 +\c@csvrow=\count135 +\c@csvcol=\count136 +\csv@out=\write4 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryarrows.code.tex +File: tikzlibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +File: pgflibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\arrowsize=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryintersections.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.c +ode.tex +\pgf@intersect@solutions=\count137 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarymath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryfpu.code.tex) +\tikz@math@for@depth=\count138 +\tikz@math@dimen=\dimen179 +\tikz@math@toks=\toks37 +) (./polynom1.aux) +\openout1 = `polynom1.aux'. + +LaTeX Font Info: Checking defaults for OML/txmi/m/it on input line 11. +LaTeX Font Info: Trying to load font information for OML+txmi on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omltxmi.fd +File: omltxmi.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/txsy/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMS+txsy on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omstxsy.fd +File: omstxsy.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/txex/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMX+txex on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omxtxex.fd +File: omxtxex.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/txexa/m/n on input line 11. +LaTeX Font Info: Trying to load font information for U+txexa on input line 1 +1. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxexa.fd +File: utxexa.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Trying to load font information for TU+txr on input line 11 +. +LaTeX Font Info: No file TUtxr.fd. on input line 11. + + +LaTeX Font Warning: Font shape `TU/txr/m/n' undefined +(Font) using `TU/lmr/m/n' instead on input line 11. + +ABD: EveryShipout initializing macros + +Package pgfplots Warning: running in backwards compatibility mode (unsuitable t +ick labels; missing features). Consider writing \pgfplotsset{compat=1.16} into +your preamble. + on input line 11. + +LaTeX Font Info: Trying to load font information for OT1+txr on input line 2 +6. +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/ot1txr.fd +File: ot1txr.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txmia on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxmia.fd +File: utxmia.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsya on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsya.fd +File: utxsya.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyb on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyb.fd +File: utxsyb.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyc on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyc.fd +File: utxsyc.fd 2000/12/15 v3.1 +) [1 + +] (./polynom1.aux) + +LaTeX Font Warning: Some font shapes were not available, defaults substituted. + + ) +Here is how much of TeX's memory you used: + 25076 strings out of 492483 + 634297 string characters out of 6132858 + 794987 words of memory out of 5000000 + 29148 multiletter control sequences out of 15000+600000 + 13575 words of font info for 45 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 68i,6n,98p,840b,724s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on polynom1.pdf (1 page). diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf b/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf Binary files differnew file mode 100644 index 0000000..1f632d8 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz b/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz Binary files differnew file mode 100644 index 0000000..578f2a3 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.tex b/buch/papers/reedsolomon/RS presentation/images/polynom1.tex new file mode 100644 index 0000000..db83daa --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.tex @@ -0,0 +1,59 @@ +% polynome1 +%------------------- +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\newcommand{\teiler}{40} +\begin{document} + %Übertragen von den Zahlen + %\textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} + %als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline + %Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + % \textcolor{green}{15}, \textcolor{green}{26}, + % \textcolor{green}{ 41}, \textcolor{green}{60}, + % \textcolor{green}{83}, \textcolor{green}{110})$ + + +\begin{tikzpicture}[>=latex,thick] + +\draw[color=blue, line width=1.4pt] +plot[domain=0:8, samples=100] + ({\x},{(2*\x^2+1*\x+5)/\teiler}); +\draw[->] (-0.2,0) -- (8,0) coordinate[label={$x$}]; +\draw[->] (0,-0.2) -- (0,150/\teiler) coordinate[label={right:$p(x)$}]; +\def\punkt#1{ + \fill[color=green] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; +} +\punkt{(1,8/\teiler)} +\punkt{(2,15/\teiler)} +\punkt{(3,26/\teiler)} +\punkt{(4,41/\teiler)} +\punkt{(5,60/\teiler)} +\punkt{(6,83/\teiler)} +\punkt{(7,110/\teiler)} +%\draw[color=gray,line width=1pt,dashed] +%plot[domain=0.5:7, samples=100] +%({\x},{(0.1958*\x^2-1.2875*\x+3.0417)}); +%\def\erpunkt#1{ +% \fill[color=red] #1 circle[radius=0.08]; +% \draw #1 circle[radius=0.07]; +%} +%\erpunkt{(2,50/\teiler)} +%\erpunkt{(3,0.9414)} +%\punkt{(4,41/\teiler)} +%\punkt{(5,60/\teiler)} + +\draw(0,100/\teiler) -- (-0.1,100/\teiler) coordinate[label={left:$100$}]; +\draw(1,0) -- (1,-0.1) coordinate[label={below:$1$}]; + + + + +\end{tikzpicture} +\end{document} + diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.aux b/buch/papers/reedsolomon/RS presentation/images/polynom2.aux new file mode 100644 index 0000000..f23e546 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.aux @@ -0,0 +1 @@ +\relax diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.log b/buch/papers/reedsolomon/RS presentation/images/polynom2.log new file mode 100644 index 0000000..169203e --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.log @@ -0,0 +1,747 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:28 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**polynom2.tex +(./polynom2.tex +LaTeX2e <2019-10-01> patch level 1 +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cls +Document Class: standalone 2018/03/26 v1.3a Class to compile TeX sub-files stan +dalone +(c:/texlive/2019/texmf-dist/tex/latex/tools/shellesc.sty +Package: shellesc 2016/06/07 v0.02b unified shell escape interface for LaTeX +Package shellesc Info: Restricted shell escape enabled on input line 72. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +(c:/texlive/2019/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2014/12/03 v2.7a package option processing (HA) + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkeyval.tex +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks14 +\XKV@tempa@toks=\toks15 + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count80 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +\sa@internal=\count81 +\c@sapage=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cfg +File: standalone.cfg 2018/03/26 v1.3a Default configuration file for 'standalon +e' class +) +(c:/texlive/2019/texmf-dist/tex/latex/base/article.cls +Document Class: article 2019/08/27 v1.4j Standard LaTeX document class +(c:/texlive/2019/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2019/08/27 v1.4j Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen103 +\pgfutil@tempdimb=\dimen104 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box27 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +)) +\Gin@req@height=\dimen105 +\Gin@req@width=\dimen106 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen107 +\pgf@y=\dimen108 +\pgf@xa=\dimen109 +\pgf@ya=\dimen110 +\pgf@xb=\dimen111 +\pgf@yb=\dimen112 +\pgf@xc=\dimen113 +\pgf@yc=\dimen114 +\pgf@xd=\dimen115 +\pgf@yd=\dimen116 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count91 +\c@pgf@countb=\count92 +\c@pgf@countc=\count93 +\c@pgf@countd=\count94 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count95 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count96 +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count97 +\pgfsyssoftpath@bigbuffer@items=\count98 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen117 +\pgfmath@count=\count99 +\pgfmath@box=\box28 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count100 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen118 +\pgf@picmaxx=\dimen119 +\pgf@picminy=\dimen120 +\pgf@picmaxy=\dimen121 +\pgf@pathminx=\dimen122 +\pgf@pathmaxx=\dimen123 +\pgf@pathminy=\dimen124 +\pgf@pathmaxy=\dimen125 +\pgf@xx=\dimen126 +\pgf@xy=\dimen127 +\pgf@yx=\dimen128 +\pgf@yy=\dimen129 +\pgf@zx=\dimen130 +\pgf@zy=\dimen131 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen132 +\pgf@path@lasty=\dimen133 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen134 +\pgf@shorten@start@additional=\dimen135 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box29 +\pgf@hbox=\box30 +\pgf@layerbox@main=\box31 +\pgf@picture@serial@count=\count101 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen136 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen137 +\pgf@pt@y=\dimen138 +\pgf@pt@temp=\dimen139 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen140 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen141 +\pgf@sys@shading@range@num=\count102 +\pgf@shadingcount=\count103 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box32 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.te +x +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box33 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen142 +\pgf@nodesepend=\dimen143 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen144 +\pgffor@skip=\dimen145 +\pgffor@stack=\toks26 +\pgffor@toks=\toks27 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count104 +\pgfplotmarksize=\dimen146 +) +\tikz@lastx=\dimen147 +\tikz@lasty=\dimen148 +\tikz@lastxsaved=\dimen149 +\tikz@lastysaved=\dimen150 +\tikz@lastmovetox=\dimen151 +\tikz@lastmovetoy=\dimen152 +\tikzleveldistance=\dimen153 +\tikzsiblingdistance=\dimen154 +\tikz@figbox=\box34 +\tikz@figbox@bg=\box35 +\tikz@tempbox=\box36 +\tikz@tempbox@bg=\box37 +\tikztreelevel=\count105 +\tikznumberofchildren=\count106 +\tikznumberofcurrentchild=\count107 +\tikz@fig@count=\count108 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count109 +\pgfmatrixcurrentcolumn=\count110 +\pgf@matrix@numberofcolumns=\count111 +) +\tikz@expandcount=\count112 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +\sa@box=\box38 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/04/01 v2.17c AMS math features +\@mathmargin=\skip43 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks28 +\ex@=\dimen155 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count113 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count114 +\leftroot@=\count115 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count116 +\DOTSCASE@=\count117 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box39 +\strutbox@=\box40 +\big@size=\dimen157 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count118 +\c@MaxMatrixCols=\count119 +\dotsspace@=\muskip10 +\c@parentequation=\count120 +\dspbrk@lvl=\count121 +\tag@help=\toks29 +\row@=\count122 +\column@=\count123 +\maxfields@=\count124 +\andhelp@=\toks30 +\eqnshift@=\dimen158 +\alignsep@=\dimen159 +\tagshift@=\dimen160 +\tagwidth@=\dimen161 +\totwidth@=\dimen162 +\lineht@=\dimen163 +\@envbody=\toks31 +\multlinegap=\skip44 +\multlinetaggap=\skip45 +\mathdisplay@stack=\toks32 +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. +) +(c:/texlive/2019/texmf-dist/tex/latex/psnfss/times.sty +Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) +) +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/txfonts.sty +Package: txfonts 2008/01/22 v3.2.1 +LaTeX Font Info: Redeclaring symbol font `operators' on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/txr/m/n --> OT1/txr/bx/n on input line 22. +\symitalic=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `italic' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 26. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 31. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/txss/m/n --> OT1/txss/b/n on input line 41. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/txtt/m/n --> OT1/txtt/b/n on input line 51. +LaTeX Font Info: Redeclaring symbol font `letters' on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/txmi/m/it --> OML/txmi/bx/it on input line 59. +\symlettersA=\mathgroup5 +LaTeX Font Info: Overwriting symbol font `lettersA' in version `bold' +(Font) U/txmia/m/it --> U/txmia/bx/it on input line 67. +LaTeX Font Info: Redeclaring symbol font `symbols' on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/txsy/m/n --> OMS/txsy/bx/n on input line 78. +\symAMSa=\mathgroup6 +LaTeX Font Info: Overwriting symbol font `AMSa' in version `bold' +(Font) U/txsya/m/n --> U/txsya/bx/n on input line 94. +\symAMSb=\mathgroup7 +LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold' +(Font) U/txsyb/m/n --> U/txsyb/bx/n on input line 103. +\symsymbolsC=\mathgroup8 +LaTeX Font Info: Overwriting symbol font `symbolsC' in version `bold' +(Font) U/txsyc/m/n --> U/txsyc/bx/n on input line 113. +LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/txex/m/n --> OMX/txex/bx/n on input line 121. +\symlargesymbolsA=\mathgroup9 +LaTeX Font Info: Overwriting symbol font `largesymbolsA' in version `bold' +(Font) U/txexa/m/n --> U/txexa/bx/n on input line 129. +LaTeX Font Info: Redeclaring math symbol \mathsterling on input line 164. +LaTeX Font Info: Redeclaring math symbol \hbar on input line 591. +LaTeX Info: Redefining \not on input line 1043. +) +(c:/texlive/2019/texmf-dist/tex/latex/pgfplots/pgfplots.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex) +Package: pgfplots 2018/03/28 v1.16 Data Visualization (1.16) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +\t@pgfplots@toka=\toks33 +\t@pgfplots@tokb=\toks34 +\t@pgfplots@tokc=\toks35 +\pgfplots@tmpa=\dimen164 +\c@pgfplots@coordindex=\count125 +\c@pgfplots@scanlineindex=\count126 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.te +x)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfs +upp_loader.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +cture.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +ctureext.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.co +de.tex +\c@pgfplotsarray@tmp=\count127 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.c +ode.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.c +ode.tex +\c@pgfplotstable@counta=\count128 +\t@pgfplotstable@a=\toks36 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code. +tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfsh +ading.code.tex +\c@pgfplotslibrarysurf@no=\count129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-xetex.def +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-dvipdfmx.def +\c@pgfplotslibrarysurf@streamlen=\count130 +)))) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.t +ex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex +))) (c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.t +ex +\pgfdecoratedcompleteddistance=\dimen165 +\pgfdecoratedremainingdistance=\dimen166 +\pgfdecoratedinputsegmentcompleteddistance=\dimen167 +\pgfdecoratedinputsegmentremainingdistance=\dimen168 +\pgf@decorate@distancetomove=\dimen169 +\pgf@decorate@repeatstate=\count131 +\pgfdecorationsegmentamplitude=\dimen170 +\pgfdecorationsegmentlength=\dimen171 +) +\tikz@lib@dec@box=\box41 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathmorphing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathmorphing.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathreplacing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathreplacing.code.tex)) +\pgfplots@numplots=\count132 +\pgfplots@xmin@reg=\dimen172 +\pgfplots@xmax@reg=\dimen173 +\pgfplots@ymin@reg=\dimen174 +\pgfplots@ymax@reg=\dimen175 +\pgfplots@zmin@reg=\dimen176 +\pgfplots@zmax@reg=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryplotmarks.code.tex +File: tikzlibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code. +tex +File: pgflibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/csvsimple/csvsimple.sty +Package: csvsimple 2019/04/09 version 1.21 LaTeX CSV file processing + +(c:/texlive/2019/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count133 +) +\csv@file=\read2 +\c@csvinputline=\count134 +\c@csvrow=\count135 +\c@csvcol=\count136 +\csv@out=\write4 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryarrows.code.tex +File: tikzlibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +File: pgflibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\arrowsize=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryintersections.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.c +ode.tex +\pgf@intersect@solutions=\count137 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarymath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryfpu.code.tex) +\tikz@math@for@depth=\count138 +\tikz@math@dimen=\dimen179 +\tikz@math@toks=\toks37 +) (./polynom2.aux) +\openout1 = `polynom2.aux'. + +LaTeX Font Info: Checking defaults for OML/txmi/m/it on input line 11. +LaTeX Font Info: Trying to load font information for OML+txmi on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omltxmi.fd +File: omltxmi.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/txsy/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMS+txsy on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omstxsy.fd +File: omstxsy.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/txex/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMX+txex on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omxtxex.fd +File: omxtxex.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/txexa/m/n on input line 11. +LaTeX Font Info: Trying to load font information for U+txexa on input line 1 +1. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxexa.fd +File: utxexa.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Trying to load font information for TU+txr on input line 11 +. +LaTeX Font Info: No file TUtxr.fd. on input line 11. + + +LaTeX Font Warning: Font shape `TU/txr/m/n' undefined +(Font) using `TU/lmr/m/n' instead on input line 11. + +ABD: EveryShipout initializing macros + +Package pgfplots Warning: running in backwards compatibility mode (unsuitable t +ick labels; missing features). Consider writing \pgfplotsset{compat=1.16} into +your preamble. + on input line 11. + +LaTeX Font Info: Trying to load font information for OT1+txr on input line 2 +6. +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/ot1txr.fd +File: ot1txr.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txmia on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxmia.fd +File: utxmia.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsya on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsya.fd +File: utxsya.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyb on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyb.fd +File: utxsyb.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyc on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyc.fd +File: utxsyc.fd 2000/12/15 v3.1 +) [1 + +] (./polynom2.aux) + +LaTeX Font Warning: Some font shapes were not available, defaults substituted. + + ) +Here is how much of TeX's memory you used: + 25292 strings out of 492483 + 638772 string characters out of 6132858 + 794987 words of memory out of 5000000 + 29364 multiletter control sequences out of 15000+600000 + 13575 words of font info for 45 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 68i,6n,98p,840b,724s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on polynom2.pdf (1 page). diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf b/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf Binary files differnew file mode 100644 index 0000000..05f4ba0 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz b/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz Binary files differnew file mode 100644 index 0000000..24859aa --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.tex b/buch/papers/reedsolomon/RS presentation/images/polynom2.tex new file mode 100644 index 0000000..aa792ce --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.tex @@ -0,0 +1,57 @@ +% polynome2 +%------------------- +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\newcommand{\teiler}{40} +\begin{document} + %Übertragen von den Zahlen + %\textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} + %als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline + %Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + % \textcolor{green}{15}, \textcolor{green}{26}, + % \textcolor{green}{ 41}, \textcolor{green}{60}, + % \textcolor{green}{83}, \textcolor{green}{110})$ + + + \begin{tikzpicture}[>=latex,thick] + + \draw[color=blue, line width=1.4pt] + plot[domain=0:8, samples=100] + ({\x},{(2*\x^2+1*\x+5)/\teiler}); + \draw[->] (-0.2,0) -- (8,0) coordinate[label={$x$}]; + \draw[->] (0,-0.2) -- (0,150/\teiler) coordinate[label={right:$p(x)$}]; + \def\punkt#1{ + \fill[color=green] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; + } + \punkt{(1,8/\teiler)} + %\punkt{(2,15/\teiler)} + %\punkt{(3,26/\teiler)} + \punkt{(4,41/\teiler)} + \punkt{(5,60/\teiler)} + \punkt{(6,83/\teiler)} + \punkt{(7,110/\teiler)} + \draw[color=gray,line width=1pt,dashed] + plot[domain=0.5:7, samples=100] + ({\x},{(0.1958*\x^2-1.2875*\x+3.0417)}); + \def\erpunkt#1{ + \fill[color=red] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; + } + \erpunkt{(2,50/\teiler)} + \erpunkt{(3,0.9414)} + + + \draw(0,100/\teiler) -- (-0.1,100/\teiler) coordinate[label={left:$100$}]; + \draw(1,0) -- (1,-0.1) coordinate[label={below:$1$}]; + + + + + \end{tikzpicture} +\end{document} diff --git a/buch/papers/reedsolomon/experiments/f.m b/buch/papers/reedsolomon/experiments/f.m new file mode 100644 index 0000000..6bdc741 --- /dev/null +++ b/buch/papers/reedsolomon/experiments/f.m @@ -0,0 +1,61 @@ +# +# f.m -- Reed-Solomon-Visualisierung mit FFT +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +N = 64; +b = 32; +l = N + b; + +signal = zeros(l,1); +signal(1:N,1) = round(10 * rand(N,1)); +signal + +plot(abs(signal)); +xlim([1, l]); +title("Signal"); +pause() + +codiert = fft(signal) + +plot(abs(codiert)); +xlim([1, l]); +title("Codiert"); +pause() + +fehler = zeros(l,1); +fehler(21,1) = 2; +fehler(75,1) = 1; +fehler(7,1) = 2; + +plot(fehler); +xlim([1, l]); +title("Fehler"); +pause() + +empfangen = codiert + fehler; + +plot(abs(empfangen)); +xlim([1, l]); +title("Empfangen"); +pause() + +decodiert = ifft(empfangen) +plot(abs(decodiert)); +xlim([1, l]); +title("Decodiert"); +pause() + +syndrom = decodiert; +syndrom(1:N,1) = zeros(N,1) +plot(abs(syndrom)); +xlim([1, l]); +title("Syndrom"); +pause() + +locator = abs(fft(syndrom)) + +plot(locator); +xlim([1, l]); +title("Locator"); +pause() diff --git a/buch/papers/spannung/main.tex b/buch/papers/spannung/main.tex index b87a4d0..585a423 100644 --- a/buch/papers/spannung/main.tex +++ b/buch/papers/spannung/main.tex @@ -6,7 +6,7 @@ \chapter{Thema\label{chapter:spannung}} \lhead{Thema} \begin{refsection} -\chapterauthor{Hans Muster} +\chapterauthor{Adrian Schuler und Thomas Reichlin} Ein paar Hinweise für die korrekte Formatierung des Textes \begin{itemize} diff --git a/buch/test3.tex b/buch/test3.tex new file mode 100644 index 0000000..977f345 --- /dev/null +++ b/buch/test3.tex @@ -0,0 +1,91 @@ +%
+% test3.tex -- Test 3
+%
+% (c) 2021 Prof. Dr. Andreas Mueller, OST
+%
+%\documentclass[a4paper,12pt]{book}
+\documentclass[a4paper,12pt]{article}
+\usepackage{geometry}
+\geometry{papersize={210mm,297mm},total={165mm,260mm}}
+\usepackage{ngerman}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{amsfonts}
+\usepackage{amsthm}
+\usepackage{graphicx}
+\usepackage{fancyhdr}
+\usepackage{textcomp}
+\usepackage[all]{xy}
+\usepackage{txfonts}
+\usepackage{alltt}
+\usepackage{verbatim}
+\usepackage{paralist}
+\usepackage{makeidx}
+\usepackage{array}
+\usepackage{hyperref}
+\usepackage{caption}
+\usepackage{subcaption}
+\usepackage{standalone}
+\usepackage{environ}
+\usepackage{tikz}
+\input{../common/linsys.tex}
+\newcounter{beispiel}
+\newenvironment{beispiele}{
+\bgroup\smallskip\parindent0pt\bf Beispiele\egroup
+
+\begin{list}{\arabic{beispiel}.}
+ {\usecounter{beispiel}
+ \setlength{\labelsep}{5mm}
+ \setlength{\rightmargin}{0pt}
+}}{\end{list}}
+\newcounter{uebungsaufgabe}
+% environment fuer uebungsaufgaben
+\newenvironment{uebungsaufgaben}{
+\begin{list}{\arabic{uebungsaufgabe}.}
+ {\usecounter{uebungsaufgabe}
+ \setlength{\labelwidth}{2cm}
+ \setlength{\leftmargin}{0pt}
+ \setlength{\labelsep}{5mm}
+ \setlength{\rightmargin}{0pt}
+ \setlength{\itemindent}{0pt}
+}}{\end{list}\vfill\pagebreak}
+\newenvironment{teilaufgaben}{
+\begin{enumerate}
+\renewcommand{\labelenumi}{\alph{enumi})}
+}{\end{enumerate}}
+% Loesung
+\NewEnviron{loesung}{%
+\begin{proof}[Lösung]%
+\renewcommand{\qedsymbol}{$\bigcirc$}
+\BODY
+\end{proof}}
+\NewEnviron{bewertung}{\relax}
+\NewEnviron{diskussion}{
+\BODY
+}
+\RenewEnviron{loesung}{\relax}
+\RenewEnviron{diskussion}{\relax}
+\newenvironment{hinweis}{%
+\renewcommand{\qedsymbol}{}
+\begin{proof}[Hinweis]}{\end{proof}}
+
+\begin{document}
+{\parindent0pt\hbox to\hsize{%
+Name: \hbox to7cm{\dotfill} Vorname: \dotfill}}
+\vspace{0.5cm}
+
+\section*{Kurztest 3}
+
+\begin{uebungsaufgaben}
+
+\item
+\input chapters/60-gruppen/uebungsaufgaben/6001.tex
+%\item
+%\input chapters/60-gruppen/uebungsaufgaben/6002.tex
+
+\end{uebungsaufgaben}
+
+\end{document}
diff --git a/vorlesungen/00_template/mathman2.png b/vorlesungen/00_template/mathman2.png Binary files differnew file mode 100644 index 0000000..70b2059 --- /dev/null +++ b/vorlesungen/00_template/mathman2.png diff --git a/vorlesungen/06_msegalois/Makefile b/vorlesungen/06_msegalois/Makefile new file mode 100644 index 0000000..4cdc3d1 --- /dev/null +++ b/vorlesungen/06_msegalois/Makefile @@ -0,0 +1,33 @@ +#
+# Makefile -- galois
+#
+# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+#
+all: galois-handout.pdf MathSemMSE-06-galois.pdf
+
+include ../slides/Makefile.inc
+
+SOURCES = common.tex slides.tex $(slides)
+
+MathSemMSE-06-galois.pdf: MathSemMSE-06-galois.tex $(SOURCES)
+ pdflatex MathSemMSE-06-galois.tex
+
+galois-handout.pdf: galois-handout.tex $(SOURCES)
+ pdflatex galois-handout.tex
+
+thumbnail: thumbnail.jpg # fix1.jpg
+
+thumbnail.pdf: MathSemMSE-06-galois.pdf
+ pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \
+ MathSemMSE-06-galois.pdf 1
+thumbnail.jpg: thumbnail.pdf
+ convert -density 300 thumbnail.pdf \
+ -resize 1920x1080 -units PixelsPerInch thumbnail.jpg
+
+fix1.pdf: MathSemMSE-06-galois.pdf
+ pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \
+ MathSemMSE-06-galois.pdf 1
+fix1.jpg: fix1.pdf
+ convert -density 300 fix1.pdf \
+ -resize 1920x1080 -units PixelsPerInch fix1.jpg
+
diff --git a/vorlesungen/06_msegalois/MathSemMSE-06-galois.tex b/vorlesungen/06_msegalois/MathSemMSE-06-galois.tex new file mode 100644 index 0000000..1f6b354 --- /dev/null +++ b/vorlesungen/06_msegalois/MathSemMSE-06-galois.tex @@ -0,0 +1,14 @@ +%
+% MathSem-06-msegalois.tex -- Präsentation
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\documentclass[aspectratio=169]{beamer}
+\input{common.tex}
+\setboolean{presentation}{true}
+\begin{document}
+\begin{frame}
+\titlepage
+\end{frame}
+\input{slides.tex}
+\end{document}
diff --git a/vorlesungen/06_msegalois/common.tex b/vorlesungen/06_msegalois/common.tex new file mode 100644 index 0000000..f88a87b --- /dev/null +++ b/vorlesungen/06_msegalois/common.tex @@ -0,0 +1,16 @@ +%
+% common.tex -- gemeinsame definition
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\input{../common/packages.tex}
+\input{../common/common.tex}
+\mode<beamer>{%
+\usetheme[hideothersubsections,hidetitle]{Hannover}
+}
+\beamertemplatenavigationsymbolsempty
+\title[Galois]{Galois-Theorie}
+\author[A.~Müller]{Prof. Dr. Andreas Müller}
+\date[]{}
+\newboolean{presentation}
+
diff --git a/vorlesungen/06_msegalois/galois-handout.tex b/vorlesungen/06_msegalois/galois-handout.tex new file mode 100644 index 0000000..54238f6 --- /dev/null +++ b/vorlesungen/06_msegalois/galois-handout.tex @@ -0,0 +1,11 @@ +%
+% msegalois-handout.tex -- Handout XXX
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\documentclass[handout,aspectratio=169]{beamer}
+\input{common.tex}
+\setboolean{presentation}{false}
+\begin{document}
+\input{slides.tex}
+\end{document}
diff --git a/vorlesungen/06_msegalois/slides.tex b/vorlesungen/06_msegalois/slides.tex new file mode 100644 index 0000000..386d19f --- /dev/null +++ b/vorlesungen/06_msegalois/slides.tex @@ -0,0 +1,23 @@ +%
+% slides.tex -- Slides für die kleine Einführung in die Galois-Theorie
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+
+\section{Körpererweiterungen}
+\folie{4/galois/erweiterung.tex}
+
+\section{Geometrische Anwendungen}
+\folie{4/galois/konstruktion.tex}
+\folie{4/galois/wuerfel.tex}
+\folie{4/galois/winkeldreiteilung.tex}
+\folie{4/galois/quadratur.tex}
+
+\section{Galois-Gruppe}
+\folie{4/galois/automorphismus.tex}
+
+\section{Lösbarkeit durch Radikale}
+\folie{4/galois/radikale.tex}
+\folie{4/galois/aufloesbarkeit.tex}
+\folie{4/galois/sn.tex}
+
diff --git a/vorlesungen/07_lie/Makefile b/vorlesungen/07_lie/Makefile new file mode 100644 index 0000000..7e925d8 --- /dev/null +++ b/vorlesungen/07_lie/Makefile @@ -0,0 +1,33 @@ +#
+# Makefile -- lie
+#
+# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+#
+all: lie-handout.pdf MathSem-07-lie.pdf
+
+include ../slides/Makefile.inc
+
+SOURCES = common.tex slides.tex $(slides)
+
+MathSem-07-lie.pdf: MathSem-07-lie.tex $(SOURCES)
+ pdflatex MathSem-07-lie.tex
+
+lie-handout.pdf: lie-handout.tex $(SOURCES)
+ pdflatex lie-handout.tex
+
+thumbnail: thumbnail.jpg fix1.jpg
+
+thumbnail.pdf: MathSem-07-lie.pdf
+ pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \
+ MathSem-07-lie.pdf 1
+thumbnail.jpg: thumbnail.pdf
+ convert -density 300 thumbnail.pdf \
+ -resize 1920x1080 -units PixelsPerInch thumbnail.jpg
+
+fix1.pdf: MathSem-07-lie.pdf
+ pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \
+ MathSem-07-lie.pdf 205
+fix1.jpg: fix1.pdf
+ convert -density 300 fix1.pdf \
+ -resize 1920x1080 -units PixelsPerInch fix1.jpg
+
diff --git a/vorlesungen/07_lie/MathSem-07-lie.tex b/vorlesungen/07_lie/MathSem-07-lie.tex new file mode 100644 index 0000000..6cf5bd3 --- /dev/null +++ b/vorlesungen/07_lie/MathSem-07-lie.tex @@ -0,0 +1,18 @@ +%
+% MathSem-07-lie.tex -- Präsentation
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\documentclass[aspectratio=169]{beamer}
+\input{common.tex}
+\setboolean{presentation}{true}
+\begin{document}
+\begin{frame}
+\titlepage
+\vspace{-1.5cm}
+\begin{center}
+\includegraphics[width=10cm]{../slides/7/images/rodriguez.jpg}
+\end{center}
+\end{frame}
+\input{slides.tex}
+\end{document}
diff --git a/vorlesungen/07_lie/common.tex b/vorlesungen/07_lie/common.tex new file mode 100644 index 0000000..12f0700 --- /dev/null +++ b/vorlesungen/07_lie/common.tex @@ -0,0 +1,16 @@ +%
+% common.tex -- gemeinsame definition
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\input{../common/packages.tex}
+\input{../common/common.tex}
+\mode<beamer>{%
+\usetheme[hideothersubsections,hidetitle]{Hannover}
+}
+\beamertemplatenavigationsymbolsempty
+\title[Lie]{Lie-Gruppen und Lie-Algebren}
+\author[A.~Müller]{Prof. Dr. Andreas Müller}
+\date[]{}
+\newboolean{presentation}
+
diff --git a/vorlesungen/07_lie/lie-handout.tex b/vorlesungen/07_lie/lie-handout.tex new file mode 100644 index 0000000..43053b8 --- /dev/null +++ b/vorlesungen/07_lie/lie-handout.tex @@ -0,0 +1,11 @@ +%
+% lie-handout.tex -- Handout XXX
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\documentclass[handout,aspectratio=169]{beamer}
+\input{common.tex}
+\setboolean{presentation}{false}
+\begin{document}
+\input{slides.tex}
+\end{document}
diff --git a/vorlesungen/07_lie/slides.tex b/vorlesungen/07_lie/slides.tex new file mode 100644 index 0000000..7efc554 --- /dev/null +++ b/vorlesungen/07_lie/slides.tex @@ -0,0 +1,26 @@ +%
+% slides.tex -- Vorlesung über Lie-Theorie
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Matrizen-Gruppen}
+\folie{7/symmetrien.tex}
+\folie{7/algebraisch.tex}
+\folie{7/parameter.tex}
+\folie{7/mannigfaltigkeit.tex}
+\folie{7/sl2.tex}
+\folie{7/drehung.tex}
+\ifthenelse{\boolean{presentation}}{
+\folie{7/drehanim.tex}
+}{}
+\folie{7/semi.tex}
+
+\section{Ableitungen}
+\folie{7/kurven.tex}
+\folie{7/einparameter.tex}
+\folie{7/ableitung.tex}
+\folie{7/liealgebra.tex}
+\folie{7/kommutator.tex}
+
+\section{Exponentialabbildung}
+\folie{7/dg.tex}
diff --git a/vorlesungen/07_msecrypto/Makefile b/vorlesungen/07_msecrypto/Makefile new file mode 100644 index 0000000..5d4ecd0 --- /dev/null +++ b/vorlesungen/07_msecrypto/Makefile @@ -0,0 +1,33 @@ +# +# Makefile -- crypto +# +# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +# +all: crypto-handout.pdf MathSemMSE-07-crypto.pdf + +include ../slides/Makefile.inc + +SOURCES = common.tex slides.tex $(slides) + +MathSemMSE-07-crypto.pdf: MathSemMSE-07-crypto.tex $(SOURCES) + pdflatex MathSemMSE-07-crypto.tex + +crypto-handout.pdf: crypto-handout.tex $(SOURCES) + pdflatex crypto-handout.tex + +thumbnail: thumbnail.jpg # fix1.jpg + +thumbnail.pdf: MathSemMSE-07-crypto.pdf + pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-07-crypto.pdf 1 +thumbnail.jpg: thumbnail.pdf + convert -density 300 thumbnail.pdf \ + -resize 1920x1080 -units PixelsPerInch thumbnail.jpg + +fix1.pdf: MathSemMSE-07-crypto.pdf + pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-07-crypto.pdf 1 +fix1.jpg: fix1.pdf + convert -density 300 fix1.pdf \ + -resize 1920x1080 -units PixelsPerInch fix1.jpg + diff --git a/vorlesungen/07_msecrypto/MathSemMSE-07-crypto.tex b/vorlesungen/07_msecrypto/MathSemMSE-07-crypto.tex new file mode 100644 index 0000000..179837b --- /dev/null +++ b/vorlesungen/07_msecrypto/MathSemMSE-07-crypto.tex @@ -0,0 +1,14 @@ +% +% MathSem-07-msecrypto.tex -- Präsentation +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\documentclass[aspectratio=169]{beamer} +\input{common.tex} +\setboolean{presentation}{true} +\begin{document} +\begin{frame} +\titlepage +\end{frame} +\input{slides.tex} +\end{document} diff --git a/vorlesungen/07_msecrypto/common.tex b/vorlesungen/07_msecrypto/common.tex new file mode 100644 index 0000000..0026619 --- /dev/null +++ b/vorlesungen/07_msecrypto/common.tex @@ -0,0 +1,16 @@ +% +% common.tex -- gemeinsame definition +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\input{../common/packages.tex} +\input{../common/common.tex} +\mode<beamer>{% +\usetheme[hideothersubsections,hidetitle]{Hannover} +} +\beamertemplatenavigationsymbolsempty +\title[Crypto]{Endliche Körper und Kryptographie} +\author[A.~Müller]{Prof. Dr. Andreas Müller} +\date[]{} +\newboolean{presentation} + diff --git a/vorlesungen/07_msecrypto/crypto-handout.tex b/vorlesungen/07_msecrypto/crypto-handout.tex new file mode 100644 index 0000000..d42a260 --- /dev/null +++ b/vorlesungen/07_msecrypto/crypto-handout.tex @@ -0,0 +1,11 @@ +% +% msecrypto-handout.tex -- Handout XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\documentclass[handout,aspectratio=169]{beamer} +\input{common.tex} +\setboolean{presentation}{false} +\begin{document} +\input{slides.tex} +\end{document} diff --git a/vorlesungen/07_msecrypto/slides.tex b/vorlesungen/07_msecrypto/slides.tex new file mode 100644 index 0000000..cb0c548 --- /dev/null +++ b/vorlesungen/07_msecrypto/slides.tex @@ -0,0 +1,43 @@ +% +% slides.tex -- Präsentation zur Kryptographie +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Diffie-Hellmann} +\folie{4/dh.tex} + +\section{Divide and Conquer} +% Potenzieren +\folie{a/dc/prinzip.tex} +% effiziente Durchführung +\folie{a/dc/effizient.tex} +% Beispieldurchführung +\folie{a/dc/beispiel.tex} + +\section{Elliptische Kurven} +% Idee +\folie{a/ecc/gruppendh.tex} +% Was ist eine elliptische Kurve (char 0 Bild) +\folie{a/ecc/kurve.tex} +% Involution/Inverse +\folie{a/ecc/inverse.tex} +% Verknüpfung +\folie{a/ecc/operation.tex} +% Quadrieren +\folie{a/ecc/quadrieren.tex} +% Oakley Gruppe +\ifthenelse{\boolean{presentation}}{ +\folie{a/ecc/oakley.tex} +}{} + +\section{AES} +% Byte-Operationen +\folie{a/aes/bytes.tex} +\folie{a/aes/sinverse.tex} +% Block-Operationen +\folie{a/aes/blocks.tex} +% Key-Schedule +\folie{a/aes/keys.tex} +% Zusammensetzung +\folie{a/aes/runden.tex} + diff --git a/vorlesungen/08_dgl/Makefile b/vorlesungen/08_dgl/Makefile new file mode 100644 index 0000000..7a3960a --- /dev/null +++ b/vorlesungen/08_dgl/Makefile @@ -0,0 +1,46 @@ +# +# Makefile -- dgl +# +# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +# +all: dgl-handout.pdf MathSem-08-dgl.pdf + +# SHELL = /bin/bash + +include ../slides/Makefile.inc + +SOURCES = common.tex slides.tex $(slides) +IMAGES = vektorfelder-1.pdf + + +MathSem-08-dgl.pdf: MathSem-08-dgl.tex $(SOURCES) $(IMAGES) + pdflatex --synctex=1 MathSem-08-dgl.tex > /dev/null + +dgl-handout.pdf: dgl-handout.tex $(SOURCES) $(IMAGES) + pdflatex dgl-handout.tex > /dev/null + +vektorfelder-1.pdf: ../slides/10/vektorfelder.mp + cd ../slides/10/; \ + TEX=latex mpost vektorfelder.mp; \ + for f in vektorfelder.[0-9]*; \ + do \ + mptopdf $${f} > /dev/null; \ + done; \ + rm -f vektorfelder.[0-9]* vektorfelder.log vektorfelder.mpx + +thumbnail: thumbnail.jpg # fix1.jpg + +thumbnail.pdf: MathSem-08-dgl.pdf + pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \ + MathSem-08-dgl.pdf 1 +thumbnail.jpg: thumbnail.pdf + convert -density 300 thumbnail.pdf \ + -resize 1920x1080 -units PixelsPerInch thumbnail.jpg + +fix1.pdf: MathSem-08-dgl.pdf + pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \ + MathSem-08-dgl.pdf 1 +fix1.jpg: fix1.pdf + convert -density 300 fix1.pdf \ + -resize 1920x1080 -units PixelsPerInch fix1.jpg + diff --git a/vorlesungen/08_dgl/MathSem-08-dgl.tex b/vorlesungen/08_dgl/MathSem-08-dgl.tex new file mode 100644 index 0000000..e4ece1b --- /dev/null +++ b/vorlesungen/08_dgl/MathSem-08-dgl.tex @@ -0,0 +1,35 @@ +% +% MathSem-08-dgl.tex -- Präsentation +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\documentclass[aspectratio=169]{beamer} +\input{common.tex} +\setboolean{presentation}{true} +\begin{document} + \begin{frame} + \titlepage + \vspace{-1.5cm} + \begin{columns} + \begin{column}{.48\textwidth} + \centering + \includegraphics[width=.7\linewidth]{../slides/10/vektorfelder-6.pdf} + \end{column} + \begin{column}{.48\textwidth} + \begin{align*} + x(t) + &= + \exp(At) x_0 + \\ + \exp(At) + &= + 1 + At + \frac{A^2t^2}{2} + \frac{A^3 t^3}{3!} + \ldots + \\ + &= + \lim_{n\to \infty} \left(1 + \frac{At}{n}\right)^n + \end{align*} + \end{column} + \end{columns} +\end{frame} +\input{slides.tex} +\end{document} diff --git a/vorlesungen/08_dgl/common.tex b/vorlesungen/08_dgl/common.tex new file mode 100644 index 0000000..fbf3ad9 --- /dev/null +++ b/vorlesungen/08_dgl/common.tex @@ -0,0 +1,27 @@ +% +% common.tex -- gemeinsame definition +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\input{../common/packages.tex} +\input{../common/common.tex} +\mode<beamer>{% +\usetheme[hideothersubsections,hidetitle]{Hannover} +} +\beamertemplatenavigationsymbolsempty +\title[DGL]{Differential-Gleichungen} +\author[R.~Seitz]{Roy Seitz} +\date[]{} +\newboolean{presentation} + +\newcommand{\gSL}[2]{\ensuremath{\text{SL}(#1, \mathbb{#2})}} +\newcommand{\gSO}[1]{\ensuremath{\text{SO}(#1)}} +\newcommand{\gGL}[2]{\ensuremath{\text{GL}(#1, \mathbb #2)}} + +\newcommand{\asl}[2]{\ensuremath{\mathfrak{sl}(#1, \mathbb{#2})}} +\newcommand{\aso}[1]{\ensuremath{\mathfrak{so}(#1)}} +\newcommand{\agl}[2]{\ensuremath{\mathfrak{gl}(#1, \mathbb #2)}} + +\DeclareMathOperator{\Spur}{Spur} + + diff --git a/vorlesungen/08_dgl/dgl-handout.tex b/vorlesungen/08_dgl/dgl-handout.tex new file mode 100644 index 0000000..2bd08a1 --- /dev/null +++ b/vorlesungen/08_dgl/dgl-handout.tex @@ -0,0 +1,11 @@ +% +% dgl-handout.tex -- Handout XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\documentclass[handout,aspectratio=169]{beamer} +\input{common.tex} +\setboolean{presentation}{false} +\begin{document} +\input{slides.tex} +\end{document} diff --git a/vorlesungen/08_dgl/slides.tex b/vorlesungen/08_dgl/slides.tex new file mode 100644 index 0000000..029e1c7 --- /dev/null +++ b/vorlesungen/08_dgl/slides.tex @@ -0,0 +1,35 @@ +% +% slides.tex -- XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% + +% Wie findet man die Lösung von \dot x = Ax? +% Fall \dot x = ax +% Potenzreihenansatz -> exp(ax) x_0 + +%% Plan: +% 1. Tailor-Reihen p_n -> f +% 2. x' = ax => x = exp(ax) x_0 via Potenzreihe finden +% 3. n-Dim-skalar -> 1-Dim-Matrix +% 4. Analogie zur Vektor-Matrix-Form +% 5. exp(Ax) x_0 als Fluss +% 6. Strömungslinien = Pfade für Lie-Theorie, A lokal, exp(Ax) global +% 7. Beispiele so(2), Jordan-Block, vielleicht [0 1; 1 0] + +\section{Einführung} +\folie{10/intro.tex} +\section{Woher kommt $\exp(At)$?} +\subsection{Taylor-Reihen} +\folie{10/taylor.tex} +\folie{10/potenzreihenmethode.tex} +\subsection{Ableitung von $\exp(At)$} +\folie{10/ableitung-exp.tex} +\section{Lösen einer Matrix-DGL} +\folie{10/n-zu-1.tex} +\folie{10/matrix-dgl.tex} +\section{Lie-Gruppen und -Algebren} +\folie{10/repetition.tex} +\folie{10/so2.tex} +\section{Was bedeutet $\exp(At)$?} +\folie{10/vektorfelder.tex} diff --git a/vorlesungen/08_msegruppen/Makefile b/vorlesungen/08_msegruppen/Makefile new file mode 100644 index 0000000..913be49 --- /dev/null +++ b/vorlesungen/08_msegruppen/Makefile @@ -0,0 +1,33 @@ +# +# Makefile -- gruppen +# +# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +# +all: gruppen-handout.pdf MathSemMSE-08-gruppen.pdf + +include ../slides/Makefile.inc + +SOURCES = common.tex slides.tex $(slides) + +MathSemMSE-08-gruppen.pdf: MathSemMSE-08-gruppen.tex $(SOURCES) + pdflatex MathSemMSE-08-gruppen.tex + +gruppen-handout.pdf: gruppen-handout.tex $(SOURCES) + pdflatex gruppen-handout.tex + +thumbnail: thumbnail.jpg # fix1.jpg + +thumbnail.pdf: MathSemMSE-08-gruppen.pdf + pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-08-gruppen.pdf 1 +thumbnail.jpg: thumbnail.pdf + convert -density 300 thumbnail.pdf \ + -resize 1920x1080 -units PixelsPerInch thumbnail.jpg + +fix1.pdf: MathSemMSE-08-gruppen.pdf + pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-08-gruppen.pdf 1 +fix1.jpg: fix1.pdf + convert -density 300 fix1.pdf \ + -resize 1920x1080 -units PixelsPerInch fix1.jpg + diff --git a/vorlesungen/08_msegruppen/MathSemMSE-08-gruppen.tex b/vorlesungen/08_msegruppen/MathSemMSE-08-gruppen.tex new file mode 100644 index 0000000..ac198be --- /dev/null +++ b/vorlesungen/08_msegruppen/MathSemMSE-08-gruppen.tex @@ -0,0 +1,14 @@ +% +% MathSem-08-msegruppen.tex -- Präsentation +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\documentclass[aspectratio=169]{beamer} +\input{common.tex} +\setboolean{presentation}{true} +\begin{document} +\begin{frame} +\titlepage +\end{frame} +\input{slides.tex} +\end{document} diff --git a/vorlesungen/08_msegruppen/common.tex b/vorlesungen/08_msegruppen/common.tex new file mode 100644 index 0000000..9dff6ed --- /dev/null +++ b/vorlesungen/08_msegruppen/common.tex @@ -0,0 +1,16 @@ +% +% common.tex -- gemeinsame definition +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\input{../common/packages.tex} +\input{../common/common.tex} +\mode<beamer>{% +\usetheme[hideothersubsections,hidetitle]{Hannover} +} +\beamertemplatenavigationsymbolsempty +\title[Gruppen]{Endliche Gruppen} +\author[A.~Müller]{Prof. Dr. Andreas Müller} +\date[]{} +\newboolean{presentation} + diff --git a/vorlesungen/08_msegruppen/gruppen-handout.tex b/vorlesungen/08_msegruppen/gruppen-handout.tex new file mode 100644 index 0000000..48ad5c2 --- /dev/null +++ b/vorlesungen/08_msegruppen/gruppen-handout.tex @@ -0,0 +1,11 @@ +% +% msegruppen-handout.tex -- Handout XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\documentclass[handout,aspectratio=169]{beamer} +\input{common.tex} +\setboolean{presentation}{false} +\begin{document} +\input{slides.tex} +\end{document} diff --git a/vorlesungen/08_msegruppen/slides.tex b/vorlesungen/08_msegruppen/slides.tex new file mode 100644 index 0000000..bfc99cd --- /dev/null +++ b/vorlesungen/08_msegruppen/slides.tex @@ -0,0 +1,42 @@ +% +% slides.tex -- XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% + +\section{Punktgruppen} +% XXX Zyklische Gruppen/Drehgruppen um endliche Winkel +% XXX Diedergruppen +% XXX Tetraeder, Oktaeder, Ikosaeder +% XXX Darstellung als Matrizen + +\section{Permutationsgruppen} +% XXX Permutationen, Transpositionen, Signum +% XXX Alternierende Gruppe +% Darstellung als Matrizen +%\folie{6/permutationen/matrizen.tex} + +\section{Normalteiler} +% XXX Faktor +% XXX Konjugationsklassen + +\section{Produkte} +% XXX direktes Produkt +% XXX semidirektes Produkt +% XXX freie Gruppen + +\section{Darstellungen} +% Was ist eine Darstellung? +%\folie{6/darstellungen/definition.tex} +% Charakter +%\folie{6/darstellungen/charakter.tex} +% XXX Summe +\folie{6/darstellungen/summe.tex} +% XXX Irreduzible Darstellung +\folie{6/darstellungen/irreduzibel.tex} +% XXX Folgerungen aus Schurs Lemma +\folie{6/darstellungen/schur.tex} +% XXX Skalarprodukt +\folie{6/darstellungen/skalarprodukt.tex} +% XXX Beispiel zyklische Gruppen +\folie{6/darstellungen/zyklisch.tex} diff --git a/vorlesungen/common/README b/vorlesungen/common/README new file mode 100644 index 0000000..3edcf14 --- /dev/null +++ b/vorlesungen/common/README @@ -0,0 +1,28 @@ +Die beiden Files
+
+ presentation-template.tex
+ slide-template.tex
+
+können als Basis für die eigene Präsentation verwendet werden.
+Dazu geht man wie folgt vor:
+
+1. In einem Arbeitsverzeichnis eine Kopie von presentation-template.tex
+anlegen und im file Author und Titel anpassen. Im Folgenden wird diese
+Kopie als beispiel-praesentation.tex bezeichnet.
+
+2. Für jede Folie der Präsentation im Arbeitsverzeichnis eine Kopie von
+slide-template.tex anlegen und den Inhalt anpassen.
+
+3. Die Slides mit Hilfe von Input-Befehlen, die in presentation-template.tex
+eingetragen werden, in die Präsentation importieren.
+
+4. Die Präsentation mit dem Befehl
+
+ pdflatex beispiel-praesentation.tex
+
+erzeugen, es entsteht das File beispile-praesentation.pdf
+
+Diese Vorgehen erlaubt, die Reihenfolge der Folien während der Vorbereitung
+zu ändern oder zwecks Beschleunigung des pdflatex-Laufs während der
+Entwicklung auszukommentieren.
+
diff --git a/vorlesungen/common/packages.tex b/vorlesungen/common/packages.tex index d71438b..7e044ed 100644 --- a/vorlesungen/common/packages.tex +++ b/vorlesungen/common/packages.tex @@ -12,6 +12,7 @@ \usepackage{lmodern} \usepackage{amsmath} \usepackage{amssymb} +\usepackage{nccmath} \usepackage{mathtools} \usepackage{adjustbox} \usepackage{multimedia} diff --git a/vorlesungen/common/presentation-template.tex b/vorlesungen/common/presentation-template.tex new file mode 100644 index 0000000..c872c58 --- /dev/null +++ b/vorlesungen/common/presentation-template.tex @@ -0,0 +1,49 @@ +%
+% presentation-template.tex -- Präsentation
+%
+% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\documentclass[aspectratio=169]{beamer}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{epic}
+\usepackage{color}
+\usepackage{array}
+\usepackage{ifthen}
+\usepackage{lmodern}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{mathtools}
+\usepackage{adjustbox}
+\usepackage{multimedia}
+\usepackage{verbatim}
+\usepackage{wasysym}
+\usepackage{stmaryrd}
+\usepackage{tikz}
+\usetikzlibrary{shapes.geometric}
+\usetikzlibrary{decorations.pathreplacing}
+\usetikzlibrary{calc}
+\usetikzlibrary{arrows}
+\usetikzlibrary{3d}
+\usetikzlibrary{arrows,shapes,math,decorations.text,automata}
+\usepackage{pifont}
+\usepackage[all]{xy}
+\usepackage[many]{tcolorbox}
+\mode<beamer>{%
+\usetheme[hideothersubsections,hidetitle]{Hannover}
+}
+\beamertemplatenavigationsymbolsempty
+\title[Titel]{Titel}
+\author[A. Uthor]{A. Uthor}
+\date[]{}
+\newboolean{presentation}
+\setboolean{presentation}{true}
+\begin{document}
+
+\begin{frame}
+\titlepage
+\end{frame}
+
+%\input{slide.tex}
+
+\end{document}
diff --git a/vorlesungen/common/slide-template.tex b/vorlesungen/common/slide-template.tex new file mode 100644 index 0000000..2dd4db1 --- /dev/null +++ b/vorlesungen/common/slide-template.tex @@ -0,0 +1,19 @@ +%
+% template.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Template}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\end{column}
+\begin{column}{0.48\textwidth}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/10/ableitung-exp.tex b/vorlesungen/slides/10/ableitung-exp.tex new file mode 100644 index 0000000..10ce191 --- /dev/null +++ b/vorlesungen/slides/10/ableitung-exp.tex @@ -0,0 +1,60 @@ +% +% ableitung-exp.tex -- Ableitung von exp(x) +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + %\frametitle{Ableitung von $\exp(x)$} + %\vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \begin{block}{Ableitung von $\exp(at)$} + \begin{align*} + \frac{d}{dt} \exp(at) + &= + \frac{d}{dt} \sum_{k=0}^{\infty} a^k \frac{t^k}{k!} + \\ + &\uncover<2->{ + = \sum_{k=0}^{\infty} a^k\frac{kt^{k-1}}{k(k-1)!} + } + \\ + &\uncover<3->{ + = a \sum_{k=1}^{\infty} + a^{k-1}\frac{t^{k-1}}{(k-1)!} + } + \\ + &\uncover<4->{ + = a \exp(at) + } + \end{align*} + \end{block} + \end{column} + \begin{column}{0.48\textwidth} + \uncover<5->{ + \begin{block}{Ableitung von $\exp(At)$} + \begin{align*} + \frac{d}{dt} \exp(At) + &= + \frac{d}{dt} \sum_{k=0}^{\infty} A^k \frac{t^k}{k!} + \\ + &= + \sum_{k=0}^{\infty} A^k\frac{kt^{k-1}}{k(k-1)!} + \\ + &= + A \sum_{k=1}^{\infty} A^{k-1}\frac{t^{k-1}}{(k-1)!} + \\ + &= + A \exp(At) + \end{align*} + \end{block} + } + \end{column} + \end{columns} +\end{frame} + +\egroup diff --git a/vorlesungen/slides/10/intro.tex b/vorlesungen/slides/10/intro.tex new file mode 100644 index 0000000..276bf49 --- /dev/null +++ b/vorlesungen/slides/10/intro.tex @@ -0,0 +1,45 @@ +% +% intro.tex -- Repetition Lie-Gruppen und -Algebren +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup + + + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} +% \frametitle{Repetition} +% \vspace{-20pt} + \begin{block}{Offene Fragen} + \begin{itemize}[<+->] + \item Woher kommt die Exponentialfunktion? + \begin{fleqn} + \[ + \exp(At) + = + 1 + + At + + A^2\frac{t^2}{2} + + A^3\frac{t^3}{3!} + + \ldots + \] + \end{fleqn} + \item Wie löst man eine Matrix-DGL? + \begin{fleqn} + \[ + \dot\gamma(t) = A\gamma(t), + \qquad + \gamma(t) \in G \subset M_n + \] + \end{fleqn} + \item Lie-Gruppen und Lie-Algebren + \item Was bedeutet $\exp(At)$? + \end{itemize} + \end{block} +\end{frame} + +\egroup diff --git a/vorlesungen/slides/10/matrix-dgl.tex b/vorlesungen/slides/10/matrix-dgl.tex new file mode 100644 index 0000000..ae68fb1 --- /dev/null +++ b/vorlesungen/slides/10/matrix-dgl.tex @@ -0,0 +1,83 @@ +% +% matrix-dgl.tex -- Matrix-Differentialgleichungen +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{1.~Ordnung mit Skalaren} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \begin{block}{Aufgabe} + Sei $a, x(t), x_0 \in \mathbb R$, + \[ + \dot x(t) = ax(t), + \quad + x(0) = x_0 + \] + \end{block} + \begin{block}{Potenzreihen-Ansatz} + Sei $a_k \in \mathbb R$, + \[ + x(t) = a_0 + a_1t + a_2t^2 + a_3t^3 \ldots + \] + \end{block} + \end{column} + \begin{column}{0.48\textwidth} + \begin{block}{Lösung} + Einsetzen in DGL, Koeffizientenvergleich liefert + \[ x(t) = \exp(at) \, x_0, \] + wobei + \begin{align*} + \exp(at) + &= 1 + at + \frac{a^2t^2}{2} + \frac{a^3t^3}{3!} + \ldots \\ + &{\color{gray}(= e^{at}.)} + \end{align*} + \end{block} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{1.~Ordnung mit Matrizen} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \begin{block}{Aufgabe} + Sei $A \in M_n$, $x(t), x_0 \in \mathbb R^n$, + \[ + \dot x(t) = Ax(t), + \quad + x(0) = x_0 + \] + \end{block} + \begin{block}{Potenzreihen-Ansatz} + Sei $A_k \in \mathbb M_n$, + \[ + x(t) = A_0 + A_1t + A_2t^2 + A_3t^3 \ldots + \] + \end{block} + \end{column} + \begin{column}{0.48\textwidth} + \begin{block}{Lösung} + Einsetzen in DGL, Koeffizientenvergleich liefert + \[ x(t) = \exp(At) \, x_0, \] + wobei + \[ + \exp(At) + = 1 + At + \frac{A^2t^2}{2} + \frac{A^3t^3}{3!} + \ldots + \] + \end{block} + \end{column} + \end{columns} +\end{frame} + +\egroup diff --git a/vorlesungen/slides/10/n-zu-1.tex b/vorlesungen/slides/10/n-zu-1.tex new file mode 100644 index 0000000..09475ad --- /dev/null +++ b/vorlesungen/slides/10/n-zu-1.tex @@ -0,0 +1,63 @@ +% +% n-zu-1.tex -- Umwandlend einer DGL n-ter Ordnung in ein System 1. Ordnung +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + %\frametitle{Reicht $1.$ Ordnung?} + %\vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \uncover<1->{ + \begin{block}{Beispiel: DGL 3.~Ordnung} \vspace*{-1ex} + \begin{align*} + x^{(3)} + a_2 \ddot x + a_1 \dot x + a_0 x = 0 \\ + \Rightarrow + x^{(3)} = -a_2 \ddot x - a_1 \dot x - a_0 x + \end{align*} + \end{block} + } + \uncover<2->{ + \begin{block}{Ziel: Nur noch 1.~Ableitungen} + Einführen neuer Variablen: + \begin{align*} + x_0 &\coloneqq x & + x_1 &\coloneqq \dot x & + x_2 &\coloneqq \ddot x + \end{align*} + System von Gleichungen 1.~Ordnung + \begin{align*} + \dot x_0 &= x_1 \\ + \dot x_1 &= x_2 \\ + \dot x_2 &= -a_2 x_2 - a_1 x_1 - a_0 x_0 + \end{align*} + \end{block} + } + \end{column} + \uncover<3->{ + \begin{column}{0.48\textwidth} + \begin{block}{Als Vektor-Gleichung} \vspace*{-1ex} + \begin{align*} + \frac{d}{dt} + \begin{pmatrix} x_0 \\ x_1 \\ x_2 \end{pmatrix} + = \begin{pmatrix} + 0 & 1 & 0 \\ + 0 & 0 & 1 \\ + -a_0 & -a_1 & -a_2 + \end{pmatrix} + \begin{pmatrix} x_0 \\ x_1 \\ x_2 \end{pmatrix} + \end{align*} + + \uncover<4->{Geht für jede lineare Differentialgleichung!} + + \end{block} + \end{column} + } + \end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/10/potenzreihenmethode.tex b/vorlesungen/slides/10/potenzreihenmethode.tex new file mode 100644 index 0000000..1715134 --- /dev/null +++ b/vorlesungen/slides/10/potenzreihenmethode.tex @@ -0,0 +1,91 @@ +% +% potenzreihenmethode.tex +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Bearbeitet durch Roy Seitz +% +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Potenzreihenmethode} +\vspace{-15pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Lineare Differentialgleichung} +\begin{align*} +x'&=ax&&\Rightarrow&x'-ax&=0 +\\ +x(0)&=C +\end{align*} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<2->{% +\begin{block}{Potenzreihenansatz} +\begin{align*} +x(t) +&= +a_0+ a_1t + a_2t^2 + \dots +\\ +x(0)&=a_0=C +\end{align*} +\end{block}} +\end{column} +\end{columns} +\uncover<3->{% +\begin{block}{Lösung} +\[ +\arraycolsep=1.4pt +\begin{array}{rcrcrcrcrcr} +\uncover<3->{ x'(t)} + \uncover<5->{ + &=&\phantom{(} a_1\phantom{\mathstrut-aa_0)} + &+& 2a_2\phantom{\mathstrut-aa_1)}t + &+& 3a_3\phantom{\mathstrut-aa_2)}t^2 + &+& 4a_4\phantom{\mathstrut-aa_3)}t^3 + &+& \dots}\\ +\uncover<3->{-ax(t)} + \uncover<6->{ + &=&\mathstrut-aa_0 \phantom{)} + &-& aa_1\phantom{)}t + &-& aa_2\phantom{)}t^2 + &-& aa_3\phantom{)}t^3 + &-& \dots}\\[2pt] +\hline +\\[-10pt] +\uncover<3->{0} + \uncover<7->{ + &=&(a_1-aa_0) + &+& (2a_2-aa_1)t + &+& (3a_3-aa_2)t^2 + &+& (4a_4-aa_3)t^3 + &+& \dots}\\ +\end{array} +\] +\begin{align*} +\uncover<4->{ +a_0&=C}\uncover<8->{, +\quad +a_1=aa_0=aC}\uncover<9->{, +\quad +a_2=\frac12a^2C}\uncover<10->{, +\quad +a_3=\frac16a^3C}\uncover<11->{, +\ldots, +a_k=\frac1{k!}a^kC} +\hspace{3cm} +\\ +\uncover<4->{ +\Rightarrow x(t) &= C}\uncover<8->{+Cat}\uncover<9->{ + C\frac12(at)^2} +\uncover<10->{ + C \frac16(at)^3} +\uncover<11->{ + \dots+C\frac{1}{k!}(at)^k+\dots} +\ifthenelse{\boolean{presentation}}{ +\only<12>{ += +C\sum_{k=0}^\infty \frac{(at)^k}{k!}} +}{} +\uncover<13->{= +C\exp(at)} +\end{align*} +\end{block}} +\end{frame} diff --git a/vorlesungen/slides/10/repetition.tex b/vorlesungen/slides/10/repetition.tex new file mode 100644 index 0000000..7c007ca --- /dev/null +++ b/vorlesungen/slides/10/repetition.tex @@ -0,0 +1,119 @@ +% +% repetition.tex -- Repetition Lie-Gruppen und -Algebren +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Repetition} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \uncover<1->{ + \begin{block}{Lie-Gruppe} + Kontinuierliche Matrix-Gruppe $G$ mit bestimmter Eigenschaft + \end{block} + } + \uncover<3->{ + \begin{block}{Ein-Parameter-Untergruppe} + Darstellung der Lie-Gruppe $G$: + \[ + \gamma \colon \mathbb R \to G + : \quad + t \mapsto \gamma(t), + \] + so dass + \[ \gamma(s + t) = \gamma(t) \gamma(s). \] + \end{block} + } + \end{column} + \begin{column}{0.48\textwidth} + \uncover<2->{ + \begin{block}{Beispiel} + Volumen-erhaltende Abbildungen: + \[ \gSL2R= \{A \in M_2 \,|\, \det(A) = 1\} .\] + \begin{align*} + \uncover<4->{ \gamma_x(t) } + & + \uncover<4->{= \begin{pmatrix} 1 & t \\ 0 & 1 \end{pmatrix} } + \\ + \uncover<5->{ \gamma_y(t) } + & + \uncover<5->{= \begin{pmatrix} 1 & 0 \\ t & 1 \end{pmatrix} } + \\ + \uncover<6->{ \gamma_h(t)} + & + \uncover<6->{= \begin{pmatrix} e^t & 0 \\ 0 & e^{-t} \end{pmatrix} } + \end{align*} + \end{block} + } + \end{column} + \end{columns} +\end{frame} + + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Repetition} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \uncover<1->{ + \begin{block}{Lie-Algebra aus Lie-Gruppe} + Ableitungen der Ein-Parameter-Untergruppen: + \begin{align*} + G &\to \mathcal A \\ + \gamma &\mapsto \dot\gamma(0) + \end{align*} + \uncover<3->{ + Lie-Klammer als Produkt: + \[ [A, B] = AB - BA \in \mathcal A \] + } + \end{block} + } + \uncover<7->{\vspace*{-4ex} + \begin{block}{Lie-Gruppe aus Lie-Algebra} + Lösung der Differentialgleichung: + \[ + \dot\gamma(t) = A\gamma(t) + \quad \text{mit} \quad + A = \dot\gamma(0) + \] + \[ + \Rightarrow \gamma(t) = \exp(At) + \] + \end{block} + } + \end{column} + \begin{column}{0.48\textwidth} + \uncover<2->{ + \begin{block}{Beispiel} + Lie-Algebra von \gSL2R: + \[ \asl2R = \{ A \in M_2 \,|\, \Spur(A) = 0 \} \] + \end{block} + } + \begin{align*} + \uncover<4->{ X(t) } + & + \uncover<4->{= \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} } + \\ + \uncover<5->{ Y(t) } + & + \uncover<5->{= \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix} } + \\ + \uncover<6->{ H(t) } + & + \uncover<6->{= \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} } + \end{align*} + + \end{column} + \end{columns} +\end{frame} + +\egroup diff --git a/vorlesungen/slides/10/so2.tex b/vorlesungen/slides/10/so2.tex new file mode 100644 index 0000000..dcbcdc8 --- /dev/null +++ b/vorlesungen/slides/10/so2.tex @@ -0,0 +1,141 @@ +% +% so2.tex -- Illustration of so(2) -> SO(2) +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Von der Lie-Gruppe zur -Algebra} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \uncover<1->{ + \begin{block}{Lie-Gruppe} + Darstellung von \gSO2: + \begin{align*} + \mathbb R + &\to + \gSO2 + \\ + t + &\mapsto + \begin{pmatrix} + \cos t & -\sin t \\ + \sin t & \phantom-\cos t + \end{pmatrix} + \end{align*} + \end{block} + } + \uncover<2->{ + \begin{block}{Ableitung am neutralen Element} + \begin{align*} + \frac{d}{d t} + & + \left. + \begin{pmatrix} + \cos t & -\sin t \\ + \sin t & \phantom-\cos t + \end{pmatrix} + \right|_{ t = 0} + \\ + = + & + \begin{pmatrix} -\sin0 & -\cos0 \\ \phantom-\cos0 & -\sin0 \end{pmatrix} + = + \begin{pmatrix} 0 & -1 \\ 1 & \phantom-0 \end{pmatrix} + \end{align*} + \end{block} + } + \end{column} + \begin{column}{0.48\textwidth} + \uncover<3->{ + \begin{block}{Lie-Algebra} + Darstellung von \aso2: + \begin{align*} + \mathbb R + &\to + \aso2 + \\ + t + &\mapsto + \begin{pmatrix} + 0 & -t \\ + t & \phantom-0 + \end{pmatrix} + \end{align*} + \end{block} + } + \end{column} + \end{columns} +\end{frame} + + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Von der Lie-Algebra zur -Gruppe} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \uncover<1->{ + \begin{block}{Differentialgleichung} + Gegeben: + \[ + J + = + \dot\gamma(0) = \begin{pmatrix} 0 & -1 \\ 1 & \phantom-0 \end{pmatrix} + \] + Gesucht: + \[ \dot \gamma (t) = J \gamma(t) \qquad \gamma \in \gSO2 \] + \[ \Rightarrow \gamma(t) = \exp(Jt) \gamma(0) = \exp(Jt) \] + \end{block} + } + \end{column} + \begin{column}{0.48\textwidth} + \uncover<2->{ + \begin{block}{Lie-Algebra} + Potenzen von $J$: + \begin{align*} + J^2 &= -I & + J^3 &= -J & + J^4 &= I & + \ldots + \end{align*} + \end{block} + } + \end{column} + \end{columns} +\uncover<3->{ + Folglich: + \begin{align*} + \exp(Jt) + &= I + Jt + + J^2\frac{t^2}{2!} + + J^3\frac{t^3}{3!} + + J^4\frac{t^4}{4!} + + J^5\frac{t^5}{5!} + + \ldots \\ + &= \begin{pmatrix} + \vspace*{3pt} + 1 - \frac{t^2}{2} + \frac{t^4}{4!} - \ldots + & + -t + \frac{t^3}{3!} - \frac{t^5}{5!} + \ldots + \\ + t - \frac{t^3}{3!} + \frac{t^5}{5!} - \ldots + & + 1 - \frac{t^2}{2!} + \frac{t^4}{4!} - \ldots + \end{pmatrix} + = + \begin{pmatrix} + \cos t & -\sin t \\ + \sin t & \phantom-\cos t + \end{pmatrix} + \end{align*} + } +\end{frame} +\egroup diff --git a/vorlesungen/slides/10/taylor.tex b/vorlesungen/slides/10/taylor.tex new file mode 100644 index 0000000..8c71965 --- /dev/null +++ b/vorlesungen/slides/10/taylor.tex @@ -0,0 +1,216 @@ +% +% taylor.tex -- Repetition Taylot-Reihen +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Beispiel $\sin(x)$} + \ifthenelse{\boolean{presentation}}{\vspace{-20pt}}{\vspace{-8pt}} + \begin{block}{Taylor-Approximationen von $\sin(x)$} + \begin{align*} + p_{ + \only<1>{0} + \only<2>{1} + \only<3>{2} + \only<4>{3} + \only<5>{4} + \only<6>{5} + \only<7->{n} + }(x) + &= + \uncover<1->{0} + \uncover<2->{+ x} + \uncover<3->{+ 0 \frac{x^2}{2!}} + \uncover<4->{- 1 \frac{x^3}{3!}} + \uncover<5->{+ 0 \frac{x^4}{4!}} + \uncover<6->{+ 1 \frac{x^5}{5!}} + \uncover<7->{+ \ldots} + \uncover<8->{ + = \sum_{k=0}^{n/2} (-1)^{2k + 1}\frac{x^{2k+1}}{(2k+1)!} + } + \end{align*} + \end{block} + \begin{center} + \begin{tikzpicture}[>=latex,thick,scale=1.3] + \draw[->] (-5.0, 0.0) -- (5.0,0.0) coordinate[label=$x$]; + \draw[->] ( 0.0,-1.5) -- (0.0,1.5); + \clip (-5,-1.5) rectangle (5,1.5); + \draw[domain=-4:4, samples=50, smooth, blue] + plot ({\x}, {sin(180/3.1415968*\x)}) + node[above right] {$\sin(x)$}; + \uncover<1|handout:0>{ + \draw[domain=-4:4, samples=2, smooth, red] + plot ({\x}, {0}) + node[above right] {$p_0(x)$};} + \uncover<2|handout:0>{ + \draw[domain=-1.5:1.5, samples=2, smooth, red] + plot ({\x}, {\x}) + node[below right] {$p_1(x)$};} + \uncover<3|handout:0>{ + \draw[domain=-1.5:1.5, samples=2, smooth, red] + plot ({\x}, {\x}) + node[below right] {$p_2(x)$};} + \uncover<4>{ + \draw[domain=-3:3, samples=50, smooth, red] + plot ({\x}, {\x - \x*\x*\x/6}) + node[above right] {$p_3(x)$};} + \uncover<5|handout:0>{ + \draw[domain=-3:3, samples=50, smooth, red] + plot ({\x}, {\x - \x*\x*\x/6}) + node[above right] {$p_4(x)$};} + \uncover<6|handout:0>{ + \draw[domain=-3.9:3.9, samples=50, smooth, red] + plot ({\x}, {\x - \x*\x*\x/6 + \x*\x*\x*\x*\x/120}) + node[below right] {$p_5(x)$};} + \uncover<7|handout:0>{ + \draw[domain=-3.9:3.9, samples=50, smooth, red] + plot ({\x}, {\x - \x*\x*\x/6 + \x*\x*\x*\x*\x/120}) + node[below right] {$p_6(x)$};} + \uncover<8-|handout:0>{ + \draw[domain=-4:4, samples=50, smooth, red] + plot ({\x}, {\x - \x*\x*\x/6 + \x*\x*\x*\x*\x/120 - + \x*\x*\x*\x*\x*\x*\x/5040}) + node[above right] {$p_7(x)$};} + \end{tikzpicture} + \end{center} +\end{frame} + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Taylor-Reihen} + \ifthenelse{\boolean{presentation}}{\vspace{-20pt}}{\vspace{-8pt}} + \begin{block}{Polynom-Approximationen von $f(t)$} + \begin{align*} + p_n(t) + &= + f(0) + \uncover<2->{ + f' (0) t } + \uncover<3->{ + f''(0)\frac{t^2}{2} } + \uncover<4->{ + \ldots + f^{(n)}(0) \frac{t^n}{n!} } + \uncover<5->{ = \sum_{k=0}^{n} f^{(k)} \frac{t^k}{k!} } + \end{align*} + \end{block} + \uncover<6->{ + \begin{block}{Erste $n$ Ableitungen von $f(0)$ und $p_n(0)$ sind gleich!}} + \begin{align*} + \uncover<6->{ p'_n(t) } + & + \uncover<7->{ + = f'(0) + + f''(0)t + + \mathcal O(t^2) + } + &\uncover<8->{\Rightarrow}&& + \uncover<8->{p'_n(0) = f'(0)} + \\ + \uncover<9->{ p''_n(t) } + & + \uncover<10->{ + = f''(0) + + \mathcal O(t) + } + &\uncover<11->{\Rightarrow}&& + \uncover<11->{ p''_n(0) = f''(0) } + \end{align*} + \end{block} + \uncover<12->{ + \begin{block}{Für alle praktisch relevanten Funktionen $f(t)$ gilt:} + \begin{align*} + \lim_{n\to \infty} p_n(t) + = + f(t) + \end{align*} + \end{block} + } +\end{frame} + + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Beispiel $e^t$} + \ifthenelse{\boolean{presentation}}{\vspace{-20pt}}{\vspace{-8pt}} + \begin{block}{Taylor-Approximationen von $e^{at}$} + \begin{align*} + p_{ + \only<1>{0} + \only<2>{1} + \only<3>{2} + \only<4>{3} + \only<5>{4} + \only<6>{5} + \only<7->{n} + }(t) + &= + 1 + \uncover<2->{+ a t} + \uncover<3->{+ a^2 \frac{t^2}{2}} + \uncover<4->{+ a^3 \frac{t^3}{3!}} + \uncover<5->{+ a^4 \frac{t^4}{4!}} + \uncover<6->{+ a^5 \frac{t^5}{5!}} + \uncover<7->{+ a^6 \frac{t^6}{6!}} + \uncover<8->{+ \ldots + = \sum_{k=0}^{n} a^k \frac{t^k}{k!}} + \\ + & + \uncover<9->{= \exp(at)} + \end{align*} + \end{block} + \begin{center} + \begin{tikzpicture}[>=latex,thick,scale=1.3] + \draw[->] (-4.0, 0.0) -- (4.0,0.0) coordinate[label=$t$]; + \draw[->] ( 0.0,-0.5) -- (0.0,2.5); + \clip (-3,-0.5) rectangle (3,2.5); + \draw[domain=-4:1, samples=50, smooth, blue] + plot ({\x}, {exp(\x)}) + node[above right] {$\exp(t)$}; + \uncover<1|handout:0>{ + \draw[domain=-4:4, samples=12, smooth, red] + plot ({\x}, {1}) + node[below right] {$p_0(t)$};} + \uncover<2|handout:0>{ + \draw[domain=-4:1.5, samples=10, smooth, red] + plot ({\x}, {1 + \x}) + node[below right] {$p_1(t)$};} + \uncover<3|handout:0>{ + \draw[domain=-4:1, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2}) + node[below right] {$p_2(t)$};} + \uncover<4>{ + \draw[domain=-4:1, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6}) + node[below right] {$p_3(t)$};} + \uncover<5|handout:0>{ + \draw[domain=-4:0.9, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24}) + node[below left] {$p_4(t)$};} + \uncover<6|handout:0>{ + \draw[domain=-4:0.9, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + + \x*\x*\x*\x*\x/120}) + node[below left] {$p_5(t)$};} + \uncover<7|handout:0>{ + \draw[domain=-4:0.9, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + + \x*\x*\x*\x*\x/120 + + \x*\x*\x*\x*\x*\x/720}) + node[below left] {$p_6(t)$};} + \uncover<8-|handout:0>{ + \draw[domain=-4:0.9, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + + \x*\x*\x*\x*\x/120 + + \x*\x*\x*\x*\x*\x/720 + + \x*\x*\x*\x*\x*\x*\x/5040}) + node[below left] {$p_7(t)$};} + \end{tikzpicture} + \end{center} +\end{frame} + +\egroup diff --git a/vorlesungen/slides/10/template.tex b/vorlesungen/slides/10/template.tex new file mode 100644 index 0000000..50f0a3b --- /dev/null +++ b/vorlesungen/slides/10/template.tex @@ -0,0 +1,21 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Template} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\end{column} +\begin{column}{0.48\textwidth} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/10/vektorfelder.mp b/vorlesungen/slides/10/vektorfelder.mp new file mode 100644 index 0000000..e63b2d5 --- /dev/null +++ b/vorlesungen/slides/10/vektorfelder.mp @@ -0,0 +1,361 @@ +% +% Stroemungsfelder linearer Differentialgleichungen +% +% (c) 2015 Prof Dr Andreas Mueller, Hochschule Rapperswil +% 2021-04-14, Roy Seitz, Copied for SeminarMatrizen +% +verbatimtex +\documentclass{book} +\usepackage{times} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{amsfonts} +\usepackage{txfonts} +\begin{document} +etex; + +input TEX; + +TEXPRE("%&latex" & char(10) & +"\documentclass{book}" & +"\usepackage{times}" & +"\usepackage{amsmath}" & +"\usepackage{amssymb}" & +"\usepackage{amsfonts}" & +"\usepackage{txfonts}" & +"\begin{document}"); +TEXPOST("\end{document}"); + +% +% Vektorfeld in der Ebene mit Lösungskurve +% so(2) +% +beginfig(1) + +% Scaling parameter +numeric unit; +unit := 150; + +% Some points +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +% % Draw circles +% for x = 0.2 step 0.2 until 1.4: +% path p; +% p = (x,0); +% for a = 5 step 5 until 355: +% p := p--(x*cosd(a), x*sind(a)); +% endfor; +% p := p--cycle; +% pickup pencircle scaled 1pt; +% draw p scaled unit withcolor red; +% endfor; + +% Define DGL +def dglField(expr x, y) = + %(-0.5 * (x + y), -0.5 * (y - x)) + (-y, x) +enddef; + +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; + endfor; +endfor; + +endfig; + +% +% Vektorfeld in der Ebene mit Lösungskurve +% Euler(1) +% +beginfig(2) + +numeric unit; +unit := 150; + +z0 = ( 0, 0); +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +def dglField(expr x, y) = + (-y, x) +enddef; + +def dglFieldp(expr z) = + dglField(xpart z, ypart z) +enddef; + +def curve(expr z, l, s) = + path p; + p := z; + for t = 0 step 1 until l: + p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p))); + endfor; + draw p scaled unit withcolor red; +enddef; + +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; +curve(A, 0, 1); + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; + endfor; +endfor; + +endfig; + +% +% Vektorfeld in der Ebene mit Lösungskurve +% Euler(2) +% +beginfig(3) + +numeric unit; +unit := 150; + +z0 = ( 0, 0); +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +def dglField(expr x, y) = + (-y, x) +enddef; + +def dglFieldp(expr z) = + dglField(xpart z, ypart z) +enddef; + +def curve(expr z, l, s) = + path p; + p := z; + for t = 0 step 1 until l: + p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p))); + endfor; + draw p scaled unit withcolor red; +enddef; + +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; +curve(A, 1, 0.5); + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; + endfor; +endfor; + +endfig; + +% +% Vektorfeld in der Ebene mit Lösungskurve +% Euler(3) +% +beginfig(4) + +numeric unit; +unit := 150; + +z0 = ( 0, 0); +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +def dglField(expr x, y) = + (-y, x) +enddef; + +def dglFieldp(expr z) = + dglField(xpart z, ypart z) +enddef; + +def curve(expr z, l, s) = + path p; + p := z; + for t = 0 step 1 until l: + p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p))); + endfor; + draw p scaled unit withcolor red; +enddef; + +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; +curve(A, 3, 0.25); + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; + endfor; +endfor; + +endfig; + +% +% Vektorfeld in der Ebene mit Lösungskurve +% Euler(4) +% +beginfig(5) + +numeric unit; +unit := 150; + +z0 = ( 0, 0); +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +def dglField(expr x, y) = + (-y, x) +enddef; + +def dglFieldp(expr z) = + dglField(xpart z, ypart z) +enddef; + +def curve(expr z, l, s) = + path p; + p := z; + for t = 0 step 1 until l: + p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p))); + endfor; + draw p scaled unit withcolor red; +enddef; + +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; +curve(A, 7, 0.125); + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; + endfor; +endfor; + +endfig; + +% +% Vektorfeld in der Ebene mit Lösungskurve +% Euler(5) +% +beginfig(6) + +numeric unit; +unit := 150; + +z0 = ( 0, 0); +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +def dglField(expr x, y) = + (-y, x) +enddef; + +def dglFieldp(expr z) = + dglField(xpart z, ypart z) +enddef; + +def curve(expr z, l, s) = + path p; + p := z; + for t = 0 step 1 until l: + p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p))); + endfor; + draw p scaled unit withcolor red; +enddef; + +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; +curve(A, 99, 0.01); + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; + endfor; +endfor; + +endfig; + + +end; diff --git a/vorlesungen/slides/10/vektorfelder.tex b/vorlesungen/slides/10/vektorfelder.tex new file mode 100644 index 0000000..3ba7cda --- /dev/null +++ b/vorlesungen/slides/10/vektorfelder.tex @@ -0,0 +1,82 @@ +% +% iterativ.tex -- Iterative Approximation in \dot x = J x +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Als Strömungsfeld} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \vfil + \only<1|handout:0>{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-1.pdf} + } + \only<2|handout:0>{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-2.pdf} + } + \only<3>{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-3.pdf} + } + \only<4|handout:0>{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-4.pdf} + } + \only<5|handout:0>{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-5.pdf} + } + \only<6-|handout:0>{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-6.pdf} + } + \vfil + \end{column} + \begin{column}{0.48\textwidth} + \begin{block}{Differentialgleichung} + \[ + \dot x(t) = J x(t) + \quad + J = \begin{pmatrix} 0 & -1 \\ 1 & \phantom-0 \end{pmatrix} + \quad + x_0 = \begin{pmatrix} 1 \\ 0 \end{pmatrix} + \] + \end{block} + + \only<2|handout:0>{ + Nach einem Schritt der Länge $t$: + \[ + x(t) = x_0 + \dot x t = x_0 + Jx_0t = (1 + Jt)x_0 + \] + } + + \only<3|handout:0>{ + Nach zwei Schritten der Länge $t/2$: + \[ + x(t) = \left(1 + \frac{Jt}{2}\right)^2x_0 + \] + } + + \only<4->{ + Nach n Schritten der Länge $t/n$: + \[ + x(t) = \left(1 + \frac{Jt}{n}\right)^nx_0 + \] + } + \only<6->{ + \[ + \lim_{n\to\infty}\left(1 + \frac{At}{n}\right)^n = \exp(At) + \] + } + \end{column} + \end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/4/Makefile.inc b/vorlesungen/slides/4/Makefile.inc index 6616f56..1ab27fa 100644 --- a/vorlesungen/slides/4/Makefile.inc +++ b/vorlesungen/slides/4/Makefile.inc @@ -1,26 +1,36 @@ - -# -# Makefile.inc -- additional depencencies -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -chapter4 = \ - ../slides/4/ggt.tex \ - ../slides/4/euklidmatrix.tex \ - ../slides/4/euklidbeispiel.tex \ - ../slides/4/euklidtabelle.tex \ - ../slides/4/fp.tex \ - ../slides/4/division.tex \ - ../slides/4/gauss.tex \ - ../slides/4/dh.tex \ - ../slides/4/divisionpoly.tex \ - ../slides/4/euklidpoly.tex \ - ../slides/4/polynomefp.tex \ - ../slides/4/schieberegister.tex \ - ../slides/4/charakteristik.tex \ - ../slides/4/char2.tex \ - ../slides/4/frobenius.tex \ - ../slides/4/qundr.tex \ - ../slides/4/alpha.tex \ - ../slides/4/chapter.tex - +
+#
+# Makefile.inc -- additional depencencies
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+chapter4 = \
+ ../slides/4/ggt.tex \
+ ../slides/4/euklidmatrix.tex \
+ ../slides/4/euklidbeispiel.tex \
+ ../slides/4/euklidtabelle.tex \
+ ../slides/4/fp.tex \
+ ../slides/4/division.tex \
+ ../slides/4/gauss.tex \
+ ../slides/4/dh.tex \
+ ../slides/4/divisionpoly.tex \
+ ../slides/4/euklidpoly.tex \
+ ../slides/4/polynomefp.tex \
+ ../slides/4/schieberegister.tex \
+ ../slides/4/charakteristik.tex \
+ ../slides/4/char2.tex \
+ ../slides/4/frobenius.tex \
+ ../slides/4/qundr.tex \
+ ../slides/4/alpha.tex \
+ ../slides/4/galois/erweiterung.tex \
+ ../slides/4/galois/automorphismus.tex \
+ ../slides/4/galois/konstruktion.tex \
+ ../slides/4/galois/wuerfel.tex \
+ ../slides/4/galois/winkeldreiteilung.tex \
+ ../slides/4/galois/quadratur.tex \
+ ../slides/4/galois/radikale.tex \
+ ../slides/4/galois/aufloesbarkeit.tex \
+ ../slides/4/galois/sn.tex \
+ ../slides/4/chapter.tex
+
+
diff --git a/vorlesungen/slides/4/chapter.tex b/vorlesungen/slides/4/chapter.tex index 6872018..3015e7c 100644 --- a/vorlesungen/slides/4/chapter.tex +++ b/vorlesungen/slides/4/chapter.tex @@ -1,22 +1,31 @@ -% -% chapter.tex -% -% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswi -% -\folie{4/ggt.tex} -\folie{4/euklidmatrix.tex} -\folie{4/euklidbeispiel.tex} -\folie{4/euklidtabelle.tex} -\folie{4/fp.tex} -\folie{4/division.tex} -\folie{4/gauss.tex} -\folie{4/dh.tex} -\folie{4/divisionpoly.tex} -\folie{4/euklidpoly.tex} -\folie{4/polynomefp.tex} -\folie{4/alpha.tex} -\folie{4/schieberegister.tex} -\folie{4/charakteristik.tex} -\folie{4/char2.tex} -\folie{4/frobenius.tex} -\folie{4/qundr.tex} +%
+% chapter.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswi
+%
+\folie{4/ggt.tex}
+\folie{4/euklidmatrix.tex}
+\folie{4/euklidbeispiel.tex}
+\folie{4/euklidtabelle.tex}
+\folie{4/fp.tex}
+\folie{4/division.tex}
+\folie{4/gauss.tex}
+\folie{4/dh.tex}
+\folie{4/divisionpoly.tex}
+\folie{4/euklidpoly.tex}
+\folie{4/polynomefp.tex}
+\folie{4/alpha.tex}
+\folie{4/schieberegister.tex}
+\folie{4/charakteristik.tex}
+\folie{4/char2.tex}
+\folie{4/frobenius.tex}
+\folie{4/qundr.tex}
+\folie{4/galois/erweiterung.tex}
+\folie{4/galois/automorphismus.tex}
+\folie{4/galois/konstruktion.tex}
+\folie{4/galois/wuerfel.tex}
+\folie{4/galois/winkeldreiteilung.tex}
+\folie{4/galois/quadratur.tex}
+\folie{4/galois/radikale.tex}
+\folie{4/galois/aufloesbarkeit.tex}
+\folie{4/galois/sn.tex}
diff --git a/vorlesungen/slides/4/galois/aufloesbarkeit.tex b/vorlesungen/slides/4/galois/aufloesbarkeit.tex new file mode 100644 index 0000000..3d52b00 --- /dev/null +++ b/vorlesungen/slides/4/galois/aufloesbarkeit.tex @@ -0,0 +1,120 @@ +%
+% aufloesbarkeit.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Auflösbarkeit}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\uncover<2->{%
+\begin{block}{Radikalerweiterung}
+Automorphismen $f\in \operatorname{Gal}(\Bbbk(\alpha)/\Bbbk)$
+einer Radikalerweiterung
+\[
+\Bbbk \subset \Bbbk(\alpha)
+\]
+sind festgelegt durch Wahl von $f(\alpha)$.
+
+\begin{itemize}
+\item<3-> Warum: Alle $f(\alpha^k)$ sind auch festgelegt
+\item<4-> $f(\alpha)$ muss eine andere Nullstelle des Minimalpolynoms sein
+\end{itemize}
+
+\end{block}}
+\uncover<8->{%
+\begin{block}{Irreduzibles Polynom $m(X)\in\mathbb{Q}[X]$}
+$\mathbb{Q}\subset \Bbbk$,
+$n$ verschiedene Nullstellen $\mathbb{C}$:
+\[
+\uncover<9->{
+\operatorname{Gal}(\Bbbk/\mathbb{Q})
+\cong
+S_n}
+\uncover<10->{
+\quad
+\text{auflösbar?}}
+\]
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\begin{block}{\uncover<5->{Galois-Gruppen}}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\def\s{1.2}
+
+\uncover<2->{
+\fill[color=blue!20] (-1.1,-0.3) rectangle (0.3,{5*\s+0.3});
+\node[color=blue] at (-0.7,{2.5*\s}) [rotate=90] {Radikalerweiterungen};
+}
+
+\node at (0,0) {$\mathbb{Q}$};
+\node at (0,{1*\s}) {$E_1$};
+\node at (0,{2*\s}) {$E_2$};
+\node at (0,{3*\s}) {$E_3$};
+\node at (0,{4*\s}) {$\vdots\mathstrut$};
+\node at (0,{5*\s}) {$\Bbbk$};
+\draw[shorten >= 0.3cm,shorten <= 0.3cm] (0,{0*\s}) -- (0,{1*\s});
+\draw[shorten >= 0.3cm,shorten <= 0.3cm] (0,{1*\s}) -- (0,{2*\s});
+\draw[shorten >= 0.3cm,shorten <= 0.3cm] (0,{2*\s}) -- (0,{3*\s});
+\draw[shorten >= 0.3cm,shorten <= 0.3cm] (0,{3*\s}) -- (0,{4*\s});
+\draw[shorten >= 0.3cm,shorten <= 0.3cm] (0,{4*\s}) -- (0,{5*\s});
+
+\begin{scope}[xshift=0.5cm]
+\uncover<7->{
+\fill[color=red!20] (0,{0*\s-0.3}) rectangle (4.8,{5*\s+0.3});
+\node[color=red] at (4.5,{2.5*\s}) [rotate=90] {Auflösung der Galois-Gruppe};
+}
+\uncover<5->{
+\node at (0,{0*\s}) [right] {$\operatorname{Gal}(\Bbbk/\mathbb{Q})$};
+\node at (0,{1*\s}) [right] {$\operatorname{Gal}(\Bbbk/E_1)$};
+\node at (0,{2*\s}) [right] {$\operatorname{Gal}(\Bbbk/E_2)$};
+\node at (0,{3*\s}) [right] {$\operatorname{Gal}(\Bbbk/E_3)$};
+\node at (1,{4*\s}) {$\vdots\mathstrut$};
+\node at (0,{5*\s}) [right] {$\operatorname{Gal}(\Bbbk/\Bbbk)$};
+\node at (1,{0.5*\s}) {$\cap\mathstrut$};
+\node at (1,{1.5*\s}) {$\cap\mathstrut$};
+\node at (1,{2.5*\s}) {$\cap\mathstrut$};
+\node at (1,{3.5*\s}) {$\cap\mathstrut$};
+\node at (1,{4.5*\s}) {$\cap\mathstrut$};
+}
+
+\uncover<6->{
+\begin{scope}[xshift=2.5cm]
+\node at (0,{0*\s}) {$G_n$};
+\node at (0,{1*\s}) {$G_{n-1}$};
+\node at (0,{2*\s}) {$G_{n-2}$};
+\node at (0,{3*\s}) {$G_{n-3}$};
+\node at (0,{5*\s}) {$G_0=\{e\}$};
+\node at (0,{0.5*\s}) {$\cap\mathstrut$};
+\node at (0,{1.5*\s}) {$\cap\mathstrut$};
+\node at (0,{2.5*\s}) {$\cap\mathstrut$};
+\node at (0,{3.5*\s}) {$\cap\mathstrut$};
+\node at (0,{4.5*\s}) {$\cap\mathstrut$};
+}
+
+\uncover<7->{
+\node[color=red] at (0.2,{0.5*\s+0.1}) [right] {\tiny $G_n/G_{n-1}$};
+\node[color=red] at (0.2,{0.5*\s-0.1}) [right] {\tiny abelsch};
+
+\node[color=red] at (0.2,{1.5*\s+0.1}) [right] {\tiny $G_{n-1}/G_{n-2}$};
+\node[color=red] at (0.2,{1.5*\s-0.1}) [right] {\tiny abelsch};
+
+\node[color=red] at (0.2,{2.5*\s+0.1}) [right] {\tiny $G_{n-2}/G_{n-3}$};
+\node[color=red] at (0.2,{2.5*\s-0.1}) [right] {\tiny abelsch};
+}
+
+\end{scope}
+\end{scope}
+
+
+
+\end{tikzpicture}
+\end{center}
+\end{block}
+\end{column}
+\end{columns}
+\end{frame}
diff --git a/vorlesungen/slides/4/galois/automorphismus.tex b/vorlesungen/slides/4/galois/automorphismus.tex new file mode 100644 index 0000000..e59f9b9 --- /dev/null +++ b/vorlesungen/slides/4/galois/automorphismus.tex @@ -0,0 +1,118 @@ +%
+% automorphismus.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{4pt}
+\setlength{\belowdisplayskip}{4pt}
+\frametitle{Galois-Gruppe}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.40\textwidth}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\def\s{3.0}
+\begin{scope}[xshift=-1.5cm]
+\node at (0,{\s+0.1}) [above] {Körpererweiterung\strut};
+\node at (0,{\s}) {$G$};
+\draw[shorten >= 0.3cm,shorten <= 0.3cm] (0,{-\s}) -- (0,0);
+\draw[shorten >= 0.3cm,shorten <= 0.3cm] (0,{\s}) -- (0,0);
+\node at (0,{-0.5*\s}) [left] {$[F:E]$};
+\node at (0,{0.5*\s}) [left] {$[G:F]$};
+\node at (0,0) {$F$};
+\node at (0,{-\s}) {$E$};
+\end{scope}
+\uncover<3->{
+\begin{scope}[xshift=1.8cm]
+\node at (0,{\s+0.1}) [above] {Gruppe\strut};
+\fill (0,{-\s}) circle[radius=0.06];
+\fill (0,0) circle[radius=0.06];
+\fill (0,{\s}) circle[radius=0.06];
+\draw[shorten >= 0.1cm,shorten <= 0.1cm]
+ (0,{-\s}) to[out=100,in=-100] (0,{\s});
+\draw[shorten >= 0.1cm,shorten <= 0.1cm]
+ (0,{-\s}) to[out=80,in=-80] (0,0);
+\draw[shorten >= 0.1cm,shorten <= 0.1cm]
+ (0,0) to[out=80,in=-80] (0,{\s});
+\node at (-0.6,0) [rotate=90] {$\operatorname{Gal}(G/E)$};
+\node at (0.45,{0.5*\s}) [rotate=90] {$\operatorname{Gal}(G/F)$};
+\node at (0.45,{-0.5*\s}) [rotate=90] {$\operatorname{Gal}(F/E)$};
+\end{scope}
+\draw[->,color=red!20,line width=14pt] (-1.4,{0.6*\s}) -- (1.4,{0.6*\s});
+\node[color=red] at (0,{0.6*\s}) {$\operatorname{Gal}$};
+}
+\uncover<4->{
+\draw[<-,color=blue!20,line width=14pt] (-1.4,{-0.6*\s}) -- (1.4,{-0.6*\s});
+\node[color=blue] at (0,{-0.6*\s}) {$\operatorname{Fix}, F^H$};
+}
+\end{tikzpicture}
+\end{center}
+\end{column}
+\begin{column}{0.56\textwidth}
+\uncover<2->{%
+\begin{block}{Automorphismus}
+\vspace{-10pt}
+\[
+\operatorname{Aut}(F)
+=
+\left\{
+f\colon F\to F
+\left|
+\begin{aligned}
+f(x+y)&=f(x)+f(y)\\
+f(xy)&=f(x)f(y)
+\end{aligned}
+\right.
+\right\}
+\]
+\end{block}}
+\vspace{-10pt}
+\uncover<3->{%
+\begin{block}{Galois-Gruppe}
+Automorphismen, die $E$ festlassen
+\[
+{\color{red}
+\operatorname{Gal}(F/E)
+}
+=
+\left\{
+\varphi\in\operatorname{Aut}(F)\;|\; \varphi(x)=x\forall x\in E
+\right\}
+\]
+\end{block}}
+\vspace{-10pt}
+\uncover<4->{%
+\begin{block}{Fixkörper}
+$H\subset \operatorname{Aut}(F)$:
+\begin{align*}
+{\color{blue}F^H}
+&=
+\{x\in F\;|\; hx = x\forall h\in H\}
+=\operatorname{Fix}(H)
+\end{align*}
+\end{block}}
+\vspace{-13pt}
+\uncover<5->{%
+\begin{block}{Beispiel}
+\begin{itemize}
+\item<6->
+\(
+\operatorname{Gal}(\mathbb{C}/\mathbb{R})
+=
+\{
+\operatorname{id}_{\mathbb{C}},
+\operatorname{conj}\colon z\mapsto\overline{z}
+\}
+\)
+\item<7->
+\(
+\mathbb{C}^{\operatorname{conj}}
+=
+\mathbb{R}
+\)
+\end{itemize}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
diff --git a/vorlesungen/slides/4/galois/erweiterung.tex b/vorlesungen/slides/4/galois/erweiterung.tex new file mode 100644 index 0000000..20b278e --- /dev/null +++ b/vorlesungen/slides/4/galois/erweiterung.tex @@ -0,0 +1,65 @@ +%
+% erweiterung.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Körpererweiterungen}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Körpererweiterung}
+$E,F$ Körper: $E\subset F$
+\end{block}
+\uncover<6->{%
+\begin{block}{Vektorraum}
+$F$ ist ein Vektorraum über $E$
+\end{block}}
+\uncover<7->{%
+\begin{block}{Endliche Körpererweiterung}
+$\dim_E F < \infty$
+\end{block}}
+\uncover<8->{%
+\begin{block}{Adjunktion eines $\alpha$}
+$\Bbbk(\alpha)$ kleinster Körper, der $\Bbbk$ und
+$\alpha$ enthält.
+\end{block}}
+\uncover<9->{%
+\begin{block}{Algebraische Erweiterung}
+$\alpha$ algebraisch über $\Bbbk$, i.~e.~Nullstelle von
+$m(X)\in\Bbbk[X]$
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<2->{%
+\begin{block}{Beispiele}
+\begin{enumerate}
+\item<3->
+$\mathbb{R} \subset \mathbb{R}(i) = \mathbb{C}$
+\item<4->
+$\mathbb{Q}\subset \mathbb{Q}(\sqrt{2})$
+\item<5->
+$\mathbb{Q} \subset \mathbb{Q}(\sqrt{2}) \subset \mathbb{Q}(\sqrt[4]{2})$
+\end{enumerate}
+\end{block}}
+\uncover<7->{%
+\begin{block}{Grad}
+$E\subset F$ heisst Körpererweiterung vom Grad $n$, falls
+\[
+\dim_E F = n =: [F:E]
+\]
+\uncover<8->{%
+Gleichbedeutend: $\deg m(X) = n$}
+\uncover<10->{%
+\[
+E\subset F\subset G
+\Rightarrow
+[G:E] = [G:F]\cdot [F:E]
+\]
+(in unseren Fällen)}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
diff --git a/vorlesungen/slides/4/galois/images/Makefile b/vorlesungen/slides/4/galois/images/Makefile new file mode 100644 index 0000000..fd197ce --- /dev/null +++ b/vorlesungen/slides/4/galois/images/Makefile @@ -0,0 +1,12 @@ +#
+# Makefile
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all: wuerfel2.png wuerfel.png
+
+wuerfel.png: wuerfel.pov common.inc
+ povray +A0.1 -W1080 -H1080 -Owuerfel.png wuerfel.pov
+
+wuerfel2.png: wuerfel2.pov common.inc
+ povray +A0.1 -W1080 -H1080 -Owuerfel2.png wuerfel2.pov
diff --git a/vorlesungen/slides/4/galois/images/common.inc b/vorlesungen/slides/4/galois/images/common.inc new file mode 100644 index 0000000..44ee4c8 --- /dev/null +++ b/vorlesungen/slides/4/galois/images/common.inc @@ -0,0 +1,89 @@ +//
+// common.inc
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+#include "textures.inc"
+#include "stones.inc"
+
+global_settings {
+ assumed_gamma 1
+}
+
+#declare imagescale = 0.133;
+#declare O = <0, 0, 0>;
+#declare E = <1, 1, 1>;
+#declare a = pow(2, 1/3);
+#declare at = 0.02;
+
+camera {
+ location <3, 2, 12>
+ look_at E * (a / 2) * 0.93
+ right x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <11, 20, 16> color White
+ area_light <1,0,0> <0,0,1>, 10, 10
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+#macro wuerfelgitter(A, AT)
+ cylinder { O, <A, 0, 0>, AT }
+ cylinder { O, <0, A, 0>, AT }
+ cylinder { O, <0, 0, A>, AT }
+ cylinder { <A, 0, 0>, <A, A, 0>, AT }
+ cylinder { <A, 0, 0>, <A, 0, A>, AT }
+ cylinder { <0, A, 0>, <A, A, 0>, AT }
+ cylinder { <0, A, 0>, <0, A, A>, AT }
+ cylinder { <0, 0, A>, <A, 0, A>, AT }
+ cylinder { <0, 0, A>, <0, A, A>, AT }
+ cylinder { <A, A, 0>, <A, A, A>, AT }
+ cylinder { <A, 0, A>, <A, A, A>, AT }
+ cylinder { <0, A, A>, <A, A, A>, AT }
+ sphere { <0, 0, 0>, AT }
+ sphere { <A, 0, 0>, AT }
+ sphere { <0, A, 0>, AT }
+ sphere { <0, 0, A>, AT }
+ sphere { <A, A, 0>, AT }
+ sphere { <A, 0, A>, AT }
+ sphere { <0, A, A>, AT }
+ sphere { <A, A, A>, AT }
+#end
+
+#macro wuerfel()
+ union {
+ box { O, E }
+ wuerfelgitter(1, 0.5*at)
+ texture {
+ T_Grnt24
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+ }
+#end
+
+#macro wuerfel2()
+ union {
+ wuerfelgitter(a, at)
+ pigment {
+ color rgb<0.8,0.4,0.4>
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+ }
+#end
diff --git a/vorlesungen/slides/4/galois/images/wuerfel.png b/vorlesungen/slides/4/galois/images/wuerfel.png Binary files differnew file mode 100644 index 0000000..ff6fc14 --- /dev/null +++ b/vorlesungen/slides/4/galois/images/wuerfel.png diff --git a/vorlesungen/slides/4/galois/images/wuerfel.pov b/vorlesungen/slides/4/galois/images/wuerfel.pov new file mode 100644 index 0000000..a0466f3 --- /dev/null +++ b/vorlesungen/slides/4/galois/images/wuerfel.pov @@ -0,0 +1,9 @@ +//
+// wuerfel.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+wuerfel()
+
diff --git a/vorlesungen/slides/4/galois/images/wuerfel2.png b/vorlesungen/slides/4/galois/images/wuerfel2.png Binary files differnew file mode 100644 index 0000000..68919cc --- /dev/null +++ b/vorlesungen/slides/4/galois/images/wuerfel2.png diff --git a/vorlesungen/slides/4/galois/images/wuerfel2.pov b/vorlesungen/slides/4/galois/images/wuerfel2.pov new file mode 100644 index 0000000..a11bab0 --- /dev/null +++ b/vorlesungen/slides/4/galois/images/wuerfel2.pov @@ -0,0 +1,9 @@ +//
+// wuerfel.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+wuerfel()
+wuerfel2()
diff --git a/vorlesungen/slides/4/galois/konstruktion.tex b/vorlesungen/slides/4/galois/konstruktion.tex new file mode 100644 index 0000000..b461d44 --- /dev/null +++ b/vorlesungen/slides/4/galois/konstruktion.tex @@ -0,0 +1,147 @@ +%
+% konstruktion.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\begin{frame}[t]
+\frametitle{Konstruktion mit Zirkel und Lineal}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Strahlensatz}
+\uncover<6->{%
+Jedes beliebige rationale Streckenverhältnis $\frac{p}{q}$
+kann mit Zirkel und Lineal konstruiert werden.}
+\end{block}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<7->{%
+\begin{block}{Kreis--Gerade}
+Aus $c$ und $a$ konstruiere $b=\sqrt{c^2-a^2}$
+\uncover<13->{%
+$\Rightarrow$ jede beliebige Quadratwurzel kann konstruiert werden}
+\end{block}}
+\end{column}
+\end{columns}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\def\s{0.5}
+\def\t{0.45}
+
+\coordinate (A) at (0,0);
+\coordinate (B) at ({10*\t},0);
+
+\uncover<2->{
+ \draw (0,0) -- (30:{10.5*\s});
+}
+
+\uncover<3->{
+ \foreach \x in {0,...,10}{
+ \fill (30:{\x*\s}) circle[radius=0.03];
+ }
+ \foreach \x in {0,1,2,3,4,7,8,9}{
+ \node at (30:{\x*\s}) [above] {\tiny $\x$};
+ }
+ \node at (30:{10*\s}) [above right] {$q=10$};
+}
+
+\uncover<4->{
+ \foreach \x in {1,...,10}{
+ \fill (0:{\x*\t}) circle[radius=0.03];
+ \draw[->,line width=0.2pt] (30:{\x*\s}) -- (0:{\x*\t});
+ }
+}
+
+\draw (A) -- (0:{10.5*\t});
+\node at (A) [below left] {$A$};
+\node at (B) [below right] {$B$};
+\fill (A) circle[radius=0.05];
+\fill (B) circle[radius=0.05];
+
+\uncover<5->{
+ \node at (30:{6*\s}) [above left] {$p=6$};
+ \draw[line width=0.2pt] (0,0) -- (0,-0.4);
+ \draw[line width=0.2pt] ({6*\t},0) -- ({6*\t},-0.4);
+ \draw[<->] (0,-0.3) -- ({6*\t},-0.3);
+ \node at ({3*\t},-0.4) [below]
+ {$\displaystyle\frac{p}{q}\cdot\overline{AB}$};
+}
+
+\end{tikzpicture}
+\end{center}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<8->{%
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+
+%\foreach \x in {8,...,14}{
+% \only<\x>{\node at (4,4) {$\x$};}
+%}
+
+\def\r{4}
+\def\a{50}
+
+\coordinate (A) at ({\r*cos(\a)},0);
+
+\uncover<10->{
+ \fill[color=gray] (\r,0) -- (\r,0.3) arc (90:180:0.3) -- cycle;
+ \fill[color=gray]
+ (95:\r) -- ($(95:\r)+(185:0.3)$) arc (185:275:0.3) -- cycle;
+}
+
+\draw[->] (0,0) -- (95:\r);
+\node at (95:{0.5*\r}) [left] {$c$};
+
+\begin{scope}
+ \clip (-1,-0.3) rectangle (4.5,4.1);
+ \uncover<10->{
+ \draw (-1,0) -- (5,0);
+ \draw[->] (0,0) -- (\r,0);
+ \draw (0,0) circle[radius=\r];
+ \draw ({\r*cos(\a)},-1) -- ({\r*cos(\a)},5);
+ }
+\end{scope}
+
+\uncover<11->{
+ \fill[color=blue!20] (0,0) -- (A) -- (\a:\r) -- cycle;
+}
+
+\uncover<9->{
+ \fill[color=gray!80] (A) -- ($(A)+(0,0.5)$) arc (90:180:0.5) -- cycle;
+ \fill[color=gray!120] ($(A)+(-0.2,0.2)$) circle[radius=0.07];
+ \draw ({\r*cos(\a)},-0.3) -- ({\r*cos(\a)},4.1);
+}
+
+\uncover<11->{
+ \draw[color=blue,line width=1.4pt] (0,0) -- (\a:\r);
+ \node[color=blue] at (\a:{0.5*\r}) [above left] {$c$};
+}
+
+\draw[color=blue,line width=1.4pt] (0,0) -- ({\r*cos(\a)},0);
+\fill[color=blue] (0,0) circle[radius=0.04];
+\fill[color=blue] (A) circle[radius=0.04];
+\node[color=blue] at ({0.5*\r*cos(\a)},0) [below] {$a$};
+
+\uncover<12->{
+ \fill[color=white,opacity=0.8]
+ ({\r*cos(\a)+0.1},{0.5*\r*sin(\a)-0.25})
+ rectangle
+ ({\r*cos(\a)+2},{0.5*\r*sin(\a)+0.25});
+
+ \node[color=red] at ({\r*cos(\a)},{0.5*\r*sin(\a)}) [right]
+ {$b=\sqrt{c^2-a^2}$};
+ \draw[color=red,line width=1.4pt] ({\r*cos(\a)},0) -- (\a:\r);
+ \fill[color=red] (\a:\r) circle[radius=0.05];
+ \fill[color=red] (A) circle[radius=0.05];
+}
+
+\end{tikzpicture}
+\end{center}}
+\end{column}
+\end{columns}
+\uncover<14->{{\usebeamercolor[fg]{title}Folgerung:}
+Konstruierbar sind Körpererweiterungen $[F:E] = 2^l$}
+\end{frame}
diff --git a/vorlesungen/slides/4/galois/quadratur.tex b/vorlesungen/slides/4/galois/quadratur.tex new file mode 100644 index 0000000..f9510ba --- /dev/null +++ b/vorlesungen/slides/4/galois/quadratur.tex @@ -0,0 +1,66 @@ +%
+% quadratur.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\begin{frame}[t]
+\frametitle{Quadratur des Kreises}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.44\textwidth}
+\begin{center}
+\uncover<2->{%
+\begin{tikzpicture}[>=latex,thick]
+
+\def\r{2.8}
+\pgfmathparse{sqrt(3.14159)*\r/2}
+\xdef\s{\pgfmathresult}
+
+\fill[color=blue!20] (-\s,-\s) rectangle (\s,\s);
+\fill[color=red!40,opacity=0.5] (0,0) circle[radius=\r];
+
+\uncover<3->{
+ \draw[->,color=red] (0,0) -- (50:\r);
+ \fill[color=red] (0,0) circle[radius=0.04];
+ \node[color=red] at (50:{0.5*\r}) [below right] {$r$};
+}
+
+\uncover<4->{
+ \draw[line width=0.3pt] (-\s,-\s) -- (-\s,{-\s-0.7});
+ \draw[line width=0.3pt] (\s,-\s) -- (\s,{-\s-0.7});
+ \draw[<->,color=blue] (-\s,{-\s-0.6}) -- (\s,{-\s-0.6});
+ \node[color=blue] at (0,{-\s-0.6}) [below] {$l$};
+}
+
+\uncover<5->{
+ \node at (0,{-\s/2}) {${\color{red}\pi r^2}={\color{blue}l^2}
+ \;\Rightarrow\;
+ {\color{blue}l}={\color{red}\sqrt{\pi}r}$};
+}
+
+\end{tikzpicture}}
+\end{center}
+\end{column}
+\begin{column}{0.52\textwidth}
+\begin{block}{Aufgabe}
+Konstruiere ein zu einem Kreis flächengleiches Quadrat
+\end{block}
+\uncover<6->{%
+\begin{block}{Modifizierte Aufgabe}
+Konstruiere eine Strecke, deren Länge Lösung der Gleichung
+$x^2-\pi=0$ ist.
+\end{block}}
+\uncover<7->{%
+\begin{proof}[Unmöglichkeitsbeweis mit Widerspruch]
+\begin{itemize}
+\item<8-> Lösung in einem Erweiterungskörper
+\item<9-> Lösung ist Nullstelle eines Polynoms
+\item<10-> Lösung ist algebraisch
+\item<11-> $\pi$ ist {\bf nicht} algebraisch
+\uncover<12->{(Lindemann 1882\only<13>{, Weierstrass 1885})}
+\qedhere
+\end{itemize}
+\end{proof}}
+\end{column}
+\end{columns}
+\end{frame}
diff --git a/vorlesungen/slides/4/galois/radikale.tex b/vorlesungen/slides/4/galois/radikale.tex new file mode 100644 index 0000000..cb08dca --- /dev/null +++ b/vorlesungen/slides/4/galois/radikale.tex @@ -0,0 +1,69 @@ +%
+% radikale.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Lösung durch Radikale}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Problemstellung}
+Finde Nullstellen eines Polynomes
+\[
+p(X)
+=
+a_nX^n + a_{n-1}X^{n-1}
++\dots+
+a_1X+a_0
+\]
+$p\in\mathbb{Q}[X]$
+\end{block}
+\uncover<2->{%
+\begin{block}{Radikale}
+Geschachtelte Wurzelausdrücke
+\[
+\sqrt[3]{
+-\frac{q}2 +\sqrt{\frac{q^2}{4}+\frac{p^3}{27}}
+}
++
+\sqrt[3]{
+-\frac{q}2 -\sqrt{\frac{q^2}{4}+\frac{p^3}{27}}
+}
+\]
+\uncover<3->{(Lösung von $x^3+px+q=0$)}
+\end{block}}
+\uncover<4->{%
+\begin{block}{Lösbar durch Radikale}
+Nullstelle von $p(X)$ ist ein Radikal
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<5->{%
+\begin{block}{Algebraische Formulierung}
+Gegeben ein irreduzibles Polynom $p\in\mathbb{Q}[X]$,
+finde eine Körpererweiterung $\mathbb{Q}\subset\Bbbk$, derart,
+dass $p$ in $\Bbbk$ eine Nullstelle hat\uncover<6->{:
+$\Bbbk = \mathbb{Q}[X]/(p)$}
+\end{block}}
+\uncover<7->{%
+\begin{block}{Radikalerweiterung}
+Körpererweiterung $\Bbbk\subset\Bbbk'$ um $\alpha$ mit einer der Eigenschaften
+\begin{itemize}
+\item<8-> $\alpha$ ist eine Einheitswurzel
+\item<9-> $\alpha^k\in\Bbbk$
+\end{itemize}
+\end{block}}
+\vspace{-5pt}
+\uncover<10->{%
+\begin{block}{Lösbar durch Radikale}
+Radikalerweiterungen
+\[
+\mathbb{Q} \subset \Bbbk \subset \Bbbk' \subset \dots \subset \Bbbk'' \ni \alpha
+\]
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
diff --git a/vorlesungen/slides/4/galois/sn.tex b/vorlesungen/slides/4/galois/sn.tex new file mode 100644 index 0000000..f340825 --- /dev/null +++ b/vorlesungen/slides/4/galois/sn.tex @@ -0,0 +1,87 @@ +%
+% sn.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Nichtauflösbarkeit von $S_n$}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Die symmetrische Gruppe $S_n$}
+Permutationen auf $n$ Elementen
+\[
+\sigma
+=
+\begin{pmatrix}
+1&2&3&\dots&n\\
+\sigma(1)&\sigma(2)&\sigma(3)&\dots&\sigma(n)
+\end{pmatrix}
+\]
+\end{block}
+\vspace{-10pt}
+\uncover<2->{%
+\begin{block}{Signum}
+$t(\sigma)=\mathstrut$ Anzahl Transpositionen
+\[
+\operatorname{sgn}(\sigma)
+=
+(-1)^{t(\sigma)}
+=
+\begin{cases}
+\phantom{-}1&\text{$t(\sigma)$ gerade}
+\\
+-1&\text{$t(\sigma)$ ungerade}
+\end{cases}
+\]
+Homomorphismus!
+\end{block}}
+\uncover<3->{%
+\begin{block}{Die alternierende Gruppe $A_n$}
+\vspace{-12pt}
+\[
+A_n = \ker \operatorname{sgn}
+=
+\{\sigma\in S_n\;|\;\operatorname{sgn}(\sigma)=1\}
+\]
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<4->{%
+\begin{block}{Normale Untergruppe}
+\begin{itemize}
+\item
+$H\triangleleft G$ wenn $gHg^{-1}\subset G\;\forall g\in G$
+\item
+$G/N$ ist wohldefiniert
+\end{itemize}
+\end{block}}
+\vspace{-10pt}
+\uncover<5->{%
+\begin{block}{Einfache Gruppe}
+$G$ einfach $\Leftrightarrow$
+\[
+H\triangleleft G
+\;
+\Rightarrow
+\;
+\text{$H=\{e\}$ oder $H=G$}
+\]
+\end{block}}
+\vspace{-10pt}
+\uncover<6->{%
+\begin{block}{$n\ge 5 \Rightarrow A_n \text{ einfach}$}
+\begin{enumerate}
+\item<7-> Zeigen, dass $A_5$ einfach ist
+\item<8-> Vollständige Induktion: $A_n$ einfach $\Rightarrow A_{n+1}$ einfach
+\end{enumerate}
+\uncover<9->{%
+$\Rightarrow$ i.~A.~keine Lösung der
+einer Polynomgleichung vom Grad $\ge 5$ durch Radikale
+}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
diff --git a/vorlesungen/slides/4/galois/winkeldreiteilung.tex b/vorlesungen/slides/4/galois/winkeldreiteilung.tex new file mode 100644 index 0000000..28c07fe --- /dev/null +++ b/vorlesungen/slides/4/galois/winkeldreiteilung.tex @@ -0,0 +1,94 @@ +%
+% winkeldreiteilung.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Winkeldreiteilung}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.43\textwidth}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\def\r{5}
+\def\a{25}
+
+\uncover<3->{
+ \draw[line width=0.7pt] (\r,0) arc (0:90:\r);
+}
+
+\fill[color=blue!20] (0,0) -- (\r,0) arc(0:{3*\a}:\r) -- cycle;
+\node[color=blue] at ({1.5*\a}:{1.05*\r}) {$\alpha$};
+
+\draw[color=blue,line width=1.3pt] (\r,0) arc (0:{3*\a}:\r);
+
+\uncover<2->{
+ \fill[color=red!40,opacity=0.5] (0,0) -- (\r,0) arc(0:\a:\r) -- cycle;
+ \draw[color=red,line width=1.4pt] (\r,0) arc (0:\a:\r);
+ \node[color=red] at ({0.5*\a}:{0.7*\r})
+ {$\displaystyle\frac{\alpha}{3}$};
+}
+
+\uncover<3->{
+ \fill[color=blue] ({3*\a}:\r) circle[radius=0.05];
+ \draw[color=blue] ({3*\a}:\r) -- ({\r*cos(3*\a)},-0.1);
+
+ \fill[color=red] ({\a}:\r) circle[radius=0.05];
+ \draw[color=red] ({\a}:\r) -- ({\r*cos(\a)},-0.1);
+
+ \draw[->] (-0.1,0) -- ({\r+0.4},0) coordinate[label={$x$}];
+ \draw[->] (0,-0.1) -- (0,{\r+0.4}) coordinate[label={right:$y$}];
+}
+
+
+\uncover<4->{
+\node at ({0.5*\r},-0.5) [below] {$\displaystyle
+\cos{\color{blue}\alpha}
+=
+4\cos^3{\color{red}\frac{\alpha}3} -3 \cos {\color{red}\frac{\alpha}3}
+$};
+}
+
+\uncover<5->{
+ \node[color=blue] at ({\r*cos(3*\a)},0) [below] {$a\mathstrut$};
+ \node[color=red] at ({\r*cos(\a)},0) [below] {$x\mathstrut$};
+}
+
+\end{tikzpicture}
+\end{center}
+\end{column}
+\begin{column}{0.53\textwidth}
+\begin{block}{Aufgabe}
+Teile einen Winkel in drei gleiche Teile
+\end{block}
+\vspace{-2pt}
+\uncover<6->{%
+\begin{block}{Algebraisierte Aufgabe}
+Konstruiere $x$ aus $a$ derart, dass
+\[
+p(x)
+=
+x^3-\frac34 x -a = 0
+\]
+\uncover<7->{%
+$a=0$:}
+\uncover<8->{$p(x) = x(x^2-\frac{3}{4})\uncover<9->{\Rightarrow x = \frac{\sqrt{3}}2}$}
+\end{block}}
+\vspace{-2pt}
+\uncover<10->{%
+\begin{proof}[Unmöglichkeitsbeweis]
+\begin{itemize}
+\item<11->
+$a\ne 0$ $\Rightarrow$ $p(x)$ irreduzibel
+\item<12->
+$p(x)$ definiert eine Körpererweiterung vom Grad $3$
+\item<13->
+Konstruierbar sind nur Körpererweiterungen vom Grad $2^l$
+\qedhere
+\end{itemize}
+\end{proof}}
+\end{column}
+\end{columns}
+\end{frame}
diff --git a/vorlesungen/slides/4/galois/wuerfel.tex b/vorlesungen/slides/4/galois/wuerfel.tex new file mode 100644 index 0000000..907d60a --- /dev/null +++ b/vorlesungen/slides/4/galois/wuerfel.tex @@ -0,0 +1,64 @@ +%
+% wuerfel.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\begin{frame}[t]
+\frametitle{Würfelverdoppelung}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\node at (0,0) {\includegraphics[width=6.0cm]{../slides/4/galois/images/wuerfel.png}};
+\uncover<2->{
+\node at (0,0) {\includegraphics[width=6.0cm]{../slides/4/galois/images/wuerfel2.png}};
+}
+
+\uncover<3->{
+ \draw[<->,color=blue] (-1.25,-2.4) -- (2.55,-2.25);
+ \node[color=blue] at (0.75,-2.3) [above] {$a$};
+}
+
+\uncover<4->{
+ \begin{scope}[yshift=0.03cm]
+ \draw[color=red] (-2.13,-2.89) -- (-2.13,-3.19);
+ \draw[color=red] (2.85,-2.7) -- (2.85,-3.0);
+ \draw[<->,color=red] (-2.13,-3.09) -- (2.85,-2.9);
+ \end{scope}
+ \node[color=red] at (0.36,-2.9) [below] {$b$};
+}
+
+\uncover<5->{
+\node at (0,-4) {$
+ 2{\color{blue}a}^3={\color{red}b}^3
+ \uncover<6->{\;\Rightarrow\;
+ \frac{b}{a} = \sqrt[3]{2}}$};
+}
+
+\end{tikzpicture}
+\end{center}
+\end{column}
+\begin{column}{0.52\textwidth}
+\begin{block}{Aufgabe}
+Konstruiere einen Würfel mit doppeltem Volumen
+\end{block}
+\uncover<7->{%
+\begin{block}{Algebraisierte Aufgabe}
+Konstruiere eine Nullstelle von $p(x)=x^3-2$
+\end{block}}
+\uncover<8->{%
+\begin{proof}[Unmöglichkeitsbeweis]
+\begin{itemize}
+\item<9->
+$p(x)$ irreduzibel
+\item<10->
+$p(x)$ definiert eine Körpererweiterung vom Grad $3$
+\item<11->
+Nur Körpererweiterungen vom Grad $2^l$ sind konstruierbar
+\qedhere
+\end{itemize}
+\end{proof}}
+\end{column}
+\end{columns}
+\end{frame}
diff --git a/vorlesungen/slides/5/potenzreihenmethode.tex b/vorlesungen/slides/5/potenzreihenmethode.tex index 0c3503d..12d3fa5 100644 --- a/vorlesungen/slides/5/potenzreihenmethode.tex +++ b/vorlesungen/slides/5/potenzreihenmethode.tex @@ -79,7 +79,7 @@ a_k=\frac1{k!}a^kC} \\ \uncover<4->{ \Rightarrow y(x) &= C}\uncover<8->{+Cax}\uncover<9->{ + C\frac12(ax)^2} -\uncover<10->{ + C \frac16(ac)^3} +\uncover<10->{ + C \frac16(ax)^3} \uncover<11->{ + \dots+C\frac{1}{k!}(ax)^k+\dots} \ifthenelse{\boolean{presentation}}{ \only<12>{ diff --git a/vorlesungen/slides/6/Makefile.inc b/vorlesungen/slides/6/Makefile.inc new file mode 100644 index 0000000..b46d6b6 --- /dev/null +++ b/vorlesungen/slides/6/Makefile.inc @@ -0,0 +1,18 @@ +# +# Makefile.inc -- additional depencencies +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +chapter6 = \ + ../slides/6/permutationen/matrizen.tex \ + \ + ../slides/6/darstellungen/definition.tex \ + ../slides/6/darstellungen/charakter.tex \ + ../slides/6/darstellungen/summe.tex \ + ../slides/6/darstellungen/irreduzibel.tex \ + ../slides/6/darstellungen/schur.tex \ + ../slides/6/darstellungen/skalarprodukt.tex \ + ../slides/6/darstellungen/zyklisch.tex \ + \ + ../slides/6/chapter.tex + diff --git a/vorlesungen/slides/6/chapter.tex b/vorlesungen/slides/6/chapter.tex new file mode 100644 index 0000000..37f442d --- /dev/null +++ b/vorlesungen/slides/6/chapter.tex @@ -0,0 +1,16 @@ +% +% chapter.tex +% +% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswi +% + +\folie{6/permutationen/matrizen.tex} + +\folie{6/darstellungen/definition.tex} +\folie{6/darstellungen/charakter.tex} +\folie{6/darstellungen/summe.tex} +\folie{6/darstellungen/irreduzibel.tex} +\folie{6/darstellungen/schur.tex} +\folie{6/darstellungen/skalarprodukt.tex} +\folie{6/darstellungen/zyklisch.tex} + diff --git a/vorlesungen/slides/6/darstellungen/charakter.tex b/vorlesungen/slides/6/darstellungen/charakter.tex new file mode 100644 index 0000000..ea90b6d --- /dev/null +++ b/vorlesungen/slides/6/darstellungen/charakter.tex @@ -0,0 +1,108 @@ +% +% chrakter.tex -- Charakter einer Darstellung +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Charakter einer Darstellung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.44\textwidth} +\begin{block}{Definition} +$\varrho\colon G\to\operatorname{GL}_n(\mathbb{C})$ eine Darstellung. +\\ +Der {\em Charakter} von $\varrho$ ist die Abbildung +\[ +\chi_{\varrho} +\colon +G\to \mathbb{C}^n +: +g\mapsto \chi_{\varrho}(g)=\operatorname{Spur}\varrho(g) +\] +\end{block} +\uncover<2->{% +\begin{block}{Eigenschaften} +\begin{enumerate} +\item +$\chi_{\varrho}(e) = n$ +\item<6-> +$\chi_{\varrho}(g^{-1}) = \overline{\chi_{\varrho}(g)}$ +\item<15-> +$\chi_{\varrho}(hgh^{-1}) = \chi_{\varrho}(g)$ +\end{enumerate} +\uncover<21->{% +Aus 3. folgt, dass Charaktere {\em Klassenfunktionen} sind} +\end{block}} +\end{column} +\begin{column}{0.52\textwidth} +\uncover<2->{% +\begin{block}{Begründung} +\begin{enumerate} +\item<3-> +$\chi_{\varrho}(e) += +\operatorname{Spur}\varrho(e) +\uncover<4->{= +\operatorname{Spur}I_n} +\uncover<5->{= +n} +$ +\item<6-> +$g$ hat endliche Ordnung, d.~h.~$g^k=e$ +\\ +\uncover<7->{% +$\lambda_i$ in der Jordan-NF erfüllen $\lambda_i^k=1$} +\\ +$\uncover<8->{\Rightarrow|\lambda_i|=1} +\uncover<9->{\Rightarrow \lambda_i^{-1} = \overline{\lambda_i}}$ +\begin{align*} +\uncover<10->{ +\llap{$\chi_{\varrho}(g^{-1})$} +&= +\operatorname{Spur}(\varrho(g^{-1}))} +\uncover<11->{= +\sum_{i} n_i\overline{\lambda_i}} +\\[-4pt] +&\uncover<12->{= +\overline{ +\sum_{i} n_i\lambda_i +}} +\uncover<13->{= +\operatorname{Spur}\varrho(g)} +\uncover<14->{= +\chi_{\varrho}(g)} +\end{align*} +\item<16-> +Durch Nachrechnen: +\begin{align*} +\chi_{\varrho}(hgh^{-1}) +&\uncover<17->{= +\operatorname{Spur} +( +\varrho(h) +\varrho(g) +\varrho(h^{-1}) +)} +\\ +&\uncover<18->{= +\operatorname{Spur} +( +\varrho(h^{-1}) +\varrho(h) +\varrho(g) +)} +\\ +&\uncover<19->{= +\operatorname{Spur}\varrho(g)} +\uncover<20->{= +\chi_{\varrho}(g)} +\end{align*} +\end{enumerate} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/6/darstellungen/definition.tex b/vorlesungen/slides/6/darstellungen/definition.tex new file mode 100644 index 0000000..9d93e7f --- /dev/null +++ b/vorlesungen/slides/6/darstellungen/definition.tex @@ -0,0 +1,59 @@ +% +% definition.tex -- Definition einer Darstellung +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Darstellung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +$G$ eine Gruppe, $V$ ein $\Bbbk$-Vektorraum. +\\ +\uncover<2->{% +Ein Homomorphismus +\[ +\varrho +\colon +G\to \operatorname{GL}(V) +\] +heisst {\em $n$-dimensionale Darstellung} der Gruppe $G$.} +\end{block} +\uncover<3->{% +\begin{block}{Idee} +Algebra und Analysis in $\operatorname{GL}_n(\Bbbk)$ nutzen, um +mehr über $G$ herauszufinden +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<4->{% +\begin{block}{Beispiel $S_n$} +$S_n$ die symmetrische Gruppe, +$\sigma\mapsto A_{\tilde{f}}$ die +Abbildung auf die zugehörige Permutationsmatrix +ist eine $n$-dimensionale Darstellung von $S_n$ +\end{block}} +\uncover<5->{% +\begin{block}{Beispiel Matrizengruppe} +Eine Matrizengruppe $G$ ist eine Teilmenge von $M_n(\Bbbk)$. +\\ +\uncover<6->{% +$g\in G \Rightarrow g^{-1}\in G$, daher $G\subset\operatorname{GL}_n(\Bbbk)$} +\\ +\uncover<7->{% +Die Einbettung +\[ +G\to\operatorname{GL}_n(\Bbbk) +: +g \mapsto g +\] +ist eine Darstellung}\uncover<8->{, die sog.~{\em reguläre Darstellung}} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/6/darstellungen/irreduzibel.tex b/vorlesungen/slides/6/darstellungen/irreduzibel.tex new file mode 100644 index 0000000..6a6991e --- /dev/null +++ b/vorlesungen/slides/6/darstellungen/irreduzibel.tex @@ -0,0 +1,43 @@ +% +% irreduzibel.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Irreduzible Darstellungen} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +Eine Darstellung $\varrho\colon G\to\operatorname{GL}(V)$ heisst +irreduzibel, wenn es keine Zerlegung von $\varrho$ in zwei +Darstellungen $\varrho_i\colon G\to\operatorname{GL}(U_i)$ ($i=1,2$) +gibt derart, dass $\varrho = \varrho_1\oplus\varrho_2$ +\end{block} +\begin{block}{Isomorphe Darstellungen} +$\varrho_i$ sind {\em isomorphe} Darstellungen in $V_i$ wenn es +$f\colon V_1\overset{\cong}{\to} V_2$ gibt mit +\begin{align*} +f \circ \varrho_i(g)\circ f^{-1} &= \varrho_2(g) +\\ +f \circ \varrho_i(g)\phantom{\mathstrut\circ f^{-1}}&= \varrho_2(g)\circ f +\end{align*} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Lemma von Schur} +$\varrho_i$ zwei irreduzible Darstellungen und $f$ so, dass +$f\circ \varrho_1(g)=\varrho_2(g)\circ f$ für alle $g$. +Dann gilt +\begin{enumerate} +\item $\varrho_i$ nicht isomorph $\Rightarrow$ $f=0$ +\item $V_1=V_2$ $\Rightarrow$ $f=\lambda I$ +\end{enumerate} +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/6/darstellungen/schur.tex b/vorlesungen/slides/6/darstellungen/schur.tex new file mode 100644 index 0000000..69ce9ee --- /dev/null +++ b/vorlesungen/slides/6/darstellungen/schur.tex @@ -0,0 +1,45 @@ +% +% schur.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Folgerungen aus Schurs Lemma} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Mittelung einer Abbildung} +$h\colon V_1\to V_2$ +\[ +h^G = \frac{1}{|G|} \sum_{g\in G} \varrho_2(g)^{-1} \circ f \circ \varrho_1(g) +\] +\begin{enumerate} +\item $\varrho_i$ nicht isomorph $\Rightarrow$ $h^G=0$ +\item $V_1=V_2$, $h^G = \frac1n\operatorname{Spur}h$ +\end{enumerate} +\end{block} +\begin{block}{Matrixelemente für $\varrho_i$ nicht isomorph} +$\varrho_i$ nicht isomorph, dann ist +\[ +\frac{1}{|G|} \sum_{g\in G} \varrho_1(g^{-1})_{kl}\varrho_2(g)_{uv}=0 +\] +für alle $k,l,u,v$ +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Matrixelemente $V_1=V_2$, $\varrho_i$ iso} +F¨r $k=v$ und $l=u$ gilt +\[ +\frac{1}{|G|} \sum_{g\in G} \varrho_1(g^{-1})_{kl} \varrho_2(g)_{uv} += +\frac1n +\] +und $=0$ sonst +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/6/darstellungen/skalarprodukt.tex b/vorlesungen/slides/6/darstellungen/skalarprodukt.tex new file mode 100644 index 0000000..653bdce --- /dev/null +++ b/vorlesungen/slides/6/darstellungen/skalarprodukt.tex @@ -0,0 +1,39 @@ +% +% skalarprodukt.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Skalarprodukt} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition des Skalarproduktes} +$\varphi$, $\psi$ komplexe Funktionen auf $G$: +\[ +\langle \varphi,\psi\rangle += +\frac{1}{|G|} \sum_{g\in G} \overline{\varphi(g)} \psi(g) +\] +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Satz} +\begin{enumerate} +\item +$\chi$ der Charakter einer irrediziblen Darstellung +$\Rightarrow$ $\langle \chi,\chi\rangle=1$. +\item +$\chi$ und $\chi'$ Charaktere nichtisomorpher Darstellungen +$\Rightarrow$ +$\langle \chi,\chi'\rangle=0$ +\end{enumerate} +D.~h.~Charaktere irreduzibler Darstellungen sind orthonormiert +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/6/darstellungen/summe.tex b/vorlesungen/slides/6/darstellungen/summe.tex new file mode 100644 index 0000000..9152e1f --- /dev/null +++ b/vorlesungen/slides/6/darstellungen/summe.tex @@ -0,0 +1,82 @@ +% +% Summe.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Direkte Summe} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Gegeben} +Gegeben zwei Darstellungen +\begin{align*} +\varrho_1&\colon G \to \mathbb{C}^{n_1} +\\ +\varrho_2&\colon G \to \mathbb{C}^{n_2} +\end{align*} +\end{block} +\vspace{-12pt} +\begin{block}{Direkte Summe der Darstellungen} +\vspace{-12pt} +\begin{align*} +\varrho_1\oplus\varrho_2 +&\colon +G\to \mathbb{C}^{n_1+n_2} = \mathbb{C}^{n_1}\times\mathbb{C}^{n_2} +=: +\mathbb{C}^{n_1}\oplus\mathbb{C}^{n_2} +\\ +&\colon g\mapsto (\varrho_1(g),\varrho_2(g)) +\end{align*} +\end{block} +\vspace{-12pt} +\begin{block}{Charakter} +\vspace{-12pt} +\begin{align*} +\chi_{\varrho_1\oplus\varrho_2}(g) +&= +\operatorname{Spur}(\varrho_1\oplus\varrho_2)(g) +\\ +&= +\operatorname{Spur}{\varrho_1(g)} ++ +\operatorname{Spur}{\varrho_1(g)} +\\ +&= +\chi_{\varrho_1}(g) ++ +\chi_{\varrho_2}(g) +\end{align*} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Tensorprodukt} +$n_1\times n_2$-dimensionale +Darstellung $\varrho_1\otimes\varrho_2$ mit Matrix +\[ +\begin{pmatrix} +\varrho_1(g)_{11} \varrho_2(g) + &\dots + &\varrho_1(g)_{1n_1} \varrho_2(g)\\ +\vdots&\ddots&\vdots\\ +\varrho_1(g)_{n_11} \varrho_2(g) + &\dots + &\varrho_1(g)_{n_1n_1} \varrho_2(g) +\end{pmatrix} +\] +Die ``Einträge'' sind $n_2\times n_2$-Blöcke +\end{block} +\begin{block}{Darstellungsring} +Die Menge der Darstellungen $R(G)$ einer Gruppe hat +einer Ringstruktur mit $\oplus$ und $\otimes$ +\\ +$\Rightarrow$ +Algebra zum Studium der möglichen Darstellungen von $G$ verwenden +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/6/darstellungen/zyklisch.tex b/vorlesungen/slides/6/darstellungen/zyklisch.tex new file mode 100644 index 0000000..6e36d1d --- /dev/null +++ b/vorlesungen/slides/6/darstellungen/zyklisch.tex @@ -0,0 +1,77 @@ +% +% zyklisch.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Beispiel: Zyklische Gruppen} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Gruppe} +\( +C_n = \mathbb{Z}/n\mathbb{Z} +\) +\end{block} +\begin{block}{Darstellungen von $C_n$} +Gegeben durch $\varrho_k(1)=e^{2\pi i k/n}$, +\[ +\varrho_k(l) = e^{2\pi ikl/n} +\] +\end{block} +\vspace{-10pt} +\begin{block}{Charaktere} +\vspace{-10pt} +\[ +\chi_k(l) = e^{2\pi ikl/n} +\] +haben Skalarprodukte +\[ +\langle \chi_k,\chi_{k'}\rangle += +\begin{cases} +1&\quad k= k'\\ +0&\quad\text{sonst} +\end{cases} +\] +Die Darstellungen $\chi_k$ sind nicht isomorph +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Orthonormalbasis} +Die Funktionen $\chi_k$ bilden eine Orthonormalbasis von $L^2(C_n)$ +\end{block} +\vspace{-4pt} +\begin{block}{Analyse einer Darstellung} +$\varrho\colon C_n\to \mathbb{C}^n$ eine Darstellung, +$\chi_\varrho$ der Charakter lässt zerlegen: +\begin{align*} +c_k +&= +\langle \chi_k, \chi\rangle = \frac{1}{n} \sum_{l} \chi_k(l) e^{-2\pi ilk/n} +\\ +\chi(l) +&= +\sum_{k} c_k \chi_k += +\sum_{k} c_k e^{2\pi ikl/n} +\end{align*} +\end{block} +\vspace{-13pt} +\begin{block}{Fourier-Theorie} +\vspace{-3pt} +\begin{center} +\begin{tabular}{>{$}l<{$}l} +C_n&Diskrete Fourier-Theorie\\ +U(1)&Fourier-Reihen\\ +\mathbb{R}&Fourier-Integral +\end{tabular} +\end{center} +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/6/permutationen/matrizen.tex b/vorlesungen/slides/6/permutationen/matrizen.tex new file mode 100644 index 0000000..346993d --- /dev/null +++ b/vorlesungen/slides/6/permutationen/matrizen.tex @@ -0,0 +1,75 @@ +% +% matrizen.tex -- Darstellung der Permutationen als Matrizen +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Permutationsmatrizen} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Permutationsabbildung} +$\sigma\in S_n$ eine Permutation, definiere +\[ +f +\colon +e_i \mapsto e_{\sigma(i)} +\] +($e_i$ Standardbasisvektor) +\end{block} +\begin{block}{Lineare Abbildung} +$f$ kann erweitert werden zu einer linearen Abbildung +\[ +\tilde{f} +\colon +\Bbbk^n \to \Bbbk^n +: +\sum_{k=1}^n a_i e_i +\mapsto +\sum_{k=1}^n a_i f(e_i) +\] +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Permutationsmatrix} +Matrix $A_{\tilde{f}}$ der linearen Abbildung $\tilde{f}$ +hat die Matrixelemente +\[ +a_{ij} += +\begin{cases} +1&\qquad i=\sigma(j)\\ +0&\qquad\text{sonst} +\end{cases} +\] +\end{block} +\vspace{-10pt} +\begin{block}{Beispiel} +\vspace{-20pt} +\[ +\begin{pmatrix} +1&2&3&4\\ +3&2&4&1 +\end{pmatrix} +\mapsto +\begin{pmatrix} +0&0&0&1\\ +0&1&0&0\\ +1&0&0&0\\ +0&0&1&0 +\end{pmatrix} +\] +\end{block} +\vspace{-10pt} +\begin{block}{Homomorphismus} +Die Abbildung +$S_n\to\operatorname{GL}(\Bbbk)\colon \sigma \mapsto A_{\tilde{f}}$ +ist ein Homomorphismus +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/7/Makefile.inc b/vorlesungen/slides/7/Makefile.inc new file mode 100644 index 0000000..2391099 --- /dev/null +++ b/vorlesungen/slides/7/Makefile.inc @@ -0,0 +1,22 @@ +#
+# Makefile.inc -- additional depencencies
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+chapter5 = \
+ ../slides/7/symmetrien.tex \
+ ../slides/7/algebraisch.tex \
+ ../slides/7/parameter.tex \
+ ../slides/7/mannigfaltigkeit.tex \
+ ../slides/7/sl2.tex \
+ ../slides/7/drehung.tex \
+ ../slides/7/drehanim.tex \
+ ../slides/7/semi.tex \
+ ../slides/7/kurven.tex \
+ ../slides/7/einparameter.tex \
+ ../slides/7/ableitung.tex \
+ ../slides/7/liealgebra.tex \
+ ../slides/7/kommutator.tex \
+ ../slides/7/dg.tex \
+ ../slides/7/chapter.tex
+
diff --git a/vorlesungen/slides/7/ableitung.tex b/vorlesungen/slides/7/ableitung.tex new file mode 100644 index 0000000..5a4b94e --- /dev/null +++ b/vorlesungen/slides/7/ableitung.tex @@ -0,0 +1,68 @@ +%
+% ableitung.tex -- Ableitung in der Lie-Gruppe
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Ableitung in der Matrix-Gruppe}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Ableitung in $\operatorname{O}(n)$}
+\uncover<2->{%
+$s \mapsto A(s)\in\operatorname{O}(n)$
+}
+\begin{align*}
+\uncover<3->{I
+&=
+A(s)^tA(s)}
+\\
+\uncover<4->{0
+=
+\frac{d}{ds} I
+&=
+\frac{d}{ds} (A(s)^t A(s))}
+\\
+&\uncover<5->{=
+\dot{A}(s)^tA(s) + A(s)^t \dot{A}(s)}
+\intertext{\uncover<6->{An der Stelle $s=0$, d.~h.~$A(0)=I$}}
+\uncover<7->{0
+&=
+\dot{A}(0)^t
++
+\dot{A}(0)}
+\\
+\uncover<8->{\Leftrightarrow
+\qquad
+\dot{A}(0)^t &= -\dot{A}(0)}
+\end{align*}
+\uncover<9->{%
+``Tangentialvektoren'' sind antisymmetrische Matrizen
+}
+\end{block}
+\end{column}
+\begin{column}{0.48\textwidth}
+\begin{block}{Ableitung in $\operatorname{SL}_2(\mathbb{R})$}
+\uncover<2->{%
+$s\mapsto A(s)\in\operatorname{SL}_n(\mathbb{R})$
+}
+\begin{align*}
+\uncover<3->{1 &= \det A(t)}
+\\
+\uncover<10->{0
+=
+\frac{d}{dt}1
+&=
+\frac{d}{dt} \det A(t)}
+\intertext{\uncover<11->{mit dem Entwicklungssatz kann man nachrechnen:}}
+\uncover<12->{0&=\operatorname{Spur}\dot{A}(0)}
+\end{align*}
+\uncover<13->{``Tangentialvektoren'' sind spurlose Matrizen}
+\end{block}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/algebraisch.tex b/vorlesungen/slides/7/algebraisch.tex new file mode 100644 index 0000000..fba42cf --- /dev/null +++ b/vorlesungen/slides/7/algebraisch.tex @@ -0,0 +1,115 @@ +%
+% algebraisch.tex -- algebraische Definition der Symmetrien
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Erhaltungsgrössen und Algebra}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Längen und Winkel}
+Längenmessung mit Skalarprodukt
+\begin{align*}
+\|\vec{v}\|^2
+&=
+\langle \vec{v},\vec{v}\rangle
+=
+\vec{v}\cdot \vec{v}
+\uncover<2->{=
+\vec{v}^t\vec{v}}
+\end{align*}
+\end{block}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<3->{%
+\begin{block}{Flächeninhalt/Volumen}
+$n$ Vektoren $V=(\vec{v}_1,\dots,\vec{v}_n)$
+\\
+Volumen des Parallelepipeds: $\det V$
+\end{block}}
+\end{column}
+\end{columns}
+%
+\vspace{-7pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\uncover<4->{%
+\begin{block}{Längenerhaltende Transformationen}
+$A\in\operatorname{GL}_n(\mathbb{R})$
+\begin{align*}
+\vec{x}^t\vec{y}
+&=
+(A\vec{x})
+\cdot
+(A\vec{y})
+\uncover<5->{=
+(A\vec{x})^t
+(A\vec{y})}
+\\
+\uncover<6->{
+\vec{x}^tI\vec{y}
+&=
+\vec{x}^tA^tA\vec{y}}
+\uncover<7->{
+\Rightarrow I=A^tA}
+\end{align*}
+\uncover<8->{Begründung: $\vec{e}_i^t B \vec{e}_j = b_{ij}$}
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<9->{%
+\begin{block}{Volumenerhaltende Transformationen}
+$A\in\operatorname{GL}_n(\mathbb{R})$
+\begin{align*}
+\det(V)
+&=
+\det(AV)
+\uncover<10->{=
+\det(A)\det(V)}
+\\
+\uncover<11->{
+1&=\det(A)}
+\end{align*}
+\uncover<10->{
+(Produktsatz für Determinante)
+}
+\end{block}}
+\end{column}
+\end{columns}
+%
+\vspace{-3pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\uncover<12->{%
+\begin{block}{Orthogonale Matrizen}
+Längentreue Abbildungen = orthogonale Matrizen:
+\[
+O(n)
+=
+\{
+A \in \operatorname{GL}_n(\mathbb{R})
+\;|\;
+A^tA=I
+\}
+\]
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<13->{%
+\begin{block}{``Spezielle'' Matrizen}
+Volumen-/Orientierungserhaltende Transformationen:
+\[
+\operatorname{SL}_n(\mathbb R)
+=
+\{ A \in \operatorname{GL}_n(\mathbb{R}) \;|\; \det A = 1\}
+\]
+\end{block}}
+\end{column}
+\end{columns}
+
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/chapter.tex b/vorlesungen/slides/7/chapter.tex new file mode 100644 index 0000000..0f14a9a --- /dev/null +++ b/vorlesungen/slides/7/chapter.tex @@ -0,0 +1,19 @@ +%
+% chapter.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswi
+%
+\folie{7/symmetrien.tex}
+\folie{7/algebraisch.tex}
+\folie{7/parameter.tex}
+\folie{7/mannigfaltigkeit.tex}
+\folie{7/sl2.tex}
+\folie{7/drehung.tex}
+\folie{7/drehanim.tex}
+\folie{7/semi.tex}
+\folie{7/kurven.tex}
+\folie{7/einparameter.tex}
+\folie{7/ableitung.tex}
+\folie{7/liealgebra.tex}
+\folie{7/kommutator.tex}
+\folie{7/dg.tex}
diff --git a/vorlesungen/slides/7/dg.tex b/vorlesungen/slides/7/dg.tex new file mode 100644 index 0000000..446b2ab --- /dev/null +++ b/vorlesungen/slides/7/dg.tex @@ -0,0 +1,92 @@ +%
+% dg.tex -- Differentialgleichung für die Exponentialabbildung
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Zurück zur Lie-Gruppe}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Tangentialvektor im Punkt $\gamma(t)$}
+Ableitung von $\gamma(t)$ an der Stelle $t$:
+\begin{align*}
+\dot{\gamma}(t)
+&\uncover<2->{=
+\frac{d}{d\tau}\gamma(\tau)\bigg|_{\tau=t}
+}
+\\
+&\uncover<3->{=
+\frac{d}{ds}
+\gamma(t+s)
+\bigg|_{s=0}
+}
+\\
+&\uncover<4->{=
+\frac{d}{ds}
+\gamma(t)\gamma(s)
+\bigg|_{s=0}
+}
+\\
+&\uncover<5->{=
+\gamma(t)
+\frac{d}{ds}
+\gamma(s)
+\bigg|_{s=0}
+}
+\uncover<6->{=
+\gamma(t) \dot{\gamma}(0)
+}
+\end{align*}
+\end{block}
+\vspace{-10pt}
+\uncover<7->{%
+\begin{block}{Differentialgleichung}
+\vspace{-10pt}
+\[
+\dot{\gamma}(t) = \gamma(t) A
+\quad
+\text{mit}
+\quad
+A=\dot{\gamma}(0)\in LG
+\]
+\end{block}}
+\end{column}
+\begin{column}{0.50\textwidth}
+\uncover<8->{%
+\begin{block}{Lösung}
+Exponentialfunktion
+\[
+\exp\colon LG\to G : A \mapsto \exp(At) = \sum_{k=0}^\infty \frac{t^k}{k!}A^k
+\]
+\end{block}}
+\vspace{-5pt}
+\uncover<9->{%
+\begin{block}{Kontrolle: Tangentialvektor berechnen}
+\vspace{-10pt}
+\begin{align*}
+\frac{d}{dt}e^{At}
+&\uncover<10->{=
+\sum_{k=1}^\infty A^k \frac{d}{dt} \frac{t^k}{k!}
+}
+\\
+&\uncover<11->{=
+\sum_{k=1}^\infty A^{k-1}\frac{t^{k-1}}{(k-1)!} A
+}
+\\
+&\uncover<12->{=
+\sum_{k=0} A^k\frac{t^k}{k!}
+A
+}
+\uncover<13->{=
+e^{At} A
+}
+\end{align*}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/drehanim.tex b/vorlesungen/slides/7/drehanim.tex new file mode 100644 index 0000000..776617f --- /dev/null +++ b/vorlesungen/slides/7/drehanim.tex @@ -0,0 +1,155 @@ +%
+% template.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+\def\punkt#1#2{ ({\A*(#1)+\B*(#2)},{\C*(#1)+\D*(#2)}) }
+
+\makeatletter
+\hoffset=-2cm
+\advance\textwidth2cm
+\hsize\textwidth
+\columnwidth\textwidth
+\makeatother
+
+\begin{frame}[t,plain]
+\vspace{-5pt}
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+
+\fill[color=white] (-4,-4) rectangle (9,4.5);
+
+\def\a{60}
+
+\pgfmathparse{tan(\a)}
+\xdef\T{\pgfmathresult}
+
+\pgfmathparse{-sin(\a)*cos(\a)}
+\xdef\S{\pgfmathresult}
+
+\pgfmathparse{1/cos(\a)}
+\xdef\E{\pgfmathresult}
+
+\def\N{20}
+\pgfmathparse{2*\N}
+\xdef\Nzwei{\pgfmathresult}
+\pgfmathparse{3*\N}
+\xdef\Ndrei{\pgfmathresult}
+
+\node at (4.2,4.2) [below right] {\begin{minipage}{7cm}
+\begin{block}{$\operatorname{SO}(2)\subset\operatorname{SL}_2(\mathbb{R})$}
+\begin{itemize}
+\item Thus most $A\in\operatorname{SL}_2(\mathbb{R})$ can be parametrized
+as shear mappings and axis rescalings
+\[
+A=
+\begin{pmatrix}d&0\\0&d^{-1}\end{pmatrix}
+\begin{pmatrix}1&s\\0&1\end{pmatrix}
+\begin{pmatrix}1&0\\t&1\end{pmatrix}
+\]
+\item Most rotations can be decomposed into a product of
+shear mappings and axis rescalings
+\end{itemize}
+\end{block}
+\end{minipage}};
+
+\foreach \d in {1,2,...,\Ndrei}{
+ % Scherung in Y-Richtung
+ \ifnum \d>\N
+ \pgfmathparse{\T}
+ \else
+ \pgfmathparse{\T*(\d-1)/(\N-1)}
+ \fi
+ \xdef\t{\pgfmathresult}
+
+ % Scherung in X-Richtung
+ \ifnum \d>\Nzwei
+ \xdef\s{\S}
+ \else
+ \ifnum \d<\N
+ \xdef\s{0}
+ \else
+ \ifnum \d=\N
+ \xdef\s{0}
+ \else
+ \pgfmathparse{\S*(\d-\N-1)/(\N-1)}
+ \xdef\s{\pgfmathresult}
+ \fi
+ \fi
+ \fi
+
+ % Reskalierung der Achsen
+ \ifnum \d>\Nzwei
+ \pgfmathparse{exp(ln(\E)*(\d-2*\N-1)/(\N-1))}
+ \else
+ \pgfmathparse{1}
+ \fi
+ \xdef\e{\pgfmathresult}
+
+ % Matrixelemente
+ \pgfmathparse{(\e)*((\s)*(\t)+1)}
+ \xdef\A{\pgfmathresult}
+
+ \pgfmathparse{(\e)*(\s)}
+ \xdef\B{\pgfmathresult}
+
+ \pgfmathparse{(\t)/(\e)}
+ \xdef\C{\pgfmathresult}
+
+ \pgfmathparse{1/(\e)}
+ \xdef\D{\pgfmathresult}
+
+ \only<\d>{
+ \node at (5.0,-0.9) [below right] {$
+ \begin{aligned}
+ t &= \t \\
+ s &= \s \\
+ d &= \e \\
+ D &= \begin{pmatrix}
+ \A&\B\\
+ \C&\D
+ \end{pmatrix}
+ \qquad
+ \only<60>{\checkmark}
+ \end{aligned}
+ $};
+ }
+
+ \begin{scope}
+ \clip (-4.05,-4.05) rectangle (4.05,4.05);
+ \only<\d>{
+ \foreach \x in {-6,...,6}{
+ \draw[color=blue,line width=0.5pt]
+ \punkt{\x}{-12} -- \punkt{\x}{12};
+ }
+ \foreach \y in {-12,...,12}{
+ \draw[color=darkgreen,line width=0.5pt]
+ \punkt{-6}{\y} -- \punkt{6}{\y};
+ }
+
+ \foreach \r in {1,2,3,4}{
+ \draw[color=red] plot[domain=0:359,samples=360]
+ ({\r*(\A*cos(\x)+\B*sin(\x))},{\r*(\C*cos(\x)+\D*sin(\x))})
+ --
+ cycle;
+ }
+ }
+ \end{scope}
+
+% \uncover<\d>{
+% \node at (5,4) {\d};
+% }
+}
+
+\draw[->] (-4,0) -- (4.2,0) coordinate[label={$x$}];
+\draw[->] (0,-4) -- (0,4.2) coordinate[label={right:$y$}];
+
+\end{tikzpicture}
+\end{center}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/drehung.tex b/vorlesungen/slides/7/drehung.tex new file mode 100644 index 0000000..e7b4a92 --- /dev/null +++ b/vorlesungen/slides/7/drehung.tex @@ -0,0 +1,132 @@ +%
+% drehung.tex -- Drehung aus streckungen
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Drehung aus Streckungen und Scherungen}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.38\textwidth}
+\begin{block}{Drehung}
+{\color{blue}Längen}, {\color<2->{blue}Winkel},
+{\color<2->{darkgreen}Orientierung}
+erhalten
+\uncover<2->{
+\[
+\operatorname{SO}(2)
+=
+{\color{blue}\operatorname{O}(2)}
+\cap
+{\color{darkgreen}\operatorname{SL}_2(\mathbb{R})}
+\]}
+\vspace{-20pt}
+\end{block}
+\uncover<3->{%
+\begin{block}{Zusammensetzung}
+Eine Drehung muss als Zusammensetzung geschrieben werden können:
+\[
+D_{\alpha}
+=
+\begin{pmatrix}
+\cos\alpha & -\sin\alpha\\
+\sin\alpha &\phantom{-}\cos\alpha
+\end{pmatrix}
+=
+DST
+\]
+\end{block}}
+\vspace{-10pt}
+\uncover<12->{%
+\begin{block}{Beispiel}
+\vspace{-12pt}
+\[
+D_{60^\circ}
+=
+{\tiny
+\begin{pmatrix}2&0\\0&\frac12\end{pmatrix}
+\begin{pmatrix}1&-\frac{\sqrt{3}}4\\0&1\end{pmatrix}
+\begin{pmatrix}1&0\\\sqrt{3}&1\end{pmatrix}
+}
+\]
+\end{block}}
+\end{column}
+\begin{column}{0.58\textwidth}
+\uncover<4->{%
+\begin{block}{Ansatz}
+\vspace{-12pt}
+\begin{align*}
+DST
+&=
+\begin{pmatrix}
+c^{-1}&0\\
+ 0 &c
+\end{pmatrix}
+\begin{pmatrix}
+1&-s\\
+0&1
+\end{pmatrix}
+\begin{pmatrix}
+1&0\\
+t&1
+\end{pmatrix}
+\\
+&\uncover<5->{=
+\begin{pmatrix}
+c^{-1}&0\\
+ 0 &c
+\end{pmatrix}
+\begin{pmatrix}
+1-st&-s\\
+ t& 1
+\end{pmatrix}
+}
+\\
+&\uncover<6->{=
+\begin{pmatrix}
+{\color<11->{orange}(1-st)c^{-1}}&{\color<10->{darkgreen}sc^{-1}}\\
+{\color<9->{blue}ct}&{\color<8->{red}c}
+\end{pmatrix}}
+\uncover<7->{=
+\begin{pmatrix}
+{\color<11->{orange}\cos\alpha} & {\color<10->{darkgreen}- \sin\alpha} \\
+{\color<9->{blue}\sin\alpha} & \phantom{-} {\color<8->{red}\cos\alpha}
+\end{pmatrix}}
+\end{align*}
+\end{block}}
+\vspace{-10pt}
+\uncover<7->{%
+\begin{block}{Koeffizientenvergleich}
+\vspace{-15pt}
+\begin{align*}
+\uncover<8->{
+{\color{red} c}
+&=
+{\color{red}\cos\alpha }}
+&&
+&
+\uncover<9->{
+{\color{blue}
+t}&=\rlap{$\displaystyle\frac{\sin\alpha}{c} = \tan\alpha$}}\\
+\uncover<10->{
+{\color{darkgreen}sc^{-1}}&={\color{darkgreen}-\sin\alpha}
+&
+&\Rightarrow&
+{\color{darkgreen}s}&={\color{darkgreen}-\sin\alpha}\cos\alpha
+}
+\\
+\uncover<11->{
+{\color{orange} (1-st)c^{-t}}
+&=
+\rlap{$\displaystyle\frac{(1-\sin^2\alpha)}{\cos\alpha} = \cos\alpha $}
+}
+\end{align*}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/einparameter.tex b/vorlesungen/slides/7/einparameter.tex new file mode 100644 index 0000000..e9699a6 --- /dev/null +++ b/vorlesungen/slides/7/einparameter.tex @@ -0,0 +1,93 @@ +%
+% einparameter.tex -- Einparameter Untergruppen
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Einparameter-Untergruppen}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Definition}
+Eine Kurve $\gamma\colon \mathbb{R}\to G\subset\operatorname{GL}_n(\mathbb{R})$,
+die {\color<2->{red}gleichzeitig eine Untergruppe von $G$} ist \uncover<3->{mit}
+\[
+\uncover<3->{
+\gamma(t+s) = \gamma(t)\gamma(s)\quad\forall t,s\in\mathbb{R}
+}
+\]
+\end{block}
+\uncover<4->{%
+\begin{block}{Drehungen}
+Drehmatrizen bilden Einparameter- Untergruppen
+\begin{align*}
+t \mapsto D_{x,t}
+&=
+\begin{pmatrix}
+1&0&0\\
+0&\cos t&-\sin t\\
+0&\sin t& \cos t
+\end{pmatrix}
+\\
+D_{x,t}D_{x,s}
+&=
+D_{x,t+s}
+\end{align*}
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<5->{%
+\begin{block}{Scherungen in $\operatorname{SL}_2(\mathbb{R})$}
+\vspace{-12pt}
+\[
+\begin{pmatrix}
+1&s\\
+0&1
+\end{pmatrix}
+\begin{pmatrix}
+1&t\\
+0&1
+\end{pmatrix}
+=
+\begin{pmatrix}
+1&s+t\\
+0&1
+\end{pmatrix}
+\]
+\end{block}}
+\vspace{-12pt}
+\uncover<6->{%
+\begin{block}{Skalierungen in $\operatorname{SL}_2(\mathbb{R})$}
+\vspace{-12pt}
+\[
+\begin{pmatrix}
+e^s&0\\0&e^{-s}
+\end{pmatrix}
+\begin{pmatrix}
+e^t&0\\0&e^{-t}
+\end{pmatrix}
+=
+\begin{pmatrix}
+e^{t+s}&0\\0&e^{-(t+s)}
+\end{pmatrix}
+\]
+\end{block}}
+\vspace{-12pt}
+\uncover<7->{%
+\begin{block}{Gemischt}
+\vspace{-12pt}
+\begin{gather*}
+A_t = I \cosh t + \begin{pmatrix}1&a\\0&-1\end{pmatrix}\sinh t
+\\
+\text{dank}\quad
+\begin{pmatrix}1&s\\0&-1\end{pmatrix}^2
+=I
+\end{gather*}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/images/Makefile b/vorlesungen/slides/7/images/Makefile new file mode 100644 index 0000000..9de1c34 --- /dev/null +++ b/vorlesungen/slides/7/images/Makefile @@ -0,0 +1,19 @@ +#
+# Makefile -- Illustrationen zu
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all: rodriguez.jpg
+
+rodriguez.png: rodriguez.pov
+ povray +A0.1 -W1920 -H1080 -Orodriguez.png rodriguez.pov
+
+rodriguez.jpg: rodriguez.png
+ convert -extract 1740x1070+135+10 rodriguez.png rodriguez.jpg
+
+commutator: commutator.ini commutator.pov common.inc
+ povray +A0.1 -W1920 -H1080 -Oc/c.png commutator.ini
+jpg:
+ for f in c/c*.png; do convert $${f} c/`basename $${f} .png`.jpg; done
+
+
diff --git a/vorlesungen/slides/7/images/c/c01.jpg b/vorlesungen/slides/7/images/c/c01.jpg Binary files differnew file mode 100644 index 0000000..b2dbdb2 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c01.jpg diff --git a/vorlesungen/slides/7/images/c/c02.jpg b/vorlesungen/slides/7/images/c/c02.jpg Binary files differnew file mode 100644 index 0000000..9b45ba3 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c02.jpg diff --git a/vorlesungen/slides/7/images/c/c03.jpg b/vorlesungen/slides/7/images/c/c03.jpg Binary files differnew file mode 100644 index 0000000..882be40 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c03.jpg diff --git a/vorlesungen/slides/7/images/c/c04.jpg b/vorlesungen/slides/7/images/c/c04.jpg Binary files differnew file mode 100644 index 0000000..5d26572 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c04.jpg diff --git a/vorlesungen/slides/7/images/c/c05.jpg b/vorlesungen/slides/7/images/c/c05.jpg Binary files differnew file mode 100644 index 0000000..458f565 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c05.jpg diff --git a/vorlesungen/slides/7/images/c/c06.jpg b/vorlesungen/slides/7/images/c/c06.jpg Binary files differnew file mode 100644 index 0000000..cd40cda --- /dev/null +++ b/vorlesungen/slides/7/images/c/c06.jpg diff --git a/vorlesungen/slides/7/images/c/c07.jpg b/vorlesungen/slides/7/images/c/c07.jpg Binary files differnew file mode 100644 index 0000000..3349795 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c07.jpg diff --git a/vorlesungen/slides/7/images/c/c08.jpg b/vorlesungen/slides/7/images/c/c08.jpg Binary files differnew file mode 100644 index 0000000..65048cf --- /dev/null +++ b/vorlesungen/slides/7/images/c/c08.jpg diff --git a/vorlesungen/slides/7/images/c/c09.jpg b/vorlesungen/slides/7/images/c/c09.jpg Binary files differnew file mode 100644 index 0000000..000d502 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c09.jpg diff --git a/vorlesungen/slides/7/images/c/c10.jpg b/vorlesungen/slides/7/images/c/c10.jpg Binary files differnew file mode 100644 index 0000000..064c96b --- /dev/null +++ b/vorlesungen/slides/7/images/c/c10.jpg diff --git a/vorlesungen/slides/7/images/c/c11.jpg b/vorlesungen/slides/7/images/c/c11.jpg Binary files differnew file mode 100644 index 0000000..c67bc5d --- /dev/null +++ b/vorlesungen/slides/7/images/c/c11.jpg diff --git a/vorlesungen/slides/7/images/c/c12.jpg b/vorlesungen/slides/7/images/c/c12.jpg Binary files differnew file mode 100644 index 0000000..f2174de --- /dev/null +++ b/vorlesungen/slides/7/images/c/c12.jpg diff --git a/vorlesungen/slides/7/images/c/c13.jpg b/vorlesungen/slides/7/images/c/c13.jpg Binary files differnew file mode 100644 index 0000000..3cb5ae6 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c13.jpg diff --git a/vorlesungen/slides/7/images/c/c14.jpg b/vorlesungen/slides/7/images/c/c14.jpg Binary files differnew file mode 100644 index 0000000..6985e4f --- /dev/null +++ b/vorlesungen/slides/7/images/c/c14.jpg diff --git a/vorlesungen/slides/7/images/c/c15.jpg b/vorlesungen/slides/7/images/c/c15.jpg Binary files differnew file mode 100644 index 0000000..5bb5aed --- /dev/null +++ b/vorlesungen/slides/7/images/c/c15.jpg diff --git a/vorlesungen/slides/7/images/c/c16.jpg b/vorlesungen/slides/7/images/c/c16.jpg Binary files differnew file mode 100644 index 0000000..cc77fa1 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c16.jpg diff --git a/vorlesungen/slides/7/images/c/c17.jpg b/vorlesungen/slides/7/images/c/c17.jpg Binary files differnew file mode 100644 index 0000000..a60e2e9 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c17.jpg diff --git a/vorlesungen/slides/7/images/c/c18.jpg b/vorlesungen/slides/7/images/c/c18.jpg Binary files differnew file mode 100644 index 0000000..1d08c29 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c18.jpg diff --git a/vorlesungen/slides/7/images/c/c19.jpg b/vorlesungen/slides/7/images/c/c19.jpg Binary files differnew file mode 100644 index 0000000..9210c60 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c19.jpg diff --git a/vorlesungen/slides/7/images/c/c20.jpg b/vorlesungen/slides/7/images/c/c20.jpg Binary files differnew file mode 100644 index 0000000..8951883 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c20.jpg diff --git a/vorlesungen/slides/7/images/c/c21.jpg b/vorlesungen/slides/7/images/c/c21.jpg Binary files differnew file mode 100644 index 0000000..5169c7e --- /dev/null +++ b/vorlesungen/slides/7/images/c/c21.jpg diff --git a/vorlesungen/slides/7/images/c/c22.jpg b/vorlesungen/slides/7/images/c/c22.jpg Binary files differnew file mode 100644 index 0000000..bdeb90b --- /dev/null +++ b/vorlesungen/slides/7/images/c/c22.jpg diff --git a/vorlesungen/slides/7/images/c/c23.jpg b/vorlesungen/slides/7/images/c/c23.jpg Binary files differnew file mode 100644 index 0000000..fa3eac7 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c23.jpg diff --git a/vorlesungen/slides/7/images/c/c24.jpg b/vorlesungen/slides/7/images/c/c24.jpg Binary files differnew file mode 100644 index 0000000..52adc13 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c24.jpg diff --git a/vorlesungen/slides/7/images/c/c25.jpg b/vorlesungen/slides/7/images/c/c25.jpg Binary files differnew file mode 100644 index 0000000..d557497 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c25.jpg diff --git a/vorlesungen/slides/7/images/c/c26.jpg b/vorlesungen/slides/7/images/c/c26.jpg Binary files differnew file mode 100644 index 0000000..f825f49 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c26.jpg diff --git a/vorlesungen/slides/7/images/c/c27.jpg b/vorlesungen/slides/7/images/c/c27.jpg Binary files differnew file mode 100644 index 0000000..0de6c3e --- /dev/null +++ b/vorlesungen/slides/7/images/c/c27.jpg diff --git a/vorlesungen/slides/7/images/c/c28.jpg b/vorlesungen/slides/7/images/c/c28.jpg Binary files differnew file mode 100644 index 0000000..d9f89a4 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c28.jpg diff --git a/vorlesungen/slides/7/images/c/c29.jpg b/vorlesungen/slides/7/images/c/c29.jpg Binary files differnew file mode 100644 index 0000000..937f692 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c29.jpg diff --git a/vorlesungen/slides/7/images/c/c30.jpg b/vorlesungen/slides/7/images/c/c30.jpg Binary files differnew file mode 100644 index 0000000..45901cc --- /dev/null +++ b/vorlesungen/slides/7/images/c/c30.jpg diff --git a/vorlesungen/slides/7/images/c/c31.jpg b/vorlesungen/slides/7/images/c/c31.jpg Binary files differnew file mode 100644 index 0000000..eb52bec --- /dev/null +++ b/vorlesungen/slides/7/images/c/c31.jpg diff --git a/vorlesungen/slides/7/images/c/c32.jpg b/vorlesungen/slides/7/images/c/c32.jpg Binary files differnew file mode 100644 index 0000000..a011640 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c32.jpg diff --git a/vorlesungen/slides/7/images/c/c33.jpg b/vorlesungen/slides/7/images/c/c33.jpg Binary files differnew file mode 100644 index 0000000..ecbb8bd --- /dev/null +++ b/vorlesungen/slides/7/images/c/c33.jpg diff --git a/vorlesungen/slides/7/images/c/c34.jpg b/vorlesungen/slides/7/images/c/c34.jpg Binary files differnew file mode 100644 index 0000000..8a624d1 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c34.jpg diff --git a/vorlesungen/slides/7/images/c/c35.jpg b/vorlesungen/slides/7/images/c/c35.jpg Binary files differnew file mode 100644 index 0000000..33765a1 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c35.jpg diff --git a/vorlesungen/slides/7/images/c/c36.jpg b/vorlesungen/slides/7/images/c/c36.jpg Binary files differnew file mode 100644 index 0000000..e38a448 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c36.jpg diff --git a/vorlesungen/slides/7/images/c/c37.jpg b/vorlesungen/slides/7/images/c/c37.jpg Binary files differnew file mode 100644 index 0000000..9f823f4 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c37.jpg diff --git a/vorlesungen/slides/7/images/c/c38.jpg b/vorlesungen/slides/7/images/c/c38.jpg Binary files differnew file mode 100644 index 0000000..19c96fc --- /dev/null +++ b/vorlesungen/slides/7/images/c/c38.jpg diff --git a/vorlesungen/slides/7/images/c/c39.jpg b/vorlesungen/slides/7/images/c/c39.jpg Binary files differnew file mode 100644 index 0000000..c00482b --- /dev/null +++ b/vorlesungen/slides/7/images/c/c39.jpg diff --git a/vorlesungen/slides/7/images/c/c40.jpg b/vorlesungen/slides/7/images/c/c40.jpg Binary files differnew file mode 100644 index 0000000..de9fca4 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c40.jpg diff --git a/vorlesungen/slides/7/images/c/c41.jpg b/vorlesungen/slides/7/images/c/c41.jpg Binary files differnew file mode 100644 index 0000000..1b8a3d1 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c41.jpg diff --git a/vorlesungen/slides/7/images/c/c42.jpg b/vorlesungen/slides/7/images/c/c42.jpg Binary files differnew file mode 100644 index 0000000..6d4e5bc --- /dev/null +++ b/vorlesungen/slides/7/images/c/c42.jpg diff --git a/vorlesungen/slides/7/images/c/c43.jpg b/vorlesungen/slides/7/images/c/c43.jpg Binary files differnew file mode 100644 index 0000000..b39551f --- /dev/null +++ b/vorlesungen/slides/7/images/c/c43.jpg diff --git a/vorlesungen/slides/7/images/c/c44.jpg b/vorlesungen/slides/7/images/c/c44.jpg Binary files differnew file mode 100644 index 0000000..0fe56f6 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c44.jpg diff --git a/vorlesungen/slides/7/images/c/c45.jpg b/vorlesungen/slides/7/images/c/c45.jpg Binary files differnew file mode 100644 index 0000000..9196ad3 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c45.jpg diff --git a/vorlesungen/slides/7/images/c/c46.jpg b/vorlesungen/slides/7/images/c/c46.jpg Binary files differnew file mode 100644 index 0000000..a4f5823 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c46.jpg diff --git a/vorlesungen/slides/7/images/c/c47.jpg b/vorlesungen/slides/7/images/c/c47.jpg Binary files differnew file mode 100644 index 0000000..18474dd --- /dev/null +++ b/vorlesungen/slides/7/images/c/c47.jpg diff --git a/vorlesungen/slides/7/images/c/c48.jpg b/vorlesungen/slides/7/images/c/c48.jpg Binary files differnew file mode 100644 index 0000000..d839014 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c48.jpg diff --git a/vorlesungen/slides/7/images/c/c49.jpg b/vorlesungen/slides/7/images/c/c49.jpg Binary files differnew file mode 100644 index 0000000..3cb5cb0 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c49.jpg diff --git a/vorlesungen/slides/7/images/c/c50.jpg b/vorlesungen/slides/7/images/c/c50.jpg Binary files differnew file mode 100644 index 0000000..de32f8b --- /dev/null +++ b/vorlesungen/slides/7/images/c/c50.jpg diff --git a/vorlesungen/slides/7/images/c/c51.jpg b/vorlesungen/slides/7/images/c/c51.jpg Binary files differnew file mode 100644 index 0000000..4bbc224 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c51.jpg diff --git a/vorlesungen/slides/7/images/c/c52.jpg b/vorlesungen/slides/7/images/c/c52.jpg Binary files differnew file mode 100644 index 0000000..ebf1db6 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c52.jpg diff --git a/vorlesungen/slides/7/images/c/c53.jpg b/vorlesungen/slides/7/images/c/c53.jpg Binary files differnew file mode 100644 index 0000000..2ece537 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c53.jpg diff --git a/vorlesungen/slides/7/images/c/c54.jpg b/vorlesungen/slides/7/images/c/c54.jpg Binary files differnew file mode 100644 index 0000000..0ffbac2 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c54.jpg diff --git a/vorlesungen/slides/7/images/c/c55.jpg b/vorlesungen/slides/7/images/c/c55.jpg Binary files differnew file mode 100644 index 0000000..5f75419 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c55.jpg diff --git a/vorlesungen/slides/7/images/c/c56.jpg b/vorlesungen/slides/7/images/c/c56.jpg Binary files differnew file mode 100644 index 0000000..5c0f9ae --- /dev/null +++ b/vorlesungen/slides/7/images/c/c56.jpg diff --git a/vorlesungen/slides/7/images/c/c57.jpg b/vorlesungen/slides/7/images/c/c57.jpg Binary files differnew file mode 100644 index 0000000..9b61179 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c57.jpg diff --git a/vorlesungen/slides/7/images/c/c58.jpg b/vorlesungen/slides/7/images/c/c58.jpg Binary files differnew file mode 100644 index 0000000..81d2173 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c58.jpg diff --git a/vorlesungen/slides/7/images/c/c59.jpg b/vorlesungen/slides/7/images/c/c59.jpg Binary files differnew file mode 100644 index 0000000..0ae9bac --- /dev/null +++ b/vorlesungen/slides/7/images/c/c59.jpg diff --git a/vorlesungen/slides/7/images/c/c60.jpg b/vorlesungen/slides/7/images/c/c60.jpg Binary files differnew file mode 100644 index 0000000..2bc77e7 --- /dev/null +++ b/vorlesungen/slides/7/images/c/c60.jpg diff --git a/vorlesungen/slides/7/images/common.inc b/vorlesungen/slides/7/images/common.inc new file mode 100644 index 0000000..b028956 --- /dev/null +++ b/vorlesungen/slides/7/images/common.inc @@ -0,0 +1,70 @@ +//
+// common.inc
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+
+global_settings {
+ assumed_gamma 1
+}
+
+#declare imagescale = 0.025;
+#declare O = <0, 0, 0>;
+#declare at = 0.015;
+
+camera {
+ location <18, 15, -50>
+ look_at <0.0, 0.5, 0>
+ right 16/9 * x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <-40, 30, -50> color White
+ area_light <1,0,0> <0,0,1>, 10, 10
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+#macro arrow(from, to, arrowthickness, c)
+#declare arrowdirection = vnormalize(to - from);
+#declare arrowlength = vlength(to - from);
+union {
+ sphere {
+ from, 1.1 * arrowthickness
+ }
+ cylinder {
+ from,
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ arrowthickness
+ }
+ cone {
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ 2 * arrowthickness,
+ to,
+ 0
+ }
+ pigment {
+ color c
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#declare l = 1.2;
+
+arrow(< -l, 0, 0 >, < l, 0, 0 >, at, White)
+arrow(< 0, 0, -l >, < 0, 0, l >, at, White)
+arrow(< 0, -l, 0 >, < 0, l, 0 >, at, White)
+
diff --git a/vorlesungen/slides/7/images/commutator.ini b/vorlesungen/slides/7/images/commutator.ini new file mode 100644 index 0000000..44a5ac5 --- /dev/null +++ b/vorlesungen/slides/7/images/commutator.ini @@ -0,0 +1,8 @@ +Input_File_Name=commutator.pov
+Initial_Frame=1
+Final_Frame=60
+Initial_Clock=1
+Final_Clock=60
+Cyclic_Animation=off
+Pause_when_Done=off
+
diff --git a/vorlesungen/slides/7/images/commutator.m b/vorlesungen/slides/7/images/commutator.m new file mode 100644 index 0000000..3f5ea17 --- /dev/null +++ b/vorlesungen/slides/7/images/commutator.m @@ -0,0 +1,111 @@ +#
+# commutator.m
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+
+X = [
+ 0, 0, 0;
+ 0, 0, -1;
+ 0, 1, 0
+];
+
+Y = [
+ 0, 0, 1;
+ 0, 0, 0;
+ -1, 0, 0
+];
+
+Z = [
+ 0, -1, 0;
+ 1, 0, 0;
+ 0, 0, 0
+];
+
+function retval = Dx(alpha)
+ retval = [
+ 1, 0, 0 ;
+ 0, cos(alpha), -sin(alpha);
+ 0, sin(alpha), cos(alpha)
+ ];
+end
+
+function retval = Dy(beta)
+ retval = [
+ cos(beta), 0, sin(beta);
+ 0, 1, 0 ;
+ -sin(beta), 0, cos(beta)
+ ];
+end
+
+t = 0.9;
+P = Dx(t) * Dy(t)
+Q = Dy(t) * Dx(t)
+P - Q
+(P - Q) * [0;0;1]
+
+function retval = kurven(filename, t)
+ retval = -1;
+ N = 20;
+ fn = fopen(filename, "w");
+ fprintf(fn, "//\n");
+ fprintf(fn, "// %s\n", filename);
+ fprintf(fn, "//\n");
+ fprintf(fn, "#macro XYkurve()\n");
+ for i = (0:N-1)
+ v1 = Dx(t * i / N) * [0;0;1];
+ v2 = Dx(t * (i+1) / N) * [0;0;1];
+ fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
+ v1(1,1), v1(3,1), v1(2,1));
+ fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n",
+ v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1));
+ end
+ for i = (0:N-1)
+ v1 = Dx(t) * Dy(t * i / N) * [0;0;1];
+ v2 = Dx(t) * Dy(t * (i+1) / N) * [0;0;1];
+ fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
+ v1(1,1), v1(3,1), v1(2,1));
+ fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n",
+ v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1));
+ end
+ fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
+ v2(1,1), v2(3,1), v2(2,1));
+ fprintf(fn, "#end\n");
+ fprintf(fn, "#declare finalXY = <%.4f, %.4f, %.4f>;\n",
+ v2(1,1), v2(3,1), v2(2,1));
+ fprintf(fn, "#macro YXkurve()\n");
+ for i = (0:N-1)
+ v1 = Dy(t * i / N) * [0;0;1];
+ v2 = Dy(t * (i+1) / N) * [0;0;1];
+ fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
+ v1(1,1), v1(3,1), v1(2,1));
+ fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n",
+ v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1));
+ end
+ for i = (0:N-1)
+ v1 = Dy(t) * Dx(t * i / N) * [0;0;1];
+ v2 = Dy(t) * Dx(t * (i+1) / N) * [0;0;1];
+ fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
+ v1(1,1), v1(3,1), v1(2,1));
+ fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n",
+ v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1));
+ end
+ fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
+ v2(1,1), v2(3,1), v2(2,1));
+ fprintf(fn, "#end\n");
+ fprintf(fn, "#declare finalYX = <%.4f, %.4f, %.4f>;\n",
+ v2(1,1), v2(3,1), v2(2,1));
+
+ fclose(fn);
+ retval = 0;
+end
+
+function retval = kurve(i)
+ n = pi / 180;
+ filename = sprintf("f/%04d.inc", i);
+ kurven(filename, n * i);
+end
+
+for i = (1:60)
+ kurve(i);
+end
diff --git a/vorlesungen/slides/7/images/commutator.pov b/vorlesungen/slides/7/images/commutator.pov new file mode 100644 index 0000000..8229a06 --- /dev/null +++ b/vorlesungen/slides/7/images/commutator.pov @@ -0,0 +1,59 @@ +//
+// commutator.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+sphere { O, 0.99
+ pigment {
+ color rgbt<1,1,1,0.5>
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+#declare filename = concat("f/", str(clock, -4, 0), ".inc");
+
+#include filename
+
+#declare n1 = vcross(<0,1,0>, finalXY);
+#declare n2 = vcross(<0,1,0>, finalYX);
+
+intersection {
+ sphere { O, 1 }
+ plane { -n1, 0 }
+ plane { n2, 0 }
+ pigment {
+ color rgb<0,0.4,0.1>
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+union {
+ XYkurve()
+ pigment {
+ color Red
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+union {
+ YXkurve()
+ pigment {
+ color Blue
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
diff --git a/vorlesungen/slides/7/images/rodriguez.jpg b/vorlesungen/slides/7/images/rodriguez.jpg Binary files differnew file mode 100644 index 0000000..5c49700 --- /dev/null +++ b/vorlesungen/slides/7/images/rodriguez.jpg diff --git a/vorlesungen/slides/7/images/rodriguez.png b/vorlesungen/slides/7/images/rodriguez.png Binary files differnew file mode 100644 index 0000000..6d9e9e4 --- /dev/null +++ b/vorlesungen/slides/7/images/rodriguez.png diff --git a/vorlesungen/slides/7/images/rodriguez.pov b/vorlesungen/slides/7/images/rodriguez.pov new file mode 100644 index 0000000..62306f8 --- /dev/null +++ b/vorlesungen/slides/7/images/rodriguez.pov @@ -0,0 +1,118 @@ +//
+// rodriguez.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+
+global_settings {
+ assumed_gamma 1
+}
+
+#declare imagescale = 0.020;
+#declare O = <0, 0, 0>;
+#declare at = 0.015;
+
+camera {
+ location <8, 15, -50>
+ look_at <0.1, 0.475, 0>
+ right 16/9 * x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <-4, 20, -50> color White
+ area_light <1,0,0> <0,0,1>, 10, 10
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+#macro arrow(from, to, arrowthickness, c)
+#declare arrowdirection = vnormalize(to - from);
+#declare arrowlength = vlength(to - from);
+union {
+ sphere {
+ from, 1.1 * arrowthickness
+ }
+ cylinder {
+ from,
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ arrowthickness
+ }
+ cone {
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ 2 * arrowthickness,
+ to,
+ 0
+ }
+ pigment {
+ color c
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#declare K = vnormalize(<0.2,1,0.1>);
+#declare X = vnormalize(<1.1,1,-1.2>);
+#declare O = <0,0,0>;
+
+#declare r = vlength(vcross(K, X)) / vlength(K);
+
+#declare l = 1.0;
+
+arrow(< -l, 0, 0 >, < l, 0, 0 >, at, White)
+arrow(< 0, 0, -l >, < 0, 0, l >, at, White)
+arrow(< 0, -l, 0 >, < 0, l, 0 >, at, White)
+
+arrow(O, X, at, Red)
+arrow(O, K, at, Blue)
+
+#macro punkt(H,phi)
+ ((H-vdot(K,H)*K)*cos(phi) + vcross(K,H)*sin(phi) + vdot(K,X)*K)
+#end
+
+cone { vdot(K, X) * K, r, O, 0
+ pigment {
+ color rgbt<0.6,0.6,0.6,0.5>
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+
+union {
+ #declare phistep = pi / 100;
+ #declare phi = 0;
+ #while (phi < 2 * pi - phistep/2)
+ sphere { punkt(K, phi), at/2 }
+ cylinder {
+ punkt(X, phi),
+ punkt(X, phi + phistep),
+ at/2
+ }
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color Orange
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+arrow(vdot(K,X)*K, punkt(X, 0), at, Yellow)
+#declare Darkgreen = rgb<0,0.5,0>;
+arrow(vdot(K,X)*K, punkt(X, pi/2), at, Darkgreen)
diff --git a/vorlesungen/slides/7/kommutator.tex b/vorlesungen/slides/7/kommutator.tex new file mode 100644 index 0000000..9000160 --- /dev/null +++ b/vorlesungen/slides/7/kommutator.tex @@ -0,0 +1,166 @@ +%
+% template.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Kommutator in $\operatorname{SO}(3)$}
+\vspace{-20pt}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\def\t{14.0cm}
+\ifthenelse{\boolean{presentation}}{
+\only<1>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c01.jpg}};}
+\only<2>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c02.jpg}};}
+\only<3>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c03.jpg}};}
+\only<4>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c04.jpg}};}
+\only<5>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c05.jpg}};}
+\only<6>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c06.jpg}};}
+\only<7>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c07.jpg}};}
+\only<8>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c08.jpg}};}
+\only<9>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c09.jpg}};}
+\only<10>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c10.jpg}};}
+\only<11>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c11.jpg}};}
+\only<12>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c12.jpg}};}
+\only<13>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c13.jpg}};}
+\only<14>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c14.jpg}};}
+\only<15>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c15.jpg}};}
+\only<16>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c16.jpg}};}
+\only<17>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c17.jpg}};}
+\only<18>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c18.jpg}};}
+\only<19>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c19.jpg}};}
+\only<20>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c20.jpg}};}
+\only<21>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c21.jpg}};}
+\only<22>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c22.jpg}};}
+\only<23>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c23.jpg}};}
+\only<24>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c24.jpg}};}
+\only<25>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c25.jpg}};}
+\only<26>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c26.jpg}};}
+\only<27>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c27.jpg}};}
+\only<28>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c28.jpg}};}
+\only<29>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c29.jpg}};}
+\only<30>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c30.jpg}};}
+\only<31>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c31.jpg}};}
+\only<32>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c32.jpg}};}
+\only<33>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c33.jpg}};}
+\only<34>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c34.jpg}};}
+\only<35>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c35.jpg}};}
+\only<36>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c36.jpg}};}
+\only<37>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c37.jpg}};}
+\only<38>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c38.jpg}};}
+\only<39>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c39.jpg}};}
+\only<40>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c40.jpg}};}
+\only<41>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c41.jpg}};}
+\only<42>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c42.jpg}};}
+\only<43>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c43.jpg}};}
+\only<44>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c44.jpg}};}
+\only<45>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c45.jpg}};}
+\only<46>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c46.jpg}};}
+\only<47>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c47.jpg}};}
+\only<48>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c48.jpg}};}
+\only<49>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c49.jpg}};}
+\only<50>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c50.jpg}};}
+\only<51>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c51.jpg}};}
+\only<52>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c52.jpg}};}
+\only<53>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c53.jpg}};}
+\only<54>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c54.jpg}};}
+\only<55>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c55.jpg}};}
+\only<56>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c56.jpg}};}
+\only<57>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c57.jpg}};}
+\only<58>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c58.jpg}};}
+\only<59>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c59.jpg}};}
+}{}
+\only<60>{\node at (0,0) {
+\includegraphics[width=\t]{../slides/7/images/c/c60.jpg}};}
+\coordinate (A) at (-0.3,3);
+\coordinate (B) at (-1.1,2);
+\coordinate (C) at (-2.1,-1.2);
+\draw[->,color=red,line width=1.4pt]
+ (A)
+ to[out=-143,in=60]
+ (B)
+ to[out=-120,in=80]
+ (C);
+%\fill[color=red] (B) circle[radius=0.08];
+\node[color=red] at (-1.2,1.5) [above left] {$D_{x,\alpha}$};
+\coordinate (D) at (0.3,3.2);
+\coordinate (E) at (1.8,2.8);
+\coordinate (F) at (5.2,-0.3);
+\draw[->,color=blue,line width=1.4pt]
+ (D)
+ to[out=-10,in=157]
+ (E)
+ to[out=-23,in=120]
+ (F);
+\fill[color=blue] (E) circle[radius=0.08];
+\node[color=blue] at (2.4,2.4) [above right] {$D_{y,\beta}$};
+\draw[->,color=darkgreen,line width=1.4pt]
+ (0.7,-3.1) to[out=1,in=-160] (3.9,-2.6);
+\node[color=darkgreen] at (2.5,-3.4) {$D_{z,\gamma}$};
+\end{tikzpicture}
+\end{center}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/kurven.tex b/vorlesungen/slides/7/kurven.tex new file mode 100644 index 0000000..bca8417 --- /dev/null +++ b/vorlesungen/slides/7/kurven.tex @@ -0,0 +1,104 @@ +%
+% kurven.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Kurven und Tangenten}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Kurven}
+Kurve in $\mathbb{R}^n$:
+\vspace{-12pt}
+\[
+\gamma
+\colon
+I=[a,b] \to \mathbb{R}^n
+:
+t\mapsto \gamma(t)
+\uncover<2->{
+=
+\begin{pmatrix}
+x_1(t)\\
+x_2(t)\\
+\vdots\\
+x_n(t)
+\end{pmatrix}
+}
+\]
+\vspace{-15pt}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\coordinate (A) at (1,0.5);
+\coordinate (B) at (4,0.5);
+\coordinate (C) at (2,2.2);
+\coordinate (D) at (5,2);
+\coordinate (E) at ($(C)+(80:2)$);
+
+\draw[color=red,line width=1.4pt]
+ (A) to[in=-160] (B) to[out=20,in=-100] (C) to[out=80] (D);
+\fill[color=red] (C) circle[radius=0.06];
+\node[color=red] at (C) [left] {$\gamma(t)$};
+
+\uncover<4->{
+ \draw[->,color=blue,line width=1.4pt,shorten <= 0.06cm] (C) -- (E);
+ \node[color=blue] at (E) [right] {$\dot{\gamma}(t)$};
+}
+
+\uncover<2->{
+ \draw[->] (-0.1,0) -- (5.9,0) coordinate[label={$x_1$}];
+ \draw[->] (0,-0.1) -- (0,4.3) coordinate[label={right:$x_2$}];
+}
+\end{tikzpicture}
+\end{center}
+\end{block}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<4->{%
+\begin{block}{Tangenten}
+Ableitung
+\[
+\frac{d}{dt}\gamma(t)
+=
+\dot{\gamma}(t)
+=
+\begin{pmatrix}
+\dot{x}_1(t)\\
+\dot{x}_2(t)\\
+\vdots\\
+\dot{x}_n(t)
+\end{pmatrix}
+\]
+\uncover<5->{%
+Lineare Approximation:
+\[
+\gamma(t+h)
+=
+\gamma(t)
++
+\dot{\gamma}(t) \cdot h
++
+o(h)
+\]}%
+\vspace{-10pt}
+\begin{itemize}
+\item<6->
+Sinnvoll, weil sowohl $\gamma(t)$ und $\dot{\gamma}(t)$
+in $\mathbb{R}^n$ liegen
+\item<7->
+Gilt auch für
+\[
+\operatorname{GL}_n(\mathbb{R})
+\uncover<8->{\subset M_n(\mathbb{R})}
+\uncover<9->{ = \mathbb{R}^{n\times n}}
+\]
+\end{itemize}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/liealgebra.tex b/vorlesungen/slides/7/liealgebra.tex new file mode 100644 index 0000000..59c9121 --- /dev/null +++ b/vorlesungen/slides/7/liealgebra.tex @@ -0,0 +1,85 @@ +%
+% liealgebra.tex -- Lie-Algebra
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Lie-Algebra}
+\ifthenelse{\boolean{presentation}}{\vspace{-15pt}}{\vspace{-8pt}}
+\begin{block}{Vektorraum}
+Tangentialvektoren im Punkt $I$:
+\begin{center}
+\begin{tabular}{>{$}c<{$}|p{6cm}|>{$}c<{$}}
+\text{Lie-Gruppe $G$}&Tangentialvektoren&\text{Lie-Algebra $LG$} \\
+\hline
+\uncover<2->{
+\operatorname{GL}_n(\mathbb{R})
+& beliebige Matrizen
+& M_n(\mathbb{R})
+}
+\\
+\uncover<3->{
+\operatorname{O(n)}
+& antisymmetrische Matrizen
+& \operatorname{o}(n)
+}
+\\
+\uncover<4->{
+\operatorname{SL}_n(\mathbb{R})
+& spurlose Matrizen
+& \operatorname{sl}_2(\mathbb{R})
+}
+\\
+\uncover<5->{
+\operatorname{U(n)}
+& antihermitesche Matrizen
+& \operatorname{u}(n)
+}
+\\
+\uncover<6->{
+\operatorname{SU(n)}
+& spurlose, antihermitesche Matrizen
+& \operatorname{su}(n)
+}
+\end{tabular}
+\end{center}
+\end{block}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.40\textwidth}
+\uncover<7->{%
+\begin{block}{Lie-Klammer}
+Kommutator: $[A,B] = AB-BA$
+\end{block}}
+\uncover<8->{%
+\begin{block}{Nachprüfen}
+$[A,B]\in LG$
+für $A,B\in LG$
+\end{block}}
+\end{column}
+\begin{column}{0.56\textwidth}
+\uncover<9->{%
+\begin{block}{Algebraische Eigenschaften}
+\begin{itemize}
+\item<10-> antisymmetrisch: $[A,B]=-[B,A]$
+\item<11-> Jacobi-Identität
+\[
+[A,[B,C]]+
+[B,[C,A]]+
+[C,[A,B]]
+= 0
+\]
+\end{itemize}
+\vspace{-13pt}
+\uncover<12->{%
+{\usebeamercolor[fg]{title}
+Beispiel:} $\mathbb{R}^3$ mit Vektorprodukt $\mathstrut = \operatorname{so}(3)$
+}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/mannigfaltigkeit.tex b/vorlesungen/slides/7/mannigfaltigkeit.tex new file mode 100644 index 0000000..f88042a --- /dev/null +++ b/vorlesungen/slides/7/mannigfaltigkeit.tex @@ -0,0 +1,46 @@ +%
+% mannigfaltigkeit.tex -- Mannigfaltigkeit
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Mannigfaltigkeit}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{center}
+\includegraphics[width=\textwidth]{../../buch/chapters/60-gruppen/images/karten.pdf}
+\end{center}
+\end{column}
+\begin{column}{0.48\textwidth}
+\begin{block}{Definition}
+\begin{itemize}
+\item<2-> Karte: Abbildung $\varphi_\alpha\colon U_\alpha\to\mathbb{R}^n$
+\item<3-> differenzierbare Kartenwechsel: Koordinatenumrechnung im Überschneidungsgebiet
+\[
+\varphi_\beta\circ\varphi_\alpha^{-1}
+\colon
+\varphi_\alpha(U_\alpha\cap U_\beta)
+\to
+\varphi_\beta(U_\alpha\cap U_\beta)
+\]
+\item<4-> Atlas: Menge von Karten, die die ganze Mannigfaltigkeit überdecken
+\end{itemize}
+\end{block}
+\vspace{-7pt}
+\uncover<5->{%
+\begin{block}{Lokal$\mathstrut\cong\mathbb{R}^n$}
+Differenzierbare Mannigfaltigkeiten sehen lokal wie $\mathbb{R}^n$ aus
+\end{block}}
+\vspace{-3pt}
+\uncover<6->{%
+\begin{block}{Lie-Gruppe}
+Gruppe und Mannigfaltigkeit
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/parameter.tex b/vorlesungen/slides/7/parameter.tex new file mode 100644 index 0000000..afc67c5 --- /dev/null +++ b/vorlesungen/slides/7/parameter.tex @@ -0,0 +1,107 @@ +%
+% parameter.tex -- Parametrisierung der Matrizen
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+\definecolor{darkyellow}{rgb}{1,0.8,0}
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Drehungen Parametrisieren}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.4\textwidth}
+\begin{block}{Drehung um Achsen}
+\vspace{-12pt}
+\begin{align*}
+\uncover<2->{
+D_{x,\alpha}
+&=
+\begin{pmatrix}
+1&0&0\\0&\cos\alpha&-\sin\alpha\\0&\sin\alpha&\cos\alpha
+\end{pmatrix}
+}
+\\
+\uncover<3->{
+D_{y,\beta}
+&=
+\begin{pmatrix}
+\cos\beta&0&\sin\beta\\0&1&0\\-\sin\beta&0&\cos\beta
+\end{pmatrix}
+}
+\\
+\uncover<4->{
+D_{z,\gamma}
+&=
+\begin{pmatrix}
+\cos\gamma&-\sin\gamma&0\\\sin\gamma&\cos\gamma&0\\0&0&1
+\end{pmatrix}
+}
+\intertext{\uncover<5->{beliebige Drehung:}}
+\uncover<5->{
+D
+&=
+D_{x,\alpha}
+D_{y,\beta}
+D_{z,\gamma}
+}
+\end{align*}
+\end{block}
+\end{column}
+\begin{column}{0.56\textwidth}
+\uncover<6->{%
+\begin{block}{Drehung um $\vec{\omega}\in\mathbb{R}^3$: 3-dimensional}
+\uncover<7->{%
+$\omega=|\vec{\omega}|=\mathstrut$Drehwinkel
+}
+\\
+\uncover<8->{%
+$\vec{k}=\vec{\omega}^0=\mathstrut$Drehachse
+}
+\[
+\uncover<9->{
+{\color{red}\vec{x}}
+\mapsto
+}
+\uncover<10->{
+({\color{darkyellow}\vec{x} -(\vec{k}\cdot\vec{x})\vec{k}})
+\cos\omega
++
+}
+\uncover<11->{
+({\color{darkgreen}\vec{x}\times\vec{k}}) \sin\omega
++
+}
+\uncover<9->{
+{\color{blue}\vec{k}} (\vec{k}\cdot\vec{x})
+}
+\]
+\vspace{-40pt}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\uncover<9->{
+ \node at (0,0)
+ {\includegraphics[width=\textwidth]{../slides/7/images/rodriguez.jpg}};
+ \node[color=red] at (1.6,-0.9) {$\vec{x}$};
+ \node[color=blue] at (0.5,2) {$\vec{k}$};
+}
+\uncover<11->{
+ \node[color=darkgreen] at (-3,1.1) {$\vec{x}\times\vec{k}$};
+}
+\uncover<10->{
+ \node[color=yellow] at (2.2,-0.2)
+ {$\vec{x}-(\vec{x}\cdot\vec{k})\vec{k}$};
+}
+\end{tikzpicture}
+\end{center}
+\end{block}}
+\end{column}
+\end{columns}
+\vspace{-15pt}
+\uncover<5->{%
+{\usebeamercolor[fg]{title}Dimension:} $\operatorname{SO}(3)$ ist eine
+dreidimensionale Gruppe}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/semi.tex b/vorlesungen/slides/7/semi.tex new file mode 100644 index 0000000..d74b7d0 --- /dev/null +++ b/vorlesungen/slides/7/semi.tex @@ -0,0 +1,117 @@ +%
+% semi.tex -- Beispiele: semidirekte Produkte
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Drehung/Skalierung und Verschiebung}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Skalierung und Verschiebung}
+Gruppe $G=\{(e^s,t)\;|\;s,t\in\mathbb{R}\}$
+\\
+Wirkung auf $\mathbb{R}$:
+\[
+x\mapsto \underbrace{e^s\cdot x}_{\text{Skalierung}} \mathstrut+ t
+\]
+\end{block}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<2->{%
+\begin{block}{Drehung und Verschiebung}
+Gruppe
+$G=
+\{ (\alpha,\vec{t})
+\;|\;
+\alpha\in\mathbb{R},\vec{t}\in\mathbb{R}^2
+\}$
+Wirkung auf $\mathbb{R}^2$:
+\[
+\vec{x}\mapsto \underbrace{D_\alpha \vec{x}}_{\text{Drehung}} \mathstrut+ \vec{t}
+\]
+\end{block}}
+\end{column}
+\end{columns}
+\vspace{-15pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\uncover<3->{%
+\begin{block}{Verknüpfung}
+\vspace{-15pt}
+\begin{align*}
+(e^{s_1},t_1)(e^{s_2},t_2)x
+&\uncover<4->{=
+(e^{s_1},t_1)(e^{s_2}x+t_2)}
+\\
+&\uncover<5->{=
+e^{s_1+s_2}x + e^{s_1}t_2+t_1}
+\\
+\uncover<6->{
+(e^{s_1},t_1)(e^{s_2},t_2)
+&=
+(e^{s_1}e^{s_2},t_1+e^{s_1}t_2)}
+\end{align*}
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<7->{%
+\begin{block}{Verknüpfung}
+\vspace{-15pt}
+\begin{align*}
+(\alpha_1,\vec{t}_1)
+(\alpha_2,\vec{t}_2)
+\vec{x}
+&\uncover<8->{=
+(\alpha_1,\vec{t}_1)(D_{\alpha_2}\vec{x}+\vec{t}_2)}
+\\
+&\uncover<9->{=D_{\alpha_1+\alpha_2}\vec{x} + D_{\alpha_1}\vec{t}_2+\vec{t}_1}
+\\
+\uncover<10->{
+(\alpha_1,\vec{t}_1)
+(\alpha_2,\vec{t}_2)
+&=
+(\alpha_1+\alpha_2, D_{\alpha_1}\vec{t}_2+\vec{t}_1)
+}
+\end{align*}
+\end{block}}
+\end{column}
+\end{columns}
+\vspace{-10pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\uncover<11->{%
+\begin{block}{Matrixschreibweise}
+\vspace{-12pt}
+\[
+g=(e^s,t) =
+\begin{pmatrix}
+e^s&t\\
+0&1
+\end{pmatrix}
+\quad\text{auf}\quad
+\begin{pmatrix}x\\1\end{pmatrix}
+\]
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<12->{%
+\begin{block}{Matrixschreibweise}
+\vspace{-12pt}
+\[
+g=(\alpha,\vec{t}) =
+\begin{pmatrix}
+D_{\alpha}&\vec{t}\\
+0&1
+\end{pmatrix}
+\quad\text{auf}\quad
+\begin{pmatrix}\vec{x}\\1\end{pmatrix}
+\]
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/sl2.tex b/vorlesungen/slides/7/sl2.tex new file mode 100644 index 0000000..58e87a1 --- /dev/null +++ b/vorlesungen/slides/7/sl2.tex @@ -0,0 +1,242 @@ +%
+% sl2.tex -- Beispiel: Parametrisierung von SL_2(R)
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t,fragile]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{$\operatorname{SL}_2(\mathbb{R})\subset\operatorname{GL}_n(\mathbb{R})$}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.44\textwidth}
+\begin{block}{Determinante}
+\[
+A=\begin{pmatrix}
+a&b\\
+c&d
+\end{pmatrix}
+\;\Rightarrow\;
+\det A = ad-bc
+\]
+\end{block}
+\end{column}
+\begin{column}{0.52\textwidth}
+\begin{block}{Dimension}
+\[
+4\; \text{Variablen}
+-
+1\; \text{Bedingung}
+=
+3\; \text{Dimensionen}
+\]
+\end{block}
+\end{column}
+\end{columns}
+\vspace{-10pt}
+\uncover<3->{%
+\begin{columns}[t,onlytextwidth]
+\def\s{0.94}
+\begin{column}{0.33\textwidth}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick,scale=\s]
+\begin{scope}
+ \clip (-2.1,-2.1) rectangle (2.3,2.3);
+ \fill[color=blue!20] (-1,-1) rectangle (1,1);
+ \foreach \x in {-2,...,2}{
+ \draw[color=blue,line width=0.3pt] (\x,-3) -- (\x,3);
+ }
+ \foreach \y in {-2,...,2}{
+ \draw[color=blue,line width=0.3pt] (-3,\y) -- (3,\y);
+ }
+ \ifthenelse{\boolean{presentation}}{
+ \foreach \d in {4,...,10}{
+ \only<\d>{
+ \pgfmathparse{1+(\d-4)/10}
+ \xdef\t{\pgfmathresult}
+ \fill[color=red!40,opacity=0.5]
+ ({-\t},{-1/\t}) rectangle (\t,{1/\t});
+ \foreach \x in {-2,...,2}{
+ \draw[color=red,line width=0.3pt]
+ ({\x*\t},-3) -- ({\x*\t},3);
+ }
+ \foreach \y in {-3,...,3}{
+ \draw[color=red,line width=0.3pt]
+ (-3,{\y/\t}) -- (3,{\y/\t});
+ }
+ }
+ }
+ }{}
+ \uncover<11->{
+ \xdef\t{1.6}
+ \fill[color=red!40,opacity=0.5]
+ ({-\t},{-1/\t}) rectangle (\t,{1/\t});
+ \foreach \x in {-2,...,2}{
+ \draw[color=red,line width=0.3pt]
+ ({\x*\t},-3) -- ({\x*\t},3);
+ }
+ \foreach \y in {-3,...,3}{
+ \draw[color=red,line width=0.3pt]
+ (-3,{\y/\t}) -- (3,{\y/\t});
+ }
+ }
+\end{scope}
+\draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}];
+\draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+\uncover<3->{%
+ \fill[color=white,opacity=0.8] (-1.5,-2.8) rectangle (1.5,-1.3);
+ \node at (0,-2.1) {$
+ D
+ =
+ \begin{pmatrix} e^t & 0 \\ 0 & e^{-t} \end{pmatrix}
+ $};
+}
+\end{tikzpicture}
+\end{center}
+\end{column}
+\begin{column}{0.33\textwidth}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick,scale=\s]
+\fill[color=blue!20] (-1,-1) rectangle (1,1);
+\begin{scope}
+ \clip (-2.1,-2.1) rectangle (2.3,2.3);
+ \foreach \x in {-2,...,2}{
+ \draw[color=blue,line width=0.3pt] (\x,-3) -- (\x,3);
+ }
+ \foreach \y in {-2,...,2}{
+ \draw[color=blue,line width=0.3pt] (-3,\y) -- (3,\y);
+ }
+ \ifthenelse{\boolean{presentation}}{
+ \foreach \d in {11,...,17}{
+ \only<\d>{
+ \pgfmathparse{(\d-11)/10}
+ \xdef\t{\pgfmathresult}
+ \fill[color=red!40,opacity=0.5]
+ ({-1+\t*(-1)},{-1})
+ --
+ ({1+\t*(-1)},{-1})
+ --
+ ({1+\t},{1})
+ --
+ ({-1+\t},{1})
+ -- cycle;
+ \foreach \x in {-3,...,3}{
+ \draw[color=red,line width=0.3pt]
+ ({\x+\t*(-3)},-3) -- ({\x+\t*(3)},3);
+ }
+ \foreach \y in {-3,...,3}{
+ \draw[color=red,line width=0.3pt]
+ ({-3+\t*\y},\y) -- ({3+\t*\y},\y);
+ }
+ }
+ }
+ }{}
+ \uncover<18->{
+ \xdef\t{0.6}
+ \fill[color=red!40,opacity=0.5]
+ ({-1+\t*(-1)},{-1})
+ --
+ ({1+\t*(-1)},{-1})
+ --
+ ({1+\t},{1})
+ --
+ ({-1+\t},{1})
+ -- cycle;
+ \foreach \x in {-3,...,3}{
+ \draw[color=red,line width=0.3pt]
+ ({\x+\t*(-3)},-3) -- ({\x+\t*(3)},3);
+ }
+ \foreach \y in {-3,...,3}{
+ \draw[color=red,line width=0.3pt]
+ ({-3+\t*\y},\y) -- ({3+\t*\y},\y);
+ }
+ }
+\end{scope}
+\draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}];
+\draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+\uncover<11->{
+ \fill[color=white,opacity=0.8] (-1.5,-2.8) rectangle (1.5,-1.3);
+ \node at (0,-2.1) {$
+ S
+ =
+ \begin{pmatrix} 1&s\\ 0&1\end{pmatrix}
+ $};
+}
+\end{tikzpicture}
+\end{center}
+\end{column}
+\begin{column}{0.33\textwidth}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick,scale=\s]
+\fill[color=blue!20] (-1,-1) rectangle (1,1);
+\begin{scope}
+ \clip (-2.1,-2.1) rectangle (2.3,2.3);
+ \foreach \x in {-2,...,2}{
+ \draw[color=blue,line width=0.3pt] (\x,-3) -- (\x,3);
+ }
+ \foreach \y in {-2,...,2}{
+ \draw[color=blue,line width=0.3pt] (-3,\y) -- (3,\y);
+ }
+ \ifthenelse{\boolean{presentation}}{
+ \foreach \d in {18,...,24}{
+ \only<\d>{
+ \pgfmathparse{(\d-18)/10}
+ \xdef\t{\pgfmathresult}
+ \fill[color=red!40,opacity=0.5]
+ (-1,{\t*(-1)-1})
+ --
+ (1,{\t*1-1})
+ --
+ (1,{\t*1+1})
+ --
+ (-1,{\t*(-1)+1})
+ -- cycle;
+ \foreach \x in {-3,...,3}{
+ \draw[color=red,line width=0.3pt]
+ (\x,{\x*\t-3}) -- (\x,{\x*\t+3});
+ }
+ \foreach \y in {-3,...,3}{
+ \draw[color=red,line width=0.3pt]
+ (-3,{-3*\t+\y}) -- (3,{3*\t+\y});
+ }
+ }
+ }
+ }{}
+ \uncover<25->{
+ \xdef\t{0.6}
+ \fill[color=red!40,opacity=0.5]
+ (-1,{\t*(-1)-1})
+ --
+ (1,{\t*1-1})
+ --
+ (1,{\t*1+1})
+ --
+ (-1,{\t*(-1)+1})
+ -- cycle;
+ \foreach \x in {-3,...,3}{
+ \draw[color=red,line width=0.3pt]
+ (\x,{\x*\t-3}) -- (\x,{\x*\t+3});
+ }
+ \foreach \y in {-3,...,3}{
+ \draw[color=red,line width=0.3pt]
+ (-3,{-3*\t+\y}) -- (3,{3*\t+\y});
+ }
+ }
+\end{scope}
+\draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}];
+\draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+\uncover<18->{%
+\fill[color=white,opacity=0.8] (-1.5,-2.8) rectangle (1.5,-1.3);
+ \node at (0,-2.1) {$
+ T
+ =
+ \begin{pmatrix} 1&0\\t&1\end{pmatrix}
+ $};
+}
+\end{tikzpicture}
+\end{center}
+\end{column}
+\end{columns}}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/7/symmetrien.tex b/vorlesungen/slides/7/symmetrien.tex new file mode 100644 index 0000000..8931a24 --- /dev/null +++ b/vorlesungen/slides/7/symmetrien.tex @@ -0,0 +1,145 @@ +%
+% symmetrien.tex -- Symmetrien
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Symmetrien}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Diskrete Symmetrien}
+\begin{itemize}
+\item<2->
+Ebenen-Spiegelung:
+\[
+{\tiny
+\begin{pmatrix*}[r] x_1\\x_2\\x_3 \end{pmatrix*}
+}
+\mapsto
+{\tiny
+\begin{pmatrix*}[r]-x_1\\x_2\\x_3 \end{pmatrix*}
+}
+\uncover<4->{\!,\;
+\vec{x}
+\mapsto
+\vec{x} -2 (\vec{n}\cdot\vec{x}) \vec{n}
+}
+\]
+\vspace{-10pt}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\def\a{10}
+\def\b{50}
+\def\r{2}
+\coordinate (O) at (0,0);
+\coordinate (A) at (\b:\r);
+\coordinate (B) at ({180+2*\a-\b}:\r);
+\coordinate (C) at ({90+\a}:{\r*cos(90+\a-\b)});
+\coordinate (N) at (\a:2);
+\coordinate (D) at (\a:{\r*cos(\b-\a)});
+\uncover<3->{
+\clip (-2.5,-0.45) rectangle (2.5,1.95);
+
+ \fill[color=darkgreen!20] (O) -- ({\a-90}:0.2) arc ({\a-90}:\a:0.2)
+ -- cycle;
+ \draw[->,color=darkgreen] (O) -- (N);
+ \node[color=darkgreen] at (N) [above] {$\vec{n}$};
+
+
+ \fill[color=blue!20] (C) -- ($(C)+(\a:0.2)$) arc (\a:{90+\a}:0.2)
+ -- cycle;
+ \fill[color=red] (O) circle[radius=0.06];
+ \draw[color=red] ({\a-90}:2) -- ({\a+90}:2);
+ \fill[color=blue] (C) circle[radius=0.06];
+ \draw[color=blue,line width=0.1pt] (A) -- (D);
+ \node[color=darkgreen] at (D) [below,rotate=\a]
+ {$(\vec{n}\cdot\vec{x})\vec{n}$};
+ \draw[color=blue,line width=0.5pt] (A)--(B);
+
+ \node[color=blue] at (A) [above right] {$\vec{x}$};
+ \node[color=blue] at (B) [above left] {$\vec{x}'$};
+
+ \node[color=red] at (O) [below left] {$O$};
+
+ \draw[->,color=blue,shorten <= 0.06cm,line width=1.4pt] (O) -- (A);
+ \draw[->,color=blue,shorten <= 0.06cm,line width=1.4pt] (O) -- (B);
+}
+
+\end{tikzpicture}
+\end{center}
+\vspace{-5pt}
+$\vec{n}$ ein Einheitsnormalenvektor auf der Ebene, $|\vec{n}|=1$
+\item<5->
+Punkt-Spiegelung:
+\[
+{\tiny
+\begin{pmatrix*}[r] x_1\\x_2\\x_3 \end{pmatrix*}
+}
+\mapsto
+-
+{\tiny
+\begin{pmatrix*}[r]x_1\\x_2\\x_3 \end{pmatrix*}
+}
+\]
+\end{itemize}
+\end{block}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<6->{%
+\begin{block}{Kontinuierliche Symmetrien}
+\begin{itemize}
+\item<7-> Translation:
+\(
+\vec{x} \mapsto \vec{x} + \vec{t}
+\)
+\item<8-> Drehung:
+\vspace{-3pt}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\def\a{25}
+\def\r{1.3}
+\coordinate (O) at (0,0);
+\begin{scope}
+\clip (-1.1,-0.1) rectangle (2.3,2.3);
+\draw[color=red] (O) circle[radius=2];
+\fill[color=blue!20] (O) -- (0:\r) arc (0:\a:\r) -- cycle;
+\fill[color=blue!20] (O) -- (90:\r) arc (90:{90+\a}:\r) -- cycle;
+\node at ({0.5*\a}:1) {$\alpha$};
+\node at ({90+0.5*\a}:1) {$\alpha$};
+\draw[->,color=blue,line width=1.4pt] (O) -- (\a:2);
+\draw[->,color=darkgreen,line width=1.4pt] (O) -- ({90+\a}:2);
+\end{scope}
+\draw[->] (-1.1,0) -- (2.3,0) coordinate[label={$x$}];
+\draw[->] (0,-0.1) -- (0,2.3) coordinate[label={right:$y$}];
+\end{tikzpicture}
+\end{center}
+\[
+\uncover<9->{%
+\begin{pmatrix}x\\y\end{pmatrix}
+\mapsto
+\begin{pmatrix}
+{\color{blue}\cos\alpha}&{\color{darkgreen}-\sin\alpha}\\
+{\color{blue}\sin\alpha}&{\color{darkgreen}\phantom{-}\cos\alpha}
+\end{pmatrix}
+\begin{pmatrix}x\\y\end{pmatrix}
+}
+\]
+\end{itemize}
+\end{block}}
+\vspace{-10pt}
+\uncover<10->{%
+\begin{block}{Definition}
+Längen/Winkel bleiben erhalten
+\\
+\uncover<11->{%
+$\Rightarrow$ $\exists$ Erhaltungsgrösse}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/Makefile.inc b/vorlesungen/slides/Makefile.inc index 4bf9348..130fa28 100644 --- a/vorlesungen/slides/Makefile.inc +++ b/vorlesungen/slides/Makefile.inc @@ -1,17 +1,21 @@ -# -# Makefile.inc -- additional depencencies -# -# (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil -# -include ../slides/0/Makefile.inc -include ../slides/1/Makefile.inc -include ../slides/2/Makefile.inc -include ../slides/3/Makefile.inc -include ../slides/4/Makefile.inc -include ../slides/5/Makefile.inc -include ../slides/8/Makefile.inc -include ../slides/9/Makefile.inc - -slides = \ - $(chapter0) $(chapter1) $(chapter2) $(chapter3) $(chapter4) \ - $(chapter5) $(chapter8) $(chapter9) +#
+# Makefile.inc -- additional depencencies
+#
+# (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil
+#
+include ../slides/0/Makefile.inc
+include ../slides/1/Makefile.inc
+include ../slides/2/Makefile.inc
+include ../slides/3/Makefile.inc
+include ../slides/4/Makefile.inc
+include ../slides/5/Makefile.inc
+include ../slides/6/Makefile.inc
+include ../slides/7/Makefile.inc
+include ../slides/8/Makefile.inc
+include ../slides/9/Makefile.inc
+include ../slides/a/Makefile.inc
+
+slides = \
+ $(chapter0) $(chapter1) $(chapter2) $(chapter3) $(chapter4) \
+ $(chapter5) $(chapter6) $(chapter7) $(chapter8) $(chapter9) \
+ $(chaptera)
diff --git a/vorlesungen/slides/a/Makefile.inc b/vorlesungen/slides/a/Makefile.inc new file mode 100644 index 0000000..0c7ab0b --- /dev/null +++ b/vorlesungen/slides/a/Makefile.inc @@ -0,0 +1,25 @@ +# +# Makefile.inc -- additional depencencies +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +chaptera = \ + ../slides/a/dc/prinzip.tex \ + ../slides/a/dc/effizient.tex \ + ../slides/a/dc/beispiel.tex \ + \ + ../slides/a/ecc/gruppendh.tex \ + ../slides/a/ecc/kurve.tex \ + ../slides/a/ecc/inverse.tex \ + ../slides/a/ecc/operation.tex \ + ../slides/a/ecc/quadrieren.tex \ + ../slides/a/ecc/oakley.tex \ + \ + ../slides/a/aes/bytes.tex \ + ../slides/a/aes/sinverse.tex \ + ../slides/a/aes/blocks.tex \ + ../slides/a/aes/keys.tex \ + ../slides/a/aes/runden.tex \ + \ + ../slides/a/chapter.tex + diff --git a/vorlesungen/slides/a/aes/blocks.tex b/vorlesungen/slides/a/aes/blocks.tex new file mode 100644 index 0000000..9e95a86 --- /dev/null +++ b/vorlesungen/slides/a/aes/blocks.tex @@ -0,0 +1,193 @@ +% +% blocks.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\def\s{0.4} +\def\punkt#1#2{({#1*\s},{(3-#2)*\s})} +\def\feld#1#2#3{ + \fill[color=#3] \punkt{(#1-0.5)}{(#2+0.5)} + rectangle \punkt{(#1+0.5)}{(#2-0.5)}; +} +\definecolor{darkgreen}{rgb}{0,0.6,0} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Blocks} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Blocks} +$4\times k$ Matrizen mit $k=4,\dots,8$ +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\xdef\s{0.4} +\foreach \i in {0,...,31}{ + \pgfmathparse{mod(\i,4)} + \xdef\y{\pgfmathresult} + \pgfmathparse{int(\i/4)} + \xdef\x{\pgfmathresult} + \node at \punkt{\x}{\y} {\tiny $\i$}; +} +\foreach \x in {-0.5,0.5,...,7.5}{ + \draw \punkt{\x}{-0.5} -- \punkt{\x}{3.5}; +} +\foreach \y in {-0.5,0.5,...,3.5}{ + \draw \punkt{-0.5}{\y} -- \punkt{7.5}{\y}; +} +\end{tikzpicture} +\end{center} +\uncover<2->{% +Spalten sind $4$-dimensionale $\mathbb{F}_{2^8}$-Vektoren +} +\end{block} +\uncover<3->{% +\begin{block}{Zeilenshift} +\begin{center} +\begin{tikzpicture}[>=latex,thick] + +\xdef\s{0.35} + +\begin{scope} + \feld{0}{3}{red!20} + \feld{0}{2}{red!20} + \feld{0}{1}{red!20} + \feld{0}{0}{red!20} + + \feld{1}{3}{red!10} + \feld{1}{2}{red!10} + \feld{1}{1}{red!10} + \feld{1}{0}{red!10} + + \feld{2}{3}{yellow!20} + \feld{2}{2}{yellow!20} + \feld{2}{1}{yellow!20} + \feld{2}{0}{yellow!20} + + \feld{3}{3}{yellow!10} + \feld{3}{2}{yellow!10} + \feld{3}{1}{yellow!10} + \feld{3}{0}{yellow!10} + + \feld{4}{3}{darkgreen!20} + \feld{4}{2}{darkgreen!20} + \feld{4}{1}{darkgreen!20} + \feld{4}{0}{darkgreen!20} + + \feld{5}{3}{darkgreen!10} + \feld{5}{2}{darkgreen!10} + \feld{5}{1}{darkgreen!10} + \feld{5}{0}{darkgreen!10} + + \feld{6}{3}{blue!20} + \feld{6}{2}{blue!20} + \feld{6}{1}{blue!20} + \feld{6}{0}{blue!20} + + \feld{7}{3}{blue!10} + \feld{7}{2}{blue!10} + \feld{7}{1}{blue!10} + \feld{7}{0}{blue!10} + + \foreach \x in {-0.5,0.5,...,7.5}{ + \draw \punkt{\x}{-0.5} -- \punkt{\x}{3.5}; + } + \foreach \y in {-0.5,0.5,...,3.5}{ + \draw \punkt{-0.5}{\y} -- \punkt{7.5}{\y}; + } +\end{scope} + +\begin{scope}[xshift=3.5cm] + \feld{0}{0}{red!20} + \feld{1}{1}{red!20} + \feld{2}{2}{red!20} + \feld{3}{3}{red!20} + + \feld{1}{0}{red!10} + \feld{2}{1}{red!10} + \feld{3}{2}{red!10} + \feld{4}{3}{red!10} + + \feld{2}{0}{yellow!20} + \feld{3}{1}{yellow!20} + \feld{4}{2}{yellow!20} \feld{5}{3}{yellow!20} + + \feld{3}{0}{yellow!10} + \feld{4}{1}{yellow!10} + \feld{5}{2}{yellow!10} + \feld{6}{3}{yellow!10} + + \feld{4}{0}{darkgreen!20} + \feld{5}{1}{darkgreen!20} + \feld{6}{2}{darkgreen!20} + \feld{7}{3}{darkgreen!20} + + \feld{5}{0}{darkgreen!10} + \feld{6}{1}{darkgreen!10} + \feld{7}{2}{darkgreen!10} + \feld{0}{3}{darkgreen!10} + + \feld{6}{0}{blue!20} + \feld{7}{1}{blue!20} + \feld{0}{2}{blue!20} + \feld{1}{3}{blue!20} + + \feld{7}{0}{blue!10} + \feld{0}{1}{blue!10} + \feld{1}{2}{blue!10} + \feld{2}{3}{blue!10} + + \foreach \x in {-0.5,0.5,...,7.5}{ + \draw \punkt{\x}{-0.5} -- \punkt{\x}{3.5}; + } + \foreach \y in {-0.5,0.5,...,3.5}{ + \draw \punkt{-0.5}{\y} -- \punkt{7.5}{\y}; + } + + \node at \punkt{-1.5}{1.5} {$\rightarrow$}; +\end{scope} + +\end{tikzpicture} +\end{center} +\end{block}} +\end{column} +\begin{column}{0.50\textwidth} +\uncover<4->{% +\begin{block}{Spalten mischen} +Lineare Operation auf Spaltenvektoren mit Matrix +\begin{align*} +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} +\\ +\uncover<5->{ +\det C +&= +\texttt{0a}_{16} +} +\uncover<6->{ +\ne 0} +\uncover<7->{ +\quad\Rightarrow\quad \exists C^{-1} +} +\end{align*} +\end{block}} +\uncover<8->{% +\begin{block}{Als Polynommultiplikation} +Spalten = Polynome in $\mathbb{F}_{2^8}[Z]/(Z^4-1)$, +\\ +\uncover<9->{% +$C=\mathstrut$ Multiplikation mit +\[ +c(Z) = \texttt{03}_{16}Z^3 + Z^2 + Z + \texttt{02}_{16} +\] +} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/aes/bytes.tex b/vorlesungen/slides/a/aes/bytes.tex new file mode 100644 index 0000000..e873e9a --- /dev/null +++ b/vorlesungen/slides/a/aes/bytes.tex @@ -0,0 +1,96 @@ +% +% bytes.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Bytes} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Endlicher Körper} +1 Byte = 8 bits: $\mathbb{F}_{2^8}$ +mit Minimalpolynom: +\[ +m(X) = X^8+X^4+X^3+X+1 +\] +\end{block} +\vspace{-10pt} +\uncover<2->{% +\begin{block}{Inverse $a^{-1}$} +Mit dem euklidischen Algorithmus +\[ +\begin{aligned} +sa+tm&=1 +&&\Rightarrow& +\uncover<3->{ +a^{-1} &= s} +\\ +& +&&& +\uncover<4->{ +\overline{a} +&= +\begin{cases} +a^{-1}&\; a\ne 0\\ +0 &\; a = 0 +\end{cases}} +\end{aligned} +\] +\end{block}} +\vspace{-10pt} +\uncover<5->{% +\begin{block}{Vektorraum} +$\mathbb{R}_{2^8}$ +ist ein $8$-dimensionaler $\mathbb{F}_2$-Vektorraum +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{S-Box} +$S\colon a\mapsto A\overline{a}+q$ mit +\begin{align*} +\only<1-7>{\phantom{\mathstrut^{-1}}A} +\ifthenelse{\boolean{presentation}}{}{\only<8>{A^{-1}}} +&=\only<1-7>{\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}} +\ifthenelse{\boolean{presentation}}{}{ +\only<8->{ +\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}} +} +\\ +q&=X^7+X^6+X+1 +\end{align*} +\end{block}} +\vspace{-10pt} +\uncover<7->{% +\begin{block}{Inverse $S$-Box} +\vspace{-10pt} +\[ +S^{-1}(b) = \overline{A^{-1}(b-q)} +\] +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/aes/keys.tex b/vorlesungen/slides/a/aes/keys.tex new file mode 100644 index 0000000..d2ab712 --- /dev/null +++ b/vorlesungen/slides/a/aes/keys.tex @@ -0,0 +1,36 @@ +% +% keys.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Schlüsselerzeugung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/keys.pdf} +\end{center} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Algorithmus} +\begin{enumerate} +\item<2-> +Startblock: begebener Schlüssel +\item<3-> +Zeilenpermutation: +$\pi=\mathstrut$ Multiplikation mit $Z^3=Z^{-1}$ +\item<4-> $S$-Box +\item<5-> $r_i$: Addition einer Konstanten +\[ +r_i = (\texttt{02}_{16})^{i-1} +\] +\end{enumerate} +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/aes/runden.tex b/vorlesungen/slides/a/aes/runden.tex new file mode 100644 index 0000000..570b577 --- /dev/null +++ b/vorlesungen/slides/a/aes/runden.tex @@ -0,0 +1,47 @@ +% +% runden.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{$n$ Runden} +\vspace{-23pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Verschlüsselung} +In Runde $i=0,\dots,n-1$ +\begin{enumerate} +\item<2-> Wende die $S$-Box auf alle Bytes des Blocks an +\item<3-> Führe den Zeilenschift durch +\item<4-> Mische die Spalten +\item<5-> Berechne den Schlüsselblock $i$ ($i=0$: ursprünglicher Schlüssel) +\item<6-> Addiere (XOR) den Rundenschlüssel +\end{enumerate} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<7->{% +\begin{block}{Entschlüsselung} +In Runde $i=0,\dots,n-1$ +\begin{enumerate} +\item<8-> Addiere den Rundenschlüssel $n-1-i$ +\item<9-> Invertiere Spaltenmischung (mit $C^{-1}$) +\item<10-> Invertiere den Zeilenshift +\item<11-> Wende $S^{-1}$ an auf jedes Byte +\end{enumerate} +\end{block}} +\end{column} +\end{columns} +\uncover<12->{% +\begin{block}{Charakteristika} +\begin{itemize} +\item<13-> Invertierbar +\item<14-> Skalierbar: beliebig grosse Blöcke (Vielfache von 32\,bit) +\item<15-> Keine ``magischen'' Schritte +\end{itemize} +\end{block}} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/aes/sinverse.tex b/vorlesungen/slides/a/aes/sinverse.tex new file mode 100644 index 0000000..059100e --- /dev/null +++ b/vorlesungen/slides/a/aes/sinverse.tex @@ -0,0 +1,15 @@ +% +% sinverse.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Inverse $S$-Box} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/sbox.pdf} +\end{center} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/chapter.tex b/vorlesungen/slides/a/chapter.tex new file mode 100644 index 0000000..78eec84 --- /dev/null +++ b/vorlesungen/slides/a/chapter.tex @@ -0,0 +1,23 @@ +% +% chapter.tex +% +% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswi +% + +\folie{a/dc/prinzip.tex} +\folie{a/dc/effizient.tex} +\folie{a/dc/beispiel.tex} + +\folie{a/ecc/gruppendh.tex} +\folie{a/ecc/kurve.tex} +\folie{a/ecc/inverse.tex} +\folie{a/ecc/operation.tex} +\folie{a/ecc/quadrieren.tex} +\folie{a/ecc/oakley.tex} + +\folie{a/aes/bytes.tex} +\folie{a/aes/sinverse.tex} +\folie{a/aes/blocks.tex} +\folie{a/aes/keys.tex} +\folie{a/aes/runden.tex} + diff --git a/vorlesungen/slides/a/dc/beispiel.tex b/vorlesungen/slides/a/dc/beispiel.tex new file mode 100644 index 0000000..4c99e9e --- /dev/null +++ b/vorlesungen/slides/a/dc/beispiel.tex @@ -0,0 +1,54 @@ +% +% beispiel.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\def\u#1#2{\uncover<#1->{#2}} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Beispiel} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Aufgabe} +Berechne $1291^{17}\in\mathbb{F}_{2027}$ +\end{block} +\uncover<2->{% +\begin{block}{Exponent} +\vspace{-10pt} +\[ +17 = 2^4 + 1 += +\texttt{10001}_2 += +\texttt{0x11} +\] +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<3->{% +\begin{block}{Divide-and-Conquor} +\begin{center} +\begin{tabular}{|>{$}r<{$}>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} +\hline +i&2^i& a^{2^i} & n & n_i & m \\ +\hline +0& 1& 1291 & 17 & \u{4}{1}&\u{5}{ 1291}\\ +1& 2& \u{6}{ 487}& \u{7}{8}& \u{8}{0}& \u{9}{\color{gray}1291}\\ +2& 4&\u{10}{ 10}&\u{11}{4}&\u{12}{0}&\u{13}{\color{gray}1291}\\ +3& 8&\u{14}{ 100}&\u{15}{2}&\u{16}{0}&\u{17}{\color{gray}1291}\\ +4& 16&\u{18}{1892}&\u{19}{1}&\u{20}{1}&\u{21}{ 37}\\ +\hline +\end{tabular} +\end{center} +\end{block}} +\uncover<22->{% +\begin{block}{Resultat} +\(1291^{17} \equiv 37\mod 2027\) +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/dc/effizient.tex b/vorlesungen/slides/a/dc/effizient.tex new file mode 100644 index 0000000..327ee7e --- /dev/null +++ b/vorlesungen/slides/a/dc/effizient.tex @@ -0,0 +1,65 @@ +% +% effizient.tex -- Effiziente Berechnung der Potenz +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\definecolor{darkgreen}{rgb}{0,0.6,0} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Effiziente Berechnung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Prinzip} +\begin{enumerate} +\item<3-> {\color{red}Bits mit Shift isolieren} +\item<4-> {\color{blue}Laufend reduzieren} +\item<5-> {\color{darkgreen}effizient quadrieren} +\end{enumerate} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Algorithmus} +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\uncover<3->{ +\fill[color=red!20] (2.3,-2.44) rectangle (3.8,-1.98); +\fill[color=red!20] (1.45,-3.88) rectangle (3.2,-3.42); +} +\uncover<4->{ +\fill[color=blue!20] (2.15,-2.94) rectangle (3.7,-2.48); +} +\uncover<5->{ +\fill[color=darkgreen!20] (1.45,-4.37) rectangle (3.8,-3.91); +} +\node at (0,0) [below right] {\begin{minipage}{6cm}\obeylines +{\tt int potenz(int $a$, int $n$) \{}\\ +\hspace*{0.7cm}{\tt int m = 1;}\\ +\hspace*{0.7cm}{\tt int q = $a$;}\\ +\uncover<2->{% +\hspace*{0.7cm}{\tt while ($n$ > 0) \{}\\ +\uncover<3->{% +\hspace*{1.4cm}{\tt if (0x1 \& $n$) \{}\\ +\uncover<4->{% +\hspace*{2.1cm}{\tt m *= q;}\\ +}% +\hspace*{1.4cm}{\tt \}}\\ +\hspace*{1.4cm}{\tt $n$ >{}>= 1;}\\ +}% +\uncover<5->{% +\hspace*{1.4cm}{\tt q = sqr(q);}\\ +}% +\hspace*{0.7cm}{\tt \}}\\ +}% +\hspace*{0.7cm}{\tt return m;}\\ +{\tt \}} +\end{minipage}}; +\end{tikzpicture} +\end{center} +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/dc/naiv.txt b/vorlesungen/slides/a/dc/naiv.txt new file mode 100644 index 0000000..bf5569d --- /dev/null +++ b/vorlesungen/slides/a/dc/naiv.txt @@ -0,0 +1,2 @@ +int m = 1, i = 0; +while (i++ < n) { m *= a; } diff --git a/vorlesungen/slides/a/dc/prinzip.tex b/vorlesungen/slides/a/dc/prinzip.tex new file mode 100644 index 0000000..c75af61 --- /dev/null +++ b/vorlesungen/slides/a/dc/prinzip.tex @@ -0,0 +1,86 @@ +% +% prinzip.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Potenzieren $\mod p$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Aufgabe} +Berechne $a^n\in\mathbb{F}_p$ für grosses $n$ +\end{block} +\uncover<2->{% +\begin{block}{Mengengerüst} +\( +\log_2 n > 2000 +\) +\\ +\uncover<3->{% +RSA mit $N=pq$: Exponenten sind $e,d$, $e$ klein, aber +\( +ed\equiv 1 \mod \varphi(N) +\)} +\end{block}} +\uncover<4->{% +\begin{block}{Naive Idee} +\verbatiminput{../slides/a/dc/naiv.txt} +Laufzeit: $O(n) \uncover<5->{= O(2^{\log_2n})}$% +\uncover<5->{, d.~h.~exponentiell in der Bitlänge von $n$} +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{Idee 1: Exponent binär schreiben} +\vspace{-12pt} +\[ +n = n_k2^k + n_{k-1}2^{k-1} + \dots +n_12^1 + n_02^0 +\] +\end{block}} +\vspace{-5pt} +\uncover<7->{% +\begin{block}{Idee 2: Potenzgesetze} +\vspace{-12pt} +\[ +a^n += +a^{n_k2^k} +a^{n_{k-1}2^k} +\dots +a^{n_12^1} +a^{n_02^0} +\uncover<8->{= +\prod_{n_i = 1} +a^{2^i}} +\] +\end{block}} +\vspace{-15pt} +\uncover<9->{% +\begin{block}{Idee 3: Quadrieren} +\vspace{-10pt} +\begin{align*} +a^{2^i} +&= +a^{2\cdot 2^{i-1}} +\uncover<10->{= +(a^{2^{i-1}})^2} +\\ +&\uncover<11->{= +(\dots(a\underbrace{\mathstrut^2)^2\dots)^2}_{\displaystyle i}} +\end{align*} +\end{block}} +\vspace{-18pt} +\uncover<12->{% +\begin{block}{Laufzeit} +Multiplikationen: $\le 2 \cdot(\log_2(n) - 1)$ +\\ +\uncover<13->{Worst case Laufzeit: $O(\log_2 n)$} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/gruppendh.tex b/vorlesungen/slides/a/ecc/gruppendh.tex new file mode 100644 index 0000000..13d85c8 --- /dev/null +++ b/vorlesungen/slides/a/ecc/gruppendh.tex @@ -0,0 +1,51 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Diffie-Hellmann verallgemeinern} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Diffie-Hellman in $\mathbb{F}_p$\strut} +\begin{enumerate} +\item<2-> Parteien einigen sich auf $g\in \mathbb{F}_p$, $g\ne 0$, $g\ne 1$ +\item<3-> $A$ und $B$ wählen Exponenten $a,b\in \mathbb{N}$ +\item<4-> Parteien tauschen $u=g^a$ und $v=g^b$ aus +\item<5-> Parteien berechnen $v^a$ und $u^b$ +\[ +v^a = (g^b)^a = g^{ab} =(g^a)^b = u^b +\] +gemeinsamer privater Schlüssel +\end{enumerate} +\end{block} +\uncover<11->{% +{\usebeamercolor[fg]{title}Spezialfall:} $G=\mathbb{F}_p^*$ +} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{Diffie-Hellmann in $G$\strut} +\begin{enumerate} +\item<7-> Parteien einigen sich auf $g\in G$, $g\ne e$ +\item<8-> $A$ und $B$ wählen Exponenten $a,b\in \mathbb{N}$ +\item<9-> Parteien tauschen $u=g^a$ und $v=g^b$ aus +\item<10-> Parteien berechnen $v^a$ und $u^b$ +\[ +v^a = (g^b)^a = g^{ab} =(g^a)^b = u^b +\] +gemeinsamer privater Schlüssel +\end{enumerate} +\end{block}} +\uncover<12->{% +{\usebeamercolor[fg]{title}Idee:} Wähle effizient zu berechnende, ``grosse'' +Gruppen, mit ``komplizierter'' Multiplikation +} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/inverse.tex b/vorlesungen/slides/a/ecc/inverse.tex new file mode 100644 index 0000000..c50f698 --- /dev/null +++ b/vorlesungen/slides/a/ecc/inverse.tex @@ -0,0 +1,48 @@ +% +% inverse.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Involution/Inverse} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/elliptic.pdf} +\end{center} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{In speziellen Koordinaten} +\vspace{-12pt} +\[ +v^2 = u^3+Au+B +\] +\uncover<2->{invariant unter $v\mapsto -v$}% +\\ +\uncover<3->{{\color{red}geht nicht in $\mathbb{F}_2$}} +\end{block} +\uncover<4->{% +\begin{block}{Allgemein} +\vspace{-12pt} +\begin{align*} +Y^2+XY &= X^3 + aX+b +\\ +\uncover<5->{% +Y(Y+X) &= X^3 + aX + b} +\end{align*} +\uncover<6->{invariant unter} +\begin{align*} +\uncover<7->{X&\mapsto X,& Y&\mapsto -X-Y} +\\ +\uncover<8->{&&\Rightarrow X+Y&\mapsto -Y} +\end{align*} +\uncover<9->{Spezialfall $\mathbb{F}_2$: $Y\leftrightarrow X+Y$} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/kurve.tex b/vorlesungen/slides/a/ecc/kurve.tex new file mode 100644 index 0000000..04d15f8 --- /dev/null +++ b/vorlesungen/slides/a/ecc/kurve.tex @@ -0,0 +1,56 @@ +% +% kurve.tex -- elliptische Kurven +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Elliptische Kurven} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{center} +\uncover<5->{% +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/elliptic.pdf} +} +\end{center} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Allgemein} +mit $a,b\in\Bbbk$ +\[ +Y^2 + XY = X^3 + aX + b +\] +\end{block} +\vspace{-10pt} +\uncover<2->{% +\begin{block}{Spezielle Parametrisierung} +\vspace{-10pt} +\begin{align*} +Y^2 + XY + \frac14X^2 +&= +X^3 + \frac14X^2 + aX + b +\\ +\uncover<3->{ +(Y+\frac12X)^2 +&= +X^3 + \frac14X^2 + aX + b +}\\ +\uncover<4->{ +v^2 +&= +u^3+Au+B} +\end{align*} +\uncover<4->{mit +\[ +v=Y+{\textstyle\frac12}X, +\qquad +u=X-\frac1{12} +\]} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/oakley.tex b/vorlesungen/slides/a/ecc/oakley.tex new file mode 100644 index 0000000..6980c10 --- /dev/null +++ b/vorlesungen/slides/a/ecc/oakley.tex @@ -0,0 +1,85 @@ +% +% oakley.tex -- Oakley Gruppen +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Oakley-Gruppen} +\only<1>{% +\small +\verbatiminput{../slides/a/ecc/oakley1.txt} +$\approx 1.55252\cdot 10^{231}$ +} +\only<2>{% +\begin{block}{$\mathbb{F}_p$} +Endlicher Körper mit $p = $ +\verbatiminput{../slides/a/ecc/prime1.txt} +\end{block} +} +\only<3>{% +\small +\verbatiminput{../slides/a/ecc/oakley2.txt} +} +\only<4>{% +\begin{block}{$\mathbb{F}_p$} +Endlicher Körper mit $p = $ +\verbatiminput{../slides/a/ecc/prime2.txt} +$\approx 1.7977\cdot 10^{308}$ +\end{block} +} +\only<5>{% +\small +\verbatiminput{../slides/a/ecc/oakley3.txt} +} +\only<6>{% +\begin{block}{Oakley Gruppe 3} +\begin{align*} +m(x) &= x^{155} + x^{62} + 1 +\\ +a &= 0 +\\ +b &= \texttt{0x07338f} +\\ +g_x &= 0x7b = x^6 + x^5 + x^4 + x^3 + x + 1 +\\ +&= +x^{18}+x^{17}+x^{16} ++ +x^{13}+x^{12} ++ +x^{9}+x^{8}+x^{7} ++ +x^{3}+x^{1}+x^{1}+1 +\\ +|G|&=45671926166590716193865565914344635196769237316 = 4.5672\cdot 10^{46} +\\ +\log_2|G|&=155\,\text{bit} +\end{align*} +\end{block}} +\only<7>{% +\small +\verbatiminput{../slides/a/ecc/oakley4.txt} +} +\only<8>{% +\begin{block}{Oakley Gruppe 4} +\begin{align*} +m(x) &= x^{185} + x^{69} + 1 +\\ +a &= 0 +\\ +b &= \texttt{0x1ee9} = x^{12} + x^{11}+x^{10}+x^9 + x^7+x^6+x^5 + x^3+1 +\\ +g_x &= \texttt{0x18} = x^4+x^3 +\\ +|G| &= 49039857307708443467467104857652682248052385001045053116 +\\ +&= 4.9040\cdot 10^{55} +\\ +\log_2|G| &= 185 +\end{align*} +\end{block}} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/oakley1.txt b/vorlesungen/slides/a/ecc/oakley1.txt new file mode 100644 index 0000000..4cc31ae --- /dev/null +++ b/vorlesungen/slides/a/ecc/oakley1.txt @@ -0,0 +1,14 @@ +6.1 First Oakley Default Group + + Oakley implementations MUST support a MODP group with the following + prime and generator. This group is assigned id 1 (one). + + The prime is: 2^768 - 2 ^704 - 1 + 2^64 * { [2^638 pi] + 149686 } + Its hexadecimal value is + + FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 + 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD + EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 + E485B576 625E7EC6 F44C42E9 A63A3620 FFFFFFFF FFFFFFFF + + The generator is: 2. diff --git a/vorlesungen/slides/a/ecc/oakley2.txt b/vorlesungen/slides/a/ecc/oakley2.txt new file mode 100644 index 0000000..ddb2d2a --- /dev/null +++ b/vorlesungen/slides/a/ecc/oakley2.txt @@ -0,0 +1,16 @@ +6.2 Second Oakley Group + + IKE implementations SHOULD support a MODP group with the following + prime and generator. This group is assigned id 2 (two). + + The prime is 2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 }. + Its hexadecimal value is + + FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 + 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD + EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 + E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED + EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381 + FFFFFFFF FFFFFFFF + + The generator is 2 (decimal) diff --git a/vorlesungen/slides/a/ecc/oakley3.txt b/vorlesungen/slides/a/ecc/oakley3.txt new file mode 100644 index 0000000..ab2c78f --- /dev/null +++ b/vorlesungen/slides/a/ecc/oakley3.txt @@ -0,0 +1,17 @@ +6.3 Third Oakley Group + + IKE implementations SHOULD support a EC2N group with the following + characteristics. This group is assigned id 3 (three). The curve is + based on the Galois Field GF[2^155]. The field size is 155. The + irreducible polynomial for the field is: + u^155 + u^62 + 1. + The equation for the elliptic curve is: + y^2 + xy = x^3 + ax^2 + b. + + Field Size: 155 + Group Prime/Irreducible Polynomial: + 0x0800000000000000000000004000000000000001 + Group Generator One: 0x7b + Group Curve A: 0x0 + Group Curve B: 0x07338f + Group Order: 0X0800000000000000000057db5698537193aef944 diff --git a/vorlesungen/slides/a/ecc/oakley4.txt b/vorlesungen/slides/a/ecc/oakley4.txt new file mode 100644 index 0000000..3ec20cc --- /dev/null +++ b/vorlesungen/slides/a/ecc/oakley4.txt @@ -0,0 +1,17 @@ +6.4 Fourth Oakley Group + + IKE implementations SHOULD support a EC2N group with the following + characteristics. This group is assigned id 4 (four). The curve is + based on the Galois Field GF[2^185]. The field size is 185. The + irreducible polynomial for the field is: + u^185 + u^69 + 1. The + equation for the elliptic curve is: + y^2 + xy = x^3 + ax^2 + b. + + Field Size: 185 + Group Prime/Irreducible Polynomial: + 0x020000000000000000000000000000200000000000000001 + Group Generator One: 0x18 + Group Curve A: 0x0 + Group Curve B: 0x1ee9 + Group Order: 0X01ffffffffffffffffffffffdbf2f889b73e484175f94ebc diff --git a/vorlesungen/slides/a/ecc/operation.tex b/vorlesungen/slides/a/ecc/operation.tex new file mode 100644 index 0000000..61ef95d --- /dev/null +++ b/vorlesungen/slides/a/ecc/operation.tex @@ -0,0 +1,68 @@ +% +% operation.tex -- Gruppen-Operation auf einer elliptischen Kurve +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Gruppenoperation} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.40\textwidth} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/elliptic.pdf} +\end{center} +\vspace{-23pt} +\uncover<8->{% +\begin{block}{Verifizieren} +\begin{enumerate} +\item<9-> Assoziativ? +\item<10-> Neutrales Element $\mathstrut=\infty$ +\item<11-> Involution = Inverse? +\end{enumerate} +\end{block}} +\end{column} +\begin{column}{0.56\textwidth} +\begin{block}{Gerade} +$g_1,g_2\in G$, $t\in \Bbbk$ +\begin{align*} +g(t) +&= +tg_1+(1-t)g_2 +\\ +\uncover<2->{ +\begin{pmatrix}X(t)\\Y(t)\end{pmatrix} +&= +t\begin{pmatrix}x_1\\y_1\end{pmatrix} ++ +(1-t)\begin{pmatrix}x_2\\y_2\end{pmatrix} +\in\Bbbk^2 +} +\end{align*} +\end{block} +\vspace{-13pt} +\uncover<3->{% +\begin{block}{3. Schnittpunkt} +$g(t)$ einsetzen in die elliptische Kurve +\[ +p(t) += +Y(t)^2+X(t)Y(t)-X(t)^3-aX(t)-b=0 +\] +\vspace{-12pt} +\begin{enumerate} +\item<4-> +kubisches Polynom mit Nullstellen $t=0,1$ +\item<5-> +$p(t) $ ist durch $t(t-1)$ teilbar +\item<6-> +$p(t) = t(t-1)(Jt+K)=0 +\uncover<7->{\Rightarrow t=-K/J$} +\end{enumerate} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/prime1.txt b/vorlesungen/slides/a/ecc/prime1.txt new file mode 100644 index 0000000..eb4515d --- /dev/null +++ b/vorlesungen/slides/a/ecc/prime1.txt @@ -0,0 +1,5 @@ + 15 52518 09230 07089 35130 91813 12584 +81755 63133 40494 34514 31320 23511 94902 96623 99491 02107 +25866 94538 76591 64244 29100 07680 28886 42291 50803 71891 +80463 42632 72761 30312 82983 74438 08208 90196 28850 91706 +91316 59317 53674 69551 76311 98433 71637 22100 72105 77919 diff --git a/vorlesungen/slides/a/ecc/prime2.txt b/vorlesungen/slides/a/ecc/prime2.txt new file mode 100644 index 0000000..13458fb --- /dev/null +++ b/vorlesungen/slides/a/ecc/prime2.txt @@ -0,0 +1,8 @@ + 1797 69313 +48623 15907 70839 15679 37874 53197 86029 60487 56011 70644 +44236 84197 18021 61585 19368 94783 37958 64925 54150 21805 +65485 98050 36464 40548 19923 91000 50792 87700 33558 16639 +22955 31362 39076 50873 57599 14822 57486 25750 07425 30207 +74477 12589 55095 79377 78424 44242 66173 34727 62929 93876 +68709 20560 60502 70810 84290 76929 32019 12819 44676 27007 + diff --git a/vorlesungen/slides/a/ecc/primes b/vorlesungen/slides/a/ecc/primes new file mode 100644 index 0000000..3feea29 --- /dev/null +++ b/vorlesungen/slides/a/ecc/primes @@ -0,0 +1,13 @@ +#! /bin/bash +# +# primes +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +bc <<EOF +ibase=16 +FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF + +FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF + +EOF diff --git a/vorlesungen/slides/a/ecc/quadrieren.tex b/vorlesungen/slides/a/ecc/quadrieren.tex new file mode 100644 index 0000000..942c73b --- /dev/null +++ b/vorlesungen/slides/a/ecc/quadrieren.tex @@ -0,0 +1,59 @@ +% +% quadrieren.tex -- Quadrieren +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Quadrieren} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.40\textwidth} +\begin{block}{Problem} +\( g = g_1 = g_2 \) +$\Rightarrow$ +Tangente +\\ +\uncover<2->{{\color{red}ohne Analysis!}} +\end{block} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/elliptic.pdf} +\end{center} +\end{column} +\begin{column}{0.56\textwidth} +\uncover<3->{% +\begin{block}{Lösung} +Finde $h\in G$ derart, dass +\begin{align*} +g(t) +&= +tg + (1-t)h +\\ +\uncover<4->{% +\begin{pmatrix}X(t)\\Y(t)\end{pmatrix} +&= +t\begin{pmatrix}x_g\\y_g\end{pmatrix} ++(1-t) \begin{pmatrix}x_h\\y_h\end{pmatrix} +} +\end{align*} +\uncover<5->{eingesetzt +\[ +p(t) += +Y(t)^2+X(t)Y(t)-X(t)^3-aX(t)-b += +0 +\]}% +\uncover<6->{% +Nullstellen $0$ (doppelt) und $1$ hat:} +\[ +\uncover<7->{p(t) = c(t^3-t)} +\] +\uncover<8->{Koeffizientenvergleich: einfachere Gleichungen für $x_h$ und $y_h$} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/slides.tex b/vorlesungen/slides/slides.tex index b606375..6c24e22 100644 --- a/vorlesungen/slides/slides.tex +++ b/vorlesungen/slides/slides.tex @@ -47,15 +47,15 @@ \titel \input{5/chapter.tex} -%\title[Permutationen]{Permutationen} -%\section{Permutationen} -%\titel -%\input{6/chapter.tex} +\title[Permutationen]{Permutationen} +\section{Permutationen} +\titel +\input{6/chapter.tex} -%\title[Matrizengruppen]{Matrizengruppen} -%\section{Matrizengruppen} -%\titel -%\input{7/chapter.tex} +\title[Matrizengruppen]{Matrizengruppen} +\section{Matrizengruppen} +\titel +\input{7/chapter.tex} \title[Graphen]{Graphen} \section{Graphen} @@ -67,10 +67,10 @@ \titel \input{9/chapter.tex} -%\title[Krypto]{Anwendungen in Kryptographie und Codierungstheorie} -%\section{Krypto} -%\titel -%\input{a/chapter.tex} +\title[Krypto]{Anwendungen in Kryptographie und Codierungstheorie} +\section{Krypto} +\titel +\input{a/chapter.tex} %\title[Homologie]{Homologie} %\section{Homologie} diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index d079a05..ce63ae7 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -1,21 +1,23 @@ -% -% test.tex collection of all slides -% -% (c) 2019 Prof Dr Andreas Müller, Hochschule Rapperswil -% -%\folie{5/verzerrung.tex} -%\folie{5/plan.tex} -%\folie{5/planbeispiele.tex} -%\folie{5/approximation.tex} - -% XXX Visualisierung Cayley-Hamilton-Produkte -% XXX \folie{5/chvisual.tex} - -% XXX stone weierstrass incomplete -%\folie{5/stoneweierstrass.tex} -%\folie{5/swbeweis.tex} - -% XXX polynome auf dem spektrum -% XXX Motiviation für *-Operation -%\folie{5/normal.tex} -\folie{5/normalbeispiel34.tex} +%
+% test.tex collection of all slides
+%
+% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+
+%\folie{a/dc/prinzip.tex}
+%\folie{a/dc/effizient.tex}
+%\folie{a/dc/beispiel.tex}
+
+%\folie{a/ecc/gruppendh.tex}
+%\folie{a/ecc/kurve.tex}
+%\folie{a/ecc/inverse.tex}
+%\folie{a/ecc/operation.tex}
+%\folie{a/ecc/quadrieren.tex}
+%\folie{a/ecc/oakley.tex}
+
+%\folie{a/aes/bytes.tex}
+%\folie{a/aes/sinverse.tex}
+%\folie{a/aes/blocks.tex}
+\folie{a/aes/keys.tex}
+%\folie{a/aes/runden.tex}
+
diff --git a/vorlesungen/stream/background.png b/vorlesungen/stream/background.png Binary files differnew file mode 100644 index 0000000..6cd215d --- /dev/null +++ b/vorlesungen/stream/background.png diff --git a/vorlesungen/stream/background2.png b/vorlesungen/stream/background2.png Binary files differnew file mode 100644 index 0000000..43f8484 --- /dev/null +++ b/vorlesungen/stream/background2.png diff --git a/vorlesungen/stream/countdown.html b/vorlesungen/stream/countdown.html index 77f9ca9..739b39d 100644 --- a/vorlesungen/stream/countdown.html +++ b/vorlesungen/stream/countdown.html @@ -1,40 +1,40 @@ -<!DOCTYPE HTML> -<html> -<head> -<style> -p { -text-align: center; -font-size: 60px; -} -div { -font-family: "Courier"; -text-align: center; -font-size: 60px; -color: #990000; -} -</style> -</head> -<body> -<div id="demo"></div> -<script> -var deadline = new Date("Feb 22, 2021 17:00:00").getTime(); -var x = setInterval(function() { -var now = new Date().getTime(); -var t = deadline - now; -if (t > 0) { - var days = Math.floor(t / (1000 * 60 * 60 * 24)); - var hours = Math.floor((t%(1000 * 60 * 60 * 24))/(1000 * 60 * 60)); - var minutes = Math.floor((t % (1000 * 60 * 60)) / (1000 * 60)); - var seconds = Math.floor((t % (1000 * 60)) / 1000); - document.getElementById("demo").innerHTML - = ("00" + minutes).slice(-2) + ":" + ("00" + seconds).slice(-2); -} else { - document.getElementById("demo").innerHTML = "00:00"; -} -}, 1000); - -</script> - -</body> -</html> - +<!DOCTYPE HTML>
+<html>
+<head>
+<style>
+p {
+text-align: center;
+font-size: 60px;
+}
+div {
+font-family: "Courier";
+text-align: center;
+font-size: 60px;
+color: #990000;
+}
+</style>
+</head>
+<body>
+<div id="demo"></div>
+<script>
+var deadline = new Date("Mar 29, 2021 17:00:00").getTime();
+var x = setInterval(function() {
+var now = new Date().getTime();
+var t = deadline - now;
+if (t > 0) {
+ var days = Math.floor(t / (1000 * 60 * 60 * 24));
+ var hours = Math.floor((t%(1000 * 60 * 60 * 24))/(1000 * 60 * 60));
+ var minutes = Math.floor((t % (1000 * 60 * 60)) / (1000 * 60));
+ var seconds = Math.floor((t % (1000 * 60)) / 1000);
+ document.getElementById("demo").innerHTML
+ = ("00" + minutes).slice(-2) + ":" + ("00" + seconds).slice(-2);
+} else {
+ document.getElementById("demo").innerHTML = "00:00";
+}
+}, 1000);
+
+</script>
+
+</body>
+</html>
+
diff --git a/vorlesungen/stream/ende.html b/vorlesungen/stream/ende.html index 9dd27e1..cfd9e99 100644 --- a/vorlesungen/stream/ende.html +++ b/vorlesungen/stream/ende.html @@ -1,29 +1,30 @@ -<!DOCTYPE HTML> -<html> -<head> -<style> -p { -text-align: center; -font-size: 60px; -} -div { -font-family: "Courier"; -text-align: center; -font-size: 60px; -color: #990000; -} -</style> -</head> -<body> -<div id="demo"> -<p> -Vielen Dank für Ihren Besuch. -</p> -<p> -Fortsetzung der Seminar-Sitzung in -der BBB-Konferenz in Moodle. -</p> -</div> -</body> -</html> - +<!DOCTYPE HTML>
+<html>
+<head>
+<style>
+p {
+text-align: center;
+font-size: 60px;
+}
+div {
+font-family: "Courier";
+text-align: center;
+font-size: 60px;
+color: #990000;
+}
+</style>
+</head>
+<body>
+<div id="demo">
+<p>
+Vielen Dank für Ihren Besuch.
+</p>
+<div style="margin: 200px;"/> </div>
+<p>
+Fortsetzung der Seminar-Sitzung in
+der BBB-Konferenz in Moodle.
+</p>
+</div>
+</body>
+</html>
+
diff --git a/vorlesungen/stream/thumbnail.jpg b/vorlesungen/stream/thumbnail.jpg Binary files differindex e9a5064..9eef656 100644 --- a/vorlesungen/stream/thumbnail.jpg +++ b/vorlesungen/stream/thumbnail.jpg |