diff options
author | Joshua Baer <the.baer.joshua@gmail.ch> | 2021-04-12 21:51:55 +0200 |
---|---|---|
committer | Joshua Baer <the.baer.joshua@gmail.ch> | 2021-04-12 21:51:55 +0200 |
commit | 2db90bfe4b174570424c408f04000902411d8755 (patch) | |
tree | e297a6274ff748de27257bffd7097c6b362ba12d /buch/chapters | |
parent | add new files (diff) | |
download | SeminarMatrizen-2db90bfe4b174570424c408f04000902411d8755.tar.gz SeminarMatrizen-2db90bfe4b174570424c408f04000902411d8755.zip |
update to current state of book
Diffstat (limited to 'buch/chapters')
36 files changed, 8544 insertions, 8544 deletions
diff --git a/buch/chapters/30-endlichekoerper/images/binomial2.tex b/buch/chapters/30-endlichekoerper/images/binomial2.tex index 1856844..e816b36 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial2.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial2.tex @@ -1,325 +1,325 @@ -% -% binomial2.tex -- Parität der Binomialkoeffizienten -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\def\s{0.37} -\pgfmathparse{\s*sqrt(3)/2} -\xdef\ys{\pgfmathresult} -\pgfmathparse{\s/2} -\xdef\xs{\pgfmathresult} - -% -% #1 = n -% #2 = k -% -\def\dreieck#1#2{ - \fill[color=black] ({\xs*(-#1+2*#2)},{-\ys*#1}) - -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) - -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; -} -\def\zeile#1{ - \fill[color=red!40] - ({\xs*(-#1)},{-\ys*#1}) - -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) - -- ({\xs*(#1+1)},{-\ys*(#1+1)}) - -- ({\xs*(#1)},{-\ys*#1}) -- cycle; -} - -\zeile{2} -\zeile{4} -\zeile{8} -\zeile{16} -\zeile{32} - -\dreieck{0}{0} - -\dreieck{1}{0} -\dreieck{1}{1} - -\dreieck{2}{0} -\dreieck{2}{2} - -\dreieck{3}{0} -\dreieck{3}{1} -\dreieck{3}{2} -\dreieck{3}{3} - -\dreieck{4}{0} -\dreieck{4}{4} - -\dreieck{5}{0} -\dreieck{5}{1} -\dreieck{5}{4} -\dreieck{5}{5} - -\dreieck{6}{0} -\dreieck{6}{2} -\dreieck{6}{4} -\dreieck{6}{6} - -\dreieck{7}{0} -\dreieck{7}{1} -\dreieck{7}{2} -\dreieck{7}{3} -\dreieck{7}{4} -\dreieck{7}{5} -\dreieck{7}{6} -\dreieck{7}{7} - -\dreieck{8}{0} -\dreieck{8}{8} - -\dreieck{9}{0} -\dreieck{9}{1} -\dreieck{9}{8} -\dreieck{9}{9} - -\dreieck{10}{0} -\dreieck{10}{2} -\dreieck{10}{8} -\dreieck{10}{10} - -\dreieck{11}{0} -\dreieck{11}{1} -\dreieck{11}{2} -\dreieck{11}{3} -\dreieck{11}{8} -\dreieck{11}{9} -\dreieck{11}{10} -\dreieck{11}{11} - -\dreieck{12}{0} -\dreieck{12}{4} -\dreieck{12}{8} -\dreieck{12}{12} - -\dreieck{13}{0} -\dreieck{13}{1} -\dreieck{13}{4} -\dreieck{13}{5} -\dreieck{13}{8} -\dreieck{13}{9} -\dreieck{13}{12} -\dreieck{13}{13} - -\dreieck{14}{0} -\dreieck{14}{2} -\dreieck{14}{4} -\dreieck{14}{6} -\dreieck{14}{8} -\dreieck{14}{10} -\dreieck{14}{12} -\dreieck{14}{14} - -\dreieck{15}{0} -\dreieck{15}{1} -\dreieck{15}{2} -\dreieck{15}{3} -\dreieck{15}{4} -\dreieck{15}{5} -\dreieck{15}{6} -\dreieck{15}{7} -\dreieck{15}{8} -\dreieck{15}{9} -\dreieck{15}{10} -\dreieck{15}{11} -\dreieck{15}{12} -\dreieck{15}{13} -\dreieck{15}{14} -\dreieck{15}{15} - -\dreieck{16}{0} -\dreieck{16}{16} - -\dreieck{17}{0} -\dreieck{17}{1} -\dreieck{17}{16} -\dreieck{17}{17} - -\dreieck{18}{0} -\dreieck{18}{2} -\dreieck{18}{16} -\dreieck{18}{18} - -\dreieck{19}{0} -\dreieck{19}{1} -\dreieck{19}{2} -\dreieck{19}{3} -\dreieck{19}{16} -\dreieck{19}{17} -\dreieck{19}{18} -\dreieck{19}{19} - -\dreieck{20}{0} -\dreieck{20}{4} -\dreieck{20}{16} -\dreieck{20}{20} - -\dreieck{21}{0} -\dreieck{21}{1} -\dreieck{21}{4} -\dreieck{21}{5} -\dreieck{21}{16} -\dreieck{21}{17} -\dreieck{21}{20} -\dreieck{21}{21} - -\dreieck{22}{0} -\dreieck{22}{2} -\dreieck{22}{4} -\dreieck{22}{6} -\dreieck{22}{16} -\dreieck{22}{18} -\dreieck{22}{20} -\dreieck{22}{22} - -\dreieck{23}{0} -\dreieck{23}{1} -\dreieck{23}{2} -\dreieck{23}{3} -\dreieck{23}{4} -\dreieck{23}{5} -\dreieck{23}{6} -\dreieck{23}{7} -\dreieck{23}{16} -\dreieck{23}{17} -\dreieck{23}{18} -\dreieck{23}{19} -\dreieck{23}{20} -\dreieck{23}{21} -\dreieck{23}{22} -\dreieck{23}{23} - -\dreieck{24}{0} -\dreieck{24}{8} -\dreieck{24}{16} -\dreieck{24}{24} - -\dreieck{25}{0} -\dreieck{25}{1} -\dreieck{25}{8} -\dreieck{25}{9} -\dreieck{25}{16} -\dreieck{25}{17} -\dreieck{25}{24} -\dreieck{25}{25} - -\dreieck{26}{0} -\dreieck{26}{2} -\dreieck{26}{8} -\dreieck{26}{10} -\dreieck{26}{16} -\dreieck{26}{18} -\dreieck{26}{24} -\dreieck{26}{26} - -\dreieck{27}{0} -\dreieck{27}{1} -\dreieck{27}{2} -\dreieck{27}{3} -\dreieck{27}{8} -\dreieck{27}{9} -\dreieck{27}{10} -\dreieck{27}{11} -\dreieck{27}{16} -\dreieck{27}{17} -\dreieck{27}{18} -\dreieck{27}{19} -\dreieck{27}{24} -\dreieck{27}{25} -\dreieck{27}{26} -\dreieck{27}{27} - -\dreieck{28}{0} -\dreieck{28}{4} -\dreieck{28}{8} -\dreieck{28}{12} -\dreieck{28}{16} -\dreieck{28}{20} -\dreieck{28}{24} -\dreieck{28}{28} - -\dreieck{29}{0} -\dreieck{29}{1} -\dreieck{29}{4} -\dreieck{29}{5} -\dreieck{29}{8} -\dreieck{29}{9} -\dreieck{29}{12} -\dreieck{29}{13} -\dreieck{29}{16} -\dreieck{29}{17} -\dreieck{29}{20} -\dreieck{29}{21} -\dreieck{29}{24} -\dreieck{29}{25} -\dreieck{29}{28} -\dreieck{29}{29} - -\foreach \k in {0,2,...,30}{ - \dreieck{30}{\k} -} - -\foreach \k in {0,...,31}{ - \dreieck{31}{\k} -} - -\dreieck{32}{0} -\dreieck{32}{32} - -\dreieck{33}{0} -\dreieck{33}{1} -\dreieck{33}{32} -\dreieck{33}{33} - -\dreieck{34}{0} -\dreieck{34}{2} -\dreieck{34}{32} -\dreieck{34}{34} - -\dreieck{35}{0} -\dreieck{35}{1} -\dreieck{35}{2} -\dreieck{35}{3} -\dreieck{35}{32} -\dreieck{35}{33} -\dreieck{35}{34} -\dreieck{35}{35} - -\def\etikett#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; -} - -\etikett{0}{-2}{n=0} -\etikett{2}{-2}{n=2} -\etikett{4}{-2}{n=4} -\etikett{8}{-2}{n=8} -\etikett{16}{-2}{n=16} -\etikett{32}{-2}{n=32} - -\def\exponent#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; -} - -\exponent{-2}{0}{k=0} -\exponent{0}{2}{k=2} -\exponent{2}{4}{k=4} -\exponent{6}{8}{k=8} -\exponent{14}{16}{k=16} -\exponent{30}{32}{k=32} - -\end{tikzpicture} -\end{document} - +%
+% binomial2.tex -- Parität der Binomialkoeffizienten
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\def\s{0.37}
+\pgfmathparse{\s*sqrt(3)/2}
+\xdef\ys{\pgfmathresult}
+\pgfmathparse{\s/2}
+\xdef\xs{\pgfmathresult}
+
+%
+% #1 = n
+% #2 = k
+%
+\def\dreieck#1#2{
+ \fill[color=black] ({\xs*(-#1+2*#2)},{-\ys*#1})
+ -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)})
+ -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle;
+}
+\def\zeile#1{
+ \fill[color=red!40]
+ ({\xs*(-#1)},{-\ys*#1})
+ -- ({\xs*(-#1-1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1+1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1)},{-\ys*#1}) -- cycle;
+}
+
+\zeile{2}
+\zeile{4}
+\zeile{8}
+\zeile{16}
+\zeile{32}
+
+\dreieck{0}{0}
+
+\dreieck{1}{0}
+\dreieck{1}{1}
+
+\dreieck{2}{0}
+\dreieck{2}{2}
+
+\dreieck{3}{0}
+\dreieck{3}{1}
+\dreieck{3}{2}
+\dreieck{3}{3}
+
+\dreieck{4}{0}
+\dreieck{4}{4}
+
+\dreieck{5}{0}
+\dreieck{5}{1}
+\dreieck{5}{4}
+\dreieck{5}{5}
+
+\dreieck{6}{0}
+\dreieck{6}{2}
+\dreieck{6}{4}
+\dreieck{6}{6}
+
+\dreieck{7}{0}
+\dreieck{7}{1}
+\dreieck{7}{2}
+\dreieck{7}{3}
+\dreieck{7}{4}
+\dreieck{7}{5}
+\dreieck{7}{6}
+\dreieck{7}{7}
+
+\dreieck{8}{0}
+\dreieck{8}{8}
+
+\dreieck{9}{0}
+\dreieck{9}{1}
+\dreieck{9}{8}
+\dreieck{9}{9}
+
+\dreieck{10}{0}
+\dreieck{10}{2}
+\dreieck{10}{8}
+\dreieck{10}{10}
+
+\dreieck{11}{0}
+\dreieck{11}{1}
+\dreieck{11}{2}
+\dreieck{11}{3}
+\dreieck{11}{8}
+\dreieck{11}{9}
+\dreieck{11}{10}
+\dreieck{11}{11}
+
+\dreieck{12}{0}
+\dreieck{12}{4}
+\dreieck{12}{8}
+\dreieck{12}{12}
+
+\dreieck{13}{0}
+\dreieck{13}{1}
+\dreieck{13}{4}
+\dreieck{13}{5}
+\dreieck{13}{8}
+\dreieck{13}{9}
+\dreieck{13}{12}
+\dreieck{13}{13}
+
+\dreieck{14}{0}
+\dreieck{14}{2}
+\dreieck{14}{4}
+\dreieck{14}{6}
+\dreieck{14}{8}
+\dreieck{14}{10}
+\dreieck{14}{12}
+\dreieck{14}{14}
+
+\dreieck{15}{0}
+\dreieck{15}{1}
+\dreieck{15}{2}
+\dreieck{15}{3}
+\dreieck{15}{4}
+\dreieck{15}{5}
+\dreieck{15}{6}
+\dreieck{15}{7}
+\dreieck{15}{8}
+\dreieck{15}{9}
+\dreieck{15}{10}
+\dreieck{15}{11}
+\dreieck{15}{12}
+\dreieck{15}{13}
+\dreieck{15}{14}
+\dreieck{15}{15}
+
+\dreieck{16}{0}
+\dreieck{16}{16}
+
+\dreieck{17}{0}
+\dreieck{17}{1}
+\dreieck{17}{16}
+\dreieck{17}{17}
+
+\dreieck{18}{0}
+\dreieck{18}{2}
+\dreieck{18}{16}
+\dreieck{18}{18}
+
+\dreieck{19}{0}
+\dreieck{19}{1}
+\dreieck{19}{2}
+\dreieck{19}{3}
+\dreieck{19}{16}
+\dreieck{19}{17}
+\dreieck{19}{18}
+\dreieck{19}{19}
+
+\dreieck{20}{0}
+\dreieck{20}{4}
+\dreieck{20}{16}
+\dreieck{20}{20}
+
+\dreieck{21}{0}
+\dreieck{21}{1}
+\dreieck{21}{4}
+\dreieck{21}{5}
+\dreieck{21}{16}
+\dreieck{21}{17}
+\dreieck{21}{20}
+\dreieck{21}{21}
+
+\dreieck{22}{0}
+\dreieck{22}{2}
+\dreieck{22}{4}
+\dreieck{22}{6}
+\dreieck{22}{16}
+\dreieck{22}{18}
+\dreieck{22}{20}
+\dreieck{22}{22}
+
+\dreieck{23}{0}
+\dreieck{23}{1}
+\dreieck{23}{2}
+\dreieck{23}{3}
+\dreieck{23}{4}
+\dreieck{23}{5}
+\dreieck{23}{6}
+\dreieck{23}{7}
+\dreieck{23}{16}
+\dreieck{23}{17}
+\dreieck{23}{18}
+\dreieck{23}{19}
+\dreieck{23}{20}
+\dreieck{23}{21}
+\dreieck{23}{22}
+\dreieck{23}{23}
+
+\dreieck{24}{0}
+\dreieck{24}{8}
+\dreieck{24}{16}
+\dreieck{24}{24}
+
+\dreieck{25}{0}
+\dreieck{25}{1}
+\dreieck{25}{8}
+\dreieck{25}{9}
+\dreieck{25}{16}
+\dreieck{25}{17}
+\dreieck{25}{24}
+\dreieck{25}{25}
+
+\dreieck{26}{0}
+\dreieck{26}{2}
+\dreieck{26}{8}
+\dreieck{26}{10}
+\dreieck{26}{16}
+\dreieck{26}{18}
+\dreieck{26}{24}
+\dreieck{26}{26}
+
+\dreieck{27}{0}
+\dreieck{27}{1}
+\dreieck{27}{2}
+\dreieck{27}{3}
+\dreieck{27}{8}
+\dreieck{27}{9}
+\dreieck{27}{10}
+\dreieck{27}{11}
+\dreieck{27}{16}
+\dreieck{27}{17}
+\dreieck{27}{18}
+\dreieck{27}{19}
+\dreieck{27}{24}
+\dreieck{27}{25}
+\dreieck{27}{26}
+\dreieck{27}{27}
+
+\dreieck{28}{0}
+\dreieck{28}{4}
+\dreieck{28}{8}
+\dreieck{28}{12}
+\dreieck{28}{16}
+\dreieck{28}{20}
+\dreieck{28}{24}
+\dreieck{28}{28}
+
+\dreieck{29}{0}
+\dreieck{29}{1}
+\dreieck{29}{4}
+\dreieck{29}{5}
+\dreieck{29}{8}
+\dreieck{29}{9}
+\dreieck{29}{12}
+\dreieck{29}{13}
+\dreieck{29}{16}
+\dreieck{29}{17}
+\dreieck{29}{20}
+\dreieck{29}{21}
+\dreieck{29}{24}
+\dreieck{29}{25}
+\dreieck{29}{28}
+\dreieck{29}{29}
+
+\foreach \k in {0,2,...,30}{
+ \dreieck{30}{\k}
+}
+
+\foreach \k in {0,...,31}{
+ \dreieck{31}{\k}
+}
+
+\dreieck{32}{0}
+\dreieck{32}{32}
+
+\dreieck{33}{0}
+\dreieck{33}{1}
+\dreieck{33}{32}
+\dreieck{33}{33}
+
+\dreieck{34}{0}
+\dreieck{34}{2}
+\dreieck{34}{32}
+\dreieck{34}{34}
+
+\dreieck{35}{0}
+\dreieck{35}{1}
+\dreieck{35}{2}
+\dreieck{35}{3}
+\dreieck{35}{32}
+\dreieck{35}{33}
+\dreieck{35}{34}
+\dreieck{35}{35}
+
+\def\etikett#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$};
+}
+
+\etikett{0}{-2}{n=0}
+\etikett{2}{-2}{n=2}
+\etikett{4}{-2}{n=4}
+\etikett{8}{-2}{n=8}
+\etikett{16}{-2}{n=16}
+\etikett{32}{-2}{n=32}
+
+\def\exponent#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$};
+}
+
+\exponent{-2}{0}{k=0}
+\exponent{0}{2}{k=2}
+\exponent{2}{4}{k=4}
+\exponent{6}{8}{k=8}
+\exponent{14}{16}{k=16}
+\exponent{30}{32}{k=32}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/30-endlichekoerper/images/binomial5.tex b/buch/chapters/30-endlichekoerper/images/binomial5.tex index 815e611..f5aac0a 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial5.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial5.tex @@ -1,437 +1,437 @@ -% -% binomial2.tex -- Parität der Binomialkoeffizienten -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{farbe0}{rgb}{1,1,1} -\input{farben.tex} - -\def\s{0.37} -\pgfmathparse{\s*sqrt(3)/2} -\xdef\ys{\pgfmathresult} -\pgfmathparse{\s/2} -\xdef\xs{\pgfmathresult} - -% -% #1 = n -% #2 = k -% -\def\dreieck#1#2#3{ - \fill[color=farbe#3] ({\xs*(-#1+2*#2)},{-\ys*#1}) - -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) - -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; - \node[color=white] at ( ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)-0.03}) {$\scriptstyle #3$}; -} - -\definecolor{gelb}{rgb}{1,0.8,0.2} -\def\zeile#1{ - \fill[color=gelb] - ({\xs*(-#1)},{-\ys*#1}) - -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) - -- ({\xs*(#1+1)},{-\ys*(#1+1)}) - -- ({\xs*(#1)},{-\ys*#1}) -- cycle; -} - -\zeile{5} -\zeile{25} - -\dreieck{0}{0}{1} - -\dreieck{1}{0}{1} -\dreieck{1}{1}{1} - -\dreieck{2}{0}{1} -\dreieck{2}{1}{2} -\dreieck{2}{2}{1} - -\dreieck{3}{0}{1} -\dreieck{3}{1}{3} -\dreieck{3}{2}{3} -\dreieck{3}{3}{1} - -\dreieck{4}{0}{1} -\dreieck{4}{1}{4} -\dreieck{4}{2}{1} -\dreieck{4}{3}{4} -\dreieck{4}{4}{1} - -\dreieck{5}{0}{1} -\dreieck{5}{5}{1} - -\dreieck{6}{0}{1} -\dreieck{6}{1}{1} -\dreieck{6}{5}{1} -\dreieck{6}{6}{1} - -\dreieck{7}{0}{1} -\dreieck{7}{1}{2} -\dreieck{7}{2}{1} -\dreieck{7}{5}{1} -\dreieck{7}{6}{2} -\dreieck{7}{7}{1} - -\dreieck{8}{0}{1} -\dreieck{8}{1}{3} -\dreieck{8}{2}{3} -\dreieck{8}{3}{1} -\dreieck{8}{5}{1} -\dreieck{8}{6}{3} -\dreieck{8}{7}{3} -\dreieck{8}{8}{1} - -\dreieck{9}{0}{1} -\dreieck{9}{1}{4} -\dreieck{9}{2}{1} -\dreieck{9}{3}{4} -\dreieck{9}{4}{1} -\dreieck{9}{5}{1} -\dreieck{9}{6}{4} -\dreieck{9}{7}{1} -\dreieck{9}{8}{4} -\dreieck{9}{9}{1} - -\dreieck{10}{0}{1} -\dreieck{10}{5}{2} -\dreieck{10}{10}{1} - -\dreieck{11}{0}{1} -\dreieck{11}{1}{1} -\dreieck{11}{5}{2} -\dreieck{11}{6}{2} -\dreieck{11}{10}{1} -\dreieck{11}{11}{1} - -\dreieck{12}{0}{1} -\dreieck{12}{1}{2} -\dreieck{12}{2}{1} -\dreieck{12}{5}{2} -\dreieck{12}{6}{4} -\dreieck{12}{7}{2} -\dreieck{12}{10}{1} -\dreieck{12}{11}{2} -\dreieck{12}{12}{1} - -\dreieck{13}{0}{1} -\dreieck{13}{1}{3} -\dreieck{13}{2}{3} -\dreieck{13}{3}{1} -\dreieck{13}{5}{2} -\dreieck{13}{6}{1} -\dreieck{13}{7}{1} -\dreieck{13}{8}{2} -\dreieck{13}{10}{1} -\dreieck{13}{11}{3} -\dreieck{13}{12}{3} -\dreieck{13}{13}{1} - -\dreieck{14}{0}{1} -\dreieck{14}{1}{4} -\dreieck{14}{2}{1} -\dreieck{14}{3}{4} -\dreieck{14}{4}{1} -\dreieck{14}{5}{2} -\dreieck{14}{6}{3} -\dreieck{14}{7}{2} -\dreieck{14}{8}{3} -\dreieck{14}{9}{2} -\dreieck{14}{10}{1} -\dreieck{14}{11}{4} -\dreieck{14}{12}{1} -\dreieck{14}{13}{4} -\dreieck{14}{14}{1} - -\dreieck{15}{0}{1} -\dreieck{15}{5}{3} -\dreieck{15}{10}{3} -\dreieck{15}{15}{1} - -\dreieck{16}{0}{1} -\dreieck{16}{1}{1} -\dreieck{16}{5}{3} -\dreieck{16}{6}{3} -\dreieck{16}{10}{3} -\dreieck{16}{11}{3} -\dreieck{16}{15}{1} -\dreieck{16}{16}{3} - -\dreieck{17}{0}{1} -\dreieck{17}{1}{2} -\dreieck{17}{2}{1} -\dreieck{17}{5}{3} -\dreieck{17}{6}{1} -\dreieck{17}{7}{3} -\dreieck{17}{10}{3} -\dreieck{17}{11}{1} -\dreieck{17}{12}{3} -\dreieck{17}{15}{1} -\dreieck{17}{16}{2} -\dreieck{17}{17}{1} - -\dreieck{18}{0}{1} -\dreieck{18}{1}{3} -\dreieck{18}{2}{3} -\dreieck{18}{3}{1} -\dreieck{18}{5}{3} -\dreieck{18}{6}{4} -\dreieck{18}{7}{4} -\dreieck{18}{8}{3} -\dreieck{18}{10}{3} -\dreieck{18}{11}{4} -\dreieck{18}{12}{4} -\dreieck{18}{13}{3} -\dreieck{18}{15}{1} -\dreieck{18}{16}{3} -\dreieck{18}{17}{3} -\dreieck{18}{18}{1} - -\dreieck{19}{0}{1} -\dreieck{19}{1}{4} -\dreieck{19}{2}{1} -\dreieck{19}{3}{4} -\dreieck{19}{4}{1} -\dreieck{19}{5}{3} -\dreieck{19}{6}{2} -\dreieck{19}{7}{3} -\dreieck{19}{8}{2} -\dreieck{19}{9}{3} -\dreieck{19}{10}{3} -\dreieck{19}{11}{2} -\dreieck{19}{12}{3} -\dreieck{19}{13}{2} -\dreieck{19}{14}{3} -\dreieck{19}{15}{1} -\dreieck{19}{16}{4} -\dreieck{19}{17}{1} -\dreieck{19}{18}{4} -\dreieck{19}{19}{1} - -\dreieck{20}{0}{1} -\dreieck{20}{5}{4} -\dreieck{20}{10}{1} -\dreieck{20}{15}{4} -\dreieck{20}{20}{1} - -\dreieck{21}{0}{1} -\dreieck{21}{1}{1} -\dreieck{21}{5}{4} -\dreieck{21}{6}{4} -\dreieck{21}{10}{1} -\dreieck{21}{11}{1} -\dreieck{21}{15}{4} -\dreieck{21}{16}{4} -\dreieck{21}{20}{1} -\dreieck{21}{21}{1} - -\dreieck{22}{0}{1} -\dreieck{22}{1}{2} -\dreieck{22}{2}{1} -\dreieck{22}{5}{4} -\dreieck{22}{6}{3} -\dreieck{22}{7}{4} -\dreieck{22}{10}{1} -\dreieck{22}{11}{2} -\dreieck{22}{12}{1} -\dreieck{22}{15}{4} -\dreieck{22}{16}{3} -\dreieck{22}{17}{4} -\dreieck{22}{20}{1} -\dreieck{22}{21}{2} -\dreieck{22}{22}{1} - -\dreieck{23}{0}{1} -\dreieck{23}{1}{3} -\dreieck{23}{2}{3} -\dreieck{23}{3}{1} -\dreieck{23}{5}{4} -\dreieck{23}{6}{2} -\dreieck{23}{7}{2} -\dreieck{23}{8}{4} -\dreieck{23}{10}{1} -\dreieck{23}{11}{3} -\dreieck{23}{12}{3} -\dreieck{23}{13}{1} -\dreieck{23}{15}{4} -\dreieck{23}{16}{2} -\dreieck{23}{17}{2} -\dreieck{23}{18}{4} -\dreieck{23}{20}{1} -\dreieck{23}{21}{3} -\dreieck{23}{22}{3} -\dreieck{23}{23}{1} - -\dreieck{24}{0}{1} -\dreieck{24}{1}{4} -\dreieck{24}{2}{1} -\dreieck{24}{3}{4} -\dreieck{24}{4}{1} -\dreieck{24}{5}{4} -\dreieck{24}{6}{1} -\dreieck{24}{7}{4} -\dreieck{24}{8}{1} -\dreieck{24}{9}{4} -\dreieck{24}{10}{1} -\dreieck{24}{11}{4} -\dreieck{24}{12}{1} -\dreieck{24}{13}{4} -\dreieck{24}{14}{1} -\dreieck{24}{15}{4} -\dreieck{24}{16}{1} -\dreieck{24}{17}{4} -\dreieck{24}{18}{1} -\dreieck{24}{19}{4} -\dreieck{24}{20}{1} -\dreieck{24}{21}{4} -\dreieck{24}{22}{1} -\dreieck{24}{23}{4} -\dreieck{24}{24}{1} - -\dreieck{25}{0}{1} -\dreieck{25}{25}{1} - -\dreieck{26}{0}{1} -\dreieck{26}{1}{1} -\dreieck{26}{25}{1} -\dreieck{26}{26}{1} - -\dreieck{27}{0}{1} -\dreieck{27}{1}{2} -\dreieck{27}{2}{1} -\dreieck{27}{25}{1} -\dreieck{27}{26}{2} -\dreieck{27}{27}{1} - -\dreieck{28}{0}{1} -\dreieck{28}{1}{3} -\dreieck{28}{2}{3} -\dreieck{28}{3}{1} -\dreieck{28}{25}{1} -\dreieck{28}{26}{3} -\dreieck{28}{27}{3} -\dreieck{28}{28}{1} - -\dreieck{29}{0}{1} -\dreieck{29}{1}{4} -\dreieck{29}{2}{1} -\dreieck{29}{3}{4} -\dreieck{29}{4}{1} -\dreieck{29}{25}{1} -\dreieck{29}{26}{4} -\dreieck{29}{27}{1} -\dreieck{29}{28}{4} -\dreieck{29}{29}{1} - -\dreieck{30}{0}{1} -\dreieck{30}{5}{1} -\dreieck{30}{25}{1} -\dreieck{30}{30}{1} - -\dreieck{31}{0}{1} -\dreieck{31}{1}{1} -\dreieck{31}{5}{1} -\dreieck{31}{6}{1} -\dreieck{31}{25}{1} -\dreieck{31}{26}{1} -\dreieck{31}{30}{1} -\dreieck{31}{31}{1} - -\dreieck{32}{0}{1} -\dreieck{32}{1}{2} -\dreieck{32}{2}{1} -\dreieck{32}{5}{1} -\dreieck{32}{6}{2} -\dreieck{32}{7}{1} -\dreieck{32}{25}{1} -\dreieck{32}{26}{2} -\dreieck{32}{27}{1} -\dreieck{32}{30}{1} -\dreieck{32}{31}{2} -\dreieck{32}{32}{1} - -\dreieck{33}{0}{1} -\dreieck{33}{1}{3} -\dreieck{33}{2}{3} -\dreieck{33}{3}{1} -\dreieck{33}{5}{1} -\dreieck{33}{6}{3} -\dreieck{33}{7}{3} -\dreieck{33}{8}{1} -\dreieck{33}{25}{1} -\dreieck{33}{26}{3} -\dreieck{33}{27}{3} -\dreieck{33}{28}{1} -\dreieck{33}{30}{1} -\dreieck{33}{31}{3} -\dreieck{33}{32}{3} -\dreieck{33}{33}{1} - -\dreieck{34}{0}{1} -\dreieck{34}{1}{4} -\dreieck{34}{2}{1} -\dreieck{34}{3}{4} -\dreieck{34}{4}{1} -\dreieck{34}{5}{1} -\dreieck{34}{6}{4} -\dreieck{34}{7}{1} -\dreieck{34}{8}{4} -\dreieck{34}{9}{1} -\dreieck{34}{25}{1} -\dreieck{34}{26}{4} -\dreieck{34}{27}{1} -\dreieck{34}{28}{4} -\dreieck{34}{29}{1} -\dreieck{34}{30}{1} -\dreieck{34}{31}{4} -\dreieck{34}{32}{1} -\dreieck{34}{33}{4} -\dreieck{34}{34}{1} - -\dreieck{35}{0}{1} -\dreieck{35}{5}{2} -\dreieck{35}{10}{1} -\dreieck{35}{25}{1} -\dreieck{35}{30}{2} -\dreieck{35}{35}{1} - -\dreieck{36}{0}{1} -\dreieck{36}{1}{1} -\dreieck{36}{5}{2} -\dreieck{36}{6}{2} -\dreieck{36}{10}{1} -\dreieck{36}{11}{1} -\dreieck{36}{25}{1} -\dreieck{36}{26}{1} -\dreieck{36}{30}{2} -\dreieck{36}{31}{2} -\dreieck{36}{35}{1} -\dreieck{36}{36}{1} - -\def\etikett#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; -} - -\etikett{0}{-2}{n=0} -\etikett{5}{-2}{n=5} -\etikett{25}{-2}{n=25} - -\def\exponent#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; -} - -\exponent{-2}{0}{k=0} -\exponent{3}{5}{k=5} -\exponent{23}{25}{k=25} - -\end{tikzpicture} -\end{document} - +%
+% binomial2.tex -- Parität der Binomialkoeffizienten
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{farbe0}{rgb}{1,1,1}
+\input{farben.tex}
+
+\def\s{0.37}
+\pgfmathparse{\s*sqrt(3)/2}
+\xdef\ys{\pgfmathresult}
+\pgfmathparse{\s/2}
+\xdef\xs{\pgfmathresult}
+
+%
+% #1 = n
+% #2 = k
+%
+\def\dreieck#1#2#3{
+ \fill[color=farbe#3] ({\xs*(-#1+2*#2)},{-\ys*#1})
+ -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)})
+ -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle;
+ \node[color=white] at ( ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)-0.03}) {$\scriptstyle #3$};
+}
+
+\definecolor{gelb}{rgb}{1,0.8,0.2}
+\def\zeile#1{
+ \fill[color=gelb]
+ ({\xs*(-#1)},{-\ys*#1})
+ -- ({\xs*(-#1-1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1+1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1)},{-\ys*#1}) -- cycle;
+}
+
+\zeile{5}
+\zeile{25}
+
+\dreieck{0}{0}{1}
+
+\dreieck{1}{0}{1}
+\dreieck{1}{1}{1}
+
+\dreieck{2}{0}{1}
+\dreieck{2}{1}{2}
+\dreieck{2}{2}{1}
+
+\dreieck{3}{0}{1}
+\dreieck{3}{1}{3}
+\dreieck{3}{2}{3}
+\dreieck{3}{3}{1}
+
+\dreieck{4}{0}{1}
+\dreieck{4}{1}{4}
+\dreieck{4}{2}{1}
+\dreieck{4}{3}{4}
+\dreieck{4}{4}{1}
+
+\dreieck{5}{0}{1}
+\dreieck{5}{5}{1}
+
+\dreieck{6}{0}{1}
+\dreieck{6}{1}{1}
+\dreieck{6}{5}{1}
+\dreieck{6}{6}{1}
+
+\dreieck{7}{0}{1}
+\dreieck{7}{1}{2}
+\dreieck{7}{2}{1}
+\dreieck{7}{5}{1}
+\dreieck{7}{6}{2}
+\dreieck{7}{7}{1}
+
+\dreieck{8}{0}{1}
+\dreieck{8}{1}{3}
+\dreieck{8}{2}{3}
+\dreieck{8}{3}{1}
+\dreieck{8}{5}{1}
+\dreieck{8}{6}{3}
+\dreieck{8}{7}{3}
+\dreieck{8}{8}{1}
+
+\dreieck{9}{0}{1}
+\dreieck{9}{1}{4}
+\dreieck{9}{2}{1}
+\dreieck{9}{3}{4}
+\dreieck{9}{4}{1}
+\dreieck{9}{5}{1}
+\dreieck{9}{6}{4}
+\dreieck{9}{7}{1}
+\dreieck{9}{8}{4}
+\dreieck{9}{9}{1}
+
+\dreieck{10}{0}{1}
+\dreieck{10}{5}{2}
+\dreieck{10}{10}{1}
+
+\dreieck{11}{0}{1}
+\dreieck{11}{1}{1}
+\dreieck{11}{5}{2}
+\dreieck{11}{6}{2}
+\dreieck{11}{10}{1}
+\dreieck{11}{11}{1}
+
+\dreieck{12}{0}{1}
+\dreieck{12}{1}{2}
+\dreieck{12}{2}{1}
+\dreieck{12}{5}{2}
+\dreieck{12}{6}{4}
+\dreieck{12}{7}{2}
+\dreieck{12}{10}{1}
+\dreieck{12}{11}{2}
+\dreieck{12}{12}{1}
+
+\dreieck{13}{0}{1}
+\dreieck{13}{1}{3}
+\dreieck{13}{2}{3}
+\dreieck{13}{3}{1}
+\dreieck{13}{5}{2}
+\dreieck{13}{6}{1}
+\dreieck{13}{7}{1}
+\dreieck{13}{8}{2}
+\dreieck{13}{10}{1}
+\dreieck{13}{11}{3}
+\dreieck{13}{12}{3}
+\dreieck{13}{13}{1}
+
+\dreieck{14}{0}{1}
+\dreieck{14}{1}{4}
+\dreieck{14}{2}{1}
+\dreieck{14}{3}{4}
+\dreieck{14}{4}{1}
+\dreieck{14}{5}{2}
+\dreieck{14}{6}{3}
+\dreieck{14}{7}{2}
+\dreieck{14}{8}{3}
+\dreieck{14}{9}{2}
+\dreieck{14}{10}{1}
+\dreieck{14}{11}{4}
+\dreieck{14}{12}{1}
+\dreieck{14}{13}{4}
+\dreieck{14}{14}{1}
+
+\dreieck{15}{0}{1}
+\dreieck{15}{5}{3}
+\dreieck{15}{10}{3}
+\dreieck{15}{15}{1}
+
+\dreieck{16}{0}{1}
+\dreieck{16}{1}{1}
+\dreieck{16}{5}{3}
+\dreieck{16}{6}{3}
+\dreieck{16}{10}{3}
+\dreieck{16}{11}{3}
+\dreieck{16}{15}{1}
+\dreieck{16}{16}{3}
+
+\dreieck{17}{0}{1}
+\dreieck{17}{1}{2}
+\dreieck{17}{2}{1}
+\dreieck{17}{5}{3}
+\dreieck{17}{6}{1}
+\dreieck{17}{7}{3}
+\dreieck{17}{10}{3}
+\dreieck{17}{11}{1}
+\dreieck{17}{12}{3}
+\dreieck{17}{15}{1}
+\dreieck{17}{16}{2}
+\dreieck{17}{17}{1}
+
+\dreieck{18}{0}{1}
+\dreieck{18}{1}{3}
+\dreieck{18}{2}{3}
+\dreieck{18}{3}{1}
+\dreieck{18}{5}{3}
+\dreieck{18}{6}{4}
+\dreieck{18}{7}{4}
+\dreieck{18}{8}{3}
+\dreieck{18}{10}{3}
+\dreieck{18}{11}{4}
+\dreieck{18}{12}{4}
+\dreieck{18}{13}{3}
+\dreieck{18}{15}{1}
+\dreieck{18}{16}{3}
+\dreieck{18}{17}{3}
+\dreieck{18}{18}{1}
+
+\dreieck{19}{0}{1}
+\dreieck{19}{1}{4}
+\dreieck{19}{2}{1}
+\dreieck{19}{3}{4}
+\dreieck{19}{4}{1}
+\dreieck{19}{5}{3}
+\dreieck{19}{6}{2}
+\dreieck{19}{7}{3}
+\dreieck{19}{8}{2}
+\dreieck{19}{9}{3}
+\dreieck{19}{10}{3}
+\dreieck{19}{11}{2}
+\dreieck{19}{12}{3}
+\dreieck{19}{13}{2}
+\dreieck{19}{14}{3}
+\dreieck{19}{15}{1}
+\dreieck{19}{16}{4}
+\dreieck{19}{17}{1}
+\dreieck{19}{18}{4}
+\dreieck{19}{19}{1}
+
+\dreieck{20}{0}{1}
+\dreieck{20}{5}{4}
+\dreieck{20}{10}{1}
+\dreieck{20}{15}{4}
+\dreieck{20}{20}{1}
+
+\dreieck{21}{0}{1}
+\dreieck{21}{1}{1}
+\dreieck{21}{5}{4}
+\dreieck{21}{6}{4}
+\dreieck{21}{10}{1}
+\dreieck{21}{11}{1}
+\dreieck{21}{15}{4}
+\dreieck{21}{16}{4}
+\dreieck{21}{20}{1}
+\dreieck{21}{21}{1}
+
+\dreieck{22}{0}{1}
+\dreieck{22}{1}{2}
+\dreieck{22}{2}{1}
+\dreieck{22}{5}{4}
+\dreieck{22}{6}{3}
+\dreieck{22}{7}{4}
+\dreieck{22}{10}{1}
+\dreieck{22}{11}{2}
+\dreieck{22}{12}{1}
+\dreieck{22}{15}{4}
+\dreieck{22}{16}{3}
+\dreieck{22}{17}{4}
+\dreieck{22}{20}{1}
+\dreieck{22}{21}{2}
+\dreieck{22}{22}{1}
+
+\dreieck{23}{0}{1}
+\dreieck{23}{1}{3}
+\dreieck{23}{2}{3}
+\dreieck{23}{3}{1}
+\dreieck{23}{5}{4}
+\dreieck{23}{6}{2}
+\dreieck{23}{7}{2}
+\dreieck{23}{8}{4}
+\dreieck{23}{10}{1}
+\dreieck{23}{11}{3}
+\dreieck{23}{12}{3}
+\dreieck{23}{13}{1}
+\dreieck{23}{15}{4}
+\dreieck{23}{16}{2}
+\dreieck{23}{17}{2}
+\dreieck{23}{18}{4}
+\dreieck{23}{20}{1}
+\dreieck{23}{21}{3}
+\dreieck{23}{22}{3}
+\dreieck{23}{23}{1}
+
+\dreieck{24}{0}{1}
+\dreieck{24}{1}{4}
+\dreieck{24}{2}{1}
+\dreieck{24}{3}{4}
+\dreieck{24}{4}{1}
+\dreieck{24}{5}{4}
+\dreieck{24}{6}{1}
+\dreieck{24}{7}{4}
+\dreieck{24}{8}{1}
+\dreieck{24}{9}{4}
+\dreieck{24}{10}{1}
+\dreieck{24}{11}{4}
+\dreieck{24}{12}{1}
+\dreieck{24}{13}{4}
+\dreieck{24}{14}{1}
+\dreieck{24}{15}{4}
+\dreieck{24}{16}{1}
+\dreieck{24}{17}{4}
+\dreieck{24}{18}{1}
+\dreieck{24}{19}{4}
+\dreieck{24}{20}{1}
+\dreieck{24}{21}{4}
+\dreieck{24}{22}{1}
+\dreieck{24}{23}{4}
+\dreieck{24}{24}{1}
+
+\dreieck{25}{0}{1}
+\dreieck{25}{25}{1}
+
+\dreieck{26}{0}{1}
+\dreieck{26}{1}{1}
+\dreieck{26}{25}{1}
+\dreieck{26}{26}{1}
+
+\dreieck{27}{0}{1}
+\dreieck{27}{1}{2}
+\dreieck{27}{2}{1}
+\dreieck{27}{25}{1}
+\dreieck{27}{26}{2}
+\dreieck{27}{27}{1}
+
+\dreieck{28}{0}{1}
+\dreieck{28}{1}{3}
+\dreieck{28}{2}{3}
+\dreieck{28}{3}{1}
+\dreieck{28}{25}{1}
+\dreieck{28}{26}{3}
+\dreieck{28}{27}{3}
+\dreieck{28}{28}{1}
+
+\dreieck{29}{0}{1}
+\dreieck{29}{1}{4}
+\dreieck{29}{2}{1}
+\dreieck{29}{3}{4}
+\dreieck{29}{4}{1}
+\dreieck{29}{25}{1}
+\dreieck{29}{26}{4}
+\dreieck{29}{27}{1}
+\dreieck{29}{28}{4}
+\dreieck{29}{29}{1}
+
+\dreieck{30}{0}{1}
+\dreieck{30}{5}{1}
+\dreieck{30}{25}{1}
+\dreieck{30}{30}{1}
+
+\dreieck{31}{0}{1}
+\dreieck{31}{1}{1}
+\dreieck{31}{5}{1}
+\dreieck{31}{6}{1}
+\dreieck{31}{25}{1}
+\dreieck{31}{26}{1}
+\dreieck{31}{30}{1}
+\dreieck{31}{31}{1}
+
+\dreieck{32}{0}{1}
+\dreieck{32}{1}{2}
+\dreieck{32}{2}{1}
+\dreieck{32}{5}{1}
+\dreieck{32}{6}{2}
+\dreieck{32}{7}{1}
+\dreieck{32}{25}{1}
+\dreieck{32}{26}{2}
+\dreieck{32}{27}{1}
+\dreieck{32}{30}{1}
+\dreieck{32}{31}{2}
+\dreieck{32}{32}{1}
+
+\dreieck{33}{0}{1}
+\dreieck{33}{1}{3}
+\dreieck{33}{2}{3}
+\dreieck{33}{3}{1}
+\dreieck{33}{5}{1}
+\dreieck{33}{6}{3}
+\dreieck{33}{7}{3}
+\dreieck{33}{8}{1}
+\dreieck{33}{25}{1}
+\dreieck{33}{26}{3}
+\dreieck{33}{27}{3}
+\dreieck{33}{28}{1}
+\dreieck{33}{30}{1}
+\dreieck{33}{31}{3}
+\dreieck{33}{32}{3}
+\dreieck{33}{33}{1}
+
+\dreieck{34}{0}{1}
+\dreieck{34}{1}{4}
+\dreieck{34}{2}{1}
+\dreieck{34}{3}{4}
+\dreieck{34}{4}{1}
+\dreieck{34}{5}{1}
+\dreieck{34}{6}{4}
+\dreieck{34}{7}{1}
+\dreieck{34}{8}{4}
+\dreieck{34}{9}{1}
+\dreieck{34}{25}{1}
+\dreieck{34}{26}{4}
+\dreieck{34}{27}{1}
+\dreieck{34}{28}{4}
+\dreieck{34}{29}{1}
+\dreieck{34}{30}{1}
+\dreieck{34}{31}{4}
+\dreieck{34}{32}{1}
+\dreieck{34}{33}{4}
+\dreieck{34}{34}{1}
+
+\dreieck{35}{0}{1}
+\dreieck{35}{5}{2}
+\dreieck{35}{10}{1}
+\dreieck{35}{25}{1}
+\dreieck{35}{30}{2}
+\dreieck{35}{35}{1}
+
+\dreieck{36}{0}{1}
+\dreieck{36}{1}{1}
+\dreieck{36}{5}{2}
+\dreieck{36}{6}{2}
+\dreieck{36}{10}{1}
+\dreieck{36}{11}{1}
+\dreieck{36}{25}{1}
+\dreieck{36}{26}{1}
+\dreieck{36}{30}{2}
+\dreieck{36}{31}{2}
+\dreieck{36}{35}{1}
+\dreieck{36}{36}{1}
+
+\def\etikett#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$};
+}
+
+\etikett{0}{-2}{n=0}
+\etikett{5}{-2}{n=5}
+\etikett{25}{-2}{n=25}
+
+\def\exponent#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$};
+}
+
+\exponent{-2}{0}{k=0}
+\exponent{3}{5}{k=5}
+\exponent{23}{25}{k=25}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/40-eigenwerte/chapter.tex b/buch/chapters/40-eigenwerte/chapter.tex index 242a5e5..34c2444 100644 --- a/buch/chapters/40-eigenwerte/chapter.tex +++ b/buch/chapters/40-eigenwerte/chapter.tex @@ -1,50 +1,50 @@ -% -% chapter.tex -- Kapitel über Eigenwerte und Eigenvektoren -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\chapter{Eigenwerte und Eigenvektoren -\label{buch:chapter:eigenwerte-und-eigenvektoren}} -\lhead{Eigenwerte und Eigenvektoren} -\rhead{} -Die algebraischen Eigenschaften einer Matrix $A$ sind eng mit der -Frage nach linearen Beziehungen unter den Potenzen von $A^k$ verbunden. -Im Allgemeinen ist die Berechnung dieser Potenzen eher unübersichtlich, -es sei denn, die Matrix hat eine spezielle Form. -Die Potenzen einer Diagonalmatrix erhält man, indem man die Diagonalelemente -potenziert. -Auch für Dreiecksmatrizen ist mindestens die Berechnung der Diagonalelemente -von $A^k$ einfach. -Die Theorie der Eigenwerte und Eigenvektoren ermöglicht, Matrizen in -eine solche besonders einfache Form zu bringen. - -In Abschnitt~\ref{buch:section:grundlagen} werden die grundlegenden -Definitionen der Eigenwerttheorie in Erinnerung gerufen. -Damit kann dann in Abschnitt~\ref{buch:section:normalformen} -gezeigt werden, wie Matrizen in besonders einfache Form gebracht -werden können. -Die Eigenwerte bestimmen auch die Eigenschaften von numerischen -Algorithmen, wie in den Abschnitten~\ref{buch:section:spektralradius} -und \ref{buch:section:numerisch} dargestellt wird. -Für viele Funktionen kann man auch den Wert $f(A)$ berechnen, unter -geeigneten Voraussetzungen an den Spektralradius. -Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. - - -\input{chapters/40-eigenwerte/grundlagen.tex} -\input{chapters/40-eigenwerte/normalformen.tex} -\input{chapters/40-eigenwerte/spektralradius.tex} -\input{chapters/40-eigenwerte/spektraltheorie.tex} -%\input{chapters/40-eigenwerte/numerisch.tex} - -\section*{Übungsaufgaben} -\rhead{Übungsaufgaben} -\aufgabetoplevel{chapters/40-eigenwerte/uebungsaufgaben} -\begin{uebungsaufgaben} -\uebungsaufgabe{4001} -\uebungsaufgabe{4002} -\uebungsaufgabe{4003} -\uebungsaufgabe{4004} -\uebungsaufgabe{4005} -\end{uebungsaufgaben} - +%
+% chapter.tex -- Kapitel über Eigenwerte und Eigenvektoren
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\chapter{Eigenwerte und Eigenvektoren
+\label{buch:chapter:eigenwerte-und-eigenvektoren}}
+\lhead{Eigenwerte und Eigenvektoren}
+\rhead{}
+Die algebraischen Eigenschaften einer Matrix $A$ sind eng mit der
+Frage nach linearen Beziehungen unter den Potenzen von $A^k$ verbunden.
+Im Allgemeinen ist die Berechnung dieser Potenzen eher unübersichtlich,
+es sei denn, die Matrix hat eine spezielle Form.
+Die Potenzen einer Diagonalmatrix erhält man, indem man die Diagonalelemente
+potenziert.
+Auch für Dreiecksmatrizen ist mindestens die Berechnung der Diagonalelemente
+von $A^k$ einfach.
+Die Theorie der Eigenwerte und Eigenvektoren ermöglicht, Matrizen in
+eine solche besonders einfache Form zu bringen.
+
+In Abschnitt~\ref{buch:section:grundlagen} werden die grundlegenden
+Definitionen der Eigenwerttheorie in Erinnerung gerufen.
+Damit kann dann in Abschnitt~\ref{buch:section:normalformen}
+gezeigt werden, wie Matrizen in besonders einfache Form gebracht
+werden können.
+Die Eigenwerte bestimmen auch die Eigenschaften von numerischen
+Algorithmen, wie in den Abschnitten~\ref{buch:section:spektralradius}
+und \ref{buch:section:numerisch} dargestellt wird.
+Für viele Funktionen kann man auch den Wert $f(A)$ berechnen, unter
+geeigneten Voraussetzungen an den Spektralradius.
+Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben.
+
+
+\input{chapters/40-eigenwerte/grundlagen.tex}
+\input{chapters/40-eigenwerte/normalformen.tex}
+\input{chapters/40-eigenwerte/spektralradius.tex}
+\input{chapters/40-eigenwerte/spektraltheorie.tex}
+%\input{chapters/40-eigenwerte/numerisch.tex}
+
+\section*{Übungsaufgaben}
+\rhead{Übungsaufgaben}
+\aufgabetoplevel{chapters/40-eigenwerte/uebungsaufgaben}
+\begin{uebungsaufgaben}
+\uebungsaufgabe{4001}
+\uebungsaufgabe{4002}
+\uebungsaufgabe{4003}
+\uebungsaufgabe{4004}
+\uebungsaufgabe{4005}
+\end{uebungsaufgaben}
+
diff --git a/buch/chapters/40-eigenwerte/images/Makefile b/buch/chapters/40-eigenwerte/images/Makefile index 54b36d5..4d882f0 100644 --- a/buch/chapters/40-eigenwerte/images/Makefile +++ b/buch/chapters/40-eigenwerte/images/Makefile @@ -1,44 +1,44 @@ -# -# Makefile -# -# (c) 2020 Prof Dr Andreas Müller, Hochschule Rappersil -# -all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf \ - wurzelapprox.pdf wurzel.pdf dimjk.pdf jknilp.pdf \ - normalform.pdf minmax.pdf - -sp.pdf: sp.tex sppaths.tex - pdflatex sp.tex - -sppaths.tex: spbeispiel.m - octave spbeispiel.m - -nilpotent.pdf: nilpotent.tex - pdflatex nilpotent.tex - -kernbild.pdf: kernbild.tex bild2.jpg kern2.jpg - pdflatex kernbild.tex - -kombiniert.pdf: kombiniert.tex kombiniert.jpg - pdflatex kombiniert.tex - -wurzelapprox.pdf: wurzelapprox.tex wa.tex - pdflatex wurzelapprox.tex - -wa.tex: wa.m - octave wa.m - -wurzel.pdf: wurzel.tex - pdflatex wurzel.tex - -dimjk.pdf: dimjk.tex - pdflatex dimjk.tex - -jknilp.pdf: jknilp.tex - pdflatex jknilp.tex - -normalform.pdf: normalform.tex - pdflatex normalform.tex - -minmax.pdf: minmax.tex - pdflatex minmax.tex +#
+# Makefile
+#
+# (c) 2020 Prof Dr Andreas Müller, Hochschule Rappersil
+#
+all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf \
+ wurzelapprox.pdf wurzel.pdf dimjk.pdf jknilp.pdf \
+ normalform.pdf minmax.pdf
+
+sp.pdf: sp.tex sppaths.tex
+ pdflatex sp.tex
+
+sppaths.tex: spbeispiel.m
+ octave spbeispiel.m
+
+nilpotent.pdf: nilpotent.tex
+ pdflatex nilpotent.tex
+
+kernbild.pdf: kernbild.tex bild2.jpg kern2.jpg
+ pdflatex kernbild.tex
+
+kombiniert.pdf: kombiniert.tex kombiniert.jpg
+ pdflatex kombiniert.tex
+
+wurzelapprox.pdf: wurzelapprox.tex wa.tex
+ pdflatex wurzelapprox.tex
+
+wa.tex: wa.m
+ octave wa.m
+
+wurzel.pdf: wurzel.tex
+ pdflatex wurzel.tex
+
+dimjk.pdf: dimjk.tex
+ pdflatex dimjk.tex
+
+jknilp.pdf: jknilp.tex
+ pdflatex jknilp.tex
+
+normalform.pdf: normalform.tex
+ pdflatex normalform.tex
+
+minmax.pdf: minmax.tex
+ pdflatex minmax.tex
diff --git a/buch/chapters/40-eigenwerte/images/minmax.tex b/buch/chapters/40-eigenwerte/images/minmax.tex index f661d5b..cf81834 100644 --- a/buch/chapters/40-eigenwerte/images/minmax.tex +++ b/buch/chapters/40-eigenwerte/images/minmax.tex @@ -1,134 +1,134 @@ -% -% minmax.tex -- minimum und maximum -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\def\mittellinie{ - plot[domain=0:6.2832,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}) -} - -\begin{scope} - \fill[color=darkgreen!20] - plot[domain=0:6.2832,samples=360] - ({\x},{sin(180*\x/3.1415)}) - -- - plot[domain=6.2832:0,samples=360] - ({\x},{cos(180*\x/3.1415)}) - -- cycle; - \foreach \x in {0.5,1,...,6}{ - \draw[color=darkgreen] - ({\x},{sin(180*\x/3.1415)}) - -- - ({\x},{cos(180*\x/3.1415)}); - } - - \node[color=darkgreen] at (2,-0.8) [left] {$|f(x)-g(x)|$}; - \draw[color=darkgreen,line width=0.3pt] (2,-0.8) -- (2.5,-0.7); - - \draw[color=blue,line width=1.4pt] plot[domain=0:6.29,samples=360] - ({\x},{sin(180*\x/3.1415)}); - \draw[color=red,line width=1.4pt] plot[domain=0:6.29,samples=360] - ({\x},{cos(180*\x/3.1415)}); - \draw[color=purple!50,line width=1.4pt] \mittellinie; - \node[color=purple!50] at (6.2832,0.5) [right] {$\frac12(f(x)+g(x))$}; - - \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={below:$x$}]; - \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; - - - \xdef\x{2} - \node[color=blue] at (\x,{sin(180*\x/3.1415)}) [above right] {$f(x)$}; - \pgfmathparse{2.5*3.14159-\x} - \xdef\x{\pgfmathresult} - \node[color=red] at (\x,{cos(180*\x/3.1415)}) [above left] {$g(x)$}; - -\end{scope} - -\draw[->,line width=4pt,color=gray!40] ({3.1415-1},-1.3) -- ({3.1415-2.3},-3); -\draw[->,line width=4pt,color=gray!40] ({3.1415+1},-1.3) -- ({3.1415+2.3},-3); - -\node at ({3.1415-1.75},-2.15) [left] {$\frac12(f(x)+g(x))+\frac12|f(x)-g(x)|$}; -\node at ({3.1415+1.75},-2.15) [right] {$\frac12(f(x)+g(x))-\frac12|f(x)-g(x)|$}; - -\def\s{(-0.1)} - -\begin{scope}[xshift=-3.4cm,yshift=-4.6cm] - \fill[color=darkgreen!20] - \mittellinie - -- - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- cycle; - \foreach \x in {0.5,1,...,6}{ - \draw[color=darkgreen] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); - } - \draw[color=darkgreen,line width=1.4pt] - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); - - \node[color=darkgreen] at (2,-0.3) [left] {$|f(x)-g(x)|$}; - \draw[color=darkgreen,line width=0.3pt] (2,-0.3) -- (2.5,0.2); - - \draw[color=purple!50,line width=1.4pt] \mittellinie; - \pgfmathparse{0.75*3.1415+\s} - \xdef\x{\pgfmathresult} - \node[color=darkgreen] at (\x,{sin(180*\x/3.1415)}) [above right] - {$\max(f(x),g(x))$}; - \node[color=purple!50] at ({1.25*3.1415},-0.7) [below] - {$\frac12(f(x)+g(x))$}; - \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; -\end{scope} - - -\begin{scope}[xshift=+3.4cm,yshift=-4.6cm] - \fill[color=darkgreen!20] - \mittellinie - -- - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- cycle; - \foreach \x in {0.5,1,...,6}{ - \draw[color=darkgreen] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); - } - \draw[color=darkgreen,line width=1.4pt] - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); - - \node[color=darkgreen] at (3,0.3) [right] {$|f(x)-g(x)|$}; - \draw[color=darkgreen,line width=0.3pt] (3,0.3) -- (2.5,-0.4); - - \draw[color=purple!50,line width=1.4pt] \mittellinie; - \pgfmathparse{0.75*3.1415-\s} - \xdef\x{\pgfmathresult} - \node[color=darkgreen] at (\x,{cos(180*\x/3.1415)}) [below left] - {$\min(f(x),g(x))$}; - \node[color=purple!50] at ({0.25*3.1415},0.7) [above right] - {$\frac12(f(x)+g(x))$}; - \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; -\end{scope} - -\end{tikzpicture} -\end{document} - +%
+% minmax.tex -- minimum und maximum
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{darkgreen}{rgb}{0,0.5,0}
+
+\def\mittellinie{
+ plot[domain=0:6.2832,samples=400]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))})
+}
+
+\begin{scope}
+ \fill[color=darkgreen!20]
+ plot[domain=0:6.2832,samples=360]
+ ({\x},{sin(180*\x/3.1415)})
+ --
+ plot[domain=6.2832:0,samples=360]
+ ({\x},{cos(180*\x/3.1415)})
+ -- cycle;
+ \foreach \x in {0.5,1,...,6}{
+ \draw[color=darkgreen]
+ ({\x},{sin(180*\x/3.1415)})
+ --
+ ({\x},{cos(180*\x/3.1415)});
+ }
+
+ \node[color=darkgreen] at (2,-0.8) [left] {$|f(x)-g(x)|$};
+ \draw[color=darkgreen,line width=0.3pt] (2,-0.8) -- (2.5,-0.7);
+
+ \draw[color=blue,line width=1.4pt] plot[domain=0:6.29,samples=360]
+ ({\x},{sin(180*\x/3.1415)});
+ \draw[color=red,line width=1.4pt] plot[domain=0:6.29,samples=360]
+ ({\x},{cos(180*\x/3.1415)});
+ \draw[color=purple!50,line width=1.4pt] \mittellinie;
+ \node[color=purple!50] at (6.2832,0.5) [right] {$\frac12(f(x)+g(x))$};
+
+ \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={below:$x$}];
+ \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}];
+
+
+ \xdef\x{2}
+ \node[color=blue] at (\x,{sin(180*\x/3.1415)}) [above right] {$f(x)$};
+ \pgfmathparse{2.5*3.14159-\x}
+ \xdef\x{\pgfmathresult}
+ \node[color=red] at (\x,{cos(180*\x/3.1415)}) [above left] {$g(x)$};
+
+\end{scope}
+
+\draw[->,line width=4pt,color=gray!40] ({3.1415-1},-1.3) -- ({3.1415-2.3},-3);
+\draw[->,line width=4pt,color=gray!40] ({3.1415+1},-1.3) -- ({3.1415+2.3},-3);
+
+\node at ({3.1415-1.75},-2.15) [left] {$\frac12(f(x)+g(x))+\frac12|f(x)-g(x)|$};
+\node at ({3.1415+1.75},-2.15) [right] {$\frac12(f(x)+g(x))-\frac12|f(x)-g(x)|$};
+
+\def\s{(-0.1)}
+
+\begin{scope}[xshift=-3.4cm,yshift=-4.6cm]
+ \fill[color=darkgreen!20]
+ \mittellinie
+ --
+ plot[domain=6.2832:0,samples=400]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))})
+ -- cycle;
+ \foreach \x in {0.5,1,...,6}{
+ \draw[color=darkgreen]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))})
+ --
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))});
+ }
+ \draw[color=darkgreen,line width=1.4pt]
+ plot[domain=6.2832:0,samples=400]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))});
+
+ \node[color=darkgreen] at (2,-0.3) [left] {$|f(x)-g(x)|$};
+ \draw[color=darkgreen,line width=0.3pt] (2,-0.3) -- (2.5,0.2);
+
+ \draw[color=purple!50,line width=1.4pt] \mittellinie;
+ \pgfmathparse{0.75*3.1415+\s}
+ \xdef\x{\pgfmathresult}
+ \node[color=darkgreen] at (\x,{sin(180*\x/3.1415)}) [above right]
+ {$\max(f(x),g(x))$};
+ \node[color=purple!50] at ({1.25*3.1415},-0.7) [below]
+ {$\frac12(f(x)+g(x))$};
+ \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}];
+ \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}];
+\end{scope}
+
+
+\begin{scope}[xshift=+3.4cm,yshift=-4.6cm]
+ \fill[color=darkgreen!20]
+ \mittellinie
+ --
+ plot[domain=6.2832:0,samples=400]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))})
+ -- cycle;
+ \foreach \x in {0.5,1,...,6}{
+ \draw[color=darkgreen]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))})
+ --
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))});
+ }
+ \draw[color=darkgreen,line width=1.4pt]
+ plot[domain=6.2832:0,samples=400]
+ ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))});
+
+ \node[color=darkgreen] at (3,0.3) [right] {$|f(x)-g(x)|$};
+ \draw[color=darkgreen,line width=0.3pt] (3,0.3) -- (2.5,-0.4);
+
+ \draw[color=purple!50,line width=1.4pt] \mittellinie;
+ \pgfmathparse{0.75*3.1415-\s}
+ \xdef\x{\pgfmathresult}
+ \node[color=darkgreen] at (\x,{cos(180*\x/3.1415)}) [below left]
+ {$\min(f(x),g(x))$};
+ \node[color=purple!50] at ({0.25*3.1415},0.7) [above right]
+ {$\frac12(f(x)+g(x))$};
+ \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}];
+ \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}];
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/40-eigenwerte/spektraltheorie.tex b/buch/chapters/40-eigenwerte/spektraltheorie.tex index 466b99e..367a4c9 100644 --- a/buch/chapters/40-eigenwerte/spektraltheorie.tex +++ b/buch/chapters/40-eigenwerte/spektraltheorie.tex @@ -1,802 +1,802 @@ -% -% spektraltheorie.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Spektraltheorie -\label{buch:section:spektraltheorie}} -Aufgabe der Spektraltheorie ist, Bedingungen an eine Matrix $A$ und eine -Funktion $f(z)$ zu finden, unter denen es möglich ist, $f(A)$ auf -konsistente Art und Weise zu definieren. -Weiter müssen Methoden entwickelt werden, mit denen $f(A)$ berechnet -werden kann. -Für ein Polynom $p(z)$ ist $p(A)$ durch einsetzen definiert. -Für Funktionen, die sich nicht durch ein Polynom darstellen lassen, -muss eine Approximation der Funktion durch Polynome verwendet werden. -Sei also $p_n(z)$ eine Folge von Polynomen, die als Approximation der -Funktion $f(z)$ verwendet werden soll. -Das Ziel ist, $f(A)$ als den Grenzwert der Matrixfolge $p_n(A)$ -zu definieren. - -Zunächst ist nicht klar, wie eine solche Folge gewählt werden muss. -Es muss eine Teilmenge von $K\subset\mathbb{C}$ spezifiziert werden, -auf der die Funktionenfolge $p_n(z)$ konvergieren muss, -damit auch die Konvergenz der Matrizenfolge $p_n(A)$ garantiert ist. -Auch die Art der Konvergenz von $p_n(z)$ auf der Menge $K$ ist noch -unklar. -Da der Abstand zweier Matrizen $A$ und $B$ in der Operatornorm -mit der grössten Abweichung $\|(A-B)v\|$ für Einheitsvektoren $v$ -gemessen wird, ist es einigermassen plausibel, dass -die grösse Abweichung zwischen zwei Polynomen $|p(z) - q(z)|$ auf -der Menge $K$ kleine sein muss, wenn $\|p(A)-q(A)\|$ klein -sein soll. -Da die Differenz $p(z)-q(z)$ für beliebige Polynome, die sich nicht -nur um eine Konstante unterscheiden, mit $z$ über alle Grenzen wächst, -muss $K$ beschränkt sein. -Gesucht ist also eine kompakte Menge $K\subset\mathbb{C}$ und eine -Folge $p_n(z)$ von Polynomen, die auf $K$ gleichmässig gegen $f(z)$ -konvergieren. -Die Wahl von $K$ muss sicherstellen, dass für jede gleichmässig -konvergente Folge von Polynomen $p_n(z)$ auch die Matrizenfolge -$p_n(A)$ konvergiert. - -Es wird sich zeigen, dass die Menge $K$ das Spektrum von $A$ ist, -also eine endliche Teilmenge von $\mathbb{C}$. -Jede Funktion kann auf so einer Menge durch Polynome exakt wiedergegeben -werden. -Es gibt insbesondere Folgen von Polynomen, die eingeschränkt -auf das Spektrum gleich sind, also $p_n(z)=p_m(z)$ für alle $z\in K$, -die aber ausserhalb des Spektrums alle verschieden sind. -Als Beispiel kann die Matrix -\[ -N=\begin{pmatrix}0&1\\0&0\end{pmatrix} -\] -herangezogen werden. -Ihr Spektrum ist $\operatorname{Sp}(N)=\{0\}\subset\mathbb{C}$. -Zwei Polynome stimmen genau dann auf $\operatorname{Sp}(N)$ überein, -wenn der konstante Koeffizient gleich ist. -Die Polynome $p(z)=z$ und $q(z)=z^2$ stimmen daher auf dem Spektrum -überein. -Für die Matrizen gilt aber $p(N)=N$ und $q(N)=N^2=0$, die Matrizen -stimmen also nicht überein. -Es braucht also zusätzliche Bedingungen an die Matrix $A$, die -sicherstellen, dass $p(A)=0$ ist, wann immer $p(z)=0$ für -$z\in\operatorname{Sp}(A)$ gilt. - -In diesem Abschnitt sollen diese Fragen untersucht werden. -In Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -wird gezeigt, wie sich Funktionen durch Polynome approximieren -lassen, woraus sich dann Approximationen von $f(A)$ für diagonalisierbare -Matrizen mit reellen Eigenwerten ergeben. - -Der Satz von Stone-Weierstrass, der in -Abschnitt~\ref{buch:subsetion:stone-weierstrass} dargestellt wird, -ist ein sehr allgemeines Approximationsresultat, welches nicht nur -zeigt, dass die Approximation unter sehr natürlichen Voraussetzungen -beliebig genau möglich ist, sondern uns im komplexen Fall auch -weitere Einsicht dafür geben kann, welche Voraussetzungen an eine -komplexe Matrix gestellt werden müssen, damit man damit rechnen kann, -dass die Approximation zu einer konsistenten Definition von $f(A)$ führt. - -% -% Approximation -% -\subsection{Approximation durch Polynome -\label{buch:subsection:approximation-durch-polynome}} -Die der Berechnung von $f(A)$ für eine beleibige stetige Funktion, -die sich nicht als Potenzreihe schreiben lässt, verwendet Approximationen -von Polynomen. -Die numerische Mathematik hat eine grosse Menge von solchen -Approximationsverfahren entwickelt, wovon zwei kurz (ohne Beweise) -vorgestellt werden sollen. - -\subsubsection{Das Legendre-Interpolationspolynom} -Zu vorgegebenen, verschiedenen Zahlen $z_i\in\mathbb{C}$, $0\le i\le n$, -die auch die {\em Stützstellen} genannt werden, -gibt es immer ein Polynom vom Grade $n$, welches in den $z_i$ vorgegebene -Werte $f(z_i)$ annimmt. -Ein solches Polynom lässt sich im Prinzip mit Hilfe eines linearen -Gleichungssystems finden, man kann aber auch direkt eine Lösung -konstruieren. -Dazu bildet man erst die Polynome -\begin{align*} -l(z) &= (z-z_0)(z-z_1)\dots (z-z_n) \qquad\text{und} -\\ -l_i(z) &= (z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n). -\end{align*} -Darin bedeutet der Hut, dass dieser Term weggelassen werden soll. -Für $z\ne z_i$ ist $l_i(z)=l(z)/(z-z_i)$. -Die Polynome -\[ -k_i(z) -= -\frac{l_i(z)}{l_i(z_i)} -= -\frac{(z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n)}{(z_i-z_0)\dots \widehat{(z_i-z_i)}\dots (z_i-z_n)} -\] -haben die Eigenschaft -$k_i(z_j)=\delta_{ij}$. -Damit lässt sich jetzt ein Polynom -\[ -p(z) = \sum_{j=0}^n f(z_j) \frac{l_j(z)}{l_j(z_j)} -\] -vom Grad $n$ konstruieren, welches die Werte -\[ -p(z_i) -= -\sum_{j=0}^n f(z_j) \frac{l_j(z_i)}{l_j(z_j)} -= -\sum_{j=0}^n f(z_j) \delta_{ij} -= -f_(z_i) -\] -annimmt. -Das Polynom $p(z)$ heisst das {\em Legendre-Interpolationspolynom}. - -Zwar lässt sich also für eine endliche Menge von komplexen Zahlen immer -ein Polynom finden, welches vorgeschriebene Wert in allen diesen Zahlen -annimmt, doch ist die Stabilität für grosse $n$ eher beschränkt. - - -\subsubsection{Gleichmassige Approximation mit Bernstein-Polynomen} -Das Legendre-Interpolationspolynom nimmt in den Stützstellen die -verlangten Werte an, aber ausserhalb der Stützstellen ist nicht -garantiert, dass man eine gute Approximation einer Funktion $f(z)$ -erhält. - -Für die Approximation auf einem reellen Interval $[a,b]$ hat -Sergei Natanowitsch Bernstein ein -Dazu werden zuerst die reellen Bernsteinpolynome vom Grad $n$ -durch -\begin{align*} -B_{i,n}(t) = \binom{n}{i} t^i(1-t)^{n-i}. -\end{align*} -definiert. -Als Approximationspolynom für die auf dem Interval -$[0,1]$ definierte, stetige Funktion $f(t)$ kann man dann -\[ -B_n(f)(t) -= -\sum_{i=0}^n B_{i,n}(t) f\biggl(\frac{i}{n}\biggr) -\] -verwenden. -Die Polynome $B_n(f)(t)$ konvergieren gleichmässig auf $[0,1]$ -gegen die Funktion $f(t)$. -Über die Konvergenz ausserhalb des reellen Intervalls wird nichts -ausgesagt. -Die Approximation mit Bernstein-Polynomen ist daher nur sinnvoll, -wenn man weiss, dass die Eigenwerte der Matrix reell sind, was im -wesentlichen auf diagonalisierbare Matrizen führt. - -Für ein anderes Interval $[a,b]$ kann man ein Approximationspolynom -erhalten, indem man die affine Transformation -$s\mapsto (s-a)/(b-a)$ -von $[a,b]$ auf $[0,1]$ -verwendet. - -% -% Der Satz von Stone-Weierstrass -% -\subsection{Der Satz von Stone-Weierstrasss -\label{buch:subsetion:stone-weierstrass}} -Der Satz von Stone-Weierstrass behandelt im Gegensatz zu den in -Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -besprochenen Approximationsmethoden nicht nur Funktionen von -reellen Variablen durch Polynome. -Vielmehr kann das Definitionsgebiet irgend eine abgeschlossene -und beschränkte Teilmenge eines reellen oder komplexen Vektorraumes -sein und die Funktionen können Polynome aber auch viel allgemeinere -Funktionen verwendet werden, wie zum Beispiel die Funktionen -$x\mapsto \cos nx$ und $x\mapsto \sin nx$ definiert auf dem -Intervall $[0,2\pi]$. -In diesem Fall liefert der Satz von Stone-Weierstrass die Aussage, -dass sich jede stetige periodische Funktion gleichmässig durch -trigonometrische Polynome approximieren lässt. - -Die Aussage des Satz von Stone-Weierstrass über reelle Funktionen -lässt sich nicht auf komplexe Funktionen erweitern. -Von besonderem Interesse ist jedoch, dass der Beweis des Satz -zeigt, warum solche Aussagen für komplexe Funktionen nicht mehr -zutreffen. -Im Falle der Approximation von komplexen Funktionen $f(z)$ durch Polynome -zwecks Definition von $f(A)$ werden sich daraus Bedingungen an die -Matrix ableiten lassen, die eine konsistente Definition überhaupt -erst ermöglichen werden. - -\subsubsection{Punkte trennen} -Aus den konstanten Funktionen lassen sich durch algebraische -Operationen nur weitere konstante Funktionen erzeugen. -Die konstanten Funktionen sind also nur dann eine genügend -reichhaltige Menge, wenn die Menge $K$ nur einen einzigen Punkt -enthält. -Damit sich Funktionen approximieren lassen, die in zwei Punkten -verschiedene Werte haben, muss es auch unter den zur Approximation -zur Verfügung stehenden Funktionen solche haben, deren Werte sich -in diesen Punkten unterscheiden. -Diese Bedingung wird in der folgenden Definition formalisiert. - -\begin{definition} -Sei $K$ eine beliebige Menge und $A$ eine Menge von Funktionen -$K\to \mathbb{C}$. -Man sagt, $A$ {\em trennt die Punkte von $K$}, wenn es für jedes Paar -\index{Punkte trennen}% -von Punkten $x,y\in K$ eine Funktion $f\in A$ gibt derart, dass -$f(x)\ne f(y)$. -\end{definition} - -Man kann sich die Funktionen $f$, die gemäss dieser Definition die Punkte -von $K$ trennen, als eine Art Koordinaten der Punkte in $K$ vorstellen. -Die Punkte der Teilmenge $K\subset \mathbb{R}^n$ werden zum Beispiel -von den Koordinatenfunktionen $x\mapsto x_i$ getrennt. -Wir schreiben für die $i$-Koordinate daher auch als Funktion $x_i(x)=x_i$. -Zwei verschiedene Punkte $x,y\in K$ unterscheiden sich in mindestens -einer Koordinate. -Für diese Koordinate sind dann die Werte der zugehörigen -Koordinatenfunktion $x_i=x_i(x)\ne x_i(y)=y_i$ verschieden, die -Funktionen $x_1(x)$ bis $x_n(x)$ trennen also die Punkte. - -\begin{beispiel} -Wir betrachten einen Kreis in der Ebene, also die Menge -\[ -S^1 -= -\{(x_1,x_2)\;|\; x_1^2 + x_2^2=1\} -\] -$S^1$ ist eine abgeschlossene und beschränkte Menge in $\mathbb{R}^2$. -Die Funktion $x\mapsto x_1$ trennt die Punkte nicht, denn zu jedem -Punkt $(x_1,x_2)\in S^2$ gibt es den an der ersten Achse -gespiegelten Punkt $\sigma(x)=(x_1,-x_2)$, dessen erste Koordinate -den gleichen Wert hat. -Ebenso trennt die Koordinatenfunktion $x\mapsto x_2$ die Punkte nicht. -Die Menge $A=\{ x_1(x), x_2(x)\}$ bestehend aus den beiden -Koordinatenfunktionen trennt dagegen die Punkte von $S^1$, da die Punkte -sich immer in mindestens einem Punkt unterscheiden. - -Man könnte auch versuchen, den Kreis in Polarkoordinaten zu beschreiben. -Die Funktion $\varphi(x)$, die jedem Punkt $x\in S^1$ den Polarwinkel -zuordnet, trennt sicher die Punkte des Kreises. -Zwei verschiedene Punkte auf dem Kreis haben verschieden Polarwinkel. -Die Menge $\{\varphi\}$ trennt also die Punkte von $S^1$. -Allerdings ist die Funktion nicht stetig, was zwar der Definition -nicht widerspricht aber ein Hindernis für spätere Anwendungen ist. -\end{beispiel} - - -\subsubsection{Der Satz von Stone-Weierstrass für reelle Funktionen} -Die Beispiele von Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -haben bezeigt, dass sich reellwertige Funktionen einer reellen -Variable durch Polynome beliebig genau approximieren lassen. -Es wurde sogar eine Methode vorgestellt, die eine auf einem Intervall -gleichmässig konvergente Polynomefolge produziert. -Die Variable $x\in[a,b]$ trennt natürlich die Punkte, die Algebra der -Polynome in der Variablen $x$ enthält also sicher Funktionen, die in -verschiedenen Punkten des Intervalls auch verschiedene Werte annehmen. -Nicht ganz so selbstverständlich ist aber, dass sich daraus bereits -ergibt, dass jede beliebige Funktion sich als Polynome in $x$ -approximieren lässt. -Dies ist der Inhalt des folgenden Satzes von Stone-Weierstrass. - -\begin{figure} -\centering -\includegraphics{chapters/40-eigenwerte/images/wurzel.pdf} -\caption{Konstruktion einer monoton wachsenden Approximationsfolge für -$\sqrt{a}$ -\label{buch:eigenwerte:fig:wurzelverfahren}} -\end{figure} - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/wurzelapprox.pdf} -\caption{Monoton wachsende Approximation der Funktion $t\mapsto\sqrt{t}$ mit -Polynomen $u_n(t)$ nach -\eqref{buch:eigenwerte:eqn:wurzelapproximation} -(links) und der Fehler der Approximation -(rechts). -\label{buch:eigenwerte:fig:wurzelapproximation}} -\end{figure} - -\begin{satz}[Stone-Weierstrass] -\label{buch:satz:stone-weierstrass} -Enthält eine $\mathbb{R}$-Algebra $A$ von stetigen, rellen Funktionen -auf einer kompakten Menge $K$ die konstanten Funktionen und trennt sie -Punkte, d.~h.~für zwei verschiedene Punkte $x,y\in K$ gibt es -immer eine Funktion $f\in A$ mit $f(x)\ne f(y)$, dann ist jede stetige, -reelle Funktion auf $K$ gleichmässig approximierbar durch Funktionen -in $A$. -\end{satz} - -Für den Beweis des Satzes wird ein Hilfsresultat benötigt, welches wir -zunächst ableiten. -Es besagt, dass sich die Wurzelfunktion $t\mapsto\sqrt{t}$ -auf dem Interval $[0,1]$ gleichmässig -von unten durch Polynome approximieren lässt, die in -Abbildung~\ref{buch:eigenwerte:fig:wurzelapproximation} dargestellt -sind. - -\begin{satz} -Die rekursiv definierte Folge von Polynomen -\begin{equation} -u_{n+1}(t) -= -u_n(t) + \frac12(t-u_n(t)^2), -\qquad -u_0(t)=0 -\label{buch:eigenwerte:eqn:wurzelapproximation} -\end{equation} -ist monoton wachsend und approximiert die Wurzelfunktion $t\mapsto\sqrt{t}$ -gleichmässig auf dem Intervall $[0,1]$. -\end{satz} - -\begin{figure} -\centering -\includegraphics{chapters/40-eigenwerte/images/minmax.pdf} -\caption{Graphische Erklärung der -Identitäten~\eqref{buch:eigenwerte:eqn:minmax} für -$\max(f(x),g(x))$ und $\min(f(x),g(x))$. -Die purpurrote Kurve stellt den Mittelwert von $f(x)$ und $g(x)$ dar, -die vertikalen grünen Linien haben die Länge der Differenz $|f(x)-g(x)|$. -Das Maximum erhält man, indem man den halben Betrag der Differenz zum -Mittelwert hinzuaddiert, das Minimum erhält man durch Subtraktion -der selben Grösse. -\label{buch:eigenwerte:fig:minmax}} -\end{figure} - -\begin{proof}[Beweis] -Wer konstruieren zunächst das in -Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} -visualierte Verfahren, mit dem für jede Zahl $a\in[0,1]$ -die Wurzel $\sqrt{a}$ berechnet werden kann. -Sei $u < \sqrt{a}$ eine Approximation der Wurzel. -Die Approximation ist der exakte Wert der Lösung, wenn $a-u^2=0$. -In jedem anderen Fall muss $u$ um einen Betrag $d$ vergrössert werden. -Natürlich muss immer noch $u+d<\sqrt{a}$ sein. -Man kann die maximal zulässige Korrektur $d$ geometrisch abschätzen, -wie dies in Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} -skizziert ist. -Die maximale Steigung des Graphen der Funktion $u\mapsto u^2$ ist $2$, -daher darf man $u$ maximal um die Hälfte der Differenz $a-u^2$ (grün) -vergrössern, also $d=\frac12(a-u^2)$. -Die Rekursionsformel -\[ -u_{n+1} = u_n + d = u_n + \frac12(a-u_n^2) -\] -mit dem Startwert $u_0=0$ liefert daher eine -Folge, die gegen $\sqrt{a}$ konvergiert. -\end{proof} - -\begin{proof}[Beweis des Satzes von Stone-Weierstrass] -Da $A$ eine Algebra ist, ist mit jeder Funktion $f\in A$ für jedes Polynome -$p\in\mathbb{R}[X]$ auch $p(f)$ eine Funktion in $A$. -\begin{enumerate} -\item Schritt: Für jede Funktion $f\in A$ lässt sich auch $|f|$ durch -Funktionen in $A$ beliebig genau durch eine monoton wachsende Folge -von Funktionen approximieren. - -Da $A$ eine Algebra ist, ist $f^2\in A$. -Sei ausserdem $m^2=\sup \{f(x)^2\;|\;x\in K\}$, so dass $f^2/m^2$ eine Funktion -mit Werten im Intervall $[0,1]$ ist. -Die Funktionen $f_n(x)=mu_n(f(x)^2/m^2)$ sind ebenfalls in $A$ und -approximieren gleichmässig $\sqrt{f(x)^2}=|f(x)|$. -\item Schritt: Für zwei Funktionen $f,g\in A$ gibt es eine monoton wachsende -Folge, die $\max(f,g)$ gleichmässig beliebig genau approximiert -und eine monoton fallende Folge, die $\min(f,g)$ gleichmässig beliebig -genau approximiert. - - -Diese Folgen können aus der Approximationsfolge für den Betrag einer -Funktion und den Identitäten -\begin{equation} -\begin{aligned} -\max(f,g) &= \frac12(f+g+|f-g|) \\ -\min(f,g) &= \frac12(f+g-|f-g|) -\end{aligned} -\label{buch:eigenwerte:eqn:minmax} -\end{equation} -gefunden werden, die in Abbildung~\ref{buch:eigenwerte:fig:minmax} -graphisch erklärt werden. -\item Schritt: Zu zwei beliebigen Punkten $x,y\in K$ und Werten -$\alpha,\beta\in\mathbb{R}$ gibt es immer eine Funktion in $A$, -die in den Punkten $x,y$ die vorgegebenen Werte $\alpha$ bzw.~$\beta$ -annimmt. -Da $A$ die Punkte trennt, gibt es eine Funktion $f_0$ mit $f_0(x)\ne f_0(y)$. -Dann ist die Funktion -\[ -f(t) -= -\beta + \frac{f_0(t)-f_0(y)}{f_0(x)-f_0(y)}(\alpha-\beta) -\] -wohldefiniert und nimmt die verlangten Werte an. -\item Schritt: Zu jeder stetigen Funktion $f\colon K\to\mathbb{R}$, jedem -Punkt $x\in K$ und jedem $\varepsilon>0$ gibt es eine Funktion $g\in A$ derart, -dass $g(x)=f(x)$ und $g(y) \le f(y)+\varepsilon$ für alle $y\in K$. - -Zu jedem $z\in K$ gibt es eine Funktion in $A$ mit -$h_z(x)=f(x)$ und $h_z(z) \le f(z)+\frac12\varepsilon$. -Wegen der Stetigkeit von $h_z$ gibt es eine Umgebung $V_z$ von $z$, in der -immer noch gilt $h_z(y)\le f(y)+\varepsilon$ für $y\in V_z$. -Wegen der Kompaktheit von $K$ kann man endlich viele Punkte $z_i$ wählen -derart, dass die $V_{z_i}$ immer noch $K$ überdecken. -Dann erfüllt die Funktion -\( -g(z) = \inf h_{z_i} -\) -die Bedingungen $g(x) = f(x)$ und für $z\in V_{z_i}$ -\[ -g(z) = \inf_{j} h_{z_j}(z) \le h_{z_i}(z) \le f(z)+\varepsilon. -\] -Ausserdem ist $g(z)$ nach dem zweiten Schritt beliebig genau durch -Funktionen in $A$ approximierbar. -\item Schritt: Jede stetige Funktion $f\colon K\to\mathbb{R}$ kann -beliebig genau durch Funktionen in $A$ approximiert werden. -Sei $\varepsilon > 0$. - -Nach dem vierten Schritt gibt es für jedes $y\in K$ eine Funktion $g_y$ -derart, dass $g_y(y)=f(y)$ und $g_y(x) \le f(x) + \varepsilon$ für -$x\in K$. -Da $g_y$ stetig ist, gilt ausserdem $g_y(x) \ge f(x) -\varepsilon$ in -einer Umgebung $U_y$ von $y$. -Da $K$ kompakt ist, kann man endlich viele $y_i$ derart, dass die $U_{y_i}$ -immer noch ganz $K$ überdecken. -Die Funktion $g=\sup g_{y_i}$ erfüllt dann überall $g(x) \le f(x)+\varepsilon$, -weil jede der Funktionen $g_y$ diese Ungleichung erfüllt. -Ausserdem gilt für $x\in V_{x_j}$ -\[ -g(x) = \sup_i g_{x_i}(x) \ge g_{x_j}(x) \ge f(x)-\varepsilon. -\] -Somit ist -\[ -|f(x)-g(x)| \le \varepsilon. -\] -Damit ist $f(x)$ beliebig nahe an der Funktion $g(x)$, die sich -beliebig genau durch Funktionen aus $A$ approximieren lässt. -\qedhere -\end{enumerate} -\end{proof} - -Im ersten Schritt des Beweises ist ganz entscheidend, dass man die -Betragsfunktion konstruieren kann. -Daraus leiten sich dann alle folgenden Konstruktionen ab. - -\subsubsection{Anwendung auf symmetrische und hermitesche Matrizen} -Für symmetrische und hermitesche Matrizen $A$ ist bekannt, dass die -Eigenwerte reell sind, also das Spektrum $\operatorname{A}\subset\mathbb{R}$ -ist. -Für eine Funktion $\mathbb{R}\to \mathbb{R}$ lässt sich nach dem -Satz~\ref{buch:satz:stone-weierstrass} immer eine Folge $p_n$ von -approximierenden Polynomen in $x$ finden, die auf $\operatorname{Sp}(A)$ -gleichmässig konvergiert. -Die Matrix $f(A)$ kann dann definiert werden also der Grenzwert -\[ -f(A) = \lim_{n\to\infty} p_n(A). -\] -Da diese Matrizen auch diagonalisierbar sind, kann man eine Basis -aus Eigenvektoren verwenden. -Die Wirkung von $p_n(A)$ auf einem Eigenvektor $v$ zum Eigenwert $\lambda$ -ist -\[ -p_n(A)v -= -(a_kA^k + a_{k-1}A^{k-1}+\dots +a_2A^2+a_1A+a_0I)v -= -(a_k\lambda^k + a_{k-1}\lambda^{k-1}+\dots + a_2\lambda^2 + a_1\lambda + a_0)v -= -p_n(\lambda)v. -\] -Im Grenzwert wirkt $f(A)$ daher durch Multiplikation eines Eigenvektors -mit $f(\lambda)$, die Matrix $f(A)$ hat in der genannten Basis die -Diagonalform -\[ -A=\begin{pmatrix} -\lambda_1& & & \\ - &\lambda_2& & \\ - & &\ddots& \\ - & & &\lambda_n -\end{pmatrix} -\qquad\Rightarrow\qquad -f(A)=\begin{pmatrix} -f(\lambda_1)& & & \\ - &f(\lambda_2)& & \\ - & &\ddots& \\ - & & &f(\lambda_n) -\end{pmatrix}. -\] - -\begin{satz} -\label{buch:eigenwerte:satz:spektralsatz} -Ist $A$ symmetrische oder selbstadjungiert Matrix und $f$ eine Funktion -auf dem Spektrum $\operatorname{Sp}(A)$ von $A$. -Dann gibt es genau eine Matrix $f(A)$, die Grenzwert jeder beliebigen -Folge $p_n(A)$ für Polynomfolgen, die $\operatorname{Sp}(A)$ gleichmässig -gegen $f$ konvergieren. -\end{satz} - -\subsubsection{Unmöglichkeit der Approximation von $z\mapsto \overline{z}$ -in $\mathbb{C}[z]$} -Der Satz~\ref{buch:satz:stone-weierstrass} von Stone-Weierstrass für -reelle Funktionen gilt nicht für komplexe Funktionen. -In diesem Abschnitt zeigen wir, dass sich die Funktion $z\mapsto\overline{z}$ -auf der Einheitskreisscheibe $K=\{z\in\mathbb{C}\;|\; |z|\le 1\}$ nicht -gleichmässig durch Polynome $p(z)$ mit komplexen Koeffizienten approximieren -lässt. - -Wäre eine solche Approximation möglich, dann könnte man $\overline{z}$ -auch durch eine Potenzreihe -\[ -\overline{z} -= -\sum_{k=0}^\infty a_kz^k -\] -darstellen. -Das Wegintegral beider Seiten über den Pfad $\gamma(t) = e^{it}$ -in der komplexen Ebene ist -\begin{align*} -\oint_\gamma z^k\,dz -&= -\int_0^{2\pi} e^{ikt} ie^{it}\,dt -= -i\int_0^{2\pi} e^{it(k+1)}\,dt -= -i\biggl[ \frac{1}{i(k+1)} e^{it(k+1)}\biggr]_0^{2\pi} -= -0 -\\ -\oint_\gamma -\sum_{k=0}^\infty a_kz^k -\,dz -&= -\sum_{k=0}^\infty a_k \oint_\gamma z^k\,dz -= -\sum_{k=0}^\infty a_k\cdot 0 -= -0 -\\ -\oint_\gamma \overline{z}\,dz -&= -\int_0^{2\pi} e^{it} ie^{it}\,dt -= -i\int_0^{2\pi} \,dt = 2\pi i, -\end{align*} -dabei wurde $\overline{\gamma}(t)=e^{-it}$ verwendet. -Insbesondere widersprechen sich die beiden Integrale. -Die ursprüngliche Annahmen, $\overline{z}$ lasse sich durch Polynome -gleichmässig approximieren, muss daher verworfen werden. - -\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen} -Der Satz von Stone-Weierstrass kann nach dem vorangegangene Abschnitt -also nicht gelten. -Um den Beweis des Satzes~\ref{buch:satz:stone-weierstrass} -auf komplexe Zahlen zu übertragen, muss im ersten Schritt ein Weg -gefunden werden, den Betrag einer Funktion zu approximieren. - -Im reellen Fall geschah dies, indem zunächst eine Polynom-Approximation -für die Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer -Funktion angewendet wurde. -Der Betrag einer komplexen Zahl $z$ ist aber nicht allein aus $z$ -berechenbar, man braucht in irgend einer Form Zugang zu Real- -und Imaginärteil. -Zum Beispiel kann man Real- und Imaginärteil als -$\Re z= \frac12(z+\overline{z})$ und $\Im z = \frac12(z-\overline{z})$ -bestimmen. -Kenntnis von Real- und Imaginärteil ist als gleichbedeutend mit -der Kenntnis der komplex Konjugierten $\overline{z}$. -Der Betrag lässt sich daraus als $|z|^2 = z\overline{z}$ finden. -Beide Beispiele zeigen, dass man den im Beweis benötigten Betrag -nur dann bestimmen kann, wenn mit jeder Funktion aus $A$ auch die -komplex konjugierte Funktion zur Verfügung steht. - -\begin{satz}[Stone-Weierstrass] -Enthält eine $\mathbb{C}$-Algebra $A$ von stetigen, komplexwertigen -Funktionen auf einer kompakten Menge $K$ die konstanten Funktionen, -trennt sie Punkte und ist ausserdem mit jeder Funktion $f\in A$ auch -die komplex konjugiert Funktion $\overline{f}\in A$, -dann lässt sich jede stetige, komplexwertige Funktion -auf $K$ gleichmässig durch Funktionen aus $A$ approximieren. -\end{satz} - -Mit Hilfe der konjugiert komplexen Funktion lässt sich immer eine -Approximation für die Betragsfunktion finden, so dass sich der -Beweis des reellen Satzes von Stone-Weierstrass übertragen lässt. - -% -% Normale Matrizen -% -\subsection{Normale Matrizen -\label{buch:subsection:normale-matrizen}} -Aus dem Satz von Stone-Weierstrass für komplexe Matrizen kann man -jetzt einen Spektralsätze für eine etwas grössere Klasse von Matrizen -ableiten, als im Satz~\ref{buch:eigenwerte:satz:spektralsatz} -möglich war. -Der Satz besagt, dass für eine beliebige Funktion $f$ auf dem Spektrum -$\operatorname{Sp}(A)$ eine Folge von auf $\operatorname{Sp}(A)$ -gleichmässig konvergenten, approximierenden Polynomen -$p_n(z,\overline{z})$ gefunden werden kann. -Doch wie soll jetzt aus dieser Polynomfolge ein Kandidat von $f(A)$ -gefunden werden? - -Zunächst stellt sich die Frage, was für die Variable $\overline{z}$ -eingesetzt werden soll. -$1\times 1$-Matrizen sind notwendigerweise diagonal, also muss -man in diesem Fall die Matrix $\overline{A}$ für die Variable -$\overline{z}$ eingesetzt werden. -Dies erklärt aber noch nicht, wie für $n\times n$-Matrizen -vorzugehen ist, wenn $n>1$ ist. - -Die Notwendigkeit, die Variable $\overline{z}$ hinzuzunehmen -ergab sich aus der Anforderung, dass der Betrag aus $|z|^2=z\overline{z}$ -konstruiert werden können muss. -Insbesondere muss beim Einsetzen eine Matrix entstehen, die nur -positive Eigenwerte hat. -Für eine beliebige komplexe $n\times n$-Matrix $A$ ist aber -$A\overline{A}$ nicht notwendigerweise positiv, wie das Beispiel -\[ -A -= -\begin{pmatrix}0&i\\i&0\end{pmatrix} -\qquad -\Rightarrow -\qquad -A\overline{A} -= -\begin{pmatrix}0&i\\-i&0\end{pmatrix} -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -= -\begin{pmatrix} --1&0\\ - 0&-1 -\end{pmatrix} -= --I -\] -zeigt. -Eine positive Matrix entsteht dagegen immer, wenn man statt -$A$ die Adjungierte $A^*=\overline{A}^t$ verwendet. - -Die Substitution von $A$ für $z$ und $A^*$ für $\overline{z}$ -in einem Polynom $p(z,\overline{z})$ ist nicht unbedingt eindeutig. -Schon das Polynom $p(z,\overline{z})=z\overline{z}$ kann man auch -als $\overline{z}z$ schreiben. -Damit die Substition eindeutig wird, muss man also fordern, dass -$AA^* = A^*A$ ist. - -\begin{definition} -Eine Matrix $A\in M_n(\mathbb{C})$ heisst {\em normal}, wenn $AA^*=A^*A$ gilt. -\end{definition} - -\subsubsection{Beispiele normaler Matrizen} - -\begin{enumerate} -\item -Hermitesche und Antihermitesche Matrizen sind normal, denn solche -Matrizen erfüllen $A^*=\pm A$ und damit -\( -AA^* = \pm A^2 = A^*A. -\) -\item -Symmetrische und antisymmetrische Matrizen sind normal, -denn aus $A=A^t$ folgt $A^*=\overline{A}^t$ und damit -\begin{align*} -AA^* &= A\overline{A}^t = -\\ -A^*A &= -\end{align*} -\item -Unitäre Matrizen $U$ sind normal, das $UU^*=I=U^*U$ gilt. -\item -Orthogonale Matrizen sind normal wegen $O(n) = U(n) \cap M_n(\mathbb{R})$. -\end{enumerate} - -Jede Matrix lässt sich durch Wahl einer geeigneten Basis in Jordansche -Normalform bringen. -Allerdings sind Jordan-Blöcke keine normalen Matrizen, wie der folgende -Satz zeigt. - -\begin{satz} -Eine Dreiecksmatrix ist genau dann normal, wenn sie diagonal ist. -\end{satz} - -\begin{proof}[Beweis] -Sei $A$ eine obere Dreiecksmatrix, das Argument für eine untere Dreiecksmatrix -funktioniert gleich. -Wir berechnen ein Diagonalelement für beide Produkte $AA^*$ und $A^*A$. -Dazu brauchen wir die Matrixelemente von $A$ und $A^*$. -Bezeichnen wir die Matrixelemente von $A$ mit $a_{ij}$, dann hat $A^*$ -die Matrixelemente $(A^*)_{ij}=\overline{a}_{ji}$. -Damit kann man die Diagonalelemente der Produkte als -\begin{align*} -(AA^*)_{ii} -&= -\sum_{j=1}^n a_{ij}\overline{a}_{ij} -= -\sum_{j=i}^n |a_{ij}|^2 -\\ -(A^*A)_{ii} -&= -\sum_{j=1}^n \overline{a}_{ji}a_{ji} -= -\sum_{j=1}^i |a_{ji}|^2 -\end{align*} -ausrechnen. -Der obere Ausdruck ist die quadrierte Länge der Zeile $i$ der Matrix $A$, -der untere ist die quadrierte Länge der Spalte $i$. -Da die Matrix eine obere Dreiecksmatrix ist, hat die erste Spalte höchstens -ein einziges von $0$ verschiedenes Element. -Daher kann auch die erste Zeile höchstens dieses eine Elemente haben. -Die Matrix hat daher Blockstruktur mit einem $1\times 1$-Block in der -linken obere Ecke und einem $n-1$-dimensionalen Block für den Rest. -Durch Wiederholen des Arguments für den $(n-1)\times (n-1)$-Block -kann man so schrittweise schliessen, dass die Matrix $A$ diagonal sein muss. -\end{proof} - - -\begin{satz} -Sind $A$ und $B$ normale Matrizen und $AB^*=B^*A$, dann sind auch $A+B$ -und $AB$ normal. -\end{satz} - -\begin{proof}[Beweis] -Zunächst folgt aus $AB^*=B^*A$ auch -$A^*B = (B^*A)^* = (AB^*)^* = BA^*$. -Der Beweis erfolgt durch Nachrechnen: -\begin{align*} -(A+B)(A+B)^* -&= -AA^* + AB^* + BA^*+BB^* -\\ -(A+B)^*(A+B) -&= -A^*A + A^*B + B^*A + B^*B -\end{align*} -Die ersten und letzten Terme auf der rechten Seite stimmen überein, weil -$A$ und $B$ normal sind. -Die gemischten Terme stimmen überein wegen der Vertauschbarkeit von -$A$ und $B^*$. - -Für das Produkt rechnet man -\begin{align*} -(AB)(AB)^* -&= ABB^*A^* = AB^*BA^* -= B^*AA^*B -= -B^*A^*AB -= -(AB)^*(AB), -\end{align*} -was zeigt, dass auch $AB$ normal ist. -\end{proof} - -\subsubsection{Äquivalente Bedingungen} -Es gibt eine grosse Zahl äquivalenter Eigenschaften für normale Matrizen. -Die folgenden Eigenschaften sind äquivalent: -\begin{enumerate} -\item -Die Matrix $A$ ist mit einer unitären Matrix diagonalisierbar -\item -Es gibt eine orthonormale Basis von Eigenvektoren von $A$ für $\mathbb{C}^n$ -\item -Für jeden Vektor $x\in\mathbb{C}^n$ gilt $\|Ax\|=\|A^*x\|$ -\item -Die Forbenius-Norm der Matrix $A$ kann mit den Eigenwerten $\lambda_i$ -von $A$ berechnet werden: -$\operatorname{Spur}(A^*A) = \sum_{i=1}^n |\lambda_i|^2$ -\item -Der hermitesche Teil $\frac12(A+A^*)$ und der antihermitesche Teil -$\frac12(A-A^*)$ von $A$ vertauschen. -\item -$A^*$ ist ein Polynom vom Grad $n-1$ in $A$. -\item -Es gibt eine unitäre Matrix $U$ derart, dass $A^*=AU$ -\item -Es gibt eine Polarzerlegugn $A=UP$ mit einer unitären Matrix $U$ und -einer postiv semidefiniten Matrix $P$, die untereinander vertauschen. -\item -Es gibt eine Matrix $N$ mit verschiedenen Eigenwerten, mit denen $A$ -vertauscht. -\item -Wenn $A$ die (absteigend geordneten) singulärwerte $\sigma_i$ und -die absteigend geordneten Eigenwerte $\lambda_i$ hat, -dann it $\sigma_i=|\lambda_i|$. -\end{enumerate} - - - - +%
+% spektraltheorie.tex
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Spektraltheorie
+\label{buch:section:spektraltheorie}}
+Aufgabe der Spektraltheorie ist, Bedingungen an eine Matrix $A$ und eine
+Funktion $f(z)$ zu finden, unter denen es möglich ist, $f(A)$ auf
+konsistente Art und Weise zu definieren.
+Weiter müssen Methoden entwickelt werden, mit denen $f(A)$ berechnet
+werden kann.
+Für ein Polynom $p(z)$ ist $p(A)$ durch einsetzen definiert.
+Für Funktionen, die sich nicht durch ein Polynom darstellen lassen,
+muss eine Approximation der Funktion durch Polynome verwendet werden.
+Sei also $p_n(z)$ eine Folge von Polynomen, die als Approximation der
+Funktion $f(z)$ verwendet werden soll.
+Das Ziel ist, $f(A)$ als den Grenzwert der Matrixfolge $p_n(A)$
+zu definieren.
+
+Zunächst ist nicht klar, wie eine solche Folge gewählt werden muss.
+Es muss eine Teilmenge von $K\subset\mathbb{C}$ spezifiziert werden,
+auf der die Funktionenfolge $p_n(z)$ konvergieren muss,
+damit auch die Konvergenz der Matrizenfolge $p_n(A)$ garantiert ist.
+Auch die Art der Konvergenz von $p_n(z)$ auf der Menge $K$ ist noch
+unklar.
+Da der Abstand zweier Matrizen $A$ und $B$ in der Operatornorm
+mit der grössten Abweichung $\|(A-B)v\|$ für Einheitsvektoren $v$
+gemessen wird, ist es einigermassen plausibel, dass
+die grösse Abweichung zwischen zwei Polynomen $|p(z) - q(z)|$ auf
+der Menge $K$ kleine sein muss, wenn $\|p(A)-q(A)\|$ klein
+sein soll.
+Da die Differenz $p(z)-q(z)$ für beliebige Polynome, die sich nicht
+nur um eine Konstante unterscheiden, mit $z$ über alle Grenzen wächst,
+muss $K$ beschränkt sein.
+Gesucht ist also eine kompakte Menge $K\subset\mathbb{C}$ und eine
+Folge $p_n(z)$ von Polynomen, die auf $K$ gleichmässig gegen $f(z)$
+konvergieren.
+Die Wahl von $K$ muss sicherstellen, dass für jede gleichmässig
+konvergente Folge von Polynomen $p_n(z)$ auch die Matrizenfolge
+$p_n(A)$ konvergiert.
+
+Es wird sich zeigen, dass die Menge $K$ das Spektrum von $A$ ist,
+also eine endliche Teilmenge von $\mathbb{C}$.
+Jede Funktion kann auf so einer Menge durch Polynome exakt wiedergegeben
+werden.
+Es gibt insbesondere Folgen von Polynomen, die eingeschränkt
+auf das Spektrum gleich sind, also $p_n(z)=p_m(z)$ für alle $z\in K$,
+die aber ausserhalb des Spektrums alle verschieden sind.
+Als Beispiel kann die Matrix
+\[
+N=\begin{pmatrix}0&1\\0&0\end{pmatrix}
+\]
+herangezogen werden.
+Ihr Spektrum ist $\operatorname{Sp}(N)=\{0\}\subset\mathbb{C}$.
+Zwei Polynome stimmen genau dann auf $\operatorname{Sp}(N)$ überein,
+wenn der konstante Koeffizient gleich ist.
+Die Polynome $p(z)=z$ und $q(z)=z^2$ stimmen daher auf dem Spektrum
+überein.
+Für die Matrizen gilt aber $p(N)=N$ und $q(N)=N^2=0$, die Matrizen
+stimmen also nicht überein.
+Es braucht also zusätzliche Bedingungen an die Matrix $A$, die
+sicherstellen, dass $p(A)=0$ ist, wann immer $p(z)=0$ für
+$z\in\operatorname{Sp}(A)$ gilt.
+
+In diesem Abschnitt sollen diese Fragen untersucht werden.
+In Abschnitt~\ref{buch:subsection:approximation-durch-polynome}
+wird gezeigt, wie sich Funktionen durch Polynome approximieren
+lassen, woraus sich dann Approximationen von $f(A)$ für diagonalisierbare
+Matrizen mit reellen Eigenwerten ergeben.
+
+Der Satz von Stone-Weierstrass, der in
+Abschnitt~\ref{buch:subsetion:stone-weierstrass} dargestellt wird,
+ist ein sehr allgemeines Approximationsresultat, welches nicht nur
+zeigt, dass die Approximation unter sehr natürlichen Voraussetzungen
+beliebig genau möglich ist, sondern uns im komplexen Fall auch
+weitere Einsicht dafür geben kann, welche Voraussetzungen an eine
+komplexe Matrix gestellt werden müssen, damit man damit rechnen kann,
+dass die Approximation zu einer konsistenten Definition von $f(A)$ führt.
+
+%
+% Approximation
+%
+\subsection{Approximation durch Polynome
+\label{buch:subsection:approximation-durch-polynome}}
+Die der Berechnung von $f(A)$ für eine beleibige stetige Funktion,
+die sich nicht als Potenzreihe schreiben lässt, verwendet Approximationen
+von Polynomen.
+Die numerische Mathematik hat eine grosse Menge von solchen
+Approximationsverfahren entwickelt, wovon zwei kurz (ohne Beweise)
+vorgestellt werden sollen.
+
+\subsubsection{Das Legendre-Interpolationspolynom}
+Zu vorgegebenen, verschiedenen Zahlen $z_i\in\mathbb{C}$, $0\le i\le n$,
+die auch die {\em Stützstellen} genannt werden,
+gibt es immer ein Polynom vom Grade $n$, welches in den $z_i$ vorgegebene
+Werte $f(z_i)$ annimmt.
+Ein solches Polynom lässt sich im Prinzip mit Hilfe eines linearen
+Gleichungssystems finden, man kann aber auch direkt eine Lösung
+konstruieren.
+Dazu bildet man erst die Polynome
+\begin{align*}
+l(z) &= (z-z_0)(z-z_1)\dots (z-z_n) \qquad\text{und}
+\\
+l_i(z) &= (z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n).
+\end{align*}
+Darin bedeutet der Hut, dass dieser Term weggelassen werden soll.
+Für $z\ne z_i$ ist $l_i(z)=l(z)/(z-z_i)$.
+Die Polynome
+\[
+k_i(z)
+=
+\frac{l_i(z)}{l_i(z_i)}
+=
+\frac{(z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n)}{(z_i-z_0)\dots \widehat{(z_i-z_i)}\dots (z_i-z_n)}
+\]
+haben die Eigenschaft
+$k_i(z_j)=\delta_{ij}$.
+Damit lässt sich jetzt ein Polynom
+\[
+p(z) = \sum_{j=0}^n f(z_j) \frac{l_j(z)}{l_j(z_j)}
+\]
+vom Grad $n$ konstruieren, welches die Werte
+\[
+p(z_i)
+=
+\sum_{j=0}^n f(z_j) \frac{l_j(z_i)}{l_j(z_j)}
+=
+\sum_{j=0}^n f(z_j) \delta_{ij}
+=
+f_(z_i)
+\]
+annimmt.
+Das Polynom $p(z)$ heisst das {\em Legendre-Interpolationspolynom}.
+
+Zwar lässt sich also für eine endliche Menge von komplexen Zahlen immer
+ein Polynom finden, welches vorgeschriebene Wert in allen diesen Zahlen
+annimmt, doch ist die Stabilität für grosse $n$ eher beschränkt.
+
+
+\subsubsection{Gleichmassige Approximation mit Bernstein-Polynomen}
+Das Legendre-Interpolationspolynom nimmt in den Stützstellen die
+verlangten Werte an, aber ausserhalb der Stützstellen ist nicht
+garantiert, dass man eine gute Approximation einer Funktion $f(z)$
+erhält.
+
+Für die Approximation auf einem reellen Interval $[a,b]$ hat
+Sergei Natanowitsch Bernstein ein
+Dazu werden zuerst die reellen Bernsteinpolynome vom Grad $n$
+durch
+\begin{align*}
+B_{i,n}(t) = \binom{n}{i} t^i(1-t)^{n-i}.
+\end{align*}
+definiert.
+Als Approximationspolynom für die auf dem Interval
+$[0,1]$ definierte, stetige Funktion $f(t)$ kann man dann
+\[
+B_n(f)(t)
+=
+\sum_{i=0}^n B_{i,n}(t) f\biggl(\frac{i}{n}\biggr)
+\]
+verwenden.
+Die Polynome $B_n(f)(t)$ konvergieren gleichmässig auf $[0,1]$
+gegen die Funktion $f(t)$.
+Über die Konvergenz ausserhalb des reellen Intervalls wird nichts
+ausgesagt.
+Die Approximation mit Bernstein-Polynomen ist daher nur sinnvoll,
+wenn man weiss, dass die Eigenwerte der Matrix reell sind, was im
+wesentlichen auf diagonalisierbare Matrizen führt.
+
+Für ein anderes Interval $[a,b]$ kann man ein Approximationspolynom
+erhalten, indem man die affine Transformation
+$s\mapsto (s-a)/(b-a)$
+von $[a,b]$ auf $[0,1]$
+verwendet.
+
+%
+% Der Satz von Stone-Weierstrass
+%
+\subsection{Der Satz von Stone-Weierstrasss
+\label{buch:subsetion:stone-weierstrass}}
+Der Satz von Stone-Weierstrass behandelt im Gegensatz zu den in
+Abschnitt~\ref{buch:subsection:approximation-durch-polynome}
+besprochenen Approximationsmethoden nicht nur Funktionen von
+reellen Variablen durch Polynome.
+Vielmehr kann das Definitionsgebiet irgend eine abgeschlossene
+und beschränkte Teilmenge eines reellen oder komplexen Vektorraumes
+sein und die Funktionen können Polynome aber auch viel allgemeinere
+Funktionen verwendet werden, wie zum Beispiel die Funktionen
+$x\mapsto \cos nx$ und $x\mapsto \sin nx$ definiert auf dem
+Intervall $[0,2\pi]$.
+In diesem Fall liefert der Satz von Stone-Weierstrass die Aussage,
+dass sich jede stetige periodische Funktion gleichmässig durch
+trigonometrische Polynome approximieren lässt.
+
+Die Aussage des Satz von Stone-Weierstrass über reelle Funktionen
+lässt sich nicht auf komplexe Funktionen erweitern.
+Von besonderem Interesse ist jedoch, dass der Beweis des Satz
+zeigt, warum solche Aussagen für komplexe Funktionen nicht mehr
+zutreffen.
+Im Falle der Approximation von komplexen Funktionen $f(z)$ durch Polynome
+zwecks Definition von $f(A)$ werden sich daraus Bedingungen an die
+Matrix ableiten lassen, die eine konsistente Definition überhaupt
+erst ermöglichen werden.
+
+\subsubsection{Punkte trennen}
+Aus den konstanten Funktionen lassen sich durch algebraische
+Operationen nur weitere konstante Funktionen erzeugen.
+Die konstanten Funktionen sind also nur dann eine genügend
+reichhaltige Menge, wenn die Menge $K$ nur einen einzigen Punkt
+enthält.
+Damit sich Funktionen approximieren lassen, die in zwei Punkten
+verschiedene Werte haben, muss es auch unter den zur Approximation
+zur Verfügung stehenden Funktionen solche haben, deren Werte sich
+in diesen Punkten unterscheiden.
+Diese Bedingung wird in der folgenden Definition formalisiert.
+
+\begin{definition}
+Sei $K$ eine beliebige Menge und $A$ eine Menge von Funktionen
+$K\to \mathbb{C}$.
+Man sagt, $A$ {\em trennt die Punkte von $K$}, wenn es für jedes Paar
+\index{Punkte trennen}%
+von Punkten $x,y\in K$ eine Funktion $f\in A$ gibt derart, dass
+$f(x)\ne f(y)$.
+\end{definition}
+
+Man kann sich die Funktionen $f$, die gemäss dieser Definition die Punkte
+von $K$ trennen, als eine Art Koordinaten der Punkte in $K$ vorstellen.
+Die Punkte der Teilmenge $K\subset \mathbb{R}^n$ werden zum Beispiel
+von den Koordinatenfunktionen $x\mapsto x_i$ getrennt.
+Wir schreiben für die $i$-Koordinate daher auch als Funktion $x_i(x)=x_i$.
+Zwei verschiedene Punkte $x,y\in K$ unterscheiden sich in mindestens
+einer Koordinate.
+Für diese Koordinate sind dann die Werte der zugehörigen
+Koordinatenfunktion $x_i=x_i(x)\ne x_i(y)=y_i$ verschieden, die
+Funktionen $x_1(x)$ bis $x_n(x)$ trennen also die Punkte.
+
+\begin{beispiel}
+Wir betrachten einen Kreis in der Ebene, also die Menge
+\[
+S^1
+=
+\{(x_1,x_2)\;|\; x_1^2 + x_2^2=1\}
+\]
+$S^1$ ist eine abgeschlossene und beschränkte Menge in $\mathbb{R}^2$.
+Die Funktion $x\mapsto x_1$ trennt die Punkte nicht, denn zu jedem
+Punkt $(x_1,x_2)\in S^2$ gibt es den an der ersten Achse
+gespiegelten Punkt $\sigma(x)=(x_1,-x_2)$, dessen erste Koordinate
+den gleichen Wert hat.
+Ebenso trennt die Koordinatenfunktion $x\mapsto x_2$ die Punkte nicht.
+Die Menge $A=\{ x_1(x), x_2(x)\}$ bestehend aus den beiden
+Koordinatenfunktionen trennt dagegen die Punkte von $S^1$, da die Punkte
+sich immer in mindestens einem Punkt unterscheiden.
+
+Man könnte auch versuchen, den Kreis in Polarkoordinaten zu beschreiben.
+Die Funktion $\varphi(x)$, die jedem Punkt $x\in S^1$ den Polarwinkel
+zuordnet, trennt sicher die Punkte des Kreises.
+Zwei verschiedene Punkte auf dem Kreis haben verschieden Polarwinkel.
+Die Menge $\{\varphi\}$ trennt also die Punkte von $S^1$.
+Allerdings ist die Funktion nicht stetig, was zwar der Definition
+nicht widerspricht aber ein Hindernis für spätere Anwendungen ist.
+\end{beispiel}
+
+
+\subsubsection{Der Satz von Stone-Weierstrass für reelle Funktionen}
+Die Beispiele von Abschnitt~\ref{buch:subsection:approximation-durch-polynome}
+haben bezeigt, dass sich reellwertige Funktionen einer reellen
+Variable durch Polynome beliebig genau approximieren lassen.
+Es wurde sogar eine Methode vorgestellt, die eine auf einem Intervall
+gleichmässig konvergente Polynomefolge produziert.
+Die Variable $x\in[a,b]$ trennt natürlich die Punkte, die Algebra der
+Polynome in der Variablen $x$ enthält also sicher Funktionen, die in
+verschiedenen Punkten des Intervalls auch verschiedene Werte annehmen.
+Nicht ganz so selbstverständlich ist aber, dass sich daraus bereits
+ergibt, dass jede beliebige Funktion sich als Polynome in $x$
+approximieren lässt.
+Dies ist der Inhalt des folgenden Satzes von Stone-Weierstrass.
+
+\begin{figure}
+\centering
+\includegraphics{chapters/40-eigenwerte/images/wurzel.pdf}
+\caption{Konstruktion einer monoton wachsenden Approximationsfolge für
+$\sqrt{a}$
+\label{buch:eigenwerte:fig:wurzelverfahren}}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/wurzelapprox.pdf}
+\caption{Monoton wachsende Approximation der Funktion $t\mapsto\sqrt{t}$ mit
+Polynomen $u_n(t)$ nach
+\eqref{buch:eigenwerte:eqn:wurzelapproximation}
+(links) und der Fehler der Approximation
+(rechts).
+\label{buch:eigenwerte:fig:wurzelapproximation}}
+\end{figure}
+
+\begin{satz}[Stone-Weierstrass]
+\label{buch:satz:stone-weierstrass}
+Enthält eine $\mathbb{R}$-Algebra $A$ von stetigen, rellen Funktionen
+auf einer kompakten Menge $K$ die konstanten Funktionen und trennt sie
+Punkte, d.~h.~für zwei verschiedene Punkte $x,y\in K$ gibt es
+immer eine Funktion $f\in A$ mit $f(x)\ne f(y)$, dann ist jede stetige,
+reelle Funktion auf $K$ gleichmässig approximierbar durch Funktionen
+in $A$.
+\end{satz}
+
+Für den Beweis des Satzes wird ein Hilfsresultat benötigt, welches wir
+zunächst ableiten.
+Es besagt, dass sich die Wurzelfunktion $t\mapsto\sqrt{t}$
+auf dem Interval $[0,1]$ gleichmässig
+von unten durch Polynome approximieren lässt, die in
+Abbildung~\ref{buch:eigenwerte:fig:wurzelapproximation} dargestellt
+sind.
+
+\begin{satz}
+Die rekursiv definierte Folge von Polynomen
+\begin{equation}
+u_{n+1}(t)
+=
+u_n(t) + \frac12(t-u_n(t)^2),
+\qquad
+u_0(t)=0
+\label{buch:eigenwerte:eqn:wurzelapproximation}
+\end{equation}
+ist monoton wachsend und approximiert die Wurzelfunktion $t\mapsto\sqrt{t}$
+gleichmässig auf dem Intervall $[0,1]$.
+\end{satz}
+
+\begin{figure}
+\centering
+\includegraphics{chapters/40-eigenwerte/images/minmax.pdf}
+\caption{Graphische Erklärung der
+Identitäten~\eqref{buch:eigenwerte:eqn:minmax} für
+$\max(f(x),g(x))$ und $\min(f(x),g(x))$.
+Die purpurrote Kurve stellt den Mittelwert von $f(x)$ und $g(x)$ dar,
+die vertikalen grünen Linien haben die Länge der Differenz $|f(x)-g(x)|$.
+Das Maximum erhält man, indem man den halben Betrag der Differenz zum
+Mittelwert hinzuaddiert, das Minimum erhält man durch Subtraktion
+der selben Grösse.
+\label{buch:eigenwerte:fig:minmax}}
+\end{figure}
+
+\begin{proof}[Beweis]
+Wer konstruieren zunächst das in
+Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren}
+visualierte Verfahren, mit dem für jede Zahl $a\in[0,1]$
+die Wurzel $\sqrt{a}$ berechnet werden kann.
+Sei $u < \sqrt{a}$ eine Approximation der Wurzel.
+Die Approximation ist der exakte Wert der Lösung, wenn $a-u^2=0$.
+In jedem anderen Fall muss $u$ um einen Betrag $d$ vergrössert werden.
+Natürlich muss immer noch $u+d<\sqrt{a}$ sein.
+Man kann die maximal zulässige Korrektur $d$ geometrisch abschätzen,
+wie dies in Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren}
+skizziert ist.
+Die maximale Steigung des Graphen der Funktion $u\mapsto u^2$ ist $2$,
+daher darf man $u$ maximal um die Hälfte der Differenz $a-u^2$ (grün)
+vergrössern, also $d=\frac12(a-u^2)$.
+Die Rekursionsformel
+\[
+u_{n+1} = u_n + d = u_n + \frac12(a-u_n^2)
+\]
+mit dem Startwert $u_0=0$ liefert daher eine
+Folge, die gegen $\sqrt{a}$ konvergiert.
+\end{proof}
+
+\begin{proof}[Beweis des Satzes von Stone-Weierstrass]
+Da $A$ eine Algebra ist, ist mit jeder Funktion $f\in A$ für jedes Polynome
+$p\in\mathbb{R}[X]$ auch $p(f)$ eine Funktion in $A$.
+\begin{enumerate}
+\item Schritt: Für jede Funktion $f\in A$ lässt sich auch $|f|$ durch
+Funktionen in $A$ beliebig genau durch eine monoton wachsende Folge
+von Funktionen approximieren.
+
+Da $A$ eine Algebra ist, ist $f^2\in A$.
+Sei ausserdem $m^2=\sup \{f(x)^2\;|\;x\in K\}$, so dass $f^2/m^2$ eine Funktion
+mit Werten im Intervall $[0,1]$ ist.
+Die Funktionen $f_n(x)=mu_n(f(x)^2/m^2)$ sind ebenfalls in $A$ und
+approximieren gleichmässig $\sqrt{f(x)^2}=|f(x)|$.
+\item Schritt: Für zwei Funktionen $f,g\in A$ gibt es eine monoton wachsende
+Folge, die $\max(f,g)$ gleichmässig beliebig genau approximiert
+und eine monoton fallende Folge, die $\min(f,g)$ gleichmässig beliebig
+genau approximiert.
+
+
+Diese Folgen können aus der Approximationsfolge für den Betrag einer
+Funktion und den Identitäten
+\begin{equation}
+\begin{aligned}
+\max(f,g) &= \frac12(f+g+|f-g|) \\
+\min(f,g) &= \frac12(f+g-|f-g|)
+\end{aligned}
+\label{buch:eigenwerte:eqn:minmax}
+\end{equation}
+gefunden werden, die in Abbildung~\ref{buch:eigenwerte:fig:minmax}
+graphisch erklärt werden.
+\item Schritt: Zu zwei beliebigen Punkten $x,y\in K$ und Werten
+$\alpha,\beta\in\mathbb{R}$ gibt es immer eine Funktion in $A$,
+die in den Punkten $x,y$ die vorgegebenen Werte $\alpha$ bzw.~$\beta$
+annimmt.
+Da $A$ die Punkte trennt, gibt es eine Funktion $f_0$ mit $f_0(x)\ne f_0(y)$.
+Dann ist die Funktion
+\[
+f(t)
+=
+\beta + \frac{f_0(t)-f_0(y)}{f_0(x)-f_0(y)}(\alpha-\beta)
+\]
+wohldefiniert und nimmt die verlangten Werte an.
+\item Schritt: Zu jeder stetigen Funktion $f\colon K\to\mathbb{R}$, jedem
+Punkt $x\in K$ und jedem $\varepsilon>0$ gibt es eine Funktion $g\in A$ derart,
+dass $g(x)=f(x)$ und $g(y) \le f(y)+\varepsilon$ für alle $y\in K$.
+
+Zu jedem $z\in K$ gibt es eine Funktion in $A$ mit
+$h_z(x)=f(x)$ und $h_z(z) \le f(z)+\frac12\varepsilon$.
+Wegen der Stetigkeit von $h_z$ gibt es eine Umgebung $V_z$ von $z$, in der
+immer noch gilt $h_z(y)\le f(y)+\varepsilon$ für $y\in V_z$.
+Wegen der Kompaktheit von $K$ kann man endlich viele Punkte $z_i$ wählen
+derart, dass die $V_{z_i}$ immer noch $K$ überdecken.
+Dann erfüllt die Funktion
+\(
+g(z) = \inf h_{z_i}
+\)
+die Bedingungen $g(x) = f(x)$ und für $z\in V_{z_i}$
+\[
+g(z) = \inf_{j} h_{z_j}(z) \le h_{z_i}(z) \le f(z)+\varepsilon.
+\]
+Ausserdem ist $g(z)$ nach dem zweiten Schritt beliebig genau durch
+Funktionen in $A$ approximierbar.
+\item Schritt: Jede stetige Funktion $f\colon K\to\mathbb{R}$ kann
+beliebig genau durch Funktionen in $A$ approximiert werden.
+Sei $\varepsilon > 0$.
+
+Nach dem vierten Schritt gibt es für jedes $y\in K$ eine Funktion $g_y$
+derart, dass $g_y(y)=f(y)$ und $g_y(x) \le f(x) + \varepsilon$ für
+$x\in K$.
+Da $g_y$ stetig ist, gilt ausserdem $g_y(x) \ge f(x) -\varepsilon$ in
+einer Umgebung $U_y$ von $y$.
+Da $K$ kompakt ist, kann man endlich viele $y_i$ derart, dass die $U_{y_i}$
+immer noch ganz $K$ überdecken.
+Die Funktion $g=\sup g_{y_i}$ erfüllt dann überall $g(x) \le f(x)+\varepsilon$,
+weil jede der Funktionen $g_y$ diese Ungleichung erfüllt.
+Ausserdem gilt für $x\in V_{x_j}$
+\[
+g(x) = \sup_i g_{x_i}(x) \ge g_{x_j}(x) \ge f(x)-\varepsilon.
+\]
+Somit ist
+\[
+|f(x)-g(x)| \le \varepsilon.
+\]
+Damit ist $f(x)$ beliebig nahe an der Funktion $g(x)$, die sich
+beliebig genau durch Funktionen aus $A$ approximieren lässt.
+\qedhere
+\end{enumerate}
+\end{proof}
+
+Im ersten Schritt des Beweises ist ganz entscheidend, dass man die
+Betragsfunktion konstruieren kann.
+Daraus leiten sich dann alle folgenden Konstruktionen ab.
+
+\subsubsection{Anwendung auf symmetrische und hermitesche Matrizen}
+Für symmetrische und hermitesche Matrizen $A$ ist bekannt, dass die
+Eigenwerte reell sind, also das Spektrum $\operatorname{A}\subset\mathbb{R}$
+ist.
+Für eine Funktion $\mathbb{R}\to \mathbb{R}$ lässt sich nach dem
+Satz~\ref{buch:satz:stone-weierstrass} immer eine Folge $p_n$ von
+approximierenden Polynomen in $x$ finden, die auf $\operatorname{Sp}(A)$
+gleichmässig konvergiert.
+Die Matrix $f(A)$ kann dann definiert werden also der Grenzwert
+\[
+f(A) = \lim_{n\to\infty} p_n(A).
+\]
+Da diese Matrizen auch diagonalisierbar sind, kann man eine Basis
+aus Eigenvektoren verwenden.
+Die Wirkung von $p_n(A)$ auf einem Eigenvektor $v$ zum Eigenwert $\lambda$
+ist
+\[
+p_n(A)v
+=
+(a_kA^k + a_{k-1}A^{k-1}+\dots +a_2A^2+a_1A+a_0I)v
+=
+(a_k\lambda^k + a_{k-1}\lambda^{k-1}+\dots + a_2\lambda^2 + a_1\lambda + a_0)v
+=
+p_n(\lambda)v.
+\]
+Im Grenzwert wirkt $f(A)$ daher durch Multiplikation eines Eigenvektors
+mit $f(\lambda)$, die Matrix $f(A)$ hat in der genannten Basis die
+Diagonalform
+\[
+A=\begin{pmatrix}
+\lambda_1& & & \\
+ &\lambda_2& & \\
+ & &\ddots& \\
+ & & &\lambda_n
+\end{pmatrix}
+\qquad\Rightarrow\qquad
+f(A)=\begin{pmatrix}
+f(\lambda_1)& & & \\
+ &f(\lambda_2)& & \\
+ & &\ddots& \\
+ & & &f(\lambda_n)
+\end{pmatrix}.
+\]
+
+\begin{satz}
+\label{buch:eigenwerte:satz:spektralsatz}
+Ist $A$ symmetrische oder selbstadjungiert Matrix und $f$ eine Funktion
+auf dem Spektrum $\operatorname{Sp}(A)$ von $A$.
+Dann gibt es genau eine Matrix $f(A)$, die Grenzwert jeder beliebigen
+Folge $p_n(A)$ für Polynomfolgen, die $\operatorname{Sp}(A)$ gleichmässig
+gegen $f$ konvergieren.
+\end{satz}
+
+\subsubsection{Unmöglichkeit der Approximation von $z\mapsto \overline{z}$
+in $\mathbb{C}[z]$}
+Der Satz~\ref{buch:satz:stone-weierstrass} von Stone-Weierstrass für
+reelle Funktionen gilt nicht für komplexe Funktionen.
+In diesem Abschnitt zeigen wir, dass sich die Funktion $z\mapsto\overline{z}$
+auf der Einheitskreisscheibe $K=\{z\in\mathbb{C}\;|\; |z|\le 1\}$ nicht
+gleichmässig durch Polynome $p(z)$ mit komplexen Koeffizienten approximieren
+lässt.
+
+Wäre eine solche Approximation möglich, dann könnte man $\overline{z}$
+auch durch eine Potenzreihe
+\[
+\overline{z}
+=
+\sum_{k=0}^\infty a_kz^k
+\]
+darstellen.
+Das Wegintegral beider Seiten über den Pfad $\gamma(t) = e^{it}$
+in der komplexen Ebene ist
+\begin{align*}
+\oint_\gamma z^k\,dz
+&=
+\int_0^{2\pi} e^{ikt} ie^{it}\,dt
+=
+i\int_0^{2\pi} e^{it(k+1)}\,dt
+=
+i\biggl[ \frac{1}{i(k+1)} e^{it(k+1)}\biggr]_0^{2\pi}
+=
+0
+\\
+\oint_\gamma
+\sum_{k=0}^\infty a_kz^k
+\,dz
+&=
+\sum_{k=0}^\infty a_k \oint_\gamma z^k\,dz
+=
+\sum_{k=0}^\infty a_k\cdot 0
+=
+0
+\\
+\oint_\gamma \overline{z}\,dz
+&=
+\int_0^{2\pi} e^{it} ie^{it}\,dt
+=
+i\int_0^{2\pi} \,dt = 2\pi i,
+\end{align*}
+dabei wurde $\overline{\gamma}(t)=e^{-it}$ verwendet.
+Insbesondere widersprechen sich die beiden Integrale.
+Die ursprüngliche Annahmen, $\overline{z}$ lasse sich durch Polynome
+gleichmässig approximieren, muss daher verworfen werden.
+
+\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen}
+Der Satz von Stone-Weierstrass kann nach dem vorangegangene Abschnitt
+also nicht gelten.
+Um den Beweis des Satzes~\ref{buch:satz:stone-weierstrass}
+auf komplexe Zahlen zu übertragen, muss im ersten Schritt ein Weg
+gefunden werden, den Betrag einer Funktion zu approximieren.
+
+Im reellen Fall geschah dies, indem zunächst eine Polynom-Approximation
+für die Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer
+Funktion angewendet wurde.
+Der Betrag einer komplexen Zahl $z$ ist aber nicht allein aus $z$
+berechenbar, man braucht in irgend einer Form Zugang zu Real-
+und Imaginärteil.
+Zum Beispiel kann man Real- und Imaginärteil als
+$\Re z= \frac12(z+\overline{z})$ und $\Im z = \frac12(z-\overline{z})$
+bestimmen.
+Kenntnis von Real- und Imaginärteil ist als gleichbedeutend mit
+der Kenntnis der komplex Konjugierten $\overline{z}$.
+Der Betrag lässt sich daraus als $|z|^2 = z\overline{z}$ finden.
+Beide Beispiele zeigen, dass man den im Beweis benötigten Betrag
+nur dann bestimmen kann, wenn mit jeder Funktion aus $A$ auch die
+komplex konjugierte Funktion zur Verfügung steht.
+
+\begin{satz}[Stone-Weierstrass]
+Enthält eine $\mathbb{C}$-Algebra $A$ von stetigen, komplexwertigen
+Funktionen auf einer kompakten Menge $K$ die konstanten Funktionen,
+trennt sie Punkte und ist ausserdem mit jeder Funktion $f\in A$ auch
+die komplex konjugiert Funktion $\overline{f}\in A$,
+dann lässt sich jede stetige, komplexwertige Funktion
+auf $K$ gleichmässig durch Funktionen aus $A$ approximieren.
+\end{satz}
+
+Mit Hilfe der konjugiert komplexen Funktion lässt sich immer eine
+Approximation für die Betragsfunktion finden, so dass sich der
+Beweis des reellen Satzes von Stone-Weierstrass übertragen lässt.
+
+%
+% Normale Matrizen
+%
+\subsection{Normale Matrizen
+\label{buch:subsection:normale-matrizen}}
+Aus dem Satz von Stone-Weierstrass für komplexe Matrizen kann man
+jetzt einen Spektralsätze für eine etwas grössere Klasse von Matrizen
+ableiten, als im Satz~\ref{buch:eigenwerte:satz:spektralsatz}
+möglich war.
+Der Satz besagt, dass für eine beliebige Funktion $f$ auf dem Spektrum
+$\operatorname{Sp}(A)$ eine Folge von auf $\operatorname{Sp}(A)$
+gleichmässig konvergenten, approximierenden Polynomen
+$p_n(z,\overline{z})$ gefunden werden kann.
+Doch wie soll jetzt aus dieser Polynomfolge ein Kandidat von $f(A)$
+gefunden werden?
+
+Zunächst stellt sich die Frage, was für die Variable $\overline{z}$
+eingesetzt werden soll.
+$1\times 1$-Matrizen sind notwendigerweise diagonal, also muss
+man in diesem Fall die Matrix $\overline{A}$ für die Variable
+$\overline{z}$ eingesetzt werden.
+Dies erklärt aber noch nicht, wie für $n\times n$-Matrizen
+vorzugehen ist, wenn $n>1$ ist.
+
+Die Notwendigkeit, die Variable $\overline{z}$ hinzuzunehmen
+ergab sich aus der Anforderung, dass der Betrag aus $|z|^2=z\overline{z}$
+konstruiert werden können muss.
+Insbesondere muss beim Einsetzen eine Matrix entstehen, die nur
+positive Eigenwerte hat.
+Für eine beliebige komplexe $n\times n$-Matrix $A$ ist aber
+$A\overline{A}$ nicht notwendigerweise positiv, wie das Beispiel
+\[
+A
+=
+\begin{pmatrix}0&i\\i&0\end{pmatrix}
+\qquad
+\Rightarrow
+\qquad
+A\overline{A}
+=
+\begin{pmatrix}0&i\\-i&0\end{pmatrix}
+\begin{pmatrix}0&-i\\i&0\end{pmatrix}
+=
+\begin{pmatrix}
+-1&0\\
+ 0&-1
+\end{pmatrix}
+=
+-I
+\]
+zeigt.
+Eine positive Matrix entsteht dagegen immer, wenn man statt
+$A$ die Adjungierte $A^*=\overline{A}^t$ verwendet.
+
+Die Substitution von $A$ für $z$ und $A^*$ für $\overline{z}$
+in einem Polynom $p(z,\overline{z})$ ist nicht unbedingt eindeutig.
+Schon das Polynom $p(z,\overline{z})=z\overline{z}$ kann man auch
+als $\overline{z}z$ schreiben.
+Damit die Substition eindeutig wird, muss man also fordern, dass
+$AA^* = A^*A$ ist.
+
+\begin{definition}
+Eine Matrix $A\in M_n(\mathbb{C})$ heisst {\em normal}, wenn $AA^*=A^*A$ gilt.
+\end{definition}
+
+\subsubsection{Beispiele normaler Matrizen}
+
+\begin{enumerate}
+\item
+Hermitesche und Antihermitesche Matrizen sind normal, denn solche
+Matrizen erfüllen $A^*=\pm A$ und damit
+\(
+AA^* = \pm A^2 = A^*A.
+\)
+\item
+Symmetrische und antisymmetrische Matrizen sind normal,
+denn aus $A=A^t$ folgt $A^*=\overline{A}^t$ und damit
+\begin{align*}
+AA^* &= A\overline{A}^t =
+\\
+A^*A &=
+\end{align*}
+\item
+Unitäre Matrizen $U$ sind normal, das $UU^*=I=U^*U$ gilt.
+\item
+Orthogonale Matrizen sind normal wegen $O(n) = U(n) \cap M_n(\mathbb{R})$.
+\end{enumerate}
+
+Jede Matrix lässt sich durch Wahl einer geeigneten Basis in Jordansche
+Normalform bringen.
+Allerdings sind Jordan-Blöcke keine normalen Matrizen, wie der folgende
+Satz zeigt.
+
+\begin{satz}
+Eine Dreiecksmatrix ist genau dann normal, wenn sie diagonal ist.
+\end{satz}
+
+\begin{proof}[Beweis]
+Sei $A$ eine obere Dreiecksmatrix, das Argument für eine untere Dreiecksmatrix
+funktioniert gleich.
+Wir berechnen ein Diagonalelement für beide Produkte $AA^*$ und $A^*A$.
+Dazu brauchen wir die Matrixelemente von $A$ und $A^*$.
+Bezeichnen wir die Matrixelemente von $A$ mit $a_{ij}$, dann hat $A^*$
+die Matrixelemente $(A^*)_{ij}=\overline{a}_{ji}$.
+Damit kann man die Diagonalelemente der Produkte als
+\begin{align*}
+(AA^*)_{ii}
+&=
+\sum_{j=1}^n a_{ij}\overline{a}_{ij}
+=
+\sum_{j=i}^n |a_{ij}|^2
+\\
+(A^*A)_{ii}
+&=
+\sum_{j=1}^n \overline{a}_{ji}a_{ji}
+=
+\sum_{j=1}^i |a_{ji}|^2
+\end{align*}
+ausrechnen.
+Der obere Ausdruck ist die quadrierte Länge der Zeile $i$ der Matrix $A$,
+der untere ist die quadrierte Länge der Spalte $i$.
+Da die Matrix eine obere Dreiecksmatrix ist, hat die erste Spalte höchstens
+ein einziges von $0$ verschiedenes Element.
+Daher kann auch die erste Zeile höchstens dieses eine Elemente haben.
+Die Matrix hat daher Blockstruktur mit einem $1\times 1$-Block in der
+linken obere Ecke und einem $n-1$-dimensionalen Block für den Rest.
+Durch Wiederholen des Arguments für den $(n-1)\times (n-1)$-Block
+kann man so schrittweise schliessen, dass die Matrix $A$ diagonal sein muss.
+\end{proof}
+
+
+\begin{satz}
+Sind $A$ und $B$ normale Matrizen und $AB^*=B^*A$, dann sind auch $A+B$
+und $AB$ normal.
+\end{satz}
+
+\begin{proof}[Beweis]
+Zunächst folgt aus $AB^*=B^*A$ auch
+$A^*B = (B^*A)^* = (AB^*)^* = BA^*$.
+Der Beweis erfolgt durch Nachrechnen:
+\begin{align*}
+(A+B)(A+B)^*
+&=
+AA^* + AB^* + BA^*+BB^*
+\\
+(A+B)^*(A+B)
+&=
+A^*A + A^*B + B^*A + B^*B
+\end{align*}
+Die ersten und letzten Terme auf der rechten Seite stimmen überein, weil
+$A$ und $B$ normal sind.
+Die gemischten Terme stimmen überein wegen der Vertauschbarkeit von
+$A$ und $B^*$.
+
+Für das Produkt rechnet man
+\begin{align*}
+(AB)(AB)^*
+&= ABB^*A^* = AB^*BA^*
+= B^*AA^*B
+=
+B^*A^*AB
+=
+(AB)^*(AB),
+\end{align*}
+was zeigt, dass auch $AB$ normal ist.
+\end{proof}
+
+\subsubsection{Äquivalente Bedingungen}
+Es gibt eine grosse Zahl äquivalenter Eigenschaften für normale Matrizen.
+Die folgenden Eigenschaften sind äquivalent:
+\begin{enumerate}
+\item
+Die Matrix $A$ ist mit einer unitären Matrix diagonalisierbar
+\item
+Es gibt eine orthonormale Basis von Eigenvektoren von $A$ für $\mathbb{C}^n$
+\item
+Für jeden Vektor $x\in\mathbb{C}^n$ gilt $\|Ax\|=\|A^*x\|$
+\item
+Die Forbenius-Norm der Matrix $A$ kann mit den Eigenwerten $\lambda_i$
+von $A$ berechnet werden:
+$\operatorname{Spur}(A^*A) = \sum_{i=1}^n |\lambda_i|^2$
+\item
+Der hermitesche Teil $\frac12(A+A^*)$ und der antihermitesche Teil
+$\frac12(A-A^*)$ von $A$ vertauschen.
+\item
+$A^*$ ist ein Polynom vom Grad $n-1$ in $A$.
+\item
+Es gibt eine unitäre Matrix $U$ derart, dass $A^*=AU$
+\item
+Es gibt eine Polarzerlegugn $A=UP$ mit einer unitären Matrix $U$ und
+einer postiv semidefiniten Matrix $P$, die untereinander vertauschen.
+\item
+Es gibt eine Matrix $N$ mit verschiedenen Eigenwerten, mit denen $A$
+vertauscht.
+\item
+Wenn $A$ die (absteigend geordneten) singulärwerte $\sigma_i$ und
+die absteigend geordneten Eigenwerte $\lambda_i$ hat,
+dann it $\sigma_i=|\lambda_i|$.
+\end{enumerate}
+
+
+
+
diff --git a/buch/chapters/60-gruppen/chapter.tex b/buch/chapters/60-gruppen/chapter.tex index 3b1abc1..aa5469f 100644 --- a/buch/chapters/60-gruppen/chapter.tex +++ b/buch/chapters/60-gruppen/chapter.tex @@ -1,47 +1,47 @@ -% -% chapter.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\chapter{Matrizengruppen -\label{buch:chapter:matrizengruppen}} -\lhead{Matrizengruppen} -\rhead{} -Matrizen können dazu verwendet werden, Symmetrien von geometrischen oder -physikalischen Systemen zu beschreiben. -Neben diskreten Symmetrien wie zum Beispiel Spiegelungen gehören dazu -auch kontinuierliche Symmetrien wie Translationen oder Invarianz einer -phyisikalischen Grösse über die Zeit. -Solche Symmetrien müssen durch Matrizen beschrieben werden können, -die auf stetige oder sogar differenzierbare Art von der Zeit abhängen. -Die Menge der Matrizen, die zur Beschreibung solcher Symmetrien benutzt -werden, muss also eine zusätzliche Struktur haben, die ermöglicht, -sinnvoll über Stetigkeit und Differenzierbarkeit bei Matrizen -zu sprechen. - -Die Menge der Matrizen bilden zunächst eine Gruppe, -die zusätzliche differenziarbare Struktur macht daraus -eine sogenannte Lie-Gruppe. -Die Ableitungen nach einem Parameter liegen in der sogenannten -Lie-Algebra, einer Matrizen-Algebra mit dem antisymmetrischen -Lie-Klammer-Produkt $[A,B]=AB-BA$, auch Kommutator genannt. -Lie-Gruppe und Lie-Algebra sind eng miteinander verknüpft, -so eng, dass sich die meisten Eigenschaften der Gruppe aus den Eigenschaften -der Lie-Gruppe aus der Lie-Algebra ableiten lassen. -Die Verbindung wird hergestellt durch die Exponentialabbildung. -Ziel dieses Kapitels ist, die Grundzüge dieses interessanten -Zusammenhangs darzustellen. - -\input{chapters/60-gruppen/symmetrien.tex} -\input{chapters/60-gruppen/lie-gruppen.tex} -\input{chapters/60-gruppen/lie-algebren.tex} -%\input{chapters/60-gruppen/homogen.tex} - -\section*{Übungsaufgaben} -\rhead{Übungsaufgaben} -\aufgabetoplevel{chapters/60-gruppen/uebungsaufgaben} -\begin{uebungsaufgaben} -\uebungsaufgabe{6002} -\uebungsaufgabe{6001} -\end{uebungsaufgaben} - +%
+% chapter.tex
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\chapter{Matrizengruppen
+\label{buch:chapter:matrizengruppen}}
+\lhead{Matrizengruppen}
+\rhead{}
+Matrizen können dazu verwendet werden, Symmetrien von geometrischen oder
+physikalischen Systemen zu beschreiben.
+Neben diskreten Symmetrien wie zum Beispiel Spiegelungen gehören dazu
+auch kontinuierliche Symmetrien wie Translationen oder Invarianz einer
+phyisikalischen Grösse über die Zeit.
+Solche Symmetrien müssen durch Matrizen beschrieben werden können,
+die auf stetige oder sogar differenzierbare Art von der Zeit abhängen.
+Die Menge der Matrizen, die zur Beschreibung solcher Symmetrien benutzt
+werden, muss also eine zusätzliche Struktur haben, die ermöglicht,
+sinnvoll über Stetigkeit und Differenzierbarkeit bei Matrizen
+zu sprechen.
+
+Die Menge der Matrizen bilden zunächst eine Gruppe,
+die zusätzliche differenziarbare Struktur macht daraus
+eine sogenannte Lie-Gruppe.
+Die Ableitungen nach einem Parameter liegen in der sogenannten
+Lie-Algebra, einer Matrizen-Algebra mit dem antisymmetrischen
+Lie-Klammer-Produkt $[A,B]=AB-BA$, auch Kommutator genannt.
+Lie-Gruppe und Lie-Algebra sind eng miteinander verknüpft,
+so eng, dass sich die meisten Eigenschaften der Gruppe aus den Eigenschaften
+der Lie-Gruppe aus der Lie-Algebra ableiten lassen.
+Die Verbindung wird hergestellt durch die Exponentialabbildung.
+Ziel dieses Kapitels ist, die Grundzüge dieses interessanten
+Zusammenhangs darzustellen.
+
+\input{chapters/60-gruppen/symmetrien.tex}
+\input{chapters/60-gruppen/lie-gruppen.tex}
+\input{chapters/60-gruppen/lie-algebren.tex}
+%\input{chapters/60-gruppen/homogen.tex}
+
+\section*{Übungsaufgaben}
+\rhead{Übungsaufgaben}
+\aufgabetoplevel{chapters/60-gruppen/uebungsaufgaben}
+\begin{uebungsaufgaben}
+\uebungsaufgabe{6002}
+\uebungsaufgabe{6001}
+\end{uebungsaufgaben}
+
diff --git a/buch/chapters/60-gruppen/images/Makefile b/buch/chapters/60-gruppen/images/Makefile index 3ed39e5..8cd824f 100644 --- a/buch/chapters/60-gruppen/images/Makefile +++ b/buch/chapters/60-gruppen/images/Makefile @@ -1,25 +1,25 @@ -# -# Makefile -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -all: phasenraum.pdf kartenkreis.pdf karten.pdf sl2.pdf scherungen.pdf - -phasenraum.pdf: phasenraum.tex - pdflatex phasenraum.tex - -kartenkreis.pdf: kartenkreis.tex - pdflatex kartenkreis.tex - -torus.png: torus.pov - povray +A0.1 -W1920 -H1080 -Otorus.png torus.pov - -karten.pdf: karten.tex torus.png - pdflatex karten.tex - -sl2.pdf: sl2.tex - pdflatex sl2.tex - -scherungen.pdf: scherungen.tex - pdflatex scherungen.tex - +#
+# Makefile
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all: phasenraum.pdf kartenkreis.pdf karten.pdf sl2.pdf scherungen.pdf
+
+phasenraum.pdf: phasenraum.tex
+ pdflatex phasenraum.tex
+
+kartenkreis.pdf: kartenkreis.tex
+ pdflatex kartenkreis.tex
+
+torus.png: torus.pov
+ povray +A0.1 -W1920 -H1080 -Otorus.png torus.pov
+
+karten.pdf: karten.tex torus.png
+ pdflatex karten.tex
+
+sl2.pdf: sl2.tex
+ pdflatex sl2.tex
+
+scherungen.pdf: scherungen.tex
+ pdflatex scherungen.tex
+
diff --git a/buch/chapters/60-gruppen/images/karten.tex b/buch/chapters/60-gruppen/images/karten.tex index c8eb4a3..67c8d70 100644 --- a/buch/chapters/60-gruppen/images/karten.tex +++ b/buch/chapters/60-gruppen/images/karten.tex @@ -1,112 +1,112 @@ -% -% karten.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\node at (0,0) {\includegraphics[width=10cm]{torus.png}}; - -\def\s{3} - -\node at (-3.5,-0.4) {$U_\alpha$}; -\node at (2.0,-0.4) {$U_\beta$}; - -\draw[->] (-2,-2.2) -- (-3,-4.3); -\node at (-2.5,-3.25) [left] {$\varphi_\alpha$}; - -\draw[->] (1.4,-1.7) -- (3,-4.3); -\node at (2.5,-3.25) [right] {$\varphi_\beta$}; - -\begin{scope}[xshift=-4.5cm,yshift=-8cm] - \begin{scope} - \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - \begin{scope}[xshift=1.8cm,yshift=0.6cm,rotate=30] - \fill[color=gray!20] - (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - \foreach \x in {0,0.2,...,1}{ - \draw[color=darkgreen] - ({\x*\s},{-0.2*\s}) - -- - ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=orange] - (0,{\y*\s}) - -- - ({1*\s},{\y*\s}); - } - \end{scope} - \end{scope} - - \foreach \x in {0,0.2,...,1}{ - \draw[color=blue,line width=1.4pt] - ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=red,line width=1.4pt] - (0,{\y*\s}) -- ({1*\s},{\y*\s}); - } - - \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; - \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; - - \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; - -\end{scope} - -\begin{scope}[xshift=1.5cm,yshift=-8cm] - \begin{scope} - \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - % x = - [ (sqrt(3)/2)*0.6+(1/2)*0.2 ] = -0.6196 - % y = - [ (-1/2)*0.6 + (sqrt(3)/2)*0.2 ] = - \begin{scope}[xshift=-1.8588cm,yshift=0.3804cm,rotate=-30] - \fill[color=gray!20] - (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - \foreach \x in {0,0.2,...,1}{ - \draw[color=blue] - ({\x*\s},{-0.2*\s}) - -- - ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=red] - (0,{\y*\s}) - -- - ({1*\s},{\y*\s}); - } - \end{scope} - \end{scope} - - \foreach \x in {0,0.2,...,1}{ - \draw[color=darkgreen,line width=1.4pt] - ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=orange,line width=1.4pt] (0,{\y*\s}) -- ({1*\s},{\y*\s}); - } - \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; - \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; - \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; -\end{scope} - -\draw[<-,color=white,opacity=0.8,line width=5pt] (2.5,-6.5) arc (55:100:6.5); -\draw[<-,shorten >= 0.1cm,shorten <= 0.3cm] (2.5,-6.5) arc (55:100:6.5); - -\node at (0,-5.9) - {$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}$}; - -\end{tikzpicture} -\end{document} - +%
+% karten.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\node at (0,0) {\includegraphics[width=10cm]{torus.png}};
+
+\def\s{3}
+
+\node at (-3.5,-0.4) {$U_\alpha$};
+\node at (2.0,-0.4) {$U_\beta$};
+
+\draw[->] (-2,-2.2) -- (-3,-4.3);
+\node at (-2.5,-3.25) [left] {$\varphi_\alpha$};
+
+\draw[->] (1.4,-1.7) -- (3,-4.3);
+\node at (2.5,-3.25) [right] {$\varphi_\beta$};
+
+\begin{scope}[xshift=-4.5cm,yshift=-8cm]
+ \begin{scope}
+ \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s});
+ \begin{scope}[xshift=1.8cm,yshift=0.6cm,rotate=30]
+ \fill[color=gray!20]
+ (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s});
+ \foreach \x in {0,0.2,...,1}{
+ \draw[color=darkgreen]
+ ({\x*\s},{-0.2*\s})
+ --
+ ({\x*\s},{1.2*\s});
+ }
+ \foreach \y in {-0.2,0,...,1.2}{
+ \draw[color=orange]
+ (0,{\y*\s})
+ --
+ ({1*\s},{\y*\s});
+ }
+ \end{scope}
+ \end{scope}
+
+ \foreach \x in {0,0.2,...,1}{
+ \draw[color=blue,line width=1.4pt]
+ ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s});
+ }
+ \foreach \y in {-0.2,0,...,1.2}{
+ \draw[color=red,line width=1.4pt]
+ (0,{\y*\s}) -- ({1*\s},{\y*\s});
+ }
+
+ \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}];
+ \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}];
+
+ \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$};
+
+\end{scope}
+
+\begin{scope}[xshift=1.5cm,yshift=-8cm]
+ \begin{scope}
+ \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s});
+ % x = - [ (sqrt(3)/2)*0.6+(1/2)*0.2 ] = -0.6196
+ % y = - [ (-1/2)*0.6 + (sqrt(3)/2)*0.2 ] =
+ \begin{scope}[xshift=-1.8588cm,yshift=0.3804cm,rotate=-30]
+ \fill[color=gray!20]
+ (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s});
+ \foreach \x in {0,0.2,...,1}{
+ \draw[color=blue]
+ ({\x*\s},{-0.2*\s})
+ --
+ ({\x*\s},{1.2*\s});
+ }
+ \foreach \y in {-0.2,0,...,1.2}{
+ \draw[color=red]
+ (0,{\y*\s})
+ --
+ ({1*\s},{\y*\s});
+ }
+ \end{scope}
+ \end{scope}
+
+ \foreach \x in {0,0.2,...,1}{
+ \draw[color=darkgreen,line width=1.4pt]
+ ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s});
+ }
+ \foreach \y in {-0.2,0,...,1.2}{
+ \draw[color=orange,line width=1.4pt] (0,{\y*\s}) -- ({1*\s},{\y*\s});
+ }
+ \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}];
+ \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}];
+ \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$};
+\end{scope}
+
+\draw[<-,color=white,opacity=0.8,line width=5pt] (2.5,-6.5) arc (55:100:6.5);
+\draw[<-,shorten >= 0.1cm,shorten <= 0.3cm] (2.5,-6.5) arc (55:100:6.5);
+
+\node at (0,-5.9)
+ {$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/60-gruppen/images/kartenkreis.tex b/buch/chapters/60-gruppen/images/kartenkreis.tex index 4f19937..ff6331e 100644 --- a/buch/chapters/60-gruppen/images/kartenkreis.tex +++ b/buch/chapters/60-gruppen/images/kartenkreis.tex @@ -1,189 +1,189 @@ -% -% kartenkreis.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{3} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\fill[color=red!20] (0,-1) rectangle (1.5,1); -\fill[color=blue!20] (-1.5,-1) rectangle (0,1); -\fill[color=darkgreen!40,opacity=0.5] (-1,0) rectangle (1,1.5); -\fill[color=orange!40,opacity=0.5] (-1,-1.5) rectangle (1,0); -\fill[color=white] (0,0) circle[radius=1]; - -\fill[color=gray!20] - (0,-1.5) -- (0.02,-1.6) -- (0.5,-1.8) -- (0.98,-1.6) -- (1,-1.5) - -- cycle; -\fill[color=gray!20] - (0,1.5) -- (0.02,1.6) -- (0.5,1.8) -- (0.98,1.6) -- (1,1.5) - -- cycle; -\fill[color=gray!20] - (0,-1.5) -- (-0.02,-1.6) -- (-0.5,-1.8) -- (-0.98,-1.6) -- (-1,-1.5) - -- cycle; -\fill[color=gray!20] - (0,1.5) -- (-0.02,1.6) -- (-0.5,1.8) -- (-0.98,1.6) -- (-1,1.5) - -- cycle; - -\fill[color=gray!20] - (1.5,0) -- (1.6,0.02) -- (1.8,0.5) -- (1.6,0.98) -- (1.5,1) - -- cycle; -\fill[color=gray!20] - (-1.5,0) -- (-1.6,0.02) -- (-1.8,0.5) -- (-1.6,0.98) -- (-1.5,1) - -- cycle; -\fill[color=gray!20] - (1.5,0) -- (1.6,-0.02) -- (1.8,-0.5) -- (1.6,-0.98) -- (1.5,-1) - -- cycle; -\fill[color=gray!20] - (-1.5,0) -- (-1.6,-0.02) -- (-1.8,-0.5) -- (-1.6,-0.98) -- (-1.5,-1) - -- cycle; - -\draw[->] (0.5,-1.8) arc (-180:-90:0.1) arc (-90:0:1.3) arc (0:90:0.1); -\draw[->] (1.8,0.5) arc (-90:0:0.1) arc (0:90:1.3) arc (90:180:0.1); -\draw[->] (-0.5,1.8) arc (0:90:0.1) arc (90:180:1.3) arc (180:270:0.1); -\draw[->] (-1.8,-0.5) arc (90:180:0.1) arc (180:270:1.3) arc (270:360:0.1); - -\node at (1.01,1.32) - [right] {$\varphi_3\circ \varphi_1^{-1}(y)=\sqrt{1-y^2}$}; -\node at (1.6,1.6) {$\varphi_{31}$}; - -\node at (1.01,-1.28) - [right] {$\varphi_1\circ \varphi_4^{-1}(x)=-\sqrt{1-x^2}$}; -\node at (1.6,-1.6) {$\varphi_{14}$}; - -\node at (-1.24,1.32) - [left] {$\varphi_2\circ\varphi_3^{-1}(x)=\sqrt{1-x^2}$}; -\node at (-1.6,1.6) {$\varphi_{23}$}; - -\node at (-1.18,-1.28) - [left] {$\varphi_4\circ\varphi_2^{-1}(y)=-\sqrt{1-y^2}$}; -\node at (-1.6,-1.6) {$\varphi_{42}$}; - - -\foreach \y in {0.1,0.3,...,0.9}{ - \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] - ({sqrt(1-\y*\y)},{\y}) -- (1.5,\y); - \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] - ({sqrt(1-\y*\y)},{-\y}) -- (1.5,-\y); - \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] - ({-sqrt(1-\y*\y)},{\y}) -- (-1.5,\y); - \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] - ({-sqrt(1-\y*\y)},{-\y}) -- (-1.5,-\y); -} -\foreach \x in {0.1,0.3,...,0.9}{ - \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] - ({\x},{sqrt(1-\x*\x)}) -- ({\x},1.5); - \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] - ({-\x},{sqrt(1-\x*\x)}) -- ({-\x},1.5); - \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] - ({\x},{-sqrt(1-\x*\x)}) -- ({\x},-1.5); - \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] - ({-\x},{-sqrt(1-\x*\x)}) -- ({-\x},-1.5); -} - -%\draw[color=gray!50,line width=3pt] (0,0) circle[radius=1]; -\draw[color=yellow!30,line width=3pt] (0,0) circle[radius=1]; -\node[color=yellow] at ({1/sqrt(2)},{1/sqrt(2)}) [above right] {$S^1$}; - -\def\r{1.02} - -\begin{scope} - \clip (0,-1.1) rectangle (1.1,1.1); - \draw[color=red,line width=1.4pt] (-89:\r) arc (-89:89:\r); - \draw[color=red,line width=1.4pt] (0,-\r) circle[radius=0.02]; - \draw[color=red,line width=1.4pt] (0,\r) circle[radius=0.02]; -\end{scope} - -\begin{scope} - \clip (-1.1,-1.1) rectangle (0,1.1); - \draw[color=blue,line width=1.4pt] (91:\r) arc (91:269:\r); - \draw[color=blue,line width=1.4pt] (0,-\r) circle[radius=0.02]; - \draw[color=blue,line width=1.4pt] (0,\r) circle[radius=0.02]; -\end{scope} - -\xdef\r{0.98} - -\begin{scope} - \clip (-1.1,0) rectangle (1.1,1.1); - \draw[color=darkgreen,line width=1.4pt] (1:\r) arc (1:179:\r); - \draw[color=darkgreen,line width=1.4pt] (\r,0) circle[radius=0.02]; - \draw[color=darkgreen,line width=1.4pt] (-\r,0) circle[radius=0.02]; -\end{scope} - -\begin{scope} - \clip (-1.1,-1.1) rectangle (1.1,0); - \draw[color=orange,line width=1.4pt] (181:\r) arc (181:359:\r); - \draw[color=orange,line width=1.4pt] (\r,0) circle[radius=0.02]; - \draw[color=orange,line width=1.4pt] (-\r,0) circle[radius=0.02]; -\end{scope} - -\begin{scope}[yshift=1.5cm] - \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$\mathbb{R}$}]; - \begin{scope} - \clip (-1,-0.1) rectangle (1,0.1); - \draw[color=darkgreen,line width=1.4pt] (-0.98,0) -- (0.98,0); - \draw[color=darkgreen,line width=1.4pt] (-1,0) - circle[radius=0.02]; - \draw[color=darkgreen,line width=1.4pt] (1,0) - circle[radius=0.02]; - \end{scope} -\end{scope} - -\begin{scope}[yshift=-1.5cm] - \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={below:$\mathbb{R}$}]; - \begin{scope} - \clip (-1,-0.1) rectangle (1,0.1); - \draw[color=orange,line width=1.4pt] (-0.98,0) -- (0.98,0); - \draw[color=orange,line width=1.4pt] (-1,0) circle[radius=0.02]; - \draw[color=orange,line width=1.4pt] (1,0) circle[radius=0.02]; - \end{scope} -\end{scope} - -\begin{scope}[xshift=1.5cm] - \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$\mathbb{R}$}]; - \begin{scope} - \clip (-0.1,-1) rectangle (0.1,1); - \draw[color=red,line width=1.4pt] (0,-0.98) -- (0,0.98); - \draw[color=red,line width=1.4pt] (0,-1) circle[radius=0.02]; - \draw[color=red,line width=1.4pt] (0,1) circle[radius=0.02]; - \end{scope} -\end{scope} - -\begin{scope}[xshift=-1.5cm] - \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={left:$\mathbb{R}$}]; - \begin{scope} - \clip (-0.1,-1) rectangle (0.1,1); - \draw[color=blue,line width=1.4pt] (0,-0.98) -- (0,0.98); - \draw[color=blue,line width=1.4pt] (0,-1) circle[radius=0.02]; - \draw[color=blue,line width=1.4pt] (0,1) circle[radius=0.02]; - \end{scope} -\end{scope} - -\node[color=red] at (23:1) [right] {$U_{x>0}$}; -\node[color=red] at (1.25,0) [right] {$\varphi_1$}; - -\node[color=blue] at (157:1) [left] {$U_{x<0}$}; -\node[color=blue] at (-1.25,0) [left] {$\varphi_2$}; - -\node[color=darkgreen] at (115:1) [below right] {$U_{y>0}$}; -\node[color=darkgreen] at (0,1.25) [above] {$\varphi_3$}; - -\node[color=orange] at (-115:1) [above right] {$U_{y<0}$}; -\node[color=orange] at (0,-1.25) [below] {$\varphi_4$}; - -\draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$x$}]; -\draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$y$}]; - -\end{tikzpicture} -\end{document} - +%
+% kartenkreis.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{3}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\fill[color=red!20] (0,-1) rectangle (1.5,1);
+\fill[color=blue!20] (-1.5,-1) rectangle (0,1);
+\fill[color=darkgreen!40,opacity=0.5] (-1,0) rectangle (1,1.5);
+\fill[color=orange!40,opacity=0.5] (-1,-1.5) rectangle (1,0);
+\fill[color=white] (0,0) circle[radius=1];
+
+\fill[color=gray!20]
+ (0,-1.5) -- (0.02,-1.6) -- (0.5,-1.8) -- (0.98,-1.6) -- (1,-1.5)
+ -- cycle;
+\fill[color=gray!20]
+ (0,1.5) -- (0.02,1.6) -- (0.5,1.8) -- (0.98,1.6) -- (1,1.5)
+ -- cycle;
+\fill[color=gray!20]
+ (0,-1.5) -- (-0.02,-1.6) -- (-0.5,-1.8) -- (-0.98,-1.6) -- (-1,-1.5)
+ -- cycle;
+\fill[color=gray!20]
+ (0,1.5) -- (-0.02,1.6) -- (-0.5,1.8) -- (-0.98,1.6) -- (-1,1.5)
+ -- cycle;
+
+\fill[color=gray!20]
+ (1.5,0) -- (1.6,0.02) -- (1.8,0.5) -- (1.6,0.98) -- (1.5,1)
+ -- cycle;
+\fill[color=gray!20]
+ (-1.5,0) -- (-1.6,0.02) -- (-1.8,0.5) -- (-1.6,0.98) -- (-1.5,1)
+ -- cycle;
+\fill[color=gray!20]
+ (1.5,0) -- (1.6,-0.02) -- (1.8,-0.5) -- (1.6,-0.98) -- (1.5,-1)
+ -- cycle;
+\fill[color=gray!20]
+ (-1.5,0) -- (-1.6,-0.02) -- (-1.8,-0.5) -- (-1.6,-0.98) -- (-1.5,-1)
+ -- cycle;
+
+\draw[->] (0.5,-1.8) arc (-180:-90:0.1) arc (-90:0:1.3) arc (0:90:0.1);
+\draw[->] (1.8,0.5) arc (-90:0:0.1) arc (0:90:1.3) arc (90:180:0.1);
+\draw[->] (-0.5,1.8) arc (0:90:0.1) arc (90:180:1.3) arc (180:270:0.1);
+\draw[->] (-1.8,-0.5) arc (90:180:0.1) arc (180:270:1.3) arc (270:360:0.1);
+
+\node at (1.01,1.32)
+ [right] {$\varphi_3\circ \varphi_1^{-1}(y)=\sqrt{1-y^2}$};
+\node at (1.6,1.6) {$\varphi_{31}$};
+
+\node at (1.01,-1.28)
+ [right] {$\varphi_1\circ \varphi_4^{-1}(x)=-\sqrt{1-x^2}$};
+\node at (1.6,-1.6) {$\varphi_{14}$};
+
+\node at (-1.24,1.32)
+ [left] {$\varphi_2\circ\varphi_3^{-1}(x)=\sqrt{1-x^2}$};
+\node at (-1.6,1.6) {$\varphi_{23}$};
+
+\node at (-1.18,-1.28)
+ [left] {$\varphi_4\circ\varphi_2^{-1}(y)=-\sqrt{1-y^2}$};
+\node at (-1.6,-1.6) {$\varphi_{42}$};
+
+
+\foreach \y in {0.1,0.3,...,0.9}{
+ \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm]
+ ({sqrt(1-\y*\y)},{\y}) -- (1.5,\y);
+ \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm]
+ ({sqrt(1-\y*\y)},{-\y}) -- (1.5,-\y);
+ \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm]
+ ({-sqrt(1-\y*\y)},{\y}) -- (-1.5,\y);
+ \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm]
+ ({-sqrt(1-\y*\y)},{-\y}) -- (-1.5,-\y);
+}
+\foreach \x in {0.1,0.3,...,0.9}{
+ \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm]
+ ({\x},{sqrt(1-\x*\x)}) -- ({\x},1.5);
+ \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm]
+ ({-\x},{sqrt(1-\x*\x)}) -- ({-\x},1.5);
+ \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm]
+ ({\x},{-sqrt(1-\x*\x)}) -- ({\x},-1.5);
+ \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm]
+ ({-\x},{-sqrt(1-\x*\x)}) -- ({-\x},-1.5);
+}
+
+%\draw[color=gray!50,line width=3pt] (0,0) circle[radius=1];
+\draw[color=yellow!30,line width=3pt] (0,0) circle[radius=1];
+\node[color=yellow] at ({1/sqrt(2)},{1/sqrt(2)}) [above right] {$S^1$};
+
+\def\r{1.02}
+
+\begin{scope}
+ \clip (0,-1.1) rectangle (1.1,1.1);
+ \draw[color=red,line width=1.4pt] (-89:\r) arc (-89:89:\r);
+ \draw[color=red,line width=1.4pt] (0,-\r) circle[radius=0.02];
+ \draw[color=red,line width=1.4pt] (0,\r) circle[radius=0.02];
+\end{scope}
+
+\begin{scope}
+ \clip (-1.1,-1.1) rectangle (0,1.1);
+ \draw[color=blue,line width=1.4pt] (91:\r) arc (91:269:\r);
+ \draw[color=blue,line width=1.4pt] (0,-\r) circle[radius=0.02];
+ \draw[color=blue,line width=1.4pt] (0,\r) circle[radius=0.02];
+\end{scope}
+
+\xdef\r{0.98}
+
+\begin{scope}
+ \clip (-1.1,0) rectangle (1.1,1.1);
+ \draw[color=darkgreen,line width=1.4pt] (1:\r) arc (1:179:\r);
+ \draw[color=darkgreen,line width=1.4pt] (\r,0) circle[radius=0.02];
+ \draw[color=darkgreen,line width=1.4pt] (-\r,0) circle[radius=0.02];
+\end{scope}
+
+\begin{scope}
+ \clip (-1.1,-1.1) rectangle (1.1,0);
+ \draw[color=orange,line width=1.4pt] (181:\r) arc (181:359:\r);
+ \draw[color=orange,line width=1.4pt] (\r,0) circle[radius=0.02];
+ \draw[color=orange,line width=1.4pt] (-\r,0) circle[radius=0.02];
+\end{scope}
+
+\begin{scope}[yshift=1.5cm]
+ \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$\mathbb{R}$}];
+ \begin{scope}
+ \clip (-1,-0.1) rectangle (1,0.1);
+ \draw[color=darkgreen,line width=1.4pt] (-0.98,0) -- (0.98,0);
+ \draw[color=darkgreen,line width=1.4pt] (-1,0)
+ circle[radius=0.02];
+ \draw[color=darkgreen,line width=1.4pt] (1,0)
+ circle[radius=0.02];
+ \end{scope}
+\end{scope}
+
+\begin{scope}[yshift=-1.5cm]
+ \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={below:$\mathbb{R}$}];
+ \begin{scope}
+ \clip (-1,-0.1) rectangle (1,0.1);
+ \draw[color=orange,line width=1.4pt] (-0.98,0) -- (0.98,0);
+ \draw[color=orange,line width=1.4pt] (-1,0) circle[radius=0.02];
+ \draw[color=orange,line width=1.4pt] (1,0) circle[radius=0.02];
+ \end{scope}
+\end{scope}
+
+\begin{scope}[xshift=1.5cm]
+ \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$\mathbb{R}$}];
+ \begin{scope}
+ \clip (-0.1,-1) rectangle (0.1,1);
+ \draw[color=red,line width=1.4pt] (0,-0.98) -- (0,0.98);
+ \draw[color=red,line width=1.4pt] (0,-1) circle[radius=0.02];
+ \draw[color=red,line width=1.4pt] (0,1) circle[radius=0.02];
+ \end{scope}
+\end{scope}
+
+\begin{scope}[xshift=-1.5cm]
+ \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={left:$\mathbb{R}$}];
+ \begin{scope}
+ \clip (-0.1,-1) rectangle (0.1,1);
+ \draw[color=blue,line width=1.4pt] (0,-0.98) -- (0,0.98);
+ \draw[color=blue,line width=1.4pt] (0,-1) circle[radius=0.02];
+ \draw[color=blue,line width=1.4pt] (0,1) circle[radius=0.02];
+ \end{scope}
+\end{scope}
+
+\node[color=red] at (23:1) [right] {$U_{x>0}$};
+\node[color=red] at (1.25,0) [right] {$\varphi_1$};
+
+\node[color=blue] at (157:1) [left] {$U_{x<0}$};
+\node[color=blue] at (-1.25,0) [left] {$\varphi_2$};
+
+\node[color=darkgreen] at (115:1) [below right] {$U_{y>0}$};
+\node[color=darkgreen] at (0,1.25) [above] {$\varphi_3$};
+
+\node[color=orange] at (-115:1) [above right] {$U_{y<0}$};
+\node[color=orange] at (0,-1.25) [below] {$\varphi_4$};
+
+\draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$x$}];
+\draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$y$}];
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/60-gruppen/images/phasenraum.tex b/buch/chapters/60-gruppen/images/phasenraum.tex index 2bccc27..2305b26 100644 --- a/buch/chapters/60-gruppen/images/phasenraum.tex +++ b/buch/chapters/60-gruppen/images/phasenraum.tex @@ -1,93 +1,93 @@ -% -% phasenraum.tex -- -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\def\m{1} -\def\K{0.444} - -\pgfmathparse{sqrt(\K/\m)} -\xdef\o{\pgfmathresult} - -\def\punkt#1#2{ ({#2*cos(#1)},{\o*#2*sin(#1)}) } - -\foreach \r in {0.5,1,...,6}{ - \draw plot[domain=0:359,samples=360] - ({\r*cos(\x)},{\o*\r*sin(\x)}) -- cycle; -} - -\def\tangente#1#2{ - \pgfmathparse{#2/\m} - \xdef\u{\pgfmathresult} - - \pgfmathparse{-#1*\K} - \xdef\v{\pgfmathresult} - - \pgfmathparse{sqrt(\u*\u+\v*\v)} - \xdef\l{\pgfmathresult} - - \fill[color=blue] (#1,#2) circle[radius=0.03]; - \draw[color=blue,line width=0.5pt] - ({#1-0.2*\u/\l},{#2-0.2*\v/\l}) - -- - ({#1+0.2*\u/\l},{#2+0.2*\v/\l}); -} - -\foreach \x in {-6.25,-5.75,...,6.3}{ - \foreach \y in {-4.25,-3.75,...,4.3}{ - \tangente{\x}{\y} - } -} - -%\foreach \x in {0.5,1,...,5.5,6}{ -% \tangente{\x}{0} -% \tangente{-\x}{0} -% \foreach \y in {0.5,1,...,4}{ -% \tangente{\x}{\y} -% \tangente{-\x}{\y} -% \tangente{\x}{-\y} -% \tangente{-\x}{-\y} -% } -%} -%\foreach \y in {0.5,1,...,4}{ -% \tangente{0}{\y} -% \tangente{0}{-\y} -%} - -\fill[color=white,opacity=0.7] \punkt{60}{4} rectangle \punkt{59}{5.8}; -\fill[color=white,opacity=0.7] \punkt{0}{4} rectangle \punkt{18}{4.9}; - -\draw[->,color=red,line width=1.4pt] - plot[domain=0:60,samples=360] - ({4*cos(\x)},{\o*4*sin(\x)}); - -\draw[->] (-6.5,0) -- (6.7,0) coordinate[label={$x$}]; -\draw[->] (0,-4.5) -- (0,4.7) coordinate[label={right:$p$}]; - -\fill[color=red] \punkt{60}{4} circle[radius=0.08]; -\node[color=red] at \punkt{60}{4} [above right] - {$\begin{pmatrix}x(t)\\p(t)\end{pmatrix}$}; - -\fill[color=red] \punkt{0}{4} circle[radius=0.08]; -\node[color=red] at \punkt{0}{4} [above right] - {$\begin{pmatrix}x_0\\0\end{pmatrix}$}; - -\fill[color=white] (4,0) circle[radius=0.05]; -\node at (3.9,0) [below right] {$x_0$}; -\fill (0,{\o*4}) circle[radius=0.05]; -\node at (0.1,{\o*4+0.05}) [below left] {$\omega x_0$}; - -\end{tikzpicture} -\end{document} - +%
+% phasenraum.tex --
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\def\m{1}
+\def\K{0.444}
+
+\pgfmathparse{sqrt(\K/\m)}
+\xdef\o{\pgfmathresult}
+
+\def\punkt#1#2{ ({#2*cos(#1)},{\o*#2*sin(#1)}) }
+
+\foreach \r in {0.5,1,...,6}{
+ \draw plot[domain=0:359,samples=360]
+ ({\r*cos(\x)},{\o*\r*sin(\x)}) -- cycle;
+}
+
+\def\tangente#1#2{
+ \pgfmathparse{#2/\m}
+ \xdef\u{\pgfmathresult}
+
+ \pgfmathparse{-#1*\K}
+ \xdef\v{\pgfmathresult}
+
+ \pgfmathparse{sqrt(\u*\u+\v*\v)}
+ \xdef\l{\pgfmathresult}
+
+ \fill[color=blue] (#1,#2) circle[radius=0.03];
+ \draw[color=blue,line width=0.5pt]
+ ({#1-0.2*\u/\l},{#2-0.2*\v/\l})
+ --
+ ({#1+0.2*\u/\l},{#2+0.2*\v/\l});
+}
+
+\foreach \x in {-6.25,-5.75,...,6.3}{
+ \foreach \y in {-4.25,-3.75,...,4.3}{
+ \tangente{\x}{\y}
+ }
+}
+
+%\foreach \x in {0.5,1,...,5.5,6}{
+% \tangente{\x}{0}
+% \tangente{-\x}{0}
+% \foreach \y in {0.5,1,...,4}{
+% \tangente{\x}{\y}
+% \tangente{-\x}{\y}
+% \tangente{\x}{-\y}
+% \tangente{-\x}{-\y}
+% }
+%}
+%\foreach \y in {0.5,1,...,4}{
+% \tangente{0}{\y}
+% \tangente{0}{-\y}
+%}
+
+\fill[color=white,opacity=0.7] \punkt{60}{4} rectangle \punkt{59}{5.8};
+\fill[color=white,opacity=0.7] \punkt{0}{4} rectangle \punkt{18}{4.9};
+
+\draw[->,color=red,line width=1.4pt]
+ plot[domain=0:60,samples=360]
+ ({4*cos(\x)},{\o*4*sin(\x)});
+
+\draw[->] (-6.5,0) -- (6.7,0) coordinate[label={$x$}];
+\draw[->] (0,-4.5) -- (0,4.7) coordinate[label={right:$p$}];
+
+\fill[color=red] \punkt{60}{4} circle[radius=0.08];
+\node[color=red] at \punkt{60}{4} [above right]
+ {$\begin{pmatrix}x(t)\\p(t)\end{pmatrix}$};
+
+\fill[color=red] \punkt{0}{4} circle[radius=0.08];
+\node[color=red] at \punkt{0}{4} [above right]
+ {$\begin{pmatrix}x_0\\0\end{pmatrix}$};
+
+\fill[color=white] (4,0) circle[radius=0.05];
+\node at (3.9,0) [below right] {$x_0$};
+\fill (0,{\o*4}) circle[radius=0.05];
+\node at (0.1,{\o*4+0.05}) [below left] {$\omega x_0$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/60-gruppen/images/scherungen.tex b/buch/chapters/60-gruppen/images/scherungen.tex index 893bd12..f6df172 100644 --- a/buch/chapters/60-gruppen/images/scherungen.tex +++ b/buch/chapters/60-gruppen/images/scherungen.tex @@ -1,157 +1,157 @@ -% -% scherungen.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{blau}{rgb}{0,0.8,1} -\definecolor{blau}{rgb}{0,0.6,0} -\def\s{1.1} - -\begin{scope}[xshift=-4.6cm] - - \fill[color=blue!20] (0,0) rectangle (2,2); - \fill[color=red!40,opacity=0.5] (0,0) -- (2,\s) -- (2,{2+\s}) -- (0,2) - -- cycle; - - \foreach \x in {-1,...,3}{ - \draw[color=blau] (\x,-1) -- (\x,3); - \draw[color=blau] (-1,\x) -- (3,\x); - } - - \begin{scope} - \clip (-1,-1) rectangle (3,3); - \foreach \x in {-1,...,3}{ - \draw[color=orange] (\x,-1) -- (\x,3); - \draw[color=orange] (-1,{\x-0.5*\s}) -- (3,{\x+1.5*\s}); - } - \end{scope} - - \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; - - \node[color=blue] at (0,2) [above left] {$1$}; - \node[color=blue] at (2,0) [below right] {$1$}; - \draw[->,color=blue] (0,0) -- (2,0); - \draw[->,color=blue] (0,0) -- (0,2); - - \draw[->,color=red] (0,0) -- (2,\s); - \draw[->,color=red] (0,0) -- (0,2); - - \node[color=red] at (2,\s) [below right] {$(1,t)$}; - - \node at (0,0) [below right] {$O$}; - \node at (1,-1.1) [below] {$\displaystyle - \begin{aligned} - M &= \begin{pmatrix}0&0\\1&0 \end{pmatrix} - \\ - e^{Mt} - &= - \begin{pmatrix}1&0\\t&1 \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\begin{scope} - \fill[color=blue!20] (0,0) rectangle (2,2); - \fill[color=red!40,opacity=0.5] (0,0) -- (2,0) -- ({2+\s},2) -- (\s,2) - -- cycle; - - \foreach \x in {-1,...,3}{ - \draw[color=blau] (\x,-1) -- (\x,3); - \draw[color=blau] (-1,\x) -- (3,\x); - } - - \begin{scope} - \clip (-1,-1) rectangle (3,3); - \foreach \x in {-1,...,3}{ - \draw[color=orange] (-1,\x) -- (3,\x); - \draw[color=orange] ({\x-0.5*\s},-1) -- ({\x+1.5*\s},3); - } - \end{scope} - - \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; - - \node[color=blue] at (0,2) [above left] {$1$}; - \node[color=blue] at (2,0) [below right] {$1$}; - \draw[->,color=blue] (0,0) -- (2,0); - \draw[->,color=blue] (0,0) -- (0,2); - - \draw[->,color=red] (0,0) -- (2,0); - \draw[->,color=red] (0,0) -- (\s,2); - - \node[color=red] at (\s,2) [above left] {$(t,1)$}; - - \node at (0,0) [below right] {$O$}; - - \node at (1,-1.1) [below] {$\displaystyle - \begin{aligned} N &= \begin{pmatrix}0&1\\0&0 \end{pmatrix} - \\ - e^{Nt} - &= - \begin{pmatrix}1&t\\0&1 \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\begin{scope}[xshift=3.6cm,yshift=0cm] - \def\punkt#1#2{({1.6005*(#1)+0.4114*(#2)},{-0.2057*(#1)+0.5719*(#2)})} - \fill[color=blue!20] (0,0) rectangle (2,2); - \fill[color=red!40,opacity=0.5] - (0,0) -- \punkt{2}{0} -- \punkt{2}{2} -- \punkt{0}{2} -- cycle; - - \foreach \x in {0,...,4}{ - \draw[color=blau] (\x,-1) -- (\x,3); - } - \foreach \y in {-1,...,3}{ - \draw[color=blau] (0,\y) -- (4,\y); - } - - \begin{scope} - \clip (-0,-1) rectangle (4,3); - \foreach \x in {-1,...,6}{ - \draw[color=orange] \punkt{\x}{-3} -- \punkt{\x}{6}; - \draw[color=orange] \punkt{-3}{\x} -- \punkt{6}{\x}; - } - \end{scope} - - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; - - \node[color=blue] at (0,2) [above left] {$1$}; - \node[color=blue] at (2,0) [below right] {$1$}; - \draw[->,color=blue] (0,0) -- (2,0); - \draw[->,color=blue] (0,0) -- (0,2); - - \draw[->,color=red] (0,0) -- \punkt{2}{0}; - \draw[->,color=red] (0,0) -- \punkt{0}{2}; - - \node at (0,0) [below right] {$O$}; - - \node at (2,-1.1) [below] {$\displaystyle - \begin{aligned} D &= \begin{pmatrix}0.5&0.4\\-0.2&-0.5 \end{pmatrix} - \\ - e^{D\cdot 1} - &= - \begin{pmatrix} - 1.6005 & 0.4114\\ - -0.2057 & 0.5719 - \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\end{tikzpicture} -\end{document} - +%
+% scherungen.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{blau}{rgb}{0,0.8,1}
+\definecolor{blau}{rgb}{0,0.6,0}
+\def\s{1.1}
+
+\begin{scope}[xshift=-4.6cm]
+
+ \fill[color=blue!20] (0,0) rectangle (2,2);
+ \fill[color=red!40,opacity=0.5] (0,0) -- (2,\s) -- (2,{2+\s}) -- (0,2)
+ -- cycle;
+
+ \foreach \x in {-1,...,3}{
+ \draw[color=blau] (\x,-1) -- (\x,3);
+ \draw[color=blau] (-1,\x) -- (3,\x);
+ }
+
+ \begin{scope}
+ \clip (-1,-1) rectangle (3,3);
+ \foreach \x in {-1,...,3}{
+ \draw[color=orange] (\x,-1) -- (\x,3);
+ \draw[color=orange] (-1,{\x-0.5*\s}) -- (3,{\x+1.5*\s});
+ }
+ \end{scope}
+
+ \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}];
+
+ \node[color=blue] at (0,2) [above left] {$1$};
+ \node[color=blue] at (2,0) [below right] {$1$};
+ \draw[->,color=blue] (0,0) -- (2,0);
+ \draw[->,color=blue] (0,0) -- (0,2);
+
+ \draw[->,color=red] (0,0) -- (2,\s);
+ \draw[->,color=red] (0,0) -- (0,2);
+
+ \node[color=red] at (2,\s) [below right] {$(1,t)$};
+
+ \node at (0,0) [below right] {$O$};
+ \node at (1,-1.1) [below] {$\displaystyle
+ \begin{aligned}
+ M &= \begin{pmatrix}0&0\\1&0 \end{pmatrix}
+ \\
+ e^{Mt}
+ &=
+ \begin{pmatrix}1&0\\t&1 \end{pmatrix}
+ \end{aligned}
+ $};
+\end{scope}
+
+\begin{scope}
+ \fill[color=blue!20] (0,0) rectangle (2,2);
+ \fill[color=red!40,opacity=0.5] (0,0) -- (2,0) -- ({2+\s},2) -- (\s,2)
+ -- cycle;
+
+ \foreach \x in {-1,...,3}{
+ \draw[color=blau] (\x,-1) -- (\x,3);
+ \draw[color=blau] (-1,\x) -- (3,\x);
+ }
+
+ \begin{scope}
+ \clip (-1,-1) rectangle (3,3);
+ \foreach \x in {-1,...,3}{
+ \draw[color=orange] (-1,\x) -- (3,\x);
+ \draw[color=orange] ({\x-0.5*\s},-1) -- ({\x+1.5*\s},3);
+ }
+ \end{scope}
+
+ \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}];
+
+ \node[color=blue] at (0,2) [above left] {$1$};
+ \node[color=blue] at (2,0) [below right] {$1$};
+ \draw[->,color=blue] (0,0) -- (2,0);
+ \draw[->,color=blue] (0,0) -- (0,2);
+
+ \draw[->,color=red] (0,0) -- (2,0);
+ \draw[->,color=red] (0,0) -- (\s,2);
+
+ \node[color=red] at (\s,2) [above left] {$(t,1)$};
+
+ \node at (0,0) [below right] {$O$};
+
+ \node at (1,-1.1) [below] {$\displaystyle
+ \begin{aligned} N &= \begin{pmatrix}0&1\\0&0 \end{pmatrix}
+ \\
+ e^{Nt}
+ &=
+ \begin{pmatrix}1&t\\0&1 \end{pmatrix}
+ \end{aligned}
+ $};
+\end{scope}
+
+\begin{scope}[xshift=3.6cm,yshift=0cm]
+ \def\punkt#1#2{({1.6005*(#1)+0.4114*(#2)},{-0.2057*(#1)+0.5719*(#2)})}
+ \fill[color=blue!20] (0,0) rectangle (2,2);
+ \fill[color=red!40,opacity=0.5]
+ (0,0) -- \punkt{2}{0} -- \punkt{2}{2} -- \punkt{0}{2} -- cycle;
+
+ \foreach \x in {0,...,4}{
+ \draw[color=blau] (\x,-1) -- (\x,3);
+ }
+ \foreach \y in {-1,...,3}{
+ \draw[color=blau] (0,\y) -- (4,\y);
+ }
+
+ \begin{scope}
+ \clip (-0,-1) rectangle (4,3);
+ \foreach \x in {-1,...,6}{
+ \draw[color=orange] \punkt{\x}{-3} -- \punkt{\x}{6};
+ \draw[color=orange] \punkt{-3}{\x} -- \punkt{6}{\x};
+ }
+ \end{scope}
+
+ \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}];
+
+ \node[color=blue] at (0,2) [above left] {$1$};
+ \node[color=blue] at (2,0) [below right] {$1$};
+ \draw[->,color=blue] (0,0) -- (2,0);
+ \draw[->,color=blue] (0,0) -- (0,2);
+
+ \draw[->,color=red] (0,0) -- \punkt{2}{0};
+ \draw[->,color=red] (0,0) -- \punkt{0}{2};
+
+ \node at (0,0) [below right] {$O$};
+
+ \node at (2,-1.1) [below] {$\displaystyle
+ \begin{aligned} D &= \begin{pmatrix}0.5&0.4\\-0.2&-0.5 \end{pmatrix}
+ \\
+ e^{D\cdot 1}
+ &=
+ \begin{pmatrix}
+ 1.6005 & 0.4114\\
+ -0.2057 & 0.5719
+ \end{pmatrix}
+ \end{aligned}
+ $};
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/60-gruppen/images/sl2.tex b/buch/chapters/60-gruppen/images/sl2.tex index 0e44aa9..c41308c 100644 --- a/buch/chapters/60-gruppen/images/sl2.tex +++ b/buch/chapters/60-gruppen/images/sl2.tex @@ -1,146 +1,146 @@ -% -% sl2.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\begin{scope}[xshift=-4.5cm] - \fill[color=blue!20] - (1.4,0) -- (0,1.4) -- (-1.4,0) -- (0,-1.4) -- cycle; - \fill[color=red!40,opacity=0.5] - (1.96,0) -- (0,1) -- (-1.96,0) -- (0,-1) -- cycle; - - \begin{scope} - \clip (-2.1,-2.1) rectangle (2.3,2.3); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({-(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({-(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); - \end{scope} - - \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \draw[->,color=blue] (0,0) -- (1.4,0); - \draw[->,color=blue] (0,0) -- (0,1.4); - - \draw[->,color=red] (0,0) -- (1.96,0); - \draw[->,color=red] (0,0) -- (0,1); - \node at (0,-3.2) - {$\displaystyle - \begin{aligned} - A&=\begin{pmatrix}1&0\\0&-1\end{pmatrix} - \\ - e^{At} - &=\begin{pmatrix}e^t&0\\0&e^{-t}\end{pmatrix} - \end{aligned} - $}; - -\end{scope} - - -\begin{scope} - \fill[color=blue!20] - (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; - \fill[color=red!40,opacity=0.5] - (33:1.4) -- (123:1.4) -- (213:1.4) -- (303:1.4) -- cycle; - - \draw[color=darkgreen] (0,0) circle[radius=1.4]; - - \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \draw[->,color=blue] (0,0) -- (1.4,0); - \draw[->,color=blue] (0,0) -- (0,1.4); - - \draw[->,color=red] (0,0) -- (33:1.4); - \draw[->,color=red] (0,0) -- (123:1.4); - - \node at (0,-3.2) - {$\displaystyle - \begin{aligned} - B - &=\begin{pmatrix}0&-1\\1&0 \end{pmatrix} - \\ - e^{Bt} - &= - \begin{pmatrix} - \cos t&-\sin t\\ - \sin t& \cos t - \end{pmatrix} - \end{aligned}$}; -\end{scope} - - -\begin{scope}[xshift=4.5cm] - \fill[color=blue!20] - (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; - \def\x{0.5} - \fill[color=red!40,opacity=0.5] - ({1.4*cosh(\x)},{1.4*sinh(\x}) - -- - ({1.4*sinh(\x},{1.4*cosh(\x)}) - -- - ({-1.4*cosh(\x)},{-1.4*sinh(\x}) - -- - ({-1.4*sinh(\x},{-1.4*cosh(\x)}) - -- cycle; - - \begin{scope} - \clip (-2.1,-2.1) rectangle (2.2,2.2); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({1.4*cosh(\x)},{1.4*sinh(\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{1.4*cosh(\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({-1.4*cosh(\x)},{1.4*sinh(\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{-1.4*cosh(\x)}); - \end{scope} - - \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \draw[->,color=blue] (0,0) -- (1.4,0); - \draw[->,color=blue] (0,0) -- (0,1.4); - - \draw[->,color=red] (0,0) -- ({1.4*cosh(\x)},{1.4*sinh(\x)}); - \draw[->,color=red] (0,0) -- ({1.4*sinh(\x)},{1.4*cosh(\x)}); - - \node at (0,-3.2) {$\displaystyle - \begin{aligned} - C&=\begin{pmatrix}0&1\\1&0\end{pmatrix} - \\ - e^{Ct} - &= - \begin{pmatrix} - \cosh t&\sinh t\\ - \sinh t&\cosh t - \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\end{tikzpicture} -\end{document} - +%
+% sl2.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\begin{scope}[xshift=-4.5cm]
+ \fill[color=blue!20]
+ (1.4,0) -- (0,1.4) -- (-1.4,0) -- (0,-1.4) -- cycle;
+ \fill[color=red!40,opacity=0.5]
+ (1.96,0) -- (0,1) -- (-1.96,0) -- (0,-1) -- cycle;
+
+ \begin{scope}
+ \clip (-2.1,-2.1) rectangle (2.3,2.3);
+ \draw[color=darkgreen]
+ plot[domain=-1:1,samples=100]
+ ({(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)});
+ \draw[color=darkgreen]
+ plot[domain=-1:1,samples=100]
+ ({(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)});
+ \draw[color=darkgreen]
+ plot[domain=-1:1,samples=100]
+ ({-(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)});
+ \draw[color=darkgreen]
+ plot[domain=-1:1,samples=100]
+ ({-(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)});
+ \end{scope}
+
+ \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+
+ \draw[->,color=blue] (0,0) -- (1.4,0);
+ \draw[->,color=blue] (0,0) -- (0,1.4);
+
+ \draw[->,color=red] (0,0) -- (1.96,0);
+ \draw[->,color=red] (0,0) -- (0,1);
+ \node at (0,-3.2)
+ {$\displaystyle
+ \begin{aligned}
+ A&=\begin{pmatrix}1&0\\0&-1\end{pmatrix}
+ \\
+ e^{At}
+ &=\begin{pmatrix}e^t&0\\0&e^{-t}\end{pmatrix}
+ \end{aligned}
+ $};
+
+\end{scope}
+
+
+\begin{scope}
+ \fill[color=blue!20]
+ (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle;
+ \fill[color=red!40,opacity=0.5]
+ (33:1.4) -- (123:1.4) -- (213:1.4) -- (303:1.4) -- cycle;
+
+ \draw[color=darkgreen] (0,0) circle[radius=1.4];
+
+ \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+
+ \draw[->,color=blue] (0,0) -- (1.4,0);
+ \draw[->,color=blue] (0,0) -- (0,1.4);
+
+ \draw[->,color=red] (0,0) -- (33:1.4);
+ \draw[->,color=red] (0,0) -- (123:1.4);
+
+ \node at (0,-3.2)
+ {$\displaystyle
+ \begin{aligned}
+ B
+ &=\begin{pmatrix}0&-1\\1&0 \end{pmatrix}
+ \\
+ e^{Bt}
+ &=
+ \begin{pmatrix}
+ \cos t&-\sin t\\
+ \sin t& \cos t
+ \end{pmatrix}
+ \end{aligned}$};
+\end{scope}
+
+
+\begin{scope}[xshift=4.5cm]
+ \fill[color=blue!20]
+ (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle;
+ \def\x{0.5}
+ \fill[color=red!40,opacity=0.5]
+ ({1.4*cosh(\x)},{1.4*sinh(\x})
+ --
+ ({1.4*sinh(\x},{1.4*cosh(\x)})
+ --
+ ({-1.4*cosh(\x)},{-1.4*sinh(\x})
+ --
+ ({-1.4*sinh(\x},{-1.4*cosh(\x)})
+ -- cycle;
+
+ \begin{scope}
+ \clip (-2.1,-2.1) rectangle (2.2,2.2);
+ \draw[color=darkgreen]
+ plot[domain=-1:1,samples=100] ({1.4*cosh(\x)},{1.4*sinh(\x)});
+ \draw[color=darkgreen]
+ plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{1.4*cosh(\x)});
+ \draw[color=darkgreen]
+ plot[domain=-1:1,samples=100] ({-1.4*cosh(\x)},{1.4*sinh(\x)});
+ \draw[color=darkgreen]
+ plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{-1.4*cosh(\x)});
+ \end{scope}
+
+ \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+
+ \draw[->,color=blue] (0,0) -- (1.4,0);
+ \draw[->,color=blue] (0,0) -- (0,1.4);
+
+ \draw[->,color=red] (0,0) -- ({1.4*cosh(\x)},{1.4*sinh(\x)});
+ \draw[->,color=red] (0,0) -- ({1.4*sinh(\x)},{1.4*cosh(\x)});
+
+ \node at (0,-3.2) {$\displaystyle
+ \begin{aligned}
+ C&=\begin{pmatrix}0&1\\1&0\end{pmatrix}
+ \\
+ e^{Ct}
+ &=
+ \begin{pmatrix}
+ \cosh t&\sinh t\\
+ \sinh t&\cosh t
+ \end{pmatrix}
+ \end{aligned}
+ $};
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/60-gruppen/images/torus.pov b/buch/chapters/60-gruppen/images/torus.pov index 3a8e327..ee09c36 100644 --- a/buch/chapters/60-gruppen/images/torus.pov +++ b/buch/chapters/60-gruppen/images/torus.pov @@ -1,189 +1,189 @@ -// -// diffusion.pov -// -// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule -// -#version 3.7; -#include "colors.inc" - -global_settings { - assumed_gamma 1 -} - -#declare imagescale = 0.034; -#declare N = 100; -#declare r = 0.43; -#declare R = 1; - -camera { - location <43, 25, -20> - look_at <0, -0.01, 0> - right 16/9 * x * imagescale - up y * imagescale -} - -light_source { - <10, 20, -40> color White - area_light <1,0,0> <0,0,1>, 10, 10 - adaptive 1 - jitter -} - -sky_sphere { - pigment { - color rgb<1,1,1> - } -} - -#macro rotiere(phi, vv) - < cos(phi) * vv.x - sin(phi) * vv.z, vv.y, sin(phi) * vv.x + cos(phi) * vv.z > -#end - -#macro punkt(phi,theta) - rotiere(phi, < R + r * cos(theta), r * sin(theta), 0 >) -#end - -mesh { - #declare phistep = 2 * pi / N; - #declare thetastep = 2 * 2 * pi / N; - #declare phi = 0; - #while (phi < 2 * pi - phistep/2) - #declare theta = 0; - #while (theta < 2 * pi - thetastep/2) - triangle { - punkt(phi , theta ), - punkt(phi + phistep, theta ), - punkt(phi + phistep, theta + thetastep) - } - triangle { - punkt(phi , theta ), - punkt(phi + phistep, theta + thetastep), - punkt(phi , theta + thetastep) - } - #declare theta = theta + thetastep; - #end - #declare phi = phi + phistep; - #end - pigment { - color Gray - } - finish { - specular 0.9 - metallic - } -} - -#declare thetastart = -0.2; -#declare thetaend = 1.2; -#declare phistart = 5; -#declare phiend = 6; - -union { - #declare thetastep = 0.2; - #declare theta = thetastart; - #while (theta < thetaend + thetastep/2) - #declare phistep = (phiend-phistart)/N; - #declare phi = phistart; - #while (phi < phiend - phistep/2) - sphere { punkt(phi,theta), 0.01 } - cylinder { - punkt(phi,theta), - punkt(phi+phistep,theta), - 0.01 - } - #declare phi = phi + phistep; - #end - sphere { punkt(phi,theta), 0.01 } - #declare theta = theta + thetastep; - #end - - pigment { - color Red - } - finish { - specular 0.9 - metallic - } -} - -union { - #declare phistep = 0.2; - #declare phi = phistart; - #while (phi < phiend + phistep/2) - #declare thetastep = (thetaend-thetastart)/N; - #declare theta = thetastart; - #while (theta < thetaend - thetastep/2) - sphere { punkt(phi,theta), 0.01 } - cylinder { - punkt(phi,theta), - punkt(phi,theta+thetastep), - 0.01 - } - #declare theta = theta + thetastep; - #end - sphere { punkt(phi,theta), 0.01 } - #declare phi = phi + phistep; - #end - pigment { - color Blue - } - finish { - specular 0.9 - metallic - } -} - -#macro punkt2(a,b) - punkt(5.6+a*sqrt(3)/2-b/2,0.2+a/2 + b*sqrt(3)/2) -#end - -#declare darkgreen = rgb<0,0.6,0>; - -#declare astart = 0; -#declare aend = 1; -#declare bstart = -0.2; -#declare bend = 1.2; -union { - #declare a = astart; - #declare astep = 0.2; - #while (a < aend + astep/2) - #declare b = bstart; - #declare bstep = (bend - bstart)/N; - #while (b < bend - bstep/2) - sphere { punkt2(a,b), 0.01 } - cylinder { punkt2(a,b), punkt2(a,b+bstep), 0.01 } - #declare b = b + bstep; - #end - sphere { punkt2(a,b), 0.01 } - #declare a = a + astep; - #end - pigment { - color darkgreen - } - finish { - specular 0.9 - metallic - } -} -union { - #declare b = bstart; - #declare bstep = 0.2; - #while (b < bend + bstep/2) - #declare a = astart; - #declare astep = (aend - astart)/N; - #while (a < aend - astep/2) - sphere { punkt2(a,b), 0.01 } - cylinder { punkt2(a,b), punkt2(a+astep,b), 0.01 } - #declare a = a + astep; - #end - sphere { punkt2(a,b), 0.01 } - #declare b = b + bstep; - #end - pigment { - color Orange - } - finish { - specular 0.9 - metallic - } -} +//
+// diffusion.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+
+global_settings {
+ assumed_gamma 1
+}
+
+#declare imagescale = 0.034;
+#declare N = 100;
+#declare r = 0.43;
+#declare R = 1;
+
+camera {
+ location <43, 25, -20>
+ look_at <0, -0.01, 0>
+ right 16/9 * x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <10, 20, -40> color White
+ area_light <1,0,0> <0,0,1>, 10, 10
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+#macro rotiere(phi, vv)
+ < cos(phi) * vv.x - sin(phi) * vv.z, vv.y, sin(phi) * vv.x + cos(phi) * vv.z >
+#end
+
+#macro punkt(phi,theta)
+ rotiere(phi, < R + r * cos(theta), r * sin(theta), 0 >)
+#end
+
+mesh {
+ #declare phistep = 2 * pi / N;
+ #declare thetastep = 2 * 2 * pi / N;
+ #declare phi = 0;
+ #while (phi < 2 * pi - phistep/2)
+ #declare theta = 0;
+ #while (theta < 2 * pi - thetastep/2)
+ triangle {
+ punkt(phi , theta ),
+ punkt(phi + phistep, theta ),
+ punkt(phi + phistep, theta + thetastep)
+ }
+ triangle {
+ punkt(phi , theta ),
+ punkt(phi + phistep, theta + thetastep),
+ punkt(phi , theta + thetastep)
+ }
+ #declare theta = theta + thetastep;
+ #end
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color Gray
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+#declare thetastart = -0.2;
+#declare thetaend = 1.2;
+#declare phistart = 5;
+#declare phiend = 6;
+
+union {
+ #declare thetastep = 0.2;
+ #declare theta = thetastart;
+ #while (theta < thetaend + thetastep/2)
+ #declare phistep = (phiend-phistart)/N;
+ #declare phi = phistart;
+ #while (phi < phiend - phistep/2)
+ sphere { punkt(phi,theta), 0.01 }
+ cylinder {
+ punkt(phi,theta),
+ punkt(phi+phistep,theta),
+ 0.01
+ }
+ #declare phi = phi + phistep;
+ #end
+ sphere { punkt(phi,theta), 0.01 }
+ #declare theta = theta + thetastep;
+ #end
+
+ pigment {
+ color Red
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+union {
+ #declare phistep = 0.2;
+ #declare phi = phistart;
+ #while (phi < phiend + phistep/2)
+ #declare thetastep = (thetaend-thetastart)/N;
+ #declare theta = thetastart;
+ #while (theta < thetaend - thetastep/2)
+ sphere { punkt(phi,theta), 0.01 }
+ cylinder {
+ punkt(phi,theta),
+ punkt(phi,theta+thetastep),
+ 0.01
+ }
+ #declare theta = theta + thetastep;
+ #end
+ sphere { punkt(phi,theta), 0.01 }
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color Blue
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+#macro punkt2(a,b)
+ punkt(5.6+a*sqrt(3)/2-b/2,0.2+a/2 + b*sqrt(3)/2)
+#end
+
+#declare darkgreen = rgb<0,0.6,0>;
+
+#declare astart = 0;
+#declare aend = 1;
+#declare bstart = -0.2;
+#declare bend = 1.2;
+union {
+ #declare a = astart;
+ #declare astep = 0.2;
+ #while (a < aend + astep/2)
+ #declare b = bstart;
+ #declare bstep = (bend - bstart)/N;
+ #while (b < bend - bstep/2)
+ sphere { punkt2(a,b), 0.01 }
+ cylinder { punkt2(a,b), punkt2(a,b+bstep), 0.01 }
+ #declare b = b + bstep;
+ #end
+ sphere { punkt2(a,b), 0.01 }
+ #declare a = a + astep;
+ #end
+ pigment {
+ color darkgreen
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+union {
+ #declare b = bstart;
+ #declare bstep = 0.2;
+ #while (b < bend + bstep/2)
+ #declare a = astart;
+ #declare astep = (aend - astart)/N;
+ #while (a < aend - astep/2)
+ sphere { punkt2(a,b), 0.01 }
+ cylinder { punkt2(a,b), punkt2(a+astep,b), 0.01 }
+ #declare a = a + astep;
+ #end
+ sphere { punkt2(a,b), 0.01 }
+ #declare b = b + bstep;
+ #end
+ pigment {
+ color Orange
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
diff --git a/buch/chapters/60-gruppen/lie-algebren.tex b/buch/chapters/60-gruppen/lie-algebren.tex index cee8510..482ba6f 100644 --- a/buch/chapters/60-gruppen/lie-algebren.tex +++ b/buch/chapters/60-gruppen/lie-algebren.tex @@ -1,647 +1,647 @@ -% -% lie-algebren.tex -- Lie-Algebren -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Lie-Algebren -\label{buch:section:lie-algebren}} -\rhead{Lie-Algebren} -Im vorangegangenen Abschnitt wurde gezeigt, dass alle beschriebenen -Matrizengruppen als Untermannigfaltigkeiten im $n^2$-dimensionalen -Vektorraum $M_n(\mathbb{R}9$ betrachtet werden können. -Die Gruppen haben damit nicht nur die algebraische Struktur einer -Matrixgruppe, sie haben auch die geometrische Struktur einer -Mannigfaltigkeit. -Insbesondere ist es sinnvoll, von Ableitungen zu sprechen. - -Eindimensionale Untergruppen einer Gruppe können auch als Kurven -innerhalb der Gruppe angesehen werden. -In diesem Abschnitt soll gezeigt werden, wie man zu jeder eindimensionalen -Untergruppe einen Vektor in $M_n(\mathbb{R})$ finden kann derart, dass -der Vektor als Tangentialvektor an diese Kurve gelten kann. -Aus einer Abbildung zwischen der Gruppe und diesen Tagentialvektoren -erhält man dann auch eine algebraische Struktur auf diesen Tangentialvektoren, -die sogenannte Lie-Algebra. -Sie ist charakteristisch für die Gruppe. -Insbesondere werden wir sehen, wie die Gruppen $\operatorname{SO}(3)$ -und $\operatorname{SU}(2)$ die gleich Lie-Algebra haben und dass die -Lie-Algebra von $\operatorname{SO}(3)$ mit dem Vektorprodukt in $\mathbb{R}^3$ -übereinstimmt. - -% -% Die Lie-Algebra einer Matrizengruppe -% -\subsection{Lie-Algebra einer Matrizengruppe -\label{buch:section:lie-algebra-einer-matrizengruppe}} -Zu jedem Tangentialvektor $A$ im Punkt $I$ einer Matrizengruppe gibt es -eine Einparameteruntergruppe, die mit Hilfe der Exponentialfunktion -$e^{At}$ konstruiert werden kann. -Für die folgende Konstruktion arbeiten wir in der Gruppe -$\operatorname{GL}_n(\mathbb{R})$, in der jede Matrix auch ein -Tangentialvektor ist. -Wir werden daraus die Lie-Klammer ableiten und später verifizieren, -dass diese auch für die Tangentialvektoren der Gruppen -$\operatorname{SO}(n)$ oder $\operatorname{SL}_n(\mathbb{R})$ funktioniert. - -\subsubsection{Lie-Klammer} -Zu zwei verschiedenen Tagentialvektoren $A\in M_n(\mathbb{R})$ und -$B\in M_n(\mathbb{R})$ gibt es zwei verschiedene Einparameteruntergruppen -$e^{At}$ und $e^{Bt}$. -Wenn die Matrizen $A$ und $B$ oder die Einparameteruntergruppen -$e^{At}$ und $e^{Bt}$ vertauschbar sind, dann stimmen -$e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ nicht überein. -Die zugehörigen Potenzreihen sind: -\begin{align*} -e^{At} -&= -I+At + \frac{A^2t^2}{2!} + \frac{A^3t^3}{3!} + \dots -\\ -e^{Bt} -&= -I+Bt + \frac{B^2t^2}{2!} + \frac{B^3t^3}{3!} + \dots -\\ -e^{At}e^{Bt} -&= -\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) -\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) -\\ -&= -I+(A+B)t + \biggl(\frac{A^2}{2!}+AB+\frac{B^2}{2!}\biggr)t^2 +\dots -\\ -e^{Bt}e^{At} -&= -\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) -\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) -\\ -&= -I+(B+A)t + \biggl(\frac{B^2}{2!}+BA+\frac{A^2}{2!}\biggr)t^2 +\dots -\intertext{% -Die beiden Kurven $e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ haben zwar den gleichen -Tangentialvektor für $t=0$, sie unterscheiden -sich aber untereinander, und sie unterscheiden sich von der -Einparameteruntergruppe von $A+B$} -e^{(A+B)t} -&= -I + (A+B)t + \frac{t^2}{2}(A^2 + AB + BA + B^2) + \ldots -\intertext{Für die Unterschiede finden wir} -e^{At}e^{Bt} - e^{(A+B)t} -&= -\biggl(AB-\frac{AB+BA}2\biggr)t^2 -+\ldots -= -(AB-BA) \frac{t^2}{2} + \ldots -= -[A,B]\frac{t^2}{2}+\ldots -\\ -e^{Bt}e^{At} - e^{(A+B)t} -&= -\biggl(BA-\frac{AB+BA}2\biggr)t^2 -+\ldots -= -(BA-AB) -\frac{t^2}{2} -+\ldots -= --[A,B]\frac{t^2}{2} -\\ -e^{At}e^{Bt}-e^{Bt}e^{At} -&= -(AB-BA)t^2+\ldots -= -\phantom{-}[A,B]t^2+\ldots -\end{align*} -wobei mit $[A,B]=AB-BA$ abgekürzt wird. - -\begin{definition} -\label{buch:gruppen:def:kommutator} -Der Kommutator zweier Matrizen $A,B\in M_n(\mathbb{R})$ ist die Matrix -$[A,B]=AB-BA$. -\end{definition} - -Der Kommutator ist bilinear und antisymmetrisch, da -\begin{align*} -[\lambda A+\mu B,C] -&= -\lambda AC+\mu BC-\lambda CA -\mu CB -= -\lambda[A,C]+\mu[B,C] -\\ -[A,\lambda B+\mu C] -&= -\lambda AB + \mu AC - \lambda BA - \mu CA -= -\lambda[A,B]+\mu[A,C] -\\ -[A,B] -&= -AB-BA = -(BA-AB) = -[B,A]. -\end{align*} -Aus der letzten Bedingung folgt insbesodnere $[A,A]=0$ - -Der Kommutator $[A,B]$ misst in niedrigster Ordnung den Unterschied -zwischen den $e^{At}$ und $e^{Bt}$. -Der Kommutator der Tangentialvektoren $A$ und $B$ bildet also die -Nichtkommutativität der Matrizen $e^{At}$ und $e^{Bt}$ ab. - - -\subsubsection{Die Jacobi-Identität} -Der Kommutator hat die folgende zusätzliche algebraische Eigenschaft: -\begin{align*} -[A,[B,C]] -+ -[B,[C,A]] -+ -[C,[A,B]] -&= -[A,BC-CB] -+ -[B,CA-AC] -+ -[C,AB-BA] -\\ -&=\phantom{+} -ABC-ACB-BCA+CBA -\\ -&\phantom{=}+ -BCA-BAC-CAB+ACB -\\ -&\phantom{=}+ -CAB-CBA-ABC+BAC -\\ -&=0. -\end{align*} -Diese Eigenschaft findet man auch bei anderen Strukturen, zum Beispiel -bei Vektorfeldern, die man als Differentialoperatoren auf Funktionen -betrachten kann. -Man kann dann einen Kommutator $[X,Y]$ für zwei Vektorfelder -$X$ und $Y$ definieren. -Dieser Kommutator von Vektorfeldern erfüllt ebenfalls die gleiche -Identität. - -\begin{definition} -\label{buch:gruppen:def:jacobi} -Ein bilineares Produkt $[\;,\;]\colon V\times V\to V$ auf dem Vektorraum -erfüllt die {\em Jacobi-Identität}, wenn -\[ -[u,[v,w]] + [v,[w,u]] + [w,[u,v]]=0 -\] -ist für beliebige Vektoren $u,v,w\in V$. -\end{definition} - -\subsubsection{Lie-Algebra} -Die Tangentialvektoren einer Lie-Gruppe tragen also mit dem Kommutator -eine zusätzliche Struktur, nämlich die Struktur einer Lie-Algebra. - -\begin{definition} -Ein Vektorraum $V$ mit einem bilinearen, Produkt -\[ -[\;,\;]\colon V\times V \to V : (u,v) \mapsto [u,v], -\] -welches zusätzlich die Jacobi-Identität~\ref{buch:gruppen:def:jacobi} -erfüllt, heisst eine {\em Lie-Algebra}. -\end{definition} - -Die Lie-Algebra einer Lie-Gruppe $G$ wird mit $LG$ bezeichnet. -$LG$ besteht aus den Tangentialvektoren im Punkt $I$. -Die Exponentialabbildung $\exp\colon LG\to G:A\mapsto e^A$ -ist eine differenzierbare Abbildung von $LG$ in die Gruppe $G$. -Insbesondere kann die Inverse der Exponentialabbildung als eine -Karte in einer Umgebung von $I$ verwendet werden. - -Für die Lie-Algebren der Matrizengruppen, die früher definiert worden -sind, verwenden wir die als Notationskonvention, dass der Name der -Lie-Algebra der mit kleinen Buchstaben geschrieben Name der Lie-Gruppe ist. -Die Lie-Algebra von $\operatorname{SO}(n)$ ist also -$L\operatorname{SO}(n) = \operatorname{os}(n)$, -die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ ist -$L\operatorname{SL}_n(\mathbb{R})=\operatorname{sl}_n(\mathbb{R})$. - - -% -% Die Lie-Algebra von SO(3) -% -\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$ -\label{buch:subsection:die-lie-algebra-von-so3}} -Zur Gruppe $\operatorname{SO}(3)$ der Drehmatrizen gehört die Lie-Algebra -$\operatorname{so}(3)$ der antisymmetrischen $3\times 3$-Matrizen. -Solche Matrizen haben die Form -\[ -\Omega -= -\begin{pmatrix} - 0 & \omega_3&-\omega_2\\ --\omega_3& 0 & \omega_1\\ - \omega_2&-\omega_1& 0 -\end{pmatrix} -\] -Der Vektorraum $\operatorname{so}(3)$ ist also dreidimensional. - -Die Wirkung von $I+t\Omega$ auf einem Vektor $x$ ist -\[ -(I+t\Omega) -\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} -= -\begin{pmatrix} - 1 & t\omega_3&-t\omega_2\\ --t\omega_3& 1 & t\omega_1\\ - t\omega_2&-t\omega_1& 1 -\end{pmatrix} -\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} -= -\begin{pmatrix} -x_1-t(-\omega_3x_2+\omega_2x_3)\\ -x_2-t( \omega_3x_1-\omega_1x_3)\\ -x_3-t(-\omega_2x_1+\omega_1x_2) -\end{pmatrix} -= -x- t\begin{pmatrix}\omega_1\\\omega_2\\\omega_3\end{pmatrix}\times x -= -x+ tx\times \omega. -\] -Die Matrix $\Omega$ ist als die infinitesimale Version einer Drehung -um die Achse $\omega$. - -Wir können die Analogie zwischen Matrizen in $\operatorname{so}(3)$ und -Vektoren in $\mathbb R^3$ noch etwas weiter treiben. Zu jedem Vektor -in $\mathbb R^3$ konstruieren wir eine Matrix in $\operatorname{so}(3)$ -mit Hilfe der Abbildung -\[ -\mathbb R^3\to\operatorname{so}(3) -: -\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix} -\mapsto -\begin{pmatrix} - 0 & v_3&-v_1\\ --v_3& 0 & v_2\\ - v_1&-v_2& 0 -\end{pmatrix}. -\] -Der Kommutator von zwei so aus Vektoren $\vec u$ und $\vec v$ -konstruierten Matrizen $U$ und $V$ ist: -\begin{align*} -[U,V] -&= -UV-VU -\\ -&= -\begin{pmatrix} - 0 & u_3&-u_1\\ --u_3& 0 & u_2\\ - u_1&-u_2& 0 -\end{pmatrix} -\begin{pmatrix} - 0 & v_3&-v_1\\ --v_3& 0 & v_2\\ - v_1&-v_2& 0 -\end{pmatrix} -- -\begin{pmatrix} - 0 & v_3&-v_1\\ --v_3& 0 & v_2\\ - v_1&-v_2& 0 -\end{pmatrix} -\begin{pmatrix} - 0 & u_3&-u_1\\ --u_3& 0 & u_2\\ - u_1&-u_2& 0 -\end{pmatrix} -\\ -&= -\begin{pmatrix} -u_3v_3+u_1v_1 - u_3v_3 - u_1v_1 - & u_1v_2 - u_2v_1 - & u_3v_2 - u_2v_3 -\\ -u_2v_1 - u_1v_2 - & -u_3v_3-u_2v_2 + u_3v_3+u_2v_2 - & u_3v_1 - u_1v_3 -\\ -u_2v_3 - u_3v_2 - & u_1v_3 - u_3v_1 - &-u_1v_1-u_2v_2 u_1v_1+u_2v_2 -\end{pmatrix} -\\ -&= -\begin{pmatrix} -0 - & u_1v_2 - u_2v_1 - &-(u_2v_3-u_3v_2) -\\ --( u_1v_2 - u_2v_1) - & 0 - & u_3v_1 - u_1v_3 -\\ -u_2v_3 - u_3v_2 - &-( u_3v_1 - u_1v_3) - & 0 -\end{pmatrix} -\end{align*} -Die Matrix $[U,V]$ gehört zum Vektor $\vec u\times\vec v$. -Damit können wir aus der Jacobi-Identität jetzt folgern, dass -\[ -\vec u\times(\vec v\times w) -+ -\vec v\times(\vec w\times u) -+ -\vec w\times(\vec u\times v) -=0 -\] -für drei beliebige Vektoren $\vec u$, $\vec v$ und $\vec w$ ist. -Dies bedeutet, dass der dreidimensionale Vektorraum $\mathbb R^3$ -mit dem Vektorprodukt zu einer Lie-Algebra wird. -In der Tat verwenden einige Bücher statt der vertrauten Notation -$\vec u\times \vec v$ für das Vektorprodukt die aus der Theorie der -Lie-Algebren entlehnte Notation $[\vec u,\vec v]$, zum Beispiel -das Lehrbuch der Theoretischen Physik \cite{skript:landaulifschitz1} -von Landau und Lifschitz. - -Die Lie-Algebren sind vollständig klassifiziert worden, es gibt -keine nicht trivialen zweidimensionalen Lie-Algebren. -Unser dreidimensionaler Raum ist also auch in dieser Hinsicht speziell: -es ist der kleinste Vektorraum, in dem eine nichttriviale Lie-Algebra-Struktur -möglich ist. - -Die antisymmetrischen Matrizen -\[ -\omega_{23} -= -\begin{pmatrix} 0&1&0\\-1&0&0\\0&0&0\end{pmatrix} -\quad -\omega_{31} -= -\begin{pmatrix} 0&0&-1\\0&0&0\\1&0&0\end{pmatrix} -\quad -\omega_{12} -= -\begin{pmatrix} 0&0&0\\0&0&1\\0&-1&0\end{pmatrix} -\] -haben die Kommutatoren -\begin{equation} -\begin{aligned} -[\omega_{23},\omega_{31}] -&= -\begin{pmatrix} -0&0&0\\ -0&0&1\\ -0&-1&0 -\end{pmatrix} -= -\omega_{12} -\\ -[\omega_{31},\omega_{12}] -&= -\begin{pmatrix} -0&1&0\\ --1&0&0\\ -0&0&0 -\end{pmatrix} -= -\omega_{23} -\\ -[\omega_{12},\omega_{23}] -&= -\begin{pmatrix} -0&0&-1\\ -0&0&0\\ -1&0&0 -\end{pmatrix} -= -\omega_{31} -\end{aligned} -\label{buch:gruppen:eqn:so3-kommutatoren} -\end{equation} - -\subsection{Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$} -Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ besteht aus den -spurlosen Matrizen in $M_n(\mathbb{R})$. -Der Kommutator solcher Matrizen erfüllt -\[ -\operatorname{Spur}([A,B]) -= -\operatorname{Spur}(AB-BA) -= -\operatorname{Spur}(AB)-\operatorname{Spur}(BA) -= -0, -\] -somit ist -\[ -\operatorname{sl}_n(\mathbb{R}) -= -\{ -A\in M_n(\mathbb{R})\;|\; \operatorname{Spur}(A)=0 -\} -\] -mit dem Kommutator eine Lie-Algebra. - -% -% Die Lie-Algebra von U(n) -% -\subsection{Die Lie-Algebra von $\operatorname{U}(n)$} -Die Lie-Gruppe -\[ -U(n) -= -\{ -A\in M_n(\mathbb{C} -\;|\; -AA^*=I -\} -\] -heisst die unitäre Gruppe, sie besteht aus den Matrizen, die -das sesquilineare Standardskalarprodukt auf dem komplexen -Vektorraum $\mathbb{C}^n$ invariant lassen. -Sei eine $\gamma(t)$ ein differenzierbare Kurve in $\operatorname{U}(n)$ -derart, dass $\gamma(0)=I$. -Die Ableitung der Identität $AA^*=I$ führt dann auf -\begin{align*} -0 -= -\frac{d}{dt} -\gamma(t)\gamma(t)^* -\bigg|_{t=0} -= -\dot{\gamma}(0)\gamma(0)^* -+ -\gamma(0)\dot{\gamma}(0)^* -= -\dot{\gamma}(0) -+ -\dot{\gamma}(0)^* -\quad\Rightarrow\quad -\dot{\gamma}(0)&=-\dot{\gamma}(0)^*. -A&=-A^* -\end{align*} -Die Lie-Algebra $\operatorname{u}(n)$ besteht daher aus den antihermiteschen -Matrizen. - -Wir sollten noch verifizieren, dass der Kommutator zweier antihermiteschen -Matrizen wieder anithermitesch ist: -\begin{align*} -[A,B]^* -&= -(AB-BA)^* -= -B^*A^*-A^*B^* -= -BA - AB -= --[B,A]. -\end{align*} - -Eine antihermitesche Matrix erfüllt $a_{ij}=-\overline{a}_{ji}$, -für die Diagonalelemente folgt daher $a_{ii} = -\overline{a}_{ii}$ -oder $\overline{a}_{ii}=-a_{ii}$. -Der Realteil von $a_{ii}$ ist -\[ -\Re a_{ii} -= -\frac{a_{ii}+\overline{a}_{ii}}2 -= -0, -\] -die Diagonalelemente einer antihermiteschen Matrix sind daher rein -imaginär. - - -% -% Die Lie-Algebra SU(2) -% -\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$} -Die Lie-Algebra $\operatorname{su}(n)$ besteht aus den -spurlosen antihermiteschen Matrizen. -Sie erfüllen daher die folgenden Bedingungen: -\[ -A=\begin{pmatrix}a&b\\c&d\end{pmatrix} -\qquad -\text{mit} -\qquad -\left\{ -\begin{aligned} -a+d&=0&&\Rightarrow& a=is = -d -\\ -b^*&=-c -\end{aligned} -\right. -\] -Damit hat $A$ die Form -\begin{align*} -A=\begin{pmatrix} -is&u+iv\\ --u+iv&-is -\end{pmatrix} -&= -s -\begin{pmatrix} -i&0\\ -0&-i -\end{pmatrix} -+ -u -\begin{pmatrix} - 0&1\\ --1&0 -\end{pmatrix} -+ -v -\begin{pmatrix} -0&i\\ -i&0 -\end{pmatrix} -\\ -&= -iv\underbrace{\begin{pmatrix}0&1\\1&0\end{pmatrix}}_{\displaystyle=\sigma_1} -+ -iu\underbrace{\begin{pmatrix}0&-i\\i&0\end{pmatrix}}_{\displaystyle=\sigma_2} -+ -is\underbrace{\begin{pmatrix}1&0\\0&-1\end{pmatrix}}_{\displaystyle=\sigma_3} -\end{align*} -Diese Matrizen heissen die {\em Pauli-Matrizen}, sie haben die Kommutatoren -\begin{align*} -[\sigma_1,\sigma_2] -&= -\begin{pmatrix}0&1\\1&0\end{pmatrix} -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -- -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -\begin{pmatrix}0&1\\1&0\end{pmatrix} -= -2\begin{pmatrix}i&0\\0&-i \end{pmatrix} -= -2i\sigma_3, -\\ -[\sigma_2,\sigma_3] -&= -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -- -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -= -2 -\begin{pmatrix}0&i\\i&0\end{pmatrix} -= -2i\sigma_1. -\\ -[\sigma_1,\sigma_3] -&= -\begin{pmatrix}0&1\\1&0\end{pmatrix} -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -- -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -\begin{pmatrix}0&1\\1&0\end{pmatrix} -= -2i -\begin{pmatrix}0&-1\\1&0\end{pmatrix} -= -2i\sigma_2, -\end{align*} -Bis auf eine Skalierung stimmt dies überein mit den Kommutatorprodukten -der Matrizen $\omega_{23}$, $\omega_{31}$ und $\omega_{12}$ -in \eqref{buch:gruppen:eqn:so3-kommutatoren}. -Die Matrizen $-\frac12i\sigma_j$ haben die Kommutatorprodukte -\begin{align*} -\bigl[-{\textstyle\frac12}i\sigma_1,-{\textstyle\frac12}i\sigma_2\bigr] -&= --{\textstyle\frac14}[\sigma_1,\sigma_2] -= --{\textstyle\frac14}\cdot 2i\sigma_3 -= --{\textstyle\frac12}i\sigma_3 -\\ -\bigl[-{\textstyle\frac12}i\sigma_2,-{\textstyle\frac12}i\sigma_3\bigr] -&= --{\textstyle\frac14}[\sigma_2,\sigma_3] -= --{\textstyle\frac14}\cdot 2i\sigma_1 -= --{\textstyle\frac12}i\sigma_1 -\\ -\bigl[-{\textstyle\frac12}i\sigma_3,-{\textstyle\frac12}i\sigma_1\bigr] -&= --{\textstyle\frac14}[\sigma_3,\sigma_1] -= --{\textstyle\frac14}\cdot 2i\sigma_2 -= --{\textstyle\frac12}i\sigma_2 -\end{align*} -Die lineare Abbildung, die -\begin{align*} -\omega_{23}&\mapsto -{\textstyle\frac12}i\sigma_1\\ -\omega_{31}&\mapsto -{\textstyle\frac12}i\sigma_2\\ -\omega_{12}&\mapsto -{\textstyle\frac12}i\sigma_3 -\end{align*} -abbildet ist daher ein Isomorphismus der Lie-Algebra $\operatorname{so}(3)$ -auf die Lie-Algebra $\operatorname{su}(2)$. -Die Lie-Gruppen $\operatorname{SO}(3)$ und $\operatorname{SU}(2)$ -haben also die gleiche Lie-Algebra. - -Tatsächlich kann man Hilfe von Quaternionen die Matrix $\operatorname{SU}(2)$ -als Einheitsquaternionen beschreiben und damit eine Darstellung der -Drehmatrizen in $\operatorname{SO}(3)$ finden. -Dies wird in Kapitel~\ref{chapter:clifford} dargestellt. - - - - - +%
+% lie-algebren.tex -- Lie-Algebren
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Lie-Algebren
+\label{buch:section:lie-algebren}}
+\rhead{Lie-Algebren}
+Im vorangegangenen Abschnitt wurde gezeigt, dass alle beschriebenen
+Matrizengruppen als Untermannigfaltigkeiten im $n^2$-dimensionalen
+Vektorraum $M_n(\mathbb{R}9$ betrachtet werden können.
+Die Gruppen haben damit nicht nur die algebraische Struktur einer
+Matrixgruppe, sie haben auch die geometrische Struktur einer
+Mannigfaltigkeit.
+Insbesondere ist es sinnvoll, von Ableitungen zu sprechen.
+
+Eindimensionale Untergruppen einer Gruppe können auch als Kurven
+innerhalb der Gruppe angesehen werden.
+In diesem Abschnitt soll gezeigt werden, wie man zu jeder eindimensionalen
+Untergruppe einen Vektor in $M_n(\mathbb{R})$ finden kann derart, dass
+der Vektor als Tangentialvektor an diese Kurve gelten kann.
+Aus einer Abbildung zwischen der Gruppe und diesen Tagentialvektoren
+erhält man dann auch eine algebraische Struktur auf diesen Tangentialvektoren,
+die sogenannte Lie-Algebra.
+Sie ist charakteristisch für die Gruppe.
+Insbesondere werden wir sehen, wie die Gruppen $\operatorname{SO}(3)$
+und $\operatorname{SU}(2)$ die gleich Lie-Algebra haben und dass die
+Lie-Algebra von $\operatorname{SO}(3)$ mit dem Vektorprodukt in $\mathbb{R}^3$
+übereinstimmt.
+
+%
+% Die Lie-Algebra einer Matrizengruppe
+%
+\subsection{Lie-Algebra einer Matrizengruppe
+\label{buch:section:lie-algebra-einer-matrizengruppe}}
+Zu jedem Tangentialvektor $A$ im Punkt $I$ einer Matrizengruppe gibt es
+eine Einparameteruntergruppe, die mit Hilfe der Exponentialfunktion
+$e^{At}$ konstruiert werden kann.
+Für die folgende Konstruktion arbeiten wir in der Gruppe
+$\operatorname{GL}_n(\mathbb{R})$, in der jede Matrix auch ein
+Tangentialvektor ist.
+Wir werden daraus die Lie-Klammer ableiten und später verifizieren,
+dass diese auch für die Tangentialvektoren der Gruppen
+$\operatorname{SO}(n)$ oder $\operatorname{SL}_n(\mathbb{R})$ funktioniert.
+
+\subsubsection{Lie-Klammer}
+Zu zwei verschiedenen Tagentialvektoren $A\in M_n(\mathbb{R})$ und
+$B\in M_n(\mathbb{R})$ gibt es zwei verschiedene Einparameteruntergruppen
+$e^{At}$ und $e^{Bt}$.
+Wenn die Matrizen $A$ und $B$ oder die Einparameteruntergruppen
+$e^{At}$ und $e^{Bt}$ vertauschbar sind, dann stimmen
+$e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ nicht überein.
+Die zugehörigen Potenzreihen sind:
+\begin{align*}
+e^{At}
+&=
+I+At + \frac{A^2t^2}{2!} + \frac{A^3t^3}{3!} + \dots
+\\
+e^{Bt}
+&=
+I+Bt + \frac{B^2t^2}{2!} + \frac{B^3t^3}{3!} + \dots
+\\
+e^{At}e^{Bt}
+&=
+\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr)
+\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr)
+\\
+&=
+I+(A+B)t + \biggl(\frac{A^2}{2!}+AB+\frac{B^2}{2!}\biggr)t^2 +\dots
+\\
+e^{Bt}e^{At}
+&=
+\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr)
+\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr)
+\\
+&=
+I+(B+A)t + \biggl(\frac{B^2}{2!}+BA+\frac{A^2}{2!}\biggr)t^2 +\dots
+\intertext{%
+Die beiden Kurven $e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ haben zwar den gleichen
+Tangentialvektor für $t=0$, sie unterscheiden
+sich aber untereinander, und sie unterscheiden sich von der
+Einparameteruntergruppe von $A+B$}
+e^{(A+B)t}
+&=
+I + (A+B)t + \frac{t^2}{2}(A^2 + AB + BA + B^2) + \ldots
+\intertext{Für die Unterschiede finden wir}
+e^{At}e^{Bt} - e^{(A+B)t}
+&=
+\biggl(AB-\frac{AB+BA}2\biggr)t^2
++\ldots
+=
+(AB-BA) \frac{t^2}{2} + \ldots
+=
+[A,B]\frac{t^2}{2}+\ldots
+\\
+e^{Bt}e^{At} - e^{(A+B)t}
+&=
+\biggl(BA-\frac{AB+BA}2\biggr)t^2
++\ldots
+=
+(BA-AB)
+\frac{t^2}{2}
++\ldots
+=
+-[A,B]\frac{t^2}{2}
+\\
+e^{At}e^{Bt}-e^{Bt}e^{At}
+&=
+(AB-BA)t^2+\ldots
+=
+\phantom{-}[A,B]t^2+\ldots
+\end{align*}
+wobei mit $[A,B]=AB-BA$ abgekürzt wird.
+
+\begin{definition}
+\label{buch:gruppen:def:kommutator}
+Der Kommutator zweier Matrizen $A,B\in M_n(\mathbb{R})$ ist die Matrix
+$[A,B]=AB-BA$.
+\end{definition}
+
+Der Kommutator ist bilinear und antisymmetrisch, da
+\begin{align*}
+[\lambda A+\mu B,C]
+&=
+\lambda AC+\mu BC-\lambda CA -\mu CB
+=
+\lambda[A,C]+\mu[B,C]
+\\
+[A,\lambda B+\mu C]
+&=
+\lambda AB + \mu AC - \lambda BA - \mu CA
+=
+\lambda[A,B]+\mu[A,C]
+\\
+[A,B]
+&=
+AB-BA = -(BA-AB) = -[B,A].
+\end{align*}
+Aus der letzten Bedingung folgt insbesodnere $[A,A]=0$
+
+Der Kommutator $[A,B]$ misst in niedrigster Ordnung den Unterschied
+zwischen den $e^{At}$ und $e^{Bt}$.
+Der Kommutator der Tangentialvektoren $A$ und $B$ bildet also die
+Nichtkommutativität der Matrizen $e^{At}$ und $e^{Bt}$ ab.
+
+
+\subsubsection{Die Jacobi-Identität}
+Der Kommutator hat die folgende zusätzliche algebraische Eigenschaft:
+\begin{align*}
+[A,[B,C]]
++
+[B,[C,A]]
++
+[C,[A,B]]
+&=
+[A,BC-CB]
++
+[B,CA-AC]
++
+[C,AB-BA]
+\\
+&=\phantom{+}
+ABC-ACB-BCA+CBA
+\\
+&\phantom{=}+
+BCA-BAC-CAB+ACB
+\\
+&\phantom{=}+
+CAB-CBA-ABC+BAC
+\\
+&=0.
+\end{align*}
+Diese Eigenschaft findet man auch bei anderen Strukturen, zum Beispiel
+bei Vektorfeldern, die man als Differentialoperatoren auf Funktionen
+betrachten kann.
+Man kann dann einen Kommutator $[X,Y]$ für zwei Vektorfelder
+$X$ und $Y$ definieren.
+Dieser Kommutator von Vektorfeldern erfüllt ebenfalls die gleiche
+Identität.
+
+\begin{definition}
+\label{buch:gruppen:def:jacobi}
+Ein bilineares Produkt $[\;,\;]\colon V\times V\to V$ auf dem Vektorraum
+erfüllt die {\em Jacobi-Identität}, wenn
+\[
+[u,[v,w]] + [v,[w,u]] + [w,[u,v]]=0
+\]
+ist für beliebige Vektoren $u,v,w\in V$.
+\end{definition}
+
+\subsubsection{Lie-Algebra}
+Die Tangentialvektoren einer Lie-Gruppe tragen also mit dem Kommutator
+eine zusätzliche Struktur, nämlich die Struktur einer Lie-Algebra.
+
+\begin{definition}
+Ein Vektorraum $V$ mit einem bilinearen, Produkt
+\[
+[\;,\;]\colon V\times V \to V : (u,v) \mapsto [u,v],
+\]
+welches zusätzlich die Jacobi-Identität~\ref{buch:gruppen:def:jacobi}
+erfüllt, heisst eine {\em Lie-Algebra}.
+\end{definition}
+
+Die Lie-Algebra einer Lie-Gruppe $G$ wird mit $LG$ bezeichnet.
+$LG$ besteht aus den Tangentialvektoren im Punkt $I$.
+Die Exponentialabbildung $\exp\colon LG\to G:A\mapsto e^A$
+ist eine differenzierbare Abbildung von $LG$ in die Gruppe $G$.
+Insbesondere kann die Inverse der Exponentialabbildung als eine
+Karte in einer Umgebung von $I$ verwendet werden.
+
+Für die Lie-Algebren der Matrizengruppen, die früher definiert worden
+sind, verwenden wir die als Notationskonvention, dass der Name der
+Lie-Algebra der mit kleinen Buchstaben geschrieben Name der Lie-Gruppe ist.
+Die Lie-Algebra von $\operatorname{SO}(n)$ ist also
+$L\operatorname{SO}(n) = \operatorname{os}(n)$,
+die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ ist
+$L\operatorname{SL}_n(\mathbb{R})=\operatorname{sl}_n(\mathbb{R})$.
+
+
+%
+% Die Lie-Algebra von SO(3)
+%
+\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$
+\label{buch:subsection:die-lie-algebra-von-so3}}
+Zur Gruppe $\operatorname{SO}(3)$ der Drehmatrizen gehört die Lie-Algebra
+$\operatorname{so}(3)$ der antisymmetrischen $3\times 3$-Matrizen.
+Solche Matrizen haben die Form
+\[
+\Omega
+=
+\begin{pmatrix}
+ 0 & \omega_3&-\omega_2\\
+-\omega_3& 0 & \omega_1\\
+ \omega_2&-\omega_1& 0
+\end{pmatrix}
+\]
+Der Vektorraum $\operatorname{so}(3)$ ist also dreidimensional.
+
+Die Wirkung von $I+t\Omega$ auf einem Vektor $x$ ist
+\[
+(I+t\Omega)
+\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix}
+=
+\begin{pmatrix}
+ 1 & t\omega_3&-t\omega_2\\
+-t\omega_3& 1 & t\omega_1\\
+ t\omega_2&-t\omega_1& 1
+\end{pmatrix}
+\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix}
+=
+\begin{pmatrix}
+x_1-t(-\omega_3x_2+\omega_2x_3)\\
+x_2-t( \omega_3x_1-\omega_1x_3)\\
+x_3-t(-\omega_2x_1+\omega_1x_2)
+\end{pmatrix}
+=
+x- t\begin{pmatrix}\omega_1\\\omega_2\\\omega_3\end{pmatrix}\times x
+=
+x+ tx\times \omega.
+\]
+Die Matrix $\Omega$ ist als die infinitesimale Version einer Drehung
+um die Achse $\omega$.
+
+Wir können die Analogie zwischen Matrizen in $\operatorname{so}(3)$ und
+Vektoren in $\mathbb R^3$ noch etwas weiter treiben. Zu jedem Vektor
+in $\mathbb R^3$ konstruieren wir eine Matrix in $\operatorname{so}(3)$
+mit Hilfe der Abbildung
+\[
+\mathbb R^3\to\operatorname{so}(3)
+:
+\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix}
+\mapsto
+\begin{pmatrix}
+ 0 & v_3&-v_1\\
+-v_3& 0 & v_2\\
+ v_1&-v_2& 0
+\end{pmatrix}.
+\]
+Der Kommutator von zwei so aus Vektoren $\vec u$ und $\vec v$
+konstruierten Matrizen $U$ und $V$ ist:
+\begin{align*}
+[U,V]
+&=
+UV-VU
+\\
+&=
+\begin{pmatrix}
+ 0 & u_3&-u_1\\
+-u_3& 0 & u_2\\
+ u_1&-u_2& 0
+\end{pmatrix}
+\begin{pmatrix}
+ 0 & v_3&-v_1\\
+-v_3& 0 & v_2\\
+ v_1&-v_2& 0
+\end{pmatrix}
+-
+\begin{pmatrix}
+ 0 & v_3&-v_1\\
+-v_3& 0 & v_2\\
+ v_1&-v_2& 0
+\end{pmatrix}
+\begin{pmatrix}
+ 0 & u_3&-u_1\\
+-u_3& 0 & u_2\\
+ u_1&-u_2& 0
+\end{pmatrix}
+\\
+&=
+\begin{pmatrix}
+u_3v_3+u_1v_1 - u_3v_3 - u_1v_1
+ & u_1v_2 - u_2v_1
+ & u_3v_2 - u_2v_3
+\\
+u_2v_1 - u_1v_2
+ & -u_3v_3-u_2v_2 + u_3v_3+u_2v_2
+ & u_3v_1 - u_1v_3
+\\
+u_2v_3 - u_3v_2
+ & u_1v_3 - u_3v_1
+ &-u_1v_1-u_2v_2 u_1v_1+u_2v_2
+\end{pmatrix}
+\\
+&=
+\begin{pmatrix}
+0
+ & u_1v_2 - u_2v_1
+ &-(u_2v_3-u_3v_2)
+\\
+-( u_1v_2 - u_2v_1)
+ & 0
+ & u_3v_1 - u_1v_3
+\\
+u_2v_3 - u_3v_2
+ &-( u_3v_1 - u_1v_3)
+ & 0
+\end{pmatrix}
+\end{align*}
+Die Matrix $[U,V]$ gehört zum Vektor $\vec u\times\vec v$.
+Damit können wir aus der Jacobi-Identität jetzt folgern, dass
+\[
+\vec u\times(\vec v\times w)
++
+\vec v\times(\vec w\times u)
++
+\vec w\times(\vec u\times v)
+=0
+\]
+für drei beliebige Vektoren $\vec u$, $\vec v$ und $\vec w$ ist.
+Dies bedeutet, dass der dreidimensionale Vektorraum $\mathbb R^3$
+mit dem Vektorprodukt zu einer Lie-Algebra wird.
+In der Tat verwenden einige Bücher statt der vertrauten Notation
+$\vec u\times \vec v$ für das Vektorprodukt die aus der Theorie der
+Lie-Algebren entlehnte Notation $[\vec u,\vec v]$, zum Beispiel
+das Lehrbuch der Theoretischen Physik \cite{skript:landaulifschitz1}
+von Landau und Lifschitz.
+
+Die Lie-Algebren sind vollständig klassifiziert worden, es gibt
+keine nicht trivialen zweidimensionalen Lie-Algebren.
+Unser dreidimensionaler Raum ist also auch in dieser Hinsicht speziell:
+es ist der kleinste Vektorraum, in dem eine nichttriviale Lie-Algebra-Struktur
+möglich ist.
+
+Die antisymmetrischen Matrizen
+\[
+\omega_{23}
+=
+\begin{pmatrix} 0&1&0\\-1&0&0\\0&0&0\end{pmatrix}
+\quad
+\omega_{31}
+=
+\begin{pmatrix} 0&0&-1\\0&0&0\\1&0&0\end{pmatrix}
+\quad
+\omega_{12}
+=
+\begin{pmatrix} 0&0&0\\0&0&1\\0&-1&0\end{pmatrix}
+\]
+haben die Kommutatoren
+\begin{equation}
+\begin{aligned}
+[\omega_{23},\omega_{31}]
+&=
+\begin{pmatrix}
+0&0&0\\
+0&0&1\\
+0&-1&0
+\end{pmatrix}
+=
+\omega_{12}
+\\
+[\omega_{31},\omega_{12}]
+&=
+\begin{pmatrix}
+0&1&0\\
+-1&0&0\\
+0&0&0
+\end{pmatrix}
+=
+\omega_{23}
+\\
+[\omega_{12},\omega_{23}]
+&=
+\begin{pmatrix}
+0&0&-1\\
+0&0&0\\
+1&0&0
+\end{pmatrix}
+=
+\omega_{31}
+\end{aligned}
+\label{buch:gruppen:eqn:so3-kommutatoren}
+\end{equation}
+
+\subsection{Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$}
+Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ besteht aus den
+spurlosen Matrizen in $M_n(\mathbb{R})$.
+Der Kommutator solcher Matrizen erfüllt
+\[
+\operatorname{Spur}([A,B])
+=
+\operatorname{Spur}(AB-BA)
+=
+\operatorname{Spur}(AB)-\operatorname{Spur}(BA)
+=
+0,
+\]
+somit ist
+\[
+\operatorname{sl}_n(\mathbb{R})
+=
+\{
+A\in M_n(\mathbb{R})\;|\; \operatorname{Spur}(A)=0
+\}
+\]
+mit dem Kommutator eine Lie-Algebra.
+
+%
+% Die Lie-Algebra von U(n)
+%
+\subsection{Die Lie-Algebra von $\operatorname{U}(n)$}
+Die Lie-Gruppe
+\[
+U(n)
+=
+\{
+A\in M_n(\mathbb{C}
+\;|\;
+AA^*=I
+\}
+\]
+heisst die unitäre Gruppe, sie besteht aus den Matrizen, die
+das sesquilineare Standardskalarprodukt auf dem komplexen
+Vektorraum $\mathbb{C}^n$ invariant lassen.
+Sei eine $\gamma(t)$ ein differenzierbare Kurve in $\operatorname{U}(n)$
+derart, dass $\gamma(0)=I$.
+Die Ableitung der Identität $AA^*=I$ führt dann auf
+\begin{align*}
+0
+=
+\frac{d}{dt}
+\gamma(t)\gamma(t)^*
+\bigg|_{t=0}
+=
+\dot{\gamma}(0)\gamma(0)^*
++
+\gamma(0)\dot{\gamma}(0)^*
+=
+\dot{\gamma}(0)
++
+\dot{\gamma}(0)^*
+\quad\Rightarrow\quad
+\dot{\gamma}(0)&=-\dot{\gamma}(0)^*.
+A&=-A^*
+\end{align*}
+Die Lie-Algebra $\operatorname{u}(n)$ besteht daher aus den antihermiteschen
+Matrizen.
+
+Wir sollten noch verifizieren, dass der Kommutator zweier antihermiteschen
+Matrizen wieder anithermitesch ist:
+\begin{align*}
+[A,B]^*
+&=
+(AB-BA)^*
+=
+B^*A^*-A^*B^*
+=
+BA - AB
+=
+-[B,A].
+\end{align*}
+
+Eine antihermitesche Matrix erfüllt $a_{ij}=-\overline{a}_{ji}$,
+für die Diagonalelemente folgt daher $a_{ii} = -\overline{a}_{ii}$
+oder $\overline{a}_{ii}=-a_{ii}$.
+Der Realteil von $a_{ii}$ ist
+\[
+\Re a_{ii}
+=
+\frac{a_{ii}+\overline{a}_{ii}}2
+=
+0,
+\]
+die Diagonalelemente einer antihermiteschen Matrix sind daher rein
+imaginär.
+
+
+%
+% Die Lie-Algebra SU(2)
+%
+\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$}
+Die Lie-Algebra $\operatorname{su}(n)$ besteht aus den
+spurlosen antihermiteschen Matrizen.
+Sie erfüllen daher die folgenden Bedingungen:
+\[
+A=\begin{pmatrix}a&b\\c&d\end{pmatrix}
+\qquad
+\text{mit}
+\qquad
+\left\{
+\begin{aligned}
+a+d&=0&&\Rightarrow& a=is = -d
+\\
+b^*&=-c
+\end{aligned}
+\right.
+\]
+Damit hat $A$ die Form
+\begin{align*}
+A=\begin{pmatrix}
+is&u+iv\\
+-u+iv&-is
+\end{pmatrix}
+&=
+s
+\begin{pmatrix}
+i&0\\
+0&-i
+\end{pmatrix}
++
+u
+\begin{pmatrix}
+ 0&1\\
+-1&0
+\end{pmatrix}
++
+v
+\begin{pmatrix}
+0&i\\
+i&0
+\end{pmatrix}
+\\
+&=
+iv\underbrace{\begin{pmatrix}0&1\\1&0\end{pmatrix}}_{\displaystyle=\sigma_1}
++
+iu\underbrace{\begin{pmatrix}0&-i\\i&0\end{pmatrix}}_{\displaystyle=\sigma_2}
++
+is\underbrace{\begin{pmatrix}1&0\\0&-1\end{pmatrix}}_{\displaystyle=\sigma_3}
+\end{align*}
+Diese Matrizen heissen die {\em Pauli-Matrizen}, sie haben die Kommutatoren
+\begin{align*}
+[\sigma_1,\sigma_2]
+&=
+\begin{pmatrix}0&1\\1&0\end{pmatrix}
+\begin{pmatrix}0&-i\\i&0\end{pmatrix}
+-
+\begin{pmatrix}0&-i\\i&0\end{pmatrix}
+\begin{pmatrix}0&1\\1&0\end{pmatrix}
+=
+2\begin{pmatrix}i&0\\0&-i \end{pmatrix}
+=
+2i\sigma_3,
+\\
+[\sigma_2,\sigma_3]
+&=
+\begin{pmatrix}0&-i\\i&0\end{pmatrix}
+\begin{pmatrix}1&0\\0&-1\end{pmatrix}
+-
+\begin{pmatrix}1&0\\0&-1\end{pmatrix}
+\begin{pmatrix}0&-i\\i&0\end{pmatrix}
+=
+2
+\begin{pmatrix}0&i\\i&0\end{pmatrix}
+=
+2i\sigma_1.
+\\
+[\sigma_1,\sigma_3]
+&=
+\begin{pmatrix}0&1\\1&0\end{pmatrix}
+\begin{pmatrix}1&0\\0&-1\end{pmatrix}
+-
+\begin{pmatrix}1&0\\0&-1\end{pmatrix}
+\begin{pmatrix}0&1\\1&0\end{pmatrix}
+=
+2i
+\begin{pmatrix}0&-1\\1&0\end{pmatrix}
+=
+2i\sigma_2,
+\end{align*}
+Bis auf eine Skalierung stimmt dies überein mit den Kommutatorprodukten
+der Matrizen $\omega_{23}$, $\omega_{31}$ und $\omega_{12}$
+in \eqref{buch:gruppen:eqn:so3-kommutatoren}.
+Die Matrizen $-\frac12i\sigma_j$ haben die Kommutatorprodukte
+\begin{align*}
+\bigl[-{\textstyle\frac12}i\sigma_1,-{\textstyle\frac12}i\sigma_2\bigr]
+&=
+-{\textstyle\frac14}[\sigma_1,\sigma_2]
+=
+-{\textstyle\frac14}\cdot 2i\sigma_3
+=
+-{\textstyle\frac12}i\sigma_3
+\\
+\bigl[-{\textstyle\frac12}i\sigma_2,-{\textstyle\frac12}i\sigma_3\bigr]
+&=
+-{\textstyle\frac14}[\sigma_2,\sigma_3]
+=
+-{\textstyle\frac14}\cdot 2i\sigma_1
+=
+-{\textstyle\frac12}i\sigma_1
+\\
+\bigl[-{\textstyle\frac12}i\sigma_3,-{\textstyle\frac12}i\sigma_1\bigr]
+&=
+-{\textstyle\frac14}[\sigma_3,\sigma_1]
+=
+-{\textstyle\frac14}\cdot 2i\sigma_2
+=
+-{\textstyle\frac12}i\sigma_2
+\end{align*}
+Die lineare Abbildung, die
+\begin{align*}
+\omega_{23}&\mapsto -{\textstyle\frac12}i\sigma_1\\
+\omega_{31}&\mapsto -{\textstyle\frac12}i\sigma_2\\
+\omega_{12}&\mapsto -{\textstyle\frac12}i\sigma_3
+\end{align*}
+abbildet ist daher ein Isomorphismus der Lie-Algebra $\operatorname{so}(3)$
+auf die Lie-Algebra $\operatorname{su}(2)$.
+Die Lie-Gruppen $\operatorname{SO}(3)$ und $\operatorname{SU}(2)$
+haben also die gleiche Lie-Algebra.
+
+Tatsächlich kann man Hilfe von Quaternionen die Matrix $\operatorname{SU}(2)$
+als Einheitsquaternionen beschreiben und damit eine Darstellung der
+Drehmatrizen in $\operatorname{SO}(3)$ finden.
+Dies wird in Kapitel~\ref{chapter:clifford} dargestellt.
+
+
+
+
+
diff --git a/buch/chapters/60-gruppen/lie-gruppen.tex b/buch/chapters/60-gruppen/lie-gruppen.tex index d6fc007..2c88b76 100644 --- a/buch/chapters/60-gruppen/lie-gruppen.tex +++ b/buch/chapters/60-gruppen/lie-gruppen.tex @@ -1,881 +1,881 @@ -% -% lie-gruppen.tex -- Lie-Gruppebn -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Lie-Gruppen -\label{buch:section:lie-gruppen}} -\rhead{Lie-Gruppen} -Die in bisherigen Beispielen untersuchten Matrizengruppen zeichnen sich -durch zusätzliche Eigenschaften aus. -Die Gruppe -\[ -\operatorname{GL}_n(\mathbb{R}) -= -\{ A \in M_n(\mathbb{R})\;|\; \det A \ne 0\} -\] -besteht aus den Matrizen, deren Determinante nicht $0$ ist. -Da die Menge der Matrizen mit $\det A=0$ eine abgeschlossene Menge -in $M_n(\mathbb{R}) \simeq \mathbb{R}^{n^2}$ ist, ist -$\operatorname{GL}_n(\mathbb{R})$ eine offene Teilmenge in $\mathbb{R}^{n^2}$, -sie besitzt also automatisch die Struktur einer $n^2$-Mannigfaltigkeit. -Dies gilt jedoch auch für alle anderen Matrizengruppen, die in diesem -Abschnitt genauer untersucht werden sollen. - -\subsection{Mannigfaltigkeitsstruktur der Matrizengruppen -\label{buch:subsection:mannigfaltigkeitsstruktur-der-matrizengruppen}} -Eine Matrizengruppe wird automatsich zu einer Mannigfaltigkeit, -wenn es gelingt, eine Karte für eine Umgebung des neutralen Elements -zu finden. -Dazu muss gezeigt werden, dass sich aus einer solchen Karte für jedes -andere Gruppenelement eine Karte für eine Umgebung ableiten lässt. -Sei also $\varphi_e\colon U_e\mathbb{R}^N$ eine Karte für die Umgebung -$U_e\subset G$ von $e\in G$. -Für $g\in G$ ist dann die Abbildung -\[ -\varphi_g -\colon -U_g -= -gU_e -\to -\mathbb{R} -: -h\mapsto \varphi_e(g^{-1}h) -\] -eine Karte für die Umgebung $U_g$ des Gruppenelementes $g$. -schreibt man $l_{g}$ für die Abbildung $h\mapsto gh$, dann -kann man die Kartenabbildung auch $\varphi_g = \varphi_e\circ l_{g^{-1}}$ -schreiben. - -\subsubsection{Kartenwechsel} -Die Kartenwechsel-Abbildungen für zwei Karten $\varphi_{g_1}$ -und $\varphi_{g_2}$ ist die Abbildung -\[ -\varphi_{g_1,g_2} -= -\varphi_{g_1}\circ \varphi_{g_2}^{-1} -= -\varphi_e\circ l_{g_1^{-1}} \circ (\varphi_e\circ l_{g_2^{-1}})^{-1} -= -\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2^{-1}}^{-1} \varphi_e^{-1} -= -\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2}\varphi_e^{-1} -= -\varphi_e\circ l_{g_1^{-1}g_2}\varphi_e^{-1} -\] -mit der Ableitung -\[ -D\varphi_e\circ Dl_{g_1^{-1}g_2} D\varphi_e^{-1} -= -D\varphi_e\circ Dl_{g_1^{-1}g_2} (D\varphi_e)^{-1}. -\] -Die Abbildung $l_{g_1^{-1}g_2}$ ist aber nur die Multiplikation mit -einer Matrix, also eine lineare Abbildung, so dass der Kartenwechsel -nichts anderes ist als die Darstellung der Matrix der Linksmultiplikation -$l_{g_1^{-1}g_2}$ im Koordinatensystem der Karte $U_e$ ist. -Differenzierbarkeit der Kartenwechsel ist damit sichergestellt, -die Matrizengruppen sind automatisch differenzierbare Mannigfaltigkeiten. - -Die Konstruktion aller Karten aus einer einzigen Karte für eine -Umgebung des neutralen Elements zeigt auch, dass es für die Matrizengruppen -reicht, wenn man die Elemente in einer Umgebung des neutralen -Elementes parametrisieren kann. -Dies ist jedoch nicht nur für die Matrizengruppen möglich. -Wenn eine Gruppe gleichzeitig eine differenzierbare Mannigfaltigkeit -ist, dann können Karten über die ganze Gruppe transportiert werden, -wenn die Multiplikation mit Gruppenelementen eine differenzierbare -Abbildung ist. -Solche Gruppen heissen auch Lie-Gruppen gemäss der folgenden Definition. - -\begin{definition} -\index{Lie-Gruppe}% -Eine {\em Lie-Gruppe} ist eine Gruppe, die gleichzeitig eine differenzierbare -Mannigfaltigkeit ist derart, dass die Abbildungen -\begin{align*} -G\times G \to G &: (g_1,g_2)\mapsto g_1g_2 -\\ -G\to G &: g \mapsto g^{-1} -\end{align*} -differenzierbare Abbildungen zwischen Mannigfaltigkeiten sind. -\end{definition} - -Die Abstraktheit dieser Definition täuscht etwas über die -Tatsache hinweg, dass sich mit Hilfe der Darstellungstheorie -jede beliebige Lie-Gruppe als Untermannigfaltigkeit einer -Matrizengruppe verstehen lässt. -Das Studium der Matrizengruppen erlaubt uns daher ohne grosse -Einschränkungen ein Verständnis für die Theorie der Lie-Gruppen -zu entwickeln. - -\subsubsection{Tangentialvektoren und die Exponentialabbildung} -Die Matrizengruppen sind alle in der -$n^2$-dimensionalen Mannigfaltigkeit $\operatorname{GL}_n(\mathbb{R})$ -enthalten. -Diffferenzierbare Kurven $\gamma(t)$ in $\operatorname{GL}_n(\mathbb{R})$ -haben daher in jedem Punkt Tangentialvektoren, die als Matrizen in -$M_n(\mathbb{R})$ betrachtet werden können. -Wenn $\gamma(t)$ die Matrixelemente $\gamma_{ij}(t)$ hat, dann ist der -Tangentialvektor im Punkt $\gamma(t)$ durch -\[ -\frac{d}{dt} -\gamma(t) -= -\begin{pmatrix} -\dot{\gamma}_{11}(t)&\dots &\dot{\gamma}_{1n}(t)\\ -\vdots &\ddots&\vdots \\ -\dot{\gamma}_{n1}(t)&\dots &\dot{\gamma}_{nn}(t) -\end{pmatrix} -\] -gegeben. - -Im Allgemeinen kann man Tangentialvektoren in verschiedenen Punkten -einer Mannigfaltigkeit nicht miteinander vergleichen. -Die Multiplikation $l_g$, die den Punkt $e$ in den Punkt $g$ verschiebt, -transportiert auch die Tangentialvektoren im Punkt $e$ in -Tangentialvektoren im Punkt $g$. - -\begin{aufgabe} -Gibt es eine Kurve $\gamma(t)\in\mathbb{GL}_n(\mathbb{R})$ mit -$\gamma(0)=e$ derart, dass der Tangentialvektor im Punkt $\gamma(t)$ -für $t>0$ derselbe ist wie der Tangentialvektor im Punkt $e$, transportiert -durch Matrixmultiplikation mit $\gamma(t)$? -\end{aufgabe} - -Eine solche Kurve muss die Differentialgleichung -\begin{equation} -\frac{d}{dt}\gamma(t) -= -\gamma(t)\cdot A -\label{buch:gruppen:eqn:expdgl} -\end{equation} -erfüllen, wobei $A\in M_n(\mathbb{R})$ der gegebene Tangentialvektor -in $e=I$ ist. - -Die Matrixexponentialfunktion -\[ -e^{At} -= -1+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\frac{A^4t^4}{4!}+\dots -\] -liefert eine Einparametergruppe -$\mathbb{R}\to \operatorname{GL}_n(\mathbb{R})$ mit der Ableitung -\[ -\frac{d}{dt} e^{At} -= -\lim_{h\to 0} \frac{e^{A(t+h)}-e^{At}}{h} -= -\lim_{h\to 0} e^{At}\frac{e^{Ah}-I}{h} -= -e^{At} A. -\] -Sie ist also Lösung der Differentialgleichung~\eqref{buch:gruppen:eqn:expdgl}. - -\subsection{Drehungen in der Ebene -\label{buch:gruppen:drehungen2d}} -Die Drehungen der Ebene sind die orientierungserhaltenden Symmetrien -des Einheitskreises, der in Abbildung~\ref{buch:gruppen:fig:kartenkreis} -als Mannigfaltigkeit erkannt wurde. -Sie bilden eine Lie-Gruppe, die auf verschiedene Arten als Matrix -beschrieben werden kann. - -\subsubsection{Die Untergruppe -$\operatorname{SO}(2)\subset \operatorname{GL}_2(\mathbb{R})$} -Drehungen der Ebene können in einer orthonormierten Basis durch -Matrizen der Form -\[ -D_{\alpha} -= -\begin{pmatrix} -\cos\alpha&-\sin\alpha\\ -\sin\alpha& \cos\alpha -\end{pmatrix} -\] -dargestellt werden. -Wir bezeichnen die Menge der Drehmatrizen in der Ebene mit -$\operatorname{SO}(2)\subset\operatorname{GL}_2(\mathbb{R})$. -Die Abbildung -\[ -D_{\bullet} -\colon -\mathbb{R}\to \operatorname{SO}(2) -: -\alpha \mapsto D_{\alpha} -\] -hat die Eigenschaften -\begin{align*} -D_{\alpha+\beta}&= D_{\alpha}D_{\beta} -\\ -D_0&=I -\\ -D_{2k\pi}&=I\qquad \forall k\in\mathbb{Z}. -\end{align*} -Daraus folgt zum Beispiel, dass $D_{\bullet}$ eine $2\pi$-periodische -Funktion ist. -$D_{\bullet}$ bildet die Menge der Winkel $[0,2\pi)$ bijektiv auf -die Menge der Drehmatrizen in der Ebene ab. - -Für jedes Intervall $(a,b)\subset\mathbb{R}$ mit Länge -$b-a < 2\pi$ ist die Abbildung $\alpha\mapsto D_{\alpha}$ umkehrbar, -die Umkehrung kann als Karte verwendet werden. -Zwei verschiedene Karten $\alpha_1\colon U_1\to\mathbb{R}$ und -$\alpha_2\colon U_2\to\mathbb{R}$ bilden die Elemente $g\in U_1\cap U_2$ -in Winkel $\alpha_1(g)$ und $\alpha_2(g)$ ab, für die -$D_{\alpha_1(g)}=D_{\alpha_2(g)}$ gilt. -Dies ist gleichbedeutend damit, dass $\alpha_1(g)=\alpha_2(g)+2\pi k$ -mit $k\in \mathbb{Z}$. -In einem Intervall in $U_1\cap U_2$ muss $k$ konstant sein. -Die Kartenwechselabblidung ist also nur die Addition eines Vielfachen -von $2\pi$, mit der identischen Abbildung als Ableitung. -Diese Karten führen also auf besonders einfache Kartenwechselabbildungen. - -\subsubsection{Die Untergruppe $S^1\subset\mathbb{C}$} -Ein alternatives Bild für die Drehungen der Ebene kann man in der komplexen -Ebene $\mathbb{C}$ erhalten. -Die Multiplikation mit der komplexen Zahl $e^{i\alpha}$ beschreibt eine -Drehung der komplexen Ebene um den Winkel $\alpha$. -Die Zahlen der Form $e^{i\alpha}$ haben den Betrag $1$ und die Abbildung -\[ -f\colon \mathbb{R}\to \mathbb{C}:\alpha \mapsto e^{i\alpha} -\] -hat die Eigenschaften -\begin{align*} -f(\alpha+\beta) &= f(\alpha)f(\beta) -\\ -f(0)&=1 -\\ -f(2\pi k)&=1\qquad\forall k\in\mathbb{Z}, -\end{align*} -die zu den Eigenschaften der Abbildung $\alpha\mapsto D_{\alpha}$ -analog sind. - -Jede komplexe Zahl $z$ vom Betrag $1$ kann geschrieben werden in der Form -$z=e^{i\alpha}$, die Abbildung $f$ ist also eine Parametrisierung des -Einheitskreises in der Ebene. -Wir bezeichen $S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ die komplexen Zahlen vom -Betrag $1$. -$S^1$ ist eine Gruppe bezüglich der Multiplikation, da für jede Zahl -$z,w\in S^1$ gilt -$|z^{-1}|=1$ und $|zw|=1$ und damit $z^{-1}\in S^1$ und $zw\in S^1$. - -Zu einer komplexen Zahl $z\in S^1$ gibt es einen bis auf Vielfache -von $2\pi$ eindeutigen Winkel $\alpha(z)$ derart, dass $e^{i\alpha(z)}=z$. -Damit kann man jetzt die Abbildung -\[ -\varphi -\colon -S^1\to \operatorname{SO}(2) -: -z\mapsto D_{\alpha(z)} -\] -konstruieren. -Da $D_{\alpha}$ $2\pi$-periodisch ist, geben um Vielfache -von $2\pi$ verschiedene Wahlen von $\alpha(z)$ die gleiche -Matrix $D_{\alpha(z)}$, die Abbildung $\varphi$ ist daher -wohldefiniert. -$\varphi$ erfüllt ausserdem die Bedingungen -\begin{align*} -\varphi(z_1z_2) -&= -D_{\alpha(z_1z_2)} -= -D_{\alpha(z_1)+\alpha(z_2)} -= -D_{\alpha(z_1)}D_{\alpha(z_2)} -= -\varphi(z_1)\varphi(z_2) -\\ -\varphi(1) -&= -D_{\alpha(1)} -= -D_0 -= -I -\end{align*} -Die Abbildung $\varphi$ ist ein Homomorphismus der Gruppe $S^1$ -in die Gruppe $\operatorname{SO}(2)$. -Die Menge der Drehmatrizen in der Ebene kann also mit dem Einheitskreis -in der komplexen Ebene identifiziert werden. - -\subsubsection{Tangentialvektoren von $\operatorname{SO}(2)$} -Da die Gruppe $\operatorname{SO}(2)$ eine eindimensionale Gruppe -ist, kann jede Kurve $\gamma(t)$ durch den Drehwinkel $\alpha(t)$ -mit $\gamma(t) = D_{\alpha(t)}$ beschrieben werden. -Die Ableitung in $M_2(\mathbb{R})$ ist -\begin{align*} -\frac{d}{dt} \gamma(t) -&= -\frac{d}{d\alpha} -\begin{pmatrix} -\cos\alpha(t) & - \sin\alpha(t)\\ -\sin\alpha(t) & \cos\alpha(t) -\end{pmatrix} -\cdot -\frac{d\alpha}{dt} -\\ -&= -\begin{pmatrix} --\sin\alpha(t)&-\cos\alpha(t)\\ - \cos\alpha(t)&-\sin\alpha(t) -\end{pmatrix} -\cdot -\dot{\alpha}(t) -\\ -&= -\begin{pmatrix} -\cos\alpha(t) & - \sin\alpha(t)\\ -\sin\alpha(t) & \cos\alpha(t) -\end{pmatrix} -\begin{pmatrix} -0&-1\\ -1&0 -\end{pmatrix} -\cdot -\dot{\alpha}(t) -= -D_{\alpha(t)}J\cdot\dot{\alpha}(t). -\end{align*} -Alle Tangentialvektoren von $\operatorname{SO}(2)$ im Punkt $D_\alpha$ -entstehen aus $J$ durch Drehung mit der Matrix $D_\alpha$ und Skalierung -mit $\dot{\alpha}(t)$. - -% -% Isometrien von R^n -% -\subsection{Isometrien von $\mathbb{R}^n$ -\label{buch:gruppen:isometrien}} - -\subsubsection{Skalarprodukt} -Lineare Abbildungen des Raumes $\mathbb{R}^n$ können durch -$n\times n$-Matrizen beschrieben werden. -Die Matrizen, die das Standardskalarprodukt $\mathbb{R}^n$ erhalten, -bilden eine Gruppe, die in diesem Abschnitt genauer untersucht werden soll. -Eine Matrix $A\in M_{n}(\mathbb{R})$ ändert das Skalarprodukt, wenn -für jedes beliebige Paar $x,y$ von Vektoren gilt -$\langle Ax,Ay\rangle = \langle x,y\rangle$. -Das Standardskalarprodukt kann mit dem Matrixprodukt ausgedrückt werden: -\[ -\langle Ax,Ay\rangle -= -(Ax)^tAy -= -x^tA^tAy -= -x^ty -= -\langle x,y\rangle -\] -für jedes Paar von Vektoren $x,y\in\mathbb{R}$. - -Mit dem Skalarprodukt kann man auch die Matrixelemente einer Matrix -einer Abbildung $f$ in der Standardbasis bestimmen. -Das Skalarprodukt $\langle e_i, v\rangle$ ist die Länge der Projektion -des Vektors $v$ auf die Richtung $e_i$. -Die Komponenten von $Ae_j$ sind daher $a_{ij}=\langle e_i,f(e_j)\rangle$. -Die Matrix $A$ der Abbildung $f$ hat also die Matrixelemente -$a_{ij}=e_i^tAe_j$. - -\subsubsection{Die orthogonale Gruppe $\operatorname{O}(n)$} -Die Matrixelemente von $A^tA$ sind -$\langle A^tAe_i, e_j\rangle =\langle e_i,e_j\rangle = \delta_{ij}$ -sind diejenigen der Einheitsmatrix, -die Matrix $A$ erfüllt $AA^t=I$ oder $A^{-1}=A^t$. -Dies sind die {\em orthogonalen} Matrizen. -Die Menge $\operatorname{O}(n)$ der isometrischen Abbildungen besteht -daher aus den Matrizen -\[ -\operatorname{O}(n) -= -\{ A\in M_n(\mathbb{R})\;|\; AA^t=I\}. -\] -Die Matrixgleichung $AA^t=I$ liefert $n(n+1)/2$ unabhängige Bedingungen, -die die orthogonalen Matrizen innerhalb der $n^2$-dimensionalen -Menge $M_n(\mathbb{R})$ auszeichnen. -Die Menge $\operatorname{O}(n)$ der orthogonalen Matrizen hat daher -die Dimension -\[ -n^2 - \frac{n(n+1)}{2} -= -\frac{2n^2-n^2-n}{2} -= -\frac{n(n-1)}2. -\] -Im Spezialfall $n=2$ ist die Gruppe $O(2)$ eindimensional. - -\subsubsection{Tangentialvektoren} -Die orthogonalen Matrizen bilden eine abgeschlossene Untermannigfaltigkeit -von $\operatorname{GL}_n(\mathbb{R})$, nicht jede Matrix $M_n(\mathbb{R})$ -kann also ein Tangentialvektor von $O(n)$ sein. -Um herauszufinden, welche Matrizen als Tangentialvektoren in Frage -kommen, betrachten wir eine Kurve $\gamma\colon\mathbb{R}\to O(n)$ -von orthogonalen Matrizen mit $\gamma(0)=I$. -Orthogonal bedeutet -\[ -\begin{aligned} -&& -0 -&= -\frac{d}{dt}I -= -\frac{d}{dt} -(\gamma(t)^t\gamma(t)) -= -\dot{\gamma}(t)^t\gamma(t)) -+ -\gamma(t)^t\dot{\gamma}(t)) -\\ -&\Rightarrow& -0 -&= -\dot{\gamma}(0)^t \cdot I + I\cdot \dot{\gamma(0)} -= -\dot{\gamma}(0)^t + \dot{\gamma}(0) -= -A^t+A=0 -\\ -&\Rightarrow& -A^t&=-A -\end{aligned} -\] -Die Tangentialvektoren von $\operatorname{O}(n)$ sind also genau -die antisymmetrischen Matrizen. - -Für $n=2$ sind alle antisymmetrischen Matrizen Vielfache der Matrix -$J$, wie in Abschnitt~\ref{buch:gruppen:drehungen2d} -gezeigt wurde. - -Für jedes Paar $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. - - - +%
+% 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 7364c85..c0a0fb8 100644 --- a/buch/chapters/60-gruppen/symmetrien.tex +++ b/buch/chapters/60-gruppen/symmetrien.tex @@ -1,725 +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. - -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}} - - - - - - - +%
+% symmetrien.tex -- Geometrische Beschreibung von Symmetrien, O(n), SO(n),
+% Spiegelungen
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Symmetrien
+\label{buch:section:symmetrien}}
+\rhead{Symmetrien}
+Der geometrische Begriff der Symmetrie meint die Eigenschaft eines
+geometrischen Objektes, dass es bei einer Bewegung auf sich selbst
+abgebildet wird.
+Das Wort stammt aus dem altgriechischen, wo es {\em Gleichmass}
+bedeutet.
+Spiegelsymmetrische Objekte zeichnen sich zum Beispiel dadurch aus,
+dass Messungen von Strecken die gleichen Werte ergeben wie die Messungen
+der entsprechenden gespiegelten Strecken (siehe auch
+Abbildung~\ref{buch:lie:bild:castlehoward}, was die Herkunft des
+Begriffs verständlich macht.
+\begin{figure}
+\centering
+\includegraphics[width=\textwidth]{chapters/60-gruppen/images/castle.jpeg}
+\caption{Das Castle Howard in Yorkshire war in dieser ausgeprägt symmetrischen
+Form geplant, wurde dann aber in modifizeirter Form gebaut.
+Messungen zwischen Punkten in der rechten Hälfte des Bildes
+ergeben die gleichen Werte wie Messungen entsprechenden Strecken
+in der linken Hälfte, was den Begriff Symmetrie rechtfertigt.
+\label{buch:lie:bild:castlehoward}}
+\end{figure}
+In der Physik wird dem Begriff der Symmetrie daher auch eine erweiterte
+Bedeutung gegeben.
+Jede Transformation eines Systems, welche bestimmte Grössen nicht
+verändert, wird als Symmetrie bezeichnet.
+Die Gesetze der Physik sind typischerweise unabhängig davon, wo man den
+den Nullpunkt der Zeit oder das räumlichen Koordinatensystems ansetzt,
+eine Transformation des Zeitnullpunktes oder des Ursprungs des
+Koordinatensystems ändert daher die Bewegungsgleichungen nicht, sie ist
+eine Symmetrie des Systems.
+
+Umgekehrt kann man fragen, welche Symmetrien ein System hat.
+Da sich Symmetrien zusammensetzen und umkehren lassen, kann man in davon
+ausgehen, dass die Symmetrietransformationen eine Gruppe bilden.
+Besonders interessant ist dies im Falle von Transformationen, die
+durch Matrizen beschrieben weren.
+Eine unter der Symmetrie erhaltene Eigenschaft definiert so eine
+Untergruppe der Gruppe $\operatorname{GL}_n(\mathbb{R})$ der
+invertierbaren Matrizen.
+Die erhaltenen Eigenschaften definieren eine Menge von Gleichungen,
+denen die Elemente der Untergruppe genügen müssen.
+Als Lösungsmenge einer Gleichung erhält die Untergruppe damit eine
+zusätzliche geometrische Struktur, man nennt sie eine differenzierbare
+Mannigfaltigkeit.
+Dieser Begriff wird im Abschnitt~\ref{buch:subsection:mannigfaltigkeit}
+eingeführt.
+Es wird sich zum Beispiel zeigen, dass die Menge der Drehungen der
+Ebene mit den Punkten eines Kreises parametrisieren lassen,
+die Lösungen der Gleichung $x^2+y^2=1$ sind.
+
+Eine Lie-Gruppe ist eine Gruppe, die gleichzeitig eine differenzierbare
+Mannigfaltigkeit ist.
+Die Existenz von geometrischen Konzepten wie Tangentialvektoren
+ermöglicht zusätzliche Werkzeuge, mit denen diese Gruppe untersucht
+und verstanden werden können.
+Ziel dieses Abschnitts ist, die Grundlagen für diese Untersuchung zu
+schaffen, die dann im Abschnitt~\ref{buch:section:lie-algebren}
+durchgeführt werden soll.
+
+\subsection{Algebraische Symmetrien
+\label{buch:subsection:algebraische-symmetrien}}
+Mit Matrizen lassen sich Symmetrien in einem geometrischen Problem
+oder in einem physikalischen System beschreiben.
+Man denkt dabei gerne zuerst an geometrische Symmetrien wie die
+Symmetrie unter Punktspiegelung oder die Spiegelung an der $x_1$-$x_2$-Ebene,
+wie sie zum Beispiel durch die Abbildungen
+\[
+\mathbb{R}^3\to\mathbb{R}^3 : x\mapsto -x
+\qquad\text{oder}\qquad
+\mathbb{R}^3\to\mathbb{R}^3 :
+\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix}
+\mapsto
+\begin{pmatrix}-x_1\\x_2\\x_3\end{pmatrix}
+\]
+dargestellt werden.
+Beide haben zunächst die Eigenschaft, dass Längen und Winkel und damit
+das Skalarprodukt erhalten sind.
+Diese Eigenschaft allein erlaubt aber noch nicht, die beiden Transformationen
+zu unterscheiden.
+Die Punktspiegelung zeichnet sich dadurch aus, das alle Geraden und alle
+Ebenen durch den Ursprung auf sich selbst abgebildet werden.
+Dies funktioniert für die Ebenenspiegelung nicht, dort bleibt nur die
+Spiegelungsebene (die $x_1$-$x_2$-Ebene im vorliegenden Fall) und
+ihre Normale erhalten.
+Die folgenden Beispiele sollen zeigen, wie solche Symmetriedefinitionen
+auf algebraische Bedingungen an die Matrixelemente führen.
+
+Zu jeder Abbildung $f\colon\mathbb{R}^n\to\mathbb{R}^n$, unter der
+ein geometrisches Objekt in $\mathbb{R}^n$ symmetrisch ist, können wir
+sofort weitere Abbildungen angeben, die ebenfalls Symmetrien sind.
+Zum Beispiel sind die iterierten Abbildungen $f\circ f$, $f\circ f\circ f$
+u.~s.~w., die wir auch $f^n$ mit $n\in\mathbb{N}$ schreiben werden,
+ebenfalls Symmetrien.
+Wenn die Symmetrie auch umkehrbar ist, dann gilt dies sogar für alle
+$n\in\mathbb{Z}$.
+Wir erhalten so eine Abbildung
+$\varphi\colon \mathbb{Z}\to \operatorname{GL}_n(\mathbb{R}):n\mapsto f^n$
+mit den Eigenschaften $\varphi(0)=f^0 = I$ und
+$\varphi(n+m)=f^{n+m}=f^n\circ f^m = \varphi(n)\circ\varphi(m)$.
+$\varphi$ ist ein Homomorphismus der Gruppe $\mathbb{Z}$ in die Gruppe
+$\operatorname{GL}_n(\mathbb{R})$.
+Wir nennen dies eine {\em diskrete Symmetrie}.
+
+\subsection{Kontinuierliche Symmetrien
+\label{buch:subsection:kontinuierliche-symmetrien}}
+Von besonderem Interesse sind kontinuierliche Symmetrien.
+Dies sind Abbildungen eines Systems, die von einem Parameter
+abhängen.
+Zum Beispiel können wir Drehungen der Ebene $\mathbb{R}^2$ um den
+Winkel $\alpha$ durch Matrizen
+\[
+D_{\alpha}
+=
+\begin{pmatrix}
+\cos\alpha&-\sin\alpha\\
+\sin\alpha& \cos\alpha
+\end{pmatrix}
+\]
+beschrieben werden.
+Ein Kreis um den Nullpunkt bleibt unter jeder dieser Drehungen invariant.
+Im Gegensatz dazu sind alle $3n$-Ecke mit Schwerpunkt $0$ nur invariant
+unter der einen Drehung $D_{\frac{2\pi}3}$ invariant.
+Die kleinste Menge, die einen vorgegebenen Punkt enthält und unter
+allen Drehungen $D_\alpha$ invariant ist, ist immer ein Kreis um
+den Nullpunkt.
+
+\begin{definition}
+Ein Homomorphismus $\varphi\colon\mathbb{R}\to\operatorname{GL}_n(\mathbb{R})$
+von der additiven Gruppe $\mathbb{R}$ in die allgemeine lineare Gruppe
+heisst eine {\em Einparameter-Untergruppe} von
+$\operatorname{GL}_n(\mathbb{R})$.
+\end{definition}
+
+Die Abbildung
+\[
+\varphi
+\colon
+\mathbb{R}\to\operatorname{GL}_n(\mathbb{R})
+:
+\alpha \mapsto
+D_{\alpha}
+=
+\begin{pmatrix}
+\cos\alpha&-\sin\alpha\\
+\sin\alpha& \cos\alpha
+\end{pmatrix}
+\]
+ist also eine Einparameter-Untergruppe von $\operatorname{GL}_2(\mathbb{R})$.
+
+\subsubsection{Der harmonische Oszillator}
+\begin{figure}
+\centering
+\includegraphics{chapters/60-gruppen/images/phasenraum.pdf}
+\caption{Die Lösungen der
+Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl}
+im Phasenraum sind Ellipsen mit Halbachsenverhältnis $\omega^{-1}$.
+\label{chapter:gruppen:fig:phasenraum}}
+\end{figure}
+Eine Masse $m$ verbunden mit einer Feder mit der Federkonstanten $K$
+schwingt um die Ruhelage $x=0$ entsprechend der Differentialgleichung
+\[
+m\frac{d^2}{dt^2} x(t) = -Kx(t).
+\]
+Die Kreisfrequenz der Schwingung ist
+\[
+\omega = \sqrt{\frac{K}{m}}.
+\]
+Das System kann als zweidimensionales System im Phasenraum mit den
+Koordinaten $x_1=x$ und $x_2=p=m\dot{x}$ beschrieben werden.
+Die zweidimensionale Differentialgleichung ist
+\begin{equation}
+\left.
+\begin{aligned}
+\dot{x}(t) &= \frac{1}{m}p(t)\\
+\dot{p}(t) &= -Kx(t)
+\end{aligned}
+\quad
+\right\}
+\qquad\Rightarrow\qquad
+\frac{d}{dt}
+\begin{pmatrix}x(t)\\p(t)\end{pmatrix}
+=
+\begin{pmatrix}
+0&\frac{1}{m}\\
+-K&0
+\end{pmatrix}
+\begin{pmatrix}x(t)\\p(t)\end{pmatrix}.
+\label{chapter:gruppen:eqn:phasenraumdgl}
+\end{equation}
+Die Lösung der Differentialgleichung für die Anfangsbedingung $x(0)=1$ und
+$p(0)=0$ ist
+\[
+x(t)
+=
+\cos \omega t
+\qquad\Rightarrow\qquad
+p(t)
+=
+-\omega \sin\omega t,
+\]
+die Lösung zur Anfangsbedingung $x(0)=0$ und $p(0)=1$ ist
+\[
+x(t) = \frac{1}{\omega} \sin\omega t,
+\qquad
+p(t) = \cos \omega t.
+\]
+In Matrixform kann man die allgemeine Lösung zur Anfangsbedingun $x(0)=x_0$
+und $p(0)=p_0$
+\begin{equation}
+\begin{pmatrix}
+x(t)\\
+p(t)
+\end{pmatrix}
+=
+\underbrace{
+\begin{pmatrix}
+ \cos \omega t & \frac{1}{\omega} \sin\omega t \\
+-\omega \sin\omega t & \cos\omega t
+\end{pmatrix}
+}_{\displaystyle =\Phi_t}
+\begin{pmatrix}x_0\\p_0\end{pmatrix}
+\label{buch:gruppen:eqn:phi}
+\end{equation}
+schreiben.
+Die Matrizen $\Phi_t$ bilden eine Einparameter-Untergruppe von
+$\operatorname{GL}_n(\mathbb{R})$, da
+\begin{align*}
+\Phi_s\Phi_t
+&=
+\begin{pmatrix}
+ \cos\omega s & \frac{1}{\omega} \sin\omega s \\
+-\omega \sin\omega s & \cos\omega s
+\end{pmatrix}
+\begin{pmatrix}
+ \cos\omega t & \frac{1}{\omega} \sin\omega t \\
+-\omega \sin\omega t & \cos\omega t
+\end{pmatrix}
+\\
+&=
+\begin{pmatrix}
+\cos\omega s \cos\omega t - \sin\omega s \sin\omega t
+& \frac{1}{\omega} ( \cos\omega s \sin\omega t + \sin\omega s \cos \omega t)
+\\
+-\omega (\sin\omega s \cos\omega t + \cos\omega s \sin\omega t )
+& \cos\omega s \cos\omega t -\sin\omega s \sin\omega t
+\end{pmatrix}
+\\
+&=
+\begin{pmatrix}
+ \cos\omega(s+t) & \frac{1}{\omega}\sin\omega(s+t) \\
+-\omega \sin\omega(s+t) & \cos\omega(s+t)
+\end{pmatrix}
+=
+\Phi_{s+t}
+\end{align*}
+gilt.
+Die Lösungen der
+Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl}
+sind in Abbildung~\ref{chapter:gruppen:fig:phasenraum}
+Die Matrizen $\Phi_t$ beschreiben eine kontinuierliche Symmetrie
+des Differentialgleichungssystems, welches den harmonischen Oszillator
+beschreibt.
+
+\subsubsection{Fluss einer Differentialgleichung}
+Die Abbildungen $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} sind jeweils
+Matrizen in $\operatorname{GL}_n(\mathbb{R})$.
+Der Grund dafür ist, dass die
+Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl}
+linear ist.
+Dies hat zur Folge, dass für zwei Anfangsbedingungen $x_1,x_2\in\mathbb{R}^2$
+die Lösung für Linearkombinationen $\lambda x_1+\mu x_2$ durch
+Linearkombination der Lösungen erhalten werden kann, also
+aus der Formel
+\[
+\Phi_t (\lambda x_1 + \mu x_2) = \lambda \Phi_t x_1 + \mu \Phi_t x_2.
+\]
+Dies zeigt, dass $\Phi_t$ für jedes $t$ eine lineare Abbildung sein muss.
+
+Für eine beliebige Differentialgleichung kann man immer noch eine Abbildung
+$\Phi$ konstruieren, die aber nicht mehr linear ist.
+Sei dazu die Differentialgleichung erster Ordnung
+\begin{equation}
+\frac{dx}{dt}
+=
+f(t,x)
+\qquad\text{mit}\qquad
+f\colon \mathbb{R}\times\mathbb{R}^n \to \mathbb{R}^n
+\label{buch:gruppen:eqn:dgl}
+\end{equation}
+gegeben.
+Für jeden Anfangswert $x_0\in\mathbb{R}^n$ kann man mindestens für eine
+gewisse Zeit $t <\varepsilon$ eine Lösung $x(t,x_0)$ finden mit $x(t,x_0)=x_0$.
+Aus der Theorie der gewöhnlichen Differentialgleichungen ist auch
+bekannt, dass $x(t,x_0)$ mindestens in der Nähe von $x_0$ differenzierbar von
+$x_0$ abhängt.
+Dies erlaubt eine Abbildung
+\[
+\Phi\colon \mathbb{R}\times \mathbb{R}^n \to \mathbb{R}^n
+:
+(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0)
+\]
+zu definieren, die sowohl von $t$ als auch von $x_0$ differenzierbar
+abhängt.
+Aus der Definition folgt unmittelbar, dass $\Phi_0(x_0)=x_0$ ist, dass
+also $\Phi_0$ die identische Abbildung von $\mathbb{R}^n$ ist.
+
+Aus der Definition lässt sich auch ableiten, dass
+$\Phi_{s+t}=\Phi_s\circ\Phi_t$ gilt.
+$\Phi_t(x_0)=x(t,x_0)$ ist der Endpunkt der Bahn, die bei $x_0$ beginnt
+und sich während der Zeit $t$ entwickelt.
+$\Phi_s(x(t,x_0))$ ist dann der Endpunkt der Bahn, die bei $x(t,x_0)$
+beginnt und sich während der Zeit $s$ entwickelt.
+Somit ist $\Phi_s\circ \Phi_t(x_0)$ der Endpunkt der Bahn, die bei
+$x_0$ beginnt und sich über die Zeit $s+t$ entwickelt.
+In Formeln bedeutet dies
+\[
+\Phi_{s+t} = \Phi_s\circ \Phi_t.
+\]
+Die Abbildung $t\mapsto \Phi_t$ ist also wieder ein Homomorphismus
+von der additiven Gruppe $\mathbb{R}$ in eine Gruppe von differenzierbaren
+Abbildungen $\mathbb{R}^n\to\mathbb{R}^n$.
+
+\begin{definition}
+Die Abbildung
+\[
+\Phi\colon \mathbb{R}\times\mathbb{R}^n\to\mathbb{R}^n
+:
+(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0)
+\]
+heisst der {\em Fluss} der Differentialgleichung
+\eqref{buch:gruppen:eqn:dgl},
+wenn für jedes $x_0\in\mathbb{R}^n$ die Kurve $t\mapsto \Phi_t(x_0)$
+eine Lösung der Differentialgleichung ist mit Anfangsbedingung $x_0$.
+\end{definition}
+
+Die Abbildung $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} ist also
+der Fluss der Differentialgleichung des harmonischen Oszillators.
+
+\subsection{Mannigfaltigkeiten
+\label{buch:subsection:mannigfaltigkeit}}
+Eine Differentialgleichung der Form~\eqref{buch:gruppen:eqn:dgl}
+stellt einen Zusammenhang her zwischen einem Punkt $x$ und der
+Tangentialrichtung einer Bahnkurve $f(t,x)$.
+Die Ableitung liefert die lineare Näherung der Bahkurve
+\[
+x(t_0+h) = x(t_0) + h f(t_0,x_0) + o(h)
+\]
+für $h$ in einer kleinen Umgebung von $0$.
+Das funktioniert auch, weil $f(t_0,x_0)$ selbst ein Vektor von
+$\mathbb{R}^n$ ist, in dem die Bahnkurve verläuft.
+
+Diese Idee funktioniert nicht mehr zum Beispiel für eine
+Differentialgleichung auf einer Kugeloberfläche, weil alle Punkte
+$x(t_0)+hf(t_0,x_0)$ für alle $h\ne 0$ nicht mehr auf der Kugeloberfläche
+liegen.
+Physikalisch äussert sich das ein einer zusätzlichen Kraft, die nötig
+ist, die Bahn auf der Kugeloberfläche zu halten.
+Diese Kraft stellt zum Beispiel sicher, dass die Vektoren $f(t,x)$ für
+Punkte $x$ auf der Kugeloberfläche immer tangential an die Kugel sind.
+Trotzdem ist der Tangentialvektor oder der Geschwindigkeitsvektor
+nicht mehr ein Objekt, welches als Teil der Kugeloberfläche definiert
+werden kann, er kann nur definiert werden, wenn man sich die Kugel als
+in einen höherdimensionalen Raum eingebettet vorstellen kann.
+
+Um die Idee der Differentialgleichung auf einer beliebigen Fläche
+konsistent zu machen ist daher notwendig, die Idee einer Tagentialrichtung
+auf eine Art zu definieren, die nicht von der Einbettung der Fläche
+in den $n$-dimensionalen Raum abhängig ist.
+Das in diesem Abschnitt entwickelte Konzept der {\em Mannigfaltigkeit}
+löst dieses Problem.
+
+\subsubsection{Karten}
+Die Navigation auf der Erdoberfläche verwendet das Koordinatensystem
+der geographischen Länge und Breite.
+Dieses Koordinatensystem funktioniert gut, solange man sich nicht an
+den geographischen Polen befindet, denn deren Koordinaten sind
+nicht mehr eindeutig.
+Alle Punkte mit geographischer Breite $90^\circ$ und beliebiger
+geographischer Länge beschreiben den Nordpol.
+Auch die Ableitung funktioniert dort nicht mehr.
+Bewegt man sich mit konstanter Geschwindigkeit über den Nordpol,
+springt die Ableitung der geographischen Breite von einem positiven
+Wert auf einen negativen Wert, sie kann also nicht differenzierbar sein.
+Diese Einschränkungen sind in der Praxis nur ein geringes Problem dar,
+da die meisten Reisen nicht über die Pole erfolgen.
+
+Der Polarforscher, der in unmittelbarer Umgebung des Poles arbeitet,
+kann das Problem lösen, indem er eine lokale Karte für das Gebiet
+um den Pol erstellt.
+Dafür kann er beliebige Koordinaten verwenden, zum Beispiel auch
+ein kartesisches Koordinatensystem, er muss nur eine Methode haben,
+wie er seine Koordinaten wieder auf geographische Länge und Breite
+umrechnen will.
+Und wenn er über Geschwindigkeiten kommunizieren will, dann muss
+er auch Ableitungen von Kurven in seinem kartesischen Koordinatensystem
+umrechnen können auf die Kugelkoordinaten.
+Dazu muss seine Umrechnungsformel von kartesischen Koordinaten
+auf Kugelkoordinaten differenzierbar sein.
+
+Diese Idee wird durch das Konzept der Mannigfaltigkeit verallgemeinert.
+Eine $n$-dimensionale {\em Mannigfaltigkeit} ist eine Menge $M$ von Punkten,
+die lokal, also in der Umgebung eines Punktes, mit möglicherweise mehreren
+verschiedenen Koordinatensystemen versehen werden kann.
+Ein Koordinatensystem ist eine umkehrbare Abbildung einer offenen Teilmenge
+$U\subset M$ in den Raum $\mathbb{R}^n$.
+Die Komponenten dieser Abbildung heissen die {\em Koordinaten}.
+
+\begin{figure}
+\centering
+\includegraphics{chapters/60-gruppen/images/karten.pdf}
+\caption{Karten
+$\varphi_\alpha\colon U_\alpha\to \mathbb{R}^2$
+und
+$\varphi_\beta\colon U_\beta\to \mathbb{R}^2$
+auf einem Torus.
+Auf dem Überschneidungsgebiet $\varphi_\alpha^{-1}(U_\alpha\cap U_\beta)$
+ist der Kartenwechsel $\varphi_\beta\circ\varphi_\alpha^{-1}$ wohldefiniert
+und muss differnzierbar sein, wenn eine differenzierbare Mannigfaltigkeit
+entstehen soll.
+\label{buch:gruppen:fig:karten}}
+\end{figure}
+
+\begin{definition}
+Eine Karte auf $M$ ist eine umkehrbare Abbildung
+$\varphi\colon U\to \mathbb{R}^n$ (siehe auch
+Abbildung~\ref{buch:gruppen:fig:karten}).
+Ein differenzierbarer Atlas ist eine Familie von Karten $\varphi_\alpha$
+derart, dass die Definitionsgebiete $U_\alpha$ die ganze Menge $M$
+überdecken, und dass die Kartenwechsel Abbildungen
+\[
+\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}
+\colon
+\varphi_\alpha(U_\alpha\cap U_\beta)
+\to
+\varphi_\beta(U_\alpha\cap U_\beta)
+\]
+als Abbildung von offenen Teilmengen von $\mathbb{R}^n$ differenzierbar
+ist.
+Eine {$n$-dimensionale differenzierbare Mannigfaltigkeit} ist eine
+Menge $M$ mit einem differenzierbaren Atlas.
+\end{definition}
+
+Karten und Atlanten regeln also nur, wie sich verschiedene lokale
+Koordinatensysteme ineinander umrechnen lassen.
+
+\begin{beispiel}
+$M=\mathbb{R}^n$ ist eine differenzierbare Mannigfaltigkeit denn
+die identische Abbildung $M\to \mathbb{R}^n$ ist eine Karte und ein
+Atlas von $M$.
+\end{beispiel}
+
+\begin{beispiel}
+\begin{figure}
+\centering
+\includegraphics{chapters/60-gruppen/images/kartenkreis.pdf}
+\caption{Karten für die Kreislinie $S^1\subset\mathbb{R}^2$.
+\label{buch:gruppen:fig:kartenkreis}}
+\end{figure}
+Die Kreislinie in in der Ebene ist eine $1$-dimensionale Mannigfaltigkeit.
+Natürlich kann sie nicht mit einer einzigen Karte beschrieben werden,
+da es keine umkehrbaren Abbildungen zwischen $\mathbb{R}$ und der Kreislinie
+gibt.
+Die Projektionen auf die einzelnen Koordinaten liefern die folgenden
+vier Karten:
+\begin{align*}
+\varphi_1&\colon U_{x>0}\{(x,y)\;|\;x^2+y^2=1\wedge x>0\} \to\mathbb{R}
+:
+(x,y) \mapsto y
+\\
+\varphi_2&\colon U_{x<0}\{(x,y)\;|\;x^2+y^2=1\wedge x<0\} \to\mathbb{R}
+:
+(x,y) \mapsto y
+\\
+\varphi_3&\colon U_{y>0}\{(x,y)\;|\;x^2+y^2=1\wedge y>0\} \to\mathbb{R}
+:
+(x,y) \mapsto x
+\\
+\varphi_4&\colon U_{y<0}\{(x,y)\;|\;x^2+y^2=1\wedge y<0\} \to\mathbb{R}
+:
+(x,y) \mapsto x
+\end{align*}
+Die Werte der Kartenabbildungen sind genau die $x$- und $y$-Koordinaten
+auf der in den Raum $\mathbb{R}^2$ eingebetteten Kreislinie.
+
+Für $\varphi_1$ und $\varphi_2$ sind die Definitionsgebiete disjunkt,
+hier gibt es also keine Notwendigkeit, Koordinatenumrechnungen vornehmen
+zu können.
+Dasselbe gilt für $\varphi_3$ und $\varphi_4$.
+
+Die nichtleeren Schnittmengen der verschiedenen Kartengebiete beschreiben
+jeweils die Punkte der Kreislinie in einem Quadranten.
+Die Umrechnung zwischen den Koordinaten und ihre Ableitung
+ist je nach Quadrant durch
+\begin{align*}
+&\text{1.~Quadrant}&
+\varphi_{31}
+&=
+\varphi_3\circ\varphi_1^{-1}\colon y\mapsto\phantom{-}\sqrt{1-y^2\mathstrut}
+&
+D\varphi_{31}
+&=
+-\frac{y}{\sqrt{1-y^2\mathstrut}}
+\\
+&\text{2.~Quadrant}&
+\varphi_{24}
+&=
+\varphi_3\circ\varphi_1^{-1}\colon x\mapsto\phantom{-}\sqrt{1-x^2\mathstrut}
+&
+D\varphi_{24}
+&=
+-\frac{x}{\sqrt{1-x^2\mathstrut}}
+\\
+&\text{3.~Quadrant}&
+\varphi_{42}
+&=
+\varphi_3\circ\varphi_1^{-1}\colon y\mapsto-\sqrt{1-y^2\mathstrut}
+&
+D\varphi_{42}
+&=
+\phantom{-}\frac{y}{\sqrt{1-y^2\mathstrut}}
+\\
+&\text{4.~Quadrant}&
+\varphi_{14}
+&=
+\varphi_3\circ\varphi_1^{-1}\colon x\mapsto-\sqrt{1-x^2\mathstrut}
+&
+D\varphi_{14}
+&=
+\phantom{-}\frac{x}{\sqrt{1-x^2\mathstrut}}
+\end{align*}
+gegeben.
+Diese Abbildungen sind im offenen Intervall $(-1,1)$ differenzierbar,
+Schwierigkeiten mit der Ableitungen ergeben sich nur an den Stellen
+$x=\pm1$ und $y=\pm 1$, die in einem Überschneidungsgebiet von Karten
+nicht vorkommen können.
+Somit bilden die vier Karten einen differenzierbaren Atlas für
+die Kreislinie (Abbildung~\ref{buch:gruppen:fig:kartenkreis}).
+\end{beispiel}
+
+\begin{beispiel}
+Ganz analog zum vorangegangenen Beispiel über die Kreisline lässt sich
+für eine $n$-di\-men\-sio\-nale Sphäre
+\[
+S^n = \{ (x_1,\dots,x_{n+1})\;|\; x_0^2+\dots+x_n^2=1\}
+\]
+immer ein Atlas aus $2^{n+1}$ Karten mit den Koordinatenabbildungen
+\[
+\varphi_{i,\pm}
+\colon
+U_{i,\pm}
+=
+\{p\in S^n\;|\; \pm x_i >0\}
+\to
+\mathbb{R}^n
+:
+p\mapsto (x_1,\dots,\hat{x}_i,\dots,x_{n+1})
+\]
+konstruieren, der $S^n$ zu einer $n$-dimensionalen Mannigfaltigkeit macht.
+\end{beispiel}
+
+\subsubsection{Tangentialraum}
+Mit Hilfe einer Karte $\varphi_\alpha\colon U_\alpha\to\mathbb{R}^n$
+kann das Geschehen in einer Mannigfaltigkeit in den vertrauten
+$n$-dimensionalen Raum $\mathbb{B}^n$ transportiert werden.
+Eine Kurve $\gamma\colon \mathbb{R}\to M$, die so parametrisiert sein
+soll, dass $\gamma(t)\in U_\alpha$ für $t$ in einer Umgebung $I$ von $0$ ist,
+wird von der Karte in eine Kurve
+$\gamma_\alpha=\varphi_\alpha\circ\gamma\colon I\to \mathbb{R}^n$
+abgebildet,
+deren Tangentialvektor wieder ein Vektor in $\mathbb{R}^n$ ist.
+
+Eine zweite Karte $\varphi_\beta$ führt auf eine andere Kurve
+mit der Parametrisierung
+$\gamma_\beta=\varphi_\beta\circ\gamma\colon I \to \mathbb{R}^n$
+und einem anderen Tangentialvektor.
+Die beiden Tangentialvektoren können aber mit der Ableitung der
+Koordinatenwechsel-Abbildung
+$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}\colon
+\varphi_\alpha(U_\alpha\cap U_\beta)\to \mathbb{R}^n$
+ineinander umgerechnet werden.
+Aus
+\[
+\gamma_\beta
+=
+\varphi_\beta\circ \gamma
+=
+(
+\varphi_\beta
+\circ
+\varphi_\alpha^{-1}
+)
+\circ
+\varphi_\alpha\circ\gamma
+=
+\varphi_{\beta\alpha}
+\circ
+\varphi_\alpha\circ\gamma
+=
+\varphi_{\beta\alpha}\circ\gamma_\alpha
+\]
+folgt durch Ableitung nach dem Kurvenparameter $t$, dass
+\[
+\frac{d}{dt}\gamma_\beta(t)
+=
+D\varphi_{\beta\alpha}
+\cdot
+\frac{d}{dt}\gamma_\alpha(t).
+\]
+Die Ableitung $D\varphi_{\beta\alpha}$ von $\varphi_{\beta\alpha}$
+an der Stelle $\gamma_\alpha(t)$ berechnet also aus dem Tangentialvektor
+einer Kurve in der Karte $\varphi_\alpha$ den Tangentialvektor der
+Kurve in der Karte $\varphi_\beta$.
+
+Die Forderung nach Differenzierbarkeit der Kartenwechselabbildungen
+$\varphi_{\beta\alpha}$ stellt also nur sicher, dass die Beschreibung
+eines Systemes mit Differentialgleichungen in verschiedenen
+Koordinatensystemen auf die gleichen Lösungskurven in der
+Mannigfaltigkeit führt.
+Insbesondere ist die Verwendung von Karten ist also nur ein Werkzeug,
+mit dem die Unmöglichkeit einer globalen Besschreibung einer
+Mannigfaltigkeit $M$ mit einem einzigen globalen Koordinatensystem
+ohne Singularitäten umgangen werden kann.
+
+\begin{beispiel}
+Das Beispiel des Kreises in Abbildung~\ref{buch:gruppen:fig:kartenkreis}
+zeigt, dass die Tangentialvektoren je nach Karte sehr verschieden
+aussehen können.
+Der Tangentialvektor der Kurve $\gamma(t) = (x(t), y(t))$ im Punkt
+$\gamma(t)$ ist $\dot{y}(t)$ in den Karten $\varphi_1$ und $\varphi_2$
+und $\dot{x}(t)$ in den Karten $\varphi_3$ und $\varphi_4$.
+
+Die spezielle Kurve $\gamma(t) = (\cos t,\sin t)$ hat in einem Punkt
+$t\in (0,\frac{\pi}2)$.
+in der Karte $\varphi_1$ den Tangentialvektor $\dot{y}(t)=\cos t$,
+in der Karte $\varphi_3$ aber den Tangentialvektor $\dot{x}=-\sin t$.
+Die Ableitung des Kartenwechsels in diesem Punkt ist die $1\times 1$-Matrix
+\[
+D\varphi_{31}(\gamma(t))
+=
+-\frac{y(t)}{\sqrt{1-y(t)^2}}
+=
+-\frac{\sin t}{\sqrt{1-\sin^2 t}}
+=
+-\frac{\sin t}{\cos t}
+=
+-\tan t.
+\]
+Die Koordinatenumrechnung ist gegeben durch
+\[
+\dot{x}(t)
+=
+D\varphi_{31}(\gamma(t))
+\dot{y}(t)
+\]
+wird für die spezielle Kurve $\gamma(t)=(\cos t,\sin t)$ wird dies zu
+\[
+D\varphi_{31}(\gamma(t))
+\cdot
+\dot{y}(t)
+=
+-\tan t\cdot \cos t
+=
+-\frac{\sin t}{\cos t}\cdot \cos t
+=
+-\sin t
+=
+\dot{x}(t).
+\qedhere
+\]
+\end{beispiel}
+
+Betrachtet man die Kreislinie als Kurve in $\mathbb{R}^2$,
+dann ist der Tangentialvektor durch
+$\dot{\gamma}(t)=(\dot{x}(t),\dot{y}(t))$ gegeben.
+Da die Karten Projektionen auf die $x$- bzw.~$y$-Achsen sind,
+entsteht der Tangentialvektor in der Karte durch Projektion
+von $(\dot{x}(t),\dot{y}(t))$ auf die entsprechende Komponente.
+
+Die Tangentialvektoren in zwei verschiedenen Punkten der Kurve können
+im Allgemeinen nicht miteinander verglichen werden.
+Darüber hinweg hilft auch die Tatsache nicht, dass die Kreislinie
+in den Vektorraum $\mathbb{R}^2$ eingebettet sind, wo sich Vektoren
+durch Translation miteinander vergleichen lassen.
+Ein nichtverschwindender Tangentialvektor im Punkt $(1,0)$ hat,
+betrachtet als Vektor in $\mathbb{R}^2$ verschwindende $x$-Komponente,
+für Tangentialvektoren im Inneren eines Quadranten ist dies nicht
+der Fall.
+
+Eine Möglichkeit, einen Tangentialvektor in $(1,0)$ mit einem
+Tangentialvektor im Punkt $(\cos t,\sin t)$ zu vergleichen, besteht
+darin, den Vektor um den Winkel $t$ zu drehen.
+Dies ist möglich, weil die Kreislinie eine kontinuierliche Symmetrie,
+nämlich die Drehung um den Winkel $t$ hat, die es erlaubt, den Punkt $(1,0)$
+in den Punkt $(\cos t,\sin t)$ abzubilden.
+Erst diese Symmetrie ermöglicht den Vergleich.
+Dieser Ansatz ist für alle Matrizen erfolgreich, wie wir später sehen werden.
+
+Ein weiterer Ansatz, Tangentialvektoren zu vergleichen, ist die Idee,
+einen sogenannten Zusammenhang zu definieren, eine Vorschrift, wie
+Tangentialvektoren infinitesimal entlang von Kurven in der Mannigfaltigkeit
+transportiert werden können.
+Auf einer sogenannten {\em Riemannschen Mannigfaltigkeit} ist zusätzlich
+zur Mannigfaltigkeitsstruktur die Längenmessung definiert.
+Sie kann dazu verwendet werden, den Transport von Vektoren entlang einer
+Kurve so zu definieren, dass dabei Längen und Winkel erhalten bleiben.
+Dieser Ansatz ist die Basis der Theorie der Krümmung sogenannter
+Riemannscher Mannigfaltigkeiten.
+
+\subsection{Der Satz von Noether
+\label{buch:subsection:noether}}
+
+
+
+
+
+
+
diff --git a/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex b/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex index 2acf6f6..5c973fd 100644 --- a/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex +++ b/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex @@ -1,233 +1,233 @@ -Eine Drehung eines Vektors $\vec{x}$ der Ebene $\mathbb{R}^2$ -um den Winkel $\alpha$ gefolgt von einer Translation um $\vec{t}$ -ist gegeben durch $D_\alpha\vec{x}+\vec{t}$. -Darauf lässt sich jedoch die Theorie der Matrizengruppen nicht -darauf anwenden, weil die Operation nicht die Form einer Matrixmultiplikation -schreiben. -Die Drehung und Translation kann in eine Matrix zusammengefasst werden, -indem zunächst die Ebene mit -\[ -\mathbb{R}^2\to\mathbb{R}^3 -: -\begin{pmatrix}x\\y\end{pmatrix} -\mapsto -\begin{pmatrix}x\\y\\1\end{pmatrix} -\qquad\text{oder in Vektorschreibweise }\qquad -\vec{x}\mapsto\begin{pmatrix}\vec{x}\\1\end{pmatrix} -\] -in den dreidimensionalen Raum eingebettet wird. -Die Drehung und Verschiebung kann damit in der Form -\[ -\begin{pmatrix}D_\alpha\vec{x}+\vec{t}\\1 -\end{pmatrix} -= -\begin{pmatrix}D_\alpha&\vec{t}\\0&1\end{pmatrix} -\begin{pmatrix}\vec{x}\\1\end{pmatrix} -\] -als Matrizenoperation geschrieben werden. -Die Gruppe der Drehungen und Verschiebungen der Ebene ist daher -die Gruppe -\[ -G -= -\left\{ -\left. -A -= -\begin{pmatrix} -D_\alpha&\vec{t}\\ -0&1 -\end{pmatrix} -= -\begin{pmatrix} -\cos\alpha & -\sin\alpha & t_x \\ -\sin\alpha & \cos\alpha & t_y \\ - 0 & 0 & 1 -\end{pmatrix} -\; -\right| -\; -\alpha\in\mathbb{R},\vec{t}\in\mathbb{R}^2 -\right\} -\] -Wir kürzen die Elemente von $G$ auch als $(\alpha,\vec{t})$ ab. -\begin{teilaufgaben} -\item -Verifizieren Sie, dass das Produkt zweier solcher Matrizen -$(\alpha_1,\vec{t}_1)$ und $(\alpha_2,\vec{t}_2)$ -wieder die selbe Form $(\alpha,\vec{t})$ hat und berechnen Sie -$\alpha$ und $\vec{t}_j$. -\item -Bestimmen Sie das inverse Element zu $(\alpha,\vec{t}) \in G$. -\item -Die Elemente der Gruppe $G$ sind parametrisiert durch den Winkel $\alpha$ -und die Translationskomponenten $t_x$ und $t_y$. -Rechnen Sie nach, dass -\[ -\alpha\mapsto \begin{pmatrix} D_{\alpha}&0\\0&1\end{pmatrix}, -\quad -t_x\mapsto -\begin{pmatrix} I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix}, -\qquad -t_y\mapsto -\begin{pmatrix} I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} -\] -Einparameteruntergruppen von $G$ sind. -\item -Berechnen Sie die Tangentialvektoren $D$, $X$ und $Y$, -die zu den Einparameteruntergruppen von c) gehören. -\item -Berechnen Sie die Lie-Klammer für alle Paare von Tangentialvektoren. -\end{teilaufgaben} - -\begin{loesung} -\begin{teilaufgaben} -\item -Die Wirkung beider Gruppenelemente auf dem Vektor $\vec{x}$ ist -\begin{align*} -\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} -\begin{pmatrix}D_{\alpha_2}&\vec{t}_2\\0&1\end{pmatrix} -\begin{pmatrix}\vec{x}\\1\end{pmatrix} -&= -\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} -\begin{pmatrix}D_{\alpha_2}\vec{x}+\vec{t}_2\\1\end{pmatrix} -= -\begin{pmatrix} -D_{\alpha_1}(D_{\alpha_2}\vec{x}+\vec{t}_2)+\vec{t}_1\\1 -\end{pmatrix} -\\ -&= -\begin{pmatrix} -D_{\alpha_1}D_{\alpha_2}\vec{x} + D_{\alpha_1}\vec{t}_2+\vec{t}_1\\1 -\end{pmatrix} -= -\begin{pmatrix} -D_{\alpha_1+\alpha_2}&D_{\alpha_1}\vec{t}_2+\vec{t}_1\\ -0&1 -\end{pmatrix} -\begin{pmatrix}\vec{x}\\1\end{pmatrix}. -\end{align*} -Das Produkt in der Gruppe $G$ kann daher -\[ -(\alpha_1,\vec{t}_1) (\alpha_2,\vec{t}_2) -= -(\alpha_1+\alpha_2,\vec{t}_1+D_{\alpha_1}\vec{t}_2) -\] -geschrieben werden. -\item -Die Inverse der Abbildung $\vec{x}\mapsto \vec{y}=D_\alpha\vec{x}+\vec{t}$ -kann gefunden werden, indem man auf der rechten Seite nach $\vec{x}$ -auflöst: -\begin{align*} -\vec{y}&=D_\alpha\vec{x}+\vec{t} -&&\Rightarrow& -D_{\alpha}^{-1}( \vec{y}-\vec{t}) &= \vec{x} -\\ -&&&& \vec{x} &= D_{-\alpha}\vec{y} + (-D_{-\alpha}\vec{t}) -\end{align*} -Die Inverse von $(\alpha,\vec{t})$ ist also $(-\alpha,-D_{-\alpha}\vec{t})$. -\item -Da $D_\alpha$ eine Einparameteruntergruppe von $\operatorname{SO}(2)$ ist, -ist $\alpha\mapsto (D_\alpha,0)$ ebenfalls eine Einparameteruntergruppe. -Für die beiden anderen gilt -\[ -\biggl(I,\begin{pmatrix}t_{x1}\\0\end{pmatrix}\biggr) -\biggl(I,\begin{pmatrix}t_{x2}\\0\end{pmatrix}\biggr) -= -\biggl(I,\begin{pmatrix}t_{x1}+t_{x2}\\0\end{pmatrix}\biggr) -\quad\text{und}\quad -\biggl(I,\begin{pmatrix}0\\t_{y1}\end{pmatrix}\biggr) -\biggl(I,\begin{pmatrix}0\\t_{y2}\end{pmatrix}\biggr) -= -\biggl(I,\begin{pmatrix}0\\t_{y1}+t_{y2}\end{pmatrix}\biggr), -\] -also sind dies auch Einparameteruntergruppen. -\item -Die Ableitungen sind -\begin{align*} -D -&= -\frac{d}{d\alpha}\begin{pmatrix}D_\alpha&0\\0&1\end{pmatrix}\bigg|_{\alpha=0} -= -\begin{pmatrix}J&0\\0&0\end{pmatrix} -= -\begin{pmatrix} -0&-1&0\\ -1& 0&0\\ -0& 0&0 -\end{pmatrix} -\\ -X -&= -\frac{d}{dt_x} -\left. -\begin{pmatrix}I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix} -\right|_{t_x=0} -= -\begin{pmatrix} -0&0&1\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -& -Y -&= -\frac{d}{dt_y} -\left. -\begin{pmatrix}I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} -\right|_{t_y=0} -= -\begin{pmatrix} -0&0&0\\ -0&0&1\\ -0&0&0 -\end{pmatrix} -\end{align*} -\item -Die Vertauschungsrelationen sind -\begin{align*} -[D,X] -&= -DX-XD -= -\begin{pmatrix} -0&0&0\\ -0&0&1\\ -0&0&0 -\end{pmatrix} -- -\begin{pmatrix} -0&0&0\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -= -Y -\\ -[D,Y] -&= -DY-YD -= -\begin{pmatrix} -0&0&-1\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -- -\begin{pmatrix} -0&0&0\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -= --X -\\ -[X,Y] -&= -XY-YX -= -0-0=0 -\qedhere -\end{align*} -\end{teilaufgaben} -\end{loesung} +Eine Drehung eines Vektors $\vec{x}$ der Ebene $\mathbb{R}^2$
+um den Winkel $\alpha$ gefolgt von einer Translation um $\vec{t}$
+ist gegeben durch $D_\alpha\vec{x}+\vec{t}$.
+Darauf lässt sich jedoch die Theorie der Matrizengruppen nicht
+darauf anwenden, weil die Operation nicht die Form einer Matrixmultiplikation
+schreiben.
+Die Drehung und Translation kann in eine Matrix zusammengefasst werden,
+indem zunächst die Ebene mit
+\[
+\mathbb{R}^2\to\mathbb{R}^3
+:
+\begin{pmatrix}x\\y\end{pmatrix}
+\mapsto
+\begin{pmatrix}x\\y\\1\end{pmatrix}
+\qquad\text{oder in Vektorschreibweise }\qquad
+\vec{x}\mapsto\begin{pmatrix}\vec{x}\\1\end{pmatrix}
+\]
+in den dreidimensionalen Raum eingebettet wird.
+Die Drehung und Verschiebung kann damit in der Form
+\[
+\begin{pmatrix}D_\alpha\vec{x}+\vec{t}\\1
+\end{pmatrix}
+=
+\begin{pmatrix}D_\alpha&\vec{t}\\0&1\end{pmatrix}
+\begin{pmatrix}\vec{x}\\1\end{pmatrix}
+\]
+als Matrizenoperation geschrieben werden.
+Die Gruppe der Drehungen und Verschiebungen der Ebene ist daher
+die Gruppe
+\[
+G
+=
+\left\{
+\left.
+A
+=
+\begin{pmatrix}
+D_\alpha&\vec{t}\\
+0&1
+\end{pmatrix}
+=
+\begin{pmatrix}
+\cos\alpha & -\sin\alpha & t_x \\
+\sin\alpha & \cos\alpha & t_y \\
+ 0 & 0 & 1
+\end{pmatrix}
+\;
+\right|
+\;
+\alpha\in\mathbb{R},\vec{t}\in\mathbb{R}^2
+\right\}
+\]
+Wir kürzen die Elemente von $G$ auch als $(\alpha,\vec{t})$ ab.
+\begin{teilaufgaben}
+\item
+Verifizieren Sie, dass das Produkt zweier solcher Matrizen
+$(\alpha_1,\vec{t}_1)$ und $(\alpha_2,\vec{t}_2)$
+wieder die selbe Form $(\alpha,\vec{t})$ hat und berechnen Sie
+$\alpha$ und $\vec{t}_j$.
+\item
+Bestimmen Sie das inverse Element zu $(\alpha,\vec{t}) \in G$.
+\item
+Die Elemente der Gruppe $G$ sind parametrisiert durch den Winkel $\alpha$
+und die Translationskomponenten $t_x$ und $t_y$.
+Rechnen Sie nach, dass
+\[
+\alpha\mapsto \begin{pmatrix} D_{\alpha}&0\\0&1\end{pmatrix},
+\quad
+t_x\mapsto
+\begin{pmatrix} I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix},
+\qquad
+t_y\mapsto
+\begin{pmatrix} I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix}
+\]
+Einparameteruntergruppen von $G$ sind.
+\item
+Berechnen Sie die Tangentialvektoren $D$, $X$ und $Y$,
+die zu den Einparameteruntergruppen von c) gehören.
+\item
+Berechnen Sie die Lie-Klammer für alle Paare von Tangentialvektoren.
+\end{teilaufgaben}
+
+\begin{loesung}
+\begin{teilaufgaben}
+\item
+Die Wirkung beider Gruppenelemente auf dem Vektor $\vec{x}$ ist
+\begin{align*}
+\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix}
+\begin{pmatrix}D_{\alpha_2}&\vec{t}_2\\0&1\end{pmatrix}
+\begin{pmatrix}\vec{x}\\1\end{pmatrix}
+&=
+\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix}
+\begin{pmatrix}D_{\alpha_2}\vec{x}+\vec{t}_2\\1\end{pmatrix}
+=
+\begin{pmatrix}
+D_{\alpha_1}(D_{\alpha_2}\vec{x}+\vec{t}_2)+\vec{t}_1\\1
+\end{pmatrix}
+\\
+&=
+\begin{pmatrix}
+D_{\alpha_1}D_{\alpha_2}\vec{x} + D_{\alpha_1}\vec{t}_2+\vec{t}_1\\1
+\end{pmatrix}
+=
+\begin{pmatrix}
+D_{\alpha_1+\alpha_2}&D_{\alpha_1}\vec{t}_2+\vec{t}_1\\
+0&1
+\end{pmatrix}
+\begin{pmatrix}\vec{x}\\1\end{pmatrix}.
+\end{align*}
+Das Produkt in der Gruppe $G$ kann daher
+\[
+(\alpha_1,\vec{t}_1) (\alpha_2,\vec{t}_2)
+=
+(\alpha_1+\alpha_2,\vec{t}_1+D_{\alpha_1}\vec{t}_2)
+\]
+geschrieben werden.
+\item
+Die Inverse der Abbildung $\vec{x}\mapsto \vec{y}=D_\alpha\vec{x}+\vec{t}$
+kann gefunden werden, indem man auf der rechten Seite nach $\vec{x}$
+auflöst:
+\begin{align*}
+\vec{y}&=D_\alpha\vec{x}+\vec{t}
+&&\Rightarrow&
+D_{\alpha}^{-1}( \vec{y}-\vec{t}) &= \vec{x}
+\\
+&&&& \vec{x} &= D_{-\alpha}\vec{y} + (-D_{-\alpha}\vec{t})
+\end{align*}
+Die Inverse von $(\alpha,\vec{t})$ ist also $(-\alpha,-D_{-\alpha}\vec{t})$.
+\item
+Da $D_\alpha$ eine Einparameteruntergruppe von $\operatorname{SO}(2)$ ist,
+ist $\alpha\mapsto (D_\alpha,0)$ ebenfalls eine Einparameteruntergruppe.
+Für die beiden anderen gilt
+\[
+\biggl(I,\begin{pmatrix}t_{x1}\\0\end{pmatrix}\biggr)
+\biggl(I,\begin{pmatrix}t_{x2}\\0\end{pmatrix}\biggr)
+=
+\biggl(I,\begin{pmatrix}t_{x1}+t_{x2}\\0\end{pmatrix}\biggr)
+\quad\text{und}\quad
+\biggl(I,\begin{pmatrix}0\\t_{y1}\end{pmatrix}\biggr)
+\biggl(I,\begin{pmatrix}0\\t_{y2}\end{pmatrix}\biggr)
+=
+\biggl(I,\begin{pmatrix}0\\t_{y1}+t_{y2}\end{pmatrix}\biggr),
+\]
+also sind dies auch Einparameteruntergruppen.
+\item
+Die Ableitungen sind
+\begin{align*}
+D
+&=
+\frac{d}{d\alpha}\begin{pmatrix}D_\alpha&0\\0&1\end{pmatrix}\bigg|_{\alpha=0}
+=
+\begin{pmatrix}J&0\\0&0\end{pmatrix}
+=
+\begin{pmatrix}
+0&-1&0\\
+1& 0&0\\
+0& 0&0
+\end{pmatrix}
+\\
+X
+&=
+\frac{d}{dt_x}
+\left.
+\begin{pmatrix}I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix}
+\right|_{t_x=0}
+=
+\begin{pmatrix}
+0&0&1\\
+0&0&0\\
+0&0&0
+\end{pmatrix}
+&
+Y
+&=
+\frac{d}{dt_y}
+\left.
+\begin{pmatrix}I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix}
+\right|_{t_y=0}
+=
+\begin{pmatrix}
+0&0&0\\
+0&0&1\\
+0&0&0
+\end{pmatrix}
+\end{align*}
+\item
+Die Vertauschungsrelationen sind
+\begin{align*}
+[D,X]
+&=
+DX-XD
+=
+\begin{pmatrix}
+0&0&0\\
+0&0&1\\
+0&0&0
+\end{pmatrix}
+-
+\begin{pmatrix}
+0&0&0\\
+0&0&0\\
+0&0&0
+\end{pmatrix}
+=
+Y
+\\
+[D,Y]
+&=
+DY-YD
+=
+\begin{pmatrix}
+0&0&-1\\
+0&0&0\\
+0&0&0
+\end{pmatrix}
+-
+\begin{pmatrix}
+0&0&0\\
+0&0&0\\
+0&0&0
+\end{pmatrix}
+=
+-X
+\\
+[X,Y]
+&=
+XY-YX
+=
+0-0=0
+\qedhere
+\end{align*}
+\end{teilaufgaben}
+\end{loesung}
diff --git a/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex b/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex index 14fbe2b..25ac535 100644 --- a/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex +++ b/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex @@ -1,162 +1,162 @@ -Die Elemente der Gruppe $G$ der Translationen und Streckungen von -$\mathbb{R}$ kann durch Paare $(\lambda,t)\in\mathbb{R}^+\times\mathbb{R}$ -beschrieben werden, -wobei $\lambda$ durch Streckung und $t$ durch Translation wirkt: -\[ -(\lambda,t)\colon \mathbb{R}\to\mathbb{R}: x\mapsto \lambda x+t. -\] -Dies ist allerdings noch keine Untergruppe einer Matrizengruppe. -Dazu bettet man $\mathbb{R}$ mit Hilfe der Abbildung -\[ -\mathbb{R}\to\mathbb{R}^2 : x\mapsto \begin{pmatrix}x\\1\end{pmatrix} -\] -in $\mathbb{R}^2$ ein. -Die Wirkung von $(\lambda,t)$ ist dann -\[ -\begin{pmatrix}(\lambda,t)\cdot x\\1\end{pmatrix} -= -\begin{pmatrix} \lambda x + t\\1\end{pmatrix} -= -\begin{pmatrix}\lambda&1\\0&1\end{pmatrix}\begin{pmatrix}x\\1\end{pmatrix}. -\] -Die Wirkung des Paares $(\lambda,t)$ kann also mit Hilfe einer -$2\times 2$-Matrix beschrieben werden. -Die Abbildung -\[ -G\to \operatorname{GL}_2(\mathbb{R}) -: -(\lambda,t) -\mapsto -\begin{pmatrix}\lambda&t\\0&1\end{pmatrix} -\] -bettet die Gruppe $G$ in $\operatorname{GL}_2(\mathbb{R})$ ein. -\begin{teilaufgaben} -\item -Berechnen Sie das Produkt $g_1g_2$ zweier Elemente -$g_j=(\lambda_j,t_j)$. -\item -Bestimmen Sie das inverse Elemente von $(\lambda,t)$ in $G$. -\item -Der sogenannte Kommutator zweier Elemente ist $g_1g_2g_1^{-1}g_2^{-1}$, -berechnen Sie den Kommutator für die Gruppenelemente von a). -\item -Rechnen Sie nach, dass -\[ -s\mapsto \begin{pmatrix}e^s&0\\0&1\end{pmatrix} -,\qquad -t\mapsto \begin{pmatrix}1&t\\0&1\end{pmatrix} -\] -Einparameteruntergruppen von $\operatorname{GL}_2(\mathbb{R})$ sind. -\item -Berechnen Sie die Tangentialvektoren $S$ und $T$ dieser beiden -Einparameteruntergruppen. -\item -Berechnen Sie den Kommutator $[S,T]$ -\end{teilaufgaben} - -\begin{loesung} -\begin{teilaufgaben} -\item -Die beiden Gruppenelemente wirken auf $x$ nach -\[ -(\lambda_1,t_1) -(\lambda_2,t_2) -\cdot -x -= -(\lambda_1,t_1)(\lambda_2x+t_2) -= -\lambda_1(\lambda_2x+t_2)+t_1) -= -\lambda_1\lambda_2 x + (\lambda_1t_2+t_1), -\] -also ist $g_1g_2=(\lambda_1\lambda_2,\lambda_1t_2+t_1)$. -\item -Die Inverse von $(\lambda,t)$ kann erhalten werden, indem man die -Abbildung $x\mapsto y=\lambda x +t$ nach $x$ auflöst: -\[ -y=\lambda x+t -\qquad\Rightarrow\qquad -\lambda^{-1}(y-t) -= -\lambda^{-1}y - \lambda^{-1}t. -\] -Daraus liest man ab, dass $(\lambda,t)^{-1}=(\lambda^{-1},-\lambda^{-1}t)$ -ist. -\item -Mit Hilfe der Identität $g_1g_2g_1^{-1}g_2^{-1}=g_1g_2(g_2g_1)^{-1}$ -kann man den Kommutator leichter berechnen -\begin{align*} -g_1g_2&=(\lambda_1\lambda_2,t_1+\lambda_1t_2) -\\ -g_2g_1&= (\lambda_2\lambda_1,t_2+\lambda_2t_1) -\\ -(g_2g_1)^{-1} -&= -(\lambda_1^{-1}\lambda_2^{-1}, - -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) -\\ -g_1g_2g_1^{-1}g_2^{-1} -&= -(\lambda_1\lambda_2,t_1+\lambda_1t_2) -(\lambda_1^{-1}\lambda_2^{-1}, - -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) -\\ -&=(1,t_1+\lambda_1t_2 + \lambda_1\lambda_2( - -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) -) -\\ -&=(1, t_1+\lambda_1t_2 - t_2 -\lambda_2t_1) -= -(1,(1-\lambda_2)(t_1-t_2)). -\end{align*} -Der Kommutator ist also das neutrale Element, wenn $\lambda_2=1$ ist. -\item -Dies ist am einfachsten in der Matrixform nachzurechnen: -\begin{align*} -\begin{pmatrix} e^{s_1}&0\\0&1\end{pmatrix} -\begin{pmatrix} e^{s_2}&0\\0&1\end{pmatrix} -&= -\begin{pmatrix}e^{s_1+s_2}&0\\0&1\end{pmatrix} -& -\begin{pmatrix} 1&t_1\\0&1\end{pmatrix} -\begin{pmatrix} 1&t_2\\0&1\end{pmatrix} -&= -\begin{pmatrix} 1&t_1+t_2\\0&1\end{pmatrix} -\end{align*} -\item -Die Tangentialvektoren werden erhalten durch ableiten der -Matrixdarstellung nach dem Parameter -\begin{align*} -S -&= -\frac{d}{ds} \begin{pmatrix}e^s&0\\0&1\end{pmatrix}\bigg|_{s=0} -= -\begin{pmatrix}1&0\\0&0\end{pmatrix} -\\ -T -&= -\frac{d}{dt} \begin{pmatrix}1&t\\0&1\end{pmatrix}\bigg|_{t=0} -= -\begin{pmatrix}0&1\\0&0\end{pmatrix} -\end{align*} -\item Der Kommutator ist -\[ -[S,T] -= -\begin{pmatrix}1&0\\0&0\end{pmatrix} -\begin{pmatrix}0&1\\0&0\end{pmatrix} -- -\begin{pmatrix}0&1\\0&0\end{pmatrix} -\begin{pmatrix}1&0\\0&0\end{pmatrix} -= -\begin{pmatrix}0&1\\0&0\end{pmatrix} -- -\begin{pmatrix}0&0\\0&0\end{pmatrix} -= -T. -\qedhere -\] -\end{teilaufgaben} -\end{loesung} - +Die Elemente der Gruppe $G$ der Translationen und Streckungen von
+$\mathbb{R}$ kann durch Paare $(\lambda,t)\in\mathbb{R}^+\times\mathbb{R}$
+beschrieben werden,
+wobei $\lambda$ durch Streckung und $t$ durch Translation wirkt:
+\[
+(\lambda,t)\colon \mathbb{R}\to\mathbb{R}: x\mapsto \lambda x+t.
+\]
+Dies ist allerdings noch keine Untergruppe einer Matrizengruppe.
+Dazu bettet man $\mathbb{R}$ mit Hilfe der Abbildung
+\[
+\mathbb{R}\to\mathbb{R}^2 : x\mapsto \begin{pmatrix}x\\1\end{pmatrix}
+\]
+in $\mathbb{R}^2$ ein.
+Die Wirkung von $(\lambda,t)$ ist dann
+\[
+\begin{pmatrix}(\lambda,t)\cdot x\\1\end{pmatrix}
+=
+\begin{pmatrix} \lambda x + t\\1\end{pmatrix}
+=
+\begin{pmatrix}\lambda&1\\0&1\end{pmatrix}\begin{pmatrix}x\\1\end{pmatrix}.
+\]
+Die Wirkung des Paares $(\lambda,t)$ kann also mit Hilfe einer
+$2\times 2$-Matrix beschrieben werden.
+Die Abbildung
+\[
+G\to \operatorname{GL}_2(\mathbb{R})
+:
+(\lambda,t)
+\mapsto
+\begin{pmatrix}\lambda&t\\0&1\end{pmatrix}
+\]
+bettet die Gruppe $G$ in $\operatorname{GL}_2(\mathbb{R})$ ein.
+\begin{teilaufgaben}
+\item
+Berechnen Sie das Produkt $g_1g_2$ zweier Elemente
+$g_j=(\lambda_j,t_j)$.
+\item
+Bestimmen Sie das inverse Elemente von $(\lambda,t)$ in $G$.
+\item
+Der sogenannte Kommutator zweier Elemente ist $g_1g_2g_1^{-1}g_2^{-1}$,
+berechnen Sie den Kommutator für die Gruppenelemente von a).
+\item
+Rechnen Sie nach, dass
+\[
+s\mapsto \begin{pmatrix}e^s&0\\0&1\end{pmatrix}
+,\qquad
+t\mapsto \begin{pmatrix}1&t\\0&1\end{pmatrix}
+\]
+Einparameteruntergruppen von $\operatorname{GL}_2(\mathbb{R})$ sind.
+\item
+Berechnen Sie die Tangentialvektoren $S$ und $T$ dieser beiden
+Einparameteruntergruppen.
+\item
+Berechnen Sie den Kommutator $[S,T]$
+\end{teilaufgaben}
+
+\begin{loesung}
+\begin{teilaufgaben}
+\item
+Die beiden Gruppenelemente wirken auf $x$ nach
+\[
+(\lambda_1,t_1)
+(\lambda_2,t_2)
+\cdot
+x
+=
+(\lambda_1,t_1)(\lambda_2x+t_2)
+=
+\lambda_1(\lambda_2x+t_2)+t_1)
+=
+\lambda_1\lambda_2 x + (\lambda_1t_2+t_1),
+\]
+also ist $g_1g_2=(\lambda_1\lambda_2,\lambda_1t_2+t_1)$.
+\item
+Die Inverse von $(\lambda,t)$ kann erhalten werden, indem man die
+Abbildung $x\mapsto y=\lambda x +t$ nach $x$ auflöst:
+\[
+y=\lambda x+t
+\qquad\Rightarrow\qquad
+\lambda^{-1}(y-t)
+=
+\lambda^{-1}y - \lambda^{-1}t.
+\]
+Daraus liest man ab, dass $(\lambda,t)^{-1}=(\lambda^{-1},-\lambda^{-1}t)$
+ist.
+\item
+Mit Hilfe der Identität $g_1g_2g_1^{-1}g_2^{-1}=g_1g_2(g_2g_1)^{-1}$
+kann man den Kommutator leichter berechnen
+\begin{align*}
+g_1g_2&=(\lambda_1\lambda_2,t_1+\lambda_1t_2)
+\\
+g_2g_1&= (\lambda_2\lambda_1,t_2+\lambda_2t_1)
+\\
+(g_2g_1)^{-1}
+&=
+(\lambda_1^{-1}\lambda_2^{-1},
+ -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1))
+\\
+g_1g_2g_1^{-1}g_2^{-1}
+&=
+(\lambda_1\lambda_2,t_1+\lambda_1t_2)
+(\lambda_1^{-1}\lambda_2^{-1},
+ -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1))
+\\
+&=(1,t_1+\lambda_1t_2 + \lambda_1\lambda_2(
+ -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1))
+)
+\\
+&=(1, t_1+\lambda_1t_2 - t_2 -\lambda_2t_1)
+=
+(1,(1-\lambda_2)(t_1-t_2)).
+\end{align*}
+Der Kommutator ist also das neutrale Element, wenn $\lambda_2=1$ ist.
+\item
+Dies ist am einfachsten in der Matrixform nachzurechnen:
+\begin{align*}
+\begin{pmatrix} e^{s_1}&0\\0&1\end{pmatrix}
+\begin{pmatrix} e^{s_2}&0\\0&1\end{pmatrix}
+&=
+\begin{pmatrix}e^{s_1+s_2}&0\\0&1\end{pmatrix}
+&
+\begin{pmatrix} 1&t_1\\0&1\end{pmatrix}
+\begin{pmatrix} 1&t_2\\0&1\end{pmatrix}
+&=
+\begin{pmatrix} 1&t_1+t_2\\0&1\end{pmatrix}
+\end{align*}
+\item
+Die Tangentialvektoren werden erhalten durch ableiten der
+Matrixdarstellung nach dem Parameter
+\begin{align*}
+S
+&=
+\frac{d}{ds} \begin{pmatrix}e^s&0\\0&1\end{pmatrix}\bigg|_{s=0}
+=
+\begin{pmatrix}1&0\\0&0\end{pmatrix}
+\\
+T
+&=
+\frac{d}{dt} \begin{pmatrix}1&t\\0&1\end{pmatrix}\bigg|_{t=0}
+=
+\begin{pmatrix}0&1\\0&0\end{pmatrix}
+\end{align*}
+\item Der Kommutator ist
+\[
+[S,T]
+=
+\begin{pmatrix}1&0\\0&0\end{pmatrix}
+\begin{pmatrix}0&1\\0&0\end{pmatrix}
+-
+\begin{pmatrix}0&1\\0&0\end{pmatrix}
+\begin{pmatrix}1&0\\0&0\end{pmatrix}
+=
+\begin{pmatrix}0&1\\0&0\end{pmatrix}
+-
+\begin{pmatrix}0&0\\0&0\end{pmatrix}
+=
+T.
+\qedhere
+\]
+\end{teilaufgaben}
+\end{loesung}
+
diff --git a/buch/chapters/70-graphen/images/Makefile b/buch/chapters/70-graphen/images/Makefile index bd77756..c1bc5df 100644 --- a/buch/chapters/70-graphen/images/Makefile +++ b/buch/chapters/70-graphen/images/Makefile @@ -1,22 +1,22 @@ -# -# Makefile -- Bilder für Kapitel Graphen -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf - -peterson.pdf: peterson.tex - pdflatex peterson.tex - -adjazenzu.pdf: adjazenzu.tex - pdflatex adjazenzu.tex - -adjazenzd.pdf: adjazenzd.tex - pdflatex adjazenzd.tex - -kreis.pdf: kreis.tex - pdflatex kreis.tex - -fundamental.pdf: fundamental.tex - pdflatex fundamental.tex - +#
+# Makefile -- Bilder für Kapitel Graphen
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf
+
+peterson.pdf: peterson.tex
+ pdflatex peterson.tex
+
+adjazenzu.pdf: adjazenzu.tex
+ pdflatex adjazenzu.tex
+
+adjazenzd.pdf: adjazenzd.tex
+ pdflatex adjazenzd.tex
+
+kreis.pdf: kreis.tex
+ pdflatex kreis.tex
+
+fundamental.pdf: fundamental.tex
+ pdflatex fundamental.tex
+
diff --git a/buch/chapters/70-graphen/images/fundamental.tex b/buch/chapters/70-graphen/images/fundamental.tex index b7fe9c4..388bdf7 100644 --- a/buch/chapters/70-graphen/images/fundamental.tex +++ b/buch/chapters/70-graphen/images/fundamental.tex @@ -1,54 +1,54 @@ -% -% fundamental.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\begin{scope}[xshift=-4.6cm] - \draw[color=red,line width=2pt] (1.8,0) -- (1.8,2); - \draw[color=red,line width=2pt] (0,0) -- (4,0); - \node at (1.8,0) [below] {$i$}; - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \node at (2,-2.3) [below] {Standarbasis}; -\end{scope} - -\begin{scope} - \draw[color=red,line width=1.4pt] - plot[domain=0:360,samples=100] ({\x/90},{2*sin(\x)}); - \draw[color=blue,line width=1.4pt] - plot[domain=0:360,samples=100] ({\x/90},{2*cos(\x)}); - \node[color=blue] at (1,-1) {$\Re f_i$}; - \node[color=red] at (2,1) {$\Im f_i$}; - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - \node at (2,-2.3) [below] {Eigenbasis}; -\end{scope} - -\begin{scope}[xshift=4.6cm] - \foreach \t in {0.02,0.05,0.1,0.2,0.5}{ - \draw[color=red,line width=1.0pt] - plot[domain=-1.8:2.2,samples=100] - ({\x+1.8},{exp(-\x*\x/(4*\t))/(sqrt(4*3.1415*\t))}); - } - \fill[color=red] (1.8,0) circle[radius=0.08]; - \node at (1.8,0) [below] {$\xi$}; - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - \node at (2,-2.3) [below] {Fundamentallösung}; -\end{scope} - -\end{tikzpicture} -\end{document} - +%
+% fundamental.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\begin{scope}[xshift=-4.6cm]
+ \draw[color=red,line width=2pt] (1.8,0) -- (1.8,2);
+ \draw[color=red,line width=2pt] (0,0) -- (4,0);
+ \node at (1.8,0) [below] {$i$};
+ \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+
+ \node at (2,-2.3) [below] {Standarbasis};
+\end{scope}
+
+\begin{scope}
+ \draw[color=red,line width=1.4pt]
+ plot[domain=0:360,samples=100] ({\x/90},{2*sin(\x)});
+ \draw[color=blue,line width=1.4pt]
+ plot[domain=0:360,samples=100] ({\x/90},{2*cos(\x)});
+ \node[color=blue] at (1,-1) {$\Re f_i$};
+ \node[color=red] at (2,1) {$\Im f_i$};
+ \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+ \node at (2,-2.3) [below] {Eigenbasis};
+\end{scope}
+
+\begin{scope}[xshift=4.6cm]
+ \foreach \t in {0.02,0.05,0.1,0.2,0.5}{
+ \draw[color=red,line width=1.0pt]
+ plot[domain=-1.8:2.2,samples=100]
+ ({\x+1.8},{exp(-\x*\x/(4*\t))/(sqrt(4*3.1415*\t))});
+ }
+ \fill[color=red] (1.8,0) circle[radius=0.08];
+ \node at (1.8,0) [below] {$\xi$};
+ \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}];
+ \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}];
+ \node at (2,-2.3) [below] {Fundamentallösung};
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/70-graphen/spektral.tex b/buch/chapters/70-graphen/spektral.tex index f68c814..72e3519 100644 --- a/buch/chapters/70-graphen/spektral.tex +++ b/buch/chapters/70-graphen/spektral.tex @@ -1,198 +1,198 @@ -% -% spektral.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Spektrale Graphentheorie -\label{buch:section:spektrale-graphentheorie}} -\rhead{Spektrale Graphentheorie} -Die Laplace-Matrix codiert alle wesentliche Information eines -ungerichteten Graphen. -Sie operiert auf Vektoren, die für jeden Knoten des Graphen eine -Komponente haben. -Dies eröffnet die Möglichkeit, den Graphen über die linearalgebraischen -Eigenschaften der Laplace-Matrix zu studieren. - -\subsection{Grapheigenschaften und Spektrum von $L$ -\label{buch:subsection:grapheigenschaften-und-spektrum-von-l}} -TODO XXX - -\subsection{Wärmeleitung auf einem Graphen -\label{buch:subsection:waermeleitung-auf-einem-graphen}} -Die Vektoren, auf denen die Laplace-Matrix operiert, können betrachtet -werden als Funktionen, die jedem Knoten einen Wert zuordnen. -Eine mögliche physikalische Interpretation davon ist die Temperaturverteilung -auf dem Graphen. -Die Kanten zwischen den Knoten erlauben der Wärmeenergie, von einem Knoten -zu einem anderen zu fliessen. -Je grösser die Temperaturdifferenz zwischen zwei Knoten ist, desto -grösser ist der Wärmefluss und desto schneller ändert sich die Temperatur -der beteiligten Knoten. -Die zeitliche Änderung der Temperatur $T_i$ im Knoten $i$ ist proportional -\[ -\frac{dT_i}{dt} -= -\sum_{\text{$j$ Nachbar von $i$}} \kappa (T_j-T_i) -= -- -\kappa -\biggl( -d_iT_i -- -\sum_{\text{$j$ Nachbar von $i$}} T_j -\biggr) -\] -Der Term auf der rechten Seite ist genau die Wirkung der -Laplace-Matrix auf dem Vektor $T$ der Temperaturen: -\begin{equation} -\frac{dT}{dt} -= --\kappa L T. -\label{buch:graphen:eqn:waermeleitung} -\end{equation} -Der Wärmefluss, der durch die -Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} beschrieben -wird, codiert ebenfalls wesentliche Informationen über den Graphen. -Je mehr Kanten es zwischen verschiedenen Teilen eines Graphen gibt, -desto schneller findet der Wärmeaustausch zwischen diesen Teilen -statt. -Die Lösungen der Wärmeleitungsgleichung liefern also Informationen -über den Graphen. - -\subsection{Eigenwerte und Eigenvektoren -\label{buch:subsection:ein-zyklischer-graph}} -Die Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} -ist eine lineare Differentialgleichung mit konstanten Koeffizienten, -die mit der Matrixexponentialfunktion gelöst werden. -Die Lösung ist -\[ -f(t) = e^{-\kappa Lt}f(0). -\] - -Die Berechnung der Lösung mit der Matrixexponentialreihe ist ziemlich -ineffizient, da grosse Matrizenprodukte berechnet werden müssen. -Da die Matrix $L$ symmetrisch ist, gibt es eine Basis aus -orthonormierten Eigenvektoren und die Eigenwerte sind reell. -Wir bezeichnen die Eigenvektoren mit $f_1,\dots,f_n$ und die -zugehörigen Eigenwerte mit $\lambda_i$. -Die Funktion $f_i(t)= e^{-\kappa\lambda_it}f_i$ ist dann eine Lösung -der Wärmeleitungsgleichung, denn die beiden Seiten -\begin{align*} -\frac{d}{dt}f_i(t) -&= --\kappa\lambda_ie^{-\kappa\lambda_it}f_i -= --\kappa\lambda_i f_i(t) -\\ --\kappa Lf_i(t) -&= --\kappa e^{-\kappa\lambda_it} Lf_i -= --\kappa e^{-\kappa\lambda_it} \lambda_i f_i -= --\kappa \lambda_i f_i(t) -\end{align*} -von \eqref{buch:graphen:eqn:waermeleitung} stimmen überein. - -Eine Lösung der Wärmeleitungsgleichung zu einer beliebigen -Anfangstemperaturverteilung $f$ kann durch Linearkombination aus -den Lösungen $f_i(t)$ zusammengesetzt werden. -Dazu ist nötig, $f$ aus den Vektoren $f_i$ linear zu kombinieren. -Da aber die $f_i$ orthonormiert sind, ist dies besonders einfach, -die Koeffizienten sind die Skalarprodukte mit den Eigenvektoren: -\[ -f=\sum_{i=1}^n \langle f_i,f\rangle f_i. -\] -Daraus kann man die allgmeine Lösungsformel -\begin{equation} -f(t) -= -\sum_{i=1}^n \langle f_i,f\rangle f_i(t) -= -\sum_{i=1}^n \langle f_i,f\rangle e^{-\kappa\lambda_i t}f_i -\label{buch:graphen:eqn:eigloesung} -\end{equation} -ableiten. - -\subsection{Beispiel: Ein zyklischer Graph} -\begin{figure} -\centering -\includegraphics{chapters/70-graphen/images/kreis.pdf} -\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem -Graphen. -\label{buch:graphen:fig:kreis}} -\end{figure} -Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen -von Abbildung~\ref{buch:graphen:fig:kreis}. -Besonders interessant sind die folgenden Funktionen: -\[ -\left. -\begin{aligned} -s_m(k) -&= -\sin\frac{2\pi mk}{n} -\\ -c_m(k) -&= -\cos\frac{2\pi mk}{n} -\end{aligned} -\; -\right\} -\quad -\Rightarrow -\quad -e_m(k) -= -e^{2\pi imk/n} -= -c_m(k) + is_m(k). -\] -Das Skalarprodukt dieser Funktionen ist -\[ -\langle e_m, e_{m'}\rangle -= -\frac1n -\sum_{k=1}^n -\overline{e^{2\pi i km/n}} -e^{2\pi ikm'/n} -= -\frac1n -\sum_{k=1}^n -e^{\frac{2\pi i}{n}(m'-m)k} -= -\delta_{mm'} -\] -Die Funktionen bilden daher eine Orthonormalbasis des Raums der -Funktionen auf $G$. -Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$ -die Funktionen -\[ -c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2} -\] -eine orthonormierte Basis. - - -Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen -Abbildung auf Funktionen auf dem Graphen gemacht werden. -Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit -Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist. -Dann definieren wir die Funktion $Lf$ durch -\[ -(Lf)(v) -= -\sum_{v'\in V} l_{vv'}f(v'). -\] - -\subsection{Standardbasis und Eigenbasis -\label{buch:subsection:standardbasis-und-eigenbasis}} -Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear -kombinieren lassen, ist die Standardbasis. -Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten -\[ -e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} -1\qquad&v=v'\\ -0\qquad&\text{sonst.} -\end{cases} -\] - - +%
+% spektral.tex
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Spektrale Graphentheorie
+\label{buch:section:spektrale-graphentheorie}}
+\rhead{Spektrale Graphentheorie}
+Die Laplace-Matrix codiert alle wesentliche Information eines
+ungerichteten Graphen.
+Sie operiert auf Vektoren, die für jeden Knoten des Graphen eine
+Komponente haben.
+Dies eröffnet die Möglichkeit, den Graphen über die linearalgebraischen
+Eigenschaften der Laplace-Matrix zu studieren.
+
+\subsection{Grapheigenschaften und Spektrum von $L$
+\label{buch:subsection:grapheigenschaften-und-spektrum-von-l}}
+TODO XXX
+
+\subsection{Wärmeleitung auf einem Graphen
+\label{buch:subsection:waermeleitung-auf-einem-graphen}}
+Die Vektoren, auf denen die Laplace-Matrix operiert, können betrachtet
+werden als Funktionen, die jedem Knoten einen Wert zuordnen.
+Eine mögliche physikalische Interpretation davon ist die Temperaturverteilung
+auf dem Graphen.
+Die Kanten zwischen den Knoten erlauben der Wärmeenergie, von einem Knoten
+zu einem anderen zu fliessen.
+Je grösser die Temperaturdifferenz zwischen zwei Knoten ist, desto
+grösser ist der Wärmefluss und desto schneller ändert sich die Temperatur
+der beteiligten Knoten.
+Die zeitliche Änderung der Temperatur $T_i$ im Knoten $i$ ist proportional
+\[
+\frac{dT_i}{dt}
+=
+\sum_{\text{$j$ Nachbar von $i$}} \kappa (T_j-T_i)
+=
+-
+\kappa
+\biggl(
+d_iT_i
+-
+\sum_{\text{$j$ Nachbar von $i$}} T_j
+\biggr)
+\]
+Der Term auf der rechten Seite ist genau die Wirkung der
+Laplace-Matrix auf dem Vektor $T$ der Temperaturen:
+\begin{equation}
+\frac{dT}{dt}
+=
+-\kappa L T.
+\label{buch:graphen:eqn:waermeleitung}
+\end{equation}
+Der Wärmefluss, der durch die
+Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} beschrieben
+wird, codiert ebenfalls wesentliche Informationen über den Graphen.
+Je mehr Kanten es zwischen verschiedenen Teilen eines Graphen gibt,
+desto schneller findet der Wärmeaustausch zwischen diesen Teilen
+statt.
+Die Lösungen der Wärmeleitungsgleichung liefern also Informationen
+über den Graphen.
+
+\subsection{Eigenwerte und Eigenvektoren
+\label{buch:subsection:ein-zyklischer-graph}}
+Die Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung}
+ist eine lineare Differentialgleichung mit konstanten Koeffizienten,
+die mit der Matrixexponentialfunktion gelöst werden.
+Die Lösung ist
+\[
+f(t) = e^{-\kappa Lt}f(0).
+\]
+
+Die Berechnung der Lösung mit der Matrixexponentialreihe ist ziemlich
+ineffizient, da grosse Matrizenprodukte berechnet werden müssen.
+Da die Matrix $L$ symmetrisch ist, gibt es eine Basis aus
+orthonormierten Eigenvektoren und die Eigenwerte sind reell.
+Wir bezeichnen die Eigenvektoren mit $f_1,\dots,f_n$ und die
+zugehörigen Eigenwerte mit $\lambda_i$.
+Die Funktion $f_i(t)= e^{-\kappa\lambda_it}f_i$ ist dann eine Lösung
+der Wärmeleitungsgleichung, denn die beiden Seiten
+\begin{align*}
+\frac{d}{dt}f_i(t)
+&=
+-\kappa\lambda_ie^{-\kappa\lambda_it}f_i
+=
+-\kappa\lambda_i f_i(t)
+\\
+-\kappa Lf_i(t)
+&=
+-\kappa e^{-\kappa\lambda_it} Lf_i
+=
+-\kappa e^{-\kappa\lambda_it} \lambda_i f_i
+=
+-\kappa \lambda_i f_i(t)
+\end{align*}
+von \eqref{buch:graphen:eqn:waermeleitung} stimmen überein.
+
+Eine Lösung der Wärmeleitungsgleichung zu einer beliebigen
+Anfangstemperaturverteilung $f$ kann durch Linearkombination aus
+den Lösungen $f_i(t)$ zusammengesetzt werden.
+Dazu ist nötig, $f$ aus den Vektoren $f_i$ linear zu kombinieren.
+Da aber die $f_i$ orthonormiert sind, ist dies besonders einfach,
+die Koeffizienten sind die Skalarprodukte mit den Eigenvektoren:
+\[
+f=\sum_{i=1}^n \langle f_i,f\rangle f_i.
+\]
+Daraus kann man die allgmeine Lösungsformel
+\begin{equation}
+f(t)
+=
+\sum_{i=1}^n \langle f_i,f\rangle f_i(t)
+=
+\sum_{i=1}^n \langle f_i,f\rangle e^{-\kappa\lambda_i t}f_i
+\label{buch:graphen:eqn:eigloesung}
+\end{equation}
+ableiten.
+
+\subsection{Beispiel: Ein zyklischer Graph}
+\begin{figure}
+\centering
+\includegraphics{chapters/70-graphen/images/kreis.pdf}
+\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem
+Graphen.
+\label{buch:graphen:fig:kreis}}
+\end{figure}
+Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen
+von Abbildung~\ref{buch:graphen:fig:kreis}.
+Besonders interessant sind die folgenden Funktionen:
+\[
+\left.
+\begin{aligned}
+s_m(k)
+&=
+\sin\frac{2\pi mk}{n}
+\\
+c_m(k)
+&=
+\cos\frac{2\pi mk}{n}
+\end{aligned}
+\;
+\right\}
+\quad
+\Rightarrow
+\quad
+e_m(k)
+=
+e^{2\pi imk/n}
+=
+c_m(k) + is_m(k).
+\]
+Das Skalarprodukt dieser Funktionen ist
+\[
+\langle e_m, e_{m'}\rangle
+=
+\frac1n
+\sum_{k=1}^n
+\overline{e^{2\pi i km/n}}
+e^{2\pi ikm'/n}
+=
+\frac1n
+\sum_{k=1}^n
+e^{\frac{2\pi i}{n}(m'-m)k}
+=
+\delta_{mm'}
+\]
+Die Funktionen bilden daher eine Orthonormalbasis des Raums der
+Funktionen auf $G$.
+Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$
+die Funktionen
+\[
+c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2}
+\]
+eine orthonormierte Basis.
+
+
+Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen
+Abbildung auf Funktionen auf dem Graphen gemacht werden.
+Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit
+Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist.
+Dann definieren wir die Funktion $Lf$ durch
+\[
+(Lf)(v)
+=
+\sum_{v'\in V} l_{vv'}f(v').
+\]
+
+\subsection{Standardbasis und Eigenbasis
+\label{buch:subsection:standardbasis-und-eigenbasis}}
+Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear
+kombinieren lassen, ist die Standardbasis.
+Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten
+\[
+e_v\colon V\to\mathbb R:v'\mapsto \begin{cases}
+1\qquad&v=v'\\
+0\qquad&\text{sonst.}
+\end{cases}
+\]
+
+
diff --git a/buch/chapters/70-graphen/wavelets.tex b/buch/chapters/70-graphen/wavelets.tex index 9c88c08..26a9e42 100644 --- a/buch/chapters/70-graphen/wavelets.tex +++ b/buch/chapters/70-graphen/wavelets.tex @@ -1,125 +1,125 @@ -% -% wavelets.tex -- Wavelets auf Graphen -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Wavelets auf Graphen -\label{buch:section:wavelets-auf-graphen}} -\rhead{Wavelets auf Graphen} -In Abschnitt~\ref{buch:subsection:standardbasis-und-eigenbasis} wurde -gezeigt dass die Standardbasis den Zusammenhang zwischen den einzelnen -Teilen des Graphen völlig ignoriert, während die Eigenbasis Wellen -beschreibt, die mit vergleichbarer Amplitude sich über den ganzen -Graphen entsprechen. -Die Eigenbasis unterdrückt also die ``Individualität'' der einzelnen -Knoten fast vollständig. - -Wenn man einen Standardbasisvektor in einem Knoten $i$ -als Anfangstemperaturverteilung verwendet, erwartet man eine Lösung, -die für kleine Zeiten $t$ die Energie immer in der Nähe des Knotens $i$ -konzentriert hat. -Weder die Standardbasis noch die Eigenbasis haben diese Eigenschaft. - -\subsection{Vergleich mit der Wärmeleitung auf $\mathbb{R}$} -Ein ähnliches Phänomen findet man bei der Wärmeausbreitung gemäss -der partiellen Differentialgleichung -\[ -\frac{\partial T}{\partial t} = -\kappa \frac{\partial^2 T}{\partial x^2}. -\] -Die von Fourier erfundene Methode, die Fourier-Theorie, verwendet die -Funktionen $e^{ik x}$, die Eigenvektoren der zweiten Ableitung -$\partial^2/\partial x^2$ sind. -Diese haben das gleiche Problem, der Betrag von $e^{ikx}$ ist $1$, die -Entfernung von einem Punkt spielt überhaupt keine Rolle. -Die Funktion -\[ -F(x,t) -= -\frac{1}{\sqrt{4\pi\kappa t}}e^{-x^2/4\kappa t} -\] -ist eine Lösung der Wärmeleitungsgleichung mit einem Maximum an -der Stelle $0$. -Sie heisst die Fundamentallösung der Wärmeleitungsgleichung. -Durch Überlagerung von Translaten in eine Funktion -\begin{equation} -f(x,t) -= -\int_{-\infty}^\infty f(\xi) F(x-\xi,t)\,d\xi -\label{buch:graphen:eqn:fundamentalueberlagerung} -\end{equation} -kann man die allgemeine Lösung aus Fundamentallösungen zusammensetzen. -Die Fundamentallösungen $f(x-\xi,t)$ sind für kleine Zeiten immer noch -deutlich in einer Umgebung von $\xi$ konzentriert. - -% XXX Ausbreitung der Fundamentallösung illustrieren -\begin{figure} -\centering -\includegraphics{chapters/70-graphen/images/fundamental.pdf} -\caption{Vergleich der verschiedenen Funktionenfamilien, mit denen -Lösungenfunktionen durch Linearkombination erzeugt werden können. -In der Standarbasis (links) ist es am einfachsten, die Funktionswerte -abzulesen, in der Eigenbasis (Mitte) kann die zeitliche Entwicklung -besonders leicht berechnet werden. -Dazuwischen liegen die Fundamentallösungen (rechts), die eine einigermassen -übersichtliche Zeitentwicklung haben, die Berechnung der Temperatur an -einer Stelle $x$ zur Zeit $t$ ist aber erst durch das Integral -\eqref{buch:graphen:eqn:fundamentalueberlagerung} gegeben. -\label{buch:graphen:fig:fundamental}} -\end{figure} - -\subsection{Fundamentallösungen auf einem Graphen} -Die Wärmeleitungsgleichung auf einem Graphen kann für einen -Standardbasisvektor mit Hilfe der -Lösungsformel~\eqref{buch:graphen:eqn:eigloesung} -gefunden werden. -Aus physikalischen Gründen ist aber offensichtlich, dass die -Wärmeenergie Fundamentallösungen $F_i(t)$ für kurze Zeiten $t$ -in der Nähe des Knoten $i$ konzentriert ist. -Dies ist aber aus der expliziten Formel -\begin{equation} -F_i(t) -= -\sum_{j=1}^n \langle f_j,e_i\rangle e^{-\kappa \lambda_i t} f_j -= -\sum_{j=1}^n \overline{f}_{ji} e^{-\kappa \lambda_i t}, -\label{buch:graphen:eqn:fundamentalgraph} -\end{equation} -nicht unmittelbar erkennbar. - -Man kann aber aus~\eqref{buch:graphen:eqn:fundamentalgraph} ablesen, -dass für zunehmende Zeit die hohen Frequenzen sehr schnell gedämpft -werden. -Die hohen Frequenzen erzeugen also den scharfen Peak für Zeiten nahe -beim Knoten $i$, die zu kleineren $\lambda_i$ beschreiben die Ausbreitung -über grössere Distanzen. -Die Fundamentallösung interpoliert also in einem gewissen Sinne zwischen -den Extremen der Standardbasis und der Eigenbasis. -Die ``Interpolation'' geht von der Differentialgleichung aus, -sie ist nicht einfach nur ein Filter, der die verschiedenen Frequenzen -auf die gleiche Art bearbeitet. - -Gesucht ist eine Methode, eine Familie von Vektoren zu finden, -aus der sich alle Vektoren linear kombinieren lassen, in der aber -auch auf die für die Anwendung interessante Längenskala angepasste -Funktionen gefunden werden können. - -\subsection{Wavelets und Frequenzspektrum} -Eine Wavelet-Basis der Funktionen auf $\mathbb{R}$ zerlegt - - -\subsection{Frequenzspektrum -\label{buch:subsection:frequenzspektrum}} -Die Fundamentallösung der Wärmeleitunsgleichung haben ein Spektrum, welches -wie $e^{-k^2}$ gegen $0$ geht. - -Die Fundamentallösung entsteht dadurch, dass die hohen Frequenzen -schneller dämpft als die tiefen Frequenzen. - - -\subsection{Wavelet-Basen -\label{buch:subsection:}} - - - - - +%
+% wavelets.tex -- Wavelets auf Graphen
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Wavelets auf Graphen
+\label{buch:section:wavelets-auf-graphen}}
+\rhead{Wavelets auf Graphen}
+In Abschnitt~\ref{buch:subsection:standardbasis-und-eigenbasis} wurde
+gezeigt dass die Standardbasis den Zusammenhang zwischen den einzelnen
+Teilen des Graphen völlig ignoriert, während die Eigenbasis Wellen
+beschreibt, die mit vergleichbarer Amplitude sich über den ganzen
+Graphen entsprechen.
+Die Eigenbasis unterdrückt also die ``Individualität'' der einzelnen
+Knoten fast vollständig.
+
+Wenn man einen Standardbasisvektor in einem Knoten $i$
+als Anfangstemperaturverteilung verwendet, erwartet man eine Lösung,
+die für kleine Zeiten $t$ die Energie immer in der Nähe des Knotens $i$
+konzentriert hat.
+Weder die Standardbasis noch die Eigenbasis haben diese Eigenschaft.
+
+\subsection{Vergleich mit der Wärmeleitung auf $\mathbb{R}$}
+Ein ähnliches Phänomen findet man bei der Wärmeausbreitung gemäss
+der partiellen Differentialgleichung
+\[
+\frac{\partial T}{\partial t} = -\kappa \frac{\partial^2 T}{\partial x^2}.
+\]
+Die von Fourier erfundene Methode, die Fourier-Theorie, verwendet die
+Funktionen $e^{ik x}$, die Eigenvektoren der zweiten Ableitung
+$\partial^2/\partial x^2$ sind.
+Diese haben das gleiche Problem, der Betrag von $e^{ikx}$ ist $1$, die
+Entfernung von einem Punkt spielt überhaupt keine Rolle.
+Die Funktion
+\[
+F(x,t)
+=
+\frac{1}{\sqrt{4\pi\kappa t}}e^{-x^2/4\kappa t}
+\]
+ist eine Lösung der Wärmeleitungsgleichung mit einem Maximum an
+der Stelle $0$.
+Sie heisst die Fundamentallösung der Wärmeleitungsgleichung.
+Durch Überlagerung von Translaten in eine Funktion
+\begin{equation}
+f(x,t)
+=
+\int_{-\infty}^\infty f(\xi) F(x-\xi,t)\,d\xi
+\label{buch:graphen:eqn:fundamentalueberlagerung}
+\end{equation}
+kann man die allgemeine Lösung aus Fundamentallösungen zusammensetzen.
+Die Fundamentallösungen $f(x-\xi,t)$ sind für kleine Zeiten immer noch
+deutlich in einer Umgebung von $\xi$ konzentriert.
+
+% XXX Ausbreitung der Fundamentallösung illustrieren
+\begin{figure}
+\centering
+\includegraphics{chapters/70-graphen/images/fundamental.pdf}
+\caption{Vergleich der verschiedenen Funktionenfamilien, mit denen
+Lösungenfunktionen durch Linearkombination erzeugt werden können.
+In der Standarbasis (links) ist es am einfachsten, die Funktionswerte
+abzulesen, in der Eigenbasis (Mitte) kann die zeitliche Entwicklung
+besonders leicht berechnet werden.
+Dazuwischen liegen die Fundamentallösungen (rechts), die eine einigermassen
+übersichtliche Zeitentwicklung haben, die Berechnung der Temperatur an
+einer Stelle $x$ zur Zeit $t$ ist aber erst durch das Integral
+\eqref{buch:graphen:eqn:fundamentalueberlagerung} gegeben.
+\label{buch:graphen:fig:fundamental}}
+\end{figure}
+
+\subsection{Fundamentallösungen auf einem Graphen}
+Die Wärmeleitungsgleichung auf einem Graphen kann für einen
+Standardbasisvektor mit Hilfe der
+Lösungsformel~\eqref{buch:graphen:eqn:eigloesung}
+gefunden werden.
+Aus physikalischen Gründen ist aber offensichtlich, dass die
+Wärmeenergie Fundamentallösungen $F_i(t)$ für kurze Zeiten $t$
+in der Nähe des Knoten $i$ konzentriert ist.
+Dies ist aber aus der expliziten Formel
+\begin{equation}
+F_i(t)
+=
+\sum_{j=1}^n \langle f_j,e_i\rangle e^{-\kappa \lambda_i t} f_j
+=
+\sum_{j=1}^n \overline{f}_{ji} e^{-\kappa \lambda_i t},
+\label{buch:graphen:eqn:fundamentalgraph}
+\end{equation}
+nicht unmittelbar erkennbar.
+
+Man kann aber aus~\eqref{buch:graphen:eqn:fundamentalgraph} ablesen,
+dass für zunehmende Zeit die hohen Frequenzen sehr schnell gedämpft
+werden.
+Die hohen Frequenzen erzeugen also den scharfen Peak für Zeiten nahe
+beim Knoten $i$, die zu kleineren $\lambda_i$ beschreiben die Ausbreitung
+über grössere Distanzen.
+Die Fundamentallösung interpoliert also in einem gewissen Sinne zwischen
+den Extremen der Standardbasis und der Eigenbasis.
+Die ``Interpolation'' geht von der Differentialgleichung aus,
+sie ist nicht einfach nur ein Filter, der die verschiedenen Frequenzen
+auf die gleiche Art bearbeitet.
+
+Gesucht ist eine Methode, eine Familie von Vektoren zu finden,
+aus der sich alle Vektoren linear kombinieren lassen, in der aber
+auch auf die für die Anwendung interessante Längenskala angepasste
+Funktionen gefunden werden können.
+
+\subsection{Wavelets und Frequenzspektrum}
+Eine Wavelet-Basis der Funktionen auf $\mathbb{R}$ zerlegt
+
+
+\subsection{Frequenzspektrum
+\label{buch:subsection:frequenzspektrum}}
+Die Fundamentallösung der Wärmeleitunsgleichung haben ein Spektrum, welches
+wie $e^{-k^2}$ gegen $0$ geht.
+
+Die Fundamentallösung entsteht dadurch, dass die hohen Frequenzen
+schneller dämpft als die tiefen Frequenzen.
+
+
+\subsection{Wavelet-Basen
+\label{buch:subsection:}}
+
+
+
+
+
diff --git a/buch/chapters/90-crypto/aes.tex b/buch/chapters/90-crypto/aes.tex index acdda22..168ff2c 100644 --- a/buch/chapters/90-crypto/aes.tex +++ b/buch/chapters/90-crypto/aes.tex @@ -1,433 +1,433 @@ -% -% aes.tex -- Beschreibung des AES Algorithmus -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Advanced Encryption Standard -- AES -\label{buch:section:aes}} -\rhead{Advanced Encryption Standard} -Eine wichtige Forderung bei der Konzeption des damals neuen -Advanced Encryption Standard war, dass darin keine ``willkürlich'' -erscheinenden Operationen geben darf, bei denen der Verdacht -entstehen könnte, dass sich dahinter noch offengelegtes Wissen -über einen möglichen Angriff auf den Verschlüsselungsalgorithmus -verbergen könnte. -Dies war eine Schwäche des vor AES üblichen DES Verschlüsselungsalgorithmus. -In seiner Definition kommt eine Reihe von Konstanten vor, über deren -Herkunft nichts bekannt war. -Die Gerüchteküche wollte wissen, dass die NSA die Konstanten aus dem -ursprünglichen Vorschlag abgeändert habe, und dass dies geschehen sei, -um den Algorithmus durch die NSA angreifbar zu machen. - -Eine weiter Forderung war, dass die Sicherheit des neuen -Verschlüsselungsstandards ``skalierbar'' sein soll, dass man also -die Schlüssellänge mit der Zeit von 128~Bit auf 196 oder sogar 256~Bit -steigern kann. -Der Standard wird dadurch langlebiger und gleichzeitig entsteht die -Möglichkeit, Sicherheit gegen Rechenleistung einzutauschen. -Weniger leistungsfähige Systeme können den Algorithmus immer noch -nutzen, entweder mit geringerer Verschlüsselungsrate oder geringerer -Sicherheit. - -In diesem Abschnitt soll gezeigt werde, wie sich die AES -spezifizierten Operationen als mit der Arithmetik der -endlichen Körper beschreiben lassen. -Im Abschnitt~\ref{buch:subsection:byte-operationen} werden -Bytes als Elemente in einem endlichen Körper $\mathbb{F}_{2^8}$ -interpretiert. -Damit kann dann die sogenannte $S$-Box konstruiert werden und -es ist leicht zu verstehen, dass sie invertierbar ist. -Aus den Byte-Operationen können dann Mischoperationen erzeugt -werden, die Bytes untereinander verknüpfen, die aber auch wieder -als Operationen in einem endlichen Körper verstanden werden können. - -\subsection{Byte-Operationen -\label{buch:subsection:byte-operationen}} -Moderne Prozessoren operieren auf Wörtern, die Vielfache von Bytes sind. -Byte-Operationen sind besonders effizient in Hardware zu realisieren. -AES verwendet daher als Grundelemente Operationen auf Bytes, die als -Elemente eines endlichen Körpers $\mathbb{F}_{2^8}$ interpretiert werden. - -\subsubsection{Bytes als Elemente von $\mathbb{F}_{2^8}$} -Das Polynom $m(X)=X^8+X^4+X^3+X+1\in \mathbb{F}_2[X]$ ist irreduzibel, -somit ist $\mathbb{F}_{2^8} = \mathbb{F}_2[X]/(m)$ ein Körper. -Die Elemente können dargestellt werden als Polynome, das Byte -$\texttt{63}_{16}$ bekommt die Form -\[ -p(X) = p_7X^7 + p_6X^6 + \dots + p_2X^2+p_1X + p_0, -\] -sie bestehen daher aus den $8$ Bits $p_7,\dots,p_0$. - -Die Interpretation der Bytes als Elemente eines Körpers bedeutet, -dass jede Multiplikation mit einem nicht verschwindenden Byte -invertierbar ist. -Ausserdem mischen diese Operationen die einzelnen Bits auf einigermassen -undurchsichtige, aber umkehrbare Art durcheinander, wie dies für ein -Verschlüsselungsverfahren wünschenswert ist. - -\subsubsection{$S$-Box} -Für die Operation der $S$-Box wird wie folgt zusammengesetzt. -Zunächst wird ein Byte $x$ durch das zugehörige multiplikative -inverse Element -\[ -x\mapsto \bar{x} = \begin{cases} -x^{-1}&\qquad \text{für $x\in \mathbb{F}_{2^8}^*$}\\ -0 &\qquad \text{für $x=0$} -\end{cases} -\] -ersetzt. - -Im zweiten Schritt betrachten wir $\mathbb{F}_{2^8}$ als einen -$8$-dimensionalen Vektorraum über $\mathbb{F}_2$. -Einem Polynom $p(X)=p_7X^7 + \dots + p_1X+p_0$ wird der Spaltenvektor -mit den Komponenten $p_0$ bis $p_7$ zugeordnet. - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/90-crypto/images/sbox.pdf} -\caption{Berechnung der Inversen der Matrix $A$ in der $S$-Box des -AES-Algorithmus mit dem Gauss-Algorithmus -\label{buch:crypto:fig:sbox}} -\end{figure} - -Eine lineare Transformation in diesem Vektorraum kann durch eine -$8\times 8$-Matrix in $M_8(\mathbb{F}_2)$ betrachtet werden. -In der $S$-Box wird die Matrix -\[ -A= -\begin{pmatrix} -1&0&0&0&1&1&1&1\\ -1&1&0&0&0&1&1&1\\ -1&1&1&0&0&0&1&1\\ -1&1&1&1&0&0&0&1\\ -1&1&1&1&1&0&0&0\\ -0&1&1&1&1&1&0&0\\ -0&0&1&1&1&1&1&0\\ -0&0&0&1&1&1&1&1 -\end{pmatrix}, -\qquad -A^{-1} -= -\begin{pmatrix} -0&0&1&0&0&1&0&1\\ -1&0&0&1&0&0&1&0\\ -0&1&0&0&1&0&0&1\\ -1&0&1&0&0&1&0&0\\ -0&1&0&1&0&0&1&0\\ -0&0&1&0&1&0&0&1\\ -1&0&0&1&0&1&0&0\\ -0&1&0&0&1&0&1&0 -\end{pmatrix} -\] -verwendet. -Mit dem Gauss-Algorithmus, schematisch dargestellt in -Abbildung~\ref{buch:crypto:fig:sbox}, kann man die Inverse -bestimmen, die Multiplikation mit $A$ ist also eine invertierbare -Abbildung. - -Der letzte Schritt ist dann wieder eine Addition von -$q(X)=X^7+X^6+X+1\in \mathbb{F}_{2^8}$, durch Subtraktion -von $q(X)$ invertiert werden kann. -Die $S$-Box-Operation kann also bektoriell geschrieben werden also -\[ - S(x) = A\overline{x}+q. -\] - -Die Implementation ist möglicherweise mit einer Tabelle am schnellsten, -es sind ja nur 256 Bytes im Definitionsbereich der $S$-Box-Abbildung -und ebenso nur 256 möglich Werte. - -\subsection{Block-Operationen -\label{buch:subsection:block-operationen}} -Die zu verschlüsselnden Daten werden in in Blöcke aufgeteilt, deren -Länge Vielfache von $32$ bit sind. -Die kleinste Blockgrösse ist 128\,Bit, die grösste ist 256\,Bit. -Die Bytes eines Blockes werden dann in einem Rechteck angeordnet -als -\begin{equation} -\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} -\hline - b_{0} & b_{4} & b_{8} & b_{12} & b_{16} & b_{20} & b_{24} & b_{28} \\ - b_{1} & b_{5} & b_{9} & b_{13} & b_{17} & b_{21} & b_{25} & b_{29} \\ - b_{2} & b_{6} & b_{10} & b_{14} & b_{18} & b_{22} & b_{26} & b_{30} \\ - b_{3} & b_{7} & b_{11} & b_{15} & b_{19} & b_{23} & b_{27} & b_{31} \\ -\hline -\end{tabular} -\label{buch:crypto:eqn:block} -\end{equation} -für eine Blocklänge von 256\,Bits. - - - -\subsubsection{Zeilenshift} -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/90-crypto/images/shift.pdf} -\caption{Zeilenshift in einem Block von 256 bits -\label{buch:crypto:fig:shift}} -\end{figure} -Die Verschlüsselung muss sicherstellen, dass die Bytes des Blockes -untereinander gut gemischt werden. -Die bisher beschriebenen Operationen operieren immer nur auf einzelnen -Bytes während -die im nächsten Abschnitt beschriebene Spalten-Mischoperation -nur auf Spalten wird. -Die Zeilenmischoperation permutiert die Zeilen in den vier Zeilen -eines Blocks zyklisch, die erste Zeile bleibt an Ort, die zweite -Zeile wird um ein Byte rotiert, die dritte um zwei und die letzte -um 3 Bytes, wie in Abbildung~\ref{buch:crypto:fig:zeilenshift} -dargestellt. -Diese Operation könnte mit einer Permutationsmatrix beschrieben werden, -dies wäre jedoch keine effiziente Implementation. -Der Zeilenschift hat ansonsten keine elegante algebraische Beschreibung. - -\subsubsection{Spalten mischen} -Jede Spalte von \eqref{buch:crypto:eqn:block} kann als Vektor des -vierdimensionalen Vektorraumes $\mathbb{F}_{2^8}^4$. -Die Zeilenmischoperation wendet ein lineare Abbildung auf jeden -Spaltenvektor von~\eqref{buch:crypto:eqn:block}. -Die Koeffizienten der Matrix sind Elemente von $\mathbb{F}_{2^8}$. -Die Matrix ist -\[ -C=\begin{pmatrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16} -\end{pmatrix}. -\] -Um nachzuprüfen, dass die Matrix $C$ invertierbar ist, könnte man den -Gauss-Algorithmus verwenden und damit die Inverse berechnen. -Dazu müsste man die multiplikativen Inversen kennen, was etwas mühsam -ist. -Man kann aber aber auch die Determinante bestimmen, dazu braucht man -nur multiplizieren zu können, was in diesem Fall sehr leicht möglich ist, -weil kein Überlauf entsteht. -Dabei hilft es zu beachten, dass die Multiplikation mit $\texttt{02}_{16}$ -nur eine Einbit-Shiftoperation nach links ist. -Nur die Multiplikation $\texttt{03}_{16}\cdot\texttt{03}_{16}=\text{05}_{16}$ -gibt etwas mehr zu überlegen. -Mit geeigneten Zeilen-Operationen kann man die Berechnung der Determinante -von $C$ mit dem Entwicklungssatz etwas vereinfachen. -Man erhält -\begin{align*} -\det(C) -&= -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -\left( -\texttt{02}_{16} -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}\\ -\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\right) -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -( -\texttt{02}_{16}(\texttt{04}_{16}+\texttt{05}_{16}) -+ -(\texttt{06}_{16}+\texttt{03}_{16}) -) -+ -\texttt{03}_{16}\texttt{03}_{16} -\\ -&= -\texttt{02}_{16} -( -\texttt{02}_{16} -+ -\texttt{05}_{16} -) -+ -\texttt{05}_{16} -= -\texttt{0e}_{16}+\texttt{05}_{16} -= -\texttt{0a}_{16} -\ne 0. -\end{align*} -Damit ist gezeigt, dass die Matrix $C$ invertierbar auf den -Spaltenvektoren wirkt. -Die Inverse der Matrix kann einmal berechnet und anschliessend -für die Entschlüsselung verwendet werden. - -Alternativ kann man die Multiplikation mit der Matrix $C$ auch -interpretieren als eine Polynommultiplikation. -Dazu interpretiert man die Spalten des Blocks als Polynom vom Grad~3 -mit Koeffizienten in $\mathbb{F}_{2^8}$. -Durch Reduktion mit dem irreduziblen Polynom -$n(Z)=Z^4+1\in\mathbb{F}_{2^8}[X]$ entsteht aus dem Polynomring -wieder ein Körper. -Die Wirkung der Matrix $C$ ist dann nichts anderes als Multiplikation -mit dem Polynom -\[ -c(Z) = \texttt{03}_{16}Z^3 + Z^2+Z^1+\texttt{02}_{16}, -\] -die natürlich ebenfalls umkehrbar ist. - -\subsection{Schlüssel -\label{buch:subsection:schlüssel}} -Die von den Byte- und Blockoperationen mischen die einzelnen Bits -der Daten zwar ganz schön durcheinander, aber es wird noch kein -Schlüsselmaterial eingearbeitet, welches den Prozess einzigartig -macht. - -\subsubsection{Schlüsseladdition} -Nach jeder Spaltenmischoperation wird ein Rundenschlüssel -zum Blockhinzuaddiert. -Beim ersten Mal wird dazu einfach das Schlüsselmaterial verwendet. -Für die folgenden Runden muss aus diesem Schlüssel neues -Material, die sogenannten Rundenschlüssel, gewonnen werden. - -\subsubsection{Rundenschlüssel} -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/keys.pdf} -\caption{Erzeugung der erweiterten Schlüsseldaten aus dem Schlüssel -$K_0,\dots,K_7$ für Schlüssellänge 256\,bit. -Die mit $S$ beschrifteten Blöcke wenden die $S$-Box auf jedes einzelne -Byte an. -$\pi$ ist die zyklische Vertauschung der Bytes eines Wortes. -Die Operation $r_i$ ist eine Addition einer Konstanten, die in jeder -Runde anders ist. -\label{buch:crypto:fig:keys}} -\end{figure} -Die Erzeugung der Rundenschlüssel ist in Abbildung -\ref{buch:crypto:fig:keys} -schematisch dargestellt. -Die Blöcke beschreiben wieder Spaltenvektoren im vierdimensionalen -Raum $\mathbb{F}_{2^8}^4$. -Die Blöcke $K_0$ bis $K_7$ stellen den ursprünglichen Schlüssel dar. -Die Erzeugung eines neuen Blocks Schlüsselmatrial beginnt damit, -dass der letzte Vektor des vorangegangenblocks drei Operationen -unterworfen werden. -\begin{itemize} -\item -Die Operation $\pi$ vertauscht die Bytes des Vektors zyklisch: -\begin{center} -\begin{tikzpicture}[>=latex,thick] -\def\s{0.6} -\begin{scope} -\draw (0,0) rectangle (\s,{4*\s}); -\foreach \y in {1,...,3}{ - \draw (0,{\y*\s}) (\s,{\y*\s}); -} -\node at ({0.5*\s},{0.5*\s}) {$b_3$}; -\node at ({0.5*\s},{1.5*\s}) {$b_2$}; -\node at ({0.5*\s},{2.5*\s}) {$b_1$}; -\node at ({0.5*\s},{3.5*\s}) {$b_0$}; -\end{scope} -\draw[->] ({1.1*\s},{2*\s}) -- ({4.9*\s},{2*\s}); -\node at ({3*\s},{2*\s}) [above] {$\pi$}; -\begin{scope}[xshift=3cm] -\draw (0,0) rectangle (\s,{4*\s}); -\foreach \y in {1,...,3}{ - \draw (0,{\y*\s}) (\s,{\y*\s}); -} -\node at ({0.5*\s},{0.5*\s}) {$b_0$}; -\node at ({0.5*\s},{1.5*\s}) {$b_3$}; -\node at ({0.5*\s},{2.5*\s}) {$b_2$}; -\node at ({0.5*\s},{3.5*\s}) {$b_1$}; -\end{scope} -\end{tikzpicture} -\end{center} -\item -Die $S$-Operation wendet die $S$-Box auf alle Bytes eines Vektors an. -\item -Die $r_i$ Operation addiert in Runde eine Konstante $r_i$ zur $0$-Komponente. -\end{itemize} -Die Konstante $r_i$ ist wieder ein einzelnes Byte und es ist daher -naheliegend, diese Bytes mit Hilfe der Arithmetik in $\mathbb{F}_{2^8}$ -zu erzeugen. -Man kann daher $r_i$ definieren als -$(\texttt{02}_{16})^{i-1}\in\mathbb{F}_{2^8}$. - -\subsection{Runden} -Der AES-Verschlüsselungsalgorithmus besteht jetzt darin, die bisher -definierten Operationen wiederholt anzuwenden. -Eine einzelne Runde besteht dabei aus folgenden Schritten: -\begin{enumerate} -\item Wende die $S$-Box auf alle Bytes des Blocks an. -\item Führe den Zeilenshift durch. -\item Mische die Spalten (wird in der letzten Runde) -\item Erzeuge den nächsten Rundenschlüssel -\item Addiere den Rundenschlüssel -\end{enumerate} -Der AES-Verschlüsselungsalgorithmus beginnt damit, dass der Schlüssel -zum Datenblock addiert wird. -Anschliessend werden je nach Blocklänge verschiedene Anzahlen von -Runden durchgeführt, 10 Runden für 128\,bit, 12 Runden für 192\,bit und -14 Runden für 256\,bit. - - - - - +%
+% aes.tex -- Beschreibung des AES Algorithmus
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Advanced Encryption Standard -- AES
+\label{buch:section:aes}}
+\rhead{Advanced Encryption Standard}
+Eine wichtige Forderung bei der Konzeption des damals neuen
+Advanced Encryption Standard war, dass darin keine ``willkürlich''
+erscheinenden Operationen geben darf, bei denen der Verdacht
+entstehen könnte, dass sich dahinter noch offengelegtes Wissen
+über einen möglichen Angriff auf den Verschlüsselungsalgorithmus
+verbergen könnte.
+Dies war eine Schwäche des vor AES üblichen DES Verschlüsselungsalgorithmus.
+In seiner Definition kommt eine Reihe von Konstanten vor, über deren
+Herkunft nichts bekannt war.
+Die Gerüchteküche wollte wissen, dass die NSA die Konstanten aus dem
+ursprünglichen Vorschlag abgeändert habe, und dass dies geschehen sei,
+um den Algorithmus durch die NSA angreifbar zu machen.
+
+Eine weiter Forderung war, dass die Sicherheit des neuen
+Verschlüsselungsstandards ``skalierbar'' sein soll, dass man also
+die Schlüssellänge mit der Zeit von 128~Bit auf 196 oder sogar 256~Bit
+steigern kann.
+Der Standard wird dadurch langlebiger und gleichzeitig entsteht die
+Möglichkeit, Sicherheit gegen Rechenleistung einzutauschen.
+Weniger leistungsfähige Systeme können den Algorithmus immer noch
+nutzen, entweder mit geringerer Verschlüsselungsrate oder geringerer
+Sicherheit.
+
+In diesem Abschnitt soll gezeigt werde, wie sich die AES
+spezifizierten Operationen als mit der Arithmetik der
+endlichen Körper beschreiben lassen.
+Im Abschnitt~\ref{buch:subsection:byte-operationen} werden
+Bytes als Elemente in einem endlichen Körper $\mathbb{F}_{2^8}$
+interpretiert.
+Damit kann dann die sogenannte $S$-Box konstruiert werden und
+es ist leicht zu verstehen, dass sie invertierbar ist.
+Aus den Byte-Operationen können dann Mischoperationen erzeugt
+werden, die Bytes untereinander verknüpfen, die aber auch wieder
+als Operationen in einem endlichen Körper verstanden werden können.
+
+\subsection{Byte-Operationen
+\label{buch:subsection:byte-operationen}}
+Moderne Prozessoren operieren auf Wörtern, die Vielfache von Bytes sind.
+Byte-Operationen sind besonders effizient in Hardware zu realisieren.
+AES verwendet daher als Grundelemente Operationen auf Bytes, die als
+Elemente eines endlichen Körpers $\mathbb{F}_{2^8}$ interpretiert werden.
+
+\subsubsection{Bytes als Elemente von $\mathbb{F}_{2^8}$}
+Das Polynom $m(X)=X^8+X^4+X^3+X+1\in \mathbb{F}_2[X]$ ist irreduzibel,
+somit ist $\mathbb{F}_{2^8} = \mathbb{F}_2[X]/(m)$ ein Körper.
+Die Elemente können dargestellt werden als Polynome, das Byte
+$\texttt{63}_{16}$ bekommt die Form
+\[
+p(X) = p_7X^7 + p_6X^6 + \dots + p_2X^2+p_1X + p_0,
+\]
+sie bestehen daher aus den $8$ Bits $p_7,\dots,p_0$.
+
+Die Interpretation der Bytes als Elemente eines Körpers bedeutet,
+dass jede Multiplikation mit einem nicht verschwindenden Byte
+invertierbar ist.
+Ausserdem mischen diese Operationen die einzelnen Bits auf einigermassen
+undurchsichtige, aber umkehrbare Art durcheinander, wie dies für ein
+Verschlüsselungsverfahren wünschenswert ist.
+
+\subsubsection{$S$-Box}
+Für die Operation der $S$-Box wird wie folgt zusammengesetzt.
+Zunächst wird ein Byte $x$ durch das zugehörige multiplikative
+inverse Element
+\[
+x\mapsto \bar{x} = \begin{cases}
+x^{-1}&\qquad \text{für $x\in \mathbb{F}_{2^8}^*$}\\
+0 &\qquad \text{für $x=0$}
+\end{cases}
+\]
+ersetzt.
+
+Im zweiten Schritt betrachten wir $\mathbb{F}_{2^8}$ als einen
+$8$-dimensionalen Vektorraum über $\mathbb{F}_2$.
+Einem Polynom $p(X)=p_7X^7 + \dots + p_1X+p_0$ wird der Spaltenvektor
+mit den Komponenten $p_0$ bis $p_7$ zugeordnet.
+
+\begin{figure}
+\centering
+\includegraphics[width=\textwidth]{chapters/90-crypto/images/sbox.pdf}
+\caption{Berechnung der Inversen der Matrix $A$ in der $S$-Box des
+AES-Algorithmus mit dem Gauss-Algorithmus
+\label{buch:crypto:fig:sbox}}
+\end{figure}
+
+Eine lineare Transformation in diesem Vektorraum kann durch eine
+$8\times 8$-Matrix in $M_8(\mathbb{F}_2)$ betrachtet werden.
+In der $S$-Box wird die Matrix
+\[
+A=
+\begin{pmatrix}
+1&0&0&0&1&1&1&1\\
+1&1&0&0&0&1&1&1\\
+1&1&1&0&0&0&1&1\\
+1&1&1&1&0&0&0&1\\
+1&1&1&1&1&0&0&0\\
+0&1&1&1&1&1&0&0\\
+0&0&1&1&1&1&1&0\\
+0&0&0&1&1&1&1&1
+\end{pmatrix},
+\qquad
+A^{-1}
+=
+\begin{pmatrix}
+0&0&1&0&0&1&0&1\\
+1&0&0&1&0&0&1&0\\
+0&1&0&0&1&0&0&1\\
+1&0&1&0&0&1&0&0\\
+0&1&0&1&0&0&1&0\\
+0&0&1&0&1&0&0&1\\
+1&0&0&1&0&1&0&0\\
+0&1&0&0&1&0&1&0
+\end{pmatrix}
+\]
+verwendet.
+Mit dem Gauss-Algorithmus, schematisch dargestellt in
+Abbildung~\ref{buch:crypto:fig:sbox}, kann man die Inverse
+bestimmen, die Multiplikation mit $A$ ist also eine invertierbare
+Abbildung.
+
+Der letzte Schritt ist dann wieder eine Addition von
+$q(X)=X^7+X^6+X+1\in \mathbb{F}_{2^8}$, durch Subtraktion
+von $q(X)$ invertiert werden kann.
+Die $S$-Box-Operation kann also bektoriell geschrieben werden also
+\[
+ S(x) = A\overline{x}+q.
+\]
+
+Die Implementation ist möglicherweise mit einer Tabelle am schnellsten,
+es sind ja nur 256 Bytes im Definitionsbereich der $S$-Box-Abbildung
+und ebenso nur 256 möglich Werte.
+
+\subsection{Block-Operationen
+\label{buch:subsection:block-operationen}}
+Die zu verschlüsselnden Daten werden in in Blöcke aufgeteilt, deren
+Länge Vielfache von $32$ bit sind.
+Die kleinste Blockgrösse ist 128\,Bit, die grösste ist 256\,Bit.
+Die Bytes eines Blockes werden dann in einem Rechteck angeordnet
+als
+\begin{equation}
+\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|}
+\hline
+ b_{0} & b_{4} & b_{8} & b_{12} & b_{16} & b_{20} & b_{24} & b_{28} \\
+ b_{1} & b_{5} & b_{9} & b_{13} & b_{17} & b_{21} & b_{25} & b_{29} \\
+ b_{2} & b_{6} & b_{10} & b_{14} & b_{18} & b_{22} & b_{26} & b_{30} \\
+ b_{3} & b_{7} & b_{11} & b_{15} & b_{19} & b_{23} & b_{27} & b_{31} \\
+\hline
+\end{tabular}
+\label{buch:crypto:eqn:block}
+\end{equation}
+für eine Blocklänge von 256\,Bits.
+
+
+
+\subsubsection{Zeilenshift}
+\begin{figure}
+\centering
+\includegraphics[width=\textwidth]{chapters/90-crypto/images/shift.pdf}
+\caption{Zeilenshift in einem Block von 256 bits
+\label{buch:crypto:fig:shift}}
+\end{figure}
+Die Verschlüsselung muss sicherstellen, dass die Bytes des Blockes
+untereinander gut gemischt werden.
+Die bisher beschriebenen Operationen operieren immer nur auf einzelnen
+Bytes während
+die im nächsten Abschnitt beschriebene Spalten-Mischoperation
+nur auf Spalten wird.
+Die Zeilenmischoperation permutiert die Zeilen in den vier Zeilen
+eines Blocks zyklisch, die erste Zeile bleibt an Ort, die zweite
+Zeile wird um ein Byte rotiert, die dritte um zwei und die letzte
+um 3 Bytes, wie in Abbildung~\ref{buch:crypto:fig:zeilenshift}
+dargestellt.
+Diese Operation könnte mit einer Permutationsmatrix beschrieben werden,
+dies wäre jedoch keine effiziente Implementation.
+Der Zeilenschift hat ansonsten keine elegante algebraische Beschreibung.
+
+\subsubsection{Spalten mischen}
+Jede Spalte von \eqref{buch:crypto:eqn:block} kann als Vektor des
+vierdimensionalen Vektorraumes $\mathbb{F}_{2^8}^4$.
+Die Zeilenmischoperation wendet ein lineare Abbildung auf jeden
+Spaltenvektor von~\eqref{buch:crypto:eqn:block}.
+Die Koeffizienten der Matrix sind Elemente von $\mathbb{F}_{2^8}$.
+Die Matrix ist
+\[
+C=\begin{pmatrix}
+\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\
+\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\
+\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}
+\end{pmatrix}.
+\]
+Um nachzuprüfen, dass die Matrix $C$ invertierbar ist, könnte man den
+Gauss-Algorithmus verwenden und damit die Inverse berechnen.
+Dazu müsste man die multiplikativen Inversen kennen, was etwas mühsam
+ist.
+Man kann aber aber auch die Determinante bestimmen, dazu braucht man
+nur multiplizieren zu können, was in diesem Fall sehr leicht möglich ist,
+weil kein Überlauf entsteht.
+Dabei hilft es zu beachten, dass die Multiplikation mit $\texttt{02}_{16}$
+nur eine Einbit-Shiftoperation nach links ist.
+Nur die Multiplikation $\texttt{03}_{16}\cdot\texttt{03}_{16}=\text{05}_{16}$
+gibt etwas mehr zu überlegen.
+Mit geeigneten Zeilen-Operationen kann man die Berechnung der Determinante
+von $C$ mit dem Entwicklungssatz etwas vereinfachen.
+Man erhält
+\begin{align*}
+\det(C)
+&=
+\left|
+\begin{matrix}
+\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\
+\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\
+\texttt{00}_{16}&\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
+\\
+&=
+\texttt{02}_{16}
+\left|
+\begin{matrix}
+\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
++
+\texttt{01}_{16}
+\left|
+\begin{matrix}
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
+\\
+&=
+\texttt{02}_{16}
+\left|
+\begin{matrix}
+\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\
+\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
++
+\texttt{01}_{16}
+\left|
+\begin{matrix}
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\
+\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
+\\
+&=
+\texttt{02}_{16}
+\left(
+\texttt{02}_{16}
+\left|
+\begin{matrix}
+\texttt{02}_{16}&\texttt{03}_{16}\\
+\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
++
+\texttt{01}_{16}
+\left|
+\begin{matrix}
+\texttt{03}_{16}&\texttt{01}_{16}\\
+\texttt{03}_{16}&\texttt{02}_{16}
+\end{matrix}
+\right|
+\right)
++
+\texttt{01}_{16}
+\left|
+\begin{matrix}
+\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\
+\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}\\
+\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16}
+\end{matrix}
+\right|
+\\
+&=
+\texttt{02}_{16}
+(
+\texttt{02}_{16}(\texttt{04}_{16}+\texttt{05}_{16})
++
+(\texttt{06}_{16}+\texttt{03}_{16})
+)
++
+\texttt{03}_{16}\texttt{03}_{16}
+\\
+&=
+\texttt{02}_{16}
+(
+\texttt{02}_{16}
++
+\texttt{05}_{16}
+)
++
+\texttt{05}_{16}
+=
+\texttt{0e}_{16}+\texttt{05}_{16}
+=
+\texttt{0a}_{16}
+\ne 0.
+\end{align*}
+Damit ist gezeigt, dass die Matrix $C$ invertierbar auf den
+Spaltenvektoren wirkt.
+Die Inverse der Matrix kann einmal berechnet und anschliessend
+für die Entschlüsselung verwendet werden.
+
+Alternativ kann man die Multiplikation mit der Matrix $C$ auch
+interpretieren als eine Polynommultiplikation.
+Dazu interpretiert man die Spalten des Blocks als Polynom vom Grad~3
+mit Koeffizienten in $\mathbb{F}_{2^8}$.
+Durch Reduktion mit dem irreduziblen Polynom
+$n(Z)=Z^4+1\in\mathbb{F}_{2^8}[X]$ entsteht aus dem Polynomring
+wieder ein Körper.
+Die Wirkung der Matrix $C$ ist dann nichts anderes als Multiplikation
+mit dem Polynom
+\[
+c(Z) = \texttt{03}_{16}Z^3 + Z^2+Z^1+\texttt{02}_{16},
+\]
+die natürlich ebenfalls umkehrbar ist.
+
+\subsection{Schlüssel
+\label{buch:subsection:schlüssel}}
+Die von den Byte- und Blockoperationen mischen die einzelnen Bits
+der Daten zwar ganz schön durcheinander, aber es wird noch kein
+Schlüsselmaterial eingearbeitet, welches den Prozess einzigartig
+macht.
+
+\subsubsection{Schlüsseladdition}
+Nach jeder Spaltenmischoperation wird ein Rundenschlüssel
+zum Blockhinzuaddiert.
+Beim ersten Mal wird dazu einfach das Schlüsselmaterial verwendet.
+Für die folgenden Runden muss aus diesem Schlüssel neues
+Material, die sogenannten Rundenschlüssel, gewonnen werden.
+
+\subsubsection{Rundenschlüssel}
+\begin{figure}
+\centering
+\includegraphics{chapters/90-crypto/images/keys.pdf}
+\caption{Erzeugung der erweiterten Schlüsseldaten aus dem Schlüssel
+$K_0,\dots,K_7$ für Schlüssellänge 256\,bit.
+Die mit $S$ beschrifteten Blöcke wenden die $S$-Box auf jedes einzelne
+Byte an.
+$\pi$ ist die zyklische Vertauschung der Bytes eines Wortes.
+Die Operation $r_i$ ist eine Addition einer Konstanten, die in jeder
+Runde anders ist.
+\label{buch:crypto:fig:keys}}
+\end{figure}
+Die Erzeugung der Rundenschlüssel ist in Abbildung
+\ref{buch:crypto:fig:keys}
+schematisch dargestellt.
+Die Blöcke beschreiben wieder Spaltenvektoren im vierdimensionalen
+Raum $\mathbb{F}_{2^8}^4$.
+Die Blöcke $K_0$ bis $K_7$ stellen den ursprünglichen Schlüssel dar.
+Die Erzeugung eines neuen Blocks Schlüsselmatrial beginnt damit,
+dass der letzte Vektor des vorangegangenblocks drei Operationen
+unterworfen werden.
+\begin{itemize}
+\item
+Die Operation $\pi$ vertauscht die Bytes des Vektors zyklisch:
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\def\s{0.6}
+\begin{scope}
+\draw (0,0) rectangle (\s,{4*\s});
+\foreach \y in {1,...,3}{
+ \draw (0,{\y*\s}) (\s,{\y*\s});
+}
+\node at ({0.5*\s},{0.5*\s}) {$b_3$};
+\node at ({0.5*\s},{1.5*\s}) {$b_2$};
+\node at ({0.5*\s},{2.5*\s}) {$b_1$};
+\node at ({0.5*\s},{3.5*\s}) {$b_0$};
+\end{scope}
+\draw[->] ({1.1*\s},{2*\s}) -- ({4.9*\s},{2*\s});
+\node at ({3*\s},{2*\s}) [above] {$\pi$};
+\begin{scope}[xshift=3cm]
+\draw (0,0) rectangle (\s,{4*\s});
+\foreach \y in {1,...,3}{
+ \draw (0,{\y*\s}) (\s,{\y*\s});
+}
+\node at ({0.5*\s},{0.5*\s}) {$b_0$};
+\node at ({0.5*\s},{1.5*\s}) {$b_3$};
+\node at ({0.5*\s},{2.5*\s}) {$b_2$};
+\node at ({0.5*\s},{3.5*\s}) {$b_1$};
+\end{scope}
+\end{tikzpicture}
+\end{center}
+\item
+Die $S$-Operation wendet die $S$-Box auf alle Bytes eines Vektors an.
+\item
+Die $r_i$ Operation addiert in Runde eine Konstante $r_i$ zur $0$-Komponente.
+\end{itemize}
+Die Konstante $r_i$ ist wieder ein einzelnes Byte und es ist daher
+naheliegend, diese Bytes mit Hilfe der Arithmetik in $\mathbb{F}_{2^8}$
+zu erzeugen.
+Man kann daher $r_i$ definieren als
+$(\texttt{02}_{16})^{i-1}\in\mathbb{F}_{2^8}$.
+
+\subsection{Runden}
+Der AES-Verschlüsselungsalgorithmus besteht jetzt darin, die bisher
+definierten Operationen wiederholt anzuwenden.
+Eine einzelne Runde besteht dabei aus folgenden Schritten:
+\begin{enumerate}
+\item Wende die $S$-Box auf alle Bytes des Blocks an.
+\item Führe den Zeilenshift durch.
+\item Mische die Spalten (wird in der letzten Runde)
+\item Erzeuge den nächsten Rundenschlüssel
+\item Addiere den Rundenschlüssel
+\end{enumerate}
+Der AES-Verschlüsselungsalgorithmus beginnt damit, dass der Schlüssel
+zum Datenblock addiert wird.
+Anschliessend werden je nach Blocklänge verschiedene Anzahlen von
+Runden durchgeführt, 10 Runden für 128\,bit, 12 Runden für 192\,bit und
+14 Runden für 256\,bit.
+
+
+
+
+
diff --git a/buch/chapters/90-crypto/arith.tex b/buch/chapters/90-crypto/arith.tex index 44eb6bb..3386fc0 100644 --- a/buch/chapters/90-crypto/arith.tex +++ b/buch/chapters/90-crypto/arith.tex @@ -1,295 +1,295 @@ -% -% arith.tex -% -% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Arithmetik für die Kryptographie -\label{buch:section:arithmetik-fuer-kryptographie}} -\rhead{Arithmetik für die Kryptographie} -Die Algorithmen der mathematischen Kryptographie basieren -auf den Rechenoperationen in grossen, aber endlichen Körpern. -Für die Division liefert der euklidische Algorithmus eine -Methode, der in so vielen Schritten die Inverse findet, -wie Dividend und Divisor Binärstellen haben. -Dies ist weitgehend optimal. - -Die Division ist umkehrbar, in der Kryptographie strebt man aber an, -Funktionen zu konstruieren, die nur mit grossem Aufwand umkehrbar sind. -Eine solche Funktion ist das Potenzieren in einem endlichen Körper. -Die Berechnung von Potenzen durch wiederholte Multiplikation ist jedoch -prohibitiv aufwendig, daher ist ein schneller Potenzierungsalgorithmus -nötig, der in Abschnitt~\ref{buch:subsection:potenzieren} beschrieben -wird. -Bei der Verschlüsselung grosser Datenmengen wie zum Beispiel bei -der Verschlüsselung ganzer Harddisks mit Hilfe des AES-Algorithmus -kommt es auf die Geschwindigkeit auch der elementarsten Operationen -in den endlichen Körpern an. -Solche Methoden werden in den Abschnitten -\ref{buch:subsection:rechenoperationen-in-fp} -und -\ref{buch:subsection:rechenoperatione-in-f2l} -besprochen. - -\subsection{Potenzieren -\label{buch:subsection:potenzieren}} -Wir gehen davon aus, dass wir einen schnellen Algorithmus zur -Berechnung des Produktes zweier Elemente $a,b$ in einer -beliebigen Gruppe $G$ haben. -Die Gruppe $G$ kann die Multiplikation der ganzen oder reellen Zahlen -sein, dies wird zum Beispiel in Implementation der Potenzfunktion -verwendet. -Für kryptographische Anwendungen ist $G$ die multiplikative Gruppe -eines endlichen Körpers oder eine elliptische Kurve. - -Zur Berechnung von $a^k$ sind bei einer naiven Durchführung des -Algorithmus $k-1$ Multiplikationen nötig, immer sofort gefolgt -von einer Reduktion $\mod p$ um sicherzustellen, dass die Resultate -nicht zu gross werden. -Ist $l$ die Anzahl der Binärstellen von $k$, dann benötigt dieser -naive Algorithmus $O(2^l)$ Multiplikationen, die Laufzeit wächst -also exponentiell mit der Bitlänge von $k$ an. -Der nachfolgend beschriebene Algorithmus reduziert die Laufzeit auf -die $O(l)$. - -Zunächst schreiben wir den Exponenten $k$ in binärer Form als -\[ -k = k_l2^l + k_{l-1}2^{l-1} + \dots k_22^2+k_12^1 k_02^0. -\] -Die Potenz $a^k$ kann dann geschrieben werden als -\[ -a^k -= -a^{k_l2^l} \cdot a^{k_{l-1}2^{l-1}} \cdot \dots \cdot -a^{k_22^2} \cdot a^{k_12^1} \cdot a^{k_02^0} -\] -Nur diejenigen Faktoren tragen etwas bei, für die $k_i\ne 0$ ist. -Die Potenz kann man daher auch schreiben als -\[ -a^k -= -\prod_{k_i\ne 0} a^{2^i}. -\] -Es sind also nur so viele Faktoren zu berücksichtigen, wie $k$ -Binärstellen $1$ hat. - -Die einzelnen Faktoren $a^{2^i}$ können durch wiederholtes Quadrieren -erhalten werden: -\[ -a^{2^i} = a^{2\cdot 2^{i-1}} = (a^{2^{i-1}})^2, -\] -also durch maximal $l-1$ Multiplikationen. -Wenn $k$ keine Ganzzahl ist sondern binäre Nachkommastellen hat, also -\[ -k=k_l2^l + \dots + k_12^1 + k_02^0 + k_{-1}2^{-1} + k_{-2}2^{-2}+\dots, -\] -dann können die Potenzen $a^{2^{-i}}$ durch wiederholtes Wurzelziehen -\[ -a^{2^{-i}} = a^{\frac12\cdot 2^{-i+1}} = \sqrt{a^{2^{-i+1}}} -\] -gefunden werden. -Die Berechnung der Quadratwurzel lässt sich in Hardware effizient -implementieren. - -\begin{algorithmus} -Der folgende Algorithmsu berechnet $a^k$ in $O(\log_2(k))$ -Multiplikationen -\begin{enumerate} -\item Initialisiere $p=1$ und $q=a$ -\item Falls $k$ ungerade ist, setze $p:=p\cdot q$ -\item Setze $q:=q^2$ und $k := k/2$, wobei die ganzzahlige Division durch $2$ -am effizientesten als Rechtsshift implementiert werden kann. -\item Falls $k>0$, fahre weiter bei 2. -\end{enumerate} -\end{algorithmus} - -\begin{beispiel} -Die Berechnung von $1.1^{17}$ mit diesem Algorithmus ergibt -\begin{enumerate} -\item $p=1$, $q=1.1$ -\item $k$ ist ungerade: $p:=1.1$ -\item $q:=q^2=1.21$, $k := 8$ -\item $k$ ist gerade -\item $q:=q^2=1.4641$, $k := 4$ -\item $k$ ist gerade -\item $q:=q^2=2.14358881$, $k := 2$ -\item $k$ ist gerade -\item $q:=q^2=4.5949729863572161$, $k := 1$ -\item $k$ ist ungerade: $p:=1.1\cdot p = 5.05447028499293771$ -\item $k:=0$ -\end{enumerate} -Multiplikationen sind nur nötig in den Schritten 3, 5, 7, 9, 10, es -werden also genau $5$ Multiplikationen ausgeführt. -\end{beispiel} - -\subsection{Rechenoperationen in $\mathbb{F}_p$ -\label{buch:subsection:rechenoperationen-in-fp}} -Die Multiplikation macht aus zwei Faktoren $a$ und $b$ ein -Resultat mit Bitlänge $\log_2 a+\log_2 b$, die Bitlänge wird -also typischerweise verdoppelt. -In $\mathbb{F}_p$ muss anschliessend das Resultat $\mod p$ -reduziert werden, so dass die Bitlänge wieder höchstens -$\log_2p$ ist. -In folgenden soll gezeigt werden, dass dieser Speicheraufwand -für eine Binärimplementation deutlich reduziert werden kann, -wenn die Reihenfolge der Operationen modifiziert wird. - -Für die Multiplikation von $41\cdot 47$ rechnet man im Binärsystem -\begin{center} -\begin{tabular}{>{$}r<{$}} -\texttt{{\color{darkgreen}1}0{\color{red}1}001}\cdot\texttt{101111}\\ -\hline -\texttt{101111}\\ -\texttt{{\color{red}101111}\phantom{000}}\\ -\texttt{{\color{darkgreen}101111}\phantom{00000}}\\ -\hline -\texttt{11110000111}\\ -\hline -\end{tabular} -\end{center} -In $\mathbb{F}_{53}$ muss im Anschluss Modulo $p=53$ reduziert werden. - -Der Speicheraufwand entsteht zunächst dadurch, dass durch die Multiplikation -mit $2$ die Summanden immer länger werden. -Man kann den die Sumanden kurz halten, indem man jedesmal, wenn -der Summand nach der Multiplikation mit $2$ grösser als $p$ geworden ist, -$p$ subtrahiert (Abbildung~\ref{buch:crypto:fig:reduktion}). -Ebenso kann bei nach jeder Addition das bereits reduzierten zweiten -Faktors wieder reduziert werden. -Die Anzahl der nötigen Reduktionsoperationen wird durch diese -frühzeitig durchgeführten Reduktionen nicht teurer als bei der Durchführung -des Divisionsalgorithmus. - -\begin{figure} -\begin{center} -\begin{tabular}{>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}} -\text{Multiplikation mit $2$}&\text{Reduktion?}&\text{reduziert} - &\text{Summanden}&\text{Summe}&\text{reduziert} -\\ -\hline -\texttt{101111} & &\texttt{101111} - &\texttt{101111}&\texttt{101111}&\texttt{101111} -\\ -\texttt{101111\phantom{0}} &\texttt{{\color{red}1011110}}&\texttt{101001} - & & & -\\ -\texttt{101111\phantom{00}} &\texttt{0{\color{red}111010}}&\texttt{011101} - & & & -\\ -\texttt{101111\phantom{000}} &\texttt{0001010}&\texttt{000101} - &\texttt{000101}&\texttt{110100}&\texttt{110100} -\\ -\texttt{101111\phantom{0000}} &\texttt{0010100}&\texttt{001010} - & & & -\\ -\texttt{101111\phantom{00000}}&\texttt{0101000}&\texttt{010100} - &\texttt{010100}&\texttt{{\color{red}1001000}}&\texttt{10011}\rlap{$\mathstrut=19$} -\end{tabular} -\end{center} -\caption{Multiplikation von $41=\texttt{101001}_2$ mit $47=\texttt{101111}_2$, -Reduktion nach jeder Multiplikation mit $2$: falls das Resultat -$>p$ ist, wie in den rot markierten Zeilen $p=53=\texttt{110101}_2$ -durchgeführt. -Bei der Bildung der Summe wird ebenfalls in jedem Schritt falls nötig -reduziert, angezeigt durch die roten Zahlen in der zweitletzten -Spalte. -Die Anzahl der Subtraktionen, die für die Reduktionen nötig sind, ist -von der selben Grössenordnung wie bei der Durchführung des -Divisionsalgorithmus. -\label{buch:crypto:fig:reduktion}} -\end{figure} - -Es ist also möglich, mit gleichem Aufwand an Operationen -aber mit halbe Speicherplatzbedarf die Multiplikationen in $\mathbb{F}_p$ -durchzuführen. -Die Platzeinsparung ist besonders bei Implementationen in Hardware -hilfreich, wo on-die Speicherplatz teuer sein kann. - -\subsection{Rechenoperationen in $\mathbb{F}_{2^l}$ -\label{buch:subsection:rechenoperatione-in-f2l}} -Von besonderem praktischem Interesse sind die endlichen Körper -$\mathbb{F}_{2^l}$. -Die arithmetischen Operationen in diesen Körpern lassen sich besonders -effizient in Hardware realisieren. - -\subsubsection{Zahldarstellung} -Ein endlicher Körper $\mathbb{F}_{2^l}$ ist definiert durch ein -irreduzibles Polynom in $\mathbb{F}_2[X]$ vom Grad $2^l$ -\[ -m(X) -= -X^l + m_{l-1}X^{l-1} + m_{l-2}X^{l-2} + \dots + m_2X^2 + m_1X + m_0 -\] -gegeben. -Ein Element in $\mathbb{F}_2[X]/(m)$ kann dargestellt werden durch ein -Polynom vom Grad $l-1$, also durch -\[ -a = a_{l-1}X^{l-1} + a_{l-2}X^{l-2} +\dots + a_2X^2 + a_1X + a_0. -\] -In einer Maschine kann eine Zahl also als eine Bitfolge der Länge $l$ -dargestellt werden. - -\subsubsection{Addition} -Die Addition in $\mathbb{F}_2$ ist in Hardware besonders leicht zu -realisieren. -Die Addition ist die XOR-Operation, die Multiplikation ist die UND-Verknüfung. -Ausserdem stimmen in $\mathbb{F}_2$ Addition und Subtraktion überein. - -Die Addition zweier Polynome erfolgt komponentenweise. -Die Addition von zwei Elemente von $\mathbb{F}_{2^l}$ kann also -durch die bitweise XOR-Verknüpfung der Darstellungen der Summanden -erfolgen. -Diese Operation ist in einem einzigen Maschinenzyklus realisierbar. -Die Subtraktion, die für die Reduktionsoperation module $m(X)$ nötig -ist, ist mit der Addition identisch. - -\subsubsection{Multiplikation} -Die Multiplikation zweier Polynome benötigt zunächst die Multiplikation -mit $X$, wodurch der Grad des Polynoms ansteigt und möglicherweise so -gross wird, dass eine Reduktionsoperation modulo $m(X)$ nötig wird. -Die Reduktion wird immer dann nötig, wenn der Koeffizient von $X^l$ -nicht $0$ ist. -Der Koeffizient kann dann zum Verschwinden gebracht werden, indem -$m(X)$ addiert wird. - -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/schieberegister.pdf} -\caption{Implementation der Multiplikation mit $X$ in einem -endlichen Körper $\mathbb{F}_{2^l}$ mit dem Minimalpolynom -$m(X) = X^8+X^4+X^3+X^+1$ als Feedback-Schieberegister. -\label{buch:crypto:fig:schieberegister}} -\end{figure} - -In Abbildung~\ref{buch:crypto:fig:schieberegister} wird gezeigt, -wie die Reduktion erfolgt, wenn die Multiplikation mit $X$, also der -Shift nach links, einen Überlauf ergibt. -Das Minimalpolynom $m(X)=X^8+X^4+X^3+X+1$ bedeutet, dass in $\mathbb{F}_{2^l}$ -$X^8=X^4+X^3+X+1$ gilt, so dass man das Überlaufbit durch -$X^4+X^3+X+1$ ersetzen und addieren kann. - -Ein Produktes $p(X)\cdot q(X)$, wobei $p(X)$ und -$q(X)$ Repräsentaten von Elementen $\mathbb{F}_{2^l}$ sind, kann jetzt -wie folgt berechnet werden. -Mit dem Schieberegister werden die Vielfachen $X^k\cdot p(X)$ -für $k=0,\dots,l-1$ berechnet. -Diejenigen Vielfachen, für die der Koeffizient von $X^k$ in $q(X)$ -von $0$ verschieden ist werden aufsummiert und ergeben das Produkt. -Der Prozess in Abbildung~\ref{buch:crypto:fig:multiplikation} -dargestellt. - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/90-crypto/images/multiplikation.pdf} -\caption{Multiplikation zweier Elemente von $\mathbb{F}_{2^l}$. -Mit Hilfe des Schieberegisters am linken Rand werden die Produkte -$X\cdot p(X)$, $X^2\cdot p(X),\dots,X^7\cdot p(X)$ nach der in -Abbildung~\ref{buch:crypto:fig:schieberegister} dargestellten -Methode berechnet. -Am rechten Rand werden diejenigen $X^k\cdot p(X)$ aufaddiert, -für die der $X^k$-Koeffizient von $q(X)$ von $0$ verschieden ist. -\label{buch:crypto:fig:multiplikation}} -\end{figure} - - -% XXX Beispiel F einer Oakley-Gruppe - +%
+% arith.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Arithmetik für die Kryptographie
+\label{buch:section:arithmetik-fuer-kryptographie}}
+\rhead{Arithmetik für die Kryptographie}
+Die Algorithmen der mathematischen Kryptographie basieren
+auf den Rechenoperationen in grossen, aber endlichen Körpern.
+Für die Division liefert der euklidische Algorithmus eine
+Methode, der in so vielen Schritten die Inverse findet,
+wie Dividend und Divisor Binärstellen haben.
+Dies ist weitgehend optimal.
+
+Die Division ist umkehrbar, in der Kryptographie strebt man aber an,
+Funktionen zu konstruieren, die nur mit grossem Aufwand umkehrbar sind.
+Eine solche Funktion ist das Potenzieren in einem endlichen Körper.
+Die Berechnung von Potenzen durch wiederholte Multiplikation ist jedoch
+prohibitiv aufwendig, daher ist ein schneller Potenzierungsalgorithmus
+nötig, der in Abschnitt~\ref{buch:subsection:potenzieren} beschrieben
+wird.
+Bei der Verschlüsselung grosser Datenmengen wie zum Beispiel bei
+der Verschlüsselung ganzer Harddisks mit Hilfe des AES-Algorithmus
+kommt es auf die Geschwindigkeit auch der elementarsten Operationen
+in den endlichen Körpern an.
+Solche Methoden werden in den Abschnitten
+\ref{buch:subsection:rechenoperationen-in-fp}
+und
+\ref{buch:subsection:rechenoperatione-in-f2l}
+besprochen.
+
+\subsection{Potenzieren
+\label{buch:subsection:potenzieren}}
+Wir gehen davon aus, dass wir einen schnellen Algorithmus zur
+Berechnung des Produktes zweier Elemente $a,b$ in einer
+beliebigen Gruppe $G$ haben.
+Die Gruppe $G$ kann die Multiplikation der ganzen oder reellen Zahlen
+sein, dies wird zum Beispiel in Implementation der Potenzfunktion
+verwendet.
+Für kryptographische Anwendungen ist $G$ die multiplikative Gruppe
+eines endlichen Körpers oder eine elliptische Kurve.
+
+Zur Berechnung von $a^k$ sind bei einer naiven Durchführung des
+Algorithmus $k-1$ Multiplikationen nötig, immer sofort gefolgt
+von einer Reduktion $\mod p$ um sicherzustellen, dass die Resultate
+nicht zu gross werden.
+Ist $l$ die Anzahl der Binärstellen von $k$, dann benötigt dieser
+naive Algorithmus $O(2^l)$ Multiplikationen, die Laufzeit wächst
+also exponentiell mit der Bitlänge von $k$ an.
+Der nachfolgend beschriebene Algorithmus reduziert die Laufzeit auf
+die $O(l)$.
+
+Zunächst schreiben wir den Exponenten $k$ in binärer Form als
+\[
+k = k_l2^l + k_{l-1}2^{l-1} + \dots k_22^2+k_12^1 k_02^0.
+\]
+Die Potenz $a^k$ kann dann geschrieben werden als
+\[
+a^k
+=
+a^{k_l2^l} \cdot a^{k_{l-1}2^{l-1}} \cdot \dots \cdot
+a^{k_22^2} \cdot a^{k_12^1} \cdot a^{k_02^0}
+\]
+Nur diejenigen Faktoren tragen etwas bei, für die $k_i\ne 0$ ist.
+Die Potenz kann man daher auch schreiben als
+\[
+a^k
+=
+\prod_{k_i\ne 0} a^{2^i}.
+\]
+Es sind also nur so viele Faktoren zu berücksichtigen, wie $k$
+Binärstellen $1$ hat.
+
+Die einzelnen Faktoren $a^{2^i}$ können durch wiederholtes Quadrieren
+erhalten werden:
+\[
+a^{2^i} = a^{2\cdot 2^{i-1}} = (a^{2^{i-1}})^2,
+\]
+also durch maximal $l-1$ Multiplikationen.
+Wenn $k$ keine Ganzzahl ist sondern binäre Nachkommastellen hat, also
+\[
+k=k_l2^l + \dots + k_12^1 + k_02^0 + k_{-1}2^{-1} + k_{-2}2^{-2}+\dots,
+\]
+dann können die Potenzen $a^{2^{-i}}$ durch wiederholtes Wurzelziehen
+\[
+a^{2^{-i}} = a^{\frac12\cdot 2^{-i+1}} = \sqrt{a^{2^{-i+1}}}
+\]
+gefunden werden.
+Die Berechnung der Quadratwurzel lässt sich in Hardware effizient
+implementieren.
+
+\begin{algorithmus}
+Der folgende Algorithmsu berechnet $a^k$ in $O(\log_2(k))$
+Multiplikationen
+\begin{enumerate}
+\item Initialisiere $p=1$ und $q=a$
+\item Falls $k$ ungerade ist, setze $p:=p\cdot q$
+\item Setze $q:=q^2$ und $k := k/2$, wobei die ganzzahlige Division durch $2$
+am effizientesten als Rechtsshift implementiert werden kann.
+\item Falls $k>0$, fahre weiter bei 2.
+\end{enumerate}
+\end{algorithmus}
+
+\begin{beispiel}
+Die Berechnung von $1.1^{17}$ mit diesem Algorithmus ergibt
+\begin{enumerate}
+\item $p=1$, $q=1.1$
+\item $k$ ist ungerade: $p:=1.1$
+\item $q:=q^2=1.21$, $k := 8$
+\item $k$ ist gerade
+\item $q:=q^2=1.4641$, $k := 4$
+\item $k$ ist gerade
+\item $q:=q^2=2.14358881$, $k := 2$
+\item $k$ ist gerade
+\item $q:=q^2=4.5949729863572161$, $k := 1$
+\item $k$ ist ungerade: $p:=1.1\cdot p = 5.05447028499293771$
+\item $k:=0$
+\end{enumerate}
+Multiplikationen sind nur nötig in den Schritten 3, 5, 7, 9, 10, es
+werden also genau $5$ Multiplikationen ausgeführt.
+\end{beispiel}
+
+\subsection{Rechenoperationen in $\mathbb{F}_p$
+\label{buch:subsection:rechenoperationen-in-fp}}
+Die Multiplikation macht aus zwei Faktoren $a$ und $b$ ein
+Resultat mit Bitlänge $\log_2 a+\log_2 b$, die Bitlänge wird
+also typischerweise verdoppelt.
+In $\mathbb{F}_p$ muss anschliessend das Resultat $\mod p$
+reduziert werden, so dass die Bitlänge wieder höchstens
+$\log_2p$ ist.
+In folgenden soll gezeigt werden, dass dieser Speicheraufwand
+für eine Binärimplementation deutlich reduziert werden kann,
+wenn die Reihenfolge der Operationen modifiziert wird.
+
+Für die Multiplikation von $41\cdot 47$ rechnet man im Binärsystem
+\begin{center}
+\begin{tabular}{>{$}r<{$}}
+\texttt{{\color{darkgreen}1}0{\color{red}1}001}\cdot\texttt{101111}\\
+\hline
+\texttt{101111}\\
+\texttt{{\color{red}101111}\phantom{000}}\\
+\texttt{{\color{darkgreen}101111}\phantom{00000}}\\
+\hline
+\texttt{11110000111}\\
+\hline
+\end{tabular}
+\end{center}
+In $\mathbb{F}_{53}$ muss im Anschluss Modulo $p=53$ reduziert werden.
+
+Der Speicheraufwand entsteht zunächst dadurch, dass durch die Multiplikation
+mit $2$ die Summanden immer länger werden.
+Man kann den die Sumanden kurz halten, indem man jedesmal, wenn
+der Summand nach der Multiplikation mit $2$ grösser als $p$ geworden ist,
+$p$ subtrahiert (Abbildung~\ref{buch:crypto:fig:reduktion}).
+Ebenso kann bei nach jeder Addition das bereits reduzierten zweiten
+Faktors wieder reduziert werden.
+Die Anzahl der nötigen Reduktionsoperationen wird durch diese
+frühzeitig durchgeführten Reduktionen nicht teurer als bei der Durchführung
+des Divisionsalgorithmus.
+
+\begin{figure}
+\begin{center}
+\begin{tabular}{>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}}
+\text{Multiplikation mit $2$}&\text{Reduktion?}&\text{reduziert}
+ &\text{Summanden}&\text{Summe}&\text{reduziert}
+\\
+\hline
+\texttt{101111} & &\texttt{101111}
+ &\texttt{101111}&\texttt{101111}&\texttt{101111}
+\\
+\texttt{101111\phantom{0}} &\texttt{{\color{red}1011110}}&\texttt{101001}
+ & & &
+\\
+\texttt{101111\phantom{00}} &\texttt{0{\color{red}111010}}&\texttt{011101}
+ & & &
+\\
+\texttt{101111\phantom{000}} &\texttt{0001010}&\texttt{000101}
+ &\texttt{000101}&\texttt{110100}&\texttt{110100}
+\\
+\texttt{101111\phantom{0000}} &\texttt{0010100}&\texttt{001010}
+ & & &
+\\
+\texttt{101111\phantom{00000}}&\texttt{0101000}&\texttt{010100}
+ &\texttt{010100}&\texttt{{\color{red}1001000}}&\texttt{10011}\rlap{$\mathstrut=19$}
+\end{tabular}
+\end{center}
+\caption{Multiplikation von $41=\texttt{101001}_2$ mit $47=\texttt{101111}_2$,
+Reduktion nach jeder Multiplikation mit $2$: falls das Resultat
+$>p$ ist, wie in den rot markierten Zeilen $p=53=\texttt{110101}_2$
+durchgeführt.
+Bei der Bildung der Summe wird ebenfalls in jedem Schritt falls nötig
+reduziert, angezeigt durch die roten Zahlen in der zweitletzten
+Spalte.
+Die Anzahl der Subtraktionen, die für die Reduktionen nötig sind, ist
+von der selben Grössenordnung wie bei der Durchführung des
+Divisionsalgorithmus.
+\label{buch:crypto:fig:reduktion}}
+\end{figure}
+
+Es ist also möglich, mit gleichem Aufwand an Operationen
+aber mit halbe Speicherplatzbedarf die Multiplikationen in $\mathbb{F}_p$
+durchzuführen.
+Die Platzeinsparung ist besonders bei Implementationen in Hardware
+hilfreich, wo on-die Speicherplatz teuer sein kann.
+
+\subsection{Rechenoperationen in $\mathbb{F}_{2^l}$
+\label{buch:subsection:rechenoperatione-in-f2l}}
+Von besonderem praktischem Interesse sind die endlichen Körper
+$\mathbb{F}_{2^l}$.
+Die arithmetischen Operationen in diesen Körpern lassen sich besonders
+effizient in Hardware realisieren.
+
+\subsubsection{Zahldarstellung}
+Ein endlicher Körper $\mathbb{F}_{2^l}$ ist definiert durch ein
+irreduzibles Polynom in $\mathbb{F}_2[X]$ vom Grad $2^l$
+\[
+m(X)
+=
+X^l + m_{l-1}X^{l-1} + m_{l-2}X^{l-2} + \dots + m_2X^2 + m_1X + m_0
+\]
+gegeben.
+Ein Element in $\mathbb{F}_2[X]/(m)$ kann dargestellt werden durch ein
+Polynom vom Grad $l-1$, also durch
+\[
+a = a_{l-1}X^{l-1} + a_{l-2}X^{l-2} +\dots + a_2X^2 + a_1X + a_0.
+\]
+In einer Maschine kann eine Zahl also als eine Bitfolge der Länge $l$
+dargestellt werden.
+
+\subsubsection{Addition}
+Die Addition in $\mathbb{F}_2$ ist in Hardware besonders leicht zu
+realisieren.
+Die Addition ist die XOR-Operation, die Multiplikation ist die UND-Verknüfung.
+Ausserdem stimmen in $\mathbb{F}_2$ Addition und Subtraktion überein.
+
+Die Addition zweier Polynome erfolgt komponentenweise.
+Die Addition von zwei Elemente von $\mathbb{F}_{2^l}$ kann also
+durch die bitweise XOR-Verknüpfung der Darstellungen der Summanden
+erfolgen.
+Diese Operation ist in einem einzigen Maschinenzyklus realisierbar.
+Die Subtraktion, die für die Reduktionsoperation module $m(X)$ nötig
+ist, ist mit der Addition identisch.
+
+\subsubsection{Multiplikation}
+Die Multiplikation zweier Polynome benötigt zunächst die Multiplikation
+mit $X$, wodurch der Grad des Polynoms ansteigt und möglicherweise so
+gross wird, dass eine Reduktionsoperation modulo $m(X)$ nötig wird.
+Die Reduktion wird immer dann nötig, wenn der Koeffizient von $X^l$
+nicht $0$ ist.
+Der Koeffizient kann dann zum Verschwinden gebracht werden, indem
+$m(X)$ addiert wird.
+
+\begin{figure}
+\centering
+\includegraphics{chapters/90-crypto/images/schieberegister.pdf}
+\caption{Implementation der Multiplikation mit $X$ in einem
+endlichen Körper $\mathbb{F}_{2^l}$ mit dem Minimalpolynom
+$m(X) = X^8+X^4+X^3+X^+1$ als Feedback-Schieberegister.
+\label{buch:crypto:fig:schieberegister}}
+\end{figure}
+
+In Abbildung~\ref{buch:crypto:fig:schieberegister} wird gezeigt,
+wie die Reduktion erfolgt, wenn die Multiplikation mit $X$, also der
+Shift nach links, einen Überlauf ergibt.
+Das Minimalpolynom $m(X)=X^8+X^4+X^3+X+1$ bedeutet, dass in $\mathbb{F}_{2^l}$
+$X^8=X^4+X^3+X+1$ gilt, so dass man das Überlaufbit durch
+$X^4+X^3+X+1$ ersetzen und addieren kann.
+
+Ein Produktes $p(X)\cdot q(X)$, wobei $p(X)$ und
+$q(X)$ Repräsentaten von Elementen $\mathbb{F}_{2^l}$ sind, kann jetzt
+wie folgt berechnet werden.
+Mit dem Schieberegister werden die Vielfachen $X^k\cdot p(X)$
+für $k=0,\dots,l-1$ berechnet.
+Diejenigen Vielfachen, für die der Koeffizient von $X^k$ in $q(X)$
+von $0$ verschieden ist werden aufsummiert und ergeben das Produkt.
+Der Prozess in Abbildung~\ref{buch:crypto:fig:multiplikation}
+dargestellt.
+
+\begin{figure}
+\centering
+\includegraphics[width=\textwidth]{chapters/90-crypto/images/multiplikation.pdf}
+\caption{Multiplikation zweier Elemente von $\mathbb{F}_{2^l}$.
+Mit Hilfe des Schieberegisters am linken Rand werden die Produkte
+$X\cdot p(X)$, $X^2\cdot p(X),\dots,X^7\cdot p(X)$ nach der in
+Abbildung~\ref{buch:crypto:fig:schieberegister} dargestellten
+Methode berechnet.
+Am rechten Rand werden diejenigen $X^k\cdot p(X)$ aufaddiert,
+für die der $X^k$-Koeffizient von $q(X)$ von $0$ verschieden ist.
+\label{buch:crypto:fig:multiplikation}}
+\end{figure}
+
+
+% XXX Beispiel F einer Oakley-Gruppe
+
diff --git a/buch/chapters/90-crypto/chapter.tex b/buch/chapters/90-crypto/chapter.tex index d2fcbbf..920941d 100644 --- a/buch/chapters/90-crypto/chapter.tex +++ b/buch/chapters/90-crypto/chapter.tex @@ -1,31 +1,31 @@ -% -% chapter.tex -- Anwendungen von Matrizen in der Codierungstheorie und -% Kryptographie -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -% !TeX spellcheck = de_CH -\chapter{Anwendungen in Kryptographie und Codierungstheorie -\label{buch:chapter:kryptographie}} -\lhead{Kryptographie und Codierungstheorie} -\rhead{} -Die algebraische Theorie der endlichen Körper hat sich als besonders -nützliche herausgestellt in der Krypographie. -Die Eigenschaften dieser Körper sind reichhaltig genug, um -kryptographsch widerstandsfähige Algorithmen zu liefern, die -auch in ihrer Stärke beliebig skaliert werden können. -Gleichzeitig liefert die Algebra auch eine effiziente Implementierung. -In diesem Abschnitt soll dies an einigen Beispielen gezeigt werden. - -\input{chapters/90-crypto/arith.tex} -\input{chapters/90-crypto/ff.tex} -\input{chapters/90-crypto/aes.tex} -%\input{chapters/90-crypto/rs.tex} - -\section*{Übungsaufgaben} -\rhead{Übungsaufgaben} -\aufgabetoplevel{chapters/90-crypto/uebungsaufgaben} -\begin{uebungsaufgaben} -\uebungsaufgabe{9001} -\end{uebungsaufgaben} - +%
+% chapter.tex -- Anwendungen von Matrizen in der Codierungstheorie und
+% Kryptographie
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+% !TeX spellcheck = de_CH
+\chapter{Anwendungen in Kryptographie und Codierungstheorie
+\label{buch:chapter:kryptographie}}
+\lhead{Kryptographie und Codierungstheorie}
+\rhead{}
+Die algebraische Theorie der endlichen Körper hat sich als besonders
+nützliche herausgestellt in der Krypographie.
+Die Eigenschaften dieser Körper sind reichhaltig genug, um
+kryptographsch widerstandsfähige Algorithmen zu liefern, die
+auch in ihrer Stärke beliebig skaliert werden können.
+Gleichzeitig liefert die Algebra auch eine effiziente Implementierung.
+In diesem Abschnitt soll dies an einigen Beispielen gezeigt werden.
+
+\input{chapters/90-crypto/arith.tex}
+\input{chapters/90-crypto/ff.tex}
+\input{chapters/90-crypto/aes.tex}
+%\input{chapters/90-crypto/rs.tex}
+
+\section*{Übungsaufgaben}
+\rhead{Übungsaufgaben}
+\aufgabetoplevel{chapters/90-crypto/uebungsaufgaben}
+\begin{uebungsaufgaben}
+\uebungsaufgabe{9001}
+\end{uebungsaufgaben}
+
diff --git a/buch/chapters/90-crypto/ff.tex b/buch/chapters/90-crypto/ff.tex index 535b359..8a38f93 100644 --- a/buch/chapters/90-crypto/ff.tex +++ b/buch/chapters/90-crypto/ff.tex @@ -1,664 +1,664 @@ -% -% ff.tex -- Kryptographie und endliche Körper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% - -\section{Kryptographie und endliche Körper -\label{buch:section:kryptographie-und-endliche-koerper}} -\rhead{Kryptographie und endliche Körper} - -\subsection{Potenzen in $\mathbb{F}_p$ und diskreter Logarithmus -\label{buch:subsection:potenzen-diskreter-logarithmus}} -Für kryptographische Anwendungen wird eine einfach zu berechnende -Funktion benötigt, -die ohne zusätzliches Wissen, üblicherweise der Schlüssel genannt, -nicht ohne weiteres umkehrbar ist. -Die arithmetischen Operationen in einem endlichen Körper sind -mit geringem Aufwand durchführbar. -Für die ``schwierigste'' Operation, die Division, steht der -euklidische Algorithmus zur Verfügung. - -Die nächstschwierigere Operation ist die Potenzfunktion. -Für $g\in \Bbbk$ und $a\in\mathbb{N}$ ist die Potenz $g^a\in\Bbbk$ -natürlich durch die wiederholte Multiplikation definiert. -In der Praxis werden aber $g$ und $a$ Zahlen mit vielen Binärstellen -sein, die die wiederholte Multiplikation ist daher sicher nicht -effizient, das Kriterium der einfachen Berechenbarkeit scheint -also nicht erfüllt. -Der folgende Algorithmus berechnet die Potenz in $O(\log_2 a)$ -Multiplikationen. - -\begin{algorithmus}[Divide-and-conquer] -\label{buch:crypto:algo:divide-and-conquer} -Sei $a=a_0 + a_12^1 + a_22^2 + \dots + a_k2^k$ die Binärdarstellung -der Zahl $a$. -\begin{enumerate} -\item setze $f=g$, $x=1$, $i=0$ -\label{divide-and-conquer-1} -\item solange $i\ge k$ ist, führe aus -\label{divide-and-conquer-2} -\begin{enumerate} -\item -\label{divide-and-conquer-3} -falls $a_i=1$ setze $x \coloneqq x \cdot f$ -\item -\label{divide-and-conquer-4} -$i \coloneqq i+1$ und $f\coloneqq f\cdot f$ -\end{enumerate} -\end{enumerate} -Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen -berechnet werden. -\end{algorithmus} - -\begin{proof}[Beweis] -Die Initalisierung in Schritt~\ref{divide-and-conquer-1} stellt sicher, -dass $x$ den Wert $g^0$ hat. -Schritt~\ref{divide-and-conquer-4} stellt sicher, -dass die Variable $f$ immer den Wert $g^{2^i}$ hat. -Im Schritt~\ref{divide-and-conquer-3} wird zu $x$ die Potenz -$g^{a_i2^i}$ hinzumultipliziert. -Am Ende des Algorithmus hat daher $x$ den Wert -\[ -x = g^{a_02^0} \cdot g^{a_12^1} \cdot g^{a_22^2} \cdot\ldots\cdot 2^{a_k2^k} -= -g^{a_0+a_12+a_22^2+\dots+a_k2^k} -= -g^a. -\] -Die Schleife wird $\lfloor1+\log_2ab\rfloor$ mal durchlaufen. -In jedem Fall wird auf jeden Fall die Multiplikation in -Schritt~\ref{divide-and-conquer-4} durchgeführt -und im schlimmsten Fall auch noch die Multiplikation in -Schritt~\ref{divide-and-conquer-3}. -Es werden also nicht mehr als $2\lfloor 1+\log_2a\rfloor=O(\log_2a)$ -Multiplikationen durchgeführt. -\end{proof} - -\begin{beispiel} -Man berechne die Potenz $7^{2021}$ in $\mathbb{F}_p$. -Die Binärdarstellung von 2021 ist $2021_{10}=\texttt{11111100101}_2$. -Wir stellen die nötigen Operationen des -Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} in der folgenden -Tabelle -\begin{center} -\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} -\hline - i& f& a_i& x\\ -\hline - 0& 7& 1& 7\\ - 1& 49& 0& 7\\ - 2&1110& 1& 24\\ - 3& 486& 0& 24\\ - 4&1234& 0& 24\\ - 5& 667& 1& 516\\ - 6& 785& 1& 977\\ - 7& 418& 1& 430\\ - 8& 439& 1& 284\\ - 9& 362& 1& 819\\ -10& 653& 1& 333\\ -\hline -\end{tabular} -\end{center} -Daraus liest man ab, dass $7^{2021}=333\in\mathbb{F}_{1291}$. -\end{beispiel} - -Die Tabelle suggeriert, dass die Potenzen von $g$ ``wild'', also -scheinbar ohne System in $\mathbb{F}_p$ herumspringen. -Dies deutet an, dass die Umkehrung der Exponentialfunktion in $\mathbb{F}_p$ -schwierig ist. -Die Umkehrfunktion der Exponentialfunktion, die Umkehrfunktion von -$x\mapsto g^x$ in $\mathbb{F}_p$ heisst der {\em diskrete Logarithmus}. -\index{diskreter Logarithmus}% -Tatsächlich ist der diskrete Logarithmus ähnlich schwierig zu bestimmen -wie das Faktorisieren von Zahlen, die das Produkt grosser -Primafaktoren ähnlicher Grössenordnung wie $p$ sind. -Die Funktion $x\mapsto g^x$ ist die gesuchte, schwierig zu invertierende -Funktion. - -Auf dern ersten Blick scheint der -Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} -den Nachteil zu haben, dass erst die Binärdarstellung der Zahl $a$ -ermittelt werden muss. -In einem Computer ist dies aber normalerweise kein Problem, da $a$ -im Computer ohnehin binär dargestellt ist. -Die Binärziffern werden in der Reihenfolge vom niederwertigsten zum -höchstwertigen Bit benötigt. -Die folgende Modifikation des Algorithmus ermittelt laufend -auch die Binärstellen von $a$. -Die dazu notwendigen Operationen sind im Binärsystem besonders -effizient implementierbar, die Division durch 2 ist ein Bitshift, der -Rest ist einfach das niederwertigste Bit der Zahl. - -\begin{algorithmus} -\label{buch:crypto:algo:divide-and-conquer2} -\begin{enumerate} -\item -Setze $f=g$, $x=1$, $i=0$ -\item -Solange $a>0$ ist, führe aus -\begin{enumerate} -\item -Verwende den euklidischen Algorithmus um $r$ und $b$ zu bestimmen mit $a=2b+r$ -\item -Falls $r=1$ setze $x \coloneqq x \cdot f$ -\item -$i \coloneqq i+1$, $a = b$ und $f\coloneqq f\cdot f$ -\end{enumerate} -\end{enumerate} -Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen -berechnet werden. -\end{algorithmus} - - -% -% Diffie-Hellman Schlüsseltausch -% -\subsection{Diffie-Hellman-Schlüsseltausch -\label{buch:subsection:diffie-hellman}} -Eine Grundaufgabe der Verschlüsselung im Internet ist, dass zwei -Kommunikationspartner einen gemeinsamen Schlüssel für die Verschlüsselung -der Daten aushandeln können müssen. -Es muss davon ausgegangen werden, dass die Kommunikation abgehört wird. -Trotzdem soll es für einen Lauscher nicht möglich sein, den -ausgehandelten Schlüssel zu ermitteln. - -% XXX Historisches zu Diffie und Hellman - -Die beiden Partner $A$ und $B$ einigen sich zunächst auf eine Zahl $g$, -die öffentlich bekannt sein darf. -Weiter erzeugen sie eine zufällige Zahl $a$ und $b$, die sie geheim -halten. -Das Verfahren soll aus diesen beiden Zahlen einen Schlüssel erzeugen, -den beide Partner berechnen können, ohne dass sie $a$ oder $b$ -übermitteln müssen. -Die beiden Zahlen werden daher auch die privaten Schlüssel genannt. - -Die Idee von Diffie und Hellman ist jetzt, die Werte $x=g^a$ und $y=g^b$ -zu übertragen. -In $\mathbb{R}$ würden dadurch natürlich dem Lauscher auch $a$ offenbart, -er könnte einfach $a=\log_g x$ berechnen. -Ebenso kann auch $b$ als $b=\log_g y$ erhalten werden, die beiden -privaten Schlüssel wären also nicht mehr privat. -Statt der Potenzfunktion in $\mathbb{R}$ muss also eine Funktion -verwendet werden, die nicht so leicht umgekehrt werden kann. -Die Potenzfunktion in $\mathbb{F}_p$ erfüllt genau diese Eigenschaft. -Die Kommunikationspartner einigen sich also auch noch auf die (grosse) -Primzahl $p$ und übermitteln $x=g^a\in\mathbb{F}_p$ und -$y=g^b\in\mathbb{F}_p$. - -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/dh.pdf} -\caption{Schlüsselaustausch nach Diffie-Hellman. -Die Kommunikationspartner $A$ und $B$ einigen sich öffentlich auf -$p\in\mathbb{N}$ und $g\in\mathbb{F}_p$. -$A$ wählt dann einen privaten Schlüssel $a\in\mathbb{N}$ und -$B$ wählt $b\in\mathbb{N}$, sie tauschen dann $x=g^a$ und $y=g^b$ -aus. -$A$ erhält den gemeinsamen Schlüssel aus $y^a$, $B$ erhält ihn -aus $x^b$. -\label{buch:crypto:fig:dh}} -\end{figure} - -Aus $x$ und $y$ muss jetzt der gemeinsame Schlüssel abgeleitet werden. -$A$ kennt $y=g^b$ und $a$, $B$ kennt $x=g^a$ und $b$. -Beide können die Zahl $s=g^{ab}\in\mathbb{F}_p$ berechnen. -$A$ macht das, indem er $y^a=(g^b)^a = g^{ab}$ rechnet, -$B$ rechnet $x^b = (g^a)^b = g^{ab}$, beide natürlich in $\mathbb{F}_p$. -Der Lauscher kann aber $g^{ab}$ nicht ermitteln, dazu müsste er -$a$ oder $b$ ermitteln können. -Die Zahl $s=g^{ab}$ kann also als gemeinsamer Schlüssel verwendet -werden. - - - -\subsection{Elliptische Kurven -\label{buch:subsection:elliptische-kurven}} -Das Diffie-Hellman-Verfahren basiert auf der Schwierigkeit, in einem -Körper $\mathbb{F}_p$ die Gleichung $a^x=b$ nach $x$ aufzulösen. -Die Addition in $\mathbb{F}_p$ wird dazu nicht benötigt. -Es reicht, eine Menge mit einer Multiplikation zu haben, in der das -die Gleichung $a^x=b$ schwierig zu lösen ist. -Ein Gruppe wäre also durchaus ausreichend. - -Ein Kandidat für eine solche Gruppe könnte der Einheitskreis -$S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ in der komplexen Ebene sein. -Wählt man eine Zahl $g=e^{i\alpha}$, wobei $\alpha$ ein irrationales -Vielfaches von $\pi$ ist, dann sind alle Potenzen $g^n$ für natürliche -Exponenten voneinander verschieden. -Wäre nämlich $g^{n_1}=g^{n_2}$, dann wäre $e^{i\alpha(n_1-n_2)}=1$ und -somit müsste $\alpha=2k\pi/(n_1-n_2)$ sein. -Damit wäre aber $\alpha$ ein rationales Vielfaches von $\pi$, im Widerspruch -zur Voraussetzung. -Die Abbildung $n\mapsto g^n\in S^1$ ist auf den ersten Blick etwa ähnlich -undurchschaubar wie die Abbildung $n\mapsto g^n\in\mathbb{F}_p$. -Es gibt zwar die komplexe Logarithmusfunktion, mit der man $n$ bestimmen -kann, dazu muss man aber den Wert von $g^n$ mit beliebiger Genauigkeit -kennen, denn die Werte von $g^n$ können beliebig nahe beieinander liegen. - -Der Einheitskreis ist die Lösungsmenge der Gleichung $x^2+y^2=1$ für -reelle Koordinaten $x$ und $y$, -doch Rundungsunsicherheiten verunmöglichen den Einsatz in einem -Verfahren ähnlich dem Diffie-Hellman-Verfahren. -Dieses Problem kann gelöst werden, indem für die Variablen Werte -aus einem endlichen Körper verwendet werden. -Gesucht ist also eine Gleichung in zwei Variablen, deren Lösungsmenge -in einem endlichen Körper eine Gruppenstruktur trägt. -Die Lösungsmenge ist eine ``Kurve'' von Punkten mit -Koordinaten in einem endlichen Körper. - -In diesem Abschnitt wird gezeigt, dass sogenannte elliptische Kurven -über endlichen Körpern genau die verlangen Eigenschaften haben. - -\subsubsection{Elliptische Kurven} -Elliptische Kurven sind Lösungen einer Gleichung der Form -\begin{equation} -Y^2+XY=X^3+aX+b -\label{buch:crypto:eqn:ellipticcurve} -\end{equation} -mit Werten von $X$ und $Y$ in einem geeigneten Körper. -Die Koeffizienten $a$ und $b$ müssen so gewählt werden, dass die -Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} genügend viele -Lösungen hat. -Über den komplexen Zahlen hat die Gleichung natürlich für jede Wahl von -$X$ drei Lösungen. -Für einen endlichen Körper können wir dies im allgemeinen nicht erwarten, -aber wenn wir genügend viele Wurzeln zu $\mathbb{F}$ hinzufügen können wir -mindestens erreichen, dass die Lösungsmenge so viele Elemente hat, -dass ein Versuch, die Gleichung $g^x=b$ mittels Durchprobierens zu -lösen, zum Scheitern verurteil ist. - -\begin{definition} -\label{buch:crypto:def:ellipticcurve} -Die {\em elliptische Kurve} $E_{a,b}(\Bbbk)$ über dem Körper $\Bbbk$ ist -die Menge -\[ -E_{a,b}(\Bbbk) -= -\{(X,Y)\in\Bbbk^2\;|\;Y^2+XY=X^3+aX+b\}, -\] -für $a,b\in\Bbbk$. -\end{definition} - -Um die Anschauung zu vereinfachen, werden wir elliptische Kurven über -dem Körper $\mathbb{R}$ visualisieren. -Die daraus gewonnenen geometrischen Einsichten werden wir anschliessend -algebraisch umsetzen. -In den reellen Zahlen kann man die -Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} -noch etwas vereinfachen. -Indem man in \eqref{buch:crypto:eqn:ellipticcurve} -quadratisch ergänzt, bekommt man -\begin{align} -Y^2 + XY + \frac14X^2 &= X^3+\frac14 X^2 +aX+b -\notag -\\ -\Rightarrow\qquad -v^2&=X^3+\frac14X^2+aX+b, -\label{buch:crypto:eqn:ell2} -\end{align} -indem man $v=Y+\frac12X$ setzt. -Man beachte, dass man diese Substition nur machen kann, wenn $\frac12$ -definiert ist. -In $\mathbb{R}$ ist dies kein Problem, aber genau über den Körpern -mit Charakteristik $2$, die wir für die Computer-Implementation -bevorzugen, ist dies nicht möglich. -Es geht hier aber nur um die Visualisierung. - -Auch die Form \eqref{buch:crypto:eqn:ell2} lässt sich noch etwas -vereinfachen. -Setzt man $X=u-\frac1{12}$, dann verschwindet nach einiger Rechnung, -die wir hier nicht durchführen wollen, der quadratische Term -auf der rechten Seite. -Die interessierenden Punkte sind Lösungen der einfacheren Gleichung -\begin{equation} -v^2 -= -u^3+\biggl(a-\frac{1}{48}\biggr)u + b-\frac{a}{12}+\frac{1}{864} -= -u^3+Au+B. -\label{buch:crypto:ellvereinfacht} -\end{equation} -In dieser Form ist mit $(u,v)$ immer auch $(u,-v)$ eine Lösung, -die Kurve ist symmetrisch bezüglich der $u$-Achse. -Ebenso kann man ablesen, dass nur diejenigen $u$-Werte möglich sind, -für die das kubische Polynom $u^3+Au+B$ auf der rechten Seite von -\eqref{buch:crypto:ellvereinfacht} -nicht negativ ist. - -Sind $u_1$, $u_2$ und $u_3$ die Nullstellen des kubischen Polynoms -auf der rechten Seite von~\eqref{buch:crypto:ellvereinfacht}, folgt -\[ -v^2 -= -(u-u_1)(u-u_2)(u-u_3) -= -u^3 --(u_1+u_2+u_3)u^2 -+(u_1u_2+u_1u_3+u_2u_3)u -- -u_1u_2u_3. -\] -Durch Koeffizientenvergleich sieht man, dass $u_1+u_2+u_3=0$ sein muss. -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/elliptic.pdf} -\caption{Elliptische Kurve in $\mathbb{R}$ in der Form -$v^2=u^3+Au+B$ mit Nullstellen $u_1$, $u_2$ und $u_3$ des -kubischen Polynoms auf der rechten Seite. -Die blauen Punkte und Geraden illustrieren die Definition der -Gruppenoperation in der elliptischen Kurve. -\label{buch:crypto:fig:elliptischekurve}} -\end{figure} -Abbildung~\ref{buch:crypto:fig:elliptischekurve} -zeigt eine elliptische Kurve in der Ebene. - -\subsubsection{Geometrische Definition der Gruppenoperation} -In der speziellen Form \ref{buch:crypto:ellvereinfacht} ist die -elliptische Kurve symmetrisch unter Spiegelung an der $u$-Achse. -Die Spiegelung ist eine Involution, zweimalige Ausführung führt auf -den ursprünglichen Punkt zurück. -Die Inverse in einer Gruppe hat diese Eigenschaft auch, es ist -daher naheliegend, den gespiegelten Punkt als die Inverse eines -Elementes zu nehmen. - -Eine Gerade durch zwei Punkte der -in Abbildung~\ref{buch:crypto:fig:elliptischekurve} -dargestellten Kurve schneidet die Kurve ein drittes Mal. -Die Gruppenoperation wird so definiert, dass drei Punkte der Kurve -auf einer Geraden das Gruppenprodukt $e$ haben. -Da aus $g_1g_2g_3=e$ folgt $g_3=(g_1g_2)^{-1}$ oder -$g_1g_2=g_3^{-1}$, erhält man das Gruppenprodukt zweier Elemente -auf der elliptischen Kurve indem erst den dritten Schnittpunkt -ermittelt und diesen dann an der $u$-Achse spiegelt. - -Die geometrische Konstruktion schlägt fehl, wenn $g_1=g_2$ ist. -In diesem Fall kann man die Tangente im Punkt $g_1$ an die Kurve -verwenden. -Dieser Fall tritt zum Beispiel auch in den drei Punkten -$(u_1,0)$, $(u_2,0)$ und $(u_3,0)$ ein. - -Um das neutrale Element der Gruppe zu finden, können wir -zwei Punkte $g$ und $g^{-1}$ miteinander verknüpfen. -Die Gerade durch $g$ und $g^{-1}$ schneidet aber die Kurve -kein drittes Mal. -Ausserdem sind alle Geraden durch $g$ und $g^{-1}$ für verschiedene -$g$ parallel. -Das neutrale Element entspricht also einem unendlich weit entfernten Punkt. -Das neutrale Element entsteht immer dann als Produkt, wenn zwei -Punkte die gleiche $u$-Koordinaten haben. - -\subsubsection{Gruppenoperation, algebraische Konstruktion} -Nach den geometrischen Vorarbeiten zur Definition der Gruppenoperation -kann können wir die Konstruktion jetzt algebraisch umsetzen. - -Zunächst überlegen wir uns wieder eine Involution, welche als Inverse -dienen kann. -Dazu beachten wir, dass die linke Seite der definierenden Gleichung -\begin{equation} -Y^2+XY=X^3-aX+b. -\label{buch:crypto:eqn:grupopgl} -\end{equation} -auch als $Y(Y+X)$ geschrieben werden kann. -Die Abbildung $Y\mapsto -X-Y$ macht daraus -\[ -(-X-Y)(-X-Y+X)=(X+Y)Y, -\] -dies ist also die gesuchte Involution. - -Seien also $g_1=(x_1,y_1)$ und $g_2=(x_2,y_2)$ zwei verschiedene Lösungen -der Gleichung \eqref{buch:crypto:eqn:grupopgl} -Als erstes brauchen wir eine Gleichung für die Gerade durch die beiden -Punkte. -Sei also $l(X,Y)$ eine Linearform derart, dass $l(g_1)=d$ und $l(g_2)=d$ -für ein geeignetes $d\in\Bbbk$. -Dann gilt auch für die Punkte -\[ -g(t) = tg_1 + (1-t)g_2 -\qquad\Rightarrow\qquad -l(g(t)) -= -tl(g_1) + (1-t)l(g_2) -= -tc+(1-t)c -= -(t+1-t)c -=c, -\] -jeder Punkt der Geraden durch $g_1$ und $g_2$ lässt sich in dieser Form -schreiben. - -Setzt man jetzt $g(t)$ in die Gleichung ein, erhält man eine kubische -Gleichung in $t$, von der wir bereits zwei Nullstellen kennen, nämlich -$0$ und $1$. -Die kubische Gleichung muss also durch $t$ und $(t-1)$ teilbar sein. -Diese Berechnung kann man einfach in einem Computeralgebrasystem -durchführen. -Das Polynom ist -\[ -p(t) -= -\] -Nach Division durch $t(t-1)$ erhält man als den Quotienten -\begin{align*} -q(t) -&= -(y_2-y_1)^2 -+ -(y_2-y_1) (x_2-x_1) -+ -t(x_2-x_1)^3 -- -2x_2^3+3x_1x_2^2-x_1^3 -\end{align*} -und den Rest -\[ -r(t) -= -t(y_1^2+x_1y_1-x_1^3-ax_1-b) -+ -(1-t)(y_2^2+x_2y_2-x_2^3-ax_2-b). -\] -Die Klammerausdrücke verschwinden, da die sie gleichbedeutend damit sind, -dass die Punkte Lösungen von \eqref{buch:crypto:eqn:grupopgl} sind. - -Für den dritten Punkt auf der Geraden muss $t$ so gewählt werden, dass -$q(t)=0$ ist. -Dies ist aber eine lineare Gleichung mit der Lösung -\begin{align*} -t -&= --\frac{ -(y_1-y_2)^2 -+ -(y_2-y_1)(x_2-x_1) --2x_2^3+3x_1x_2^2-x_1^3 -}{(x_2-x_1)^3} -. -\end{align*} -Setzt man dies $g(t)$ ein, erhält man für die Koordinaten des dritten -Punktes $g_3$ die Werte -\begin{align} -x_3 -&= -\frac{ -(y_2-y_1)^2(x_2-x_1) + (y_2-y_1)(x_2-x_1)^2 --(x_2^4+x_1^4) -}{ -(x_2-x_1)^3 -} -\label{buch:crypto:eqn:x3} -\\ -y_3 -&= -\frac{ -(y_2-y_1)^3 -+(x_2-x_1)(y_2-y_1)^2 --(x_{2}-x_{1})^3 ( y_{2} - y_{1}) --(x_{2}-x_{1})^2 ( x_{1} y_{2}- x_{2} y_{1}) -}{ -(x_2-x_1)^3 -} -\label{buch:crypto:eqn:y3} -\end{align} -Die Gleichungen -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -ermöglichen also, das Element $g_1g_2^{-1}$ zu berechnen. -Interessant daran ist, dass in den Formeln die Konstanten $a$ und $b$ -gar nicht vorkommen. - -Es bleibt noch der wichtige Fall des Quadrierens in der Gruppe zu -behandeln, also den Fall $g_1=g_2$. -In diese Fall sind die Formeln -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -ganz offensichtlich nicht anwendbar. -Die geometrische Anschauung hat nahegelegt, die Tangent an die Kurve -im Punkt $g_1$ zu nehmen. -In $\mathbb{R}$ würde man dafür einen Grenzübergang $g_2\to g_1$ machen, -aber in einem endlichen Körper ist dies natürlich nicht möglich. - -Wir schreiben die Gerade als Parameterdarstellung in der Form -\( -t\mapsto g(t)= (x_1+ut, y_1+vt) -\) -für beliebige Parameter in $\Bbbk$. -Die Werte $u_1$ und $u_2$ müssen so gewählt werden, dass $g(t)$ eine -Tangente wird. -Setzt man $g(t)$ in die Gleichung~\eqref{buch:crypto:eqn:grupopgl} ein, -entsteht ein kubische Gleichung, die genau dann eine doppelte Nullstelle -bei $0$ hat, wenn $u,v$ die Tangentenrichtung beschreiben. -Einsetzen von $g(t)$ in \eqref{buch:crypto:eqn:grupopgl} -ergibt die Gleichung -\begin{align} -0 -&= --u^3t^3 -+ -(-3u^2x_{1}+v^2+uv)t^2 -+ -(2vy_1+uy_1-3ux_1^2+vx_1-au)t -+ -(y_1^2+x_1y_1-x_1^3-ax_1-b) -\label{buch:crypto:eqn:tangente1} -\end{align} -Damit bei $t=0$ eine doppelte Nullstelle mussen die letzten beiden -Koeffizienten verschwinden, dies führt auf die Gleichungen -\begin{align} -y_1^2+x_1y_1&=x_1^3+ax_1+b -\label{buch:crypto:eqn:rest1} -\\ -(2y_1 -+x_1)v -+(y_1 --3x_1^2 --a)u -&=0 -\label{buch:crypto:eqn:rest2} -\end{align} -Die erste Gleichung \eqref{buch:crypto:eqn:rest1} drückt aus, -dass $g_1$ ein Punkt der Kurve ist, sie ist automatisch erfüllt. - -Die zweite Gleichung -\eqref{buch:crypto:eqn:rest2} -legt das Verhältnis von $u$ und $v$, also die -\label{buch:crypto:eqn:rest2} -Tangentenrichtung fest. -Eine mögliche Lösung ist -\begin{equation} -\begin{aligned} -u &= x_1+2y_1 -\\ -v &= -y_1+3x_1^2+a. -\end{aligned} -\label{buch:crypto:eqn:uv} -\end{equation} - -Der Quotient ist ein lineares Polynom in $t$, die Nullstelle parametrisiert -den Punkt, der $(g_1)^{-2}$ entspricht. -Der zugehörige Wert von $t$ ist -\begin{equation} -t=-\frac{3u^2x_1-v^2-uv}{u^3}. -\label{buch:crypto:eqn:t} -\end{equation} - - -Setzt man -\label{buch:crypto:eqn:t} -und -\eqref{buch:crypto:eqn:uv} -in $g(t)$ ein, erhält man sehr komplizierte Ausdrücke für den dritten Punkt. -Wir verzichten darauf, diese Ausdrücke hier aufzuschreiben. -In der Praxis wird man in einem Körper der Charakteristik 2 arbeiten. -In diesem Körper werden alle geraden Koeffizienten zu $0$, alle ungeraden -Koeffizienten werden unabhängig vom Vorzeichen zu $1$. -Damit bekommt man die folgenden, sehr viel übersichtlicheren Ausdrücke -für den dritten Punkt: -\begin{equation} -\begin{aligned} -x -&= --\frac{ -y_1^2+x_1y_1+x_1^4+x_1^3+ax_1-a^2 - }{ -x_1^2 -} -\\ -y -&= -\frac{ -y_1^3+(x_1^2+x_1+a)y_1^2+(x_1^4 +a^2)y_1+x_1^6+ax_1^4+ax_1^3+a^2x_1^2+a^2x_1+a^3 -}{ - x_1^3 -} -\end{aligned} -\label{buch:crypto:eqn:tangentechar2} -\end{equation} -Damit haben wir einen vollständigen Formelsatz für die Berechnung der -Gruppenoperation in der elliptischen Kurve mindestens für den praktisch -relevanten Fall einer Kurve über einem Körper der Charakteristik $2$. - -\begin{satz} -Die elliptische Kurve -\[ -E_{a,b}(\mathbb{F}_{p^l}) -= -\{ -(X,Y)\in\mathbb{F}_{p^l} -\;|\; -Y^2+XY = X^3-aX-b -\} -\] -trägt eine Gruppenstruktur, die wie folgt definiert ist: -\begin{enumerate} -\item Der Punkt $(0,0)$ entspricht dem neutralen Element. -\item Das inverse Element von $(x,y)$ ist $(-x,-y-x)$. -\item Für zwei verschiedene Punkte $g_1$ und $g_2$ kann $g_3=(g_1g_2)^{-1}$ -mit Hilfe der Formeln -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -gefunden werden. -\item Für einen Punkt $g_1$ kann $g_3=g_1^{-2}$ in Charakteristik $2$ mit -Hilfe der Formeln -\eqref{buch:crypto:eqn:tangentechar2} -gefunden werden. -\end{enumerate} -Diese Operationen machen $E_{a,b}(\mathbb{F}_{p^l})$ zu einer endlichen -abelschen Gruppe. -\end{satz} - -\subsubsection{Beispiele} -% XXX -TODO: elliptische Kurven in IPsec: Oakley Gruppen - -\subsubsection{Diffie-Hellman in einer elliptischen Kurve} -% XXX -TODO: $g^x$ in einer elliptischen Kurve - - - +%
+% ff.tex -- Kryptographie und endliche Körper
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+
+\section{Kryptographie und endliche Körper
+\label{buch:section:kryptographie-und-endliche-koerper}}
+\rhead{Kryptographie und endliche Körper}
+
+\subsection{Potenzen in $\mathbb{F}_p$ und diskreter Logarithmus
+\label{buch:subsection:potenzen-diskreter-logarithmus}}
+Für kryptographische Anwendungen wird eine einfach zu berechnende
+Funktion benötigt,
+die ohne zusätzliches Wissen, üblicherweise der Schlüssel genannt,
+nicht ohne weiteres umkehrbar ist.
+Die arithmetischen Operationen in einem endlichen Körper sind
+mit geringem Aufwand durchführbar.
+Für die ``schwierigste'' Operation, die Division, steht der
+euklidische Algorithmus zur Verfügung.
+
+Die nächstschwierigere Operation ist die Potenzfunktion.
+Für $g\in \Bbbk$ und $a\in\mathbb{N}$ ist die Potenz $g^a\in\Bbbk$
+natürlich durch die wiederholte Multiplikation definiert.
+In der Praxis werden aber $g$ und $a$ Zahlen mit vielen Binärstellen
+sein, die die wiederholte Multiplikation ist daher sicher nicht
+effizient, das Kriterium der einfachen Berechenbarkeit scheint
+also nicht erfüllt.
+Der folgende Algorithmus berechnet die Potenz in $O(\log_2 a)$
+Multiplikationen.
+
+\begin{algorithmus}[Divide-and-conquer]
+\label{buch:crypto:algo:divide-and-conquer}
+Sei $a=a_0 + a_12^1 + a_22^2 + \dots + a_k2^k$ die Binärdarstellung
+der Zahl $a$.
+\begin{enumerate}
+\item setze $f=g$, $x=1$, $i=0$
+\label{divide-and-conquer-1}
+\item solange $i\ge k$ ist, führe aus
+\label{divide-and-conquer-2}
+\begin{enumerate}
+\item
+\label{divide-and-conquer-3}
+falls $a_i=1$ setze $x \coloneqq x \cdot f$
+\item
+\label{divide-and-conquer-4}
+$i \coloneqq i+1$ und $f\coloneqq f\cdot f$
+\end{enumerate}
+\end{enumerate}
+Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen
+berechnet werden.
+\end{algorithmus}
+
+\begin{proof}[Beweis]
+Die Initalisierung in Schritt~\ref{divide-and-conquer-1} stellt sicher,
+dass $x$ den Wert $g^0$ hat.
+Schritt~\ref{divide-and-conquer-4} stellt sicher,
+dass die Variable $f$ immer den Wert $g^{2^i}$ hat.
+Im Schritt~\ref{divide-and-conquer-3} wird zu $x$ die Potenz
+$g^{a_i2^i}$ hinzumultipliziert.
+Am Ende des Algorithmus hat daher $x$ den Wert
+\[
+x = g^{a_02^0} \cdot g^{a_12^1} \cdot g^{a_22^2} \cdot\ldots\cdot 2^{a_k2^k}
+=
+g^{a_0+a_12+a_22^2+\dots+a_k2^k}
+=
+g^a.
+\]
+Die Schleife wird $\lfloor1+\log_2ab\rfloor$ mal durchlaufen.
+In jedem Fall wird auf jeden Fall die Multiplikation in
+Schritt~\ref{divide-and-conquer-4} durchgeführt
+und im schlimmsten Fall auch noch die Multiplikation in
+Schritt~\ref{divide-and-conquer-3}.
+Es werden also nicht mehr als $2\lfloor 1+\log_2a\rfloor=O(\log_2a)$
+Multiplikationen durchgeführt.
+\end{proof}
+
+\begin{beispiel}
+Man berechne die Potenz $7^{2021}$ in $\mathbb{F}_p$.
+Die Binärdarstellung von 2021 ist $2021_{10}=\texttt{11111100101}_2$.
+Wir stellen die nötigen Operationen des
+Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} in der folgenden
+Tabelle
+\begin{center}
+\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|}
+\hline
+ i& f& a_i& x\\
+\hline
+ 0& 7& 1& 7\\
+ 1& 49& 0& 7\\
+ 2&1110& 1& 24\\
+ 3& 486& 0& 24\\
+ 4&1234& 0& 24\\
+ 5& 667& 1& 516\\
+ 6& 785& 1& 977\\
+ 7& 418& 1& 430\\
+ 8& 439& 1& 284\\
+ 9& 362& 1& 819\\
+10& 653& 1& 333\\
+\hline
+\end{tabular}
+\end{center}
+Daraus liest man ab, dass $7^{2021}=333\in\mathbb{F}_{1291}$.
+\end{beispiel}
+
+Die Tabelle suggeriert, dass die Potenzen von $g$ ``wild'', also
+scheinbar ohne System in $\mathbb{F}_p$ herumspringen.
+Dies deutet an, dass die Umkehrung der Exponentialfunktion in $\mathbb{F}_p$
+schwierig ist.
+Die Umkehrfunktion der Exponentialfunktion, die Umkehrfunktion von
+$x\mapsto g^x$ in $\mathbb{F}_p$ heisst der {\em diskrete Logarithmus}.
+\index{diskreter Logarithmus}%
+Tatsächlich ist der diskrete Logarithmus ähnlich schwierig zu bestimmen
+wie das Faktorisieren von Zahlen, die das Produkt grosser
+Primafaktoren ähnlicher Grössenordnung wie $p$ sind.
+Die Funktion $x\mapsto g^x$ ist die gesuchte, schwierig zu invertierende
+Funktion.
+
+Auf dern ersten Blick scheint der
+Algorithmus~\ref{buch:crypto:algo:divide-and-conquer}
+den Nachteil zu haben, dass erst die Binärdarstellung der Zahl $a$
+ermittelt werden muss.
+In einem Computer ist dies aber normalerweise kein Problem, da $a$
+im Computer ohnehin binär dargestellt ist.
+Die Binärziffern werden in der Reihenfolge vom niederwertigsten zum
+höchstwertigen Bit benötigt.
+Die folgende Modifikation des Algorithmus ermittelt laufend
+auch die Binärstellen von $a$.
+Die dazu notwendigen Operationen sind im Binärsystem besonders
+effizient implementierbar, die Division durch 2 ist ein Bitshift, der
+Rest ist einfach das niederwertigste Bit der Zahl.
+
+\begin{algorithmus}
+\label{buch:crypto:algo:divide-and-conquer2}
+\begin{enumerate}
+\item
+Setze $f=g$, $x=1$, $i=0$
+\item
+Solange $a>0$ ist, führe aus
+\begin{enumerate}
+\item
+Verwende den euklidischen Algorithmus um $r$ und $b$ zu bestimmen mit $a=2b+r$
+\item
+Falls $r=1$ setze $x \coloneqq x \cdot f$
+\item
+$i \coloneqq i+1$, $a = b$ und $f\coloneqq f\cdot f$
+\end{enumerate}
+\end{enumerate}
+Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen
+berechnet werden.
+\end{algorithmus}
+
+
+%
+% Diffie-Hellman Schlüsseltausch
+%
+\subsection{Diffie-Hellman-Schlüsseltausch
+\label{buch:subsection:diffie-hellman}}
+Eine Grundaufgabe der Verschlüsselung im Internet ist, dass zwei
+Kommunikationspartner einen gemeinsamen Schlüssel für die Verschlüsselung
+der Daten aushandeln können müssen.
+Es muss davon ausgegangen werden, dass die Kommunikation abgehört wird.
+Trotzdem soll es für einen Lauscher nicht möglich sein, den
+ausgehandelten Schlüssel zu ermitteln.
+
+% XXX Historisches zu Diffie und Hellman
+
+Die beiden Partner $A$ und $B$ einigen sich zunächst auf eine Zahl $g$,
+die öffentlich bekannt sein darf.
+Weiter erzeugen sie eine zufällige Zahl $a$ und $b$, die sie geheim
+halten.
+Das Verfahren soll aus diesen beiden Zahlen einen Schlüssel erzeugen,
+den beide Partner berechnen können, ohne dass sie $a$ oder $b$
+übermitteln müssen.
+Die beiden Zahlen werden daher auch die privaten Schlüssel genannt.
+
+Die Idee von Diffie und Hellman ist jetzt, die Werte $x=g^a$ und $y=g^b$
+zu übertragen.
+In $\mathbb{R}$ würden dadurch natürlich dem Lauscher auch $a$ offenbart,
+er könnte einfach $a=\log_g x$ berechnen.
+Ebenso kann auch $b$ als $b=\log_g y$ erhalten werden, die beiden
+privaten Schlüssel wären also nicht mehr privat.
+Statt der Potenzfunktion in $\mathbb{R}$ muss also eine Funktion
+verwendet werden, die nicht so leicht umgekehrt werden kann.
+Die Potenzfunktion in $\mathbb{F}_p$ erfüllt genau diese Eigenschaft.
+Die Kommunikationspartner einigen sich also auch noch auf die (grosse)
+Primzahl $p$ und übermitteln $x=g^a\in\mathbb{F}_p$ und
+$y=g^b\in\mathbb{F}_p$.
+
+\begin{figure}
+\centering
+\includegraphics{chapters/90-crypto/images/dh.pdf}
+\caption{Schlüsselaustausch nach Diffie-Hellman.
+Die Kommunikationspartner $A$ und $B$ einigen sich öffentlich auf
+$p\in\mathbb{N}$ und $g\in\mathbb{F}_p$.
+$A$ wählt dann einen privaten Schlüssel $a\in\mathbb{N}$ und
+$B$ wählt $b\in\mathbb{N}$, sie tauschen dann $x=g^a$ und $y=g^b$
+aus.
+$A$ erhält den gemeinsamen Schlüssel aus $y^a$, $B$ erhält ihn
+aus $x^b$.
+\label{buch:crypto:fig:dh}}
+\end{figure}
+
+Aus $x$ und $y$ muss jetzt der gemeinsame Schlüssel abgeleitet werden.
+$A$ kennt $y=g^b$ und $a$, $B$ kennt $x=g^a$ und $b$.
+Beide können die Zahl $s=g^{ab}\in\mathbb{F}_p$ berechnen.
+$A$ macht das, indem er $y^a=(g^b)^a = g^{ab}$ rechnet,
+$B$ rechnet $x^b = (g^a)^b = g^{ab}$, beide natürlich in $\mathbb{F}_p$.
+Der Lauscher kann aber $g^{ab}$ nicht ermitteln, dazu müsste er
+$a$ oder $b$ ermitteln können.
+Die Zahl $s=g^{ab}$ kann also als gemeinsamer Schlüssel verwendet
+werden.
+
+
+
+\subsection{Elliptische Kurven
+\label{buch:subsection:elliptische-kurven}}
+Das Diffie-Hellman-Verfahren basiert auf der Schwierigkeit, in einem
+Körper $\mathbb{F}_p$ die Gleichung $a^x=b$ nach $x$ aufzulösen.
+Die Addition in $\mathbb{F}_p$ wird dazu nicht benötigt.
+Es reicht, eine Menge mit einer Multiplikation zu haben, in der das
+die Gleichung $a^x=b$ schwierig zu lösen ist.
+Ein Gruppe wäre also durchaus ausreichend.
+
+Ein Kandidat für eine solche Gruppe könnte der Einheitskreis
+$S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ in der komplexen Ebene sein.
+Wählt man eine Zahl $g=e^{i\alpha}$, wobei $\alpha$ ein irrationales
+Vielfaches von $\pi$ ist, dann sind alle Potenzen $g^n$ für natürliche
+Exponenten voneinander verschieden.
+Wäre nämlich $g^{n_1}=g^{n_2}$, dann wäre $e^{i\alpha(n_1-n_2)}=1$ und
+somit müsste $\alpha=2k\pi/(n_1-n_2)$ sein.
+Damit wäre aber $\alpha$ ein rationales Vielfaches von $\pi$, im Widerspruch
+zur Voraussetzung.
+Die Abbildung $n\mapsto g^n\in S^1$ ist auf den ersten Blick etwa ähnlich
+undurchschaubar wie die Abbildung $n\mapsto g^n\in\mathbb{F}_p$.
+Es gibt zwar die komplexe Logarithmusfunktion, mit der man $n$ bestimmen
+kann, dazu muss man aber den Wert von $g^n$ mit beliebiger Genauigkeit
+kennen, denn die Werte von $g^n$ können beliebig nahe beieinander liegen.
+
+Der Einheitskreis ist die Lösungsmenge der Gleichung $x^2+y^2=1$ für
+reelle Koordinaten $x$ und $y$,
+doch Rundungsunsicherheiten verunmöglichen den Einsatz in einem
+Verfahren ähnlich dem Diffie-Hellman-Verfahren.
+Dieses Problem kann gelöst werden, indem für die Variablen Werte
+aus einem endlichen Körper verwendet werden.
+Gesucht ist also eine Gleichung in zwei Variablen, deren Lösungsmenge
+in einem endlichen Körper eine Gruppenstruktur trägt.
+Die Lösungsmenge ist eine ``Kurve'' von Punkten mit
+Koordinaten in einem endlichen Körper.
+
+In diesem Abschnitt wird gezeigt, dass sogenannte elliptische Kurven
+über endlichen Körpern genau die verlangen Eigenschaften haben.
+
+\subsubsection{Elliptische Kurven}
+Elliptische Kurven sind Lösungen einer Gleichung der Form
+\begin{equation}
+Y^2+XY=X^3+aX+b
+\label{buch:crypto:eqn:ellipticcurve}
+\end{equation}
+mit Werten von $X$ und $Y$ in einem geeigneten Körper.
+Die Koeffizienten $a$ und $b$ müssen so gewählt werden, dass die
+Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} genügend viele
+Lösungen hat.
+Über den komplexen Zahlen hat die Gleichung natürlich für jede Wahl von
+$X$ drei Lösungen.
+Für einen endlichen Körper können wir dies im allgemeinen nicht erwarten,
+aber wenn wir genügend viele Wurzeln zu $\mathbb{F}$ hinzufügen können wir
+mindestens erreichen, dass die Lösungsmenge so viele Elemente hat,
+dass ein Versuch, die Gleichung $g^x=b$ mittels Durchprobierens zu
+lösen, zum Scheitern verurteil ist.
+
+\begin{definition}
+\label{buch:crypto:def:ellipticcurve}
+Die {\em elliptische Kurve} $E_{a,b}(\Bbbk)$ über dem Körper $\Bbbk$ ist
+die Menge
+\[
+E_{a,b}(\Bbbk)
+=
+\{(X,Y)\in\Bbbk^2\;|\;Y^2+XY=X^3+aX+b\},
+\]
+für $a,b\in\Bbbk$.
+\end{definition}
+
+Um die Anschauung zu vereinfachen, werden wir elliptische Kurven über
+dem Körper $\mathbb{R}$ visualisieren.
+Die daraus gewonnenen geometrischen Einsichten werden wir anschliessend
+algebraisch umsetzen.
+In den reellen Zahlen kann man die
+Gleichung~\eqref{buch:crypto:eqn:ellipticcurve}
+noch etwas vereinfachen.
+Indem man in \eqref{buch:crypto:eqn:ellipticcurve}
+quadratisch ergänzt, bekommt man
+\begin{align}
+Y^2 + XY + \frac14X^2 &= X^3+\frac14 X^2 +aX+b
+\notag
+\\
+\Rightarrow\qquad
+v^2&=X^3+\frac14X^2+aX+b,
+\label{buch:crypto:eqn:ell2}
+\end{align}
+indem man $v=Y+\frac12X$ setzt.
+Man beachte, dass man diese Substition nur machen kann, wenn $\frac12$
+definiert ist.
+In $\mathbb{R}$ ist dies kein Problem, aber genau über den Körpern
+mit Charakteristik $2$, die wir für die Computer-Implementation
+bevorzugen, ist dies nicht möglich.
+Es geht hier aber nur um die Visualisierung.
+
+Auch die Form \eqref{buch:crypto:eqn:ell2} lässt sich noch etwas
+vereinfachen.
+Setzt man $X=u-\frac1{12}$, dann verschwindet nach einiger Rechnung,
+die wir hier nicht durchführen wollen, der quadratische Term
+auf der rechten Seite.
+Die interessierenden Punkte sind Lösungen der einfacheren Gleichung
+\begin{equation}
+v^2
+=
+u^3+\biggl(a-\frac{1}{48}\biggr)u + b-\frac{a}{12}+\frac{1}{864}
+=
+u^3+Au+B.
+\label{buch:crypto:ellvereinfacht}
+\end{equation}
+In dieser Form ist mit $(u,v)$ immer auch $(u,-v)$ eine Lösung,
+die Kurve ist symmetrisch bezüglich der $u$-Achse.
+Ebenso kann man ablesen, dass nur diejenigen $u$-Werte möglich sind,
+für die das kubische Polynom $u^3+Au+B$ auf der rechten Seite von
+\eqref{buch:crypto:ellvereinfacht}
+nicht negativ ist.
+
+Sind $u_1$, $u_2$ und $u_3$ die Nullstellen des kubischen Polynoms
+auf der rechten Seite von~\eqref{buch:crypto:ellvereinfacht}, folgt
+\[
+v^2
+=
+(u-u_1)(u-u_2)(u-u_3)
+=
+u^3
+-(u_1+u_2+u_3)u^2
++(u_1u_2+u_1u_3+u_2u_3)u
+-
+u_1u_2u_3.
+\]
+Durch Koeffizientenvergleich sieht man, dass $u_1+u_2+u_3=0$ sein muss.
+\begin{figure}
+\centering
+\includegraphics{chapters/90-crypto/images/elliptic.pdf}
+\caption{Elliptische Kurve in $\mathbb{R}$ in der Form
+$v^2=u^3+Au+B$ mit Nullstellen $u_1$, $u_2$ und $u_3$ des
+kubischen Polynoms auf der rechten Seite.
+Die blauen Punkte und Geraden illustrieren die Definition der
+Gruppenoperation in der elliptischen Kurve.
+\label{buch:crypto:fig:elliptischekurve}}
+\end{figure}
+Abbildung~\ref{buch:crypto:fig:elliptischekurve}
+zeigt eine elliptische Kurve in der Ebene.
+
+\subsubsection{Geometrische Definition der Gruppenoperation}
+In der speziellen Form \ref{buch:crypto:ellvereinfacht} ist die
+elliptische Kurve symmetrisch unter Spiegelung an der $u$-Achse.
+Die Spiegelung ist eine Involution, zweimalige Ausführung führt auf
+den ursprünglichen Punkt zurück.
+Die Inverse in einer Gruppe hat diese Eigenschaft auch, es ist
+daher naheliegend, den gespiegelten Punkt als die Inverse eines
+Elementes zu nehmen.
+
+Eine Gerade durch zwei Punkte der
+in Abbildung~\ref{buch:crypto:fig:elliptischekurve}
+dargestellten Kurve schneidet die Kurve ein drittes Mal.
+Die Gruppenoperation wird so definiert, dass drei Punkte der Kurve
+auf einer Geraden das Gruppenprodukt $e$ haben.
+Da aus $g_1g_2g_3=e$ folgt $g_3=(g_1g_2)^{-1}$ oder
+$g_1g_2=g_3^{-1}$, erhält man das Gruppenprodukt zweier Elemente
+auf der elliptischen Kurve indem erst den dritten Schnittpunkt
+ermittelt und diesen dann an der $u$-Achse spiegelt.
+
+Die geometrische Konstruktion schlägt fehl, wenn $g_1=g_2$ ist.
+In diesem Fall kann man die Tangente im Punkt $g_1$ an die Kurve
+verwenden.
+Dieser Fall tritt zum Beispiel auch in den drei Punkten
+$(u_1,0)$, $(u_2,0)$ und $(u_3,0)$ ein.
+
+Um das neutrale Element der Gruppe zu finden, können wir
+zwei Punkte $g$ und $g^{-1}$ miteinander verknüpfen.
+Die Gerade durch $g$ und $g^{-1}$ schneidet aber die Kurve
+kein drittes Mal.
+Ausserdem sind alle Geraden durch $g$ und $g^{-1}$ für verschiedene
+$g$ parallel.
+Das neutrale Element entspricht also einem unendlich weit entfernten Punkt.
+Das neutrale Element entsteht immer dann als Produkt, wenn zwei
+Punkte die gleiche $u$-Koordinaten haben.
+
+\subsubsection{Gruppenoperation, algebraische Konstruktion}
+Nach den geometrischen Vorarbeiten zur Definition der Gruppenoperation
+kann können wir die Konstruktion jetzt algebraisch umsetzen.
+
+Zunächst überlegen wir uns wieder eine Involution, welche als Inverse
+dienen kann.
+Dazu beachten wir, dass die linke Seite der definierenden Gleichung
+\begin{equation}
+Y^2+XY=X^3-aX+b.
+\label{buch:crypto:eqn:grupopgl}
+\end{equation}
+auch als $Y(Y+X)$ geschrieben werden kann.
+Die Abbildung $Y\mapsto -X-Y$ macht daraus
+\[
+(-X-Y)(-X-Y+X)=(X+Y)Y,
+\]
+dies ist also die gesuchte Involution.
+
+Seien also $g_1=(x_1,y_1)$ und $g_2=(x_2,y_2)$ zwei verschiedene Lösungen
+der Gleichung \eqref{buch:crypto:eqn:grupopgl}
+Als erstes brauchen wir eine Gleichung für die Gerade durch die beiden
+Punkte.
+Sei also $l(X,Y)$ eine Linearform derart, dass $l(g_1)=d$ und $l(g_2)=d$
+für ein geeignetes $d\in\Bbbk$.
+Dann gilt auch für die Punkte
+\[
+g(t) = tg_1 + (1-t)g_2
+\qquad\Rightarrow\qquad
+l(g(t))
+=
+tl(g_1) + (1-t)l(g_2)
+=
+tc+(1-t)c
+=
+(t+1-t)c
+=c,
+\]
+jeder Punkt der Geraden durch $g_1$ und $g_2$ lässt sich in dieser Form
+schreiben.
+
+Setzt man jetzt $g(t)$ in die Gleichung ein, erhält man eine kubische
+Gleichung in $t$, von der wir bereits zwei Nullstellen kennen, nämlich
+$0$ und $1$.
+Die kubische Gleichung muss also durch $t$ und $(t-1)$ teilbar sein.
+Diese Berechnung kann man einfach in einem Computeralgebrasystem
+durchführen.
+Das Polynom ist
+\[
+p(t)
+=
+\]
+Nach Division durch $t(t-1)$ erhält man als den Quotienten
+\begin{align*}
+q(t)
+&=
+(y_2-y_1)^2
++
+(y_2-y_1) (x_2-x_1)
++
+t(x_2-x_1)^3
+-
+2x_2^3+3x_1x_2^2-x_1^3
+\end{align*}
+und den Rest
+\[
+r(t)
+=
+t(y_1^2+x_1y_1-x_1^3-ax_1-b)
++
+(1-t)(y_2^2+x_2y_2-x_2^3-ax_2-b).
+\]
+Die Klammerausdrücke verschwinden, da die sie gleichbedeutend damit sind,
+dass die Punkte Lösungen von \eqref{buch:crypto:eqn:grupopgl} sind.
+
+Für den dritten Punkt auf der Geraden muss $t$ so gewählt werden, dass
+$q(t)=0$ ist.
+Dies ist aber eine lineare Gleichung mit der Lösung
+\begin{align*}
+t
+&=
+-\frac{
+(y_1-y_2)^2
++
+(y_2-y_1)(x_2-x_1)
+-2x_2^3+3x_1x_2^2-x_1^3
+}{(x_2-x_1)^3}
+.
+\end{align*}
+Setzt man dies $g(t)$ ein, erhält man für die Koordinaten des dritten
+Punktes $g_3$ die Werte
+\begin{align}
+x_3
+&=
+\frac{
+(y_2-y_1)^2(x_2-x_1) + (y_2-y_1)(x_2-x_1)^2
+-(x_2^4+x_1^4)
+}{
+(x_2-x_1)^3
+}
+\label{buch:crypto:eqn:x3}
+\\
+y_3
+&=
+\frac{
+(y_2-y_1)^3
++(x_2-x_1)(y_2-y_1)^2
+-(x_{2}-x_{1})^3 ( y_{2} - y_{1})
+-(x_{2}-x_{1})^2 ( x_{1} y_{2}- x_{2} y_{1})
+}{
+(x_2-x_1)^3
+}
+\label{buch:crypto:eqn:y3}
+\end{align}
+Die Gleichungen
+\eqref{buch:crypto:eqn:x3}
+und
+\eqref{buch:crypto:eqn:y3}
+ermöglichen also, das Element $g_1g_2^{-1}$ zu berechnen.
+Interessant daran ist, dass in den Formeln die Konstanten $a$ und $b$
+gar nicht vorkommen.
+
+Es bleibt noch der wichtige Fall des Quadrierens in der Gruppe zu
+behandeln, also den Fall $g_1=g_2$.
+In diese Fall sind die Formeln
+\eqref{buch:crypto:eqn:x3}
+und
+\eqref{buch:crypto:eqn:y3}
+ganz offensichtlich nicht anwendbar.
+Die geometrische Anschauung hat nahegelegt, die Tangent an die Kurve
+im Punkt $g_1$ zu nehmen.
+In $\mathbb{R}$ würde man dafür einen Grenzübergang $g_2\to g_1$ machen,
+aber in einem endlichen Körper ist dies natürlich nicht möglich.
+
+Wir schreiben die Gerade als Parameterdarstellung in der Form
+\(
+t\mapsto g(t)= (x_1+ut, y_1+vt)
+\)
+für beliebige Parameter in $\Bbbk$.
+Die Werte $u_1$ und $u_2$ müssen so gewählt werden, dass $g(t)$ eine
+Tangente wird.
+Setzt man $g(t)$ in die Gleichung~\eqref{buch:crypto:eqn:grupopgl} ein,
+entsteht ein kubische Gleichung, die genau dann eine doppelte Nullstelle
+bei $0$ hat, wenn $u,v$ die Tangentenrichtung beschreiben.
+Einsetzen von $g(t)$ in \eqref{buch:crypto:eqn:grupopgl}
+ergibt die Gleichung
+\begin{align}
+0
+&=
+-u^3t^3
++
+(-3u^2x_{1}+v^2+uv)t^2
++
+(2vy_1+uy_1-3ux_1^2+vx_1-au)t
++
+(y_1^2+x_1y_1-x_1^3-ax_1-b)
+\label{buch:crypto:eqn:tangente1}
+\end{align}
+Damit bei $t=0$ eine doppelte Nullstelle mussen die letzten beiden
+Koeffizienten verschwinden, dies führt auf die Gleichungen
+\begin{align}
+y_1^2+x_1y_1&=x_1^3+ax_1+b
+\label{buch:crypto:eqn:rest1}
+\\
+(2y_1
++x_1)v
++(y_1
+-3x_1^2
+-a)u
+&=0
+\label{buch:crypto:eqn:rest2}
+\end{align}
+Die erste Gleichung \eqref{buch:crypto:eqn:rest1} drückt aus,
+dass $g_1$ ein Punkt der Kurve ist, sie ist automatisch erfüllt.
+
+Die zweite Gleichung
+\eqref{buch:crypto:eqn:rest2}
+legt das Verhältnis von $u$ und $v$, also die
+\label{buch:crypto:eqn:rest2}
+Tangentenrichtung fest.
+Eine mögliche Lösung ist
+\begin{equation}
+\begin{aligned}
+u &= x_1+2y_1
+\\
+v &= -y_1+3x_1^2+a.
+\end{aligned}
+\label{buch:crypto:eqn:uv}
+\end{equation}
+
+Der Quotient ist ein lineares Polynom in $t$, die Nullstelle parametrisiert
+den Punkt, der $(g_1)^{-2}$ entspricht.
+Der zugehörige Wert von $t$ ist
+\begin{equation}
+t=-\frac{3u^2x_1-v^2-uv}{u^3}.
+\label{buch:crypto:eqn:t}
+\end{equation}
+
+
+Setzt man
+\label{buch:crypto:eqn:t}
+und
+\eqref{buch:crypto:eqn:uv}
+in $g(t)$ ein, erhält man sehr komplizierte Ausdrücke für den dritten Punkt.
+Wir verzichten darauf, diese Ausdrücke hier aufzuschreiben.
+In der Praxis wird man in einem Körper der Charakteristik 2 arbeiten.
+In diesem Körper werden alle geraden Koeffizienten zu $0$, alle ungeraden
+Koeffizienten werden unabhängig vom Vorzeichen zu $1$.
+Damit bekommt man die folgenden, sehr viel übersichtlicheren Ausdrücke
+für den dritten Punkt:
+\begin{equation}
+\begin{aligned}
+x
+&=
+-\frac{
+y_1^2+x_1y_1+x_1^4+x_1^3+ax_1-a^2
+ }{
+x_1^2
+}
+\\
+y
+&=
+\frac{
+y_1^3+(x_1^2+x_1+a)y_1^2+(x_1^4 +a^2)y_1+x_1^6+ax_1^4+ax_1^3+a^2x_1^2+a^2x_1+a^3
+}{
+ x_1^3
+}
+\end{aligned}
+\label{buch:crypto:eqn:tangentechar2}
+\end{equation}
+Damit haben wir einen vollständigen Formelsatz für die Berechnung der
+Gruppenoperation in der elliptischen Kurve mindestens für den praktisch
+relevanten Fall einer Kurve über einem Körper der Charakteristik $2$.
+
+\begin{satz}
+Die elliptische Kurve
+\[
+E_{a,b}(\mathbb{F}_{p^l})
+=
+\{
+(X,Y)\in\mathbb{F}_{p^l}
+\;|\;
+Y^2+XY = X^3-aX-b
+\}
+\]
+trägt eine Gruppenstruktur, die wie folgt definiert ist:
+\begin{enumerate}
+\item Der Punkt $(0,0)$ entspricht dem neutralen Element.
+\item Das inverse Element von $(x,y)$ ist $(-x,-y-x)$.
+\item Für zwei verschiedene Punkte $g_1$ und $g_2$ kann $g_3=(g_1g_2)^{-1}$
+mit Hilfe der Formeln
+\eqref{buch:crypto:eqn:x3}
+und
+\eqref{buch:crypto:eqn:y3}
+gefunden werden.
+\item Für einen Punkt $g_1$ kann $g_3=g_1^{-2}$ in Charakteristik $2$ mit
+Hilfe der Formeln
+\eqref{buch:crypto:eqn:tangentechar2}
+gefunden werden.
+\end{enumerate}
+Diese Operationen machen $E_{a,b}(\mathbb{F}_{p^l})$ zu einer endlichen
+abelschen Gruppe.
+\end{satz}
+
+\subsubsection{Beispiele}
+% XXX
+TODO: elliptische Kurven in IPsec: Oakley Gruppen
+
+\subsubsection{Diffie-Hellman in einer elliptischen Kurve}
+% XXX
+TODO: $g^x$ in einer elliptischen Kurve
+
+
+
diff --git a/buch/chapters/90-crypto/images/Makefile b/buch/chapters/90-crypto/images/Makefile index f4bed14..5df9178 100644 --- a/buch/chapters/90-crypto/images/Makefile +++ b/buch/chapters/90-crypto/images/Makefile @@ -1,29 +1,29 @@ -# -# Makefile -- build images for crypto chapter -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \ - shift.pdf keys.pdf - -dh.pdf: dh.tex - pdflatex dh.tex - -elliptic.pdf: elliptic.tex - pdflatex elliptic.tex - -schieberegister.pdf: schieberegister.tex - pdflatex schieberegister.tex - -multiplikation.pdf: multiplikation.tex - pdflatex multiplikation.tex - -sbox.pdf: sbox.tex - pdflatex sbox.tex - -shift.pdf: shift.tex - pdflatex shift.tex - -keys.pdf: keys.tex - pdflatex keys.tex - +#
+# Makefile -- build images for crypto chapter
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \
+ shift.pdf keys.pdf
+
+dh.pdf: dh.tex
+ pdflatex dh.tex
+
+elliptic.pdf: elliptic.tex
+ pdflatex elliptic.tex
+
+schieberegister.pdf: schieberegister.tex
+ pdflatex schieberegister.tex
+
+multiplikation.pdf: multiplikation.tex
+ pdflatex multiplikation.tex
+
+sbox.pdf: sbox.tex
+ pdflatex sbox.tex
+
+shift.pdf: shift.tex
+ pdflatex shift.tex
+
+keys.pdf: keys.tex
+ pdflatex keys.tex
+
diff --git a/buch/chapters/90-crypto/images/keys.tex b/buch/chapters/90-crypto/images/keys.tex index d556b7c..4b1b566 100644 --- a/buch/chapters/90-crypto/images/keys.tex +++ b/buch/chapters/90-crypto/images/keys.tex @@ -1,121 +1,121 @@ -% -% keys.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] -\definecolor{darkgreen}{rgb}{0,0.6,0} -\def\s{0.5} -\def\punkt#1#2{({(#1)*\s},{(#2)*\s})} -\def\wort#1#2#3{ - \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; - \draw \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; -} - -\def\summe{ - \foreach \x in {0,3,...,21}{ - \draw[->] \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; - \draw \punkt{(\x+0.5)}{-2.5} circle[radius={0.3*\s}]; - \draw \punkt{(\x+0.5-0.2)}{-2.5} - -- - \punkt{(\x+0.5+0.2)}{-2.5}; - \draw \punkt{(\x+0.5)}{-2.5+0.2} - -- - \punkt{(\x+0.5)}{-2.5-0.2}; - \draw[->] \punkt{(\x+0.5)}{-2.9} -- \punkt{(\x+0.5)}{-4.9}; - } - \foreach \x in {0,3,...,18}{ - \draw[->] \punkt{(\x+1.1)}{-7} -- \punkt{(\x+2)}{-7} - -- \punkt{(\x+2)}{-2.5} -- \punkt{(\x+3.1)}{-2.5}; - } - \fill[color=white] - \punkt{(9+1.25)}{-5.5} - rectangle - \punkt{(9+2.75)}{-4.00}; - \draw - \punkt{(9+1.25)}{-5.5} - rectangle - \punkt{(9+2.75)}{-4.00}; - \node at \punkt{(9+2)}{-4.75} {$S$}; -} - -\def\blocks#1{ - \foreach \x in {0,3,...,21}{ - \wort{\x}{0}{#1} - } -} - -\def\schlange#1{ - \draw[->] \punkt{22.1}{2} -- \punkt{23}{2} - -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} - -- \punkt{-3}{-8} -- \punkt{-1}{-8} -- \punkt{-1}{-2.5} - -- \punkt{0.1}{-2.5}; - ; - \fill[color=white] \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; - \draw \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; - \node at \punkt{-3}{-2.5} {$\pi$}; - - \fill[color=white] \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; - \draw \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; - \node at \punkt{-3}{-4.5} {$S$}; - - \fill[color=white] \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; - \draw \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; - \node at \punkt{-3}{-6.5} {$r_{#1}$}; -} - -\begin{scope} - \blocks{blue!20} - \foreach \x in {0,...,7}{ - \node at \punkt{(3*\x+0.5)}{2} {$K_\x$}; - } - \schlange{1} - \summe -\end{scope} - -\begin{scope}[yshift=-4.5cm] - \blocks{darkgreen!20} - \foreach \x in {8,...,15}{ - \node at \punkt{(3*(\x-8)+0.5)}{2} {$K_{\x}$}; - } - \schlange{2} - \summe -\end{scope} - -\begin{scope}[yshift=-9cm] - \blocks{darkgreen!20} - \foreach \x in {16,...,23}{ - \node at \punkt{(3*(\x-16)+0.5)}{2} {$K_{\x}$}; - } - \schlange{3} - \summe -\end{scope} - -\begin{scope}[yshift=-13.5cm] - \blocks{darkgreen!20} - \foreach \x in {24,...,31}{ - \node at \punkt{(3*(\x-24)+0.5)}{2} {$K_{\x}$}; - } - \foreach \x in {0,3,...,21}{ - \draw[->,color=gray] - \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; - \node[color=gray] at \punkt{(\x+0.5)}{-2.1} [below] {$\vdots$}; - } - \draw[color=gray] \punkt{22.1}{2} -- \punkt{23}{2} - -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} - -- \punkt{-3}{-2.1}; - \node[color=gray] at \punkt{-3}{-2.1} [below] {$\vdots$}; -\end{scope} - -\end{tikzpicture} -\end{document} - +%
+% keys.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+\def\s{0.5}
+\def\punkt#1#2{({(#1)*\s},{(#2)*\s})}
+\def\wort#1#2#3{
+ \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)};
+ \draw \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)};
+}
+
+\def\summe{
+ \foreach \x in {0,3,...,21}{
+ \draw[->] \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1};
+ \draw \punkt{(\x+0.5)}{-2.5} circle[radius={0.3*\s}];
+ \draw \punkt{(\x+0.5-0.2)}{-2.5}
+ --
+ \punkt{(\x+0.5+0.2)}{-2.5};
+ \draw \punkt{(\x+0.5)}{-2.5+0.2}
+ --
+ \punkt{(\x+0.5)}{-2.5-0.2};
+ \draw[->] \punkt{(\x+0.5)}{-2.9} -- \punkt{(\x+0.5)}{-4.9};
+ }
+ \foreach \x in {0,3,...,18}{
+ \draw[->] \punkt{(\x+1.1)}{-7} -- \punkt{(\x+2)}{-7}
+ -- \punkt{(\x+2)}{-2.5} -- \punkt{(\x+3.1)}{-2.5};
+ }
+ \fill[color=white]
+ \punkt{(9+1.25)}{-5.5}
+ rectangle
+ \punkt{(9+2.75)}{-4.00};
+ \draw
+ \punkt{(9+1.25)}{-5.5}
+ rectangle
+ \punkt{(9+2.75)}{-4.00};
+ \node at \punkt{(9+2)}{-4.75} {$S$};
+}
+
+\def\blocks#1{
+ \foreach \x in {0,3,...,21}{
+ \wort{\x}{0}{#1}
+ }
+}
+
+\def\schlange#1{
+ \draw[->] \punkt{22.1}{2} -- \punkt{23}{2}
+ -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0}
+ -- \punkt{-3}{-8} -- \punkt{-1}{-8} -- \punkt{-1}{-2.5}
+ -- \punkt{0.1}{-2.5};
+ ;
+ \fill[color=white] \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25};
+ \draw \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25};
+ \node at \punkt{-3}{-2.5} {$\pi$};
+
+ \fill[color=white] \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25};
+ \draw \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25};
+ \node at \punkt{-3}{-4.5} {$S$};
+
+ \fill[color=white] \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25};
+ \draw \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25};
+ \node at \punkt{-3}{-6.5} {$r_{#1}$};
+}
+
+\begin{scope}
+ \blocks{blue!20}
+ \foreach \x in {0,...,7}{
+ \node at \punkt{(3*\x+0.5)}{2} {$K_\x$};
+ }
+ \schlange{1}
+ \summe
+\end{scope}
+
+\begin{scope}[yshift=-4.5cm]
+ \blocks{darkgreen!20}
+ \foreach \x in {8,...,15}{
+ \node at \punkt{(3*(\x-8)+0.5)}{2} {$K_{\x}$};
+ }
+ \schlange{2}
+ \summe
+\end{scope}
+
+\begin{scope}[yshift=-9cm]
+ \blocks{darkgreen!20}
+ \foreach \x in {16,...,23}{
+ \node at \punkt{(3*(\x-16)+0.5)}{2} {$K_{\x}$};
+ }
+ \schlange{3}
+ \summe
+\end{scope}
+
+\begin{scope}[yshift=-13.5cm]
+ \blocks{darkgreen!20}
+ \foreach \x in {24,...,31}{
+ \node at \punkt{(3*(\x-24)+0.5)}{2} {$K_{\x}$};
+ }
+ \foreach \x in {0,3,...,21}{
+ \draw[->,color=gray]
+ \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1};
+ \node[color=gray] at \punkt{(\x+0.5)}{-2.1} [below] {$\vdots$};
+ }
+ \draw[color=gray] \punkt{22.1}{2} -- \punkt{23}{2}
+ -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0}
+ -- \punkt{-3}{-2.1};
+ \node[color=gray] at \punkt{-3}{-2.1} [below] {$\vdots$};
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/90-crypto/images/multiplikation.tex b/buch/chapters/90-crypto/images/multiplikation.tex index 27c4329..dd59097 100644 --- a/buch/chapters/90-crypto/images/multiplikation.tex +++ b/buch/chapters/90-crypto/images/multiplikation.tex @@ -1,464 +1,464 @@ -% -% multiplikation.tex -- -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\def\s{0.45} - -\def\punkt#1#2{({#1*\s},{#2*\s})} - -\def\pfeile{ - \foreach \x in {0.5,1.5,...,7.5}{ - \draw[->,color=blue] \punkt{\x}{-2.1} -- \punkt{(\x-1)}{-3.3}; - } -} - -\begin{scope}[yshift=0.1cm] - \node at \punkt{0}{0.5} [left] {$p(X)=\mathstrut$}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{1}}; - \foreach \x in {0.5,1.5,...,7.5}{ - \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.3}; - } -\end{scope} - -\begin{scope}[yshift=-1cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{1}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - - \draw[->,color=darkgreen] - \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; - \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{0}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-3cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{1}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{1}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{0}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{0}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-5cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{1}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{1}}; - \node at \punkt{1.5}{-1.5} {\texttt{1}}; - \node at \punkt{2.5}{-1.5} {\texttt{0}}; - \node at \punkt{3.5}{-1.5} {\texttt{0}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{1}}; - \node at \punkt{6.5}{-1.5} {\texttt{0}}; - \node at \punkt{7.5}{-1.5} {\texttt{0}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-7cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{1}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - - \draw[->,color=darkgreen] - \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; - \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{1}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{0}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-9cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - - \draw[->,color=darkgreen] - \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; - \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{1}}; - \node at \punkt{5.5}{-1.5} {\texttt{1}}; - \node at \punkt{6.5}{-1.5} {\texttt{0}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-11cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{1}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{1}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{0}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-13cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{1}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{1}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{0}}; - \node at \punkt{4.5}{-1.5} {\texttt{1}}; - \node at \punkt{5.5}{-1.5} {\texttt{1}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - -% \pfeile -\end{scope} - -\begin{scope}[xshift=9cm] - -\begin{scope}[yshift=0.1cm] - \draw[->] \punkt{-11.8}{0.5} -- \punkt{-0.1}{0.5}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \draw \punkt{4}{-0.1} -- \punkt{4}{-3}; - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{1}}; -\end{scope} - -\def\summation#1#2#3#4#5#6#7#8{ - \draw[->] \punkt{4}{2.3} -- \punkt{4}{1}; - - \draw[->] \punkt{-11.8}{0.5} -- \punkt{3.5}{0.5}; - - \draw \punkt{4}{0.5} circle[radius=0.2]; - \draw \punkt{4}{0.20} -- \punkt{4}{0.80}; - \draw \punkt{3.7}{0.5} -- \punkt{4.3}{0.5}; - - \draw[->] \punkt{4}{-0.05} -- \punkt{4}{-0.95}; - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - - \node at \punkt{0.5}{-1.5} {\texttt{#1}}; - \node at \punkt{1.5}{-1.5} {\texttt{#2}}; - \node at \punkt{2.5}{-1.5} {\texttt{#3}}; - \node at \punkt{3.5}{-1.5} {\texttt{#4}}; - \node at \punkt{4.5}{-1.5} {\texttt{#5}}; - \node at \punkt{5.5}{-1.5} {\texttt{#6}}; - \node at \punkt{6.5}{-1.5} {\texttt{#7}}; - \node at \punkt{7.5}{-1.5} {\texttt{#8}}; -} - -\begin{scope}[yshift=-1.9cm] - \summation{1}{0}{0}{1}{0}{1}{0}{1} -\end{scope} - -\begin{scope}[yshift=-3.9cm] - \summation{1}{1}{1}{1}{0}{1}{1}{1} -\end{scope} - -\begin{scope}[yshift=-5.9cm] - \summation{1}{1}{1}{1}{0}{1}{1}{1} -\end{scope} - -\begin{scope}[yshift=-7.9cm] - \summation{0}{1}{1}{0}{0}{1}{0}{0} -\end{scope} - -\begin{scope}[yshift=-9.9cm] - \summation{0}{1}{0}{1}{1}{0}{0}{1} -\end{scope} - -\begin{scope}[yshift=-11.9cm] - \summation{0}{1}{0}{1}{1}{0}{0}{1} -\end{scope} - -\begin{scope}[yshift=-13.9cm] - \summation{0}{0}{1}{1}{0}{1}{1}{0} - \node at \punkt{0}{-1.5} [left] {$p(X)\cdot q(X)=\mathstrut$}; -\end{scope} - -\end{scope} - -\begin{scope}[xshift=5cm] - -\begin{scope}[yshift=2cm] - \node at \punkt{0}{0.5} [left] {$q(X)=\mathstrut$}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{1}}; - - \draw[->] \punkt{7.5}{-0.1} -- ({7.5*\s},{-1.3}); - \node at ({7.5*\s},{-1.2}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \def\y{1.2} - - \draw[->] \punkt{6.5}{-0.1} -- ({6.5*\s},{-1*2-\y-0.1}); - \node at ({6.5*\s},{-1*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; - - \draw[->] \punkt{5.5}{-0.1} -- ({5.5*\s},{-2*2-\y-0.1}); - \node at ({5.5*\s},{-2*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \draw[->] \punkt{4.5}{-0.1} -- ({4.5*\s},{-3*2-\y-0.1}); - \node at ({4.5*\s},{-3*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; - - \draw[->] \punkt{3.5}{-0.1} -- ({3.5*\s},{-4*2-\y-0.1}); - \node at ({3.5*\s},{-4*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \draw[->] \punkt{2.5}{-0.1} -- ({2.5*\s},{-5*2-\y-0.1}); - \node at ({2.5*\s},{-5*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \draw[->] \punkt{1.5}{-0.1} -- ({1.5*\s},{-6*2-\y-0.1}); - \node at ({1.5*\s},{-6*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; - - \draw[->] \punkt{0.5}{-0.1} -- ({0.5*\s},{-7*2-\y-0.1}); - \node at ({0.5*\s},{-7*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; -\end{scope} - -\end{scope} - -\end{tikzpicture} -\end{document} - +%
+% multiplikation.tex --
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\s{0.45}
+
+\def\punkt#1#2{({#1*\s},{#2*\s})}
+
+\def\pfeile{
+ \foreach \x in {0.5,1.5,...,7.5}{
+ \draw[->,color=blue] \punkt{\x}{-2.1} -- \punkt{(\x-1)}{-3.3};
+ }
+}
+
+\begin{scope}[yshift=0.1cm]
+ \node at \punkt{0}{0.5} [left] {$p(X)=\mathstrut$};
+ \draw \punkt{0}{0} rectangle \punkt{8}{1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{1};
+ }
+ \node at \punkt{0.5}{0.5} {\texttt{1}};
+ \node at \punkt{1.5}{0.5} {\texttt{0}};
+ \node at \punkt{2.5}{0.5} {\texttt{0}};
+ \node at \punkt{3.5}{0.5} {\texttt{1}};
+ \node at \punkt{4.5}{0.5} {\texttt{0}};
+ \node at \punkt{5.5}{0.5} {\texttt{1}};
+ \node at \punkt{6.5}{0.5} {\texttt{0}};
+ \node at \punkt{7.5}{0.5} {\texttt{1}};
+ \foreach \x in {0.5,1.5,...,7.5}{
+ \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.3};
+ }
+\end{scope}
+
+\begin{scope}[yshift=-1cm]
+ \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
+ \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
+ \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
+ \draw \punkt{0}{0} rectangle \punkt{8}{1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{1};
+ }
+ \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}};
+ \node at \punkt{0.5}{0.5} {\texttt{0}};
+ \node at \punkt{1.5}{0.5} {\texttt{0}};
+ \node at \punkt{2.5}{0.5} {\texttt{1}};
+ \node at \punkt{3.5}{0.5} {\texttt{0}};
+ \node at \punkt{4.5}{0.5} {\texttt{1}};
+ \node at \punkt{5.5}{0.5} {\texttt{0}};
+ \node at \punkt{6.5}{0.5} {\texttt{1}};
+ \node at \punkt{7.5}{0.5} {\texttt{0}};
+
+ \draw[->,color=darkgreen]
+ \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
+ \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
+
+ \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
+ }
+ \node at \punkt{0.5}{-1.5} {\texttt{0}};
+ \node at \punkt{1.5}{-1.5} {\texttt{0}};
+ \node at \punkt{2.5}{-1.5} {\texttt{1}};
+ \node at \punkt{3.5}{-1.5} {\texttt{1}};
+ \node at \punkt{4.5}{-1.5} {\texttt{0}};
+ \node at \punkt{5.5}{-1.5} {\texttt{0}};
+ \node at \punkt{6.5}{-1.5} {\texttt{0}};
+ \node at \punkt{7.5}{-1.5} {\texttt{1}};
+
+ \pfeile
+\end{scope}
+
+\begin{scope}[yshift=-3cm]
+ \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
+ \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
+ \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
+ \draw \punkt{0}{0} rectangle \punkt{8}{1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{1};
+ }
+ \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}};
+ \node at \punkt{0.5}{0.5} {\texttt{0}};
+ \node at \punkt{1.5}{0.5} {\texttt{1}};
+ \node at \punkt{2.5}{0.5} {\texttt{1}};
+ \node at \punkt{3.5}{0.5} {\texttt{0}};
+ \node at \punkt{4.5}{0.5} {\texttt{0}};
+ \node at \punkt{5.5}{0.5} {\texttt{0}};
+ \node at \punkt{6.5}{0.5} {\texttt{1}};
+ \node at \punkt{7.5}{0.5} {\texttt{0}};
+
+% \draw[->,color=darkgreen]
+% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
+% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
+
+ \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
+ }
+ \node at \punkt{0.5}{-1.5} {\texttt{0}};
+ \node at \punkt{1.5}{-1.5} {\texttt{1}};
+ \node at \punkt{2.5}{-1.5} {\texttt{1}};
+ \node at \punkt{3.5}{-1.5} {\texttt{0}};
+ \node at \punkt{4.5}{-1.5} {\texttt{0}};
+ \node at \punkt{5.5}{-1.5} {\texttt{0}};
+ \node at \punkt{6.5}{-1.5} {\texttt{1}};
+ \node at \punkt{7.5}{-1.5} {\texttt{0}};
+
+ \pfeile
+\end{scope}
+
+\begin{scope}[yshift=-5cm]
+ \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
+ \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
+ \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
+ \draw \punkt{0}{0} rectangle \punkt{8}{1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{1};
+ }
+ \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}};
+ \node at \punkt{0.5}{0.5} {\texttt{1}};
+ \node at \punkt{1.5}{0.5} {\texttt{1}};
+ \node at \punkt{2.5}{0.5} {\texttt{0}};
+ \node at \punkt{3.5}{0.5} {\texttt{0}};
+ \node at \punkt{4.5}{0.5} {\texttt{0}};
+ \node at \punkt{5.5}{0.5} {\texttt{1}};
+ \node at \punkt{6.5}{0.5} {\texttt{0}};
+ \node at \punkt{7.5}{0.5} {\texttt{0}};
+
+% \draw[->,color=darkgreen]
+% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
+% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
+
+ \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
+ }
+ \node at \punkt{0.5}{-1.5} {\texttt{1}};
+ \node at \punkt{1.5}{-1.5} {\texttt{1}};
+ \node at \punkt{2.5}{-1.5} {\texttt{0}};
+ \node at \punkt{3.5}{-1.5} {\texttt{0}};
+ \node at \punkt{4.5}{-1.5} {\texttt{0}};
+ \node at \punkt{5.5}{-1.5} {\texttt{1}};
+ \node at \punkt{6.5}{-1.5} {\texttt{0}};
+ \node at \punkt{7.5}{-1.5} {\texttt{0}};
+
+ \pfeile
+\end{scope}
+
+\begin{scope}[yshift=-7cm]
+ \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
+ \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
+ \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
+ \draw \punkt{0}{0} rectangle \punkt{8}{1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{1};
+ }
+ \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}};
+ \node at \punkt{0.5}{0.5} {\texttt{1}};
+ \node at \punkt{1.5}{0.5} {\texttt{0}};
+ \node at \punkt{2.5}{0.5} {\texttt{0}};
+ \node at \punkt{3.5}{0.5} {\texttt{0}};
+ \node at \punkt{4.5}{0.5} {\texttt{1}};
+ \node at \punkt{5.5}{0.5} {\texttt{0}};
+ \node at \punkt{6.5}{0.5} {\texttt{0}};
+ \node at \punkt{7.5}{0.5} {\texttt{0}};
+
+ \draw[->,color=darkgreen]
+ \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
+ \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
+
+ \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
+ }
+ \node at \punkt{0.5}{-1.5} {\texttt{1}};
+ \node at \punkt{1.5}{-1.5} {\texttt{0}};
+ \node at \punkt{2.5}{-1.5} {\texttt{0}};
+ \node at \punkt{3.5}{-1.5} {\texttt{1}};
+ \node at \punkt{4.5}{-1.5} {\texttt{0}};
+ \node at \punkt{5.5}{-1.5} {\texttt{0}};
+ \node at \punkt{6.5}{-1.5} {\texttt{1}};
+ \node at \punkt{7.5}{-1.5} {\texttt{1}};
+
+ \pfeile
+\end{scope}
+
+\begin{scope}[yshift=-9cm]
+ \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
+ \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
+ \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
+ \draw \punkt{0}{0} rectangle \punkt{8}{1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{1};
+ }
+ \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}};
+ \node at \punkt{0.5}{0.5} {\texttt{0}};
+ \node at \punkt{1.5}{0.5} {\texttt{0}};
+ \node at \punkt{2.5}{0.5} {\texttt{1}};
+ \node at \punkt{3.5}{0.5} {\texttt{0}};
+ \node at \punkt{4.5}{0.5} {\texttt{0}};
+ \node at \punkt{5.5}{0.5} {\texttt{1}};
+ \node at \punkt{6.5}{0.5} {\texttt{1}};
+ \node at \punkt{7.5}{0.5} {\texttt{0}};
+
+ \draw[->,color=darkgreen]
+ \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
+ \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
+
+ \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
+ }
+ \node at \punkt{0.5}{-1.5} {\texttt{0}};
+ \node at \punkt{1.5}{-1.5} {\texttt{0}};
+ \node at \punkt{2.5}{-1.5} {\texttt{1}};
+ \node at \punkt{3.5}{-1.5} {\texttt{1}};
+ \node at \punkt{4.5}{-1.5} {\texttt{1}};
+ \node at \punkt{5.5}{-1.5} {\texttt{1}};
+ \node at \punkt{6.5}{-1.5} {\texttt{0}};
+ \node at \punkt{7.5}{-1.5} {\texttt{1}};
+
+ \pfeile
+\end{scope}
+
+\begin{scope}[yshift=-11cm]
+ \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
+ \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
+ \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
+ \draw \punkt{0}{0} rectangle \punkt{8}{1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{1};
+ }
+ \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}};
+ \node at \punkt{0.5}{0.5} {\texttt{0}};
+ \node at \punkt{1.5}{0.5} {\texttt{0}};
+ \node at \punkt{2.5}{0.5} {\texttt{1}};
+ \node at \punkt{3.5}{0.5} {\texttt{1}};
+ \node at \punkt{4.5}{0.5} {\texttt{1}};
+ \node at \punkt{5.5}{0.5} {\texttt{0}};
+ \node at \punkt{6.5}{0.5} {\texttt{1}};
+ \node at \punkt{7.5}{0.5} {\texttt{0}};
+
+% \draw[->,color=darkgreen]
+% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
+% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
+
+ \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
+ }
+ \node at \punkt{0.5}{-1.5} {\texttt{0}};
+ \node at \punkt{1.5}{-1.5} {\texttt{0}};
+ \node at \punkt{2.5}{-1.5} {\texttt{1}};
+ \node at \punkt{3.5}{-1.5} {\texttt{1}};
+ \node at \punkt{4.5}{-1.5} {\texttt{1}};
+ \node at \punkt{5.5}{-1.5} {\texttt{0}};
+ \node at \punkt{6.5}{-1.5} {\texttt{1}};
+ \node at \punkt{7.5}{-1.5} {\texttt{0}};
+
+ \pfeile
+\end{scope}
+
+\begin{scope}[yshift=-13cm]
+ \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
+ \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
+ \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
+ \draw \punkt{0}{0} rectangle \punkt{8}{1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{1};
+ }
+ \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}};
+ \node at \punkt{0.5}{0.5} {\texttt{0}};
+ \node at \punkt{1.5}{0.5} {\texttt{1}};
+ \node at \punkt{2.5}{0.5} {\texttt{1}};
+ \node at \punkt{3.5}{0.5} {\texttt{1}};
+ \node at \punkt{4.5}{0.5} {\texttt{0}};
+ \node at \punkt{5.5}{0.5} {\texttt{1}};
+ \node at \punkt{6.5}{0.5} {\texttt{0}};
+ \node at \punkt{7.5}{0.5} {\texttt{0}};
+
+% \draw[->,color=darkgreen]
+% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
+% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
+% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
+ \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
+
+ \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
+ }
+ \node at \punkt{0.5}{-1.5} {\texttt{0}};
+ \node at \punkt{1.5}{-1.5} {\texttt{1}};
+ \node at \punkt{2.5}{-1.5} {\texttt{1}};
+ \node at \punkt{3.5}{-1.5} {\texttt{0}};
+ \node at \punkt{4.5}{-1.5} {\texttt{1}};
+ \node at \punkt{5.5}{-1.5} {\texttt{1}};
+ \node at \punkt{6.5}{-1.5} {\texttt{1}};
+ \node at \punkt{7.5}{-1.5} {\texttt{1}};
+
+% \pfeile
+\end{scope}
+
+\begin{scope}[xshift=9cm]
+
+\begin{scope}[yshift=0.1cm]
+ \draw[->] \punkt{-11.8}{0.5} -- \punkt{-0.1}{0.5};
+ \draw \punkt{0}{0} rectangle \punkt{8}{1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{1};
+ }
+ \draw \punkt{4}{-0.1} -- \punkt{4}{-3};
+ \node at \punkt{0.5}{0.5} {\texttt{1}};
+ \node at \punkt{1.5}{0.5} {\texttt{0}};
+ \node at \punkt{2.5}{0.5} {\texttt{0}};
+ \node at \punkt{3.5}{0.5} {\texttt{1}};
+ \node at \punkt{4.5}{0.5} {\texttt{0}};
+ \node at \punkt{5.5}{0.5} {\texttt{1}};
+ \node at \punkt{6.5}{0.5} {\texttt{0}};
+ \node at \punkt{7.5}{0.5} {\texttt{1}};
+\end{scope}
+
+\def\summation#1#2#3#4#5#6#7#8{
+ \draw[->] \punkt{4}{2.3} -- \punkt{4}{1};
+
+ \draw[->] \punkt{-11.8}{0.5} -- \punkt{3.5}{0.5};
+
+ \draw \punkt{4}{0.5} circle[radius=0.2];
+ \draw \punkt{4}{0.20} -- \punkt{4}{0.80};
+ \draw \punkt{3.7}{0.5} -- \punkt{4.3}{0.5};
+
+ \draw[->] \punkt{4}{-0.05} -- \punkt{4}{-0.95};
+ \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
+ }
+
+ \node at \punkt{0.5}{-1.5} {\texttt{#1}};
+ \node at \punkt{1.5}{-1.5} {\texttt{#2}};
+ \node at \punkt{2.5}{-1.5} {\texttt{#3}};
+ \node at \punkt{3.5}{-1.5} {\texttt{#4}};
+ \node at \punkt{4.5}{-1.5} {\texttt{#5}};
+ \node at \punkt{5.5}{-1.5} {\texttt{#6}};
+ \node at \punkt{6.5}{-1.5} {\texttt{#7}};
+ \node at \punkt{7.5}{-1.5} {\texttt{#8}};
+}
+
+\begin{scope}[yshift=-1.9cm]
+ \summation{1}{0}{0}{1}{0}{1}{0}{1}
+\end{scope}
+
+\begin{scope}[yshift=-3.9cm]
+ \summation{1}{1}{1}{1}{0}{1}{1}{1}
+\end{scope}
+
+\begin{scope}[yshift=-5.9cm]
+ \summation{1}{1}{1}{1}{0}{1}{1}{1}
+\end{scope}
+
+\begin{scope}[yshift=-7.9cm]
+ \summation{0}{1}{1}{0}{0}{1}{0}{0}
+\end{scope}
+
+\begin{scope}[yshift=-9.9cm]
+ \summation{0}{1}{0}{1}{1}{0}{0}{1}
+\end{scope}
+
+\begin{scope}[yshift=-11.9cm]
+ \summation{0}{1}{0}{1}{1}{0}{0}{1}
+\end{scope}
+
+\begin{scope}[yshift=-13.9cm]
+ \summation{0}{0}{1}{1}{0}{1}{1}{0}
+ \node at \punkt{0}{-1.5} [left] {$p(X)\cdot q(X)=\mathstrut$};
+\end{scope}
+
+\end{scope}
+
+\begin{scope}[xshift=5cm]
+
+\begin{scope}[yshift=2cm]
+ \node at \punkt{0}{0.5} [left] {$q(X)=\mathstrut$};
+ \draw \punkt{0}{0} rectangle \punkt{8}{1};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{1};
+ }
+ \node at \punkt{0.5}{0.5} {\texttt{1}};
+ \node at \punkt{1.5}{0.5} {\texttt{0}};
+ \node at \punkt{2.5}{0.5} {\texttt{1}};
+ \node at \punkt{3.5}{0.5} {\texttt{1}};
+ \node at \punkt{4.5}{0.5} {\texttt{0}};
+ \node at \punkt{5.5}{0.5} {\texttt{1}};
+ \node at \punkt{6.5}{0.5} {\texttt{0}};
+ \node at \punkt{7.5}{0.5} {\texttt{1}};
+
+ \draw[->] \punkt{7.5}{-0.1} -- ({7.5*\s},{-1.3});
+ \node at ({7.5*\s},{-1.2}) [below] {$\mathstrut\cdot\texttt{1}$};
+
+ \def\y{1.2}
+
+ \draw[->] \punkt{6.5}{-0.1} -- ({6.5*\s},{-1*2-\y-0.1});
+ \node at ({6.5*\s},{-1*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$};
+
+ \draw[->] \punkt{5.5}{-0.1} -- ({5.5*\s},{-2*2-\y-0.1});
+ \node at ({5.5*\s},{-2*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$};
+
+ \draw[->] \punkt{4.5}{-0.1} -- ({4.5*\s},{-3*2-\y-0.1});
+ \node at ({4.5*\s},{-3*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$};
+
+ \draw[->] \punkt{3.5}{-0.1} -- ({3.5*\s},{-4*2-\y-0.1});
+ \node at ({3.5*\s},{-4*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$};
+
+ \draw[->] \punkt{2.5}{-0.1} -- ({2.5*\s},{-5*2-\y-0.1});
+ \node at ({2.5*\s},{-5*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$};
+
+ \draw[->] \punkt{1.5}{-0.1} -- ({1.5*\s},{-6*2-\y-0.1});
+ \node at ({1.5*\s},{-6*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$};
+
+ \draw[->] \punkt{0.5}{-0.1} -- ({0.5*\s},{-7*2-\y-0.1});
+ \node at ({0.5*\s},{-7*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$};
+\end{scope}
+
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/90-crypto/images/sbox.m b/buch/chapters/90-crypto/images/sbox.m index 973ffc9..1f0c2ce 100644 --- a/buch/chapters/90-crypto/images/sbox.m +++ b/buch/chapters/90-crypto/images/sbox.m @@ -1,52 +1,52 @@ -# -# sbox.m -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -A=[ -1,0,0,0,1,1,1,1; -1,1,0,0,0,1,1,1; -1,1,1,0,0,0,1,1; -1,1,1,1,0,0,0,1; -1,1,1,1,1,0,0,0; -0,1,1,1,1,1,0,0; -0,0,1,1,1,1,1,0; -0,0,0,1,1,1,1,1; -] - -R = zeros(8,16); -R(:,1:8) = A; -R(:,9:16) = eye(8); - -for k = (1:5) - for i=(k+1:8) - pivot = R(i,k); - R(i,:) = R(i,:) + pivot * R(k,:); - end - R = mod(R, 2) -end - -P = [ -1,0,0,0,0,0,0,0; -0,1,0,0,0,0,0,0; -0,0,1,0,0,0,0,0; -0,0,0,1,0,0,0,0; -0,0,0,0,1,0,0,0; -0,0,0,0,0,0,0,1; -0,0,0,0,0,1,0,0; -0,0,0,0,0,0,1,0; -] - -R = P * R - -for k = (8:-1:2) - for i = (1:k-1) - pivot = R(i,k); - R(i,:) = R(i,:) + pivot * R(k,:); - end - R = mod(R, 2) -end - -B = R(:,9:16) - -A * B +#
+# sbox.m
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+A=[
+1,0,0,0,1,1,1,1;
+1,1,0,0,0,1,1,1;
+1,1,1,0,0,0,1,1;
+1,1,1,1,0,0,0,1;
+1,1,1,1,1,0,0,0;
+0,1,1,1,1,1,0,0;
+0,0,1,1,1,1,1,0;
+0,0,0,1,1,1,1,1;
+]
+
+R = zeros(8,16);
+R(:,1:8) = A;
+R(:,9:16) = eye(8);
+
+for k = (1:5)
+ for i=(k+1:8)
+ pivot = R(i,k);
+ R(i,:) = R(i,:) + pivot * R(k,:);
+ end
+ R = mod(R, 2)
+end
+
+P = [
+1,0,0,0,0,0,0,0;
+0,1,0,0,0,0,0,0;
+0,0,1,0,0,0,0,0;
+0,0,0,1,0,0,0,0;
+0,0,0,0,1,0,0,0;
+0,0,0,0,0,0,0,1;
+0,0,0,0,0,1,0,0;
+0,0,0,0,0,0,1,0;
+]
+
+R = P * R
+
+for k = (8:-1:2)
+ for i = (1:k-1)
+ pivot = R(i,k);
+ R(i,:) = R(i,:) + pivot * R(k,:);
+ end
+ R = mod(R, 2)
+end
+
+B = R(:,9:16)
+
+A * B
diff --git a/buch/chapters/90-crypto/images/sbox.tex b/buch/chapters/90-crypto/images/sbox.tex index 41f8812..fefb823 100644 --- a/buch/chapters/90-crypto/images/sbox.tex +++ b/buch/chapters/90-crypto/images/sbox.tex @@ -1,241 +1,241 @@ -% -% sbox.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\def\s{0.2} -\def\punkt#1#2{({#1*\s},{(8-(#2))*\s})} - -\definecolor{b}{rgb}{0,0,0} -\definecolor{w}{rgb}{1,1,1} - -\def\feld#1#2#3{ - \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2-1)}; -} - -\def\zeile#1#2#3#4#5#6#7#8#9{ - \feld{0}{#1}{#2} - \feld{1}{#1}{#3} - \feld{2}{#1}{#4} - \feld{3}{#1}{#5} - \feld{4}{#1}{#6} - \feld{5}{#1}{#7} - \feld{6}{#1}{#8} - \feld{7}{#1}{#9} -} -\def\inverse#1#2#3#4#5#6#7#8#9{ - \feld{8}{#1}{#2} - \feld{9}{#1}{#3} - \feld{10}{#1}{#4} - \feld{11}{#1}{#5} - \feld{12}{#1}{#6} - \feld{13}{#1}{#7} - \feld{14}{#1}{#8} - \feld{15}{#1}{#9} -} -\def\rechteck{ - \draw (0,{1*\s}) rectangle ({16*\s},{(8+1)*\s}); - \draw ({8*\s},{1*\s}) -- ({8*\s},{(8+1)*\s}); -} - -\def\pivot#1#2{ - \draw[color=red,line width=1.2pt] - \punkt{(#1+\inset)}{(#2-\inset)} - rectangle - \punkt{(#1+1-\inset)}{(#2-1+\inset)}; -} -\def\inset{0.1} -\def\cleanup#1#2#3{ - \pgfmathparse{(#3-#2)/abs(#3-#2)} - \xdef\signum{\pgfmathresult} - \draw[color=blue!50,line width=1.2pt] - \punkt{(#1+\inset)}{#3} - -- - \punkt{(#1+\inset)}{(#2-1+\inset*\signum)} - -- - \punkt{(#1+1-\inset)}{(#2-1+\inset*\signum)} - -- - \punkt{(#1+1-\inset)}{#3} - ; -} - -\begin{scope} - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1bbwwwbbb \inverse1wbwwwwww - \zeile2bbbwwwbb \inverse2wwbwwwww - \zeile3bbbbwwwb \inverse3wwwbwwww - \zeile4bbbbbwww \inverse4wwwwbwww - \zeile5wbbbbbww \inverse5wwwwwbww - \zeile6wwbbbbbw \inverse6wwwwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{0}{0} - \cleanup{0}{1}{7} -\end{scope} - -\begin{scope}[xshift=4cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wbbwbbww \inverse2bwbwwwww - \zeile3wbbbbbbw \inverse3bwwbwwww - \zeile4wbbbwbbb \inverse4bwwwbwww - \zeile5wbbbbbww \inverse5wwwwwbww - \zeile6wwbbbbbw \inverse6wwwwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{1}{1} - \cleanup{1}{2}{7} -\end{scope} - -\begin{scope}[xshift=8cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwbbwbbw \inverse3wbwbwwww - \zeile4wwbbbbbb \inverse4wbwwbwww - \zeile5wwbbwbww \inverse5bbwwwbww - \zeile6wwbbbbbw \inverse6wwwwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{2}{2} - \cleanup{2}{3}{7} -\end{scope} - -\begin{scope}[xshift=12cm,yshift=0cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwbbwbb \inverse4wwbwbwww - \zeile5wwwbwwww \inverse5bwbwwbww - \zeile6wwwbbwbw \inverse6wbbwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{3}{3} - \cleanup{3}{4}{7} - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{8}{7} -- \punkt{8}{11}; -\end{scope} - -\begin{scope}[xshift=12cm,yshift=-2.4cm] - \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwwb \inverse4wwwbbwww - \zeile5wwwwwwbw \inverse5bwwbwbww - \zeile6wwwwbwww \inverse6wbwbwwbw - \zeile7wwwwbbwb \inverse7wwbbwwwb - \rechteck - \pivot{4}{4} - \cleanup{4}{5}{7} -\end{scope} - -\begin{scope}[xshift=8cm,yshift=-2.4cm] - \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwwb \inverse4wwwbbwww - \zeile5wwwwwwbw \inverse5bwwbwbww - \zeile6wwwwwwwb \inverse6wbwwbwbw - \zeile7wwwwwbww \inverse7wwbwbwwb - \rechteck -\end{scope} - -\begin{scope}[xshift=4cm,yshift=-2.4cm] - \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwwb \inverse4wwwbbwww - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{7}{7}{-1} -\end{scope} - -\begin{scope}[xshift=0cm,yshift=-2.4cm] - \zeile0bwwwbbbw \inverse0bbwwbwbw - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{6}{6}{-1} - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{8}{7} -- \punkt{8}{11}; -\end{scope} - -\begin{scope}[xshift=0cm,yshift=-4.8cm] - \zeile0bwwwbbww \inverse0wbwbbbbw - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwww \inverse3bwbwwbww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{5}{5}{-1} -\end{scope} - -\begin{scope}[xshift=4cm,yshift=-4.8cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbwww \inverse0wbbbwbbb - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwwww \inverse2wbwwbwwb - \zeile3wwwbwwww \inverse3bwbwwbww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{4}{4}{-1} -\end{scope} - -\begin{scope}[xshift=8cm,yshift=-4.8cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwwwww \inverse0wwbwwbwb - \zeile1wbwwwwww \inverse1bwwbwwbw - \zeile2wwbwwwww \inverse2wbwwbwwb - \zeile3wwwbwwww \inverse3bwbwwbww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck -\end{scope} - -\end{tikzpicture} -\end{document} - +%
+% sbox.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\def\s{0.2}
+\def\punkt#1#2{({#1*\s},{(8-(#2))*\s})}
+
+\definecolor{b}{rgb}{0,0,0}
+\definecolor{w}{rgb}{1,1,1}
+
+\def\feld#1#2#3{
+ \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2-1)};
+}
+
+\def\zeile#1#2#3#4#5#6#7#8#9{
+ \feld{0}{#1}{#2}
+ \feld{1}{#1}{#3}
+ \feld{2}{#1}{#4}
+ \feld{3}{#1}{#5}
+ \feld{4}{#1}{#6}
+ \feld{5}{#1}{#7}
+ \feld{6}{#1}{#8}
+ \feld{7}{#1}{#9}
+}
+\def\inverse#1#2#3#4#5#6#7#8#9{
+ \feld{8}{#1}{#2}
+ \feld{9}{#1}{#3}
+ \feld{10}{#1}{#4}
+ \feld{11}{#1}{#5}
+ \feld{12}{#1}{#6}
+ \feld{13}{#1}{#7}
+ \feld{14}{#1}{#8}
+ \feld{15}{#1}{#9}
+}
+\def\rechteck{
+ \draw (0,{1*\s}) rectangle ({16*\s},{(8+1)*\s});
+ \draw ({8*\s},{1*\s}) -- ({8*\s},{(8+1)*\s});
+}
+
+\def\pivot#1#2{
+ \draw[color=red,line width=1.2pt]
+ \punkt{(#1+\inset)}{(#2-\inset)}
+ rectangle
+ \punkt{(#1+1-\inset)}{(#2-1+\inset)};
+}
+\def\inset{0.1}
+\def\cleanup#1#2#3{
+ \pgfmathparse{(#3-#2)/abs(#3-#2)}
+ \xdef\signum{\pgfmathresult}
+ \draw[color=blue!50,line width=1.2pt]
+ \punkt{(#1+\inset)}{#3}
+ --
+ \punkt{(#1+\inset)}{(#2-1+\inset*\signum)}
+ --
+ \punkt{(#1+1-\inset)}{(#2-1+\inset*\signum)}
+ --
+ \punkt{(#1+1-\inset)}{#3}
+ ;
+}
+
+\begin{scope}
+ \zeile0bwwwbbbb \inverse0bwwwwwww
+ \zeile1bbwwwbbb \inverse1wbwwwwww
+ \zeile2bbbwwwbb \inverse2wwbwwwww
+ \zeile3bbbbwwwb \inverse3wwwbwwww
+ \zeile4bbbbbwww \inverse4wwwwbwww
+ \zeile5wbbbbbww \inverse5wwwwwbww
+ \zeile6wwbbbbbw \inverse6wwwwwwbw
+ \zeile7wwwbbbbb \inverse7wwwwwwwb
+ \rechteck
+ \pivot{0}{0}
+ \cleanup{0}{1}{7}
+\end{scope}
+
+\begin{scope}[xshift=4cm]
+ \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
+ \punkt{-4}{3} -- \punkt{0}{3};
+ \zeile0bwwwbbbb \inverse0bwwwwwww
+ \zeile1wbwwbwww \inverse1bbwwwwww
+ \zeile2wbbwbbww \inverse2bwbwwwww
+ \zeile3wbbbbbbw \inverse3bwwbwwww
+ \zeile4wbbbwbbb \inverse4bwwwbwww
+ \zeile5wbbbbbww \inverse5wwwwwbww
+ \zeile6wwbbbbbw \inverse6wwwwwwbw
+ \zeile7wwwbbbbb \inverse7wwwwwwwb
+ \rechteck
+ \pivot{1}{1}
+ \cleanup{1}{2}{7}
+\end{scope}
+
+\begin{scope}[xshift=8cm]
+ \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
+ \punkt{-4}{3} -- \punkt{0}{3};
+ \zeile0bwwwbbbb \inverse0bwwwwwww
+ \zeile1wbwwbwww \inverse1bbwwwwww
+ \zeile2wwbwwbww \inverse2wbbwwwww
+ \zeile3wwbbwbbw \inverse3wbwbwwww
+ \zeile4wwbbbbbb \inverse4wbwwbwww
+ \zeile5wwbbwbww \inverse5bbwwwbww
+ \zeile6wwbbbbbw \inverse6wwwwwwbw
+ \zeile7wwwbbbbb \inverse7wwwwwwwb
+ \rechteck
+ \pivot{2}{2}
+ \cleanup{2}{3}{7}
+\end{scope}
+
+\begin{scope}[xshift=12cm,yshift=0cm]
+ \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
+ \punkt{-4}{3} -- \punkt{0}{3};
+ \zeile0bwwwbbbb \inverse0bwwwwwww
+ \zeile1wbwwbwww \inverse1bbwwwwww
+ \zeile2wwbwwbww \inverse2wbbwwwww
+ \zeile3wwwbwwbw \inverse3wwbbwwww
+ \zeile4wwwbbwbb \inverse4wwbwbwww
+ \zeile5wwwbwwww \inverse5bwbwwbww
+ \zeile6wwwbbwbw \inverse6wbbwwwbw
+ \zeile7wwwbbbbb \inverse7wwwwwwwb
+ \rechteck
+ \pivot{3}{3}
+ \cleanup{3}{4}{7}
+ \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
+ \punkt{8}{7} -- \punkt{8}{11};
+\end{scope}
+
+\begin{scope}[xshift=12cm,yshift=-2.4cm]
+ \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm]
+ \punkt{-4}{3} -- \punkt{0}{3};
+ \zeile0bwwwbbbb \inverse0bwwwwwww
+ \zeile1wbwwbwww \inverse1bbwwwwww
+ \zeile2wwbwwbww \inverse2wbbwwwww
+ \zeile3wwwbwwbw \inverse3wwbbwwww
+ \zeile4wwwwbwwb \inverse4wwwbbwww
+ \zeile5wwwwwwbw \inverse5bwwbwbww
+ \zeile6wwwwbwww \inverse6wbwbwwbw
+ \zeile7wwwwbbwb \inverse7wwbbwwwb
+ \rechteck
+ \pivot{4}{4}
+ \cleanup{4}{5}{7}
+\end{scope}
+
+\begin{scope}[xshift=8cm,yshift=-2.4cm]
+ \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm]
+ \punkt{-4}{3} -- \punkt{0}{3};
+ \zeile0bwwwbbbb \inverse0bwwwwwww
+ \zeile1wbwwbwww \inverse1bbwwwwww
+ \zeile2wwbwwbww \inverse2wbbwwwww
+ \zeile3wwwbwwbw \inverse3wwbbwwww
+ \zeile4wwwwbwwb \inverse4wwwbbwww
+ \zeile5wwwwwwbw \inverse5bwwbwbww
+ \zeile6wwwwwwwb \inverse6wbwwbwbw
+ \zeile7wwwwwbww \inverse7wwbwbwwb
+ \rechteck
+\end{scope}
+
+\begin{scope}[xshift=4cm,yshift=-2.4cm]
+ \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm]
+ \punkt{-4}{3} -- \punkt{0}{3};
+ \zeile0bwwwbbbb \inverse0bwwwwwww
+ \zeile1wbwwbwww \inverse1bbwwwwww
+ \zeile2wwbwwbww \inverse2wbbwwwww
+ \zeile3wwwbwwbw \inverse3wwbbwwww
+ \zeile4wwwwbwwb \inverse4wwwbbwww
+ \zeile5wwwwwbww \inverse5wwbwbwwb
+ \zeile6wwwwwwbw \inverse6bwwbwbww
+ \zeile7wwwwwwwb \inverse7wbwwbwbw
+ \rechteck
+ \cleanup{7}{7}{-1}
+\end{scope}
+
+\begin{scope}[xshift=0cm,yshift=-2.4cm]
+ \zeile0bwwwbbbw \inverse0bbwwbwbw
+ \zeile1wbwwbwww \inverse1bbwwwwww
+ \zeile2wwbwwbww \inverse2wbbwwwww
+ \zeile3wwwbwwbw \inverse3wwbbwwww
+ \zeile4wwwwbwww \inverse4wbwbwwbw
+ \zeile5wwwwwbww \inverse5wwbwbwwb
+ \zeile6wwwwwwbw \inverse6bwwbwbww
+ \zeile7wwwwwwwb \inverse7wbwwbwbw
+ \rechteck
+ \cleanup{6}{6}{-1}
+ \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
+ \punkt{8}{7} -- \punkt{8}{11};
+\end{scope}
+
+\begin{scope}[xshift=0cm,yshift=-4.8cm]
+ \zeile0bwwwbbww \inverse0wbwbbbbw
+ \zeile1wbwwbwww \inverse1bbwwwwww
+ \zeile2wwbwwbww \inverse2wbbwwwww
+ \zeile3wwwbwwww \inverse3bwbwwbww
+ \zeile4wwwwbwww \inverse4wbwbwwbw
+ \zeile5wwwwwbww \inverse5wwbwbwwb
+ \zeile6wwwwwwbw \inverse6bwwbwbww
+ \zeile7wwwwwwwb \inverse7wbwwbwbw
+ \rechteck
+ \cleanup{5}{5}{-1}
+\end{scope}
+
+\begin{scope}[xshift=4cm,yshift=-4.8cm]
+ \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
+ \punkt{-4}{3} -- \punkt{0}{3};
+ \zeile0bwwwbwww \inverse0wbbbwbbb
+ \zeile1wbwwbwww \inverse1bbwwwwww
+ \zeile2wwbwwwww \inverse2wbwwbwwb
+ \zeile3wwwbwwww \inverse3bwbwwbww
+ \zeile4wwwwbwww \inverse4wbwbwwbw
+ \zeile5wwwwwbww \inverse5wwbwbwwb
+ \zeile6wwwwwwbw \inverse6bwwbwbww
+ \zeile7wwwwwwwb \inverse7wbwwbwbw
+ \rechteck
+ \cleanup{4}{4}{-1}
+\end{scope}
+
+\begin{scope}[xshift=8cm,yshift=-4.8cm]
+ \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
+ \punkt{-4}{3} -- \punkt{0}{3};
+ \zeile0bwwwwwww \inverse0wwbwwbwb
+ \zeile1wbwwwwww \inverse1bwwbwwbw
+ \zeile2wwbwwwww \inverse2wbwwbwwb
+ \zeile3wwwbwwww \inverse3bwbwwbww
+ \zeile4wwwwbwww \inverse4wbwbwwbw
+ \zeile5wwwwwbww \inverse5wwbwbwwb
+ \zeile6wwwwwwbw \inverse6bwwbwbww
+ \zeile7wwwwwwwb \inverse7wbwwbwbw
+ \rechteck
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/90-crypto/images/schieberegister.tex b/buch/chapters/90-crypto/images/schieberegister.tex index 7c24e52..49302ac 100644 --- a/buch/chapters/90-crypto/images/schieberegister.tex +++ b/buch/chapters/90-crypto/images/schieberegister.tex @@ -1,120 +1,120 @@ -% -% schieberegister.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\def\s{0.8} - -\def\punkt#1#2{({#1*\s},{#2*\s})} - -\fill[color=blue!20] \punkt{0}{0} rectangle \punkt{8}{1}; - -\node at \punkt{0.5}{1} [above] {$X^7\mathstrut$}; -\node at \punkt{3}{1} [above] {$+\mathstrut$}; -\node at \punkt{3.5}{1} [above] {$X^4\mathstrut$}; -\node at \punkt{5}{1} [above] {$+\mathstrut$}; -\node at \punkt{5.5}{1} [above] {$X^2\mathstrut$}; -\node at \punkt{7}{1} [above] {$+\mathstrut$}; -\node at \punkt{7.5}{1} [above] {$1\mathstrut$}; - -\node at \punkt{0}{1} [above left] {\llap{$p(X)=\mathstrut$}}; - -\node at \punkt{0.5}{0.5} {\texttt{1}}; -\node at \punkt{1.5}{0.5} {\texttt{0}}; -\node at \punkt{2.5}{0.5} {\texttt{0}}; -\node at \punkt{3.5}{0.5} {\texttt{1}}; -\node at \punkt{4.5}{0.5} {\texttt{0}}; -\node at \punkt{5.5}{0.5} {\texttt{1}}; -\node at \punkt{6.5}{0.5} {\texttt{0}}; -\node at \punkt{7.5}{0.5} {\texttt{1}}; - -\draw \punkt{0}{0} rectangle \punkt{8}{1}; -\foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; -} - -\fill[color=blue!20] \punkt{-1}{-3} rectangle \punkt{7}{-2}; -\fill[color=darkgreen!20] \punkt{0}{-4} rectangle \punkt{8}{-3}; - -\node[color=darkgreen] at \punkt{-1}{-1.5} [left] - {$m(X) = X^8+X^4+X^3+X+1$}; - -\node[color=darkgreen] at \punkt{-1}{-2.7} [left] - {$\underbrace{X^4+X^3+X+1}_{}= X^8=\mathstrut$}; - -\coordinate (A) at ({-4.15*\s},{-3*\s}); -\coordinate (B) at ({0*\s},{-3.5*\s}); - -\draw[->,color=red,shorten >= 0.1cm] (A) to[out=-90,in=180] (B); -\node[color=red] at \punkt{-3.1}{-3.8} [below] {Feedback}; - -\node at \punkt{-0.5}{-2.5} {\texttt{1}}; -\node at \punkt{0.5}{-2.5} {\texttt{0}}; -\node at \punkt{1.5}{-2.5} {\texttt{0}}; -\node at \punkt{2.5}{-2.5} {\texttt{1}}; -\node at \punkt{3.5}{-2.5} {\texttt{0}}; -\node at \punkt{4.5}{-2.5} {\texttt{1}}; -\node at \punkt{5.5}{-2.5} {\texttt{0}}; -\node at \punkt{6.5}{-2.5} {\texttt{1}}; -\node at \punkt{7.5}{-2.5} {\texttt{0}}; - -\node[color=darkgreen] at \punkt{0.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{1.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{2.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{3.5}{-3.5} {\texttt{1}}; -\node[color=darkgreen] at \punkt{4.5}{-3.5} {\texttt{1}}; -\node[color=darkgreen] at \punkt{5.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{6.5}{-3.5} {\texttt{1}}; -\node[color=darkgreen] at \punkt{7.5}{-3.5} {\texttt{1}}; - -\draw \punkt{0}{-4} rectangle \punkt{8}{-2}; -\draw \punkt{0}{-3} -- \punkt{8}{-3}; -\foreach \x in {1,...,7}{ - \draw \punkt{\x}{-4} -- \punkt{\x}{-2}; -} - -\foreach \x in {0.5,1.5,...,7.5}{ - \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.9}; -} - -\draw \punkt{0}{-6} rectangle \punkt{8}{-5}; -\foreach \x in {1,...,7}{ - \draw \punkt{\x}{-6} -- \punkt{\x}{-5}; -} - -\node at \punkt{0.5}{-5.5} {\texttt{0}}; -\node at \punkt{1.5}{-5.5} {\texttt{0}}; -\node at \punkt{2.5}{-5.5} {\texttt{1}}; -\node at \punkt{3.5}{-5.5} {\texttt{1}}; -\node at \punkt{4.5}{-5.5} {\texttt{0}}; -\node at \punkt{5.5}{-5.5} {\texttt{0}}; -\node at \punkt{6.5}{-5.5} {\texttt{0}}; -\node at \punkt{7.5}{-5.5} {\texttt{1}}; - -\node at \punkt{4}{-4.5} {$\|$}; - -\node at \punkt{10.3}{-3} [left] - {$\left.\begin{matrix}\\ \\ \\ \end{matrix}\right\} + = \text{XOR}$}; - -\draw[<-,shorten >= 0.1cm, shorten <= 0.1cm] - \punkt{8.0}{-2.0} arc (-30:30:{2.0*\s}); -\node at \punkt{8.3}{-1} [right] {$\mathstrut \cdot X$}; - -\node at \punkt{8.1}{-5.5} [right] {$=X\cdot p(X)\mathstrut$}; - -\end{tikzpicture} -\end{document} - +%
+% schieberegister.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\s{0.8}
+
+\def\punkt#1#2{({#1*\s},{#2*\s})}
+
+\fill[color=blue!20] \punkt{0}{0} rectangle \punkt{8}{1};
+
+\node at \punkt{0.5}{1} [above] {$X^7\mathstrut$};
+\node at \punkt{3}{1} [above] {$+\mathstrut$};
+\node at \punkt{3.5}{1} [above] {$X^4\mathstrut$};
+\node at \punkt{5}{1} [above] {$+\mathstrut$};
+\node at \punkt{5.5}{1} [above] {$X^2\mathstrut$};
+\node at \punkt{7}{1} [above] {$+\mathstrut$};
+\node at \punkt{7.5}{1} [above] {$1\mathstrut$};
+
+\node at \punkt{0}{1} [above left] {\llap{$p(X)=\mathstrut$}};
+
+\node at \punkt{0.5}{0.5} {\texttt{1}};
+\node at \punkt{1.5}{0.5} {\texttt{0}};
+\node at \punkt{2.5}{0.5} {\texttt{0}};
+\node at \punkt{3.5}{0.5} {\texttt{1}};
+\node at \punkt{4.5}{0.5} {\texttt{0}};
+\node at \punkt{5.5}{0.5} {\texttt{1}};
+\node at \punkt{6.5}{0.5} {\texttt{0}};
+\node at \punkt{7.5}{0.5} {\texttt{1}};
+
+\draw \punkt{0}{0} rectangle \punkt{8}{1};
+\foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{1};
+}
+
+\fill[color=blue!20] \punkt{-1}{-3} rectangle \punkt{7}{-2};
+\fill[color=darkgreen!20] \punkt{0}{-4} rectangle \punkt{8}{-3};
+
+\node[color=darkgreen] at \punkt{-1}{-1.5} [left]
+ {$m(X) = X^8+X^4+X^3+X+1$};
+
+\node[color=darkgreen] at \punkt{-1}{-2.7} [left]
+ {$\underbrace{X^4+X^3+X+1}_{}= X^8=\mathstrut$};
+
+\coordinate (A) at ({-4.15*\s},{-3*\s});
+\coordinate (B) at ({0*\s},{-3.5*\s});
+
+\draw[->,color=red,shorten >= 0.1cm] (A) to[out=-90,in=180] (B);
+\node[color=red] at \punkt{-3.1}{-3.8} [below] {Feedback};
+
+\node at \punkt{-0.5}{-2.5} {\texttt{1}};
+\node at \punkt{0.5}{-2.5} {\texttt{0}};
+\node at \punkt{1.5}{-2.5} {\texttt{0}};
+\node at \punkt{2.5}{-2.5} {\texttt{1}};
+\node at \punkt{3.5}{-2.5} {\texttt{0}};
+\node at \punkt{4.5}{-2.5} {\texttt{1}};
+\node at \punkt{5.5}{-2.5} {\texttt{0}};
+\node at \punkt{6.5}{-2.5} {\texttt{1}};
+\node at \punkt{7.5}{-2.5} {\texttt{0}};
+
+\node[color=darkgreen] at \punkt{0.5}{-3.5} {\texttt{0}};
+\node[color=darkgreen] at \punkt{1.5}{-3.5} {\texttt{0}};
+\node[color=darkgreen] at \punkt{2.5}{-3.5} {\texttt{0}};
+\node[color=darkgreen] at \punkt{3.5}{-3.5} {\texttt{1}};
+\node[color=darkgreen] at \punkt{4.5}{-3.5} {\texttt{1}};
+\node[color=darkgreen] at \punkt{5.5}{-3.5} {\texttt{0}};
+\node[color=darkgreen] at \punkt{6.5}{-3.5} {\texttt{1}};
+\node[color=darkgreen] at \punkt{7.5}{-3.5} {\texttt{1}};
+
+\draw \punkt{0}{-4} rectangle \punkt{8}{-2};
+\draw \punkt{0}{-3} -- \punkt{8}{-3};
+\foreach \x in {1,...,7}{
+ \draw \punkt{\x}{-4} -- \punkt{\x}{-2};
+}
+
+\foreach \x in {0.5,1.5,...,7.5}{
+ \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.9};
+}
+
+\draw \punkt{0}{-6} rectangle \punkt{8}{-5};
+\foreach \x in {1,...,7}{
+ \draw \punkt{\x}{-6} -- \punkt{\x}{-5};
+}
+
+\node at \punkt{0.5}{-5.5} {\texttt{0}};
+\node at \punkt{1.5}{-5.5} {\texttt{0}};
+\node at \punkt{2.5}{-5.5} {\texttt{1}};
+\node at \punkt{3.5}{-5.5} {\texttt{1}};
+\node at \punkt{4.5}{-5.5} {\texttt{0}};
+\node at \punkt{5.5}{-5.5} {\texttt{0}};
+\node at \punkt{6.5}{-5.5} {\texttt{0}};
+\node at \punkt{7.5}{-5.5} {\texttt{1}};
+
+\node at \punkt{4}{-4.5} {$\|$};
+
+\node at \punkt{10.3}{-3} [left]
+ {$\left.\begin{matrix}\\ \\ \\ \end{matrix}\right\} + = \text{XOR}$};
+
+\draw[<-,shorten >= 0.1cm, shorten <= 0.1cm]
+ \punkt{8.0}{-2.0} arc (-30:30:{2.0*\s});
+\node at \punkt{8.3}{-1} [right] {$\mathstrut \cdot X$};
+
+\node at \punkt{8.1}{-5.5} [right] {$=X\cdot p(X)\mathstrut$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/90-crypto/images/shift.tex b/buch/chapters/90-crypto/images/shift.tex index bcdf819..af225a7 100644 --- a/buch/chapters/90-crypto/images/shift.tex +++ b/buch/chapters/90-crypto/images/shift.tex @@ -1,131 +1,131 @@ -% -% shift.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\def\s{0.8} -\def\punkt#1#2{({#1*\s},{#2*\s})} - -\def\feld#1#2#3#4{ - \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+1)}; - \node at \punkt{(#1+0.5)}{(#2+0.5)} {$\mathstrut #4$}; -} -\def\gitter{ - \draw \punkt{0}{0} rectangle \punkt{8}{4}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{4}; - } - \foreach \y in {1,...,3}{ - \draw \punkt{0}{\y} -- \punkt{8}{\y}; - } -} - -\begin{scope} - \feld{0}{3}{red!20}{b_{0}} - \feld{0}{2}{red!20}{b_{1}} - \feld{0}{1}{red!20}{b_{2}} - \feld{0}{0}{red!20}{b_{3}} - - \feld{1}{3}{red!10}{b_{4}} - \feld{1}{2}{red!10}{b_{5}} - \feld{1}{1}{red!10}{b_{6}} - \feld{1}{0}{red!10}{b_{7}} - - \feld{2}{3}{yellow!20}{b_{8}} - \feld{2}{2}{yellow!20}{b_{9}} - \feld{2}{1}{yellow!20}{b_{10}} - \feld{2}{0}{yellow!20}{b_{11}} - - \feld{3}{3}{yellow!10}{b_{12}} - \feld{3}{2}{yellow!10}{b_{13}} - \feld{3}{1}{yellow!10}{b_{14}} - \feld{3}{0}{yellow!10}{b_{15}} - - \feld{4}{3}{darkgreen!20}{b_{16}} - \feld{4}{2}{darkgreen!20}{b_{17}} - \feld{4}{1}{darkgreen!20}{b_{18}} - \feld{4}{0}{darkgreen!20}{b_{19}} - - \feld{5}{3}{darkgreen!10}{b_{20}} - \feld{5}{2}{darkgreen!10}{b_{21}} - \feld{5}{1}{darkgreen!10}{b_{22}} - \feld{5}{0}{darkgreen!10}{b_{23}} - - \feld{6}{3}{blue!20}{b_{24}} - \feld{6}{2}{blue!20}{b_{25}} - \feld{6}{1}{blue!20}{b_{26}} - \feld{6}{0}{blue!20}{b_{27}} - - \feld{7}{3}{blue!10}{b_{28}} - \feld{7}{2}{blue!10}{b_{29}} - \feld{7}{1}{blue!10}{b_{30}} - \feld{7}{0}{blue!10}{b_{31}} - - \gitter - - \draw[->] \punkt{8.1}{2} -- \punkt{9.3}{2}; -\end{scope} - - -\begin{scope}[xshift=7.5cm] - - \feld{0}{3}{red!20}{b_{0}} - \feld{1}{2}{red!20}{b_{1}} - \feld{2}{1}{red!20}{b_{2}} - \feld{3}{0}{red!20}{b_{3}} - - \feld{1}{3}{red!10}{b_{4}} - \feld{2}{2}{red!10}{b_{5}} - \feld{3}{1}{red!10}{b_{6}} - \feld{4}{0}{red!10}{b_{7}} - - \feld{2}{3}{yellow!20}{b_{8}} - \feld{3}{2}{yellow!20}{b_{9}} - \feld{4}{1}{yellow!20}{b_{10}} - \feld{5}{0}{yellow!20}{b_{11}} - - \feld{3}{3}{yellow!10}{b_{12}} - \feld{4}{2}{yellow!10}{b_{13}} - \feld{5}{1}{yellow!10}{b_{14}} - \feld{6}{0}{yellow!10}{b_{15}} - - \feld{4}{3}{darkgreen!20}{b_{16}} - \feld{5}{2}{darkgreen!20}{b_{17}} - \feld{6}{1}{darkgreen!20}{b_{18}} - \feld{7}{0}{darkgreen!20}{b_{19}} - - \feld{5}{3}{darkgreen!10}{b_{20}} - \feld{6}{2}{darkgreen!10}{b_{21}} - \feld{7}{1}{darkgreen!10}{b_{22}} - \feld{0}{0}{darkgreen!10}{b_{23}} - - \feld{6}{3}{blue!20}{b_{24}} - \feld{7}{2}{blue!20}{b_{25}} - \feld{0}{1}{blue!20}{b_{26}} - \feld{1}{0}{blue!20}{b_{27}} - - \feld{7}{3}{blue!10}{b_{28}} - \feld{0}{2}{blue!10}{b_{29}} - \feld{1}{1}{blue!10}{b_{30}} - \feld{2}{0}{blue!10}{b_{31}} - - \gitter - -\end{scope} - -\end{tikzpicture} -\end{document} - +%
+% shift.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\s{0.8}
+\def\punkt#1#2{({#1*\s},{#2*\s})}
+
+\def\feld#1#2#3#4{
+ \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+1)};
+ \node at \punkt{(#1+0.5)}{(#2+0.5)} {$\mathstrut #4$};
+}
+\def\gitter{
+ \draw \punkt{0}{0} rectangle \punkt{8}{4};
+ \foreach \x in {1,...,7}{
+ \draw \punkt{\x}{0} -- \punkt{\x}{4};
+ }
+ \foreach \y in {1,...,3}{
+ \draw \punkt{0}{\y} -- \punkt{8}{\y};
+ }
+}
+
+\begin{scope}
+ \feld{0}{3}{red!20}{b_{0}}
+ \feld{0}{2}{red!20}{b_{1}}
+ \feld{0}{1}{red!20}{b_{2}}
+ \feld{0}{0}{red!20}{b_{3}}
+
+ \feld{1}{3}{red!10}{b_{4}}
+ \feld{1}{2}{red!10}{b_{5}}
+ \feld{1}{1}{red!10}{b_{6}}
+ \feld{1}{0}{red!10}{b_{7}}
+
+ \feld{2}{3}{yellow!20}{b_{8}}
+ \feld{2}{2}{yellow!20}{b_{9}}
+ \feld{2}{1}{yellow!20}{b_{10}}
+ \feld{2}{0}{yellow!20}{b_{11}}
+
+ \feld{3}{3}{yellow!10}{b_{12}}
+ \feld{3}{2}{yellow!10}{b_{13}}
+ \feld{3}{1}{yellow!10}{b_{14}}
+ \feld{3}{0}{yellow!10}{b_{15}}
+
+ \feld{4}{3}{darkgreen!20}{b_{16}}
+ \feld{4}{2}{darkgreen!20}{b_{17}}
+ \feld{4}{1}{darkgreen!20}{b_{18}}
+ \feld{4}{0}{darkgreen!20}{b_{19}}
+
+ \feld{5}{3}{darkgreen!10}{b_{20}}
+ \feld{5}{2}{darkgreen!10}{b_{21}}
+ \feld{5}{1}{darkgreen!10}{b_{22}}
+ \feld{5}{0}{darkgreen!10}{b_{23}}
+
+ \feld{6}{3}{blue!20}{b_{24}}
+ \feld{6}{2}{blue!20}{b_{25}}
+ \feld{6}{1}{blue!20}{b_{26}}
+ \feld{6}{0}{blue!20}{b_{27}}
+
+ \feld{7}{3}{blue!10}{b_{28}}
+ \feld{7}{2}{blue!10}{b_{29}}
+ \feld{7}{1}{blue!10}{b_{30}}
+ \feld{7}{0}{blue!10}{b_{31}}
+
+ \gitter
+
+ \draw[->] \punkt{8.1}{2} -- \punkt{9.3}{2};
+\end{scope}
+
+
+\begin{scope}[xshift=7.5cm]
+
+ \feld{0}{3}{red!20}{b_{0}}
+ \feld{1}{2}{red!20}{b_{1}}
+ \feld{2}{1}{red!20}{b_{2}}
+ \feld{3}{0}{red!20}{b_{3}}
+
+ \feld{1}{3}{red!10}{b_{4}}
+ \feld{2}{2}{red!10}{b_{5}}
+ \feld{3}{1}{red!10}{b_{6}}
+ \feld{4}{0}{red!10}{b_{7}}
+
+ \feld{2}{3}{yellow!20}{b_{8}}
+ \feld{3}{2}{yellow!20}{b_{9}}
+ \feld{4}{1}{yellow!20}{b_{10}}
+ \feld{5}{0}{yellow!20}{b_{11}}
+
+ \feld{3}{3}{yellow!10}{b_{12}}
+ \feld{4}{2}{yellow!10}{b_{13}}
+ \feld{5}{1}{yellow!10}{b_{14}}
+ \feld{6}{0}{yellow!10}{b_{15}}
+
+ \feld{4}{3}{darkgreen!20}{b_{16}}
+ \feld{5}{2}{darkgreen!20}{b_{17}}
+ \feld{6}{1}{darkgreen!20}{b_{18}}
+ \feld{7}{0}{darkgreen!20}{b_{19}}
+
+ \feld{5}{3}{darkgreen!10}{b_{20}}
+ \feld{6}{2}{darkgreen!10}{b_{21}}
+ \feld{7}{1}{darkgreen!10}{b_{22}}
+ \feld{0}{0}{darkgreen!10}{b_{23}}
+
+ \feld{6}{3}{blue!20}{b_{24}}
+ \feld{7}{2}{blue!20}{b_{25}}
+ \feld{0}{1}{blue!20}{b_{26}}
+ \feld{1}{0}{blue!20}{b_{27}}
+
+ \feld{7}{3}{blue!10}{b_{28}}
+ \feld{0}{2}{blue!10}{b_{29}}
+ \feld{1}{1}{blue!10}{b_{30}}
+ \feld{2}{0}{blue!10}{b_{31}}
+
+ \gitter
+
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/90-crypto/uebungsaufgaben/9001.tex b/buch/chapters/90-crypto/uebungsaufgaben/9001.tex index 7ed1e57..9cda25e 100644 --- a/buch/chapters/90-crypto/uebungsaufgaben/9001.tex +++ b/buch/chapters/90-crypto/uebungsaufgaben/9001.tex @@ -1,31 +1,31 @@ -$A$ und $B$ einigen sich darauf, das Diffie-Hellman-Verfahren für -$p=2027$ durchzuführen und mit $g=3$ zu arbeiten. -$A$ verwenden $a=49$ als privaten Schlüssel und erhält von $B$ -den öffentlichen Schlüssel $y=1772$. -Welchen gemeinsamen Schlüssel verwenden $A$ und $B$? - -\begin{loesung} -Der zu verwendende gemeinsame Schlüssel ist -$g^{ab}=(g^b)^a = y^a\in\mathbb{F}_{2027}$. -Diese Potenz kann man mit dem Divide-and-Conquer-Algorithmus effizient -berechnen. -Die Binärdarstellung des privaten Schlüssels von $A$ ist -$a=49_{10}=\texttt{110001}_2$. -Der Algorithmus verläuft wie folgt: -\begin{center} -\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} -\hline -i&g^{2^i}&a_i& x\\ -\hline -0& 3& 1& 3\\ -1& 9& 0& 3\\ -2& 81& 0& 3\\ -3& 480& 0& 3\\ -4& 1349& 1& 2020\\ -5& 1582& 1& 1088\\ -\hline -\end{tabular} -\end{center} -Der gemeinsame Schlüssel ist daher $s=1088$. -\end{loesung} - +$A$ und $B$ einigen sich darauf, das Diffie-Hellman-Verfahren für
+$p=2027$ durchzuführen und mit $g=3$ zu arbeiten.
+$A$ verwenden $a=49$ als privaten Schlüssel und erhält von $B$
+den öffentlichen Schlüssel $y=1772$.
+Welchen gemeinsamen Schlüssel verwenden $A$ und $B$?
+
+\begin{loesung}
+Der zu verwendende gemeinsame Schlüssel ist
+$g^{ab}=(g^b)^a = y^a\in\mathbb{F}_{2027}$.
+Diese Potenz kann man mit dem Divide-and-Conquer-Algorithmus effizient
+berechnen.
+Die Binärdarstellung des privaten Schlüssels von $A$ ist
+$a=49_{10}=\texttt{110001}_2$.
+Der Algorithmus verläuft wie folgt:
+\begin{center}
+\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|}
+\hline
+i&g^{2^i}&a_i& x\\
+\hline
+0& 3& 1& 3\\
+1& 9& 0& 3\\
+2& 81& 0& 3\\
+3& 480& 0& 3\\
+4& 1349& 1& 2020\\
+5& 1582& 1& 1088\\
+\hline
+\end{tabular}
+\end{center}
+Der gemeinsame Schlüssel ist daher $s=1088$.
+\end{loesung}
+
diff --git a/buch/chapters/references.bib b/buch/chapters/references.bib index a4579e7..dc95e7e 100644 --- a/buch/chapters/references.bib +++ b/buch/chapters/references.bib @@ -1,135 +1,135 @@ -% -% references.bib -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% - -@article{BRIN1998107, -title = "The anatomy of a large-scale hypertextual Web search engine", -journal = "Computer Networks and ISDN Systems", -volume = "30", -number = "1", -pages = "107 - 117", -year = "1998", -note = "Proceedings of the Seventh International World Wide Web Conference", -issn = "0169-7552", -doi = "https://doi.org/10.1016/S0169-7552(98)00110-X", -url = "http://www.sciencedirect.com/science/article/pii/S016975529800110X", -author = "Sergey Brin and Lawrence Page", -keywords = "World Wide Web, Search engines, Information retrieval, PageRank, Google", -abstract = "In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems. The prototype with a full text and hyperlink database of at least 24 million pages is available at http://google.stanford.edu/ To engineer a search engine is a challenging task. Search engines index tens to hundreds of millions of Web pages involving a comparable number of distinct terms. They answer tens of millions of queries every day. Despite the importance of large-scale search engines on the Web, very little academic research has been done on them. Furthermore, due to rapid advance in technology and Web proliferation, creating a Web search engine today is very different from three years ago. This paper provides an in-depth description of our large-scale Web search engine — the first such detailed public description we know of to date. Apart from the problems of scaling traditional search techniques to data of this magnitude, there are new technical challenges involved with using the additional information present in hypertext to produce better search results. This paper addresses this question of how to build a practical large-scale system which can exploit the additional information present in hypertext. Also we look at the problem of how to effectively deal with uncontrolled hypertext collections where anyone can publish anything they want." -} - - -@book{buch:mathsem-dgl, - title = {Mathematisches Seminar Differentialgleichungen}, - author = { Andreas M"uller and others }, - year = {2016}, -} - -@online{buch:fftw, - title = {Fastest Fourier Transform in the West}, - url = {http://www.fftw.org/}, - DAY = {23}, - MONTH = {july}, - YEAR = 2018 -} - -@online{buch:repo, - subtitle = {Source Code Repository}, - author = {Andreas Müller}, - url = {https://github.com/AndreasFMueller/SeminarNumerik.git}, - DAY = 6, - MONTH = {february}, - YEAR = 2020 -} - -@book{buch:henrici, - author = {Peter Henrici}, - title = {Essentials of numerical analysis}, - subtitle = {With pocket calculator demonstrations}, - year = 1982, - publisher = {John Wiley and Sons, Inc.}, - isbn = {0-471-05904-8} -} - -@online{buch:tartaglia, - title = {Niccolò Tartaglia}, - url = {https://de.wikipedia.org/wiki/Niccolò_Tartaglia}, - date = {2020-02-06}, - year = {2020}, - month = {2}, - day = {6} -} - -@online{buch:kahan-summation, - title = {Kahan summation algorithm}, - url = {https://en.wikipedia.org/wiki/Kahan_summation_algorithm}, - date = {2020-02-29}, - year = {2020}, - month = {2}, - day = {29} -} - -@book{buch:watkins, - title = {Fundamentals of Matrix Computations}, - author = {David S. Watkins}, - year = 2010, - publisher = {John Wiley and Sons, Inc.}, - edition = {3} -} - -@online{buch:lissajous, - title = {Makeing Shapes with PSLab Oscilloscope}, - author = {CloudyPadmal}, - url = {https://blog.fossasia.org/making-shapes-with-pslab-oscilloscope/}, - DAY = 7, - month = 3, - year = 2020 -} -@book{buch:richardson, - title = {The emergence of numerical weather prediction: Richardson's dream}, - author = {Peter Lynch}, - year = 2006, - publisher = {Cambridge University Press}, - isbn = {978-0-52-185729-1} -} - -@book{buch:dieudonne, - title={Foundations of Modern Analysis}, - author={Jean Dieudonn{\'e}}, - number={Vol. 1}, - lccn={60008049}, - series={Dieudonn{\'e}, Jean: Treatise on analysis}, - year={1960}, - publisher={Academic Press} -} - -@book{buch:ebbinghaus, - title = {Zahlen}, - year = 1983, - inseries = {Grundwissen Mathematik}, - volume = 1, - publisher = {Springer-Verlag}, - author = { Hans-Dieter Ebbinghaus et al }, - isbn = { 3-540-12666-X } -} - -@online{buch:primitivepolynomiallist, - title = {Primitive Polynomial List}, - url = {https://www.partow.net/programming/polynomials/index.html}, - day = 8, - month = 3, - year = 2021 -} - -@book{skript:landaulifschitz1, - author = {Landau, L. D. and Lifschitz, E. M.}, - title = {Mechanik}, - series = {Lehrbuch der theoretischen Physik}, - volume = {1}, - publisher = {Akademie-Verlag}, - year = {1981}, - language = {german}, -} - +%
+% references.bib
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+
+@article{BRIN1998107,
+title = "The anatomy of a large-scale hypertextual Web search engine",
+journal = "Computer Networks and ISDN Systems",
+volume = "30",
+number = "1",
+pages = "107 - 117",
+year = "1998",
+note = "Proceedings of the Seventh International World Wide Web Conference",
+issn = "0169-7552",
+doi = "https://doi.org/10.1016/S0169-7552(98)00110-X",
+url = "http://www.sciencedirect.com/science/article/pii/S016975529800110X",
+author = "Sergey Brin and Lawrence Page",
+keywords = "World Wide Web, Search engines, Information retrieval, PageRank, Google",
+abstract = "In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems. The prototype with a full text and hyperlink database of at least 24 million pages is available at http://google.stanford.edu/ To engineer a search engine is a challenging task. Search engines index tens to hundreds of millions of Web pages involving a comparable number of distinct terms. They answer tens of millions of queries every day. Despite the importance of large-scale search engines on the Web, very little academic research has been done on them. Furthermore, due to rapid advance in technology and Web proliferation, creating a Web search engine today is very different from three years ago. This paper provides an in-depth description of our large-scale Web search engine — the first such detailed public description we know of to date. Apart from the problems of scaling traditional search techniques to data of this magnitude, there are new technical challenges involved with using the additional information present in hypertext to produce better search results. This paper addresses this question of how to build a practical large-scale system which can exploit the additional information present in hypertext. Also we look at the problem of how to effectively deal with uncontrolled hypertext collections where anyone can publish anything they want."
+}
+
+
+@book{buch:mathsem-dgl,
+ title = {Mathematisches Seminar Differentialgleichungen},
+ author = { Andreas M"uller and others },
+ year = {2016},
+}
+
+@online{buch:fftw,
+ title = {Fastest Fourier Transform in the West},
+ url = {http://www.fftw.org/},
+ DAY = {23},
+ MONTH = {july},
+ YEAR = 2018
+}
+
+@online{buch:repo,
+ subtitle = {Source Code Repository},
+ author = {Andreas Müller},
+ url = {https://github.com/AndreasFMueller/SeminarNumerik.git},
+ DAY = 6,
+ MONTH = {february},
+ YEAR = 2020
+}
+
+@book{buch:henrici,
+ author = {Peter Henrici},
+ title = {Essentials of numerical analysis},
+ subtitle = {With pocket calculator demonstrations},
+ year = 1982,
+ publisher = {John Wiley and Sons, Inc.},
+ isbn = {0-471-05904-8}
+}
+
+@online{buch:tartaglia,
+ title = {Niccolò Tartaglia},
+ url = {https://de.wikipedia.org/wiki/Niccolò_Tartaglia},
+ date = {2020-02-06},
+ year = {2020},
+ month = {2},
+ day = {6}
+}
+
+@online{buch:kahan-summation,
+ title = {Kahan summation algorithm},
+ url = {https://en.wikipedia.org/wiki/Kahan_summation_algorithm},
+ date = {2020-02-29},
+ year = {2020},
+ month = {2},
+ day = {29}
+}
+
+@book{buch:watkins,
+ title = {Fundamentals of Matrix Computations},
+ author = {David S. Watkins},
+ year = 2010,
+ publisher = {John Wiley and Sons, Inc.},
+ edition = {3}
+}
+
+@online{buch:lissajous,
+ title = {Makeing Shapes with PSLab Oscilloscope},
+ author = {CloudyPadmal},
+ url = {https://blog.fossasia.org/making-shapes-with-pslab-oscilloscope/},
+ DAY = 7,
+ month = 3,
+ year = 2020
+}
+@book{buch:richardson,
+ title = {The emergence of numerical weather prediction: Richardson's dream},
+ author = {Peter Lynch},
+ year = 2006,
+ publisher = {Cambridge University Press},
+ isbn = {978-0-52-185729-1}
+}
+
+@book{buch:dieudonne,
+ title={Foundations of Modern Analysis},
+ author={Jean Dieudonn{\'e}},
+ number={Vol. 1},
+ lccn={60008049},
+ series={Dieudonn{\'e}, Jean: Treatise on analysis},
+ year={1960},
+ publisher={Academic Press}
+}
+
+@book{buch:ebbinghaus,
+ title = {Zahlen},
+ year = 1983,
+ inseries = {Grundwissen Mathematik},
+ volume = 1,
+ publisher = {Springer-Verlag},
+ author = { Hans-Dieter Ebbinghaus et al },
+ isbn = { 3-540-12666-X }
+}
+
+@online{buch:primitivepolynomiallist,
+ title = {Primitive Polynomial List},
+ url = {https://www.partow.net/programming/polynomials/index.html},
+ day = 8,
+ month = 3,
+ year = 2021
+}
+
+@book{skript:landaulifschitz1,
+ author = {Landau, L. D. and Lifschitz, E. M.},
+ title = {Mechanik},
+ series = {Lehrbuch der theoretischen Physik},
+ volume = {1},
+ publisher = {Akademie-Verlag},
+ year = {1981},
+ language = {german},
+}
+
|