From 2db90bfe4b174570424c408f04000902411d8755 Mon Sep 17 00:00:00 2001 From: Joshua Baer Date: Mon, 12 Apr 2021 21:51:55 +0200 Subject: update to current state of book --- .../30-endlichekoerper/images/binomial2.tex | 650 ++++---- .../30-endlichekoerper/images/binomial5.tex | 874 +++++----- buch/chapters/40-eigenwerte/chapter.tex | 100 +- buch/chapters/40-eigenwerte/images/Makefile | 88 +- buch/chapters/40-eigenwerte/images/minmax.tex | 268 +-- buch/chapters/40-eigenwerte/spektraltheorie.tex | 1604 +++++++++--------- buch/chapters/60-gruppen/chapter.tex | 94 +- buch/chapters/60-gruppen/images/Makefile | 50 +- buch/chapters/60-gruppen/images/karten.tex | 224 +-- buch/chapters/60-gruppen/images/kartenkreis.tex | 378 ++--- buch/chapters/60-gruppen/images/phasenraum.tex | 186 +-- buch/chapters/60-gruppen/images/scherungen.tex | 314 ++-- buch/chapters/60-gruppen/images/sl2.tex | 292 ++-- buch/chapters/60-gruppen/images/torus.pov | 378 ++--- buch/chapters/60-gruppen/lie-algebren.tex | 1294 +++++++------- buch/chapters/60-gruppen/lie-gruppen.tex | 1762 ++++++++++---------- buch/chapters/60-gruppen/symmetrien.tex | 1450 ++++++++-------- buch/chapters/60-gruppen/uebungsaufgaben/6001.tex | 466 +++--- buch/chapters/60-gruppen/uebungsaufgaben/6002.tex | 324 ++-- buch/chapters/70-graphen/images/Makefile | 44 +- buch/chapters/70-graphen/images/fundamental.tex | 108 +- buch/chapters/70-graphen/spektral.tex | 396 ++--- buch/chapters/70-graphen/wavelets.tex | 250 +-- buch/chapters/90-crypto/aes.tex | 866 +++++----- buch/chapters/90-crypto/arith.tex | 590 +++---- buch/chapters/90-crypto/chapter.tex | 62 +- buch/chapters/90-crypto/ff.tex | 1328 +++++++-------- buch/chapters/90-crypto/images/Makefile | 58 +- buch/chapters/90-crypto/images/keys.tex | 242 +-- buch/chapters/90-crypto/images/multiplikation.tex | 928 +++++------ buch/chapters/90-crypto/images/sbox.m | 104 +- buch/chapters/90-crypto/images/sbox.tex | 482 +++--- buch/chapters/90-crypto/images/schieberegister.tex | 240 +-- buch/chapters/90-crypto/images/shift.tex | 262 +-- buch/chapters/90-crypto/uebungsaufgaben/9001.tex | 62 +- buch/chapters/references.bib | 270 +-- buch/test3.tex | 182 +- 37 files changed, 8635 insertions(+), 8635 deletions(-) (limited to 'buch') diff --git a/buch/chapters/30-endlichekoerper/images/binomial2.tex b/buch/chapters/30-endlichekoerper/images/binomial2.tex index 1856844..e816b36 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial2.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial2.tex @@ -1,325 +1,325 @@ -% -% binomial2.tex -- Parität der Binomialkoeffizienten -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\def\s{0.37} -\pgfmathparse{\s*sqrt(3)/2} -\xdef\ys{\pgfmathresult} -\pgfmathparse{\s/2} -\xdef\xs{\pgfmathresult} - -% -% #1 = n -% #2 = k -% -\def\dreieck#1#2{ - \fill[color=black] ({\xs*(-#1+2*#2)},{-\ys*#1}) - -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) - -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; -} -\def\zeile#1{ - \fill[color=red!40] - ({\xs*(-#1)},{-\ys*#1}) - -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) - -- ({\xs*(#1+1)},{-\ys*(#1+1)}) - -- ({\xs*(#1)},{-\ys*#1}) -- cycle; -} - -\zeile{2} -\zeile{4} -\zeile{8} -\zeile{16} -\zeile{32} - -\dreieck{0}{0} - -\dreieck{1}{0} -\dreieck{1}{1} - -\dreieck{2}{0} -\dreieck{2}{2} - -\dreieck{3}{0} -\dreieck{3}{1} -\dreieck{3}{2} -\dreieck{3}{3} - -\dreieck{4}{0} -\dreieck{4}{4} - -\dreieck{5}{0} -\dreieck{5}{1} -\dreieck{5}{4} -\dreieck{5}{5} - -\dreieck{6}{0} -\dreieck{6}{2} -\dreieck{6}{4} -\dreieck{6}{6} - -\dreieck{7}{0} -\dreieck{7}{1} -\dreieck{7}{2} -\dreieck{7}{3} -\dreieck{7}{4} -\dreieck{7}{5} -\dreieck{7}{6} -\dreieck{7}{7} - -\dreieck{8}{0} -\dreieck{8}{8} - -\dreieck{9}{0} -\dreieck{9}{1} -\dreieck{9}{8} -\dreieck{9}{9} - -\dreieck{10}{0} -\dreieck{10}{2} -\dreieck{10}{8} -\dreieck{10}{10} - -\dreieck{11}{0} -\dreieck{11}{1} -\dreieck{11}{2} -\dreieck{11}{3} -\dreieck{11}{8} -\dreieck{11}{9} -\dreieck{11}{10} -\dreieck{11}{11} - -\dreieck{12}{0} -\dreieck{12}{4} -\dreieck{12}{8} -\dreieck{12}{12} - -\dreieck{13}{0} -\dreieck{13}{1} -\dreieck{13}{4} -\dreieck{13}{5} -\dreieck{13}{8} -\dreieck{13}{9} -\dreieck{13}{12} -\dreieck{13}{13} - -\dreieck{14}{0} -\dreieck{14}{2} -\dreieck{14}{4} -\dreieck{14}{6} -\dreieck{14}{8} -\dreieck{14}{10} -\dreieck{14}{12} -\dreieck{14}{14} - -\dreieck{15}{0} -\dreieck{15}{1} -\dreieck{15}{2} -\dreieck{15}{3} -\dreieck{15}{4} -\dreieck{15}{5} -\dreieck{15}{6} -\dreieck{15}{7} -\dreieck{15}{8} -\dreieck{15}{9} -\dreieck{15}{10} -\dreieck{15}{11} -\dreieck{15}{12} -\dreieck{15}{13} -\dreieck{15}{14} -\dreieck{15}{15} - -\dreieck{16}{0} -\dreieck{16}{16} - -\dreieck{17}{0} -\dreieck{17}{1} -\dreieck{17}{16} -\dreieck{17}{17} - -\dreieck{18}{0} -\dreieck{18}{2} -\dreieck{18}{16} -\dreieck{18}{18} - -\dreieck{19}{0} -\dreieck{19}{1} -\dreieck{19}{2} -\dreieck{19}{3} -\dreieck{19}{16} -\dreieck{19}{17} -\dreieck{19}{18} -\dreieck{19}{19} - -\dreieck{20}{0} -\dreieck{20}{4} -\dreieck{20}{16} -\dreieck{20}{20} - -\dreieck{21}{0} -\dreieck{21}{1} -\dreieck{21}{4} -\dreieck{21}{5} -\dreieck{21}{16} -\dreieck{21}{17} -\dreieck{21}{20} -\dreieck{21}{21} - -\dreieck{22}{0} -\dreieck{22}{2} -\dreieck{22}{4} -\dreieck{22}{6} -\dreieck{22}{16} -\dreieck{22}{18} -\dreieck{22}{20} -\dreieck{22}{22} - -\dreieck{23}{0} -\dreieck{23}{1} -\dreieck{23}{2} -\dreieck{23}{3} -\dreieck{23}{4} -\dreieck{23}{5} -\dreieck{23}{6} -\dreieck{23}{7} -\dreieck{23}{16} -\dreieck{23}{17} -\dreieck{23}{18} -\dreieck{23}{19} -\dreieck{23}{20} -\dreieck{23}{21} -\dreieck{23}{22} -\dreieck{23}{23} - -\dreieck{24}{0} -\dreieck{24}{8} -\dreieck{24}{16} -\dreieck{24}{24} - -\dreieck{25}{0} -\dreieck{25}{1} -\dreieck{25}{8} -\dreieck{25}{9} -\dreieck{25}{16} -\dreieck{25}{17} -\dreieck{25}{24} -\dreieck{25}{25} - -\dreieck{26}{0} -\dreieck{26}{2} -\dreieck{26}{8} -\dreieck{26}{10} -\dreieck{26}{16} -\dreieck{26}{18} -\dreieck{26}{24} -\dreieck{26}{26} - -\dreieck{27}{0} -\dreieck{27}{1} -\dreieck{27}{2} -\dreieck{27}{3} -\dreieck{27}{8} -\dreieck{27}{9} -\dreieck{27}{10} -\dreieck{27}{11} -\dreieck{27}{16} -\dreieck{27}{17} -\dreieck{27}{18} -\dreieck{27}{19} -\dreieck{27}{24} -\dreieck{27}{25} -\dreieck{27}{26} -\dreieck{27}{27} - -\dreieck{28}{0} -\dreieck{28}{4} -\dreieck{28}{8} -\dreieck{28}{12} -\dreieck{28}{16} -\dreieck{28}{20} -\dreieck{28}{24} -\dreieck{28}{28} - -\dreieck{29}{0} -\dreieck{29}{1} -\dreieck{29}{4} -\dreieck{29}{5} -\dreieck{29}{8} -\dreieck{29}{9} -\dreieck{29}{12} -\dreieck{29}{13} -\dreieck{29}{16} -\dreieck{29}{17} -\dreieck{29}{20} -\dreieck{29}{21} -\dreieck{29}{24} -\dreieck{29}{25} -\dreieck{29}{28} -\dreieck{29}{29} - -\foreach \k in {0,2,...,30}{ - \dreieck{30}{\k} -} - -\foreach \k in {0,...,31}{ - \dreieck{31}{\k} -} - -\dreieck{32}{0} -\dreieck{32}{32} - -\dreieck{33}{0} -\dreieck{33}{1} -\dreieck{33}{32} -\dreieck{33}{33} - -\dreieck{34}{0} -\dreieck{34}{2} -\dreieck{34}{32} -\dreieck{34}{34} - -\dreieck{35}{0} -\dreieck{35}{1} -\dreieck{35}{2} -\dreieck{35}{3} -\dreieck{35}{32} -\dreieck{35}{33} -\dreieck{35}{34} -\dreieck{35}{35} - -\def\etikett#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; -} - -\etikett{0}{-2}{n=0} -\etikett{2}{-2}{n=2} -\etikett{4}{-2}{n=4} -\etikett{8}{-2}{n=8} -\etikett{16}{-2}{n=16} -\etikett{32}{-2}{n=32} - -\def\exponent#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; -} - -\exponent{-2}{0}{k=0} -\exponent{0}{2}{k=2} -\exponent{2}{4}{k=4} -\exponent{6}{8}{k=8} -\exponent{14}{16}{k=16} -\exponent{30}{32}{k=32} - -\end{tikzpicture} -\end{document} - +% +% binomial2.tex -- Parität der Binomialkoeffizienten +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\s{0.37} +\pgfmathparse{\s*sqrt(3)/2} +\xdef\ys{\pgfmathresult} +\pgfmathparse{\s/2} +\xdef\xs{\pgfmathresult} + +% +% #1 = n +% #2 = k +% +\def\dreieck#1#2{ + \fill[color=black] ({\xs*(-#1+2*#2)},{-\ys*#1}) + -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) + -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; +} +\def\zeile#1{ + \fill[color=red!40] + ({\xs*(-#1)},{-\ys*#1}) + -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) + -- ({\xs*(#1+1)},{-\ys*(#1+1)}) + -- ({\xs*(#1)},{-\ys*#1}) -- cycle; +} + +\zeile{2} +\zeile{4} +\zeile{8} +\zeile{16} +\zeile{32} + +\dreieck{0}{0} + +\dreieck{1}{0} +\dreieck{1}{1} + +\dreieck{2}{0} +\dreieck{2}{2} + +\dreieck{3}{0} +\dreieck{3}{1} +\dreieck{3}{2} +\dreieck{3}{3} + +\dreieck{4}{0} +\dreieck{4}{4} + +\dreieck{5}{0} +\dreieck{5}{1} +\dreieck{5}{4} +\dreieck{5}{5} + +\dreieck{6}{0} +\dreieck{6}{2} +\dreieck{6}{4} +\dreieck{6}{6} + +\dreieck{7}{0} +\dreieck{7}{1} +\dreieck{7}{2} +\dreieck{7}{3} +\dreieck{7}{4} +\dreieck{7}{5} +\dreieck{7}{6} +\dreieck{7}{7} + +\dreieck{8}{0} +\dreieck{8}{8} + +\dreieck{9}{0} +\dreieck{9}{1} +\dreieck{9}{8} +\dreieck{9}{9} + +\dreieck{10}{0} +\dreieck{10}{2} +\dreieck{10}{8} +\dreieck{10}{10} + +\dreieck{11}{0} +\dreieck{11}{1} +\dreieck{11}{2} +\dreieck{11}{3} +\dreieck{11}{8} +\dreieck{11}{9} +\dreieck{11}{10} +\dreieck{11}{11} + +\dreieck{12}{0} +\dreieck{12}{4} +\dreieck{12}{8} +\dreieck{12}{12} + +\dreieck{13}{0} +\dreieck{13}{1} +\dreieck{13}{4} +\dreieck{13}{5} +\dreieck{13}{8} +\dreieck{13}{9} +\dreieck{13}{12} +\dreieck{13}{13} + +\dreieck{14}{0} +\dreieck{14}{2} +\dreieck{14}{4} +\dreieck{14}{6} +\dreieck{14}{8} +\dreieck{14}{10} +\dreieck{14}{12} +\dreieck{14}{14} + +\dreieck{15}{0} +\dreieck{15}{1} +\dreieck{15}{2} +\dreieck{15}{3} +\dreieck{15}{4} +\dreieck{15}{5} +\dreieck{15}{6} +\dreieck{15}{7} +\dreieck{15}{8} +\dreieck{15}{9} +\dreieck{15}{10} +\dreieck{15}{11} +\dreieck{15}{12} +\dreieck{15}{13} +\dreieck{15}{14} +\dreieck{15}{15} + +\dreieck{16}{0} +\dreieck{16}{16} + +\dreieck{17}{0} +\dreieck{17}{1} +\dreieck{17}{16} +\dreieck{17}{17} + +\dreieck{18}{0} +\dreieck{18}{2} +\dreieck{18}{16} +\dreieck{18}{18} + +\dreieck{19}{0} +\dreieck{19}{1} +\dreieck{19}{2} +\dreieck{19}{3} +\dreieck{19}{16} +\dreieck{19}{17} +\dreieck{19}{18} +\dreieck{19}{19} + +\dreieck{20}{0} +\dreieck{20}{4} +\dreieck{20}{16} +\dreieck{20}{20} + +\dreieck{21}{0} +\dreieck{21}{1} +\dreieck{21}{4} +\dreieck{21}{5} +\dreieck{21}{16} +\dreieck{21}{17} +\dreieck{21}{20} +\dreieck{21}{21} + +\dreieck{22}{0} +\dreieck{22}{2} +\dreieck{22}{4} +\dreieck{22}{6} +\dreieck{22}{16} +\dreieck{22}{18} +\dreieck{22}{20} +\dreieck{22}{22} + +\dreieck{23}{0} +\dreieck{23}{1} +\dreieck{23}{2} +\dreieck{23}{3} +\dreieck{23}{4} +\dreieck{23}{5} +\dreieck{23}{6} +\dreieck{23}{7} +\dreieck{23}{16} +\dreieck{23}{17} +\dreieck{23}{18} +\dreieck{23}{19} +\dreieck{23}{20} +\dreieck{23}{21} +\dreieck{23}{22} +\dreieck{23}{23} + +\dreieck{24}{0} +\dreieck{24}{8} +\dreieck{24}{16} +\dreieck{24}{24} + +\dreieck{25}{0} +\dreieck{25}{1} +\dreieck{25}{8} +\dreieck{25}{9} +\dreieck{25}{16} +\dreieck{25}{17} +\dreieck{25}{24} +\dreieck{25}{25} + +\dreieck{26}{0} +\dreieck{26}{2} +\dreieck{26}{8} +\dreieck{26}{10} +\dreieck{26}{16} +\dreieck{26}{18} +\dreieck{26}{24} +\dreieck{26}{26} + +\dreieck{27}{0} +\dreieck{27}{1} +\dreieck{27}{2} +\dreieck{27}{3} +\dreieck{27}{8} +\dreieck{27}{9} +\dreieck{27}{10} +\dreieck{27}{11} +\dreieck{27}{16} +\dreieck{27}{17} +\dreieck{27}{18} +\dreieck{27}{19} +\dreieck{27}{24} +\dreieck{27}{25} +\dreieck{27}{26} +\dreieck{27}{27} + +\dreieck{28}{0} +\dreieck{28}{4} +\dreieck{28}{8} +\dreieck{28}{12} +\dreieck{28}{16} +\dreieck{28}{20} +\dreieck{28}{24} +\dreieck{28}{28} + +\dreieck{29}{0} +\dreieck{29}{1} +\dreieck{29}{4} +\dreieck{29}{5} +\dreieck{29}{8} +\dreieck{29}{9} +\dreieck{29}{12} +\dreieck{29}{13} +\dreieck{29}{16} +\dreieck{29}{17} +\dreieck{29}{20} +\dreieck{29}{21} +\dreieck{29}{24} +\dreieck{29}{25} +\dreieck{29}{28} +\dreieck{29}{29} + +\foreach \k in {0,2,...,30}{ + \dreieck{30}{\k} +} + +\foreach \k in {0,...,31}{ + \dreieck{31}{\k} +} + +\dreieck{32}{0} +\dreieck{32}{32} + +\dreieck{33}{0} +\dreieck{33}{1} +\dreieck{33}{32} +\dreieck{33}{33} + +\dreieck{34}{0} +\dreieck{34}{2} +\dreieck{34}{32} +\dreieck{34}{34} + +\dreieck{35}{0} +\dreieck{35}{1} +\dreieck{35}{2} +\dreieck{35}{3} +\dreieck{35}{32} +\dreieck{35}{33} +\dreieck{35}{34} +\dreieck{35}{35} + +\def\etikett#1#2#3{ + \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; +} + +\etikett{0}{-2}{n=0} +\etikett{2}{-2}{n=2} +\etikett{4}{-2}{n=4} +\etikett{8}{-2}{n=8} +\etikett{16}{-2}{n=16} +\etikett{32}{-2}{n=32} + +\def\exponent#1#2#3{ + \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; +} + +\exponent{-2}{0}{k=0} +\exponent{0}{2}{k=2} +\exponent{2}{4}{k=4} +\exponent{6}{8}{k=8} +\exponent{14}{16}{k=16} +\exponent{30}{32}{k=32} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/30-endlichekoerper/images/binomial5.tex b/buch/chapters/30-endlichekoerper/images/binomial5.tex index 815e611..f5aac0a 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial5.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial5.tex @@ -1,437 +1,437 @@ -% -% binomial2.tex -- Parität der Binomialkoeffizienten -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{farbe0}{rgb}{1,1,1} -\input{farben.tex} - -\def\s{0.37} -\pgfmathparse{\s*sqrt(3)/2} -\xdef\ys{\pgfmathresult} -\pgfmathparse{\s/2} -\xdef\xs{\pgfmathresult} - -% -% #1 = n -% #2 = k -% -\def\dreieck#1#2#3{ - \fill[color=farbe#3] ({\xs*(-#1+2*#2)},{-\ys*#1}) - -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) - -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; - \node[color=white] at ( ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)-0.03}) {$\scriptstyle #3$}; -} - -\definecolor{gelb}{rgb}{1,0.8,0.2} -\def\zeile#1{ - \fill[color=gelb] - ({\xs*(-#1)},{-\ys*#1}) - -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) - -- ({\xs*(#1+1)},{-\ys*(#1+1)}) - -- ({\xs*(#1)},{-\ys*#1}) -- cycle; -} - -\zeile{5} -\zeile{25} - -\dreieck{0}{0}{1} - -\dreieck{1}{0}{1} -\dreieck{1}{1}{1} - -\dreieck{2}{0}{1} -\dreieck{2}{1}{2} -\dreieck{2}{2}{1} - -\dreieck{3}{0}{1} -\dreieck{3}{1}{3} -\dreieck{3}{2}{3} -\dreieck{3}{3}{1} - -\dreieck{4}{0}{1} -\dreieck{4}{1}{4} -\dreieck{4}{2}{1} -\dreieck{4}{3}{4} -\dreieck{4}{4}{1} - -\dreieck{5}{0}{1} -\dreieck{5}{5}{1} - -\dreieck{6}{0}{1} -\dreieck{6}{1}{1} -\dreieck{6}{5}{1} -\dreieck{6}{6}{1} - -\dreieck{7}{0}{1} -\dreieck{7}{1}{2} -\dreieck{7}{2}{1} -\dreieck{7}{5}{1} -\dreieck{7}{6}{2} -\dreieck{7}{7}{1} - -\dreieck{8}{0}{1} -\dreieck{8}{1}{3} -\dreieck{8}{2}{3} -\dreieck{8}{3}{1} -\dreieck{8}{5}{1} -\dreieck{8}{6}{3} -\dreieck{8}{7}{3} -\dreieck{8}{8}{1} - -\dreieck{9}{0}{1} -\dreieck{9}{1}{4} -\dreieck{9}{2}{1} -\dreieck{9}{3}{4} -\dreieck{9}{4}{1} -\dreieck{9}{5}{1} -\dreieck{9}{6}{4} -\dreieck{9}{7}{1} -\dreieck{9}{8}{4} -\dreieck{9}{9}{1} - -\dreieck{10}{0}{1} -\dreieck{10}{5}{2} -\dreieck{10}{10}{1} - -\dreieck{11}{0}{1} -\dreieck{11}{1}{1} -\dreieck{11}{5}{2} -\dreieck{11}{6}{2} -\dreieck{11}{10}{1} -\dreieck{11}{11}{1} - -\dreieck{12}{0}{1} -\dreieck{12}{1}{2} -\dreieck{12}{2}{1} -\dreieck{12}{5}{2} -\dreieck{12}{6}{4} -\dreieck{12}{7}{2} -\dreieck{12}{10}{1} -\dreieck{12}{11}{2} -\dreieck{12}{12}{1} - -\dreieck{13}{0}{1} -\dreieck{13}{1}{3} -\dreieck{13}{2}{3} -\dreieck{13}{3}{1} -\dreieck{13}{5}{2} -\dreieck{13}{6}{1} -\dreieck{13}{7}{1} -\dreieck{13}{8}{2} -\dreieck{13}{10}{1} -\dreieck{13}{11}{3} -\dreieck{13}{12}{3} -\dreieck{13}{13}{1} - -\dreieck{14}{0}{1} -\dreieck{14}{1}{4} -\dreieck{14}{2}{1} -\dreieck{14}{3}{4} -\dreieck{14}{4}{1} -\dreieck{14}{5}{2} -\dreieck{14}{6}{3} -\dreieck{14}{7}{2} -\dreieck{14}{8}{3} -\dreieck{14}{9}{2} -\dreieck{14}{10}{1} -\dreieck{14}{11}{4} -\dreieck{14}{12}{1} -\dreieck{14}{13}{4} -\dreieck{14}{14}{1} - -\dreieck{15}{0}{1} -\dreieck{15}{5}{3} -\dreieck{15}{10}{3} -\dreieck{15}{15}{1} - -\dreieck{16}{0}{1} -\dreieck{16}{1}{1} -\dreieck{16}{5}{3} -\dreieck{16}{6}{3} -\dreieck{16}{10}{3} -\dreieck{16}{11}{3} -\dreieck{16}{15}{1} -\dreieck{16}{16}{3} - -\dreieck{17}{0}{1} -\dreieck{17}{1}{2} -\dreieck{17}{2}{1} -\dreieck{17}{5}{3} -\dreieck{17}{6}{1} -\dreieck{17}{7}{3} -\dreieck{17}{10}{3} -\dreieck{17}{11}{1} -\dreieck{17}{12}{3} -\dreieck{17}{15}{1} -\dreieck{17}{16}{2} -\dreieck{17}{17}{1} - -\dreieck{18}{0}{1} -\dreieck{18}{1}{3} -\dreieck{18}{2}{3} -\dreieck{18}{3}{1} -\dreieck{18}{5}{3} -\dreieck{18}{6}{4} -\dreieck{18}{7}{4} -\dreieck{18}{8}{3} -\dreieck{18}{10}{3} -\dreieck{18}{11}{4} -\dreieck{18}{12}{4} -\dreieck{18}{13}{3} -\dreieck{18}{15}{1} -\dreieck{18}{16}{3} -\dreieck{18}{17}{3} -\dreieck{18}{18}{1} - -\dreieck{19}{0}{1} -\dreieck{19}{1}{4} -\dreieck{19}{2}{1} -\dreieck{19}{3}{4} -\dreieck{19}{4}{1} -\dreieck{19}{5}{3} -\dreieck{19}{6}{2} -\dreieck{19}{7}{3} -\dreieck{19}{8}{2} -\dreieck{19}{9}{3} -\dreieck{19}{10}{3} -\dreieck{19}{11}{2} -\dreieck{19}{12}{3} -\dreieck{19}{13}{2} -\dreieck{19}{14}{3} -\dreieck{19}{15}{1} -\dreieck{19}{16}{4} -\dreieck{19}{17}{1} -\dreieck{19}{18}{4} -\dreieck{19}{19}{1} - -\dreieck{20}{0}{1} -\dreieck{20}{5}{4} -\dreieck{20}{10}{1} -\dreieck{20}{15}{4} -\dreieck{20}{20}{1} - -\dreieck{21}{0}{1} -\dreieck{21}{1}{1} -\dreieck{21}{5}{4} -\dreieck{21}{6}{4} -\dreieck{21}{10}{1} -\dreieck{21}{11}{1} -\dreieck{21}{15}{4} -\dreieck{21}{16}{4} -\dreieck{21}{20}{1} -\dreieck{21}{21}{1} - -\dreieck{22}{0}{1} -\dreieck{22}{1}{2} -\dreieck{22}{2}{1} -\dreieck{22}{5}{4} -\dreieck{22}{6}{3} -\dreieck{22}{7}{4} -\dreieck{22}{10}{1} -\dreieck{22}{11}{2} -\dreieck{22}{12}{1} -\dreieck{22}{15}{4} -\dreieck{22}{16}{3} -\dreieck{22}{17}{4} -\dreieck{22}{20}{1} -\dreieck{22}{21}{2} -\dreieck{22}{22}{1} - -\dreieck{23}{0}{1} -\dreieck{23}{1}{3} -\dreieck{23}{2}{3} -\dreieck{23}{3}{1} -\dreieck{23}{5}{4} -\dreieck{23}{6}{2} -\dreieck{23}{7}{2} -\dreieck{23}{8}{4} -\dreieck{23}{10}{1} -\dreieck{23}{11}{3} -\dreieck{23}{12}{3} -\dreieck{23}{13}{1} -\dreieck{23}{15}{4} -\dreieck{23}{16}{2} -\dreieck{23}{17}{2} -\dreieck{23}{18}{4} -\dreieck{23}{20}{1} -\dreieck{23}{21}{3} -\dreieck{23}{22}{3} -\dreieck{23}{23}{1} - -\dreieck{24}{0}{1} -\dreieck{24}{1}{4} -\dreieck{24}{2}{1} -\dreieck{24}{3}{4} -\dreieck{24}{4}{1} -\dreieck{24}{5}{4} -\dreieck{24}{6}{1} -\dreieck{24}{7}{4} -\dreieck{24}{8}{1} -\dreieck{24}{9}{4} -\dreieck{24}{10}{1} -\dreieck{24}{11}{4} -\dreieck{24}{12}{1} -\dreieck{24}{13}{4} -\dreieck{24}{14}{1} -\dreieck{24}{15}{4} -\dreieck{24}{16}{1} -\dreieck{24}{17}{4} -\dreieck{24}{18}{1} -\dreieck{24}{19}{4} -\dreieck{24}{20}{1} -\dreieck{24}{21}{4} -\dreieck{24}{22}{1} -\dreieck{24}{23}{4} -\dreieck{24}{24}{1} - -\dreieck{25}{0}{1} -\dreieck{25}{25}{1} - -\dreieck{26}{0}{1} -\dreieck{26}{1}{1} -\dreieck{26}{25}{1} -\dreieck{26}{26}{1} - -\dreieck{27}{0}{1} -\dreieck{27}{1}{2} -\dreieck{27}{2}{1} -\dreieck{27}{25}{1} -\dreieck{27}{26}{2} -\dreieck{27}{27}{1} - -\dreieck{28}{0}{1} -\dreieck{28}{1}{3} -\dreieck{28}{2}{3} -\dreieck{28}{3}{1} -\dreieck{28}{25}{1} -\dreieck{28}{26}{3} -\dreieck{28}{27}{3} -\dreieck{28}{28}{1} - -\dreieck{29}{0}{1} -\dreieck{29}{1}{4} -\dreieck{29}{2}{1} -\dreieck{29}{3}{4} -\dreieck{29}{4}{1} -\dreieck{29}{25}{1} -\dreieck{29}{26}{4} -\dreieck{29}{27}{1} -\dreieck{29}{28}{4} -\dreieck{29}{29}{1} - -\dreieck{30}{0}{1} -\dreieck{30}{5}{1} -\dreieck{30}{25}{1} -\dreieck{30}{30}{1} - -\dreieck{31}{0}{1} -\dreieck{31}{1}{1} -\dreieck{31}{5}{1} -\dreieck{31}{6}{1} -\dreieck{31}{25}{1} -\dreieck{31}{26}{1} -\dreieck{31}{30}{1} -\dreieck{31}{31}{1} - -\dreieck{32}{0}{1} -\dreieck{32}{1}{2} -\dreieck{32}{2}{1} -\dreieck{32}{5}{1} -\dreieck{32}{6}{2} -\dreieck{32}{7}{1} -\dreieck{32}{25}{1} -\dreieck{32}{26}{2} -\dreieck{32}{27}{1} -\dreieck{32}{30}{1} -\dreieck{32}{31}{2} -\dreieck{32}{32}{1} - -\dreieck{33}{0}{1} -\dreieck{33}{1}{3} -\dreieck{33}{2}{3} -\dreieck{33}{3}{1} -\dreieck{33}{5}{1} -\dreieck{33}{6}{3} -\dreieck{33}{7}{3} -\dreieck{33}{8}{1} -\dreieck{33}{25}{1} -\dreieck{33}{26}{3} -\dreieck{33}{27}{3} -\dreieck{33}{28}{1} -\dreieck{33}{30}{1} -\dreieck{33}{31}{3} -\dreieck{33}{32}{3} -\dreieck{33}{33}{1} - -\dreieck{34}{0}{1} -\dreieck{34}{1}{4} -\dreieck{34}{2}{1} -\dreieck{34}{3}{4} -\dreieck{34}{4}{1} -\dreieck{34}{5}{1} -\dreieck{34}{6}{4} -\dreieck{34}{7}{1} -\dreieck{34}{8}{4} -\dreieck{34}{9}{1} -\dreieck{34}{25}{1} -\dreieck{34}{26}{4} -\dreieck{34}{27}{1} -\dreieck{34}{28}{4} -\dreieck{34}{29}{1} -\dreieck{34}{30}{1} -\dreieck{34}{31}{4} -\dreieck{34}{32}{1} -\dreieck{34}{33}{4} -\dreieck{34}{34}{1} - -\dreieck{35}{0}{1} -\dreieck{35}{5}{2} -\dreieck{35}{10}{1} -\dreieck{35}{25}{1} -\dreieck{35}{30}{2} -\dreieck{35}{35}{1} - -\dreieck{36}{0}{1} -\dreieck{36}{1}{1} -\dreieck{36}{5}{2} -\dreieck{36}{6}{2} -\dreieck{36}{10}{1} -\dreieck{36}{11}{1} -\dreieck{36}{25}{1} -\dreieck{36}{26}{1} -\dreieck{36}{30}{2} -\dreieck{36}{31}{2} -\dreieck{36}{35}{1} -\dreieck{36}{36}{1} - -\def\etikett#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; -} - -\etikett{0}{-2}{n=0} -\etikett{5}{-2}{n=5} -\etikett{25}{-2}{n=25} - -\def\exponent#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; -} - -\exponent{-2}{0}{k=0} -\exponent{3}{5}{k=5} -\exponent{23}{25}{k=25} - -\end{tikzpicture} -\end{document} - +% +% binomial2.tex -- Parität der Binomialkoeffizienten +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{farbe0}{rgb}{1,1,1} +\input{farben.tex} + +\def\s{0.37} +\pgfmathparse{\s*sqrt(3)/2} +\xdef\ys{\pgfmathresult} +\pgfmathparse{\s/2} +\xdef\xs{\pgfmathresult} + +% +% #1 = n +% #2 = k +% +\def\dreieck#1#2#3{ + \fill[color=farbe#3] ({\xs*(-#1+2*#2)},{-\ys*#1}) + -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) + -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; + \node[color=white] at ( ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)-0.03}) {$\scriptstyle #3$}; +} + +\definecolor{gelb}{rgb}{1,0.8,0.2} +\def\zeile#1{ + \fill[color=gelb] + ({\xs*(-#1)},{-\ys*#1}) + -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) + -- ({\xs*(#1+1)},{-\ys*(#1+1)}) + -- ({\xs*(#1)},{-\ys*#1}) -- cycle; +} + +\zeile{5} +\zeile{25} + +\dreieck{0}{0}{1} + +\dreieck{1}{0}{1} +\dreieck{1}{1}{1} + +\dreieck{2}{0}{1} +\dreieck{2}{1}{2} +\dreieck{2}{2}{1} + +\dreieck{3}{0}{1} +\dreieck{3}{1}{3} +\dreieck{3}{2}{3} +\dreieck{3}{3}{1} + +\dreieck{4}{0}{1} +\dreieck{4}{1}{4} +\dreieck{4}{2}{1} +\dreieck{4}{3}{4} +\dreieck{4}{4}{1} + +\dreieck{5}{0}{1} +\dreieck{5}{5}{1} + +\dreieck{6}{0}{1} +\dreieck{6}{1}{1} +\dreieck{6}{5}{1} +\dreieck{6}{6}{1} + +\dreieck{7}{0}{1} +\dreieck{7}{1}{2} +\dreieck{7}{2}{1} +\dreieck{7}{5}{1} +\dreieck{7}{6}{2} +\dreieck{7}{7}{1} + +\dreieck{8}{0}{1} +\dreieck{8}{1}{3} +\dreieck{8}{2}{3} +\dreieck{8}{3}{1} +\dreieck{8}{5}{1} +\dreieck{8}{6}{3} +\dreieck{8}{7}{3} +\dreieck{8}{8}{1} + +\dreieck{9}{0}{1} +\dreieck{9}{1}{4} +\dreieck{9}{2}{1} +\dreieck{9}{3}{4} +\dreieck{9}{4}{1} +\dreieck{9}{5}{1} +\dreieck{9}{6}{4} +\dreieck{9}{7}{1} +\dreieck{9}{8}{4} +\dreieck{9}{9}{1} + +\dreieck{10}{0}{1} +\dreieck{10}{5}{2} +\dreieck{10}{10}{1} + +\dreieck{11}{0}{1} +\dreieck{11}{1}{1} +\dreieck{11}{5}{2} +\dreieck{11}{6}{2} +\dreieck{11}{10}{1} +\dreieck{11}{11}{1} + +\dreieck{12}{0}{1} +\dreieck{12}{1}{2} +\dreieck{12}{2}{1} +\dreieck{12}{5}{2} +\dreieck{12}{6}{4} +\dreieck{12}{7}{2} +\dreieck{12}{10}{1} +\dreieck{12}{11}{2} +\dreieck{12}{12}{1} + +\dreieck{13}{0}{1} +\dreieck{13}{1}{3} +\dreieck{13}{2}{3} +\dreieck{13}{3}{1} +\dreieck{13}{5}{2} +\dreieck{13}{6}{1} +\dreieck{13}{7}{1} +\dreieck{13}{8}{2} +\dreieck{13}{10}{1} +\dreieck{13}{11}{3} +\dreieck{13}{12}{3} +\dreieck{13}{13}{1} + +\dreieck{14}{0}{1} +\dreieck{14}{1}{4} +\dreieck{14}{2}{1} +\dreieck{14}{3}{4} +\dreieck{14}{4}{1} +\dreieck{14}{5}{2} +\dreieck{14}{6}{3} +\dreieck{14}{7}{2} +\dreieck{14}{8}{3} +\dreieck{14}{9}{2} +\dreieck{14}{10}{1} +\dreieck{14}{11}{4} +\dreieck{14}{12}{1} +\dreieck{14}{13}{4} +\dreieck{14}{14}{1} + +\dreieck{15}{0}{1} +\dreieck{15}{5}{3} +\dreieck{15}{10}{3} +\dreieck{15}{15}{1} + +\dreieck{16}{0}{1} +\dreieck{16}{1}{1} +\dreieck{16}{5}{3} +\dreieck{16}{6}{3} +\dreieck{16}{10}{3} +\dreieck{16}{11}{3} +\dreieck{16}{15}{1} +\dreieck{16}{16}{3} + +\dreieck{17}{0}{1} +\dreieck{17}{1}{2} +\dreieck{17}{2}{1} +\dreieck{17}{5}{3} +\dreieck{17}{6}{1} +\dreieck{17}{7}{3} +\dreieck{17}{10}{3} +\dreieck{17}{11}{1} +\dreieck{17}{12}{3} +\dreieck{17}{15}{1} +\dreieck{17}{16}{2} +\dreieck{17}{17}{1} + +\dreieck{18}{0}{1} +\dreieck{18}{1}{3} +\dreieck{18}{2}{3} +\dreieck{18}{3}{1} +\dreieck{18}{5}{3} +\dreieck{18}{6}{4} +\dreieck{18}{7}{4} +\dreieck{18}{8}{3} +\dreieck{18}{10}{3} +\dreieck{18}{11}{4} +\dreieck{18}{12}{4} +\dreieck{18}{13}{3} +\dreieck{18}{15}{1} +\dreieck{18}{16}{3} +\dreieck{18}{17}{3} +\dreieck{18}{18}{1} + +\dreieck{19}{0}{1} +\dreieck{19}{1}{4} +\dreieck{19}{2}{1} +\dreieck{19}{3}{4} +\dreieck{19}{4}{1} +\dreieck{19}{5}{3} +\dreieck{19}{6}{2} +\dreieck{19}{7}{3} +\dreieck{19}{8}{2} +\dreieck{19}{9}{3} +\dreieck{19}{10}{3} +\dreieck{19}{11}{2} +\dreieck{19}{12}{3} +\dreieck{19}{13}{2} +\dreieck{19}{14}{3} +\dreieck{19}{15}{1} +\dreieck{19}{16}{4} +\dreieck{19}{17}{1} +\dreieck{19}{18}{4} +\dreieck{19}{19}{1} + +\dreieck{20}{0}{1} +\dreieck{20}{5}{4} +\dreieck{20}{10}{1} +\dreieck{20}{15}{4} +\dreieck{20}{20}{1} + +\dreieck{21}{0}{1} +\dreieck{21}{1}{1} +\dreieck{21}{5}{4} +\dreieck{21}{6}{4} +\dreieck{21}{10}{1} +\dreieck{21}{11}{1} +\dreieck{21}{15}{4} +\dreieck{21}{16}{4} +\dreieck{21}{20}{1} +\dreieck{21}{21}{1} + +\dreieck{22}{0}{1} +\dreieck{22}{1}{2} +\dreieck{22}{2}{1} +\dreieck{22}{5}{4} +\dreieck{22}{6}{3} +\dreieck{22}{7}{4} +\dreieck{22}{10}{1} +\dreieck{22}{11}{2} +\dreieck{22}{12}{1} +\dreieck{22}{15}{4} +\dreieck{22}{16}{3} +\dreieck{22}{17}{4} +\dreieck{22}{20}{1} +\dreieck{22}{21}{2} +\dreieck{22}{22}{1} + +\dreieck{23}{0}{1} +\dreieck{23}{1}{3} +\dreieck{23}{2}{3} +\dreieck{23}{3}{1} +\dreieck{23}{5}{4} +\dreieck{23}{6}{2} +\dreieck{23}{7}{2} +\dreieck{23}{8}{4} +\dreieck{23}{10}{1} +\dreieck{23}{11}{3} +\dreieck{23}{12}{3} +\dreieck{23}{13}{1} +\dreieck{23}{15}{4} +\dreieck{23}{16}{2} +\dreieck{23}{17}{2} +\dreieck{23}{18}{4} +\dreieck{23}{20}{1} +\dreieck{23}{21}{3} +\dreieck{23}{22}{3} +\dreieck{23}{23}{1} + +\dreieck{24}{0}{1} +\dreieck{24}{1}{4} +\dreieck{24}{2}{1} +\dreieck{24}{3}{4} +\dreieck{24}{4}{1} +\dreieck{24}{5}{4} +\dreieck{24}{6}{1} +\dreieck{24}{7}{4} +\dreieck{24}{8}{1} +\dreieck{24}{9}{4} +\dreieck{24}{10}{1} +\dreieck{24}{11}{4} +\dreieck{24}{12}{1} +\dreieck{24}{13}{4} +\dreieck{24}{14}{1} +\dreieck{24}{15}{4} +\dreieck{24}{16}{1} +\dreieck{24}{17}{4} +\dreieck{24}{18}{1} +\dreieck{24}{19}{4} +\dreieck{24}{20}{1} +\dreieck{24}{21}{4} +\dreieck{24}{22}{1} +\dreieck{24}{23}{4} +\dreieck{24}{24}{1} + +\dreieck{25}{0}{1} +\dreieck{25}{25}{1} + +\dreieck{26}{0}{1} +\dreieck{26}{1}{1} +\dreieck{26}{25}{1} +\dreieck{26}{26}{1} + +\dreieck{27}{0}{1} +\dreieck{27}{1}{2} +\dreieck{27}{2}{1} +\dreieck{27}{25}{1} +\dreieck{27}{26}{2} +\dreieck{27}{27}{1} + +\dreieck{28}{0}{1} +\dreieck{28}{1}{3} +\dreieck{28}{2}{3} +\dreieck{28}{3}{1} +\dreieck{28}{25}{1} +\dreieck{28}{26}{3} +\dreieck{28}{27}{3} +\dreieck{28}{28}{1} + +\dreieck{29}{0}{1} +\dreieck{29}{1}{4} +\dreieck{29}{2}{1} +\dreieck{29}{3}{4} +\dreieck{29}{4}{1} +\dreieck{29}{25}{1} +\dreieck{29}{26}{4} +\dreieck{29}{27}{1} +\dreieck{29}{28}{4} +\dreieck{29}{29}{1} + +\dreieck{30}{0}{1} +\dreieck{30}{5}{1} +\dreieck{30}{25}{1} +\dreieck{30}{30}{1} + +\dreieck{31}{0}{1} +\dreieck{31}{1}{1} +\dreieck{31}{5}{1} +\dreieck{31}{6}{1} +\dreieck{31}{25}{1} +\dreieck{31}{26}{1} +\dreieck{31}{30}{1} +\dreieck{31}{31}{1} + +\dreieck{32}{0}{1} +\dreieck{32}{1}{2} +\dreieck{32}{2}{1} +\dreieck{32}{5}{1} +\dreieck{32}{6}{2} +\dreieck{32}{7}{1} +\dreieck{32}{25}{1} +\dreieck{32}{26}{2} +\dreieck{32}{27}{1} +\dreieck{32}{30}{1} +\dreieck{32}{31}{2} +\dreieck{32}{32}{1} + +\dreieck{33}{0}{1} +\dreieck{33}{1}{3} +\dreieck{33}{2}{3} +\dreieck{33}{3}{1} +\dreieck{33}{5}{1} +\dreieck{33}{6}{3} +\dreieck{33}{7}{3} +\dreieck{33}{8}{1} +\dreieck{33}{25}{1} +\dreieck{33}{26}{3} +\dreieck{33}{27}{3} +\dreieck{33}{28}{1} +\dreieck{33}{30}{1} +\dreieck{33}{31}{3} +\dreieck{33}{32}{3} +\dreieck{33}{33}{1} + +\dreieck{34}{0}{1} +\dreieck{34}{1}{4} +\dreieck{34}{2}{1} +\dreieck{34}{3}{4} +\dreieck{34}{4}{1} +\dreieck{34}{5}{1} +\dreieck{34}{6}{4} +\dreieck{34}{7}{1} +\dreieck{34}{8}{4} +\dreieck{34}{9}{1} +\dreieck{34}{25}{1} +\dreieck{34}{26}{4} +\dreieck{34}{27}{1} +\dreieck{34}{28}{4} +\dreieck{34}{29}{1} +\dreieck{34}{30}{1} +\dreieck{34}{31}{4} +\dreieck{34}{32}{1} +\dreieck{34}{33}{4} +\dreieck{34}{34}{1} + +\dreieck{35}{0}{1} +\dreieck{35}{5}{2} +\dreieck{35}{10}{1} +\dreieck{35}{25}{1} +\dreieck{35}{30}{2} +\dreieck{35}{35}{1} + +\dreieck{36}{0}{1} +\dreieck{36}{1}{1} +\dreieck{36}{5}{2} +\dreieck{36}{6}{2} +\dreieck{36}{10}{1} +\dreieck{36}{11}{1} +\dreieck{36}{25}{1} +\dreieck{36}{26}{1} +\dreieck{36}{30}{2} +\dreieck{36}{31}{2} +\dreieck{36}{35}{1} +\dreieck{36}{36}{1} + +\def\etikett#1#2#3{ + \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; +} + +\etikett{0}{-2}{n=0} +\etikett{5}{-2}{n=5} +\etikett{25}{-2}{n=25} + +\def\exponent#1#2#3{ + \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; +} + +\exponent{-2}{0}{k=0} +\exponent{3}{5}{k=5} +\exponent{23}{25}{k=25} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/chapter.tex b/buch/chapters/40-eigenwerte/chapter.tex index 242a5e5..34c2444 100644 --- a/buch/chapters/40-eigenwerte/chapter.tex +++ b/buch/chapters/40-eigenwerte/chapter.tex @@ -1,50 +1,50 @@ -% -% chapter.tex -- Kapitel über Eigenwerte und Eigenvektoren -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\chapter{Eigenwerte und Eigenvektoren -\label{buch:chapter:eigenwerte-und-eigenvektoren}} -\lhead{Eigenwerte und Eigenvektoren} -\rhead{} -Die algebraischen Eigenschaften einer Matrix $A$ sind eng mit der -Frage nach linearen Beziehungen unter den Potenzen von $A^k$ verbunden. -Im Allgemeinen ist die Berechnung dieser Potenzen eher unübersichtlich, -es sei denn, die Matrix hat eine spezielle Form. -Die Potenzen einer Diagonalmatrix erhält man, indem man die Diagonalelemente -potenziert. -Auch für Dreiecksmatrizen ist mindestens die Berechnung der Diagonalelemente -von $A^k$ einfach. -Die Theorie der Eigenwerte und Eigenvektoren ermöglicht, Matrizen in -eine solche besonders einfache Form zu bringen. - -In Abschnitt~\ref{buch:section:grundlagen} werden die grundlegenden -Definitionen der Eigenwerttheorie in Erinnerung gerufen. -Damit kann dann in Abschnitt~\ref{buch:section:normalformen} -gezeigt werden, wie Matrizen in besonders einfache Form gebracht -werden können. -Die Eigenwerte bestimmen auch die Eigenschaften von numerischen -Algorithmen, wie in den Abschnitten~\ref{buch:section:spektralradius} -und \ref{buch:section:numerisch} dargestellt wird. -Für viele Funktionen kann man auch den Wert $f(A)$ berechnen, unter -geeigneten Voraussetzungen an den Spektralradius. -Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. - - -\input{chapters/40-eigenwerte/grundlagen.tex} -\input{chapters/40-eigenwerte/normalformen.tex} -\input{chapters/40-eigenwerte/spektralradius.tex} -\input{chapters/40-eigenwerte/spektraltheorie.tex} -%\input{chapters/40-eigenwerte/numerisch.tex} - -\section*{Übungsaufgaben} -\rhead{Übungsaufgaben} -\aufgabetoplevel{chapters/40-eigenwerte/uebungsaufgaben} -\begin{uebungsaufgaben} -\uebungsaufgabe{4001} -\uebungsaufgabe{4002} -\uebungsaufgabe{4003} -\uebungsaufgabe{4004} -\uebungsaufgabe{4005} -\end{uebungsaufgaben} - +% +% chapter.tex -- Kapitel über Eigenwerte und Eigenvektoren +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\chapter{Eigenwerte und Eigenvektoren +\label{buch:chapter:eigenwerte-und-eigenvektoren}} +\lhead{Eigenwerte und Eigenvektoren} +\rhead{} +Die algebraischen Eigenschaften einer Matrix $A$ sind eng mit der +Frage nach linearen Beziehungen unter den Potenzen von $A^k$ verbunden. +Im Allgemeinen ist die Berechnung dieser Potenzen eher unübersichtlich, +es sei denn, die Matrix hat eine spezielle Form. +Die Potenzen einer Diagonalmatrix erhält man, indem man die Diagonalelemente +potenziert. +Auch für Dreiecksmatrizen ist mindestens die Berechnung der Diagonalelemente +von $A^k$ einfach. +Die Theorie der Eigenwerte und Eigenvektoren ermöglicht, Matrizen in +eine solche besonders einfache Form zu bringen. + +In Abschnitt~\ref{buch:section:grundlagen} werden die grundlegenden +Definitionen der Eigenwerttheorie in Erinnerung gerufen. +Damit kann dann in Abschnitt~\ref{buch:section:normalformen} +gezeigt werden, wie Matrizen in besonders einfache Form gebracht +werden können. +Die Eigenwerte bestimmen auch die Eigenschaften von numerischen +Algorithmen, wie in den Abschnitten~\ref{buch:section:spektralradius} +und \ref{buch:section:numerisch} dargestellt wird. +Für viele Funktionen kann man auch den Wert $f(A)$ berechnen, unter +geeigneten Voraussetzungen an den Spektralradius. +Dies wird in Abschnitt~\ref{buch:section:spektraltheorie} beschrieben. + + +\input{chapters/40-eigenwerte/grundlagen.tex} +\input{chapters/40-eigenwerte/normalformen.tex} +\input{chapters/40-eigenwerte/spektralradius.tex} +\input{chapters/40-eigenwerte/spektraltheorie.tex} +%\input{chapters/40-eigenwerte/numerisch.tex} + +\section*{Übungsaufgaben} +\rhead{Übungsaufgaben} +\aufgabetoplevel{chapters/40-eigenwerte/uebungsaufgaben} +\begin{uebungsaufgaben} +\uebungsaufgabe{4001} +\uebungsaufgabe{4002} +\uebungsaufgabe{4003} +\uebungsaufgabe{4004} +\uebungsaufgabe{4005} +\end{uebungsaufgaben} + diff --git a/buch/chapters/40-eigenwerte/images/Makefile b/buch/chapters/40-eigenwerte/images/Makefile index 54b36d5..4d882f0 100644 --- a/buch/chapters/40-eigenwerte/images/Makefile +++ b/buch/chapters/40-eigenwerte/images/Makefile @@ -1,44 +1,44 @@ -# -# Makefile -# -# (c) 2020 Prof Dr Andreas Müller, Hochschule Rappersil -# -all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf \ - wurzelapprox.pdf wurzel.pdf dimjk.pdf jknilp.pdf \ - normalform.pdf minmax.pdf - -sp.pdf: sp.tex sppaths.tex - pdflatex sp.tex - -sppaths.tex: spbeispiel.m - octave spbeispiel.m - -nilpotent.pdf: nilpotent.tex - pdflatex nilpotent.tex - -kernbild.pdf: kernbild.tex bild2.jpg kern2.jpg - pdflatex kernbild.tex - -kombiniert.pdf: kombiniert.tex kombiniert.jpg - pdflatex kombiniert.tex - -wurzelapprox.pdf: wurzelapprox.tex wa.tex - pdflatex wurzelapprox.tex - -wa.tex: wa.m - octave wa.m - -wurzel.pdf: wurzel.tex - pdflatex wurzel.tex - -dimjk.pdf: dimjk.tex - pdflatex dimjk.tex - -jknilp.pdf: jknilp.tex - pdflatex jknilp.tex - -normalform.pdf: normalform.tex - pdflatex normalform.tex - -minmax.pdf: minmax.tex - pdflatex minmax.tex +# +# Makefile +# +# (c) 2020 Prof Dr Andreas Müller, Hochschule Rappersil +# +all: sp.pdf nilpotent.pdf kernbild.pdf kombiniert.pdf \ + wurzelapprox.pdf wurzel.pdf dimjk.pdf jknilp.pdf \ + normalform.pdf minmax.pdf + +sp.pdf: sp.tex sppaths.tex + pdflatex sp.tex + +sppaths.tex: spbeispiel.m + octave spbeispiel.m + +nilpotent.pdf: nilpotent.tex + pdflatex nilpotent.tex + +kernbild.pdf: kernbild.tex bild2.jpg kern2.jpg + pdflatex kernbild.tex + +kombiniert.pdf: kombiniert.tex kombiniert.jpg + pdflatex kombiniert.tex + +wurzelapprox.pdf: wurzelapprox.tex wa.tex + pdflatex wurzelapprox.tex + +wa.tex: wa.m + octave wa.m + +wurzel.pdf: wurzel.tex + pdflatex wurzel.tex + +dimjk.pdf: dimjk.tex + pdflatex dimjk.tex + +jknilp.pdf: jknilp.tex + pdflatex jknilp.tex + +normalform.pdf: normalform.tex + pdflatex normalform.tex + +minmax.pdf: minmax.tex + pdflatex minmax.tex diff --git a/buch/chapters/40-eigenwerte/images/minmax.tex b/buch/chapters/40-eigenwerte/images/minmax.tex index f661d5b..cf81834 100644 --- a/buch/chapters/40-eigenwerte/images/minmax.tex +++ b/buch/chapters/40-eigenwerte/images/minmax.tex @@ -1,134 +1,134 @@ -% -% minmax.tex -- minimum und maximum -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\def\mittellinie{ - plot[domain=0:6.2832,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}) -} - -\begin{scope} - \fill[color=darkgreen!20] - plot[domain=0:6.2832,samples=360] - ({\x},{sin(180*\x/3.1415)}) - -- - plot[domain=6.2832:0,samples=360] - ({\x},{cos(180*\x/3.1415)}) - -- cycle; - \foreach \x in {0.5,1,...,6}{ - \draw[color=darkgreen] - ({\x},{sin(180*\x/3.1415)}) - -- - ({\x},{cos(180*\x/3.1415)}); - } - - \node[color=darkgreen] at (2,-0.8) [left] {$|f(x)-g(x)|$}; - \draw[color=darkgreen,line width=0.3pt] (2,-0.8) -- (2.5,-0.7); - - \draw[color=blue,line width=1.4pt] plot[domain=0:6.29,samples=360] - ({\x},{sin(180*\x/3.1415)}); - \draw[color=red,line width=1.4pt] plot[domain=0:6.29,samples=360] - ({\x},{cos(180*\x/3.1415)}); - \draw[color=purple!50,line width=1.4pt] \mittellinie; - \node[color=purple!50] at (6.2832,0.5) [right] {$\frac12(f(x)+g(x))$}; - - \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={below:$x$}]; - \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; - - - \xdef\x{2} - \node[color=blue] at (\x,{sin(180*\x/3.1415)}) [above right] {$f(x)$}; - \pgfmathparse{2.5*3.14159-\x} - \xdef\x{\pgfmathresult} - \node[color=red] at (\x,{cos(180*\x/3.1415)}) [above left] {$g(x)$}; - -\end{scope} - -\draw[->,line width=4pt,color=gray!40] ({3.1415-1},-1.3) -- ({3.1415-2.3},-3); -\draw[->,line width=4pt,color=gray!40] ({3.1415+1},-1.3) -- ({3.1415+2.3},-3); - -\node at ({3.1415-1.75},-2.15) [left] {$\frac12(f(x)+g(x))+\frac12|f(x)-g(x)|$}; -\node at ({3.1415+1.75},-2.15) [right] {$\frac12(f(x)+g(x))-\frac12|f(x)-g(x)|$}; - -\def\s{(-0.1)} - -\begin{scope}[xshift=-3.4cm,yshift=-4.6cm] - \fill[color=darkgreen!20] - \mittellinie - -- - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- cycle; - \foreach \x in {0.5,1,...,6}{ - \draw[color=darkgreen] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); - } - \draw[color=darkgreen,line width=1.4pt] - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); - - \node[color=darkgreen] at (2,-0.3) [left] {$|f(x)-g(x)|$}; - \draw[color=darkgreen,line width=0.3pt] (2,-0.3) -- (2.5,0.2); - - \draw[color=purple!50,line width=1.4pt] \mittellinie; - \pgfmathparse{0.75*3.1415+\s} - \xdef\x{\pgfmathresult} - \node[color=darkgreen] at (\x,{sin(180*\x/3.1415)}) [above right] - {$\max(f(x),g(x))$}; - \node[color=purple!50] at ({1.25*3.1415},-0.7) [below] - {$\frac12(f(x)+g(x))$}; - \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; -\end{scope} - - -\begin{scope}[xshift=+3.4cm,yshift=-4.6cm] - \fill[color=darkgreen!20] - \mittellinie - -- - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- cycle; - \foreach \x in {0.5,1,...,6}{ - \draw[color=darkgreen] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) - -- - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); - } - \draw[color=darkgreen,line width=1.4pt] - plot[domain=6.2832:0,samples=400] - ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); - - \node[color=darkgreen] at (3,0.3) [right] {$|f(x)-g(x)|$}; - \draw[color=darkgreen,line width=0.3pt] (3,0.3) -- (2.5,-0.4); - - \draw[color=purple!50,line width=1.4pt] \mittellinie; - \pgfmathparse{0.75*3.1415-\s} - \xdef\x{\pgfmathresult} - \node[color=darkgreen] at (\x,{cos(180*\x/3.1415)}) [below left] - {$\min(f(x),g(x))$}; - \node[color=purple!50] at ({0.25*3.1415},0.7) [above right] - {$\frac12(f(x)+g(x))$}; - \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% minmax.tex -- minimum und maximum +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.5,0} + +\def\mittellinie{ + plot[domain=0:6.2832,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}) +} + +\begin{scope} + \fill[color=darkgreen!20] + plot[domain=0:6.2832,samples=360] + ({\x},{sin(180*\x/3.1415)}) + -- + plot[domain=6.2832:0,samples=360] + ({\x},{cos(180*\x/3.1415)}) + -- cycle; + \foreach \x in {0.5,1,...,6}{ + \draw[color=darkgreen] + ({\x},{sin(180*\x/3.1415)}) + -- + ({\x},{cos(180*\x/3.1415)}); + } + + \node[color=darkgreen] at (2,-0.8) [left] {$|f(x)-g(x)|$}; + \draw[color=darkgreen,line width=0.3pt] (2,-0.8) -- (2.5,-0.7); + + \draw[color=blue,line width=1.4pt] plot[domain=0:6.29,samples=360] + ({\x},{sin(180*\x/3.1415)}); + \draw[color=red,line width=1.4pt] plot[domain=0:6.29,samples=360] + ({\x},{cos(180*\x/3.1415)}); + \draw[color=purple!50,line width=1.4pt] \mittellinie; + \node[color=purple!50] at (6.2832,0.5) [right] {$\frac12(f(x)+g(x))$}; + + \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={below:$x$}]; + \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; + + + \xdef\x{2} + \node[color=blue] at (\x,{sin(180*\x/3.1415)}) [above right] {$f(x)$}; + \pgfmathparse{2.5*3.14159-\x} + \xdef\x{\pgfmathresult} + \node[color=red] at (\x,{cos(180*\x/3.1415)}) [above left] {$g(x)$}; + +\end{scope} + +\draw[->,line width=4pt,color=gray!40] ({3.1415-1},-1.3) -- ({3.1415-2.3},-3); +\draw[->,line width=4pt,color=gray!40] ({3.1415+1},-1.3) -- ({3.1415+2.3},-3); + +\node at ({3.1415-1.75},-2.15) [left] {$\frac12(f(x)+g(x))+\frac12|f(x)-g(x)|$}; +\node at ({3.1415+1.75},-2.15) [right] {$\frac12(f(x)+g(x))-\frac12|f(x)-g(x)|$}; + +\def\s{(-0.1)} + +\begin{scope}[xshift=-3.4cm,yshift=-4.6cm] + \fill[color=darkgreen!20] + \mittellinie + -- + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- cycle; + \foreach \x in {0.5,1,...,6}{ + \draw[color=darkgreen] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); + } + \draw[color=darkgreen,line width=1.4pt] + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)+abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); + + \node[color=darkgreen] at (2,-0.3) [left] {$|f(x)-g(x)|$}; + \draw[color=darkgreen,line width=0.3pt] (2,-0.3) -- (2.5,0.2); + + \draw[color=purple!50,line width=1.4pt] \mittellinie; + \pgfmathparse{0.75*3.1415+\s} + \xdef\x{\pgfmathresult} + \node[color=darkgreen] at (\x,{sin(180*\x/3.1415)}) [above right] + {$\max(f(x),g(x))$}; + \node[color=purple!50] at ({1.25*3.1415},-0.7) [below] + {$\frac12(f(x)+g(x))$}; + \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; +\end{scope} + + +\begin{scope}[xshift=+3.4cm,yshift=-4.6cm] + \fill[color=darkgreen!20] + \mittellinie + -- + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- cycle; + \foreach \x in {0.5,1,...,6}{ + \draw[color=darkgreen] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}) + -- + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159))}); + } + \draw[color=darkgreen,line width=1.4pt] + plot[domain=6.2832:0,samples=400] + ({\x},{0.5*(sin(180*\x/3.14159)+cos(180*\x/3.14159)-abs(sin(180*\x/3.14159)-cos(180*\x/3.14159)))}); + + \node[color=darkgreen] at (3,0.3) [right] {$|f(x)-g(x)|$}; + \draw[color=darkgreen,line width=0.3pt] (3,0.3) -- (2.5,-0.4); + + \draw[color=purple!50,line width=1.4pt] \mittellinie; + \pgfmathparse{0.75*3.1415-\s} + \xdef\x{\pgfmathresult} + \node[color=darkgreen] at (\x,{cos(180*\x/3.1415)}) [below left] + {$\min(f(x),g(x))$}; + \node[color=purple!50] at ({0.25*3.1415},0.7) [above right] + {$\frac12(f(x)+g(x))$}; + \draw[->] (-0.1,0) -- (6.5,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,1.3) coordinate[label={right:$y$}]; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/40-eigenwerte/spektraltheorie.tex b/buch/chapters/40-eigenwerte/spektraltheorie.tex index 466b99e..367a4c9 100644 --- a/buch/chapters/40-eigenwerte/spektraltheorie.tex +++ b/buch/chapters/40-eigenwerte/spektraltheorie.tex @@ -1,802 +1,802 @@ -% -% spektraltheorie.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Spektraltheorie -\label{buch:section:spektraltheorie}} -Aufgabe der Spektraltheorie ist, Bedingungen an eine Matrix $A$ und eine -Funktion $f(z)$ zu finden, unter denen es möglich ist, $f(A)$ auf -konsistente Art und Weise zu definieren. -Weiter müssen Methoden entwickelt werden, mit denen $f(A)$ berechnet -werden kann. -Für ein Polynom $p(z)$ ist $p(A)$ durch einsetzen definiert. -Für Funktionen, die sich nicht durch ein Polynom darstellen lassen, -muss eine Approximation der Funktion durch Polynome verwendet werden. -Sei also $p_n(z)$ eine Folge von Polynomen, die als Approximation der -Funktion $f(z)$ verwendet werden soll. -Das Ziel ist, $f(A)$ als den Grenzwert der Matrixfolge $p_n(A)$ -zu definieren. - -Zunächst ist nicht klar, wie eine solche Folge gewählt werden muss. -Es muss eine Teilmenge von $K\subset\mathbb{C}$ spezifiziert werden, -auf der die Funktionenfolge $p_n(z)$ konvergieren muss, -damit auch die Konvergenz der Matrizenfolge $p_n(A)$ garantiert ist. -Auch die Art der Konvergenz von $p_n(z)$ auf der Menge $K$ ist noch -unklar. -Da der Abstand zweier Matrizen $A$ und $B$ in der Operatornorm -mit der grössten Abweichung $\|(A-B)v\|$ für Einheitsvektoren $v$ -gemessen wird, ist es einigermassen plausibel, dass -die grösse Abweichung zwischen zwei Polynomen $|p(z) - q(z)|$ auf -der Menge $K$ kleine sein muss, wenn $\|p(A)-q(A)\|$ klein -sein soll. -Da die Differenz $p(z)-q(z)$ für beliebige Polynome, die sich nicht -nur um eine Konstante unterscheiden, mit $z$ über alle Grenzen wächst, -muss $K$ beschränkt sein. -Gesucht ist also eine kompakte Menge $K\subset\mathbb{C}$ und eine -Folge $p_n(z)$ von Polynomen, die auf $K$ gleichmässig gegen $f(z)$ -konvergieren. -Die Wahl von $K$ muss sicherstellen, dass für jede gleichmässig -konvergente Folge von Polynomen $p_n(z)$ auch die Matrizenfolge -$p_n(A)$ konvergiert. - -Es wird sich zeigen, dass die Menge $K$ das Spektrum von $A$ ist, -also eine endliche Teilmenge von $\mathbb{C}$. -Jede Funktion kann auf so einer Menge durch Polynome exakt wiedergegeben -werden. -Es gibt insbesondere Folgen von Polynomen, die eingeschränkt -auf das Spektrum gleich sind, also $p_n(z)=p_m(z)$ für alle $z\in K$, -die aber ausserhalb des Spektrums alle verschieden sind. -Als Beispiel kann die Matrix -\[ -N=\begin{pmatrix}0&1\\0&0\end{pmatrix} -\] -herangezogen werden. -Ihr Spektrum ist $\operatorname{Sp}(N)=\{0\}\subset\mathbb{C}$. -Zwei Polynome stimmen genau dann auf $\operatorname{Sp}(N)$ überein, -wenn der konstante Koeffizient gleich ist. -Die Polynome $p(z)=z$ und $q(z)=z^2$ stimmen daher auf dem Spektrum -überein. -Für die Matrizen gilt aber $p(N)=N$ und $q(N)=N^2=0$, die Matrizen -stimmen also nicht überein. -Es braucht also zusätzliche Bedingungen an die Matrix $A$, die -sicherstellen, dass $p(A)=0$ ist, wann immer $p(z)=0$ für -$z\in\operatorname{Sp}(A)$ gilt. - -In diesem Abschnitt sollen diese Fragen untersucht werden. -In Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -wird gezeigt, wie sich Funktionen durch Polynome approximieren -lassen, woraus sich dann Approximationen von $f(A)$ für diagonalisierbare -Matrizen mit reellen Eigenwerten ergeben. - -Der Satz von Stone-Weierstrass, der in -Abschnitt~\ref{buch:subsetion:stone-weierstrass} dargestellt wird, -ist ein sehr allgemeines Approximationsresultat, welches nicht nur -zeigt, dass die Approximation unter sehr natürlichen Voraussetzungen -beliebig genau möglich ist, sondern uns im komplexen Fall auch -weitere Einsicht dafür geben kann, welche Voraussetzungen an eine -komplexe Matrix gestellt werden müssen, damit man damit rechnen kann, -dass die Approximation zu einer konsistenten Definition von $f(A)$ führt. - -% -% Approximation -% -\subsection{Approximation durch Polynome -\label{buch:subsection:approximation-durch-polynome}} -Die der Berechnung von $f(A)$ für eine beleibige stetige Funktion, -die sich nicht als Potenzreihe schreiben lässt, verwendet Approximationen -von Polynomen. -Die numerische Mathematik hat eine grosse Menge von solchen -Approximationsverfahren entwickelt, wovon zwei kurz (ohne Beweise) -vorgestellt werden sollen. - -\subsubsection{Das Legendre-Interpolationspolynom} -Zu vorgegebenen, verschiedenen Zahlen $z_i\in\mathbb{C}$, $0\le i\le n$, -die auch die {\em Stützstellen} genannt werden, -gibt es immer ein Polynom vom Grade $n$, welches in den $z_i$ vorgegebene -Werte $f(z_i)$ annimmt. -Ein solches Polynom lässt sich im Prinzip mit Hilfe eines linearen -Gleichungssystems finden, man kann aber auch direkt eine Lösung -konstruieren. -Dazu bildet man erst die Polynome -\begin{align*} -l(z) &= (z-z_0)(z-z_1)\dots (z-z_n) \qquad\text{und} -\\ -l_i(z) &= (z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n). -\end{align*} -Darin bedeutet der Hut, dass dieser Term weggelassen werden soll. -Für $z\ne z_i$ ist $l_i(z)=l(z)/(z-z_i)$. -Die Polynome -\[ -k_i(z) -= -\frac{l_i(z)}{l_i(z_i)} -= -\frac{(z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n)}{(z_i-z_0)\dots \widehat{(z_i-z_i)}\dots (z_i-z_n)} -\] -haben die Eigenschaft -$k_i(z_j)=\delta_{ij}$. -Damit lässt sich jetzt ein Polynom -\[ -p(z) = \sum_{j=0}^n f(z_j) \frac{l_j(z)}{l_j(z_j)} -\] -vom Grad $n$ konstruieren, welches die Werte -\[ -p(z_i) -= -\sum_{j=0}^n f(z_j) \frac{l_j(z_i)}{l_j(z_j)} -= -\sum_{j=0}^n f(z_j) \delta_{ij} -= -f_(z_i) -\] -annimmt. -Das Polynom $p(z)$ heisst das {\em Legendre-Interpolationspolynom}. - -Zwar lässt sich also für eine endliche Menge von komplexen Zahlen immer -ein Polynom finden, welches vorgeschriebene Wert in allen diesen Zahlen -annimmt, doch ist die Stabilität für grosse $n$ eher beschränkt. - - -\subsubsection{Gleichmassige Approximation mit Bernstein-Polynomen} -Das Legendre-Interpolationspolynom nimmt in den Stützstellen die -verlangten Werte an, aber ausserhalb der Stützstellen ist nicht -garantiert, dass man eine gute Approximation einer Funktion $f(z)$ -erhält. - -Für die Approximation auf einem reellen Interval $[a,b]$ hat -Sergei Natanowitsch Bernstein ein -Dazu werden zuerst die reellen Bernsteinpolynome vom Grad $n$ -durch -\begin{align*} -B_{i,n}(t) = \binom{n}{i} t^i(1-t)^{n-i}. -\end{align*} -definiert. -Als Approximationspolynom für die auf dem Interval -$[0,1]$ definierte, stetige Funktion $f(t)$ kann man dann -\[ -B_n(f)(t) -= -\sum_{i=0}^n B_{i,n}(t) f\biggl(\frac{i}{n}\biggr) -\] -verwenden. -Die Polynome $B_n(f)(t)$ konvergieren gleichmässig auf $[0,1]$ -gegen die Funktion $f(t)$. -Über die Konvergenz ausserhalb des reellen Intervalls wird nichts -ausgesagt. -Die Approximation mit Bernstein-Polynomen ist daher nur sinnvoll, -wenn man weiss, dass die Eigenwerte der Matrix reell sind, was im -wesentlichen auf diagonalisierbare Matrizen führt. - -Für ein anderes Interval $[a,b]$ kann man ein Approximationspolynom -erhalten, indem man die affine Transformation -$s\mapsto (s-a)/(b-a)$ -von $[a,b]$ auf $[0,1]$ -verwendet. - -% -% Der Satz von Stone-Weierstrass -% -\subsection{Der Satz von Stone-Weierstrasss -\label{buch:subsetion:stone-weierstrass}} -Der Satz von Stone-Weierstrass behandelt im Gegensatz zu den in -Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -besprochenen Approximationsmethoden nicht nur Funktionen von -reellen Variablen durch Polynome. -Vielmehr kann das Definitionsgebiet irgend eine abgeschlossene -und beschränkte Teilmenge eines reellen oder komplexen Vektorraumes -sein und die Funktionen können Polynome aber auch viel allgemeinere -Funktionen verwendet werden, wie zum Beispiel die Funktionen -$x\mapsto \cos nx$ und $x\mapsto \sin nx$ definiert auf dem -Intervall $[0,2\pi]$. -In diesem Fall liefert der Satz von Stone-Weierstrass die Aussage, -dass sich jede stetige periodische Funktion gleichmässig durch -trigonometrische Polynome approximieren lässt. - -Die Aussage des Satz von Stone-Weierstrass über reelle Funktionen -lässt sich nicht auf komplexe Funktionen erweitern. -Von besonderem Interesse ist jedoch, dass der Beweis des Satz -zeigt, warum solche Aussagen für komplexe Funktionen nicht mehr -zutreffen. -Im Falle der Approximation von komplexen Funktionen $f(z)$ durch Polynome -zwecks Definition von $f(A)$ werden sich daraus Bedingungen an die -Matrix ableiten lassen, die eine konsistente Definition überhaupt -erst ermöglichen werden. - -\subsubsection{Punkte trennen} -Aus den konstanten Funktionen lassen sich durch algebraische -Operationen nur weitere konstante Funktionen erzeugen. -Die konstanten Funktionen sind also nur dann eine genügend -reichhaltige Menge, wenn die Menge $K$ nur einen einzigen Punkt -enthält. -Damit sich Funktionen approximieren lassen, die in zwei Punkten -verschiedene Werte haben, muss es auch unter den zur Approximation -zur Verfügung stehenden Funktionen solche haben, deren Werte sich -in diesen Punkten unterscheiden. -Diese Bedingung wird in der folgenden Definition formalisiert. - -\begin{definition} -Sei $K$ eine beliebige Menge und $A$ eine Menge von Funktionen -$K\to \mathbb{C}$. -Man sagt, $A$ {\em trennt die Punkte von $K$}, wenn es für jedes Paar -\index{Punkte trennen}% -von Punkten $x,y\in K$ eine Funktion $f\in A$ gibt derart, dass -$f(x)\ne f(y)$. -\end{definition} - -Man kann sich die Funktionen $f$, die gemäss dieser Definition die Punkte -von $K$ trennen, als eine Art Koordinaten der Punkte in $K$ vorstellen. -Die Punkte der Teilmenge $K\subset \mathbb{R}^n$ werden zum Beispiel -von den Koordinatenfunktionen $x\mapsto x_i$ getrennt. -Wir schreiben für die $i$-Koordinate daher auch als Funktion $x_i(x)=x_i$. -Zwei verschiedene Punkte $x,y\in K$ unterscheiden sich in mindestens -einer Koordinate. -Für diese Koordinate sind dann die Werte der zugehörigen -Koordinatenfunktion $x_i=x_i(x)\ne x_i(y)=y_i$ verschieden, die -Funktionen $x_1(x)$ bis $x_n(x)$ trennen also die Punkte. - -\begin{beispiel} -Wir betrachten einen Kreis in der Ebene, also die Menge -\[ -S^1 -= -\{(x_1,x_2)\;|\; x_1^2 + x_2^2=1\} -\] -$S^1$ ist eine abgeschlossene und beschränkte Menge in $\mathbb{R}^2$. -Die Funktion $x\mapsto x_1$ trennt die Punkte nicht, denn zu jedem -Punkt $(x_1,x_2)\in S^2$ gibt es den an der ersten Achse -gespiegelten Punkt $\sigma(x)=(x_1,-x_2)$, dessen erste Koordinate -den gleichen Wert hat. -Ebenso trennt die Koordinatenfunktion $x\mapsto x_2$ die Punkte nicht. -Die Menge $A=\{ x_1(x), x_2(x)\}$ bestehend aus den beiden -Koordinatenfunktionen trennt dagegen die Punkte von $S^1$, da die Punkte -sich immer in mindestens einem Punkt unterscheiden. - -Man könnte auch versuchen, den Kreis in Polarkoordinaten zu beschreiben. -Die Funktion $\varphi(x)$, die jedem Punkt $x\in S^1$ den Polarwinkel -zuordnet, trennt sicher die Punkte des Kreises. -Zwei verschiedene Punkte auf dem Kreis haben verschieden Polarwinkel. -Die Menge $\{\varphi\}$ trennt also die Punkte von $S^1$. -Allerdings ist die Funktion nicht stetig, was zwar der Definition -nicht widerspricht aber ein Hindernis für spätere Anwendungen ist. -\end{beispiel} - - -\subsubsection{Der Satz von Stone-Weierstrass für reelle Funktionen} -Die Beispiele von Abschnitt~\ref{buch:subsection:approximation-durch-polynome} -haben bezeigt, dass sich reellwertige Funktionen einer reellen -Variable durch Polynome beliebig genau approximieren lassen. -Es wurde sogar eine Methode vorgestellt, die eine auf einem Intervall -gleichmässig konvergente Polynomefolge produziert. -Die Variable $x\in[a,b]$ trennt natürlich die Punkte, die Algebra der -Polynome in der Variablen $x$ enthält also sicher Funktionen, die in -verschiedenen Punkten des Intervalls auch verschiedene Werte annehmen. -Nicht ganz so selbstverständlich ist aber, dass sich daraus bereits -ergibt, dass jede beliebige Funktion sich als Polynome in $x$ -approximieren lässt. -Dies ist der Inhalt des folgenden Satzes von Stone-Weierstrass. - -\begin{figure} -\centering -\includegraphics{chapters/40-eigenwerte/images/wurzel.pdf} -\caption{Konstruktion einer monoton wachsenden Approximationsfolge für -$\sqrt{a}$ -\label{buch:eigenwerte:fig:wurzelverfahren}} -\end{figure} - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/wurzelapprox.pdf} -\caption{Monoton wachsende Approximation der Funktion $t\mapsto\sqrt{t}$ mit -Polynomen $u_n(t)$ nach -\eqref{buch:eigenwerte:eqn:wurzelapproximation} -(links) und der Fehler der Approximation -(rechts). -\label{buch:eigenwerte:fig:wurzelapproximation}} -\end{figure} - -\begin{satz}[Stone-Weierstrass] -\label{buch:satz:stone-weierstrass} -Enthält eine $\mathbb{R}$-Algebra $A$ von stetigen, rellen Funktionen -auf einer kompakten Menge $K$ die konstanten Funktionen und trennt sie -Punkte, d.~h.~für zwei verschiedene Punkte $x,y\in K$ gibt es -immer eine Funktion $f\in A$ mit $f(x)\ne f(y)$, dann ist jede stetige, -reelle Funktion auf $K$ gleichmässig approximierbar durch Funktionen -in $A$. -\end{satz} - -Für den Beweis des Satzes wird ein Hilfsresultat benötigt, welches wir -zunächst ableiten. -Es besagt, dass sich die Wurzelfunktion $t\mapsto\sqrt{t}$ -auf dem Interval $[0,1]$ gleichmässig -von unten durch Polynome approximieren lässt, die in -Abbildung~\ref{buch:eigenwerte:fig:wurzelapproximation} dargestellt -sind. - -\begin{satz} -Die rekursiv definierte Folge von Polynomen -\begin{equation} -u_{n+1}(t) -= -u_n(t) + \frac12(t-u_n(t)^2), -\qquad -u_0(t)=0 -\label{buch:eigenwerte:eqn:wurzelapproximation} -\end{equation} -ist monoton wachsend und approximiert die Wurzelfunktion $t\mapsto\sqrt{t}$ -gleichmässig auf dem Intervall $[0,1]$. -\end{satz} - -\begin{figure} -\centering -\includegraphics{chapters/40-eigenwerte/images/minmax.pdf} -\caption{Graphische Erklärung der -Identitäten~\eqref{buch:eigenwerte:eqn:minmax} für -$\max(f(x),g(x))$ und $\min(f(x),g(x))$. -Die purpurrote Kurve stellt den Mittelwert von $f(x)$ und $g(x)$ dar, -die vertikalen grünen Linien haben die Länge der Differenz $|f(x)-g(x)|$. -Das Maximum erhält man, indem man den halben Betrag der Differenz zum -Mittelwert hinzuaddiert, das Minimum erhält man durch Subtraktion -der selben Grösse. -\label{buch:eigenwerte:fig:minmax}} -\end{figure} - -\begin{proof}[Beweis] -Wer konstruieren zunächst das in -Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} -visualierte Verfahren, mit dem für jede Zahl $a\in[0,1]$ -die Wurzel $\sqrt{a}$ berechnet werden kann. -Sei $u < \sqrt{a}$ eine Approximation der Wurzel. -Die Approximation ist der exakte Wert der Lösung, wenn $a-u^2=0$. -In jedem anderen Fall muss $u$ um einen Betrag $d$ vergrössert werden. -Natürlich muss immer noch $u+d<\sqrt{a}$ sein. -Man kann die maximal zulässige Korrektur $d$ geometrisch abschätzen, -wie dies in Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} -skizziert ist. -Die maximale Steigung des Graphen der Funktion $u\mapsto u^2$ ist $2$, -daher darf man $u$ maximal um die Hälfte der Differenz $a-u^2$ (grün) -vergrössern, also $d=\frac12(a-u^2)$. -Die Rekursionsformel -\[ -u_{n+1} = u_n + d = u_n + \frac12(a-u_n^2) -\] -mit dem Startwert $u_0=0$ liefert daher eine -Folge, die gegen $\sqrt{a}$ konvergiert. -\end{proof} - -\begin{proof}[Beweis des Satzes von Stone-Weierstrass] -Da $A$ eine Algebra ist, ist mit jeder Funktion $f\in A$ für jedes Polynome -$p\in\mathbb{R}[X]$ auch $p(f)$ eine Funktion in $A$. -\begin{enumerate} -\item Schritt: Für jede Funktion $f\in A$ lässt sich auch $|f|$ durch -Funktionen in $A$ beliebig genau durch eine monoton wachsende Folge -von Funktionen approximieren. - -Da $A$ eine Algebra ist, ist $f^2\in A$. -Sei ausserdem $m^2=\sup \{f(x)^2\;|\;x\in K\}$, so dass $f^2/m^2$ eine Funktion -mit Werten im Intervall $[0,1]$ ist. -Die Funktionen $f_n(x)=mu_n(f(x)^2/m^2)$ sind ebenfalls in $A$ und -approximieren gleichmässig $\sqrt{f(x)^2}=|f(x)|$. -\item Schritt: Für zwei Funktionen $f,g\in A$ gibt es eine monoton wachsende -Folge, die $\max(f,g)$ gleichmässig beliebig genau approximiert -und eine monoton fallende Folge, die $\min(f,g)$ gleichmässig beliebig -genau approximiert. - - -Diese Folgen können aus der Approximationsfolge für den Betrag einer -Funktion und den Identitäten -\begin{equation} -\begin{aligned} -\max(f,g) &= \frac12(f+g+|f-g|) \\ -\min(f,g) &= \frac12(f+g-|f-g|) -\end{aligned} -\label{buch:eigenwerte:eqn:minmax} -\end{equation} -gefunden werden, die in Abbildung~\ref{buch:eigenwerte:fig:minmax} -graphisch erklärt werden. -\item Schritt: Zu zwei beliebigen Punkten $x,y\in K$ und Werten -$\alpha,\beta\in\mathbb{R}$ gibt es immer eine Funktion in $A$, -die in den Punkten $x,y$ die vorgegebenen Werte $\alpha$ bzw.~$\beta$ -annimmt. -Da $A$ die Punkte trennt, gibt es eine Funktion $f_0$ mit $f_0(x)\ne f_0(y)$. -Dann ist die Funktion -\[ -f(t) -= -\beta + \frac{f_0(t)-f_0(y)}{f_0(x)-f_0(y)}(\alpha-\beta) -\] -wohldefiniert und nimmt die verlangten Werte an. -\item Schritt: Zu jeder stetigen Funktion $f\colon K\to\mathbb{R}$, jedem -Punkt $x\in K$ und jedem $\varepsilon>0$ gibt es eine Funktion $g\in A$ derart, -dass $g(x)=f(x)$ und $g(y) \le f(y)+\varepsilon$ für alle $y\in K$. - -Zu jedem $z\in K$ gibt es eine Funktion in $A$ mit -$h_z(x)=f(x)$ und $h_z(z) \le f(z)+\frac12\varepsilon$. -Wegen der Stetigkeit von $h_z$ gibt es eine Umgebung $V_z$ von $z$, in der -immer noch gilt $h_z(y)\le f(y)+\varepsilon$ für $y\in V_z$. -Wegen der Kompaktheit von $K$ kann man endlich viele Punkte $z_i$ wählen -derart, dass die $V_{z_i}$ immer noch $K$ überdecken. -Dann erfüllt die Funktion -\( -g(z) = \inf h_{z_i} -\) -die Bedingungen $g(x) = f(x)$ und für $z\in V_{z_i}$ -\[ -g(z) = \inf_{j} h_{z_j}(z) \le h_{z_i}(z) \le f(z)+\varepsilon. -\] -Ausserdem ist $g(z)$ nach dem zweiten Schritt beliebig genau durch -Funktionen in $A$ approximierbar. -\item Schritt: Jede stetige Funktion $f\colon K\to\mathbb{R}$ kann -beliebig genau durch Funktionen in $A$ approximiert werden. -Sei $\varepsilon > 0$. - -Nach dem vierten Schritt gibt es für jedes $y\in K$ eine Funktion $g_y$ -derart, dass $g_y(y)=f(y)$ und $g_y(x) \le f(x) + \varepsilon$ für -$x\in K$. -Da $g_y$ stetig ist, gilt ausserdem $g_y(x) \ge f(x) -\varepsilon$ in -einer Umgebung $U_y$ von $y$. -Da $K$ kompakt ist, kann man endlich viele $y_i$ derart, dass die $U_{y_i}$ -immer noch ganz $K$ überdecken. -Die Funktion $g=\sup g_{y_i}$ erfüllt dann überall $g(x) \le f(x)+\varepsilon$, -weil jede der Funktionen $g_y$ diese Ungleichung erfüllt. -Ausserdem gilt für $x\in V_{x_j}$ -\[ -g(x) = \sup_i g_{x_i}(x) \ge g_{x_j}(x) \ge f(x)-\varepsilon. -\] -Somit ist -\[ -|f(x)-g(x)| \le \varepsilon. -\] -Damit ist $f(x)$ beliebig nahe an der Funktion $g(x)$, die sich -beliebig genau durch Funktionen aus $A$ approximieren lässt. -\qedhere -\end{enumerate} -\end{proof} - -Im ersten Schritt des Beweises ist ganz entscheidend, dass man die -Betragsfunktion konstruieren kann. -Daraus leiten sich dann alle folgenden Konstruktionen ab. - -\subsubsection{Anwendung auf symmetrische und hermitesche Matrizen} -Für symmetrische und hermitesche Matrizen $A$ ist bekannt, dass die -Eigenwerte reell sind, also das Spektrum $\operatorname{A}\subset\mathbb{R}$ -ist. -Für eine Funktion $\mathbb{R}\to \mathbb{R}$ lässt sich nach dem -Satz~\ref{buch:satz:stone-weierstrass} immer eine Folge $p_n$ von -approximierenden Polynomen in $x$ finden, die auf $\operatorname{Sp}(A)$ -gleichmässig konvergiert. -Die Matrix $f(A)$ kann dann definiert werden also der Grenzwert -\[ -f(A) = \lim_{n\to\infty} p_n(A). -\] -Da diese Matrizen auch diagonalisierbar sind, kann man eine Basis -aus Eigenvektoren verwenden. -Die Wirkung von $p_n(A)$ auf einem Eigenvektor $v$ zum Eigenwert $\lambda$ -ist -\[ -p_n(A)v -= -(a_kA^k + a_{k-1}A^{k-1}+\dots +a_2A^2+a_1A+a_0I)v -= -(a_k\lambda^k + a_{k-1}\lambda^{k-1}+\dots + a_2\lambda^2 + a_1\lambda + a_0)v -= -p_n(\lambda)v. -\] -Im Grenzwert wirkt $f(A)$ daher durch Multiplikation eines Eigenvektors -mit $f(\lambda)$, die Matrix $f(A)$ hat in der genannten Basis die -Diagonalform -\[ -A=\begin{pmatrix} -\lambda_1& & & \\ - &\lambda_2& & \\ - & &\ddots& \\ - & & &\lambda_n -\end{pmatrix} -\qquad\Rightarrow\qquad -f(A)=\begin{pmatrix} -f(\lambda_1)& & & \\ - &f(\lambda_2)& & \\ - & &\ddots& \\ - & & &f(\lambda_n) -\end{pmatrix}. -\] - -\begin{satz} -\label{buch:eigenwerte:satz:spektralsatz} -Ist $A$ symmetrische oder selbstadjungiert Matrix und $f$ eine Funktion -auf dem Spektrum $\operatorname{Sp}(A)$ von $A$. -Dann gibt es genau eine Matrix $f(A)$, die Grenzwert jeder beliebigen -Folge $p_n(A)$ für Polynomfolgen, die $\operatorname{Sp}(A)$ gleichmässig -gegen $f$ konvergieren. -\end{satz} - -\subsubsection{Unmöglichkeit der Approximation von $z\mapsto \overline{z}$ -in $\mathbb{C}[z]$} -Der Satz~\ref{buch:satz:stone-weierstrass} von Stone-Weierstrass für -reelle Funktionen gilt nicht für komplexe Funktionen. -In diesem Abschnitt zeigen wir, dass sich die Funktion $z\mapsto\overline{z}$ -auf der Einheitskreisscheibe $K=\{z\in\mathbb{C}\;|\; |z|\le 1\}$ nicht -gleichmässig durch Polynome $p(z)$ mit komplexen Koeffizienten approximieren -lässt. - -Wäre eine solche Approximation möglich, dann könnte man $\overline{z}$ -auch durch eine Potenzreihe -\[ -\overline{z} -= -\sum_{k=0}^\infty a_kz^k -\] -darstellen. -Das Wegintegral beider Seiten über den Pfad $\gamma(t) = e^{it}$ -in der komplexen Ebene ist -\begin{align*} -\oint_\gamma z^k\,dz -&= -\int_0^{2\pi} e^{ikt} ie^{it}\,dt -= -i\int_0^{2\pi} e^{it(k+1)}\,dt -= -i\biggl[ \frac{1}{i(k+1)} e^{it(k+1)}\biggr]_0^{2\pi} -= -0 -\\ -\oint_\gamma -\sum_{k=0}^\infty a_kz^k -\,dz -&= -\sum_{k=0}^\infty a_k \oint_\gamma z^k\,dz -= -\sum_{k=0}^\infty a_k\cdot 0 -= -0 -\\ -\oint_\gamma \overline{z}\,dz -&= -\int_0^{2\pi} e^{it} ie^{it}\,dt -= -i\int_0^{2\pi} \,dt = 2\pi i, -\end{align*} -dabei wurde $\overline{\gamma}(t)=e^{-it}$ verwendet. -Insbesondere widersprechen sich die beiden Integrale. -Die ursprüngliche Annahmen, $\overline{z}$ lasse sich durch Polynome -gleichmässig approximieren, muss daher verworfen werden. - -\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen} -Der Satz von Stone-Weierstrass kann nach dem vorangegangene Abschnitt -also nicht gelten. -Um den Beweis des Satzes~\ref{buch:satz:stone-weierstrass} -auf komplexe Zahlen zu übertragen, muss im ersten Schritt ein Weg -gefunden werden, den Betrag einer Funktion zu approximieren. - -Im reellen Fall geschah dies, indem zunächst eine Polynom-Approximation -für die Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer -Funktion angewendet wurde. -Der Betrag einer komplexen Zahl $z$ ist aber nicht allein aus $z$ -berechenbar, man braucht in irgend einer Form Zugang zu Real- -und Imaginärteil. -Zum Beispiel kann man Real- und Imaginärteil als -$\Re z= \frac12(z+\overline{z})$ und $\Im z = \frac12(z-\overline{z})$ -bestimmen. -Kenntnis von Real- und Imaginärteil ist als gleichbedeutend mit -der Kenntnis der komplex Konjugierten $\overline{z}$. -Der Betrag lässt sich daraus als $|z|^2 = z\overline{z}$ finden. -Beide Beispiele zeigen, dass man den im Beweis benötigten Betrag -nur dann bestimmen kann, wenn mit jeder Funktion aus $A$ auch die -komplex konjugierte Funktion zur Verfügung steht. - -\begin{satz}[Stone-Weierstrass] -Enthält eine $\mathbb{C}$-Algebra $A$ von stetigen, komplexwertigen -Funktionen auf einer kompakten Menge $K$ die konstanten Funktionen, -trennt sie Punkte und ist ausserdem mit jeder Funktion $f\in A$ auch -die komplex konjugiert Funktion $\overline{f}\in A$, -dann lässt sich jede stetige, komplexwertige Funktion -auf $K$ gleichmässig durch Funktionen aus $A$ approximieren. -\end{satz} - -Mit Hilfe der konjugiert komplexen Funktion lässt sich immer eine -Approximation für die Betragsfunktion finden, so dass sich der -Beweis des reellen Satzes von Stone-Weierstrass übertragen lässt. - -% -% Normale Matrizen -% -\subsection{Normale Matrizen -\label{buch:subsection:normale-matrizen}} -Aus dem Satz von Stone-Weierstrass für komplexe Matrizen kann man -jetzt einen Spektralsätze für eine etwas grössere Klasse von Matrizen -ableiten, als im Satz~\ref{buch:eigenwerte:satz:spektralsatz} -möglich war. -Der Satz besagt, dass für eine beliebige Funktion $f$ auf dem Spektrum -$\operatorname{Sp}(A)$ eine Folge von auf $\operatorname{Sp}(A)$ -gleichmässig konvergenten, approximierenden Polynomen -$p_n(z,\overline{z})$ gefunden werden kann. -Doch wie soll jetzt aus dieser Polynomfolge ein Kandidat von $f(A)$ -gefunden werden? - -Zunächst stellt sich die Frage, was für die Variable $\overline{z}$ -eingesetzt werden soll. -$1\times 1$-Matrizen sind notwendigerweise diagonal, also muss -man in diesem Fall die Matrix $\overline{A}$ für die Variable -$\overline{z}$ eingesetzt werden. -Dies erklärt aber noch nicht, wie für $n\times n$-Matrizen -vorzugehen ist, wenn $n>1$ ist. - -Die Notwendigkeit, die Variable $\overline{z}$ hinzuzunehmen -ergab sich aus der Anforderung, dass der Betrag aus $|z|^2=z\overline{z}$ -konstruiert werden können muss. -Insbesondere muss beim Einsetzen eine Matrix entstehen, die nur -positive Eigenwerte hat. -Für eine beliebige komplexe $n\times n$-Matrix $A$ ist aber -$A\overline{A}$ nicht notwendigerweise positiv, wie das Beispiel -\[ -A -= -\begin{pmatrix}0&i\\i&0\end{pmatrix} -\qquad -\Rightarrow -\qquad -A\overline{A} -= -\begin{pmatrix}0&i\\-i&0\end{pmatrix} -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -= -\begin{pmatrix} --1&0\\ - 0&-1 -\end{pmatrix} -= --I -\] -zeigt. -Eine positive Matrix entsteht dagegen immer, wenn man statt -$A$ die Adjungierte $A^*=\overline{A}^t$ verwendet. - -Die Substitution von $A$ für $z$ und $A^*$ für $\overline{z}$ -in einem Polynom $p(z,\overline{z})$ ist nicht unbedingt eindeutig. -Schon das Polynom $p(z,\overline{z})=z\overline{z}$ kann man auch -als $\overline{z}z$ schreiben. -Damit die Substition eindeutig wird, muss man also fordern, dass -$AA^* = A^*A$ ist. - -\begin{definition} -Eine Matrix $A\in M_n(\mathbb{C})$ heisst {\em normal}, wenn $AA^*=A^*A$ gilt. -\end{definition} - -\subsubsection{Beispiele normaler Matrizen} - -\begin{enumerate} -\item -Hermitesche und Antihermitesche Matrizen sind normal, denn solche -Matrizen erfüllen $A^*=\pm A$ und damit -\( -AA^* = \pm A^2 = A^*A. -\) -\item -Symmetrische und antisymmetrische Matrizen sind normal, -denn aus $A=A^t$ folgt $A^*=\overline{A}^t$ und damit -\begin{align*} -AA^* &= A\overline{A}^t = -\\ -A^*A &= -\end{align*} -\item -Unitäre Matrizen $U$ sind normal, das $UU^*=I=U^*U$ gilt. -\item -Orthogonale Matrizen sind normal wegen $O(n) = U(n) \cap M_n(\mathbb{R})$. -\end{enumerate} - -Jede Matrix lässt sich durch Wahl einer geeigneten Basis in Jordansche -Normalform bringen. -Allerdings sind Jordan-Blöcke keine normalen Matrizen, wie der folgende -Satz zeigt. - -\begin{satz} -Eine Dreiecksmatrix ist genau dann normal, wenn sie diagonal ist. -\end{satz} - -\begin{proof}[Beweis] -Sei $A$ eine obere Dreiecksmatrix, das Argument für eine untere Dreiecksmatrix -funktioniert gleich. -Wir berechnen ein Diagonalelement für beide Produkte $AA^*$ und $A^*A$. -Dazu brauchen wir die Matrixelemente von $A$ und $A^*$. -Bezeichnen wir die Matrixelemente von $A$ mit $a_{ij}$, dann hat $A^*$ -die Matrixelemente $(A^*)_{ij}=\overline{a}_{ji}$. -Damit kann man die Diagonalelemente der Produkte als -\begin{align*} -(AA^*)_{ii} -&= -\sum_{j=1}^n a_{ij}\overline{a}_{ij} -= -\sum_{j=i}^n |a_{ij}|^2 -\\ -(A^*A)_{ii} -&= -\sum_{j=1}^n \overline{a}_{ji}a_{ji} -= -\sum_{j=1}^i |a_{ji}|^2 -\end{align*} -ausrechnen. -Der obere Ausdruck ist die quadrierte Länge der Zeile $i$ der Matrix $A$, -der untere ist die quadrierte Länge der Spalte $i$. -Da die Matrix eine obere Dreiecksmatrix ist, hat die erste Spalte höchstens -ein einziges von $0$ verschiedenes Element. -Daher kann auch die erste Zeile höchstens dieses eine Elemente haben. -Die Matrix hat daher Blockstruktur mit einem $1\times 1$-Block in der -linken obere Ecke und einem $n-1$-dimensionalen Block für den Rest. -Durch Wiederholen des Arguments für den $(n-1)\times (n-1)$-Block -kann man so schrittweise schliessen, dass die Matrix $A$ diagonal sein muss. -\end{proof} - - -\begin{satz} -Sind $A$ und $B$ normale Matrizen und $AB^*=B^*A$, dann sind auch $A+B$ -und $AB$ normal. -\end{satz} - -\begin{proof}[Beweis] -Zunächst folgt aus $AB^*=B^*A$ auch -$A^*B = (B^*A)^* = (AB^*)^* = BA^*$. -Der Beweis erfolgt durch Nachrechnen: -\begin{align*} -(A+B)(A+B)^* -&= -AA^* + AB^* + BA^*+BB^* -\\ -(A+B)^*(A+B) -&= -A^*A + A^*B + B^*A + B^*B -\end{align*} -Die ersten und letzten Terme auf der rechten Seite stimmen überein, weil -$A$ und $B$ normal sind. -Die gemischten Terme stimmen überein wegen der Vertauschbarkeit von -$A$ und $B^*$. - -Für das Produkt rechnet man -\begin{align*} -(AB)(AB)^* -&= ABB^*A^* = AB^*BA^* -= B^*AA^*B -= -B^*A^*AB -= -(AB)^*(AB), -\end{align*} -was zeigt, dass auch $AB$ normal ist. -\end{proof} - -\subsubsection{Äquivalente Bedingungen} -Es gibt eine grosse Zahl äquivalenter Eigenschaften für normale Matrizen. -Die folgenden Eigenschaften sind äquivalent: -\begin{enumerate} -\item -Die Matrix $A$ ist mit einer unitären Matrix diagonalisierbar -\item -Es gibt eine orthonormale Basis von Eigenvektoren von $A$ für $\mathbb{C}^n$ -\item -Für jeden Vektor $x\in\mathbb{C}^n$ gilt $\|Ax\|=\|A^*x\|$ -\item -Die Forbenius-Norm der Matrix $A$ kann mit den Eigenwerten $\lambda_i$ -von $A$ berechnet werden: -$\operatorname{Spur}(A^*A) = \sum_{i=1}^n |\lambda_i|^2$ -\item -Der hermitesche Teil $\frac12(A+A^*)$ und der antihermitesche Teil -$\frac12(A-A^*)$ von $A$ vertauschen. -\item -$A^*$ ist ein Polynom vom Grad $n-1$ in $A$. -\item -Es gibt eine unitäre Matrix $U$ derart, dass $A^*=AU$ -\item -Es gibt eine Polarzerlegugn $A=UP$ mit einer unitären Matrix $U$ und -einer postiv semidefiniten Matrix $P$, die untereinander vertauschen. -\item -Es gibt eine Matrix $N$ mit verschiedenen Eigenwerten, mit denen $A$ -vertauscht. -\item -Wenn $A$ die (absteigend geordneten) singulärwerte $\sigma_i$ und -die absteigend geordneten Eigenwerte $\lambda_i$ hat, -dann it $\sigma_i=|\lambda_i|$. -\end{enumerate} - - - - +% +% spektraltheorie.tex +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Spektraltheorie +\label{buch:section:spektraltheorie}} +Aufgabe der Spektraltheorie ist, Bedingungen an eine Matrix $A$ und eine +Funktion $f(z)$ zu finden, unter denen es möglich ist, $f(A)$ auf +konsistente Art und Weise zu definieren. +Weiter müssen Methoden entwickelt werden, mit denen $f(A)$ berechnet +werden kann. +Für ein Polynom $p(z)$ ist $p(A)$ durch einsetzen definiert. +Für Funktionen, die sich nicht durch ein Polynom darstellen lassen, +muss eine Approximation der Funktion durch Polynome verwendet werden. +Sei also $p_n(z)$ eine Folge von Polynomen, die als Approximation der +Funktion $f(z)$ verwendet werden soll. +Das Ziel ist, $f(A)$ als den Grenzwert der Matrixfolge $p_n(A)$ +zu definieren. + +Zunächst ist nicht klar, wie eine solche Folge gewählt werden muss. +Es muss eine Teilmenge von $K\subset\mathbb{C}$ spezifiziert werden, +auf der die Funktionenfolge $p_n(z)$ konvergieren muss, +damit auch die Konvergenz der Matrizenfolge $p_n(A)$ garantiert ist. +Auch die Art der Konvergenz von $p_n(z)$ auf der Menge $K$ ist noch +unklar. +Da der Abstand zweier Matrizen $A$ und $B$ in der Operatornorm +mit der grössten Abweichung $\|(A-B)v\|$ für Einheitsvektoren $v$ +gemessen wird, ist es einigermassen plausibel, dass +die grösse Abweichung zwischen zwei Polynomen $|p(z) - q(z)|$ auf +der Menge $K$ kleine sein muss, wenn $\|p(A)-q(A)\|$ klein +sein soll. +Da die Differenz $p(z)-q(z)$ für beliebige Polynome, die sich nicht +nur um eine Konstante unterscheiden, mit $z$ über alle Grenzen wächst, +muss $K$ beschränkt sein. +Gesucht ist also eine kompakte Menge $K\subset\mathbb{C}$ und eine +Folge $p_n(z)$ von Polynomen, die auf $K$ gleichmässig gegen $f(z)$ +konvergieren. +Die Wahl von $K$ muss sicherstellen, dass für jede gleichmässig +konvergente Folge von Polynomen $p_n(z)$ auch die Matrizenfolge +$p_n(A)$ konvergiert. + +Es wird sich zeigen, dass die Menge $K$ das Spektrum von $A$ ist, +also eine endliche Teilmenge von $\mathbb{C}$. +Jede Funktion kann auf so einer Menge durch Polynome exakt wiedergegeben +werden. +Es gibt insbesondere Folgen von Polynomen, die eingeschränkt +auf das Spektrum gleich sind, also $p_n(z)=p_m(z)$ für alle $z\in K$, +die aber ausserhalb des Spektrums alle verschieden sind. +Als Beispiel kann die Matrix +\[ +N=\begin{pmatrix}0&1\\0&0\end{pmatrix} +\] +herangezogen werden. +Ihr Spektrum ist $\operatorname{Sp}(N)=\{0\}\subset\mathbb{C}$. +Zwei Polynome stimmen genau dann auf $\operatorname{Sp}(N)$ überein, +wenn der konstante Koeffizient gleich ist. +Die Polynome $p(z)=z$ und $q(z)=z^2$ stimmen daher auf dem Spektrum +überein. +Für die Matrizen gilt aber $p(N)=N$ und $q(N)=N^2=0$, die Matrizen +stimmen also nicht überein. +Es braucht also zusätzliche Bedingungen an die Matrix $A$, die +sicherstellen, dass $p(A)=0$ ist, wann immer $p(z)=0$ für +$z\in\operatorname{Sp}(A)$ gilt. + +In diesem Abschnitt sollen diese Fragen untersucht werden. +In Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +wird gezeigt, wie sich Funktionen durch Polynome approximieren +lassen, woraus sich dann Approximationen von $f(A)$ für diagonalisierbare +Matrizen mit reellen Eigenwerten ergeben. + +Der Satz von Stone-Weierstrass, der in +Abschnitt~\ref{buch:subsetion:stone-weierstrass} dargestellt wird, +ist ein sehr allgemeines Approximationsresultat, welches nicht nur +zeigt, dass die Approximation unter sehr natürlichen Voraussetzungen +beliebig genau möglich ist, sondern uns im komplexen Fall auch +weitere Einsicht dafür geben kann, welche Voraussetzungen an eine +komplexe Matrix gestellt werden müssen, damit man damit rechnen kann, +dass die Approximation zu einer konsistenten Definition von $f(A)$ führt. + +% +% Approximation +% +\subsection{Approximation durch Polynome +\label{buch:subsection:approximation-durch-polynome}} +Die der Berechnung von $f(A)$ für eine beleibige stetige Funktion, +die sich nicht als Potenzreihe schreiben lässt, verwendet Approximationen +von Polynomen. +Die numerische Mathematik hat eine grosse Menge von solchen +Approximationsverfahren entwickelt, wovon zwei kurz (ohne Beweise) +vorgestellt werden sollen. + +\subsubsection{Das Legendre-Interpolationspolynom} +Zu vorgegebenen, verschiedenen Zahlen $z_i\in\mathbb{C}$, $0\le i\le n$, +die auch die {\em Stützstellen} genannt werden, +gibt es immer ein Polynom vom Grade $n$, welches in den $z_i$ vorgegebene +Werte $f(z_i)$ annimmt. +Ein solches Polynom lässt sich im Prinzip mit Hilfe eines linearen +Gleichungssystems finden, man kann aber auch direkt eine Lösung +konstruieren. +Dazu bildet man erst die Polynome +\begin{align*} +l(z) &= (z-z_0)(z-z_1)\dots (z-z_n) \qquad\text{und} +\\ +l_i(z) &= (z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n). +\end{align*} +Darin bedeutet der Hut, dass dieser Term weggelassen werden soll. +Für $z\ne z_i$ ist $l_i(z)=l(z)/(z-z_i)$. +Die Polynome +\[ +k_i(z) += +\frac{l_i(z)}{l_i(z_i)} += +\frac{(z-z_0)\dots \widehat{(z-z_i)}\dots (z-z_n)}{(z_i-z_0)\dots \widehat{(z_i-z_i)}\dots (z_i-z_n)} +\] +haben die Eigenschaft +$k_i(z_j)=\delta_{ij}$. +Damit lässt sich jetzt ein Polynom +\[ +p(z) = \sum_{j=0}^n f(z_j) \frac{l_j(z)}{l_j(z_j)} +\] +vom Grad $n$ konstruieren, welches die Werte +\[ +p(z_i) += +\sum_{j=0}^n f(z_j) \frac{l_j(z_i)}{l_j(z_j)} += +\sum_{j=0}^n f(z_j) \delta_{ij} += +f_(z_i) +\] +annimmt. +Das Polynom $p(z)$ heisst das {\em Legendre-Interpolationspolynom}. + +Zwar lässt sich also für eine endliche Menge von komplexen Zahlen immer +ein Polynom finden, welches vorgeschriebene Wert in allen diesen Zahlen +annimmt, doch ist die Stabilität für grosse $n$ eher beschränkt. + + +\subsubsection{Gleichmassige Approximation mit Bernstein-Polynomen} +Das Legendre-Interpolationspolynom nimmt in den Stützstellen die +verlangten Werte an, aber ausserhalb der Stützstellen ist nicht +garantiert, dass man eine gute Approximation einer Funktion $f(z)$ +erhält. + +Für die Approximation auf einem reellen Interval $[a,b]$ hat +Sergei Natanowitsch Bernstein ein +Dazu werden zuerst die reellen Bernsteinpolynome vom Grad $n$ +durch +\begin{align*} +B_{i,n}(t) = \binom{n}{i} t^i(1-t)^{n-i}. +\end{align*} +definiert. +Als Approximationspolynom für die auf dem Interval +$[0,1]$ definierte, stetige Funktion $f(t)$ kann man dann +\[ +B_n(f)(t) += +\sum_{i=0}^n B_{i,n}(t) f\biggl(\frac{i}{n}\biggr) +\] +verwenden. +Die Polynome $B_n(f)(t)$ konvergieren gleichmässig auf $[0,1]$ +gegen die Funktion $f(t)$. +Über die Konvergenz ausserhalb des reellen Intervalls wird nichts +ausgesagt. +Die Approximation mit Bernstein-Polynomen ist daher nur sinnvoll, +wenn man weiss, dass die Eigenwerte der Matrix reell sind, was im +wesentlichen auf diagonalisierbare Matrizen führt. + +Für ein anderes Interval $[a,b]$ kann man ein Approximationspolynom +erhalten, indem man die affine Transformation +$s\mapsto (s-a)/(b-a)$ +von $[a,b]$ auf $[0,1]$ +verwendet. + +% +% Der Satz von Stone-Weierstrass +% +\subsection{Der Satz von Stone-Weierstrasss +\label{buch:subsetion:stone-weierstrass}} +Der Satz von Stone-Weierstrass behandelt im Gegensatz zu den in +Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +besprochenen Approximationsmethoden nicht nur Funktionen von +reellen Variablen durch Polynome. +Vielmehr kann das Definitionsgebiet irgend eine abgeschlossene +und beschränkte Teilmenge eines reellen oder komplexen Vektorraumes +sein und die Funktionen können Polynome aber auch viel allgemeinere +Funktionen verwendet werden, wie zum Beispiel die Funktionen +$x\mapsto \cos nx$ und $x\mapsto \sin nx$ definiert auf dem +Intervall $[0,2\pi]$. +In diesem Fall liefert der Satz von Stone-Weierstrass die Aussage, +dass sich jede stetige periodische Funktion gleichmässig durch +trigonometrische Polynome approximieren lässt. + +Die Aussage des Satz von Stone-Weierstrass über reelle Funktionen +lässt sich nicht auf komplexe Funktionen erweitern. +Von besonderem Interesse ist jedoch, dass der Beweis des Satz +zeigt, warum solche Aussagen für komplexe Funktionen nicht mehr +zutreffen. +Im Falle der Approximation von komplexen Funktionen $f(z)$ durch Polynome +zwecks Definition von $f(A)$ werden sich daraus Bedingungen an die +Matrix ableiten lassen, die eine konsistente Definition überhaupt +erst ermöglichen werden. + +\subsubsection{Punkte trennen} +Aus den konstanten Funktionen lassen sich durch algebraische +Operationen nur weitere konstante Funktionen erzeugen. +Die konstanten Funktionen sind also nur dann eine genügend +reichhaltige Menge, wenn die Menge $K$ nur einen einzigen Punkt +enthält. +Damit sich Funktionen approximieren lassen, die in zwei Punkten +verschiedene Werte haben, muss es auch unter den zur Approximation +zur Verfügung stehenden Funktionen solche haben, deren Werte sich +in diesen Punkten unterscheiden. +Diese Bedingung wird in der folgenden Definition formalisiert. + +\begin{definition} +Sei $K$ eine beliebige Menge und $A$ eine Menge von Funktionen +$K\to \mathbb{C}$. +Man sagt, $A$ {\em trennt die Punkte von $K$}, wenn es für jedes Paar +\index{Punkte trennen}% +von Punkten $x,y\in K$ eine Funktion $f\in A$ gibt derart, dass +$f(x)\ne f(y)$. +\end{definition} + +Man kann sich die Funktionen $f$, die gemäss dieser Definition die Punkte +von $K$ trennen, als eine Art Koordinaten der Punkte in $K$ vorstellen. +Die Punkte der Teilmenge $K\subset \mathbb{R}^n$ werden zum Beispiel +von den Koordinatenfunktionen $x\mapsto x_i$ getrennt. +Wir schreiben für die $i$-Koordinate daher auch als Funktion $x_i(x)=x_i$. +Zwei verschiedene Punkte $x,y\in K$ unterscheiden sich in mindestens +einer Koordinate. +Für diese Koordinate sind dann die Werte der zugehörigen +Koordinatenfunktion $x_i=x_i(x)\ne x_i(y)=y_i$ verschieden, die +Funktionen $x_1(x)$ bis $x_n(x)$ trennen also die Punkte. + +\begin{beispiel} +Wir betrachten einen Kreis in der Ebene, also die Menge +\[ +S^1 += +\{(x_1,x_2)\;|\; x_1^2 + x_2^2=1\} +\] +$S^1$ ist eine abgeschlossene und beschränkte Menge in $\mathbb{R}^2$. +Die Funktion $x\mapsto x_1$ trennt die Punkte nicht, denn zu jedem +Punkt $(x_1,x_2)\in S^2$ gibt es den an der ersten Achse +gespiegelten Punkt $\sigma(x)=(x_1,-x_2)$, dessen erste Koordinate +den gleichen Wert hat. +Ebenso trennt die Koordinatenfunktion $x\mapsto x_2$ die Punkte nicht. +Die Menge $A=\{ x_1(x), x_2(x)\}$ bestehend aus den beiden +Koordinatenfunktionen trennt dagegen die Punkte von $S^1$, da die Punkte +sich immer in mindestens einem Punkt unterscheiden. + +Man könnte auch versuchen, den Kreis in Polarkoordinaten zu beschreiben. +Die Funktion $\varphi(x)$, die jedem Punkt $x\in S^1$ den Polarwinkel +zuordnet, trennt sicher die Punkte des Kreises. +Zwei verschiedene Punkte auf dem Kreis haben verschieden Polarwinkel. +Die Menge $\{\varphi\}$ trennt also die Punkte von $S^1$. +Allerdings ist die Funktion nicht stetig, was zwar der Definition +nicht widerspricht aber ein Hindernis für spätere Anwendungen ist. +\end{beispiel} + + +\subsubsection{Der Satz von Stone-Weierstrass für reelle Funktionen} +Die Beispiele von Abschnitt~\ref{buch:subsection:approximation-durch-polynome} +haben bezeigt, dass sich reellwertige Funktionen einer reellen +Variable durch Polynome beliebig genau approximieren lassen. +Es wurde sogar eine Methode vorgestellt, die eine auf einem Intervall +gleichmässig konvergente Polynomefolge produziert. +Die Variable $x\in[a,b]$ trennt natürlich die Punkte, die Algebra der +Polynome in der Variablen $x$ enthält also sicher Funktionen, die in +verschiedenen Punkten des Intervalls auch verschiedene Werte annehmen. +Nicht ganz so selbstverständlich ist aber, dass sich daraus bereits +ergibt, dass jede beliebige Funktion sich als Polynome in $x$ +approximieren lässt. +Dies ist der Inhalt des folgenden Satzes von Stone-Weierstrass. + +\begin{figure} +\centering +\includegraphics{chapters/40-eigenwerte/images/wurzel.pdf} +\caption{Konstruktion einer monoton wachsenden Approximationsfolge für +$\sqrt{a}$ +\label{buch:eigenwerte:fig:wurzelverfahren}} +\end{figure} + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/40-eigenwerte/images/wurzelapprox.pdf} +\caption{Monoton wachsende Approximation der Funktion $t\mapsto\sqrt{t}$ mit +Polynomen $u_n(t)$ nach +\eqref{buch:eigenwerte:eqn:wurzelapproximation} +(links) und der Fehler der Approximation +(rechts). +\label{buch:eigenwerte:fig:wurzelapproximation}} +\end{figure} + +\begin{satz}[Stone-Weierstrass] +\label{buch:satz:stone-weierstrass} +Enthält eine $\mathbb{R}$-Algebra $A$ von stetigen, rellen Funktionen +auf einer kompakten Menge $K$ die konstanten Funktionen und trennt sie +Punkte, d.~h.~für zwei verschiedene Punkte $x,y\in K$ gibt es +immer eine Funktion $f\in A$ mit $f(x)\ne f(y)$, dann ist jede stetige, +reelle Funktion auf $K$ gleichmässig approximierbar durch Funktionen +in $A$. +\end{satz} + +Für den Beweis des Satzes wird ein Hilfsresultat benötigt, welches wir +zunächst ableiten. +Es besagt, dass sich die Wurzelfunktion $t\mapsto\sqrt{t}$ +auf dem Interval $[0,1]$ gleichmässig +von unten durch Polynome approximieren lässt, die in +Abbildung~\ref{buch:eigenwerte:fig:wurzelapproximation} dargestellt +sind. + +\begin{satz} +Die rekursiv definierte Folge von Polynomen +\begin{equation} +u_{n+1}(t) += +u_n(t) + \frac12(t-u_n(t)^2), +\qquad +u_0(t)=0 +\label{buch:eigenwerte:eqn:wurzelapproximation} +\end{equation} +ist monoton wachsend und approximiert die Wurzelfunktion $t\mapsto\sqrt{t}$ +gleichmässig auf dem Intervall $[0,1]$. +\end{satz} + +\begin{figure} +\centering +\includegraphics{chapters/40-eigenwerte/images/minmax.pdf} +\caption{Graphische Erklärung der +Identitäten~\eqref{buch:eigenwerte:eqn:minmax} für +$\max(f(x),g(x))$ und $\min(f(x),g(x))$. +Die purpurrote Kurve stellt den Mittelwert von $f(x)$ und $g(x)$ dar, +die vertikalen grünen Linien haben die Länge der Differenz $|f(x)-g(x)|$. +Das Maximum erhält man, indem man den halben Betrag der Differenz zum +Mittelwert hinzuaddiert, das Minimum erhält man durch Subtraktion +der selben Grösse. +\label{buch:eigenwerte:fig:minmax}} +\end{figure} + +\begin{proof}[Beweis] +Wer konstruieren zunächst das in +Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} +visualierte Verfahren, mit dem für jede Zahl $a\in[0,1]$ +die Wurzel $\sqrt{a}$ berechnet werden kann. +Sei $u < \sqrt{a}$ eine Approximation der Wurzel. +Die Approximation ist der exakte Wert der Lösung, wenn $a-u^2=0$. +In jedem anderen Fall muss $u$ um einen Betrag $d$ vergrössert werden. +Natürlich muss immer noch $u+d<\sqrt{a}$ sein. +Man kann die maximal zulässige Korrektur $d$ geometrisch abschätzen, +wie dies in Abbildung~\ref{buch:eigenwerte:fig:wurzelverfahren} +skizziert ist. +Die maximale Steigung des Graphen der Funktion $u\mapsto u^2$ ist $2$, +daher darf man $u$ maximal um die Hälfte der Differenz $a-u^2$ (grün) +vergrössern, also $d=\frac12(a-u^2)$. +Die Rekursionsformel +\[ +u_{n+1} = u_n + d = u_n + \frac12(a-u_n^2) +\] +mit dem Startwert $u_0=0$ liefert daher eine +Folge, die gegen $\sqrt{a}$ konvergiert. +\end{proof} + +\begin{proof}[Beweis des Satzes von Stone-Weierstrass] +Da $A$ eine Algebra ist, ist mit jeder Funktion $f\in A$ für jedes Polynome +$p\in\mathbb{R}[X]$ auch $p(f)$ eine Funktion in $A$. +\begin{enumerate} +\item Schritt: Für jede Funktion $f\in A$ lässt sich auch $|f|$ durch +Funktionen in $A$ beliebig genau durch eine monoton wachsende Folge +von Funktionen approximieren. + +Da $A$ eine Algebra ist, ist $f^2\in A$. +Sei ausserdem $m^2=\sup \{f(x)^2\;|\;x\in K\}$, so dass $f^2/m^2$ eine Funktion +mit Werten im Intervall $[0,1]$ ist. +Die Funktionen $f_n(x)=mu_n(f(x)^2/m^2)$ sind ebenfalls in $A$ und +approximieren gleichmässig $\sqrt{f(x)^2}=|f(x)|$. +\item Schritt: Für zwei Funktionen $f,g\in A$ gibt es eine monoton wachsende +Folge, die $\max(f,g)$ gleichmässig beliebig genau approximiert +und eine monoton fallende Folge, die $\min(f,g)$ gleichmässig beliebig +genau approximiert. + + +Diese Folgen können aus der Approximationsfolge für den Betrag einer +Funktion und den Identitäten +\begin{equation} +\begin{aligned} +\max(f,g) &= \frac12(f+g+|f-g|) \\ +\min(f,g) &= \frac12(f+g-|f-g|) +\end{aligned} +\label{buch:eigenwerte:eqn:minmax} +\end{equation} +gefunden werden, die in Abbildung~\ref{buch:eigenwerte:fig:minmax} +graphisch erklärt werden. +\item Schritt: Zu zwei beliebigen Punkten $x,y\in K$ und Werten +$\alpha,\beta\in\mathbb{R}$ gibt es immer eine Funktion in $A$, +die in den Punkten $x,y$ die vorgegebenen Werte $\alpha$ bzw.~$\beta$ +annimmt. +Da $A$ die Punkte trennt, gibt es eine Funktion $f_0$ mit $f_0(x)\ne f_0(y)$. +Dann ist die Funktion +\[ +f(t) += +\beta + \frac{f_0(t)-f_0(y)}{f_0(x)-f_0(y)}(\alpha-\beta) +\] +wohldefiniert und nimmt die verlangten Werte an. +\item Schritt: Zu jeder stetigen Funktion $f\colon K\to\mathbb{R}$, jedem +Punkt $x\in K$ und jedem $\varepsilon>0$ gibt es eine Funktion $g\in A$ derart, +dass $g(x)=f(x)$ und $g(y) \le f(y)+\varepsilon$ für alle $y\in K$. + +Zu jedem $z\in K$ gibt es eine Funktion in $A$ mit +$h_z(x)=f(x)$ und $h_z(z) \le f(z)+\frac12\varepsilon$. +Wegen der Stetigkeit von $h_z$ gibt es eine Umgebung $V_z$ von $z$, in der +immer noch gilt $h_z(y)\le f(y)+\varepsilon$ für $y\in V_z$. +Wegen der Kompaktheit von $K$ kann man endlich viele Punkte $z_i$ wählen +derart, dass die $V_{z_i}$ immer noch $K$ überdecken. +Dann erfüllt die Funktion +\( +g(z) = \inf h_{z_i} +\) +die Bedingungen $g(x) = f(x)$ und für $z\in V_{z_i}$ +\[ +g(z) = \inf_{j} h_{z_j}(z) \le h_{z_i}(z) \le f(z)+\varepsilon. +\] +Ausserdem ist $g(z)$ nach dem zweiten Schritt beliebig genau durch +Funktionen in $A$ approximierbar. +\item Schritt: Jede stetige Funktion $f\colon K\to\mathbb{R}$ kann +beliebig genau durch Funktionen in $A$ approximiert werden. +Sei $\varepsilon > 0$. + +Nach dem vierten Schritt gibt es für jedes $y\in K$ eine Funktion $g_y$ +derart, dass $g_y(y)=f(y)$ und $g_y(x) \le f(x) + \varepsilon$ für +$x\in K$. +Da $g_y$ stetig ist, gilt ausserdem $g_y(x) \ge f(x) -\varepsilon$ in +einer Umgebung $U_y$ von $y$. +Da $K$ kompakt ist, kann man endlich viele $y_i$ derart, dass die $U_{y_i}$ +immer noch ganz $K$ überdecken. +Die Funktion $g=\sup g_{y_i}$ erfüllt dann überall $g(x) \le f(x)+\varepsilon$, +weil jede der Funktionen $g_y$ diese Ungleichung erfüllt. +Ausserdem gilt für $x\in V_{x_j}$ +\[ +g(x) = \sup_i g_{x_i}(x) \ge g_{x_j}(x) \ge f(x)-\varepsilon. +\] +Somit ist +\[ +|f(x)-g(x)| \le \varepsilon. +\] +Damit ist $f(x)$ beliebig nahe an der Funktion $g(x)$, die sich +beliebig genau durch Funktionen aus $A$ approximieren lässt. +\qedhere +\end{enumerate} +\end{proof} + +Im ersten Schritt des Beweises ist ganz entscheidend, dass man die +Betragsfunktion konstruieren kann. +Daraus leiten sich dann alle folgenden Konstruktionen ab. + +\subsubsection{Anwendung auf symmetrische und hermitesche Matrizen} +Für symmetrische und hermitesche Matrizen $A$ ist bekannt, dass die +Eigenwerte reell sind, also das Spektrum $\operatorname{A}\subset\mathbb{R}$ +ist. +Für eine Funktion $\mathbb{R}\to \mathbb{R}$ lässt sich nach dem +Satz~\ref{buch:satz:stone-weierstrass} immer eine Folge $p_n$ von +approximierenden Polynomen in $x$ finden, die auf $\operatorname{Sp}(A)$ +gleichmässig konvergiert. +Die Matrix $f(A)$ kann dann definiert werden also der Grenzwert +\[ +f(A) = \lim_{n\to\infty} p_n(A). +\] +Da diese Matrizen auch diagonalisierbar sind, kann man eine Basis +aus Eigenvektoren verwenden. +Die Wirkung von $p_n(A)$ auf einem Eigenvektor $v$ zum Eigenwert $\lambda$ +ist +\[ +p_n(A)v += +(a_kA^k + a_{k-1}A^{k-1}+\dots +a_2A^2+a_1A+a_0I)v += +(a_k\lambda^k + a_{k-1}\lambda^{k-1}+\dots + a_2\lambda^2 + a_1\lambda + a_0)v += +p_n(\lambda)v. +\] +Im Grenzwert wirkt $f(A)$ daher durch Multiplikation eines Eigenvektors +mit $f(\lambda)$, die Matrix $f(A)$ hat in der genannten Basis die +Diagonalform +\[ +A=\begin{pmatrix} +\lambda_1& & & \\ + &\lambda_2& & \\ + & &\ddots& \\ + & & &\lambda_n +\end{pmatrix} +\qquad\Rightarrow\qquad +f(A)=\begin{pmatrix} +f(\lambda_1)& & & \\ + &f(\lambda_2)& & \\ + & &\ddots& \\ + & & &f(\lambda_n) +\end{pmatrix}. +\] + +\begin{satz} +\label{buch:eigenwerte:satz:spektralsatz} +Ist $A$ symmetrische oder selbstadjungiert Matrix und $f$ eine Funktion +auf dem Spektrum $\operatorname{Sp}(A)$ von $A$. +Dann gibt es genau eine Matrix $f(A)$, die Grenzwert jeder beliebigen +Folge $p_n(A)$ für Polynomfolgen, die $\operatorname{Sp}(A)$ gleichmässig +gegen $f$ konvergieren. +\end{satz} + +\subsubsection{Unmöglichkeit der Approximation von $z\mapsto \overline{z}$ +in $\mathbb{C}[z]$} +Der Satz~\ref{buch:satz:stone-weierstrass} von Stone-Weierstrass für +reelle Funktionen gilt nicht für komplexe Funktionen. +In diesem Abschnitt zeigen wir, dass sich die Funktion $z\mapsto\overline{z}$ +auf der Einheitskreisscheibe $K=\{z\in\mathbb{C}\;|\; |z|\le 1\}$ nicht +gleichmässig durch Polynome $p(z)$ mit komplexen Koeffizienten approximieren +lässt. + +Wäre eine solche Approximation möglich, dann könnte man $\overline{z}$ +auch durch eine Potenzreihe +\[ +\overline{z} += +\sum_{k=0}^\infty a_kz^k +\] +darstellen. +Das Wegintegral beider Seiten über den Pfad $\gamma(t) = e^{it}$ +in der komplexen Ebene ist +\begin{align*} +\oint_\gamma z^k\,dz +&= +\int_0^{2\pi} e^{ikt} ie^{it}\,dt += +i\int_0^{2\pi} e^{it(k+1)}\,dt += +i\biggl[ \frac{1}{i(k+1)} e^{it(k+1)}\biggr]_0^{2\pi} += +0 +\\ +\oint_\gamma +\sum_{k=0}^\infty a_kz^k +\,dz +&= +\sum_{k=0}^\infty a_k \oint_\gamma z^k\,dz += +\sum_{k=0}^\infty a_k\cdot 0 += +0 +\\ +\oint_\gamma \overline{z}\,dz +&= +\int_0^{2\pi} e^{it} ie^{it}\,dt += +i\int_0^{2\pi} \,dt = 2\pi i, +\end{align*} +dabei wurde $\overline{\gamma}(t)=e^{-it}$ verwendet. +Insbesondere widersprechen sich die beiden Integrale. +Die ursprüngliche Annahmen, $\overline{z}$ lasse sich durch Polynome +gleichmässig approximieren, muss daher verworfen werden. + +\subsubsection{Der Satz von Stone-Weierstrass für komplexe Funktionen} +Der Satz von Stone-Weierstrass kann nach dem vorangegangene Abschnitt +also nicht gelten. +Um den Beweis des Satzes~\ref{buch:satz:stone-weierstrass} +auf komplexe Zahlen zu übertragen, muss im ersten Schritt ein Weg +gefunden werden, den Betrag einer Funktion zu approximieren. + +Im reellen Fall geschah dies, indem zunächst eine Polynom-Approximation +für die Quadratwurzel konstruiert wurde, die dann auf das Quadrat einer +Funktion angewendet wurde. +Der Betrag einer komplexen Zahl $z$ ist aber nicht allein aus $z$ +berechenbar, man braucht in irgend einer Form Zugang zu Real- +und Imaginärteil. +Zum Beispiel kann man Real- und Imaginärteil als +$\Re z= \frac12(z+\overline{z})$ und $\Im z = \frac12(z-\overline{z})$ +bestimmen. +Kenntnis von Real- und Imaginärteil ist als gleichbedeutend mit +der Kenntnis der komplex Konjugierten $\overline{z}$. +Der Betrag lässt sich daraus als $|z|^2 = z\overline{z}$ finden. +Beide Beispiele zeigen, dass man den im Beweis benötigten Betrag +nur dann bestimmen kann, wenn mit jeder Funktion aus $A$ auch die +komplex konjugierte Funktion zur Verfügung steht. + +\begin{satz}[Stone-Weierstrass] +Enthält eine $\mathbb{C}$-Algebra $A$ von stetigen, komplexwertigen +Funktionen auf einer kompakten Menge $K$ die konstanten Funktionen, +trennt sie Punkte und ist ausserdem mit jeder Funktion $f\in A$ auch +die komplex konjugiert Funktion $\overline{f}\in A$, +dann lässt sich jede stetige, komplexwertige Funktion +auf $K$ gleichmässig durch Funktionen aus $A$ approximieren. +\end{satz} + +Mit Hilfe der konjugiert komplexen Funktion lässt sich immer eine +Approximation für die Betragsfunktion finden, so dass sich der +Beweis des reellen Satzes von Stone-Weierstrass übertragen lässt. + +% +% Normale Matrizen +% +\subsection{Normale Matrizen +\label{buch:subsection:normale-matrizen}} +Aus dem Satz von Stone-Weierstrass für komplexe Matrizen kann man +jetzt einen Spektralsätze für eine etwas grössere Klasse von Matrizen +ableiten, als im Satz~\ref{buch:eigenwerte:satz:spektralsatz} +möglich war. +Der Satz besagt, dass für eine beliebige Funktion $f$ auf dem Spektrum +$\operatorname{Sp}(A)$ eine Folge von auf $\operatorname{Sp}(A)$ +gleichmässig konvergenten, approximierenden Polynomen +$p_n(z,\overline{z})$ gefunden werden kann. +Doch wie soll jetzt aus dieser Polynomfolge ein Kandidat von $f(A)$ +gefunden werden? + +Zunächst stellt sich die Frage, was für die Variable $\overline{z}$ +eingesetzt werden soll. +$1\times 1$-Matrizen sind notwendigerweise diagonal, also muss +man in diesem Fall die Matrix $\overline{A}$ für die Variable +$\overline{z}$ eingesetzt werden. +Dies erklärt aber noch nicht, wie für $n\times n$-Matrizen +vorzugehen ist, wenn $n>1$ ist. + +Die Notwendigkeit, die Variable $\overline{z}$ hinzuzunehmen +ergab sich aus der Anforderung, dass der Betrag aus $|z|^2=z\overline{z}$ +konstruiert werden können muss. +Insbesondere muss beim Einsetzen eine Matrix entstehen, die nur +positive Eigenwerte hat. +Für eine beliebige komplexe $n\times n$-Matrix $A$ ist aber +$A\overline{A}$ nicht notwendigerweise positiv, wie das Beispiel +\[ +A += +\begin{pmatrix}0&i\\i&0\end{pmatrix} +\qquad +\Rightarrow +\qquad +A\overline{A} += +\begin{pmatrix}0&i\\-i&0\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} += +\begin{pmatrix} +-1&0\\ + 0&-1 +\end{pmatrix} += +-I +\] +zeigt. +Eine positive Matrix entsteht dagegen immer, wenn man statt +$A$ die Adjungierte $A^*=\overline{A}^t$ verwendet. + +Die Substitution von $A$ für $z$ und $A^*$ für $\overline{z}$ +in einem Polynom $p(z,\overline{z})$ ist nicht unbedingt eindeutig. +Schon das Polynom $p(z,\overline{z})=z\overline{z}$ kann man auch +als $\overline{z}z$ schreiben. +Damit die Substition eindeutig wird, muss man also fordern, dass +$AA^* = A^*A$ ist. + +\begin{definition} +Eine Matrix $A\in M_n(\mathbb{C})$ heisst {\em normal}, wenn $AA^*=A^*A$ gilt. +\end{definition} + +\subsubsection{Beispiele normaler Matrizen} + +\begin{enumerate} +\item +Hermitesche und Antihermitesche Matrizen sind normal, denn solche +Matrizen erfüllen $A^*=\pm A$ und damit +\( +AA^* = \pm A^2 = A^*A. +\) +\item +Symmetrische und antisymmetrische Matrizen sind normal, +denn aus $A=A^t$ folgt $A^*=\overline{A}^t$ und damit +\begin{align*} +AA^* &= A\overline{A}^t = +\\ +A^*A &= +\end{align*} +\item +Unitäre Matrizen $U$ sind normal, das $UU^*=I=U^*U$ gilt. +\item +Orthogonale Matrizen sind normal wegen $O(n) = U(n) \cap M_n(\mathbb{R})$. +\end{enumerate} + +Jede Matrix lässt sich durch Wahl einer geeigneten Basis in Jordansche +Normalform bringen. +Allerdings sind Jordan-Blöcke keine normalen Matrizen, wie der folgende +Satz zeigt. + +\begin{satz} +Eine Dreiecksmatrix ist genau dann normal, wenn sie diagonal ist. +\end{satz} + +\begin{proof}[Beweis] +Sei $A$ eine obere Dreiecksmatrix, das Argument für eine untere Dreiecksmatrix +funktioniert gleich. +Wir berechnen ein Diagonalelement für beide Produkte $AA^*$ und $A^*A$. +Dazu brauchen wir die Matrixelemente von $A$ und $A^*$. +Bezeichnen wir die Matrixelemente von $A$ mit $a_{ij}$, dann hat $A^*$ +die Matrixelemente $(A^*)_{ij}=\overline{a}_{ji}$. +Damit kann man die Diagonalelemente der Produkte als +\begin{align*} +(AA^*)_{ii} +&= +\sum_{j=1}^n a_{ij}\overline{a}_{ij} += +\sum_{j=i}^n |a_{ij}|^2 +\\ +(A^*A)_{ii} +&= +\sum_{j=1}^n \overline{a}_{ji}a_{ji} += +\sum_{j=1}^i |a_{ji}|^2 +\end{align*} +ausrechnen. +Der obere Ausdruck ist die quadrierte Länge der Zeile $i$ der Matrix $A$, +der untere ist die quadrierte Länge der Spalte $i$. +Da die Matrix eine obere Dreiecksmatrix ist, hat die erste Spalte höchstens +ein einziges von $0$ verschiedenes Element. +Daher kann auch die erste Zeile höchstens dieses eine Elemente haben. +Die Matrix hat daher Blockstruktur mit einem $1\times 1$-Block in der +linken obere Ecke und einem $n-1$-dimensionalen Block für den Rest. +Durch Wiederholen des Arguments für den $(n-1)\times (n-1)$-Block +kann man so schrittweise schliessen, dass die Matrix $A$ diagonal sein muss. +\end{proof} + + +\begin{satz} +Sind $A$ und $B$ normale Matrizen und $AB^*=B^*A$, dann sind auch $A+B$ +und $AB$ normal. +\end{satz} + +\begin{proof}[Beweis] +Zunächst folgt aus $AB^*=B^*A$ auch +$A^*B = (B^*A)^* = (AB^*)^* = BA^*$. +Der Beweis erfolgt durch Nachrechnen: +\begin{align*} +(A+B)(A+B)^* +&= +AA^* + AB^* + BA^*+BB^* +\\ +(A+B)^*(A+B) +&= +A^*A + A^*B + B^*A + B^*B +\end{align*} +Die ersten und letzten Terme auf der rechten Seite stimmen überein, weil +$A$ und $B$ normal sind. +Die gemischten Terme stimmen überein wegen der Vertauschbarkeit von +$A$ und $B^*$. + +Für das Produkt rechnet man +\begin{align*} +(AB)(AB)^* +&= ABB^*A^* = AB^*BA^* += B^*AA^*B += +B^*A^*AB += +(AB)^*(AB), +\end{align*} +was zeigt, dass auch $AB$ normal ist. +\end{proof} + +\subsubsection{Äquivalente Bedingungen} +Es gibt eine grosse Zahl äquivalenter Eigenschaften für normale Matrizen. +Die folgenden Eigenschaften sind äquivalent: +\begin{enumerate} +\item +Die Matrix $A$ ist mit einer unitären Matrix diagonalisierbar +\item +Es gibt eine orthonormale Basis von Eigenvektoren von $A$ für $\mathbb{C}^n$ +\item +Für jeden Vektor $x\in\mathbb{C}^n$ gilt $\|Ax\|=\|A^*x\|$ +\item +Die Forbenius-Norm der Matrix $A$ kann mit den Eigenwerten $\lambda_i$ +von $A$ berechnet werden: +$\operatorname{Spur}(A^*A) = \sum_{i=1}^n |\lambda_i|^2$ +\item +Der hermitesche Teil $\frac12(A+A^*)$ und der antihermitesche Teil +$\frac12(A-A^*)$ von $A$ vertauschen. +\item +$A^*$ ist ein Polynom vom Grad $n-1$ in $A$. +\item +Es gibt eine unitäre Matrix $U$ derart, dass $A^*=AU$ +\item +Es gibt eine Polarzerlegugn $A=UP$ mit einer unitären Matrix $U$ und +einer postiv semidefiniten Matrix $P$, die untereinander vertauschen. +\item +Es gibt eine Matrix $N$ mit verschiedenen Eigenwerten, mit denen $A$ +vertauscht. +\item +Wenn $A$ die (absteigend geordneten) singulärwerte $\sigma_i$ und +die absteigend geordneten Eigenwerte $\lambda_i$ hat, +dann it $\sigma_i=|\lambda_i|$. +\end{enumerate} + + + + diff --git a/buch/chapters/60-gruppen/chapter.tex b/buch/chapters/60-gruppen/chapter.tex index 3b1abc1..aa5469f 100644 --- a/buch/chapters/60-gruppen/chapter.tex +++ b/buch/chapters/60-gruppen/chapter.tex @@ -1,47 +1,47 @@ -% -% chapter.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\chapter{Matrizengruppen -\label{buch:chapter:matrizengruppen}} -\lhead{Matrizengruppen} -\rhead{} -Matrizen können dazu verwendet werden, Symmetrien von geometrischen oder -physikalischen Systemen zu beschreiben. -Neben diskreten Symmetrien wie zum Beispiel Spiegelungen gehören dazu -auch kontinuierliche Symmetrien wie Translationen oder Invarianz einer -phyisikalischen Grösse über die Zeit. -Solche Symmetrien müssen durch Matrizen beschrieben werden können, -die auf stetige oder sogar differenzierbare Art von der Zeit abhängen. -Die Menge der Matrizen, die zur Beschreibung solcher Symmetrien benutzt -werden, muss also eine zusätzliche Struktur haben, die ermöglicht, -sinnvoll über Stetigkeit und Differenzierbarkeit bei Matrizen -zu sprechen. - -Die Menge der Matrizen bilden zunächst eine Gruppe, -die zusätzliche differenziarbare Struktur macht daraus -eine sogenannte Lie-Gruppe. -Die Ableitungen nach einem Parameter liegen in der sogenannten -Lie-Algebra, einer Matrizen-Algebra mit dem antisymmetrischen -Lie-Klammer-Produkt $[A,B]=AB-BA$, auch Kommutator genannt. -Lie-Gruppe und Lie-Algebra sind eng miteinander verknüpft, -so eng, dass sich die meisten Eigenschaften der Gruppe aus den Eigenschaften -der Lie-Gruppe aus der Lie-Algebra ableiten lassen. -Die Verbindung wird hergestellt durch die Exponentialabbildung. -Ziel dieses Kapitels ist, die Grundzüge dieses interessanten -Zusammenhangs darzustellen. - -\input{chapters/60-gruppen/symmetrien.tex} -\input{chapters/60-gruppen/lie-gruppen.tex} -\input{chapters/60-gruppen/lie-algebren.tex} -%\input{chapters/60-gruppen/homogen.tex} - -\section*{Übungsaufgaben} -\rhead{Übungsaufgaben} -\aufgabetoplevel{chapters/60-gruppen/uebungsaufgaben} -\begin{uebungsaufgaben} -\uebungsaufgabe{6002} -\uebungsaufgabe{6001} -\end{uebungsaufgaben} - +% +% chapter.tex +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\chapter{Matrizengruppen +\label{buch:chapter:matrizengruppen}} +\lhead{Matrizengruppen} +\rhead{} +Matrizen können dazu verwendet werden, Symmetrien von geometrischen oder +physikalischen Systemen zu beschreiben. +Neben diskreten Symmetrien wie zum Beispiel Spiegelungen gehören dazu +auch kontinuierliche Symmetrien wie Translationen oder Invarianz einer +phyisikalischen Grösse über die Zeit. +Solche Symmetrien müssen durch Matrizen beschrieben werden können, +die auf stetige oder sogar differenzierbare Art von der Zeit abhängen. +Die Menge der Matrizen, die zur Beschreibung solcher Symmetrien benutzt +werden, muss also eine zusätzliche Struktur haben, die ermöglicht, +sinnvoll über Stetigkeit und Differenzierbarkeit bei Matrizen +zu sprechen. + +Die Menge der Matrizen bilden zunächst eine Gruppe, +die zusätzliche differenziarbare Struktur macht daraus +eine sogenannte Lie-Gruppe. +Die Ableitungen nach einem Parameter liegen in der sogenannten +Lie-Algebra, einer Matrizen-Algebra mit dem antisymmetrischen +Lie-Klammer-Produkt $[A,B]=AB-BA$, auch Kommutator genannt. +Lie-Gruppe und Lie-Algebra sind eng miteinander verknüpft, +so eng, dass sich die meisten Eigenschaften der Gruppe aus den Eigenschaften +der Lie-Gruppe aus der Lie-Algebra ableiten lassen. +Die Verbindung wird hergestellt durch die Exponentialabbildung. +Ziel dieses Kapitels ist, die Grundzüge dieses interessanten +Zusammenhangs darzustellen. + +\input{chapters/60-gruppen/symmetrien.tex} +\input{chapters/60-gruppen/lie-gruppen.tex} +\input{chapters/60-gruppen/lie-algebren.tex} +%\input{chapters/60-gruppen/homogen.tex} + +\section*{Übungsaufgaben} +\rhead{Übungsaufgaben} +\aufgabetoplevel{chapters/60-gruppen/uebungsaufgaben} +\begin{uebungsaufgaben} +\uebungsaufgabe{6002} +\uebungsaufgabe{6001} +\end{uebungsaufgaben} + diff --git a/buch/chapters/60-gruppen/images/Makefile b/buch/chapters/60-gruppen/images/Makefile index 3ed39e5..8cd824f 100644 --- a/buch/chapters/60-gruppen/images/Makefile +++ b/buch/chapters/60-gruppen/images/Makefile @@ -1,25 +1,25 @@ -# -# Makefile -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -all: phasenraum.pdf kartenkreis.pdf karten.pdf sl2.pdf scherungen.pdf - -phasenraum.pdf: phasenraum.tex - pdflatex phasenraum.tex - -kartenkreis.pdf: kartenkreis.tex - pdflatex kartenkreis.tex - -torus.png: torus.pov - povray +A0.1 -W1920 -H1080 -Otorus.png torus.pov - -karten.pdf: karten.tex torus.png - pdflatex karten.tex - -sl2.pdf: sl2.tex - pdflatex sl2.tex - -scherungen.pdf: scherungen.tex - pdflatex scherungen.tex - +# +# Makefile +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: phasenraum.pdf kartenkreis.pdf karten.pdf sl2.pdf scherungen.pdf + +phasenraum.pdf: phasenraum.tex + pdflatex phasenraum.tex + +kartenkreis.pdf: kartenkreis.tex + pdflatex kartenkreis.tex + +torus.png: torus.pov + povray +A0.1 -W1920 -H1080 -Otorus.png torus.pov + +karten.pdf: karten.tex torus.png + pdflatex karten.tex + +sl2.pdf: sl2.tex + pdflatex sl2.tex + +scherungen.pdf: scherungen.tex + pdflatex scherungen.tex + diff --git a/buch/chapters/60-gruppen/images/karten.tex b/buch/chapters/60-gruppen/images/karten.tex index c8eb4a3..67c8d70 100644 --- a/buch/chapters/60-gruppen/images/karten.tex +++ b/buch/chapters/60-gruppen/images/karten.tex @@ -1,112 +1,112 @@ -% -% karten.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\node at (0,0) {\includegraphics[width=10cm]{torus.png}}; - -\def\s{3} - -\node at (-3.5,-0.4) {$U_\alpha$}; -\node at (2.0,-0.4) {$U_\beta$}; - -\draw[->] (-2,-2.2) -- (-3,-4.3); -\node at (-2.5,-3.25) [left] {$\varphi_\alpha$}; - -\draw[->] (1.4,-1.7) -- (3,-4.3); -\node at (2.5,-3.25) [right] {$\varphi_\beta$}; - -\begin{scope}[xshift=-4.5cm,yshift=-8cm] - \begin{scope} - \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - \begin{scope}[xshift=1.8cm,yshift=0.6cm,rotate=30] - \fill[color=gray!20] - (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - \foreach \x in {0,0.2,...,1}{ - \draw[color=darkgreen] - ({\x*\s},{-0.2*\s}) - -- - ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=orange] - (0,{\y*\s}) - -- - ({1*\s},{\y*\s}); - } - \end{scope} - \end{scope} - - \foreach \x in {0,0.2,...,1}{ - \draw[color=blue,line width=1.4pt] - ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=red,line width=1.4pt] - (0,{\y*\s}) -- ({1*\s},{\y*\s}); - } - - \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; - \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; - - \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; - -\end{scope} - -\begin{scope}[xshift=1.5cm,yshift=-8cm] - \begin{scope} - \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - % x = - [ (sqrt(3)/2)*0.6+(1/2)*0.2 ] = -0.6196 - % y = - [ (-1/2)*0.6 + (sqrt(3)/2)*0.2 ] = - \begin{scope}[xshift=-1.8588cm,yshift=0.3804cm,rotate=-30] - \fill[color=gray!20] - (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); - \foreach \x in {0,0.2,...,1}{ - \draw[color=blue] - ({\x*\s},{-0.2*\s}) - -- - ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=red] - (0,{\y*\s}) - -- - ({1*\s},{\y*\s}); - } - \end{scope} - \end{scope} - - \foreach \x in {0,0.2,...,1}{ - \draw[color=darkgreen,line width=1.4pt] - ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); - } - \foreach \y in {-0.2,0,...,1.2}{ - \draw[color=orange,line width=1.4pt] (0,{\y*\s}) -- ({1*\s},{\y*\s}); - } - \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; - \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; - \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; -\end{scope} - -\draw[<-,color=white,opacity=0.8,line width=5pt] (2.5,-6.5) arc (55:100:6.5); -\draw[<-,shorten >= 0.1cm,shorten <= 0.3cm] (2.5,-6.5) arc (55:100:6.5); - -\node at (0,-5.9) - {$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}$}; - -\end{tikzpicture} -\end{document} - +% +% karten.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\node at (0,0) {\includegraphics[width=10cm]{torus.png}}; + +\def\s{3} + +\node at (-3.5,-0.4) {$U_\alpha$}; +\node at (2.0,-0.4) {$U_\beta$}; + +\draw[->] (-2,-2.2) -- (-3,-4.3); +\node at (-2.5,-3.25) [left] {$\varphi_\alpha$}; + +\draw[->] (1.4,-1.7) -- (3,-4.3); +\node at (2.5,-3.25) [right] {$\varphi_\beta$}; + +\begin{scope}[xshift=-4.5cm,yshift=-8cm] + \begin{scope} + \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \begin{scope}[xshift=1.8cm,yshift=0.6cm,rotate=30] + \fill[color=gray!20] + (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \foreach \x in {0,0.2,...,1}{ + \draw[color=darkgreen] + ({\x*\s},{-0.2*\s}) + -- + ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=orange] + (0,{\y*\s}) + -- + ({1*\s},{\y*\s}); + } + \end{scope} + \end{scope} + + \foreach \x in {0,0.2,...,1}{ + \draw[color=blue,line width=1.4pt] + ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=red,line width=1.4pt] + (0,{\y*\s}) -- ({1*\s},{\y*\s}); + } + + \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; + \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; + + \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; + +\end{scope} + +\begin{scope}[xshift=1.5cm,yshift=-8cm] + \begin{scope} + \clip (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + % x = - [ (sqrt(3)/2)*0.6+(1/2)*0.2 ] = -0.6196 + % y = - [ (-1/2)*0.6 + (sqrt(3)/2)*0.2 ] = + \begin{scope}[xshift=-1.8588cm,yshift=0.3804cm,rotate=-30] + \fill[color=gray!20] + (0,{-0.2*\s}) rectangle ({1*\s},{1.2*\s}); + \foreach \x in {0,0.2,...,1}{ + \draw[color=blue] + ({\x*\s},{-0.2*\s}) + -- + ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=red] + (0,{\y*\s}) + -- + ({1*\s},{\y*\s}); + } + \end{scope} + \end{scope} + + \foreach \x in {0,0.2,...,1}{ + \draw[color=darkgreen,line width=1.4pt] + ({\x*\s},{-0.2*\s}) -- ({\x*\s},{1.2*\s}); + } + \foreach \y in {-0.2,0,...,1.2}{ + \draw[color=orange,line width=1.4pt] (0,{\y*\s}) -- ({1*\s},{\y*\s}); + } + \draw[->] ({\s*(-0.1)},0) -- ({1.1*\s},0) coordinate[label={$x_1$}]; + \draw[->] (0,{-0.3*\s}) -- (0,{1.3*\s}) coordinate[label={left:$x_2$}]; + \node at ({1*\s},{1.2*\s}) [above right] {$\mathbb{R}^2$}; +\end{scope} + +\draw[<-,color=white,opacity=0.8,line width=5pt] (2.5,-6.5) arc (55:100:6.5); +\draw[<-,shorten >= 0.1cm,shorten <= 0.3cm] (2.5,-6.5) arc (55:100:6.5); + +\node at (0,-5.9) + {$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/kartenkreis.tex b/buch/chapters/60-gruppen/images/kartenkreis.tex index 4f19937..ff6331e 100644 --- a/buch/chapters/60-gruppen/images/kartenkreis.tex +++ b/buch/chapters/60-gruppen/images/kartenkreis.tex @@ -1,189 +1,189 @@ -% -% kartenkreis.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{3} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\fill[color=red!20] (0,-1) rectangle (1.5,1); -\fill[color=blue!20] (-1.5,-1) rectangle (0,1); -\fill[color=darkgreen!40,opacity=0.5] (-1,0) rectangle (1,1.5); -\fill[color=orange!40,opacity=0.5] (-1,-1.5) rectangle (1,0); -\fill[color=white] (0,0) circle[radius=1]; - -\fill[color=gray!20] - (0,-1.5) -- (0.02,-1.6) -- (0.5,-1.8) -- (0.98,-1.6) -- (1,-1.5) - -- cycle; -\fill[color=gray!20] - (0,1.5) -- (0.02,1.6) -- (0.5,1.8) -- (0.98,1.6) -- (1,1.5) - -- cycle; -\fill[color=gray!20] - (0,-1.5) -- (-0.02,-1.6) -- (-0.5,-1.8) -- (-0.98,-1.6) -- (-1,-1.5) - -- cycle; -\fill[color=gray!20] - (0,1.5) -- (-0.02,1.6) -- (-0.5,1.8) -- (-0.98,1.6) -- (-1,1.5) - -- cycle; - -\fill[color=gray!20] - (1.5,0) -- (1.6,0.02) -- (1.8,0.5) -- (1.6,0.98) -- (1.5,1) - -- cycle; -\fill[color=gray!20] - (-1.5,0) -- (-1.6,0.02) -- (-1.8,0.5) -- (-1.6,0.98) -- (-1.5,1) - -- cycle; -\fill[color=gray!20] - (1.5,0) -- (1.6,-0.02) -- (1.8,-0.5) -- (1.6,-0.98) -- (1.5,-1) - -- cycle; -\fill[color=gray!20] - (-1.5,0) -- (-1.6,-0.02) -- (-1.8,-0.5) -- (-1.6,-0.98) -- (-1.5,-1) - -- cycle; - -\draw[->] (0.5,-1.8) arc (-180:-90:0.1) arc (-90:0:1.3) arc (0:90:0.1); -\draw[->] (1.8,0.5) arc (-90:0:0.1) arc (0:90:1.3) arc (90:180:0.1); -\draw[->] (-0.5,1.8) arc (0:90:0.1) arc (90:180:1.3) arc (180:270:0.1); -\draw[->] (-1.8,-0.5) arc (90:180:0.1) arc (180:270:1.3) arc (270:360:0.1); - -\node at (1.01,1.32) - [right] {$\varphi_3\circ \varphi_1^{-1}(y)=\sqrt{1-y^2}$}; -\node at (1.6,1.6) {$\varphi_{31}$}; - -\node at (1.01,-1.28) - [right] {$\varphi_1\circ \varphi_4^{-1}(x)=-\sqrt{1-x^2}$}; -\node at (1.6,-1.6) {$\varphi_{14}$}; - -\node at (-1.24,1.32) - [left] {$\varphi_2\circ\varphi_3^{-1}(x)=\sqrt{1-x^2}$}; -\node at (-1.6,1.6) {$\varphi_{23}$}; - -\node at (-1.18,-1.28) - [left] {$\varphi_4\circ\varphi_2^{-1}(y)=-\sqrt{1-y^2}$}; -\node at (-1.6,-1.6) {$\varphi_{42}$}; - - -\foreach \y in {0.1,0.3,...,0.9}{ - \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] - ({sqrt(1-\y*\y)},{\y}) -- (1.5,\y); - \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] - ({sqrt(1-\y*\y)},{-\y}) -- (1.5,-\y); - \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] - ({-sqrt(1-\y*\y)},{\y}) -- (-1.5,\y); - \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] - ({-sqrt(1-\y*\y)},{-\y}) -- (-1.5,-\y); -} -\foreach \x in {0.1,0.3,...,0.9}{ - \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] - ({\x},{sqrt(1-\x*\x)}) -- ({\x},1.5); - \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] - ({-\x},{sqrt(1-\x*\x)}) -- ({-\x},1.5); - \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] - ({\x},{-sqrt(1-\x*\x)}) -- ({\x},-1.5); - \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] - ({-\x},{-sqrt(1-\x*\x)}) -- ({-\x},-1.5); -} - -%\draw[color=gray!50,line width=3pt] (0,0) circle[radius=1]; -\draw[color=yellow!30,line width=3pt] (0,0) circle[radius=1]; -\node[color=yellow] at ({1/sqrt(2)},{1/sqrt(2)}) [above right] {$S^1$}; - -\def\r{1.02} - -\begin{scope} - \clip (0,-1.1) rectangle (1.1,1.1); - \draw[color=red,line width=1.4pt] (-89:\r) arc (-89:89:\r); - \draw[color=red,line width=1.4pt] (0,-\r) circle[radius=0.02]; - \draw[color=red,line width=1.4pt] (0,\r) circle[radius=0.02]; -\end{scope} - -\begin{scope} - \clip (-1.1,-1.1) rectangle (0,1.1); - \draw[color=blue,line width=1.4pt] (91:\r) arc (91:269:\r); - \draw[color=blue,line width=1.4pt] (0,-\r) circle[radius=0.02]; - \draw[color=blue,line width=1.4pt] (0,\r) circle[radius=0.02]; -\end{scope} - -\xdef\r{0.98} - -\begin{scope} - \clip (-1.1,0) rectangle (1.1,1.1); - \draw[color=darkgreen,line width=1.4pt] (1:\r) arc (1:179:\r); - \draw[color=darkgreen,line width=1.4pt] (\r,0) circle[radius=0.02]; - \draw[color=darkgreen,line width=1.4pt] (-\r,0) circle[radius=0.02]; -\end{scope} - -\begin{scope} - \clip (-1.1,-1.1) rectangle (1.1,0); - \draw[color=orange,line width=1.4pt] (181:\r) arc (181:359:\r); - \draw[color=orange,line width=1.4pt] (\r,0) circle[radius=0.02]; - \draw[color=orange,line width=1.4pt] (-\r,0) circle[radius=0.02]; -\end{scope} - -\begin{scope}[yshift=1.5cm] - \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$\mathbb{R}$}]; - \begin{scope} - \clip (-1,-0.1) rectangle (1,0.1); - \draw[color=darkgreen,line width=1.4pt] (-0.98,0) -- (0.98,0); - \draw[color=darkgreen,line width=1.4pt] (-1,0) - circle[radius=0.02]; - \draw[color=darkgreen,line width=1.4pt] (1,0) - circle[radius=0.02]; - \end{scope} -\end{scope} - -\begin{scope}[yshift=-1.5cm] - \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={below:$\mathbb{R}$}]; - \begin{scope} - \clip (-1,-0.1) rectangle (1,0.1); - \draw[color=orange,line width=1.4pt] (-0.98,0) -- (0.98,0); - \draw[color=orange,line width=1.4pt] (-1,0) circle[radius=0.02]; - \draw[color=orange,line width=1.4pt] (1,0) circle[radius=0.02]; - \end{scope} -\end{scope} - -\begin{scope}[xshift=1.5cm] - \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$\mathbb{R}$}]; - \begin{scope} - \clip (-0.1,-1) rectangle (0.1,1); - \draw[color=red,line width=1.4pt] (0,-0.98) -- (0,0.98); - \draw[color=red,line width=1.4pt] (0,-1) circle[radius=0.02]; - \draw[color=red,line width=1.4pt] (0,1) circle[radius=0.02]; - \end{scope} -\end{scope} - -\begin{scope}[xshift=-1.5cm] - \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={left:$\mathbb{R}$}]; - \begin{scope} - \clip (-0.1,-1) rectangle (0.1,1); - \draw[color=blue,line width=1.4pt] (0,-0.98) -- (0,0.98); - \draw[color=blue,line width=1.4pt] (0,-1) circle[radius=0.02]; - \draw[color=blue,line width=1.4pt] (0,1) circle[radius=0.02]; - \end{scope} -\end{scope} - -\node[color=red] at (23:1) [right] {$U_{x>0}$}; -\node[color=red] at (1.25,0) [right] {$\varphi_1$}; - -\node[color=blue] at (157:1) [left] {$U_{x<0}$}; -\node[color=blue] at (-1.25,0) [left] {$\varphi_2$}; - -\node[color=darkgreen] at (115:1) [below right] {$U_{y>0}$}; -\node[color=darkgreen] at (0,1.25) [above] {$\varphi_3$}; - -\node[color=orange] at (-115:1) [above right] {$U_{y<0}$}; -\node[color=orange] at (0,-1.25) [below] {$\varphi_4$}; - -\draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$x$}]; -\draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$y$}]; - -\end{tikzpicture} -\end{document} - +% +% kartenkreis.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{3} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\fill[color=red!20] (0,-1) rectangle (1.5,1); +\fill[color=blue!20] (-1.5,-1) rectangle (0,1); +\fill[color=darkgreen!40,opacity=0.5] (-1,0) rectangle (1,1.5); +\fill[color=orange!40,opacity=0.5] (-1,-1.5) rectangle (1,0); +\fill[color=white] (0,0) circle[radius=1]; + +\fill[color=gray!20] + (0,-1.5) -- (0.02,-1.6) -- (0.5,-1.8) -- (0.98,-1.6) -- (1,-1.5) + -- cycle; +\fill[color=gray!20] + (0,1.5) -- (0.02,1.6) -- (0.5,1.8) -- (0.98,1.6) -- (1,1.5) + -- cycle; +\fill[color=gray!20] + (0,-1.5) -- (-0.02,-1.6) -- (-0.5,-1.8) -- (-0.98,-1.6) -- (-1,-1.5) + -- cycle; +\fill[color=gray!20] + (0,1.5) -- (-0.02,1.6) -- (-0.5,1.8) -- (-0.98,1.6) -- (-1,1.5) + -- cycle; + +\fill[color=gray!20] + (1.5,0) -- (1.6,0.02) -- (1.8,0.5) -- (1.6,0.98) -- (1.5,1) + -- cycle; +\fill[color=gray!20] + (-1.5,0) -- (-1.6,0.02) -- (-1.8,0.5) -- (-1.6,0.98) -- (-1.5,1) + -- cycle; +\fill[color=gray!20] + (1.5,0) -- (1.6,-0.02) -- (1.8,-0.5) -- (1.6,-0.98) -- (1.5,-1) + -- cycle; +\fill[color=gray!20] + (-1.5,0) -- (-1.6,-0.02) -- (-1.8,-0.5) -- (-1.6,-0.98) -- (-1.5,-1) + -- cycle; + +\draw[->] (0.5,-1.8) arc (-180:-90:0.1) arc (-90:0:1.3) arc (0:90:0.1); +\draw[->] (1.8,0.5) arc (-90:0:0.1) arc (0:90:1.3) arc (90:180:0.1); +\draw[->] (-0.5,1.8) arc (0:90:0.1) arc (90:180:1.3) arc (180:270:0.1); +\draw[->] (-1.8,-0.5) arc (90:180:0.1) arc (180:270:1.3) arc (270:360:0.1); + +\node at (1.01,1.32) + [right] {$\varphi_3\circ \varphi_1^{-1}(y)=\sqrt{1-y^2}$}; +\node at (1.6,1.6) {$\varphi_{31}$}; + +\node at (1.01,-1.28) + [right] {$\varphi_1\circ \varphi_4^{-1}(x)=-\sqrt{1-x^2}$}; +\node at (1.6,-1.6) {$\varphi_{14}$}; + +\node at (-1.24,1.32) + [left] {$\varphi_2\circ\varphi_3^{-1}(x)=\sqrt{1-x^2}$}; +\node at (-1.6,1.6) {$\varphi_{23}$}; + +\node at (-1.18,-1.28) + [left] {$\varphi_4\circ\varphi_2^{-1}(y)=-\sqrt{1-y^2}$}; +\node at (-1.6,-1.6) {$\varphi_{42}$}; + + +\foreach \y in {0.1,0.3,...,0.9}{ + \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] + ({sqrt(1-\y*\y)},{\y}) -- (1.5,\y); + \draw[->,color=red,shorten >= 0.1cm,shorten <= 0.3cm] + ({sqrt(1-\y*\y)},{-\y}) -- (1.5,-\y); + \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] + ({-sqrt(1-\y*\y)},{\y}) -- (-1.5,\y); + \draw[->,color=blue,shorten >= 0.1cm,shorten <= 0.3cm] + ({-sqrt(1-\y*\y)},{-\y}) -- (-1.5,-\y); +} +\foreach \x in {0.1,0.3,...,0.9}{ + \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] + ({\x},{sqrt(1-\x*\x)}) -- ({\x},1.5); + \draw[->,color=darkgreen,shorten >= 0.1cm,shorten <= 0.3cm] + ({-\x},{sqrt(1-\x*\x)}) -- ({-\x},1.5); + \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] + ({\x},{-sqrt(1-\x*\x)}) -- ({\x},-1.5); + \draw[->,color=orange,shorten >= 0.1cm,shorten <= 0.3cm] + ({-\x},{-sqrt(1-\x*\x)}) -- ({-\x},-1.5); +} + +%\draw[color=gray!50,line width=3pt] (0,0) circle[radius=1]; +\draw[color=yellow!30,line width=3pt] (0,0) circle[radius=1]; +\node[color=yellow] at ({1/sqrt(2)},{1/sqrt(2)}) [above right] {$S^1$}; + +\def\r{1.02} + +\begin{scope} + \clip (0,-1.1) rectangle (1.1,1.1); + \draw[color=red,line width=1.4pt] (-89:\r) arc (-89:89:\r); + \draw[color=red,line width=1.4pt] (0,-\r) circle[radius=0.02]; + \draw[color=red,line width=1.4pt] (0,\r) circle[radius=0.02]; +\end{scope} + +\begin{scope} + \clip (-1.1,-1.1) rectangle (0,1.1); + \draw[color=blue,line width=1.4pt] (91:\r) arc (91:269:\r); + \draw[color=blue,line width=1.4pt] (0,-\r) circle[radius=0.02]; + \draw[color=blue,line width=1.4pt] (0,\r) circle[radius=0.02]; +\end{scope} + +\xdef\r{0.98} + +\begin{scope} + \clip (-1.1,0) rectangle (1.1,1.1); + \draw[color=darkgreen,line width=1.4pt] (1:\r) arc (1:179:\r); + \draw[color=darkgreen,line width=1.4pt] (\r,0) circle[radius=0.02]; + \draw[color=darkgreen,line width=1.4pt] (-\r,0) circle[radius=0.02]; +\end{scope} + +\begin{scope} + \clip (-1.1,-1.1) rectangle (1.1,0); + \draw[color=orange,line width=1.4pt] (181:\r) arc (181:359:\r); + \draw[color=orange,line width=1.4pt] (\r,0) circle[radius=0.02]; + \draw[color=orange,line width=1.4pt] (-\r,0) circle[radius=0.02]; +\end{scope} + +\begin{scope}[yshift=1.5cm] + \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$\mathbb{R}$}]; + \begin{scope} + \clip (-1,-0.1) rectangle (1,0.1); + \draw[color=darkgreen,line width=1.4pt] (-0.98,0) -- (0.98,0); + \draw[color=darkgreen,line width=1.4pt] (-1,0) + circle[radius=0.02]; + \draw[color=darkgreen,line width=1.4pt] (1,0) + circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[yshift=-1.5cm] + \draw[->] (-1.1,0) -- (1.15,0) coordinate[label={below:$\mathbb{R}$}]; + \begin{scope} + \clip (-1,-0.1) rectangle (1,0.1); + \draw[color=orange,line width=1.4pt] (-0.98,0) -- (0.98,0); + \draw[color=orange,line width=1.4pt] (-1,0) circle[radius=0.02]; + \draw[color=orange,line width=1.4pt] (1,0) circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[xshift=1.5cm] + \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$\mathbb{R}$}]; + \begin{scope} + \clip (-0.1,-1) rectangle (0.1,1); + \draw[color=red,line width=1.4pt] (0,-0.98) -- (0,0.98); + \draw[color=red,line width=1.4pt] (0,-1) circle[radius=0.02]; + \draw[color=red,line width=1.4pt] (0,1) circle[radius=0.02]; + \end{scope} +\end{scope} + +\begin{scope}[xshift=-1.5cm] + \draw[->] (0,-1.1) -- (0,1.15) coordinate[label={left:$\mathbb{R}$}]; + \begin{scope} + \clip (-0.1,-1) rectangle (0.1,1); + \draw[color=blue,line width=1.4pt] (0,-0.98) -- (0,0.98); + \draw[color=blue,line width=1.4pt] (0,-1) circle[radius=0.02]; + \draw[color=blue,line width=1.4pt] (0,1) circle[radius=0.02]; + \end{scope} +\end{scope} + +\node[color=red] at (23:1) [right] {$U_{x>0}$}; +\node[color=red] at (1.25,0) [right] {$\varphi_1$}; + +\node[color=blue] at (157:1) [left] {$U_{x<0}$}; +\node[color=blue] at (-1.25,0) [left] {$\varphi_2$}; + +\node[color=darkgreen] at (115:1) [below right] {$U_{y>0}$}; +\node[color=darkgreen] at (0,1.25) [above] {$\varphi_3$}; + +\node[color=orange] at (-115:1) [above right] {$U_{y<0}$}; +\node[color=orange] at (0,-1.25) [below] {$\varphi_4$}; + +\draw[->] (-1.1,0) -- (1.15,0) coordinate[label={$x$}]; +\draw[->] (0,-1.1) -- (0,1.15) coordinate[label={right:$y$}]; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/phasenraum.tex b/buch/chapters/60-gruppen/images/phasenraum.tex index 2bccc27..2305b26 100644 --- a/buch/chapters/60-gruppen/images/phasenraum.tex +++ b/buch/chapters/60-gruppen/images/phasenraum.tex @@ -1,93 +1,93 @@ -% -% phasenraum.tex -- -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\def\m{1} -\def\K{0.444} - -\pgfmathparse{sqrt(\K/\m)} -\xdef\o{\pgfmathresult} - -\def\punkt#1#2{ ({#2*cos(#1)},{\o*#2*sin(#1)}) } - -\foreach \r in {0.5,1,...,6}{ - \draw plot[domain=0:359,samples=360] - ({\r*cos(\x)},{\o*\r*sin(\x)}) -- cycle; -} - -\def\tangente#1#2{ - \pgfmathparse{#2/\m} - \xdef\u{\pgfmathresult} - - \pgfmathparse{-#1*\K} - \xdef\v{\pgfmathresult} - - \pgfmathparse{sqrt(\u*\u+\v*\v)} - \xdef\l{\pgfmathresult} - - \fill[color=blue] (#1,#2) circle[radius=0.03]; - \draw[color=blue,line width=0.5pt] - ({#1-0.2*\u/\l},{#2-0.2*\v/\l}) - -- - ({#1+0.2*\u/\l},{#2+0.2*\v/\l}); -} - -\foreach \x in {-6.25,-5.75,...,6.3}{ - \foreach \y in {-4.25,-3.75,...,4.3}{ - \tangente{\x}{\y} - } -} - -%\foreach \x in {0.5,1,...,5.5,6}{ -% \tangente{\x}{0} -% \tangente{-\x}{0} -% \foreach \y in {0.5,1,...,4}{ -% \tangente{\x}{\y} -% \tangente{-\x}{\y} -% \tangente{\x}{-\y} -% \tangente{-\x}{-\y} -% } -%} -%\foreach \y in {0.5,1,...,4}{ -% \tangente{0}{\y} -% \tangente{0}{-\y} -%} - -\fill[color=white,opacity=0.7] \punkt{60}{4} rectangle \punkt{59}{5.8}; -\fill[color=white,opacity=0.7] \punkt{0}{4} rectangle \punkt{18}{4.9}; - -\draw[->,color=red,line width=1.4pt] - plot[domain=0:60,samples=360] - ({4*cos(\x)},{\o*4*sin(\x)}); - -\draw[->] (-6.5,0) -- (6.7,0) coordinate[label={$x$}]; -\draw[->] (0,-4.5) -- (0,4.7) coordinate[label={right:$p$}]; - -\fill[color=red] \punkt{60}{4} circle[radius=0.08]; -\node[color=red] at \punkt{60}{4} [above right] - {$\begin{pmatrix}x(t)\\p(t)\end{pmatrix}$}; - -\fill[color=red] \punkt{0}{4} circle[radius=0.08]; -\node[color=red] at \punkt{0}{4} [above right] - {$\begin{pmatrix}x_0\\0\end{pmatrix}$}; - -\fill[color=white] (4,0) circle[radius=0.05]; -\node at (3.9,0) [below right] {$x_0$}; -\fill (0,{\o*4}) circle[radius=0.05]; -\node at (0.1,{\o*4+0.05}) [below left] {$\omega x_0$}; - -\end{tikzpicture} -\end{document} - +% +% phasenraum.tex -- +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\m{1} +\def\K{0.444} + +\pgfmathparse{sqrt(\K/\m)} +\xdef\o{\pgfmathresult} + +\def\punkt#1#2{ ({#2*cos(#1)},{\o*#2*sin(#1)}) } + +\foreach \r in {0.5,1,...,6}{ + \draw plot[domain=0:359,samples=360] + ({\r*cos(\x)},{\o*\r*sin(\x)}) -- cycle; +} + +\def\tangente#1#2{ + \pgfmathparse{#2/\m} + \xdef\u{\pgfmathresult} + + \pgfmathparse{-#1*\K} + \xdef\v{\pgfmathresult} + + \pgfmathparse{sqrt(\u*\u+\v*\v)} + \xdef\l{\pgfmathresult} + + \fill[color=blue] (#1,#2) circle[radius=0.03]; + \draw[color=blue,line width=0.5pt] + ({#1-0.2*\u/\l},{#2-0.2*\v/\l}) + -- + ({#1+0.2*\u/\l},{#2+0.2*\v/\l}); +} + +\foreach \x in {-6.25,-5.75,...,6.3}{ + \foreach \y in {-4.25,-3.75,...,4.3}{ + \tangente{\x}{\y} + } +} + +%\foreach \x in {0.5,1,...,5.5,6}{ +% \tangente{\x}{0} +% \tangente{-\x}{0} +% \foreach \y in {0.5,1,...,4}{ +% \tangente{\x}{\y} +% \tangente{-\x}{\y} +% \tangente{\x}{-\y} +% \tangente{-\x}{-\y} +% } +%} +%\foreach \y in {0.5,1,...,4}{ +% \tangente{0}{\y} +% \tangente{0}{-\y} +%} + +\fill[color=white,opacity=0.7] \punkt{60}{4} rectangle \punkt{59}{5.8}; +\fill[color=white,opacity=0.7] \punkt{0}{4} rectangle \punkt{18}{4.9}; + +\draw[->,color=red,line width=1.4pt] + plot[domain=0:60,samples=360] + ({4*cos(\x)},{\o*4*sin(\x)}); + +\draw[->] (-6.5,0) -- (6.7,0) coordinate[label={$x$}]; +\draw[->] (0,-4.5) -- (0,4.7) coordinate[label={right:$p$}]; + +\fill[color=red] \punkt{60}{4} circle[radius=0.08]; +\node[color=red] at \punkt{60}{4} [above right] + {$\begin{pmatrix}x(t)\\p(t)\end{pmatrix}$}; + +\fill[color=red] \punkt{0}{4} circle[radius=0.08]; +\node[color=red] at \punkt{0}{4} [above right] + {$\begin{pmatrix}x_0\\0\end{pmatrix}$}; + +\fill[color=white] (4,0) circle[radius=0.05]; +\node at (3.9,0) [below right] {$x_0$}; +\fill (0,{\o*4}) circle[radius=0.05]; +\node at (0.1,{\o*4+0.05}) [below left] {$\omega x_0$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/scherungen.tex b/buch/chapters/60-gruppen/images/scherungen.tex index 893bd12..f6df172 100644 --- a/buch/chapters/60-gruppen/images/scherungen.tex +++ b/buch/chapters/60-gruppen/images/scherungen.tex @@ -1,157 +1,157 @@ -% -% scherungen.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{blau}{rgb}{0,0.8,1} -\definecolor{blau}{rgb}{0,0.6,0} -\def\s{1.1} - -\begin{scope}[xshift=-4.6cm] - - \fill[color=blue!20] (0,0) rectangle (2,2); - \fill[color=red!40,opacity=0.5] (0,0) -- (2,\s) -- (2,{2+\s}) -- (0,2) - -- cycle; - - \foreach \x in {-1,...,3}{ - \draw[color=blau] (\x,-1) -- (\x,3); - \draw[color=blau] (-1,\x) -- (3,\x); - } - - \begin{scope} - \clip (-1,-1) rectangle (3,3); - \foreach \x in {-1,...,3}{ - \draw[color=orange] (\x,-1) -- (\x,3); - \draw[color=orange] (-1,{\x-0.5*\s}) -- (3,{\x+1.5*\s}); - } - \end{scope} - - \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; - - \node[color=blue] at (0,2) [above left] {$1$}; - \node[color=blue] at (2,0) [below right] {$1$}; - \draw[->,color=blue] (0,0) -- (2,0); - \draw[->,color=blue] (0,0) -- (0,2); - - \draw[->,color=red] (0,0) -- (2,\s); - \draw[->,color=red] (0,0) -- (0,2); - - \node[color=red] at (2,\s) [below right] {$(1,t)$}; - - \node at (0,0) [below right] {$O$}; - \node at (1,-1.1) [below] {$\displaystyle - \begin{aligned} - M &= \begin{pmatrix}0&0\\1&0 \end{pmatrix} - \\ - e^{Mt} - &= - \begin{pmatrix}1&0\\t&1 \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\begin{scope} - \fill[color=blue!20] (0,0) rectangle (2,2); - \fill[color=red!40,opacity=0.5] (0,0) -- (2,0) -- ({2+\s},2) -- (\s,2) - -- cycle; - - \foreach \x in {-1,...,3}{ - \draw[color=blau] (\x,-1) -- (\x,3); - \draw[color=blau] (-1,\x) -- (3,\x); - } - - \begin{scope} - \clip (-1,-1) rectangle (3,3); - \foreach \x in {-1,...,3}{ - \draw[color=orange] (-1,\x) -- (3,\x); - \draw[color=orange] ({\x-0.5*\s},-1) -- ({\x+1.5*\s},3); - } - \end{scope} - - \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; - - \node[color=blue] at (0,2) [above left] {$1$}; - \node[color=blue] at (2,0) [below right] {$1$}; - \draw[->,color=blue] (0,0) -- (2,0); - \draw[->,color=blue] (0,0) -- (0,2); - - \draw[->,color=red] (0,0) -- (2,0); - \draw[->,color=red] (0,0) -- (\s,2); - - \node[color=red] at (\s,2) [above left] {$(t,1)$}; - - \node at (0,0) [below right] {$O$}; - - \node at (1,-1.1) [below] {$\displaystyle - \begin{aligned} N &= \begin{pmatrix}0&1\\0&0 \end{pmatrix} - \\ - e^{Nt} - &= - \begin{pmatrix}1&t\\0&1 \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\begin{scope}[xshift=3.6cm,yshift=0cm] - \def\punkt#1#2{({1.6005*(#1)+0.4114*(#2)},{-0.2057*(#1)+0.5719*(#2)})} - \fill[color=blue!20] (0,0) rectangle (2,2); - \fill[color=red!40,opacity=0.5] - (0,0) -- \punkt{2}{0} -- \punkt{2}{2} -- \punkt{0}{2} -- cycle; - - \foreach \x in {0,...,4}{ - \draw[color=blau] (\x,-1) -- (\x,3); - } - \foreach \y in {-1,...,3}{ - \draw[color=blau] (0,\y) -- (4,\y); - } - - \begin{scope} - \clip (-0,-1) rectangle (4,3); - \foreach \x in {-1,...,6}{ - \draw[color=orange] \punkt{\x}{-3} -- \punkt{\x}{6}; - \draw[color=orange] \punkt{-3}{\x} -- \punkt{6}{\x}; - } - \end{scope} - - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; - - \node[color=blue] at (0,2) [above left] {$1$}; - \node[color=blue] at (2,0) [below right] {$1$}; - \draw[->,color=blue] (0,0) -- (2,0); - \draw[->,color=blue] (0,0) -- (0,2); - - \draw[->,color=red] (0,0) -- \punkt{2}{0}; - \draw[->,color=red] (0,0) -- \punkt{0}{2}; - - \node at (0,0) [below right] {$O$}; - - \node at (2,-1.1) [below] {$\displaystyle - \begin{aligned} D &= \begin{pmatrix}0.5&0.4\\-0.2&-0.5 \end{pmatrix} - \\ - e^{D\cdot 1} - &= - \begin{pmatrix} - 1.6005 & 0.4114\\ - -0.2057 & 0.5719 - \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% scherungen.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{blau}{rgb}{0,0.8,1} +\definecolor{blau}{rgb}{0,0.6,0} +\def\s{1.1} + +\begin{scope}[xshift=-4.6cm] + + \fill[color=blue!20] (0,0) rectangle (2,2); + \fill[color=red!40,opacity=0.5] (0,0) -- (2,\s) -- (2,{2+\s}) -- (0,2) + -- cycle; + + \foreach \x in {-1,...,3}{ + \draw[color=blau] (\x,-1) -- (\x,3); + \draw[color=blau] (-1,\x) -- (3,\x); + } + + \begin{scope} + \clip (-1,-1) rectangle (3,3); + \foreach \x in {-1,...,3}{ + \draw[color=orange] (\x,-1) -- (\x,3); + \draw[color=orange] (-1,{\x-0.5*\s}) -- (3,{\x+1.5*\s}); + } + \end{scope} + + \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; + + \node[color=blue] at (0,2) [above left] {$1$}; + \node[color=blue] at (2,0) [below right] {$1$}; + \draw[->,color=blue] (0,0) -- (2,0); + \draw[->,color=blue] (0,0) -- (0,2); + + \draw[->,color=red] (0,0) -- (2,\s); + \draw[->,color=red] (0,0) -- (0,2); + + \node[color=red] at (2,\s) [below right] {$(1,t)$}; + + \node at (0,0) [below right] {$O$}; + \node at (1,-1.1) [below] {$\displaystyle + \begin{aligned} + M &= \begin{pmatrix}0&0\\1&0 \end{pmatrix} + \\ + e^{Mt} + &= + \begin{pmatrix}1&0\\t&1 \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\begin{scope} + \fill[color=blue!20] (0,0) rectangle (2,2); + \fill[color=red!40,opacity=0.5] (0,0) -- (2,0) -- ({2+\s},2) -- (\s,2) + -- cycle; + + \foreach \x in {-1,...,3}{ + \draw[color=blau] (\x,-1) -- (\x,3); + \draw[color=blau] (-1,\x) -- (3,\x); + } + + \begin{scope} + \clip (-1,-1) rectangle (3,3); + \foreach \x in {-1,...,3}{ + \draw[color=orange] (-1,\x) -- (3,\x); + \draw[color=orange] ({\x-0.5*\s},-1) -- ({\x+1.5*\s},3); + } + \end{scope} + + \draw[->] (-1.1,0) -- (3.3,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; + + \node[color=blue] at (0,2) [above left] {$1$}; + \node[color=blue] at (2,0) [below right] {$1$}; + \draw[->,color=blue] (0,0) -- (2,0); + \draw[->,color=blue] (0,0) -- (0,2); + + \draw[->,color=red] (0,0) -- (2,0); + \draw[->,color=red] (0,0) -- (\s,2); + + \node[color=red] at (\s,2) [above left] {$(t,1)$}; + + \node at (0,0) [below right] {$O$}; + + \node at (1,-1.1) [below] {$\displaystyle + \begin{aligned} N &= \begin{pmatrix}0&1\\0&0 \end{pmatrix} + \\ + e^{Nt} + &= + \begin{pmatrix}1&t\\0&1 \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\begin{scope}[xshift=3.6cm,yshift=0cm] + \def\punkt#1#2{({1.6005*(#1)+0.4114*(#2)},{-0.2057*(#1)+0.5719*(#2)})} + \fill[color=blue!20] (0,0) rectangle (2,2); + \fill[color=red!40,opacity=0.5] + (0,0) -- \punkt{2}{0} -- \punkt{2}{2} -- \punkt{0}{2} -- cycle; + + \foreach \x in {0,...,4}{ + \draw[color=blau] (\x,-1) -- (\x,3); + } + \foreach \y in {-1,...,3}{ + \draw[color=blau] (0,\y) -- (4,\y); + } + + \begin{scope} + \clip (-0,-1) rectangle (4,3); + \foreach \x in {-1,...,6}{ + \draw[color=orange] \punkt{\x}{-3} -- \punkt{\x}{6}; + \draw[color=orange] \punkt{-3}{\x} -- \punkt{6}{\x}; + } + \end{scope} + + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-1.1) -- (0,3.5) coordinate[label={right:$y$}]; + + \node[color=blue] at (0,2) [above left] {$1$}; + \node[color=blue] at (2,0) [below right] {$1$}; + \draw[->,color=blue] (0,0) -- (2,0); + \draw[->,color=blue] (0,0) -- (0,2); + + \draw[->,color=red] (0,0) -- \punkt{2}{0}; + \draw[->,color=red] (0,0) -- \punkt{0}{2}; + + \node at (0,0) [below right] {$O$}; + + \node at (2,-1.1) [below] {$\displaystyle + \begin{aligned} D &= \begin{pmatrix}0.5&0.4\\-0.2&-0.5 \end{pmatrix} + \\ + e^{D\cdot 1} + &= + \begin{pmatrix} + 1.6005 & 0.4114\\ + -0.2057 & 0.5719 + \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/sl2.tex b/buch/chapters/60-gruppen/images/sl2.tex index 0e44aa9..c41308c 100644 --- a/buch/chapters/60-gruppen/images/sl2.tex +++ b/buch/chapters/60-gruppen/images/sl2.tex @@ -1,146 +1,146 @@ -% -% sl2.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\begin{scope}[xshift=-4.5cm] - \fill[color=blue!20] - (1.4,0) -- (0,1.4) -- (-1.4,0) -- (0,-1.4) -- cycle; - \fill[color=red!40,opacity=0.5] - (1.96,0) -- (0,1) -- (-1.96,0) -- (0,-1) -- cycle; - - \begin{scope} - \clip (-2.1,-2.1) rectangle (2.3,2.3); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({-(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] - ({-(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); - \end{scope} - - \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \draw[->,color=blue] (0,0) -- (1.4,0); - \draw[->,color=blue] (0,0) -- (0,1.4); - - \draw[->,color=red] (0,0) -- (1.96,0); - \draw[->,color=red] (0,0) -- (0,1); - \node at (0,-3.2) - {$\displaystyle - \begin{aligned} - A&=\begin{pmatrix}1&0\\0&-1\end{pmatrix} - \\ - e^{At} - &=\begin{pmatrix}e^t&0\\0&e^{-t}\end{pmatrix} - \end{aligned} - $}; - -\end{scope} - - -\begin{scope} - \fill[color=blue!20] - (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; - \fill[color=red!40,opacity=0.5] - (33:1.4) -- (123:1.4) -- (213:1.4) -- (303:1.4) -- cycle; - - \draw[color=darkgreen] (0,0) circle[radius=1.4]; - - \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \draw[->,color=blue] (0,0) -- (1.4,0); - \draw[->,color=blue] (0,0) -- (0,1.4); - - \draw[->,color=red] (0,0) -- (33:1.4); - \draw[->,color=red] (0,0) -- (123:1.4); - - \node at (0,-3.2) - {$\displaystyle - \begin{aligned} - B - &=\begin{pmatrix}0&-1\\1&0 \end{pmatrix} - \\ - e^{Bt} - &= - \begin{pmatrix} - \cos t&-\sin t\\ - \sin t& \cos t - \end{pmatrix} - \end{aligned}$}; -\end{scope} - - -\begin{scope}[xshift=4.5cm] - \fill[color=blue!20] - (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; - \def\x{0.5} - \fill[color=red!40,opacity=0.5] - ({1.4*cosh(\x)},{1.4*sinh(\x}) - -- - ({1.4*sinh(\x},{1.4*cosh(\x)}) - -- - ({-1.4*cosh(\x)},{-1.4*sinh(\x}) - -- - ({-1.4*sinh(\x},{-1.4*cosh(\x)}) - -- cycle; - - \begin{scope} - \clip (-2.1,-2.1) rectangle (2.2,2.2); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({1.4*cosh(\x)},{1.4*sinh(\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{1.4*cosh(\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({-1.4*cosh(\x)},{1.4*sinh(\x)}); - \draw[color=darkgreen] - plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{-1.4*cosh(\x)}); - \end{scope} - - \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \draw[->,color=blue] (0,0) -- (1.4,0); - \draw[->,color=blue] (0,0) -- (0,1.4); - - \draw[->,color=red] (0,0) -- ({1.4*cosh(\x)},{1.4*sinh(\x)}); - \draw[->,color=red] (0,0) -- ({1.4*sinh(\x)},{1.4*cosh(\x)}); - - \node at (0,-3.2) {$\displaystyle - \begin{aligned} - C&=\begin{pmatrix}0&1\\1&0\end{pmatrix} - \\ - e^{Ct} - &= - \begin{pmatrix} - \cosh t&\sinh t\\ - \sinh t&\cosh t - \end{pmatrix} - \end{aligned} - $}; -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% sl2.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\begin{scope}[xshift=-4.5cm] + \fill[color=blue!20] + (1.4,0) -- (0,1.4) -- (-1.4,0) -- (0,-1.4) -- cycle; + \fill[color=red!40,opacity=0.5] + (1.96,0) -- (0,1) -- (-1.96,0) -- (0,-1) -- cycle; + + \begin{scope} + \clip (-2.1,-2.1) rectangle (2.3,2.3); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({-(1/1.4)*exp(\x)},{(1/1.4)*exp(-\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] + ({-(1/1.4)*exp(\x)},{-(1/1.4)*exp(-\x)}); + \end{scope} + + \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \draw[->,color=blue] (0,0) -- (1.4,0); + \draw[->,color=blue] (0,0) -- (0,1.4); + + \draw[->,color=red] (0,0) -- (1.96,0); + \draw[->,color=red] (0,0) -- (0,1); + \node at (0,-3.2) + {$\displaystyle + \begin{aligned} + A&=\begin{pmatrix}1&0\\0&-1\end{pmatrix} + \\ + e^{At} + &=\begin{pmatrix}e^t&0\\0&e^{-t}\end{pmatrix} + \end{aligned} + $}; + +\end{scope} + + +\begin{scope} + \fill[color=blue!20] + (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; + \fill[color=red!40,opacity=0.5] + (33:1.4) -- (123:1.4) -- (213:1.4) -- (303:1.4) -- cycle; + + \draw[color=darkgreen] (0,0) circle[radius=1.4]; + + \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \draw[->,color=blue] (0,0) -- (1.4,0); + \draw[->,color=blue] (0,0) -- (0,1.4); + + \draw[->,color=red] (0,0) -- (33:1.4); + \draw[->,color=red] (0,0) -- (123:1.4); + + \node at (0,-3.2) + {$\displaystyle + \begin{aligned} + B + &=\begin{pmatrix}0&-1\\1&0 \end{pmatrix} + \\ + e^{Bt} + &= + \begin{pmatrix} + \cos t&-\sin t\\ + \sin t& \cos t + \end{pmatrix} + \end{aligned}$}; +\end{scope} + + +\begin{scope}[xshift=4.5cm] + \fill[color=blue!20] + (0:1.4) -- (90:1.4) -- (180:1.4) -- (270:1.4) -- cycle; + \def\x{0.5} + \fill[color=red!40,opacity=0.5] + ({1.4*cosh(\x)},{1.4*sinh(\x}) + -- + ({1.4*sinh(\x},{1.4*cosh(\x)}) + -- + ({-1.4*cosh(\x)},{-1.4*sinh(\x}) + -- + ({-1.4*sinh(\x},{-1.4*cosh(\x)}) + -- cycle; + + \begin{scope} + \clip (-2.1,-2.1) rectangle (2.2,2.2); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({1.4*cosh(\x)},{1.4*sinh(\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{1.4*cosh(\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({-1.4*cosh(\x)},{1.4*sinh(\x)}); + \draw[color=darkgreen] + plot[domain=-1:1,samples=100] ({1.4*sinh(\x)},{-1.4*cosh(\x)}); + \end{scope} + + \draw[->] (-2.1,0) -- (2.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \draw[->,color=blue] (0,0) -- (1.4,0); + \draw[->,color=blue] (0,0) -- (0,1.4); + + \draw[->,color=red] (0,0) -- ({1.4*cosh(\x)},{1.4*sinh(\x)}); + \draw[->,color=red] (0,0) -- ({1.4*sinh(\x)},{1.4*cosh(\x)}); + + \node at (0,-3.2) {$\displaystyle + \begin{aligned} + C&=\begin{pmatrix}0&1\\1&0\end{pmatrix} + \\ + e^{Ct} + &= + \begin{pmatrix} + \cosh t&\sinh t\\ + \sinh t&\cosh t + \end{pmatrix} + \end{aligned} + $}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/60-gruppen/images/torus.pov b/buch/chapters/60-gruppen/images/torus.pov index 3a8e327..ee09c36 100644 --- a/buch/chapters/60-gruppen/images/torus.pov +++ b/buch/chapters/60-gruppen/images/torus.pov @@ -1,189 +1,189 @@ -// -// diffusion.pov -// -// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule -// -#version 3.7; -#include "colors.inc" - -global_settings { - assumed_gamma 1 -} - -#declare imagescale = 0.034; -#declare N = 100; -#declare r = 0.43; -#declare R = 1; - -camera { - location <43, 25, -20> - look_at <0, -0.01, 0> - right 16/9 * x * imagescale - up y * imagescale -} - -light_source { - <10, 20, -40> color White - area_light <1,0,0> <0,0,1>, 10, 10 - adaptive 1 - jitter -} - -sky_sphere { - pigment { - color rgb<1,1,1> - } -} - -#macro rotiere(phi, vv) - < cos(phi) * vv.x - sin(phi) * vv.z, vv.y, sin(phi) * vv.x + cos(phi) * vv.z > -#end - -#macro punkt(phi,theta) - rotiere(phi, < R + r * cos(theta), r * sin(theta), 0 >) -#end - -mesh { - #declare phistep = 2 * pi / N; - #declare thetastep = 2 * 2 * pi / N; - #declare phi = 0; - #while (phi < 2 * pi - phistep/2) - #declare theta = 0; - #while (theta < 2 * pi - thetastep/2) - triangle { - punkt(phi , theta ), - punkt(phi + phistep, theta ), - punkt(phi + phistep, theta + thetastep) - } - triangle { - punkt(phi , theta ), - punkt(phi + phistep, theta + thetastep), - punkt(phi , theta + thetastep) - } - #declare theta = theta + thetastep; - #end - #declare phi = phi + phistep; - #end - pigment { - color Gray - } - finish { - specular 0.9 - metallic - } -} - -#declare thetastart = -0.2; -#declare thetaend = 1.2; -#declare phistart = 5; -#declare phiend = 6; - -union { - #declare thetastep = 0.2; - #declare theta = thetastart; - #while (theta < thetaend + thetastep/2) - #declare phistep = (phiend-phistart)/N; - #declare phi = phistart; - #while (phi < phiend - phistep/2) - sphere { punkt(phi,theta), 0.01 } - cylinder { - punkt(phi,theta), - punkt(phi+phistep,theta), - 0.01 - } - #declare phi = phi + phistep; - #end - sphere { punkt(phi,theta), 0.01 } - #declare theta = theta + thetastep; - #end - - pigment { - color Red - } - finish { - specular 0.9 - metallic - } -} - -union { - #declare phistep = 0.2; - #declare phi = phistart; - #while (phi < phiend + phistep/2) - #declare thetastep = (thetaend-thetastart)/N; - #declare theta = thetastart; - #while (theta < thetaend - thetastep/2) - sphere { punkt(phi,theta), 0.01 } - cylinder { - punkt(phi,theta), - punkt(phi,theta+thetastep), - 0.01 - } - #declare theta = theta + thetastep; - #end - sphere { punkt(phi,theta), 0.01 } - #declare phi = phi + phistep; - #end - pigment { - color Blue - } - finish { - specular 0.9 - metallic - } -} - -#macro punkt2(a,b) - punkt(5.6+a*sqrt(3)/2-b/2,0.2+a/2 + b*sqrt(3)/2) -#end - -#declare darkgreen = rgb<0,0.6,0>; - -#declare astart = 0; -#declare aend = 1; -#declare bstart = -0.2; -#declare bend = 1.2; -union { - #declare a = astart; - #declare astep = 0.2; - #while (a < aend + astep/2) - #declare b = bstart; - #declare bstep = (bend - bstart)/N; - #while (b < bend - bstep/2) - sphere { punkt2(a,b), 0.01 } - cylinder { punkt2(a,b), punkt2(a,b+bstep), 0.01 } - #declare b = b + bstep; - #end - sphere { punkt2(a,b), 0.01 } - #declare a = a + astep; - #end - pigment { - color darkgreen - } - finish { - specular 0.9 - metallic - } -} -union { - #declare b = bstart; - #declare bstep = 0.2; - #while (b < bend + bstep/2) - #declare a = astart; - #declare astep = (aend - astart)/N; - #while (a < aend - astep/2) - sphere { punkt2(a,b), 0.01 } - cylinder { punkt2(a,b), punkt2(a+astep,b), 0.01 } - #declare a = a + astep; - #end - sphere { punkt2(a,b), 0.01 } - #declare b = b + bstep; - #end - pigment { - color Orange - } - finish { - specular 0.9 - metallic - } -} +// +// diffusion.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule +// +#version 3.7; +#include "colors.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.034; +#declare N = 100; +#declare r = 0.43; +#declare R = 1; + +camera { + location <43, 25, -20> + look_at <0, -0.01, 0> + right 16/9 * x * imagescale + up y * imagescale +} + +light_source { + <10, 20, -40> color White + area_light <1,0,0> <0,0,1>, 10, 10 + adaptive 1 + jitter +} + +sky_sphere { + pigment { + color rgb<1,1,1> + } +} + +#macro rotiere(phi, vv) + < cos(phi) * vv.x - sin(phi) * vv.z, vv.y, sin(phi) * vv.x + cos(phi) * vv.z > +#end + +#macro punkt(phi,theta) + rotiere(phi, < R + r * cos(theta), r * sin(theta), 0 >) +#end + +mesh { + #declare phistep = 2 * pi / N; + #declare thetastep = 2 * 2 * pi / N; + #declare phi = 0; + #while (phi < 2 * pi - phistep/2) + #declare theta = 0; + #while (theta < 2 * pi - thetastep/2) + triangle { + punkt(phi , theta ), + punkt(phi + phistep, theta ), + punkt(phi + phistep, theta + thetastep) + } + triangle { + punkt(phi , theta ), + punkt(phi + phistep, theta + thetastep), + punkt(phi , theta + thetastep) + } + #declare theta = theta + thetastep; + #end + #declare phi = phi + phistep; + #end + pigment { + color Gray + } + finish { + specular 0.9 + metallic + } +} + +#declare thetastart = -0.2; +#declare thetaend = 1.2; +#declare phistart = 5; +#declare phiend = 6; + +union { + #declare thetastep = 0.2; + #declare theta = thetastart; + #while (theta < thetaend + thetastep/2) + #declare phistep = (phiend-phistart)/N; + #declare phi = phistart; + #while (phi < phiend - phistep/2) + sphere { punkt(phi,theta), 0.01 } + cylinder { + punkt(phi,theta), + punkt(phi+phistep,theta), + 0.01 + } + #declare phi = phi + phistep; + #end + sphere { punkt(phi,theta), 0.01 } + #declare theta = theta + thetastep; + #end + + pigment { + color Red + } + finish { + specular 0.9 + metallic + } +} + +union { + #declare phistep = 0.2; + #declare phi = phistart; + #while (phi < phiend + phistep/2) + #declare thetastep = (thetaend-thetastart)/N; + #declare theta = thetastart; + #while (theta < thetaend - thetastep/2) + sphere { punkt(phi,theta), 0.01 } + cylinder { + punkt(phi,theta), + punkt(phi,theta+thetastep), + 0.01 + } + #declare theta = theta + thetastep; + #end + sphere { punkt(phi,theta), 0.01 } + #declare phi = phi + phistep; + #end + pigment { + color Blue + } + finish { + specular 0.9 + metallic + } +} + +#macro punkt2(a,b) + punkt(5.6+a*sqrt(3)/2-b/2,0.2+a/2 + b*sqrt(3)/2) +#end + +#declare darkgreen = rgb<0,0.6,0>; + +#declare astart = 0; +#declare aend = 1; +#declare bstart = -0.2; +#declare bend = 1.2; +union { + #declare a = astart; + #declare astep = 0.2; + #while (a < aend + astep/2) + #declare b = bstart; + #declare bstep = (bend - bstart)/N; + #while (b < bend - bstep/2) + sphere { punkt2(a,b), 0.01 } + cylinder { punkt2(a,b), punkt2(a,b+bstep), 0.01 } + #declare b = b + bstep; + #end + sphere { punkt2(a,b), 0.01 } + #declare a = a + astep; + #end + pigment { + color darkgreen + } + finish { + specular 0.9 + metallic + } +} +union { + #declare b = bstart; + #declare bstep = 0.2; + #while (b < bend + bstep/2) + #declare a = astart; + #declare astep = (aend - astart)/N; + #while (a < aend - astep/2) + sphere { punkt2(a,b), 0.01 } + cylinder { punkt2(a,b), punkt2(a+astep,b), 0.01 } + #declare a = a + astep; + #end + sphere { punkt2(a,b), 0.01 } + #declare b = b + bstep; + #end + pigment { + color Orange + } + finish { + specular 0.9 + metallic + } +} diff --git a/buch/chapters/60-gruppen/lie-algebren.tex b/buch/chapters/60-gruppen/lie-algebren.tex index cee8510..482ba6f 100644 --- a/buch/chapters/60-gruppen/lie-algebren.tex +++ b/buch/chapters/60-gruppen/lie-algebren.tex @@ -1,647 +1,647 @@ -% -% lie-algebren.tex -- Lie-Algebren -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Lie-Algebren -\label{buch:section:lie-algebren}} -\rhead{Lie-Algebren} -Im vorangegangenen Abschnitt wurde gezeigt, dass alle beschriebenen -Matrizengruppen als Untermannigfaltigkeiten im $n^2$-dimensionalen -Vektorraum $M_n(\mathbb{R}9$ betrachtet werden können. -Die Gruppen haben damit nicht nur die algebraische Struktur einer -Matrixgruppe, sie haben auch die geometrische Struktur einer -Mannigfaltigkeit. -Insbesondere ist es sinnvoll, von Ableitungen zu sprechen. - -Eindimensionale Untergruppen einer Gruppe können auch als Kurven -innerhalb der Gruppe angesehen werden. -In diesem Abschnitt soll gezeigt werden, wie man zu jeder eindimensionalen -Untergruppe einen Vektor in $M_n(\mathbb{R})$ finden kann derart, dass -der Vektor als Tangentialvektor an diese Kurve gelten kann. -Aus einer Abbildung zwischen der Gruppe und diesen Tagentialvektoren -erhält man dann auch eine algebraische Struktur auf diesen Tangentialvektoren, -die sogenannte Lie-Algebra. -Sie ist charakteristisch für die Gruppe. -Insbesondere werden wir sehen, wie die Gruppen $\operatorname{SO}(3)$ -und $\operatorname{SU}(2)$ die gleich Lie-Algebra haben und dass die -Lie-Algebra von $\operatorname{SO}(3)$ mit dem Vektorprodukt in $\mathbb{R}^3$ -übereinstimmt. - -% -% Die Lie-Algebra einer Matrizengruppe -% -\subsection{Lie-Algebra einer Matrizengruppe -\label{buch:section:lie-algebra-einer-matrizengruppe}} -Zu jedem Tangentialvektor $A$ im Punkt $I$ einer Matrizengruppe gibt es -eine Einparameteruntergruppe, die mit Hilfe der Exponentialfunktion -$e^{At}$ konstruiert werden kann. -Für die folgende Konstruktion arbeiten wir in der Gruppe -$\operatorname{GL}_n(\mathbb{R})$, in der jede Matrix auch ein -Tangentialvektor ist. -Wir werden daraus die Lie-Klammer ableiten und später verifizieren, -dass diese auch für die Tangentialvektoren der Gruppen -$\operatorname{SO}(n)$ oder $\operatorname{SL}_n(\mathbb{R})$ funktioniert. - -\subsubsection{Lie-Klammer} -Zu zwei verschiedenen Tagentialvektoren $A\in M_n(\mathbb{R})$ und -$B\in M_n(\mathbb{R})$ gibt es zwei verschiedene Einparameteruntergruppen -$e^{At}$ und $e^{Bt}$. -Wenn die Matrizen $A$ und $B$ oder die Einparameteruntergruppen -$e^{At}$ und $e^{Bt}$ vertauschbar sind, dann stimmen -$e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ nicht überein. -Die zugehörigen Potenzreihen sind: -\begin{align*} -e^{At} -&= -I+At + \frac{A^2t^2}{2!} + \frac{A^3t^3}{3!} + \dots -\\ -e^{Bt} -&= -I+Bt + \frac{B^2t^2}{2!} + \frac{B^3t^3}{3!} + \dots -\\ -e^{At}e^{Bt} -&= -\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) -\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) -\\ -&= -I+(A+B)t + \biggl(\frac{A^2}{2!}+AB+\frac{B^2}{2!}\biggr)t^2 +\dots -\\ -e^{Bt}e^{At} -&= -\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) -\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) -\\ -&= -I+(B+A)t + \biggl(\frac{B^2}{2!}+BA+\frac{A^2}{2!}\biggr)t^2 +\dots -\intertext{% -Die beiden Kurven $e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ haben zwar den gleichen -Tangentialvektor für $t=0$, sie unterscheiden -sich aber untereinander, und sie unterscheiden sich von der -Einparameteruntergruppe von $A+B$} -e^{(A+B)t} -&= -I + (A+B)t + \frac{t^2}{2}(A^2 + AB + BA + B^2) + \ldots -\intertext{Für die Unterschiede finden wir} -e^{At}e^{Bt} - e^{(A+B)t} -&= -\biggl(AB-\frac{AB+BA}2\biggr)t^2 -+\ldots -= -(AB-BA) \frac{t^2}{2} + \ldots -= -[A,B]\frac{t^2}{2}+\ldots -\\ -e^{Bt}e^{At} - e^{(A+B)t} -&= -\biggl(BA-\frac{AB+BA}2\biggr)t^2 -+\ldots -= -(BA-AB) -\frac{t^2}{2} -+\ldots -= --[A,B]\frac{t^2}{2} -\\ -e^{At}e^{Bt}-e^{Bt}e^{At} -&= -(AB-BA)t^2+\ldots -= -\phantom{-}[A,B]t^2+\ldots -\end{align*} -wobei mit $[A,B]=AB-BA$ abgekürzt wird. - -\begin{definition} -\label{buch:gruppen:def:kommutator} -Der Kommutator zweier Matrizen $A,B\in M_n(\mathbb{R})$ ist die Matrix -$[A,B]=AB-BA$. -\end{definition} - -Der Kommutator ist bilinear und antisymmetrisch, da -\begin{align*} -[\lambda A+\mu B,C] -&= -\lambda AC+\mu BC-\lambda CA -\mu CB -= -\lambda[A,C]+\mu[B,C] -\\ -[A,\lambda B+\mu C] -&= -\lambda AB + \mu AC - \lambda BA - \mu CA -= -\lambda[A,B]+\mu[A,C] -\\ -[A,B] -&= -AB-BA = -(BA-AB) = -[B,A]. -\end{align*} -Aus der letzten Bedingung folgt insbesodnere $[A,A]=0$ - -Der Kommutator $[A,B]$ misst in niedrigster Ordnung den Unterschied -zwischen den $e^{At}$ und $e^{Bt}$. -Der Kommutator der Tangentialvektoren $A$ und $B$ bildet also die -Nichtkommutativität der Matrizen $e^{At}$ und $e^{Bt}$ ab. - - -\subsubsection{Die Jacobi-Identität} -Der Kommutator hat die folgende zusätzliche algebraische Eigenschaft: -\begin{align*} -[A,[B,C]] -+ -[B,[C,A]] -+ -[C,[A,B]] -&= -[A,BC-CB] -+ -[B,CA-AC] -+ -[C,AB-BA] -\\ -&=\phantom{+} -ABC-ACB-BCA+CBA -\\ -&\phantom{=}+ -BCA-BAC-CAB+ACB -\\ -&\phantom{=}+ -CAB-CBA-ABC+BAC -\\ -&=0. -\end{align*} -Diese Eigenschaft findet man auch bei anderen Strukturen, zum Beispiel -bei Vektorfeldern, die man als Differentialoperatoren auf Funktionen -betrachten kann. -Man kann dann einen Kommutator $[X,Y]$ für zwei Vektorfelder -$X$ und $Y$ definieren. -Dieser Kommutator von Vektorfeldern erfüllt ebenfalls die gleiche -Identität. - -\begin{definition} -\label{buch:gruppen:def:jacobi} -Ein bilineares Produkt $[\;,\;]\colon V\times V\to V$ auf dem Vektorraum -erfüllt die {\em Jacobi-Identität}, wenn -\[ -[u,[v,w]] + [v,[w,u]] + [w,[u,v]]=0 -\] -ist für beliebige Vektoren $u,v,w\in V$. -\end{definition} - -\subsubsection{Lie-Algebra} -Die Tangentialvektoren einer Lie-Gruppe tragen also mit dem Kommutator -eine zusätzliche Struktur, nämlich die Struktur einer Lie-Algebra. - -\begin{definition} -Ein Vektorraum $V$ mit einem bilinearen, Produkt -\[ -[\;,\;]\colon V\times V \to V : (u,v) \mapsto [u,v], -\] -welches zusätzlich die Jacobi-Identität~\ref{buch:gruppen:def:jacobi} -erfüllt, heisst eine {\em Lie-Algebra}. -\end{definition} - -Die Lie-Algebra einer Lie-Gruppe $G$ wird mit $LG$ bezeichnet. -$LG$ besteht aus den Tangentialvektoren im Punkt $I$. -Die Exponentialabbildung $\exp\colon LG\to G:A\mapsto e^A$ -ist eine differenzierbare Abbildung von $LG$ in die Gruppe $G$. -Insbesondere kann die Inverse der Exponentialabbildung als eine -Karte in einer Umgebung von $I$ verwendet werden. - -Für die Lie-Algebren der Matrizengruppen, die früher definiert worden -sind, verwenden wir die als Notationskonvention, dass der Name der -Lie-Algebra der mit kleinen Buchstaben geschrieben Name der Lie-Gruppe ist. -Die Lie-Algebra von $\operatorname{SO}(n)$ ist also -$L\operatorname{SO}(n) = \operatorname{os}(n)$, -die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ ist -$L\operatorname{SL}_n(\mathbb{R})=\operatorname{sl}_n(\mathbb{R})$. - - -% -% Die Lie-Algebra von SO(3) -% -\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$ -\label{buch:subsection:die-lie-algebra-von-so3}} -Zur Gruppe $\operatorname{SO}(3)$ der Drehmatrizen gehört die Lie-Algebra -$\operatorname{so}(3)$ der antisymmetrischen $3\times 3$-Matrizen. -Solche Matrizen haben die Form -\[ -\Omega -= -\begin{pmatrix} - 0 & \omega_3&-\omega_2\\ --\omega_3& 0 & \omega_1\\ - \omega_2&-\omega_1& 0 -\end{pmatrix} -\] -Der Vektorraum $\operatorname{so}(3)$ ist also dreidimensional. - -Die Wirkung von $I+t\Omega$ auf einem Vektor $x$ ist -\[ -(I+t\Omega) -\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} -= -\begin{pmatrix} - 1 & t\omega_3&-t\omega_2\\ --t\omega_3& 1 & t\omega_1\\ - t\omega_2&-t\omega_1& 1 -\end{pmatrix} -\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} -= -\begin{pmatrix} -x_1-t(-\omega_3x_2+\omega_2x_3)\\ -x_2-t( \omega_3x_1-\omega_1x_3)\\ -x_3-t(-\omega_2x_1+\omega_1x_2) -\end{pmatrix} -= -x- t\begin{pmatrix}\omega_1\\\omega_2\\\omega_3\end{pmatrix}\times x -= -x+ tx\times \omega. -\] -Die Matrix $\Omega$ ist als die infinitesimale Version einer Drehung -um die Achse $\omega$. - -Wir können die Analogie zwischen Matrizen in $\operatorname{so}(3)$ und -Vektoren in $\mathbb R^3$ noch etwas weiter treiben. Zu jedem Vektor -in $\mathbb R^3$ konstruieren wir eine Matrix in $\operatorname{so}(3)$ -mit Hilfe der Abbildung -\[ -\mathbb R^3\to\operatorname{so}(3) -: -\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix} -\mapsto -\begin{pmatrix} - 0 & v_3&-v_1\\ --v_3& 0 & v_2\\ - v_1&-v_2& 0 -\end{pmatrix}. -\] -Der Kommutator von zwei so aus Vektoren $\vec u$ und $\vec v$ -konstruierten Matrizen $U$ und $V$ ist: -\begin{align*} -[U,V] -&= -UV-VU -\\ -&= -\begin{pmatrix} - 0 & u_3&-u_1\\ --u_3& 0 & u_2\\ - u_1&-u_2& 0 -\end{pmatrix} -\begin{pmatrix} - 0 & v_3&-v_1\\ --v_3& 0 & v_2\\ - v_1&-v_2& 0 -\end{pmatrix} -- -\begin{pmatrix} - 0 & v_3&-v_1\\ --v_3& 0 & v_2\\ - v_1&-v_2& 0 -\end{pmatrix} -\begin{pmatrix} - 0 & u_3&-u_1\\ --u_3& 0 & u_2\\ - u_1&-u_2& 0 -\end{pmatrix} -\\ -&= -\begin{pmatrix} -u_3v_3+u_1v_1 - u_3v_3 - u_1v_1 - & u_1v_2 - u_2v_1 - & u_3v_2 - u_2v_3 -\\ -u_2v_1 - u_1v_2 - & -u_3v_3-u_2v_2 + u_3v_3+u_2v_2 - & u_3v_1 - u_1v_3 -\\ -u_2v_3 - u_3v_2 - & u_1v_3 - u_3v_1 - &-u_1v_1-u_2v_2 u_1v_1+u_2v_2 -\end{pmatrix} -\\ -&= -\begin{pmatrix} -0 - & u_1v_2 - u_2v_1 - &-(u_2v_3-u_3v_2) -\\ --( u_1v_2 - u_2v_1) - & 0 - & u_3v_1 - u_1v_3 -\\ -u_2v_3 - u_3v_2 - &-( u_3v_1 - u_1v_3) - & 0 -\end{pmatrix} -\end{align*} -Die Matrix $[U,V]$ gehört zum Vektor $\vec u\times\vec v$. -Damit können wir aus der Jacobi-Identität jetzt folgern, dass -\[ -\vec u\times(\vec v\times w) -+ -\vec v\times(\vec w\times u) -+ -\vec w\times(\vec u\times v) -=0 -\] -für drei beliebige Vektoren $\vec u$, $\vec v$ und $\vec w$ ist. -Dies bedeutet, dass der dreidimensionale Vektorraum $\mathbb R^3$ -mit dem Vektorprodukt zu einer Lie-Algebra wird. -In der Tat verwenden einige Bücher statt der vertrauten Notation -$\vec u\times \vec v$ für das Vektorprodukt die aus der Theorie der -Lie-Algebren entlehnte Notation $[\vec u,\vec v]$, zum Beispiel -das Lehrbuch der Theoretischen Physik \cite{skript:landaulifschitz1} -von Landau und Lifschitz. - -Die Lie-Algebren sind vollständig klassifiziert worden, es gibt -keine nicht trivialen zweidimensionalen Lie-Algebren. -Unser dreidimensionaler Raum ist also auch in dieser Hinsicht speziell: -es ist der kleinste Vektorraum, in dem eine nichttriviale Lie-Algebra-Struktur -möglich ist. - -Die antisymmetrischen Matrizen -\[ -\omega_{23} -= -\begin{pmatrix} 0&1&0\\-1&0&0\\0&0&0\end{pmatrix} -\quad -\omega_{31} -= -\begin{pmatrix} 0&0&-1\\0&0&0\\1&0&0\end{pmatrix} -\quad -\omega_{12} -= -\begin{pmatrix} 0&0&0\\0&0&1\\0&-1&0\end{pmatrix} -\] -haben die Kommutatoren -\begin{equation} -\begin{aligned} -[\omega_{23},\omega_{31}] -&= -\begin{pmatrix} -0&0&0\\ -0&0&1\\ -0&-1&0 -\end{pmatrix} -= -\omega_{12} -\\ -[\omega_{31},\omega_{12}] -&= -\begin{pmatrix} -0&1&0\\ --1&0&0\\ -0&0&0 -\end{pmatrix} -= -\omega_{23} -\\ -[\omega_{12},\omega_{23}] -&= -\begin{pmatrix} -0&0&-1\\ -0&0&0\\ -1&0&0 -\end{pmatrix} -= -\omega_{31} -\end{aligned} -\label{buch:gruppen:eqn:so3-kommutatoren} -\end{equation} - -\subsection{Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$} -Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ besteht aus den -spurlosen Matrizen in $M_n(\mathbb{R})$. -Der Kommutator solcher Matrizen erfüllt -\[ -\operatorname{Spur}([A,B]) -= -\operatorname{Spur}(AB-BA) -= -\operatorname{Spur}(AB)-\operatorname{Spur}(BA) -= -0, -\] -somit ist -\[ -\operatorname{sl}_n(\mathbb{R}) -= -\{ -A\in M_n(\mathbb{R})\;|\; \operatorname{Spur}(A)=0 -\} -\] -mit dem Kommutator eine Lie-Algebra. - -% -% Die Lie-Algebra von U(n) -% -\subsection{Die Lie-Algebra von $\operatorname{U}(n)$} -Die Lie-Gruppe -\[ -U(n) -= -\{ -A\in M_n(\mathbb{C} -\;|\; -AA^*=I -\} -\] -heisst die unitäre Gruppe, sie besteht aus den Matrizen, die -das sesquilineare Standardskalarprodukt auf dem komplexen -Vektorraum $\mathbb{C}^n$ invariant lassen. -Sei eine $\gamma(t)$ ein differenzierbare Kurve in $\operatorname{U}(n)$ -derart, dass $\gamma(0)=I$. -Die Ableitung der Identität $AA^*=I$ führt dann auf -\begin{align*} -0 -= -\frac{d}{dt} -\gamma(t)\gamma(t)^* -\bigg|_{t=0} -= -\dot{\gamma}(0)\gamma(0)^* -+ -\gamma(0)\dot{\gamma}(0)^* -= -\dot{\gamma}(0) -+ -\dot{\gamma}(0)^* -\quad\Rightarrow\quad -\dot{\gamma}(0)&=-\dot{\gamma}(0)^*. -A&=-A^* -\end{align*} -Die Lie-Algebra $\operatorname{u}(n)$ besteht daher aus den antihermiteschen -Matrizen. - -Wir sollten noch verifizieren, dass der Kommutator zweier antihermiteschen -Matrizen wieder anithermitesch ist: -\begin{align*} -[A,B]^* -&= -(AB-BA)^* -= -B^*A^*-A^*B^* -= -BA - AB -= --[B,A]. -\end{align*} - -Eine antihermitesche Matrix erfüllt $a_{ij}=-\overline{a}_{ji}$, -für die Diagonalelemente folgt daher $a_{ii} = -\overline{a}_{ii}$ -oder $\overline{a}_{ii}=-a_{ii}$. -Der Realteil von $a_{ii}$ ist -\[ -\Re a_{ii} -= -\frac{a_{ii}+\overline{a}_{ii}}2 -= -0, -\] -die Diagonalelemente einer antihermiteschen Matrix sind daher rein -imaginär. - - -% -% Die Lie-Algebra SU(2) -% -\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$} -Die Lie-Algebra $\operatorname{su}(n)$ besteht aus den -spurlosen antihermiteschen Matrizen. -Sie erfüllen daher die folgenden Bedingungen: -\[ -A=\begin{pmatrix}a&b\\c&d\end{pmatrix} -\qquad -\text{mit} -\qquad -\left\{ -\begin{aligned} -a+d&=0&&\Rightarrow& a=is = -d -\\ -b^*&=-c -\end{aligned} -\right. -\] -Damit hat $A$ die Form -\begin{align*} -A=\begin{pmatrix} -is&u+iv\\ --u+iv&-is -\end{pmatrix} -&= -s -\begin{pmatrix} -i&0\\ -0&-i -\end{pmatrix} -+ -u -\begin{pmatrix} - 0&1\\ --1&0 -\end{pmatrix} -+ -v -\begin{pmatrix} -0&i\\ -i&0 -\end{pmatrix} -\\ -&= -iv\underbrace{\begin{pmatrix}0&1\\1&0\end{pmatrix}}_{\displaystyle=\sigma_1} -+ -iu\underbrace{\begin{pmatrix}0&-i\\i&0\end{pmatrix}}_{\displaystyle=\sigma_2} -+ -is\underbrace{\begin{pmatrix}1&0\\0&-1\end{pmatrix}}_{\displaystyle=\sigma_3} -\end{align*} -Diese Matrizen heissen die {\em Pauli-Matrizen}, sie haben die Kommutatoren -\begin{align*} -[\sigma_1,\sigma_2] -&= -\begin{pmatrix}0&1\\1&0\end{pmatrix} -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -- -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -\begin{pmatrix}0&1\\1&0\end{pmatrix} -= -2\begin{pmatrix}i&0\\0&-i \end{pmatrix} -= -2i\sigma_3, -\\ -[\sigma_2,\sigma_3] -&= -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -- -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -\begin{pmatrix}0&-i\\i&0\end{pmatrix} -= -2 -\begin{pmatrix}0&i\\i&0\end{pmatrix} -= -2i\sigma_1. -\\ -[\sigma_1,\sigma_3] -&= -\begin{pmatrix}0&1\\1&0\end{pmatrix} -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -- -\begin{pmatrix}1&0\\0&-1\end{pmatrix} -\begin{pmatrix}0&1\\1&0\end{pmatrix} -= -2i -\begin{pmatrix}0&-1\\1&0\end{pmatrix} -= -2i\sigma_2, -\end{align*} -Bis auf eine Skalierung stimmt dies überein mit den Kommutatorprodukten -der Matrizen $\omega_{23}$, $\omega_{31}$ und $\omega_{12}$ -in \eqref{buch:gruppen:eqn:so3-kommutatoren}. -Die Matrizen $-\frac12i\sigma_j$ haben die Kommutatorprodukte -\begin{align*} -\bigl[-{\textstyle\frac12}i\sigma_1,-{\textstyle\frac12}i\sigma_2\bigr] -&= --{\textstyle\frac14}[\sigma_1,\sigma_2] -= --{\textstyle\frac14}\cdot 2i\sigma_3 -= --{\textstyle\frac12}i\sigma_3 -\\ -\bigl[-{\textstyle\frac12}i\sigma_2,-{\textstyle\frac12}i\sigma_3\bigr] -&= --{\textstyle\frac14}[\sigma_2,\sigma_3] -= --{\textstyle\frac14}\cdot 2i\sigma_1 -= --{\textstyle\frac12}i\sigma_1 -\\ -\bigl[-{\textstyle\frac12}i\sigma_3,-{\textstyle\frac12}i\sigma_1\bigr] -&= --{\textstyle\frac14}[\sigma_3,\sigma_1] -= --{\textstyle\frac14}\cdot 2i\sigma_2 -= --{\textstyle\frac12}i\sigma_2 -\end{align*} -Die lineare Abbildung, die -\begin{align*} -\omega_{23}&\mapsto -{\textstyle\frac12}i\sigma_1\\ -\omega_{31}&\mapsto -{\textstyle\frac12}i\sigma_2\\ -\omega_{12}&\mapsto -{\textstyle\frac12}i\sigma_3 -\end{align*} -abbildet ist daher ein Isomorphismus der Lie-Algebra $\operatorname{so}(3)$ -auf die Lie-Algebra $\operatorname{su}(2)$. -Die Lie-Gruppen $\operatorname{SO}(3)$ und $\operatorname{SU}(2)$ -haben also die gleiche Lie-Algebra. - -Tatsächlich kann man Hilfe von Quaternionen die Matrix $\operatorname{SU}(2)$ -als Einheitsquaternionen beschreiben und damit eine Darstellung der -Drehmatrizen in $\operatorname{SO}(3)$ finden. -Dies wird in Kapitel~\ref{chapter:clifford} dargestellt. - - - - - +% +% lie-algebren.tex -- Lie-Algebren +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Lie-Algebren +\label{buch:section:lie-algebren}} +\rhead{Lie-Algebren} +Im vorangegangenen Abschnitt wurde gezeigt, dass alle beschriebenen +Matrizengruppen als Untermannigfaltigkeiten im $n^2$-dimensionalen +Vektorraum $M_n(\mathbb{R}9$ betrachtet werden können. +Die Gruppen haben damit nicht nur die algebraische Struktur einer +Matrixgruppe, sie haben auch die geometrische Struktur einer +Mannigfaltigkeit. +Insbesondere ist es sinnvoll, von Ableitungen zu sprechen. + +Eindimensionale Untergruppen einer Gruppe können auch als Kurven +innerhalb der Gruppe angesehen werden. +In diesem Abschnitt soll gezeigt werden, wie man zu jeder eindimensionalen +Untergruppe einen Vektor in $M_n(\mathbb{R})$ finden kann derart, dass +der Vektor als Tangentialvektor an diese Kurve gelten kann. +Aus einer Abbildung zwischen der Gruppe und diesen Tagentialvektoren +erhält man dann auch eine algebraische Struktur auf diesen Tangentialvektoren, +die sogenannte Lie-Algebra. +Sie ist charakteristisch für die Gruppe. +Insbesondere werden wir sehen, wie die Gruppen $\operatorname{SO}(3)$ +und $\operatorname{SU}(2)$ die gleich Lie-Algebra haben und dass die +Lie-Algebra von $\operatorname{SO}(3)$ mit dem Vektorprodukt in $\mathbb{R}^3$ +übereinstimmt. + +% +% Die Lie-Algebra einer Matrizengruppe +% +\subsection{Lie-Algebra einer Matrizengruppe +\label{buch:section:lie-algebra-einer-matrizengruppe}} +Zu jedem Tangentialvektor $A$ im Punkt $I$ einer Matrizengruppe gibt es +eine Einparameteruntergruppe, die mit Hilfe der Exponentialfunktion +$e^{At}$ konstruiert werden kann. +Für die folgende Konstruktion arbeiten wir in der Gruppe +$\operatorname{GL}_n(\mathbb{R})$, in der jede Matrix auch ein +Tangentialvektor ist. +Wir werden daraus die Lie-Klammer ableiten und später verifizieren, +dass diese auch für die Tangentialvektoren der Gruppen +$\operatorname{SO}(n)$ oder $\operatorname{SL}_n(\mathbb{R})$ funktioniert. + +\subsubsection{Lie-Klammer} +Zu zwei verschiedenen Tagentialvektoren $A\in M_n(\mathbb{R})$ und +$B\in M_n(\mathbb{R})$ gibt es zwei verschiedene Einparameteruntergruppen +$e^{At}$ und $e^{Bt}$. +Wenn die Matrizen $A$ und $B$ oder die Einparameteruntergruppen +$e^{At}$ und $e^{Bt}$ vertauschbar sind, dann stimmen +$e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ nicht überein. +Die zugehörigen Potenzreihen sind: +\begin{align*} +e^{At} +&= +I+At + \frac{A^2t^2}{2!} + \frac{A^3t^3}{3!} + \dots +\\ +e^{Bt} +&= +I+Bt + \frac{B^2t^2}{2!} + \frac{B^3t^3}{3!} + \dots +\\ +e^{At}e^{Bt} +&= +\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) +\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) +\\ +&= +I+(A+B)t + \biggl(\frac{A^2}{2!}+AB+\frac{B^2}{2!}\biggr)t^2 +\dots +\\ +e^{Bt}e^{At} +&= +\biggl(I+Bt + \frac{B^2t^2}{2!} + \dots\biggr) +\biggl(I+At + \frac{A^2t^2}{2!} + \dots\biggr) +\\ +&= +I+(B+A)t + \biggl(\frac{B^2}{2!}+BA+\frac{A^2}{2!}\biggr)t^2 +\dots +\intertext{% +Die beiden Kurven $e^{At}e^{Bt}$ und $e^{Bt}e^{At}$ haben zwar den gleichen +Tangentialvektor für $t=0$, sie unterscheiden +sich aber untereinander, und sie unterscheiden sich von der +Einparameteruntergruppe von $A+B$} +e^{(A+B)t} +&= +I + (A+B)t + \frac{t^2}{2}(A^2 + AB + BA + B^2) + \ldots +\intertext{Für die Unterschiede finden wir} +e^{At}e^{Bt} - e^{(A+B)t} +&= +\biggl(AB-\frac{AB+BA}2\biggr)t^2 ++\ldots += +(AB-BA) \frac{t^2}{2} + \ldots += +[A,B]\frac{t^2}{2}+\ldots +\\ +e^{Bt}e^{At} - e^{(A+B)t} +&= +\biggl(BA-\frac{AB+BA}2\biggr)t^2 ++\ldots += +(BA-AB) +\frac{t^2}{2} ++\ldots += +-[A,B]\frac{t^2}{2} +\\ +e^{At}e^{Bt}-e^{Bt}e^{At} +&= +(AB-BA)t^2+\ldots += +\phantom{-}[A,B]t^2+\ldots +\end{align*} +wobei mit $[A,B]=AB-BA$ abgekürzt wird. + +\begin{definition} +\label{buch:gruppen:def:kommutator} +Der Kommutator zweier Matrizen $A,B\in M_n(\mathbb{R})$ ist die Matrix +$[A,B]=AB-BA$. +\end{definition} + +Der Kommutator ist bilinear und antisymmetrisch, da +\begin{align*} +[\lambda A+\mu B,C] +&= +\lambda AC+\mu BC-\lambda CA -\mu CB += +\lambda[A,C]+\mu[B,C] +\\ +[A,\lambda B+\mu C] +&= +\lambda AB + \mu AC - \lambda BA - \mu CA += +\lambda[A,B]+\mu[A,C] +\\ +[A,B] +&= +AB-BA = -(BA-AB) = -[B,A]. +\end{align*} +Aus der letzten Bedingung folgt insbesodnere $[A,A]=0$ + +Der Kommutator $[A,B]$ misst in niedrigster Ordnung den Unterschied +zwischen den $e^{At}$ und $e^{Bt}$. +Der Kommutator der Tangentialvektoren $A$ und $B$ bildet also die +Nichtkommutativität der Matrizen $e^{At}$ und $e^{Bt}$ ab. + + +\subsubsection{Die Jacobi-Identität} +Der Kommutator hat die folgende zusätzliche algebraische Eigenschaft: +\begin{align*} +[A,[B,C]] ++ +[B,[C,A]] ++ +[C,[A,B]] +&= +[A,BC-CB] ++ +[B,CA-AC] ++ +[C,AB-BA] +\\ +&=\phantom{+} +ABC-ACB-BCA+CBA +\\ +&\phantom{=}+ +BCA-BAC-CAB+ACB +\\ +&\phantom{=}+ +CAB-CBA-ABC+BAC +\\ +&=0. +\end{align*} +Diese Eigenschaft findet man auch bei anderen Strukturen, zum Beispiel +bei Vektorfeldern, die man als Differentialoperatoren auf Funktionen +betrachten kann. +Man kann dann einen Kommutator $[X,Y]$ für zwei Vektorfelder +$X$ und $Y$ definieren. +Dieser Kommutator von Vektorfeldern erfüllt ebenfalls die gleiche +Identität. + +\begin{definition} +\label{buch:gruppen:def:jacobi} +Ein bilineares Produkt $[\;,\;]\colon V\times V\to V$ auf dem Vektorraum +erfüllt die {\em Jacobi-Identität}, wenn +\[ +[u,[v,w]] + [v,[w,u]] + [w,[u,v]]=0 +\] +ist für beliebige Vektoren $u,v,w\in V$. +\end{definition} + +\subsubsection{Lie-Algebra} +Die Tangentialvektoren einer Lie-Gruppe tragen also mit dem Kommutator +eine zusätzliche Struktur, nämlich die Struktur einer Lie-Algebra. + +\begin{definition} +Ein Vektorraum $V$ mit einem bilinearen, Produkt +\[ +[\;,\;]\colon V\times V \to V : (u,v) \mapsto [u,v], +\] +welches zusätzlich die Jacobi-Identität~\ref{buch:gruppen:def:jacobi} +erfüllt, heisst eine {\em Lie-Algebra}. +\end{definition} + +Die Lie-Algebra einer Lie-Gruppe $G$ wird mit $LG$ bezeichnet. +$LG$ besteht aus den Tangentialvektoren im Punkt $I$. +Die Exponentialabbildung $\exp\colon LG\to G:A\mapsto e^A$ +ist eine differenzierbare Abbildung von $LG$ in die Gruppe $G$. +Insbesondere kann die Inverse der Exponentialabbildung als eine +Karte in einer Umgebung von $I$ verwendet werden. + +Für die Lie-Algebren der Matrizengruppen, die früher definiert worden +sind, verwenden wir die als Notationskonvention, dass der Name der +Lie-Algebra der mit kleinen Buchstaben geschrieben Name der Lie-Gruppe ist. +Die Lie-Algebra von $\operatorname{SO}(n)$ ist also +$L\operatorname{SO}(n) = \operatorname{os}(n)$, +die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ ist +$L\operatorname{SL}_n(\mathbb{R})=\operatorname{sl}_n(\mathbb{R})$. + + +% +% Die Lie-Algebra von SO(3) +% +\subsection{Die Lie-Algebra von $\operatorname{SO}(3)$ +\label{buch:subsection:die-lie-algebra-von-so3}} +Zur Gruppe $\operatorname{SO}(3)$ der Drehmatrizen gehört die Lie-Algebra +$\operatorname{so}(3)$ der antisymmetrischen $3\times 3$-Matrizen. +Solche Matrizen haben die Form +\[ +\Omega += +\begin{pmatrix} + 0 & \omega_3&-\omega_2\\ +-\omega_3& 0 & \omega_1\\ + \omega_2&-\omega_1& 0 +\end{pmatrix} +\] +Der Vektorraum $\operatorname{so}(3)$ ist also dreidimensional. + +Die Wirkung von $I+t\Omega$ auf einem Vektor $x$ ist +\[ +(I+t\Omega) +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} += +\begin{pmatrix} + 1 & t\omega_3&-t\omega_2\\ +-t\omega_3& 1 & t\omega_1\\ + t\omega_2&-t\omega_1& 1 +\end{pmatrix} +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} += +\begin{pmatrix} +x_1-t(-\omega_3x_2+\omega_2x_3)\\ +x_2-t( \omega_3x_1-\omega_1x_3)\\ +x_3-t(-\omega_2x_1+\omega_1x_2) +\end{pmatrix} += +x- t\begin{pmatrix}\omega_1\\\omega_2\\\omega_3\end{pmatrix}\times x += +x+ tx\times \omega. +\] +Die Matrix $\Omega$ ist als die infinitesimale Version einer Drehung +um die Achse $\omega$. + +Wir können die Analogie zwischen Matrizen in $\operatorname{so}(3)$ und +Vektoren in $\mathbb R^3$ noch etwas weiter treiben. Zu jedem Vektor +in $\mathbb R^3$ konstruieren wir eine Matrix in $\operatorname{so}(3)$ +mit Hilfe der Abbildung +\[ +\mathbb R^3\to\operatorname{so}(3) +: +\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix} +\mapsto +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 +\end{pmatrix}. +\] +Der Kommutator von zwei so aus Vektoren $\vec u$ und $\vec v$ +konstruierten Matrizen $U$ und $V$ ist: +\begin{align*} +[U,V] +&= +UV-VU +\\ +&= +\begin{pmatrix} + 0 & u_3&-u_1\\ +-u_3& 0 & u_2\\ + u_1&-u_2& 0 +\end{pmatrix} +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 +\end{pmatrix} +- +\begin{pmatrix} + 0 & v_3&-v_1\\ +-v_3& 0 & v_2\\ + v_1&-v_2& 0 +\end{pmatrix} +\begin{pmatrix} + 0 & u_3&-u_1\\ +-u_3& 0 & u_2\\ + u_1&-u_2& 0 +\end{pmatrix} +\\ +&= +\begin{pmatrix} +u_3v_3+u_1v_1 - u_3v_3 - u_1v_1 + & u_1v_2 - u_2v_1 + & u_3v_2 - u_2v_3 +\\ +u_2v_1 - u_1v_2 + & -u_3v_3-u_2v_2 + u_3v_3+u_2v_2 + & u_3v_1 - u_1v_3 +\\ +u_2v_3 - u_3v_2 + & u_1v_3 - u_3v_1 + &-u_1v_1-u_2v_2 u_1v_1+u_2v_2 +\end{pmatrix} +\\ +&= +\begin{pmatrix} +0 + & u_1v_2 - u_2v_1 + &-(u_2v_3-u_3v_2) +\\ +-( u_1v_2 - u_2v_1) + & 0 + & u_3v_1 - u_1v_3 +\\ +u_2v_3 - u_3v_2 + &-( u_3v_1 - u_1v_3) + & 0 +\end{pmatrix} +\end{align*} +Die Matrix $[U,V]$ gehört zum Vektor $\vec u\times\vec v$. +Damit können wir aus der Jacobi-Identität jetzt folgern, dass +\[ +\vec u\times(\vec v\times w) ++ +\vec v\times(\vec w\times u) ++ +\vec w\times(\vec u\times v) +=0 +\] +für drei beliebige Vektoren $\vec u$, $\vec v$ und $\vec w$ ist. +Dies bedeutet, dass der dreidimensionale Vektorraum $\mathbb R^3$ +mit dem Vektorprodukt zu einer Lie-Algebra wird. +In der Tat verwenden einige Bücher statt der vertrauten Notation +$\vec u\times \vec v$ für das Vektorprodukt die aus der Theorie der +Lie-Algebren entlehnte Notation $[\vec u,\vec v]$, zum Beispiel +das Lehrbuch der Theoretischen Physik \cite{skript:landaulifschitz1} +von Landau und Lifschitz. + +Die Lie-Algebren sind vollständig klassifiziert worden, es gibt +keine nicht trivialen zweidimensionalen Lie-Algebren. +Unser dreidimensionaler Raum ist also auch in dieser Hinsicht speziell: +es ist der kleinste Vektorraum, in dem eine nichttriviale Lie-Algebra-Struktur +möglich ist. + +Die antisymmetrischen Matrizen +\[ +\omega_{23} += +\begin{pmatrix} 0&1&0\\-1&0&0\\0&0&0\end{pmatrix} +\quad +\omega_{31} += +\begin{pmatrix} 0&0&-1\\0&0&0\\1&0&0\end{pmatrix} +\quad +\omega_{12} += +\begin{pmatrix} 0&0&0\\0&0&1\\0&-1&0\end{pmatrix} +\] +haben die Kommutatoren +\begin{equation} +\begin{aligned} +[\omega_{23},\omega_{31}] +&= +\begin{pmatrix} +0&0&0\\ +0&0&1\\ +0&-1&0 +\end{pmatrix} += +\omega_{12} +\\ +[\omega_{31},\omega_{12}] +&= +\begin{pmatrix} +0&1&0\\ +-1&0&0\\ +0&0&0 +\end{pmatrix} += +\omega_{23} +\\ +[\omega_{12},\omega_{23}] +&= +\begin{pmatrix} +0&0&-1\\ +0&0&0\\ +1&0&0 +\end{pmatrix} += +\omega_{31} +\end{aligned} +\label{buch:gruppen:eqn:so3-kommutatoren} +\end{equation} + +\subsection{Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$} +Die Lie-Algebra von $\operatorname{SL}_n(\mathbb{R})$ besteht aus den +spurlosen Matrizen in $M_n(\mathbb{R})$. +Der Kommutator solcher Matrizen erfüllt +\[ +\operatorname{Spur}([A,B]) += +\operatorname{Spur}(AB-BA) += +\operatorname{Spur}(AB)-\operatorname{Spur}(BA) += +0, +\] +somit ist +\[ +\operatorname{sl}_n(\mathbb{R}) += +\{ +A\in M_n(\mathbb{R})\;|\; \operatorname{Spur}(A)=0 +\} +\] +mit dem Kommutator eine Lie-Algebra. + +% +% Die Lie-Algebra von U(n) +% +\subsection{Die Lie-Algebra von $\operatorname{U}(n)$} +Die Lie-Gruppe +\[ +U(n) += +\{ +A\in M_n(\mathbb{C} +\;|\; +AA^*=I +\} +\] +heisst die unitäre Gruppe, sie besteht aus den Matrizen, die +das sesquilineare Standardskalarprodukt auf dem komplexen +Vektorraum $\mathbb{C}^n$ invariant lassen. +Sei eine $\gamma(t)$ ein differenzierbare Kurve in $\operatorname{U}(n)$ +derart, dass $\gamma(0)=I$. +Die Ableitung der Identität $AA^*=I$ führt dann auf +\begin{align*} +0 += +\frac{d}{dt} +\gamma(t)\gamma(t)^* +\bigg|_{t=0} += +\dot{\gamma}(0)\gamma(0)^* ++ +\gamma(0)\dot{\gamma}(0)^* += +\dot{\gamma}(0) ++ +\dot{\gamma}(0)^* +\quad\Rightarrow\quad +\dot{\gamma}(0)&=-\dot{\gamma}(0)^*. +A&=-A^* +\end{align*} +Die Lie-Algebra $\operatorname{u}(n)$ besteht daher aus den antihermiteschen +Matrizen. + +Wir sollten noch verifizieren, dass der Kommutator zweier antihermiteschen +Matrizen wieder anithermitesch ist: +\begin{align*} +[A,B]^* +&= +(AB-BA)^* += +B^*A^*-A^*B^* += +BA - AB += +-[B,A]. +\end{align*} + +Eine antihermitesche Matrix erfüllt $a_{ij}=-\overline{a}_{ji}$, +für die Diagonalelemente folgt daher $a_{ii} = -\overline{a}_{ii}$ +oder $\overline{a}_{ii}=-a_{ii}$. +Der Realteil von $a_{ii}$ ist +\[ +\Re a_{ii} += +\frac{a_{ii}+\overline{a}_{ii}}2 += +0, +\] +die Diagonalelemente einer antihermiteschen Matrix sind daher rein +imaginär. + + +% +% Die Lie-Algebra SU(2) +% +\subsection{Die Lie-Algebra von $\operatorname{SU}(2)$} +Die Lie-Algebra $\operatorname{su}(n)$ besteht aus den +spurlosen antihermiteschen Matrizen. +Sie erfüllen daher die folgenden Bedingungen: +\[ +A=\begin{pmatrix}a&b\\c&d\end{pmatrix} +\qquad +\text{mit} +\qquad +\left\{ +\begin{aligned} +a+d&=0&&\Rightarrow& a=is = -d +\\ +b^*&=-c +\end{aligned} +\right. +\] +Damit hat $A$ die Form +\begin{align*} +A=\begin{pmatrix} +is&u+iv\\ +-u+iv&-is +\end{pmatrix} +&= +s +\begin{pmatrix} +i&0\\ +0&-i +\end{pmatrix} ++ +u +\begin{pmatrix} + 0&1\\ +-1&0 +\end{pmatrix} ++ +v +\begin{pmatrix} +0&i\\ +i&0 +\end{pmatrix} +\\ +&= +iv\underbrace{\begin{pmatrix}0&1\\1&0\end{pmatrix}}_{\displaystyle=\sigma_1} ++ +iu\underbrace{\begin{pmatrix}0&-i\\i&0\end{pmatrix}}_{\displaystyle=\sigma_2} ++ +is\underbrace{\begin{pmatrix}1&0\\0&-1\end{pmatrix}}_{\displaystyle=\sigma_3} +\end{align*} +Diese Matrizen heissen die {\em Pauli-Matrizen}, sie haben die Kommutatoren +\begin{align*} +[\sigma_1,\sigma_2] +&= +\begin{pmatrix}0&1\\1&0\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +- +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +\begin{pmatrix}0&1\\1&0\end{pmatrix} += +2\begin{pmatrix}i&0\\0&-i \end{pmatrix} += +2i\sigma_3, +\\ +[\sigma_2,\sigma_3] +&= +\begin{pmatrix}0&-i\\i&0\end{pmatrix} +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +- +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +\begin{pmatrix}0&-i\\i&0\end{pmatrix} += +2 +\begin{pmatrix}0&i\\i&0\end{pmatrix} += +2i\sigma_1. +\\ +[\sigma_1,\sigma_3] +&= +\begin{pmatrix}0&1\\1&0\end{pmatrix} +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +- +\begin{pmatrix}1&0\\0&-1\end{pmatrix} +\begin{pmatrix}0&1\\1&0\end{pmatrix} += +2i +\begin{pmatrix}0&-1\\1&0\end{pmatrix} += +2i\sigma_2, +\end{align*} +Bis auf eine Skalierung stimmt dies überein mit den Kommutatorprodukten +der Matrizen $\omega_{23}$, $\omega_{31}$ und $\omega_{12}$ +in \eqref{buch:gruppen:eqn:so3-kommutatoren}. +Die Matrizen $-\frac12i\sigma_j$ haben die Kommutatorprodukte +\begin{align*} +\bigl[-{\textstyle\frac12}i\sigma_1,-{\textstyle\frac12}i\sigma_2\bigr] +&= +-{\textstyle\frac14}[\sigma_1,\sigma_2] += +-{\textstyle\frac14}\cdot 2i\sigma_3 += +-{\textstyle\frac12}i\sigma_3 +\\ +\bigl[-{\textstyle\frac12}i\sigma_2,-{\textstyle\frac12}i\sigma_3\bigr] +&= +-{\textstyle\frac14}[\sigma_2,\sigma_3] += +-{\textstyle\frac14}\cdot 2i\sigma_1 += +-{\textstyle\frac12}i\sigma_1 +\\ +\bigl[-{\textstyle\frac12}i\sigma_3,-{\textstyle\frac12}i\sigma_1\bigr] +&= +-{\textstyle\frac14}[\sigma_3,\sigma_1] += +-{\textstyle\frac14}\cdot 2i\sigma_2 += +-{\textstyle\frac12}i\sigma_2 +\end{align*} +Die lineare Abbildung, die +\begin{align*} +\omega_{23}&\mapsto -{\textstyle\frac12}i\sigma_1\\ +\omega_{31}&\mapsto -{\textstyle\frac12}i\sigma_2\\ +\omega_{12}&\mapsto -{\textstyle\frac12}i\sigma_3 +\end{align*} +abbildet ist daher ein Isomorphismus der Lie-Algebra $\operatorname{so}(3)$ +auf die Lie-Algebra $\operatorname{su}(2)$. +Die Lie-Gruppen $\operatorname{SO}(3)$ und $\operatorname{SU}(2)$ +haben also die gleiche Lie-Algebra. + +Tatsächlich kann man Hilfe von Quaternionen die Matrix $\operatorname{SU}(2)$ +als Einheitsquaternionen beschreiben und damit eine Darstellung der +Drehmatrizen in $\operatorname{SO}(3)$ finden. +Dies wird in Kapitel~\ref{chapter:clifford} dargestellt. + + + + + diff --git a/buch/chapters/60-gruppen/lie-gruppen.tex b/buch/chapters/60-gruppen/lie-gruppen.tex index d6fc007..2c88b76 100644 --- a/buch/chapters/60-gruppen/lie-gruppen.tex +++ b/buch/chapters/60-gruppen/lie-gruppen.tex @@ -1,881 +1,881 @@ -% -% lie-gruppen.tex -- Lie-Gruppebn -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Lie-Gruppen -\label{buch:section:lie-gruppen}} -\rhead{Lie-Gruppen} -Die in bisherigen Beispielen untersuchten Matrizengruppen zeichnen sich -durch zusätzliche Eigenschaften aus. -Die Gruppe -\[ -\operatorname{GL}_n(\mathbb{R}) -= -\{ A \in M_n(\mathbb{R})\;|\; \det A \ne 0\} -\] -besteht aus den Matrizen, deren Determinante nicht $0$ ist. -Da die Menge der Matrizen mit $\det A=0$ eine abgeschlossene Menge -in $M_n(\mathbb{R}) \simeq \mathbb{R}^{n^2}$ ist, ist -$\operatorname{GL}_n(\mathbb{R})$ eine offene Teilmenge in $\mathbb{R}^{n^2}$, -sie besitzt also automatisch die Struktur einer $n^2$-Mannigfaltigkeit. -Dies gilt jedoch auch für alle anderen Matrizengruppen, die in diesem -Abschnitt genauer untersucht werden sollen. - -\subsection{Mannigfaltigkeitsstruktur der Matrizengruppen -\label{buch:subsection:mannigfaltigkeitsstruktur-der-matrizengruppen}} -Eine Matrizengruppe wird automatsich zu einer Mannigfaltigkeit, -wenn es gelingt, eine Karte für eine Umgebung des neutralen Elements -zu finden. -Dazu muss gezeigt werden, dass sich aus einer solchen Karte für jedes -andere Gruppenelement eine Karte für eine Umgebung ableiten lässt. -Sei also $\varphi_e\colon U_e\mathbb{R}^N$ eine Karte für die Umgebung -$U_e\subset G$ von $e\in G$. -Für $g\in G$ ist dann die Abbildung -\[ -\varphi_g -\colon -U_g -= -gU_e -\to -\mathbb{R} -: -h\mapsto \varphi_e(g^{-1}h) -\] -eine Karte für die Umgebung $U_g$ des Gruppenelementes $g$. -schreibt man $l_{g}$ für die Abbildung $h\mapsto gh$, dann -kann man die Kartenabbildung auch $\varphi_g = \varphi_e\circ l_{g^{-1}}$ -schreiben. - -\subsubsection{Kartenwechsel} -Die Kartenwechsel-Abbildungen für zwei Karten $\varphi_{g_1}$ -und $\varphi_{g_2}$ ist die Abbildung -\[ -\varphi_{g_1,g_2} -= -\varphi_{g_1}\circ \varphi_{g_2}^{-1} -= -\varphi_e\circ l_{g_1^{-1}} \circ (\varphi_e\circ l_{g_2^{-1}})^{-1} -= -\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2^{-1}}^{-1} \varphi_e^{-1} -= -\varphi_e\circ l_{g_1^{-1}} \circ l_{g_2}\varphi_e^{-1} -= -\varphi_e\circ l_{g_1^{-1}g_2}\varphi_e^{-1} -\] -mit der Ableitung -\[ -D\varphi_e\circ Dl_{g_1^{-1}g_2} D\varphi_e^{-1} -= -D\varphi_e\circ Dl_{g_1^{-1}g_2} (D\varphi_e)^{-1}. -\] -Die Abbildung $l_{g_1^{-1}g_2}$ ist aber nur die Multiplikation mit -einer Matrix, also eine lineare Abbildung, so dass der Kartenwechsel -nichts anderes ist als die Darstellung der Matrix der Linksmultiplikation -$l_{g_1^{-1}g_2}$ im Koordinatensystem der Karte $U_e$ ist. -Differenzierbarkeit der Kartenwechsel ist damit sichergestellt, -die Matrizengruppen sind automatisch differenzierbare Mannigfaltigkeiten. - -Die Konstruktion aller Karten aus einer einzigen Karte für eine -Umgebung des neutralen Elements zeigt auch, dass es für die Matrizengruppen -reicht, wenn man die Elemente in einer Umgebung des neutralen -Elementes parametrisieren kann. -Dies ist jedoch nicht nur für die Matrizengruppen möglich. -Wenn eine Gruppe gleichzeitig eine differenzierbare Mannigfaltigkeit -ist, dann können Karten über die ganze Gruppe transportiert werden, -wenn die Multiplikation mit Gruppenelementen eine differenzierbare -Abbildung ist. -Solche Gruppen heissen auch Lie-Gruppen gemäss der folgenden Definition. - -\begin{definition} -\index{Lie-Gruppe}% -Eine {\em Lie-Gruppe} ist eine Gruppe, die gleichzeitig eine differenzierbare -Mannigfaltigkeit ist derart, dass die Abbildungen -\begin{align*} -G\times G \to G &: (g_1,g_2)\mapsto g_1g_2 -\\ -G\to G &: g \mapsto g^{-1} -\end{align*} -differenzierbare Abbildungen zwischen Mannigfaltigkeiten sind. -\end{definition} - -Die Abstraktheit dieser Definition täuscht etwas über die -Tatsache hinweg, dass sich mit Hilfe der Darstellungstheorie -jede beliebige Lie-Gruppe als Untermannigfaltigkeit einer -Matrizengruppe verstehen lässt. -Das Studium der Matrizengruppen erlaubt uns daher ohne grosse -Einschränkungen ein Verständnis für die Theorie der Lie-Gruppen -zu entwickeln. - -\subsubsection{Tangentialvektoren und die Exponentialabbildung} -Die Matrizengruppen sind alle in der -$n^2$-dimensionalen Mannigfaltigkeit $\operatorname{GL}_n(\mathbb{R})$ -enthalten. -Diffferenzierbare Kurven $\gamma(t)$ in $\operatorname{GL}_n(\mathbb{R})$ -haben daher in jedem Punkt Tangentialvektoren, die als Matrizen in -$M_n(\mathbb{R})$ betrachtet werden können. -Wenn $\gamma(t)$ die Matrixelemente $\gamma_{ij}(t)$ hat, dann ist der -Tangentialvektor im Punkt $\gamma(t)$ durch -\[ -\frac{d}{dt} -\gamma(t) -= -\begin{pmatrix} -\dot{\gamma}_{11}(t)&\dots &\dot{\gamma}_{1n}(t)\\ -\vdots &\ddots&\vdots \\ -\dot{\gamma}_{n1}(t)&\dots &\dot{\gamma}_{nn}(t) -\end{pmatrix} -\] -gegeben. - -Im Allgemeinen kann man Tangentialvektoren in verschiedenen Punkten -einer Mannigfaltigkeit nicht miteinander vergleichen. -Die Multiplikation $l_g$, die den Punkt $e$ in den Punkt $g$ verschiebt, -transportiert auch die Tangentialvektoren im Punkt $e$ in -Tangentialvektoren im Punkt $g$. - -\begin{aufgabe} -Gibt es eine Kurve $\gamma(t)\in\mathbb{GL}_n(\mathbb{R})$ mit -$\gamma(0)=e$ derart, dass der Tangentialvektor im Punkt $\gamma(t)$ -für $t>0$ derselbe ist wie der Tangentialvektor im Punkt $e$, transportiert -durch Matrixmultiplikation mit $\gamma(t)$? -\end{aufgabe} - -Eine solche Kurve muss die Differentialgleichung -\begin{equation} -\frac{d}{dt}\gamma(t) -= -\gamma(t)\cdot A -\label{buch:gruppen:eqn:expdgl} -\end{equation} -erfüllen, wobei $A\in M_n(\mathbb{R})$ der gegebene Tangentialvektor -in $e=I$ ist. - -Die Matrixexponentialfunktion -\[ -e^{At} -= -1+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\frac{A^4t^4}{4!}+\dots -\] -liefert eine Einparametergruppe -$\mathbb{R}\to \operatorname{GL}_n(\mathbb{R})$ mit der Ableitung -\[ -\frac{d}{dt} e^{At} -= -\lim_{h\to 0} \frac{e^{A(t+h)}-e^{At}}{h} -= -\lim_{h\to 0} e^{At}\frac{e^{Ah}-I}{h} -= -e^{At} A. -\] -Sie ist also Lösung der Differentialgleichung~\eqref{buch:gruppen:eqn:expdgl}. - -\subsection{Drehungen in der Ebene -\label{buch:gruppen:drehungen2d}} -Die Drehungen der Ebene sind die orientierungserhaltenden Symmetrien -des Einheitskreises, der in Abbildung~\ref{buch:gruppen:fig:kartenkreis} -als Mannigfaltigkeit erkannt wurde. -Sie bilden eine Lie-Gruppe, die auf verschiedene Arten als Matrix -beschrieben werden kann. - -\subsubsection{Die Untergruppe -$\operatorname{SO}(2)\subset \operatorname{GL}_2(\mathbb{R})$} -Drehungen der Ebene können in einer orthonormierten Basis durch -Matrizen der Form -\[ -D_{\alpha} -= -\begin{pmatrix} -\cos\alpha&-\sin\alpha\\ -\sin\alpha& \cos\alpha -\end{pmatrix} -\] -dargestellt werden. -Wir bezeichnen die Menge der Drehmatrizen in der Ebene mit -$\operatorname{SO}(2)\subset\operatorname{GL}_2(\mathbb{R})$. -Die Abbildung -\[ -D_{\bullet} -\colon -\mathbb{R}\to \operatorname{SO}(2) -: -\alpha \mapsto D_{\alpha} -\] -hat die Eigenschaften -\begin{align*} -D_{\alpha+\beta}&= D_{\alpha}D_{\beta} -\\ -D_0&=I -\\ -D_{2k\pi}&=I\qquad \forall k\in\mathbb{Z}. -\end{align*} -Daraus folgt zum Beispiel, dass $D_{\bullet}$ eine $2\pi$-periodische -Funktion ist. -$D_{\bullet}$ bildet die Menge der Winkel $[0,2\pi)$ bijektiv auf -die Menge der Drehmatrizen in der Ebene ab. - -Für jedes Intervall $(a,b)\subset\mathbb{R}$ mit Länge -$b-a < 2\pi$ ist die Abbildung $\alpha\mapsto D_{\alpha}$ umkehrbar, -die Umkehrung kann als Karte verwendet werden. -Zwei verschiedene Karten $\alpha_1\colon U_1\to\mathbb{R}$ und -$\alpha_2\colon U_2\to\mathbb{R}$ bilden die Elemente $g\in U_1\cap U_2$ -in Winkel $\alpha_1(g)$ und $\alpha_2(g)$ ab, für die -$D_{\alpha_1(g)}=D_{\alpha_2(g)}$ gilt. -Dies ist gleichbedeutend damit, dass $\alpha_1(g)=\alpha_2(g)+2\pi k$ -mit $k\in \mathbb{Z}$. -In einem Intervall in $U_1\cap U_2$ muss $k$ konstant sein. -Die Kartenwechselabblidung ist also nur die Addition eines Vielfachen -von $2\pi$, mit der identischen Abbildung als Ableitung. -Diese Karten führen also auf besonders einfache Kartenwechselabbildungen. - -\subsubsection{Die Untergruppe $S^1\subset\mathbb{C}$} -Ein alternatives Bild für die Drehungen der Ebene kann man in der komplexen -Ebene $\mathbb{C}$ erhalten. -Die Multiplikation mit der komplexen Zahl $e^{i\alpha}$ beschreibt eine -Drehung der komplexen Ebene um den Winkel $\alpha$. -Die Zahlen der Form $e^{i\alpha}$ haben den Betrag $1$ und die Abbildung -\[ -f\colon \mathbb{R}\to \mathbb{C}:\alpha \mapsto e^{i\alpha} -\] -hat die Eigenschaften -\begin{align*} -f(\alpha+\beta) &= f(\alpha)f(\beta) -\\ -f(0)&=1 -\\ -f(2\pi k)&=1\qquad\forall k\in\mathbb{Z}, -\end{align*} -die zu den Eigenschaften der Abbildung $\alpha\mapsto D_{\alpha}$ -analog sind. - -Jede komplexe Zahl $z$ vom Betrag $1$ kann geschrieben werden in der Form -$z=e^{i\alpha}$, die Abbildung $f$ ist also eine Parametrisierung des -Einheitskreises in der Ebene. -Wir bezeichen $S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ die komplexen Zahlen vom -Betrag $1$. -$S^1$ ist eine Gruppe bezüglich der Multiplikation, da für jede Zahl -$z,w\in S^1$ gilt -$|z^{-1}|=1$ und $|zw|=1$ und damit $z^{-1}\in S^1$ und $zw\in S^1$. - -Zu einer komplexen Zahl $z\in S^1$ gibt es einen bis auf Vielfache -von $2\pi$ eindeutigen Winkel $\alpha(z)$ derart, dass $e^{i\alpha(z)}=z$. -Damit kann man jetzt die Abbildung -\[ -\varphi -\colon -S^1\to \operatorname{SO}(2) -: -z\mapsto D_{\alpha(z)} -\] -konstruieren. -Da $D_{\alpha}$ $2\pi$-periodisch ist, geben um Vielfache -von $2\pi$ verschiedene Wahlen von $\alpha(z)$ die gleiche -Matrix $D_{\alpha(z)}$, die Abbildung $\varphi$ ist daher -wohldefiniert. -$\varphi$ erfüllt ausserdem die Bedingungen -\begin{align*} -\varphi(z_1z_2) -&= -D_{\alpha(z_1z_2)} -= -D_{\alpha(z_1)+\alpha(z_2)} -= -D_{\alpha(z_1)}D_{\alpha(z_2)} -= -\varphi(z_1)\varphi(z_2) -\\ -\varphi(1) -&= -D_{\alpha(1)} -= -D_0 -= -I -\end{align*} -Die Abbildung $\varphi$ ist ein Homomorphismus der Gruppe $S^1$ -in die Gruppe $\operatorname{SO}(2)$. -Die Menge der Drehmatrizen in der Ebene kann also mit dem Einheitskreis -in der komplexen Ebene identifiziert werden. - -\subsubsection{Tangentialvektoren von $\operatorname{SO}(2)$} -Da die Gruppe $\operatorname{SO}(2)$ eine eindimensionale Gruppe -ist, kann jede Kurve $\gamma(t)$ durch den Drehwinkel $\alpha(t)$ -mit $\gamma(t) = D_{\alpha(t)}$ beschrieben werden. -Die Ableitung in $M_2(\mathbb{R})$ ist -\begin{align*} -\frac{d}{dt} \gamma(t) -&= -\frac{d}{d\alpha} -\begin{pmatrix} -\cos\alpha(t) & - \sin\alpha(t)\\ -\sin\alpha(t) & \cos\alpha(t) -\end{pmatrix} -\cdot -\frac{d\alpha}{dt} -\\ -&= -\begin{pmatrix} --\sin\alpha(t)&-\cos\alpha(t)\\ - \cos\alpha(t)&-\sin\alpha(t) -\end{pmatrix} -\cdot -\dot{\alpha}(t) -\\ -&= -\begin{pmatrix} -\cos\alpha(t) & - \sin\alpha(t)\\ -\sin\alpha(t) & \cos\alpha(t) -\end{pmatrix} -\begin{pmatrix} -0&-1\\ -1&0 -\end{pmatrix} -\cdot -\dot{\alpha}(t) -= -D_{\alpha(t)}J\cdot\dot{\alpha}(t). -\end{align*} -Alle Tangentialvektoren von $\operatorname{SO}(2)$ im Punkt $D_\alpha$ -entstehen aus $J$ durch Drehung mit der Matrix $D_\alpha$ und Skalierung -mit $\dot{\alpha}(t)$. - -% -% Isometrien von R^n -% -\subsection{Isometrien von $\mathbb{R}^n$ -\label{buch:gruppen:isometrien}} - -\subsubsection{Skalarprodukt} -Lineare Abbildungen des Raumes $\mathbb{R}^n$ können durch -$n\times n$-Matrizen beschrieben werden. -Die Matrizen, die das Standardskalarprodukt $\mathbb{R}^n$ erhalten, -bilden eine Gruppe, die in diesem Abschnitt genauer untersucht werden soll. -Eine Matrix $A\in M_{n}(\mathbb{R})$ ändert das Skalarprodukt, wenn -für jedes beliebige Paar $x,y$ von Vektoren gilt -$\langle Ax,Ay\rangle = \langle x,y\rangle$. -Das Standardskalarprodukt kann mit dem Matrixprodukt ausgedrückt werden: -\[ -\langle Ax,Ay\rangle -= -(Ax)^tAy -= -x^tA^tAy -= -x^ty -= -\langle x,y\rangle -\] -für jedes Paar von Vektoren $x,y\in\mathbb{R}$. - -Mit dem Skalarprodukt kann man auch die Matrixelemente einer Matrix -einer Abbildung $f$ in der Standardbasis bestimmen. -Das Skalarprodukt $\langle e_i, v\rangle$ ist die Länge der Projektion -des Vektors $v$ auf die Richtung $e_i$. -Die Komponenten von $Ae_j$ sind daher $a_{ij}=\langle e_i,f(e_j)\rangle$. -Die Matrix $A$ der Abbildung $f$ hat also die Matrixelemente -$a_{ij}=e_i^tAe_j$. - -\subsubsection{Die orthogonale Gruppe $\operatorname{O}(n)$} -Die Matrixelemente von $A^tA$ sind -$\langle A^tAe_i, e_j\rangle =\langle e_i,e_j\rangle = \delta_{ij}$ -sind diejenigen der Einheitsmatrix, -die Matrix $A$ erfüllt $AA^t=I$ oder $A^{-1}=A^t$. -Dies sind die {\em orthogonalen} Matrizen. -Die Menge $\operatorname{O}(n)$ der isometrischen Abbildungen besteht -daher aus den Matrizen -\[ -\operatorname{O}(n) -= -\{ A\in M_n(\mathbb{R})\;|\; AA^t=I\}. -\] -Die Matrixgleichung $AA^t=I$ liefert $n(n+1)/2$ unabhängige Bedingungen, -die die orthogonalen Matrizen innerhalb der $n^2$-dimensionalen -Menge $M_n(\mathbb{R})$ auszeichnen. -Die Menge $\operatorname{O}(n)$ der orthogonalen Matrizen hat daher -die Dimension -\[ -n^2 - \frac{n(n+1)}{2} -= -\frac{2n^2-n^2-n}{2} -= -\frac{n(n-1)}2. -\] -Im Spezialfall $n=2$ ist die Gruppe $O(2)$ eindimensional. - -\subsubsection{Tangentialvektoren} -Die orthogonalen Matrizen bilden eine abgeschlossene Untermannigfaltigkeit -von $\operatorname{GL}_n(\mathbb{R})$, nicht jede Matrix $M_n(\mathbb{R})$ -kann also ein Tangentialvektor von $O(n)$ sein. -Um herauszufinden, welche Matrizen als Tangentialvektoren in Frage -kommen, betrachten wir eine Kurve $\gamma\colon\mathbb{R}\to O(n)$ -von orthogonalen Matrizen mit $\gamma(0)=I$. -Orthogonal bedeutet -\[ -\begin{aligned} -&& -0 -&= -\frac{d}{dt}I -= -\frac{d}{dt} -(\gamma(t)^t\gamma(t)) -= -\dot{\gamma}(t)^t\gamma(t)) -+ -\gamma(t)^t\dot{\gamma}(t)) -\\ -&\Rightarrow& -0 -&= -\dot{\gamma}(0)^t \cdot I + I\cdot \dot{\gamma(0)} -= -\dot{\gamma}(0)^t + \dot{\gamma}(0) -= -A^t+A=0 -\\ -&\Rightarrow& -A^t&=-A -\end{aligned} -\] -Die Tangentialvektoren von $\operatorname{O}(n)$ sind also genau -die antisymmetrischen Matrizen. - -Für $n=2$ sind alle antisymmetrischen Matrizen Vielfache der Matrix -$J$, wie in Abschnitt~\ref{buch:gruppen:drehungen2d} -gezeigt wurde. - -Für jedes Paar $i0$ derselbe ist wie der Tangentialvektor im Punkt $e$, transportiert +durch Matrixmultiplikation mit $\gamma(t)$? +\end{aufgabe} + +Eine solche Kurve muss die Differentialgleichung +\begin{equation} +\frac{d}{dt}\gamma(t) += +\gamma(t)\cdot A +\label{buch:gruppen:eqn:expdgl} +\end{equation} +erfüllen, wobei $A\in M_n(\mathbb{R})$ der gegebene Tangentialvektor +in $e=I$ ist. + +Die Matrixexponentialfunktion +\[ +e^{At} += +1+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\frac{A^4t^4}{4!}+\dots +\] +liefert eine Einparametergruppe +$\mathbb{R}\to \operatorname{GL}_n(\mathbb{R})$ mit der Ableitung +\[ +\frac{d}{dt} e^{At} += +\lim_{h\to 0} \frac{e^{A(t+h)}-e^{At}}{h} += +\lim_{h\to 0} e^{At}\frac{e^{Ah}-I}{h} += +e^{At} A. +\] +Sie ist also Lösung der Differentialgleichung~\eqref{buch:gruppen:eqn:expdgl}. + +\subsection{Drehungen in der Ebene +\label{buch:gruppen:drehungen2d}} +Die Drehungen der Ebene sind die orientierungserhaltenden Symmetrien +des Einheitskreises, der in Abbildung~\ref{buch:gruppen:fig:kartenkreis} +als Mannigfaltigkeit erkannt wurde. +Sie bilden eine Lie-Gruppe, die auf verschiedene Arten als Matrix +beschrieben werden kann. + +\subsubsection{Die Untergruppe +$\operatorname{SO}(2)\subset \operatorname{GL}_2(\mathbb{R})$} +Drehungen der Ebene können in einer orthonormierten Basis durch +Matrizen der Form +\[ +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +dargestellt werden. +Wir bezeichnen die Menge der Drehmatrizen in der Ebene mit +$\operatorname{SO}(2)\subset\operatorname{GL}_2(\mathbb{R})$. +Die Abbildung +\[ +D_{\bullet} +\colon +\mathbb{R}\to \operatorname{SO}(2) +: +\alpha \mapsto D_{\alpha} +\] +hat die Eigenschaften +\begin{align*} +D_{\alpha+\beta}&= D_{\alpha}D_{\beta} +\\ +D_0&=I +\\ +D_{2k\pi}&=I\qquad \forall k\in\mathbb{Z}. +\end{align*} +Daraus folgt zum Beispiel, dass $D_{\bullet}$ eine $2\pi$-periodische +Funktion ist. +$D_{\bullet}$ bildet die Menge der Winkel $[0,2\pi)$ bijektiv auf +die Menge der Drehmatrizen in der Ebene ab. + +Für jedes Intervall $(a,b)\subset\mathbb{R}$ mit Länge +$b-a < 2\pi$ ist die Abbildung $\alpha\mapsto D_{\alpha}$ umkehrbar, +die Umkehrung kann als Karte verwendet werden. +Zwei verschiedene Karten $\alpha_1\colon U_1\to\mathbb{R}$ und +$\alpha_2\colon U_2\to\mathbb{R}$ bilden die Elemente $g\in U_1\cap U_2$ +in Winkel $\alpha_1(g)$ und $\alpha_2(g)$ ab, für die +$D_{\alpha_1(g)}=D_{\alpha_2(g)}$ gilt. +Dies ist gleichbedeutend damit, dass $\alpha_1(g)=\alpha_2(g)+2\pi k$ +mit $k\in \mathbb{Z}$. +In einem Intervall in $U_1\cap U_2$ muss $k$ konstant sein. +Die Kartenwechselabblidung ist also nur die Addition eines Vielfachen +von $2\pi$, mit der identischen Abbildung als Ableitung. +Diese Karten führen also auf besonders einfache Kartenwechselabbildungen. + +\subsubsection{Die Untergruppe $S^1\subset\mathbb{C}$} +Ein alternatives Bild für die Drehungen der Ebene kann man in der komplexen +Ebene $\mathbb{C}$ erhalten. +Die Multiplikation mit der komplexen Zahl $e^{i\alpha}$ beschreibt eine +Drehung der komplexen Ebene um den Winkel $\alpha$. +Die Zahlen der Form $e^{i\alpha}$ haben den Betrag $1$ und die Abbildung +\[ +f\colon \mathbb{R}\to \mathbb{C}:\alpha \mapsto e^{i\alpha} +\] +hat die Eigenschaften +\begin{align*} +f(\alpha+\beta) &= f(\alpha)f(\beta) +\\ +f(0)&=1 +\\ +f(2\pi k)&=1\qquad\forall k\in\mathbb{Z}, +\end{align*} +die zu den Eigenschaften der Abbildung $\alpha\mapsto D_{\alpha}$ +analog sind. + +Jede komplexe Zahl $z$ vom Betrag $1$ kann geschrieben werden in der Form +$z=e^{i\alpha}$, die Abbildung $f$ ist also eine Parametrisierung des +Einheitskreises in der Ebene. +Wir bezeichen $S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ die komplexen Zahlen vom +Betrag $1$. +$S^1$ ist eine Gruppe bezüglich der Multiplikation, da für jede Zahl +$z,w\in S^1$ gilt +$|z^{-1}|=1$ und $|zw|=1$ und damit $z^{-1}\in S^1$ und $zw\in S^1$. + +Zu einer komplexen Zahl $z\in S^1$ gibt es einen bis auf Vielfache +von $2\pi$ eindeutigen Winkel $\alpha(z)$ derart, dass $e^{i\alpha(z)}=z$. +Damit kann man jetzt die Abbildung +\[ +\varphi +\colon +S^1\to \operatorname{SO}(2) +: +z\mapsto D_{\alpha(z)} +\] +konstruieren. +Da $D_{\alpha}$ $2\pi$-periodisch ist, geben um Vielfache +von $2\pi$ verschiedene Wahlen von $\alpha(z)$ die gleiche +Matrix $D_{\alpha(z)}$, die Abbildung $\varphi$ ist daher +wohldefiniert. +$\varphi$ erfüllt ausserdem die Bedingungen +\begin{align*} +\varphi(z_1z_2) +&= +D_{\alpha(z_1z_2)} += +D_{\alpha(z_1)+\alpha(z_2)} += +D_{\alpha(z_1)}D_{\alpha(z_2)} += +\varphi(z_1)\varphi(z_2) +\\ +\varphi(1) +&= +D_{\alpha(1)} += +D_0 += +I +\end{align*} +Die Abbildung $\varphi$ ist ein Homomorphismus der Gruppe $S^1$ +in die Gruppe $\operatorname{SO}(2)$. +Die Menge der Drehmatrizen in der Ebene kann also mit dem Einheitskreis +in der komplexen Ebene identifiziert werden. + +\subsubsection{Tangentialvektoren von $\operatorname{SO}(2)$} +Da die Gruppe $\operatorname{SO}(2)$ eine eindimensionale Gruppe +ist, kann jede Kurve $\gamma(t)$ durch den Drehwinkel $\alpha(t)$ +mit $\gamma(t) = D_{\alpha(t)}$ beschrieben werden. +Die Ableitung in $M_2(\mathbb{R})$ ist +\begin{align*} +\frac{d}{dt} \gamma(t) +&= +\frac{d}{d\alpha} +\begin{pmatrix} +\cos\alpha(t) & - \sin\alpha(t)\\ +\sin\alpha(t) & \cos\alpha(t) +\end{pmatrix} +\cdot +\frac{d\alpha}{dt} +\\ +&= +\begin{pmatrix} +-\sin\alpha(t)&-\cos\alpha(t)\\ + \cos\alpha(t)&-\sin\alpha(t) +\end{pmatrix} +\cdot +\dot{\alpha}(t) +\\ +&= +\begin{pmatrix} +\cos\alpha(t) & - \sin\alpha(t)\\ +\sin\alpha(t) & \cos\alpha(t) +\end{pmatrix} +\begin{pmatrix} +0&-1\\ +1&0 +\end{pmatrix} +\cdot +\dot{\alpha}(t) += +D_{\alpha(t)}J\cdot\dot{\alpha}(t). +\end{align*} +Alle Tangentialvektoren von $\operatorname{SO}(2)$ im Punkt $D_\alpha$ +entstehen aus $J$ durch Drehung mit der Matrix $D_\alpha$ und Skalierung +mit $\dot{\alpha}(t)$. + +% +% Isometrien von R^n +% +\subsection{Isometrien von $\mathbb{R}^n$ +\label{buch:gruppen:isometrien}} + +\subsubsection{Skalarprodukt} +Lineare Abbildungen des Raumes $\mathbb{R}^n$ können durch +$n\times n$-Matrizen beschrieben werden. +Die Matrizen, die das Standardskalarprodukt $\mathbb{R}^n$ erhalten, +bilden eine Gruppe, die in diesem Abschnitt genauer untersucht werden soll. +Eine Matrix $A\in M_{n}(\mathbb{R})$ ändert das Skalarprodukt, wenn +für jedes beliebige Paar $x,y$ von Vektoren gilt +$\langle Ax,Ay\rangle = \langle x,y\rangle$. +Das Standardskalarprodukt kann mit dem Matrixprodukt ausgedrückt werden: +\[ +\langle Ax,Ay\rangle += +(Ax)^tAy += +x^tA^tAy += +x^ty += +\langle x,y\rangle +\] +für jedes Paar von Vektoren $x,y\in\mathbb{R}$. + +Mit dem Skalarprodukt kann man auch die Matrixelemente einer Matrix +einer Abbildung $f$ in der Standardbasis bestimmen. +Das Skalarprodukt $\langle e_i, v\rangle$ ist die Länge der Projektion +des Vektors $v$ auf die Richtung $e_i$. +Die Komponenten von $Ae_j$ sind daher $a_{ij}=\langle e_i,f(e_j)\rangle$. +Die Matrix $A$ der Abbildung $f$ hat also die Matrixelemente +$a_{ij}=e_i^tAe_j$. + +\subsubsection{Die orthogonale Gruppe $\operatorname{O}(n)$} +Die Matrixelemente von $A^tA$ sind +$\langle A^tAe_i, e_j\rangle =\langle e_i,e_j\rangle = \delta_{ij}$ +sind diejenigen der Einheitsmatrix, +die Matrix $A$ erfüllt $AA^t=I$ oder $A^{-1}=A^t$. +Dies sind die {\em orthogonalen} Matrizen. +Die Menge $\operatorname{O}(n)$ der isometrischen Abbildungen besteht +daher aus den Matrizen +\[ +\operatorname{O}(n) += +\{ A\in M_n(\mathbb{R})\;|\; AA^t=I\}. +\] +Die Matrixgleichung $AA^t=I$ liefert $n(n+1)/2$ unabhängige Bedingungen, +die die orthogonalen Matrizen innerhalb der $n^2$-dimensionalen +Menge $M_n(\mathbb{R})$ auszeichnen. +Die Menge $\operatorname{O}(n)$ der orthogonalen Matrizen hat daher +die Dimension +\[ +n^2 - \frac{n(n+1)}{2} += +\frac{2n^2-n^2-n}{2} += +\frac{n(n-1)}2. +\] +Im Spezialfall $n=2$ ist die Gruppe $O(2)$ eindimensional. + +\subsubsection{Tangentialvektoren} +Die orthogonalen Matrizen bilden eine abgeschlossene Untermannigfaltigkeit +von $\operatorname{GL}_n(\mathbb{R})$, nicht jede Matrix $M_n(\mathbb{R})$ +kann also ein Tangentialvektor von $O(n)$ sein. +Um herauszufinden, welche Matrizen als Tangentialvektoren in Frage +kommen, betrachten wir eine Kurve $\gamma\colon\mathbb{R}\to O(n)$ +von orthogonalen Matrizen mit $\gamma(0)=I$. +Orthogonal bedeutet +\[ +\begin{aligned} +&& +0 +&= +\frac{d}{dt}I += +\frac{d}{dt} +(\gamma(t)^t\gamma(t)) += +\dot{\gamma}(t)^t\gamma(t)) ++ +\gamma(t)^t\dot{\gamma}(t)) +\\ +&\Rightarrow& +0 +&= +\dot{\gamma}(0)^t \cdot I + I\cdot \dot{\gamma(0)} += +\dot{\gamma}(0)^t + \dot{\gamma}(0) += +A^t+A=0 +\\ +&\Rightarrow& +A^t&=-A +\end{aligned} +\] +Die Tangentialvektoren von $\operatorname{O}(n)$ sind also genau +die antisymmetrischen Matrizen. + +Für $n=2$ sind alle antisymmetrischen Matrizen Vielfache der Matrix +$J$, wie in Abschnitt~\ref{buch:gruppen:drehungen2d} +gezeigt wurde. + +Für jedes Paar $i0}\{(x,y)\;|\;x^2+y^2=1\wedge x>0\} \to\mathbb{R} -: -(x,y) \mapsto y -\\ -\varphi_2&\colon U_{x<0}\{(x,y)\;|\;x^2+y^2=1\wedge x<0\} \to\mathbb{R} -: -(x,y) \mapsto y -\\ -\varphi_3&\colon U_{y>0}\{(x,y)\;|\;x^2+y^2=1\wedge y>0\} \to\mathbb{R} -: -(x,y) \mapsto x -\\ -\varphi_4&\colon U_{y<0}\{(x,y)\;|\;x^2+y^2=1\wedge y<0\} \to\mathbb{R} -: -(x,y) \mapsto x -\end{align*} -Die Werte der Kartenabbildungen sind genau die $x$- und $y$-Koordinaten -auf der in den Raum $\mathbb{R}^2$ eingebetteten Kreislinie. - -Für $\varphi_1$ und $\varphi_2$ sind die Definitionsgebiete disjunkt, -hier gibt es also keine Notwendigkeit, Koordinatenumrechnungen vornehmen -zu können. -Dasselbe gilt für $\varphi_3$ und $\varphi_4$. - -Die nichtleeren Schnittmengen der verschiedenen Kartengebiete beschreiben -jeweils die Punkte der Kreislinie in einem Quadranten. -Die Umrechnung zwischen den Koordinaten und ihre Ableitung -ist je nach Quadrant durch -\begin{align*} -&\text{1.~Quadrant}& -\varphi_{31} -&= -\varphi_3\circ\varphi_1^{-1}\colon y\mapsto\phantom{-}\sqrt{1-y^2\mathstrut} -& -D\varphi_{31} -&= --\frac{y}{\sqrt{1-y^2\mathstrut}} -\\ -&\text{2.~Quadrant}& -\varphi_{24} -&= -\varphi_3\circ\varphi_1^{-1}\colon x\mapsto\phantom{-}\sqrt{1-x^2\mathstrut} -& -D\varphi_{24} -&= --\frac{x}{\sqrt{1-x^2\mathstrut}} -\\ -&\text{3.~Quadrant}& -\varphi_{42} -&= -\varphi_3\circ\varphi_1^{-1}\colon y\mapsto-\sqrt{1-y^2\mathstrut} -& -D\varphi_{42} -&= -\phantom{-}\frac{y}{\sqrt{1-y^2\mathstrut}} -\\ -&\text{4.~Quadrant}& -\varphi_{14} -&= -\varphi_3\circ\varphi_1^{-1}\colon x\mapsto-\sqrt{1-x^2\mathstrut} -& -D\varphi_{14} -&= -\phantom{-}\frac{x}{\sqrt{1-x^2\mathstrut}} -\end{align*} -gegeben. -Diese Abbildungen sind im offenen Intervall $(-1,1)$ differenzierbar, -Schwierigkeiten mit der Ableitungen ergeben sich nur an den Stellen -$x=\pm1$ und $y=\pm 1$, die in einem Überschneidungsgebiet von Karten -nicht vorkommen können. -Somit bilden die vier Karten einen differenzierbaren Atlas für -die Kreislinie (Abbildung~\ref{buch:gruppen:fig:kartenkreis}). -\end{beispiel} - -\begin{beispiel} -Ganz analog zum vorangegangenen Beispiel über die Kreisline lässt sich -für eine $n$-di\-men\-sio\-nale Sphäre -\[ -S^n = \{ (x_1,\dots,x_{n+1})\;|\; x_0^2+\dots+x_n^2=1\} -\] -immer ein Atlas aus $2^{n+1}$ Karten mit den Koordinatenabbildungen -\[ -\varphi_{i,\pm} -\colon -U_{i,\pm} -= -\{p\in S^n\;|\; \pm x_i >0\} -\to -\mathbb{R}^n -: -p\mapsto (x_1,\dots,\hat{x}_i,\dots,x_{n+1}) -\] -konstruieren, der $S^n$ zu einer $n$-dimensionalen Mannigfaltigkeit macht. -\end{beispiel} - -\subsubsection{Tangentialraum} -Mit Hilfe einer Karte $\varphi_\alpha\colon U_\alpha\to\mathbb{R}^n$ -kann das Geschehen in einer Mannigfaltigkeit in den vertrauten -$n$-dimensionalen Raum $\mathbb{B}^n$ transportiert werden. -Eine Kurve $\gamma\colon \mathbb{R}\to M$, die so parametrisiert sein -soll, dass $\gamma(t)\in U_\alpha$ für $t$ in einer Umgebung $I$ von $0$ ist, -wird von der Karte in eine Kurve -$\gamma_\alpha=\varphi_\alpha\circ\gamma\colon I\to \mathbb{R}^n$ -abgebildet, -deren Tangentialvektor wieder ein Vektor in $\mathbb{R}^n$ ist. - -Eine zweite Karte $\varphi_\beta$ führt auf eine andere Kurve -mit der Parametrisierung -$\gamma_\beta=\varphi_\beta\circ\gamma\colon I \to \mathbb{R}^n$ -und einem anderen Tangentialvektor. -Die beiden Tangentialvektoren können aber mit der Ableitung der -Koordinatenwechsel-Abbildung -$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}\colon -\varphi_\alpha(U_\alpha\cap U_\beta)\to \mathbb{R}^n$ -ineinander umgerechnet werden. -Aus -\[ -\gamma_\beta -= -\varphi_\beta\circ \gamma -= -( -\varphi_\beta -\circ -\varphi_\alpha^{-1} -) -\circ -\varphi_\alpha\circ\gamma -= -\varphi_{\beta\alpha} -\circ -\varphi_\alpha\circ\gamma -= -\varphi_{\beta\alpha}\circ\gamma_\alpha -\] -folgt durch Ableitung nach dem Kurvenparameter $t$, dass -\[ -\frac{d}{dt}\gamma_\beta(t) -= -D\varphi_{\beta\alpha} -\cdot -\frac{d}{dt}\gamma_\alpha(t). -\] -Die Ableitung $D\varphi_{\beta\alpha}$ von $\varphi_{\beta\alpha}$ -an der Stelle $\gamma_\alpha(t)$ berechnet also aus dem Tangentialvektor -einer Kurve in der Karte $\varphi_\alpha$ den Tangentialvektor der -Kurve in der Karte $\varphi_\beta$. - -Die Forderung nach Differenzierbarkeit der Kartenwechselabbildungen -$\varphi_{\beta\alpha}$ stellt also nur sicher, dass die Beschreibung -eines Systemes mit Differentialgleichungen in verschiedenen -Koordinatensystemen auf die gleichen Lösungskurven in der -Mannigfaltigkeit führt. -Insbesondere ist die Verwendung von Karten ist also nur ein Werkzeug, -mit dem die Unmöglichkeit einer globalen Besschreibung einer -Mannigfaltigkeit $M$ mit einem einzigen globalen Koordinatensystem -ohne Singularitäten umgangen werden kann. - -\begin{beispiel} -Das Beispiel des Kreises in Abbildung~\ref{buch:gruppen:fig:kartenkreis} -zeigt, dass die Tangentialvektoren je nach Karte sehr verschieden -aussehen können. -Der Tangentialvektor der Kurve $\gamma(t) = (x(t), y(t))$ im Punkt -$\gamma(t)$ ist $\dot{y}(t)$ in den Karten $\varphi_1$ und $\varphi_2$ -und $\dot{x}(t)$ in den Karten $\varphi_3$ und $\varphi_4$. - -Die spezielle Kurve $\gamma(t) = (\cos t,\sin t)$ hat in einem Punkt -$t\in (0,\frac{\pi}2)$. -in der Karte $\varphi_1$ den Tangentialvektor $\dot{y}(t)=\cos t$, -in der Karte $\varphi_3$ aber den Tangentialvektor $\dot{x}=-\sin t$. -Die Ableitung des Kartenwechsels in diesem Punkt ist die $1\times 1$-Matrix -\[ -D\varphi_{31}(\gamma(t)) -= --\frac{y(t)}{\sqrt{1-y(t)^2}} -= --\frac{\sin t}{\sqrt{1-\sin^2 t}} -= --\frac{\sin t}{\cos t} -= --\tan t. -\] -Die Koordinatenumrechnung ist gegeben durch -\[ -\dot{x}(t) -= -D\varphi_{31}(\gamma(t)) -\dot{y}(t) -\] -wird für die spezielle Kurve $\gamma(t)=(\cos t,\sin t)$ wird dies zu -\[ -D\varphi_{31}(\gamma(t)) -\cdot -\dot{y}(t) -= --\tan t\cdot \cos t -= --\frac{\sin t}{\cos t}\cdot \cos t -= --\sin t -= -\dot{x}(t). -\qedhere -\] -\end{beispiel} - -Betrachtet man die Kreislinie als Kurve in $\mathbb{R}^2$, -dann ist der Tangentialvektor durch -$\dot{\gamma}(t)=(\dot{x}(t),\dot{y}(t))$ gegeben. -Da die Karten Projektionen auf die $x$- bzw.~$y$-Achsen sind, -entsteht der Tangentialvektor in der Karte durch Projektion -von $(\dot{x}(t),\dot{y}(t))$ auf die entsprechende Komponente. - -Die Tangentialvektoren in zwei verschiedenen Punkten der Kurve können -im Allgemeinen nicht miteinander verglichen werden. -Darüber hinweg hilft auch die Tatsache nicht, dass die Kreislinie -in den Vektorraum $\mathbb{R}^2$ eingebettet sind, wo sich Vektoren -durch Translation miteinander vergleichen lassen. -Ein nichtverschwindender Tangentialvektor im Punkt $(1,0)$ hat, -betrachtet als Vektor in $\mathbb{R}^2$ verschwindende $x$-Komponente, -für Tangentialvektoren im Inneren eines Quadranten ist dies nicht -der Fall. - -Eine Möglichkeit, einen Tangentialvektor in $(1,0)$ mit einem -Tangentialvektor im Punkt $(\cos t,\sin t)$ zu vergleichen, besteht -darin, den Vektor um den Winkel $t$ zu drehen. -Dies ist möglich, weil die Kreislinie eine kontinuierliche Symmetrie, -nämlich die Drehung um den Winkel $t$ hat, die es erlaubt, den Punkt $(1,0)$ -in den Punkt $(\cos t,\sin t)$ abzubilden. -Erst diese Symmetrie ermöglicht den Vergleich. -Dieser Ansatz ist für alle Matrizen erfolgreich, wie wir später sehen werden. - -Ein weiterer Ansatz, Tangentialvektoren zu vergleichen, ist die Idee, -einen sogenannten Zusammenhang zu definieren, eine Vorschrift, wie -Tangentialvektoren infinitesimal entlang von Kurven in der Mannigfaltigkeit -transportiert werden können. -Auf einer sogenannten {\em Riemannschen Mannigfaltigkeit} ist zusätzlich -zur Mannigfaltigkeitsstruktur die Längenmessung definiert. -Sie kann dazu verwendet werden, den Transport von Vektoren entlang einer -Kurve so zu definieren, dass dabei Längen und Winkel erhalten bleiben. -Dieser Ansatz ist die Basis der Theorie der Krümmung sogenannter -Riemannscher Mannigfaltigkeiten. - -\subsection{Der Satz von Noether -\label{buch:subsection:noether}} - - - - - - - +% +% symmetrien.tex -- Geometrische Beschreibung von Symmetrien, O(n), SO(n), +% Spiegelungen +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Symmetrien +\label{buch:section:symmetrien}} +\rhead{Symmetrien} +Der geometrische Begriff der Symmetrie meint die Eigenschaft eines +geometrischen Objektes, dass es bei einer Bewegung auf sich selbst +abgebildet wird. +Das Wort stammt aus dem altgriechischen, wo es {\em Gleichmass} +bedeutet. +Spiegelsymmetrische Objekte zeichnen sich zum Beispiel dadurch aus, +dass Messungen von Strecken die gleichen Werte ergeben wie die Messungen +der entsprechenden gespiegelten Strecken (siehe auch +Abbildung~\ref{buch:lie:bild:castlehoward}, was die Herkunft des +Begriffs verständlich macht. +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/60-gruppen/images/castle.jpeg} +\caption{Das Castle Howard in Yorkshire war in dieser ausgeprägt symmetrischen +Form geplant, wurde dann aber in modifizeirter Form gebaut. +Messungen zwischen Punkten in der rechten Hälfte des Bildes +ergeben die gleichen Werte wie Messungen entsprechenden Strecken +in der linken Hälfte, was den Begriff Symmetrie rechtfertigt. +\label{buch:lie:bild:castlehoward}} +\end{figure} +In der Physik wird dem Begriff der Symmetrie daher auch eine erweiterte +Bedeutung gegeben. +Jede Transformation eines Systems, welche bestimmte Grössen nicht +verändert, wird als Symmetrie bezeichnet. +Die Gesetze der Physik sind typischerweise unabhängig davon, wo man den +den Nullpunkt der Zeit oder das räumlichen Koordinatensystems ansetzt, +eine Transformation des Zeitnullpunktes oder des Ursprungs des +Koordinatensystems ändert daher die Bewegungsgleichungen nicht, sie ist +eine Symmetrie des Systems. + +Umgekehrt kann man fragen, welche Symmetrien ein System hat. +Da sich Symmetrien zusammensetzen und umkehren lassen, kann man in davon +ausgehen, dass die Symmetrietransformationen eine Gruppe bilden. +Besonders interessant ist dies im Falle von Transformationen, die +durch Matrizen beschrieben weren. +Eine unter der Symmetrie erhaltene Eigenschaft definiert so eine +Untergruppe der Gruppe $\operatorname{GL}_n(\mathbb{R})$ der +invertierbaren Matrizen. +Die erhaltenen Eigenschaften definieren eine Menge von Gleichungen, +denen die Elemente der Untergruppe genügen müssen. +Als Lösungsmenge einer Gleichung erhält die Untergruppe damit eine +zusätzliche geometrische Struktur, man nennt sie eine differenzierbare +Mannigfaltigkeit. +Dieser Begriff wird im Abschnitt~\ref{buch:subsection:mannigfaltigkeit} +eingeführt. +Es wird sich zum Beispiel zeigen, dass die Menge der Drehungen der +Ebene mit den Punkten eines Kreises parametrisieren lassen, +die Lösungen der Gleichung $x^2+y^2=1$ sind. + +Eine Lie-Gruppe ist eine Gruppe, die gleichzeitig eine differenzierbare +Mannigfaltigkeit ist. +Die Existenz von geometrischen Konzepten wie Tangentialvektoren +ermöglicht zusätzliche Werkzeuge, mit denen diese Gruppe untersucht +und verstanden werden können. +Ziel dieses Abschnitts ist, die Grundlagen für diese Untersuchung zu +schaffen, die dann im Abschnitt~\ref{buch:section:lie-algebren} +durchgeführt werden soll. + +\subsection{Algebraische Symmetrien +\label{buch:subsection:algebraische-symmetrien}} +Mit Matrizen lassen sich Symmetrien in einem geometrischen Problem +oder in einem physikalischen System beschreiben. +Man denkt dabei gerne zuerst an geometrische Symmetrien wie die +Symmetrie unter Punktspiegelung oder die Spiegelung an der $x_1$-$x_2$-Ebene, +wie sie zum Beispiel durch die Abbildungen +\[ +\mathbb{R}^3\to\mathbb{R}^3 : x\mapsto -x +\qquad\text{oder}\qquad +\mathbb{R}^3\to\mathbb{R}^3 : +\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix} +\mapsto +\begin{pmatrix}-x_1\\x_2\\x_3\end{pmatrix} +\] +dargestellt werden. +Beide haben zunächst die Eigenschaft, dass Längen und Winkel und damit +das Skalarprodukt erhalten sind. +Diese Eigenschaft allein erlaubt aber noch nicht, die beiden Transformationen +zu unterscheiden. +Die Punktspiegelung zeichnet sich dadurch aus, das alle Geraden und alle +Ebenen durch den Ursprung auf sich selbst abgebildet werden. +Dies funktioniert für die Ebenenspiegelung nicht, dort bleibt nur die +Spiegelungsebene (die $x_1$-$x_2$-Ebene im vorliegenden Fall) und +ihre Normale erhalten. +Die folgenden Beispiele sollen zeigen, wie solche Symmetriedefinitionen +auf algebraische Bedingungen an die Matrixelemente führen. + +Zu jeder Abbildung $f\colon\mathbb{R}^n\to\mathbb{R}^n$, unter der +ein geometrisches Objekt in $\mathbb{R}^n$ symmetrisch ist, können wir +sofort weitere Abbildungen angeben, die ebenfalls Symmetrien sind. +Zum Beispiel sind die iterierten Abbildungen $f\circ f$, $f\circ f\circ f$ +u.~s.~w., die wir auch $f^n$ mit $n\in\mathbb{N}$ schreiben werden, +ebenfalls Symmetrien. +Wenn die Symmetrie auch umkehrbar ist, dann gilt dies sogar für alle +$n\in\mathbb{Z}$. +Wir erhalten so eine Abbildung +$\varphi\colon \mathbb{Z}\to \operatorname{GL}_n(\mathbb{R}):n\mapsto f^n$ +mit den Eigenschaften $\varphi(0)=f^0 = I$ und +$\varphi(n+m)=f^{n+m}=f^n\circ f^m = \varphi(n)\circ\varphi(m)$. +$\varphi$ ist ein Homomorphismus der Gruppe $\mathbb{Z}$ in die Gruppe +$\operatorname{GL}_n(\mathbb{R})$. +Wir nennen dies eine {\em diskrete Symmetrie}. + +\subsection{Kontinuierliche Symmetrien +\label{buch:subsection:kontinuierliche-symmetrien}} +Von besonderem Interesse sind kontinuierliche Symmetrien. +Dies sind Abbildungen eines Systems, die von einem Parameter +abhängen. +Zum Beispiel können wir Drehungen der Ebene $\mathbb{R}^2$ um den +Winkel $\alpha$ durch Matrizen +\[ +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +beschrieben werden. +Ein Kreis um den Nullpunkt bleibt unter jeder dieser Drehungen invariant. +Im Gegensatz dazu sind alle $3n$-Ecke mit Schwerpunkt $0$ nur invariant +unter der einen Drehung $D_{\frac{2\pi}3}$ invariant. +Die kleinste Menge, die einen vorgegebenen Punkt enthält und unter +allen Drehungen $D_\alpha$ invariant ist, ist immer ein Kreis um +den Nullpunkt. + +\begin{definition} +Ein Homomorphismus $\varphi\colon\mathbb{R}\to\operatorname{GL}_n(\mathbb{R})$ +von der additiven Gruppe $\mathbb{R}$ in die allgemeine lineare Gruppe +heisst eine {\em Einparameter-Untergruppe} von +$\operatorname{GL}_n(\mathbb{R})$. +\end{definition} + +Die Abbildung +\[ +\varphi +\colon +\mathbb{R}\to\operatorname{GL}_n(\mathbb{R}) +: +\alpha \mapsto +D_{\alpha} += +\begin{pmatrix} +\cos\alpha&-\sin\alpha\\ +\sin\alpha& \cos\alpha +\end{pmatrix} +\] +ist also eine Einparameter-Untergruppe von $\operatorname{GL}_2(\mathbb{R})$. + +\subsubsection{Der harmonische Oszillator} +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/phasenraum.pdf} +\caption{Die Lösungen der +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +im Phasenraum sind Ellipsen mit Halbachsenverhältnis $\omega^{-1}$. +\label{chapter:gruppen:fig:phasenraum}} +\end{figure} +Eine Masse $m$ verbunden mit einer Feder mit der Federkonstanten $K$ +schwingt um die Ruhelage $x=0$ entsprechend der Differentialgleichung +\[ +m\frac{d^2}{dt^2} x(t) = -Kx(t). +\] +Die Kreisfrequenz der Schwingung ist +\[ +\omega = \sqrt{\frac{K}{m}}. +\] +Das System kann als zweidimensionales System im Phasenraum mit den +Koordinaten $x_1=x$ und $x_2=p=m\dot{x}$ beschrieben werden. +Die zweidimensionale Differentialgleichung ist +\begin{equation} +\left. +\begin{aligned} +\dot{x}(t) &= \frac{1}{m}p(t)\\ +\dot{p}(t) &= -Kx(t) +\end{aligned} +\quad +\right\} +\qquad\Rightarrow\qquad +\frac{d}{dt} +\begin{pmatrix}x(t)\\p(t)\end{pmatrix} += +\begin{pmatrix} +0&\frac{1}{m}\\ +-K&0 +\end{pmatrix} +\begin{pmatrix}x(t)\\p(t)\end{pmatrix}. +\label{chapter:gruppen:eqn:phasenraumdgl} +\end{equation} +Die Lösung der Differentialgleichung für die Anfangsbedingung $x(0)=1$ und +$p(0)=0$ ist +\[ +x(t) += +\cos \omega t +\qquad\Rightarrow\qquad +p(t) += +-\omega \sin\omega t, +\] +die Lösung zur Anfangsbedingung $x(0)=0$ und $p(0)=1$ ist +\[ +x(t) = \frac{1}{\omega} \sin\omega t, +\qquad +p(t) = \cos \omega t. +\] +In Matrixform kann man die allgemeine Lösung zur Anfangsbedingun $x(0)=x_0$ +und $p(0)=p_0$ +\begin{equation} +\begin{pmatrix} +x(t)\\ +p(t) +\end{pmatrix} += +\underbrace{ +\begin{pmatrix} + \cos \omega t & \frac{1}{\omega} \sin\omega t \\ +-\omega \sin\omega t & \cos\omega t +\end{pmatrix} +}_{\displaystyle =\Phi_t} +\begin{pmatrix}x_0\\p_0\end{pmatrix} +\label{buch:gruppen:eqn:phi} +\end{equation} +schreiben. +Die Matrizen $\Phi_t$ bilden eine Einparameter-Untergruppe von +$\operatorname{GL}_n(\mathbb{R})$, da +\begin{align*} +\Phi_s\Phi_t +&= +\begin{pmatrix} + \cos\omega s & \frac{1}{\omega} \sin\omega s \\ +-\omega \sin\omega s & \cos\omega s +\end{pmatrix} +\begin{pmatrix} + \cos\omega t & \frac{1}{\omega} \sin\omega t \\ +-\omega \sin\omega t & \cos\omega t +\end{pmatrix} +\\ +&= +\begin{pmatrix} +\cos\omega s \cos\omega t - \sin\omega s \sin\omega t +& \frac{1}{\omega} ( \cos\omega s \sin\omega t + \sin\omega s \cos \omega t) +\\ +-\omega (\sin\omega s \cos\omega t + \cos\omega s \sin\omega t ) +& \cos\omega s \cos\omega t -\sin\omega s \sin\omega t +\end{pmatrix} +\\ +&= +\begin{pmatrix} + \cos\omega(s+t) & \frac{1}{\omega}\sin\omega(s+t) \\ +-\omega \sin\omega(s+t) & \cos\omega(s+t) +\end{pmatrix} += +\Phi_{s+t} +\end{align*} +gilt. +Die Lösungen der +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +sind in Abbildung~\ref{chapter:gruppen:fig:phasenraum} +Die Matrizen $\Phi_t$ beschreiben eine kontinuierliche Symmetrie +des Differentialgleichungssystems, welches den harmonischen Oszillator +beschreibt. + +\subsubsection{Fluss einer Differentialgleichung} +Die Abbildungen $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} sind jeweils +Matrizen in $\operatorname{GL}_n(\mathbb{R})$. +Der Grund dafür ist, dass die +Differentialgleichung~\eqref{chapter:gruppen:eqn:phasenraumdgl} +linear ist. +Dies hat zur Folge, dass für zwei Anfangsbedingungen $x_1,x_2\in\mathbb{R}^2$ +die Lösung für Linearkombinationen $\lambda x_1+\mu x_2$ durch +Linearkombination der Lösungen erhalten werden kann, also +aus der Formel +\[ +\Phi_t (\lambda x_1 + \mu x_2) = \lambda \Phi_t x_1 + \mu \Phi_t x_2. +\] +Dies zeigt, dass $\Phi_t$ für jedes $t$ eine lineare Abbildung sein muss. + +Für eine beliebige Differentialgleichung kann man immer noch eine Abbildung +$\Phi$ konstruieren, die aber nicht mehr linear ist. +Sei dazu die Differentialgleichung erster Ordnung +\begin{equation} +\frac{dx}{dt} += +f(t,x) +\qquad\text{mit}\qquad +f\colon \mathbb{R}\times\mathbb{R}^n \to \mathbb{R}^n +\label{buch:gruppen:eqn:dgl} +\end{equation} +gegeben. +Für jeden Anfangswert $x_0\in\mathbb{R}^n$ kann man mindestens für eine +gewisse Zeit $t <\varepsilon$ eine Lösung $x(t,x_0)$ finden mit $x(t,x_0)=x_0$. +Aus der Theorie der gewöhnlichen Differentialgleichungen ist auch +bekannt, dass $x(t,x_0)$ mindestens in der Nähe von $x_0$ differenzierbar von +$x_0$ abhängt. +Dies erlaubt eine Abbildung +\[ +\Phi\colon \mathbb{R}\times \mathbb{R}^n \to \mathbb{R}^n +: +(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0) +\] +zu definieren, die sowohl von $t$ als auch von $x_0$ differenzierbar +abhängt. +Aus der Definition folgt unmittelbar, dass $\Phi_0(x_0)=x_0$ ist, dass +also $\Phi_0$ die identische Abbildung von $\mathbb{R}^n$ ist. + +Aus der Definition lässt sich auch ableiten, dass +$\Phi_{s+t}=\Phi_s\circ\Phi_t$ gilt. +$\Phi_t(x_0)=x(t,x_0)$ ist der Endpunkt der Bahn, die bei $x_0$ beginnt +und sich während der Zeit $t$ entwickelt. +$\Phi_s(x(t,x_0))$ ist dann der Endpunkt der Bahn, die bei $x(t,x_0)$ +beginnt und sich während der Zeit $s$ entwickelt. +Somit ist $\Phi_s\circ \Phi_t(x_0)$ der Endpunkt der Bahn, die bei +$x_0$ beginnt und sich über die Zeit $s+t$ entwickelt. +In Formeln bedeutet dies +\[ +\Phi_{s+t} = \Phi_s\circ \Phi_t. +\] +Die Abbildung $t\mapsto \Phi_t$ ist also wieder ein Homomorphismus +von der additiven Gruppe $\mathbb{R}$ in eine Gruppe von differenzierbaren +Abbildungen $\mathbb{R}^n\to\mathbb{R}^n$. + +\begin{definition} +Die Abbildung +\[ +\Phi\colon \mathbb{R}\times\mathbb{R}^n\to\mathbb{R}^n +: +(t,x_0) \mapsto \Phi_t(x_0) = x(t,x_0) +\] +heisst der {\em Fluss} der Differentialgleichung +\eqref{buch:gruppen:eqn:dgl}, +wenn für jedes $x_0\in\mathbb{R}^n$ die Kurve $t\mapsto \Phi_t(x_0)$ +eine Lösung der Differentialgleichung ist mit Anfangsbedingung $x_0$. +\end{definition} + +Die Abbildung $\Phi_t$ von \eqref{buch:gruppen:eqn:phi} ist also +der Fluss der Differentialgleichung des harmonischen Oszillators. + +\subsection{Mannigfaltigkeiten +\label{buch:subsection:mannigfaltigkeit}} +Eine Differentialgleichung der Form~\eqref{buch:gruppen:eqn:dgl} +stellt einen Zusammenhang her zwischen einem Punkt $x$ und der +Tangentialrichtung einer Bahnkurve $f(t,x)$. +Die Ableitung liefert die lineare Näherung der Bahkurve +\[ +x(t_0+h) = x(t_0) + h f(t_0,x_0) + o(h) +\] +für $h$ in einer kleinen Umgebung von $0$. +Das funktioniert auch, weil $f(t_0,x_0)$ selbst ein Vektor von +$\mathbb{R}^n$ ist, in dem die Bahnkurve verläuft. + +Diese Idee funktioniert nicht mehr zum Beispiel für eine +Differentialgleichung auf einer Kugeloberfläche, weil alle Punkte +$x(t_0)+hf(t_0,x_0)$ für alle $h\ne 0$ nicht mehr auf der Kugeloberfläche +liegen. +Physikalisch äussert sich das ein einer zusätzlichen Kraft, die nötig +ist, die Bahn auf der Kugeloberfläche zu halten. +Diese Kraft stellt zum Beispiel sicher, dass die Vektoren $f(t,x)$ für +Punkte $x$ auf der Kugeloberfläche immer tangential an die Kugel sind. +Trotzdem ist der Tangentialvektor oder der Geschwindigkeitsvektor +nicht mehr ein Objekt, welches als Teil der Kugeloberfläche definiert +werden kann, er kann nur definiert werden, wenn man sich die Kugel als +in einen höherdimensionalen Raum eingebettet vorstellen kann. + +Um die Idee der Differentialgleichung auf einer beliebigen Fläche +konsistent zu machen ist daher notwendig, die Idee einer Tagentialrichtung +auf eine Art zu definieren, die nicht von der Einbettung der Fläche +in den $n$-dimensionalen Raum abhängig ist. +Das in diesem Abschnitt entwickelte Konzept der {\em Mannigfaltigkeit} +löst dieses Problem. + +\subsubsection{Karten} +Die Navigation auf der Erdoberfläche verwendet das Koordinatensystem +der geographischen Länge und Breite. +Dieses Koordinatensystem funktioniert gut, solange man sich nicht an +den geographischen Polen befindet, denn deren Koordinaten sind +nicht mehr eindeutig. +Alle Punkte mit geographischer Breite $90^\circ$ und beliebiger +geographischer Länge beschreiben den Nordpol. +Auch die Ableitung funktioniert dort nicht mehr. +Bewegt man sich mit konstanter Geschwindigkeit über den Nordpol, +springt die Ableitung der geographischen Breite von einem positiven +Wert auf einen negativen Wert, sie kann also nicht differenzierbar sein. +Diese Einschränkungen sind in der Praxis nur ein geringes Problem dar, +da die meisten Reisen nicht über die Pole erfolgen. + +Der Polarforscher, der in unmittelbarer Umgebung des Poles arbeitet, +kann das Problem lösen, indem er eine lokale Karte für das Gebiet +um den Pol erstellt. +Dafür kann er beliebige Koordinaten verwenden, zum Beispiel auch +ein kartesisches Koordinatensystem, er muss nur eine Methode haben, +wie er seine Koordinaten wieder auf geographische Länge und Breite +umrechnen will. +Und wenn er über Geschwindigkeiten kommunizieren will, dann muss +er auch Ableitungen von Kurven in seinem kartesischen Koordinatensystem +umrechnen können auf die Kugelkoordinaten. +Dazu muss seine Umrechnungsformel von kartesischen Koordinaten +auf Kugelkoordinaten differenzierbar sein. + +Diese Idee wird durch das Konzept der Mannigfaltigkeit verallgemeinert. +Eine $n$-dimensionale {\em Mannigfaltigkeit} ist eine Menge $M$ von Punkten, +die lokal, also in der Umgebung eines Punktes, mit möglicherweise mehreren +verschiedenen Koordinatensystemen versehen werden kann. +Ein Koordinatensystem ist eine umkehrbare Abbildung einer offenen Teilmenge +$U\subset M$ in den Raum $\mathbb{R}^n$. +Die Komponenten dieser Abbildung heissen die {\em Koordinaten}. + +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/karten.pdf} +\caption{Karten +$\varphi_\alpha\colon U_\alpha\to \mathbb{R}^2$ +und +$\varphi_\beta\colon U_\beta\to \mathbb{R}^2$ +auf einem Torus. +Auf dem Überschneidungsgebiet $\varphi_\alpha^{-1}(U_\alpha\cap U_\beta)$ +ist der Kartenwechsel $\varphi_\beta\circ\varphi_\alpha^{-1}$ wohldefiniert +und muss differnzierbar sein, wenn eine differenzierbare Mannigfaltigkeit +entstehen soll. +\label{buch:gruppen:fig:karten}} +\end{figure} + +\begin{definition} +Eine Karte auf $M$ ist eine umkehrbare Abbildung +$\varphi\colon U\to \mathbb{R}^n$ (siehe auch +Abbildung~\ref{buch:gruppen:fig:karten}). +Ein differenzierbarer Atlas ist eine Familie von Karten $\varphi_\alpha$ +derart, dass die Definitionsgebiete $U_\alpha$ die ganze Menge $M$ +überdecken, und dass die Kartenwechsel Abbildungen +\[ +\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1} +\colon +\varphi_\alpha(U_\alpha\cap U_\beta) +\to +\varphi_\beta(U_\alpha\cap U_\beta) +\] +als Abbildung von offenen Teilmengen von $\mathbb{R}^n$ differenzierbar +ist. +Eine {$n$-dimensionale differenzierbare Mannigfaltigkeit} ist eine +Menge $M$ mit einem differenzierbaren Atlas. +\end{definition} + +Karten und Atlanten regeln also nur, wie sich verschiedene lokale +Koordinatensysteme ineinander umrechnen lassen. + +\begin{beispiel} +$M=\mathbb{R}^n$ ist eine differenzierbare Mannigfaltigkeit denn +die identische Abbildung $M\to \mathbb{R}^n$ ist eine Karte und ein +Atlas von $M$. +\end{beispiel} + +\begin{beispiel} +\begin{figure} +\centering +\includegraphics{chapters/60-gruppen/images/kartenkreis.pdf} +\caption{Karten für die Kreislinie $S^1\subset\mathbb{R}^2$. +\label{buch:gruppen:fig:kartenkreis}} +\end{figure} +Die Kreislinie in in der Ebene ist eine $1$-dimensionale Mannigfaltigkeit. +Natürlich kann sie nicht mit einer einzigen Karte beschrieben werden, +da es keine umkehrbaren Abbildungen zwischen $\mathbb{R}$ und der Kreislinie +gibt. +Die Projektionen auf die einzelnen Koordinaten liefern die folgenden +vier Karten: +\begin{align*} +\varphi_1&\colon U_{x>0}\{(x,y)\;|\;x^2+y^2=1\wedge x>0\} \to\mathbb{R} +: +(x,y) \mapsto y +\\ +\varphi_2&\colon U_{x<0}\{(x,y)\;|\;x^2+y^2=1\wedge x<0\} \to\mathbb{R} +: +(x,y) \mapsto y +\\ +\varphi_3&\colon U_{y>0}\{(x,y)\;|\;x^2+y^2=1\wedge y>0\} \to\mathbb{R} +: +(x,y) \mapsto x +\\ +\varphi_4&\colon U_{y<0}\{(x,y)\;|\;x^2+y^2=1\wedge y<0\} \to\mathbb{R} +: +(x,y) \mapsto x +\end{align*} +Die Werte der Kartenabbildungen sind genau die $x$- und $y$-Koordinaten +auf der in den Raum $\mathbb{R}^2$ eingebetteten Kreislinie. + +Für $\varphi_1$ und $\varphi_2$ sind die Definitionsgebiete disjunkt, +hier gibt es also keine Notwendigkeit, Koordinatenumrechnungen vornehmen +zu können. +Dasselbe gilt für $\varphi_3$ und $\varphi_4$. + +Die nichtleeren Schnittmengen der verschiedenen Kartengebiete beschreiben +jeweils die Punkte der Kreislinie in einem Quadranten. +Die Umrechnung zwischen den Koordinaten und ihre Ableitung +ist je nach Quadrant durch +\begin{align*} +&\text{1.~Quadrant}& +\varphi_{31} +&= +\varphi_3\circ\varphi_1^{-1}\colon y\mapsto\phantom{-}\sqrt{1-y^2\mathstrut} +& +D\varphi_{31} +&= +-\frac{y}{\sqrt{1-y^2\mathstrut}} +\\ +&\text{2.~Quadrant}& +\varphi_{24} +&= +\varphi_3\circ\varphi_1^{-1}\colon x\mapsto\phantom{-}\sqrt{1-x^2\mathstrut} +& +D\varphi_{24} +&= +-\frac{x}{\sqrt{1-x^2\mathstrut}} +\\ +&\text{3.~Quadrant}& +\varphi_{42} +&= +\varphi_3\circ\varphi_1^{-1}\colon y\mapsto-\sqrt{1-y^2\mathstrut} +& +D\varphi_{42} +&= +\phantom{-}\frac{y}{\sqrt{1-y^2\mathstrut}} +\\ +&\text{4.~Quadrant}& +\varphi_{14} +&= +\varphi_3\circ\varphi_1^{-1}\colon x\mapsto-\sqrt{1-x^2\mathstrut} +& +D\varphi_{14} +&= +\phantom{-}\frac{x}{\sqrt{1-x^2\mathstrut}} +\end{align*} +gegeben. +Diese Abbildungen sind im offenen Intervall $(-1,1)$ differenzierbar, +Schwierigkeiten mit der Ableitungen ergeben sich nur an den Stellen +$x=\pm1$ und $y=\pm 1$, die in einem Überschneidungsgebiet von Karten +nicht vorkommen können. +Somit bilden die vier Karten einen differenzierbaren Atlas für +die Kreislinie (Abbildung~\ref{buch:gruppen:fig:kartenkreis}). +\end{beispiel} + +\begin{beispiel} +Ganz analog zum vorangegangenen Beispiel über die Kreisline lässt sich +für eine $n$-di\-men\-sio\-nale Sphäre +\[ +S^n = \{ (x_1,\dots,x_{n+1})\;|\; x_0^2+\dots+x_n^2=1\} +\] +immer ein Atlas aus $2^{n+1}$ Karten mit den Koordinatenabbildungen +\[ +\varphi_{i,\pm} +\colon +U_{i,\pm} += +\{p\in S^n\;|\; \pm x_i >0\} +\to +\mathbb{R}^n +: +p\mapsto (x_1,\dots,\hat{x}_i,\dots,x_{n+1}) +\] +konstruieren, der $S^n$ zu einer $n$-dimensionalen Mannigfaltigkeit macht. +\end{beispiel} + +\subsubsection{Tangentialraum} +Mit Hilfe einer Karte $\varphi_\alpha\colon U_\alpha\to\mathbb{R}^n$ +kann das Geschehen in einer Mannigfaltigkeit in den vertrauten +$n$-dimensionalen Raum $\mathbb{B}^n$ transportiert werden. +Eine Kurve $\gamma\colon \mathbb{R}\to M$, die so parametrisiert sein +soll, dass $\gamma(t)\in U_\alpha$ für $t$ in einer Umgebung $I$ von $0$ ist, +wird von der Karte in eine Kurve +$\gamma_\alpha=\varphi_\alpha\circ\gamma\colon I\to \mathbb{R}^n$ +abgebildet, +deren Tangentialvektor wieder ein Vektor in $\mathbb{R}^n$ ist. + +Eine zweite Karte $\varphi_\beta$ führt auf eine andere Kurve +mit der Parametrisierung +$\gamma_\beta=\varphi_\beta\circ\gamma\colon I \to \mathbb{R}^n$ +und einem anderen Tangentialvektor. +Die beiden Tangentialvektoren können aber mit der Ableitung der +Koordinatenwechsel-Abbildung +$\varphi_{\beta\alpha}=\varphi_\beta\circ\varphi_\alpha^{-1}\colon +\varphi_\alpha(U_\alpha\cap U_\beta)\to \mathbb{R}^n$ +ineinander umgerechnet werden. +Aus +\[ +\gamma_\beta += +\varphi_\beta\circ \gamma += +( +\varphi_\beta +\circ +\varphi_\alpha^{-1} +) +\circ +\varphi_\alpha\circ\gamma += +\varphi_{\beta\alpha} +\circ +\varphi_\alpha\circ\gamma += +\varphi_{\beta\alpha}\circ\gamma_\alpha +\] +folgt durch Ableitung nach dem Kurvenparameter $t$, dass +\[ +\frac{d}{dt}\gamma_\beta(t) += +D\varphi_{\beta\alpha} +\cdot +\frac{d}{dt}\gamma_\alpha(t). +\] +Die Ableitung $D\varphi_{\beta\alpha}$ von $\varphi_{\beta\alpha}$ +an der Stelle $\gamma_\alpha(t)$ berechnet also aus dem Tangentialvektor +einer Kurve in der Karte $\varphi_\alpha$ den Tangentialvektor der +Kurve in der Karte $\varphi_\beta$. + +Die Forderung nach Differenzierbarkeit der Kartenwechselabbildungen +$\varphi_{\beta\alpha}$ stellt also nur sicher, dass die Beschreibung +eines Systemes mit Differentialgleichungen in verschiedenen +Koordinatensystemen auf die gleichen Lösungskurven in der +Mannigfaltigkeit führt. +Insbesondere ist die Verwendung von Karten ist also nur ein Werkzeug, +mit dem die Unmöglichkeit einer globalen Besschreibung einer +Mannigfaltigkeit $M$ mit einem einzigen globalen Koordinatensystem +ohne Singularitäten umgangen werden kann. + +\begin{beispiel} +Das Beispiel des Kreises in Abbildung~\ref{buch:gruppen:fig:kartenkreis} +zeigt, dass die Tangentialvektoren je nach Karte sehr verschieden +aussehen können. +Der Tangentialvektor der Kurve $\gamma(t) = (x(t), y(t))$ im Punkt +$\gamma(t)$ ist $\dot{y}(t)$ in den Karten $\varphi_1$ und $\varphi_2$ +und $\dot{x}(t)$ in den Karten $\varphi_3$ und $\varphi_4$. + +Die spezielle Kurve $\gamma(t) = (\cos t,\sin t)$ hat in einem Punkt +$t\in (0,\frac{\pi}2)$. +in der Karte $\varphi_1$ den Tangentialvektor $\dot{y}(t)=\cos t$, +in der Karte $\varphi_3$ aber den Tangentialvektor $\dot{x}=-\sin t$. +Die Ableitung des Kartenwechsels in diesem Punkt ist die $1\times 1$-Matrix +\[ +D\varphi_{31}(\gamma(t)) += +-\frac{y(t)}{\sqrt{1-y(t)^2}} += +-\frac{\sin t}{\sqrt{1-\sin^2 t}} += +-\frac{\sin t}{\cos t} += +-\tan t. +\] +Die Koordinatenumrechnung ist gegeben durch +\[ +\dot{x}(t) += +D\varphi_{31}(\gamma(t)) +\dot{y}(t) +\] +wird für die spezielle Kurve $\gamma(t)=(\cos t,\sin t)$ wird dies zu +\[ +D\varphi_{31}(\gamma(t)) +\cdot +\dot{y}(t) += +-\tan t\cdot \cos t += +-\frac{\sin t}{\cos t}\cdot \cos t += +-\sin t += +\dot{x}(t). +\qedhere +\] +\end{beispiel} + +Betrachtet man die Kreislinie als Kurve in $\mathbb{R}^2$, +dann ist der Tangentialvektor durch +$\dot{\gamma}(t)=(\dot{x}(t),\dot{y}(t))$ gegeben. +Da die Karten Projektionen auf die $x$- bzw.~$y$-Achsen sind, +entsteht der Tangentialvektor in der Karte durch Projektion +von $(\dot{x}(t),\dot{y}(t))$ auf die entsprechende Komponente. + +Die Tangentialvektoren in zwei verschiedenen Punkten der Kurve können +im Allgemeinen nicht miteinander verglichen werden. +Darüber hinweg hilft auch die Tatsache nicht, dass die Kreislinie +in den Vektorraum $\mathbb{R}^2$ eingebettet sind, wo sich Vektoren +durch Translation miteinander vergleichen lassen. +Ein nichtverschwindender Tangentialvektor im Punkt $(1,0)$ hat, +betrachtet als Vektor in $\mathbb{R}^2$ verschwindende $x$-Komponente, +für Tangentialvektoren im Inneren eines Quadranten ist dies nicht +der Fall. + +Eine Möglichkeit, einen Tangentialvektor in $(1,0)$ mit einem +Tangentialvektor im Punkt $(\cos t,\sin t)$ zu vergleichen, besteht +darin, den Vektor um den Winkel $t$ zu drehen. +Dies ist möglich, weil die Kreislinie eine kontinuierliche Symmetrie, +nämlich die Drehung um den Winkel $t$ hat, die es erlaubt, den Punkt $(1,0)$ +in den Punkt $(\cos t,\sin t)$ abzubilden. +Erst diese Symmetrie ermöglicht den Vergleich. +Dieser Ansatz ist für alle Matrizen erfolgreich, wie wir später sehen werden. + +Ein weiterer Ansatz, Tangentialvektoren zu vergleichen, ist die Idee, +einen sogenannten Zusammenhang zu definieren, eine Vorschrift, wie +Tangentialvektoren infinitesimal entlang von Kurven in der Mannigfaltigkeit +transportiert werden können. +Auf einer sogenannten {\em Riemannschen Mannigfaltigkeit} ist zusätzlich +zur Mannigfaltigkeitsstruktur die Längenmessung definiert. +Sie kann dazu verwendet werden, den Transport von Vektoren entlang einer +Kurve so zu definieren, dass dabei Längen und Winkel erhalten bleiben. +Dieser Ansatz ist die Basis der Theorie der Krümmung sogenannter +Riemannscher Mannigfaltigkeiten. + +\subsection{Der Satz von Noether +\label{buch:subsection:noether}} + + + + + + + diff --git a/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex b/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex index 2acf6f6..5c973fd 100644 --- a/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex +++ b/buch/chapters/60-gruppen/uebungsaufgaben/6001.tex @@ -1,233 +1,233 @@ -Eine Drehung eines Vektors $\vec{x}$ der Ebene $\mathbb{R}^2$ -um den Winkel $\alpha$ gefolgt von einer Translation um $\vec{t}$ -ist gegeben durch $D_\alpha\vec{x}+\vec{t}$. -Darauf lässt sich jedoch die Theorie der Matrizengruppen nicht -darauf anwenden, weil die Operation nicht die Form einer Matrixmultiplikation -schreiben. -Die Drehung und Translation kann in eine Matrix zusammengefasst werden, -indem zunächst die Ebene mit -\[ -\mathbb{R}^2\to\mathbb{R}^3 -: -\begin{pmatrix}x\\y\end{pmatrix} -\mapsto -\begin{pmatrix}x\\y\\1\end{pmatrix} -\qquad\text{oder in Vektorschreibweise }\qquad -\vec{x}\mapsto\begin{pmatrix}\vec{x}\\1\end{pmatrix} -\] -in den dreidimensionalen Raum eingebettet wird. -Die Drehung und Verschiebung kann damit in der Form -\[ -\begin{pmatrix}D_\alpha\vec{x}+\vec{t}\\1 -\end{pmatrix} -= -\begin{pmatrix}D_\alpha&\vec{t}\\0&1\end{pmatrix} -\begin{pmatrix}\vec{x}\\1\end{pmatrix} -\] -als Matrizenoperation geschrieben werden. -Die Gruppe der Drehungen und Verschiebungen der Ebene ist daher -die Gruppe -\[ -G -= -\left\{ -\left. -A -= -\begin{pmatrix} -D_\alpha&\vec{t}\\ -0&1 -\end{pmatrix} -= -\begin{pmatrix} -\cos\alpha & -\sin\alpha & t_x \\ -\sin\alpha & \cos\alpha & t_y \\ - 0 & 0 & 1 -\end{pmatrix} -\; -\right| -\; -\alpha\in\mathbb{R},\vec{t}\in\mathbb{R}^2 -\right\} -\] -Wir kürzen die Elemente von $G$ auch als $(\alpha,\vec{t})$ ab. -\begin{teilaufgaben} -\item -Verifizieren Sie, dass das Produkt zweier solcher Matrizen -$(\alpha_1,\vec{t}_1)$ und $(\alpha_2,\vec{t}_2)$ -wieder die selbe Form $(\alpha,\vec{t})$ hat und berechnen Sie -$\alpha$ und $\vec{t}_j$. -\item -Bestimmen Sie das inverse Element zu $(\alpha,\vec{t}) \in G$. -\item -Die Elemente der Gruppe $G$ sind parametrisiert durch den Winkel $\alpha$ -und die Translationskomponenten $t_x$ und $t_y$. -Rechnen Sie nach, dass -\[ -\alpha\mapsto \begin{pmatrix} D_{\alpha}&0\\0&1\end{pmatrix}, -\quad -t_x\mapsto -\begin{pmatrix} I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix}, -\qquad -t_y\mapsto -\begin{pmatrix} I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} -\] -Einparameteruntergruppen von $G$ sind. -\item -Berechnen Sie die Tangentialvektoren $D$, $X$ und $Y$, -die zu den Einparameteruntergruppen von c) gehören. -\item -Berechnen Sie die Lie-Klammer für alle Paare von Tangentialvektoren. -\end{teilaufgaben} - -\begin{loesung} -\begin{teilaufgaben} -\item -Die Wirkung beider Gruppenelemente auf dem Vektor $\vec{x}$ ist -\begin{align*} -\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} -\begin{pmatrix}D_{\alpha_2}&\vec{t}_2\\0&1\end{pmatrix} -\begin{pmatrix}\vec{x}\\1\end{pmatrix} -&= -\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} -\begin{pmatrix}D_{\alpha_2}\vec{x}+\vec{t}_2\\1\end{pmatrix} -= -\begin{pmatrix} -D_{\alpha_1}(D_{\alpha_2}\vec{x}+\vec{t}_2)+\vec{t}_1\\1 -\end{pmatrix} -\\ -&= -\begin{pmatrix} -D_{\alpha_1}D_{\alpha_2}\vec{x} + D_{\alpha_1}\vec{t}_2+\vec{t}_1\\1 -\end{pmatrix} -= -\begin{pmatrix} -D_{\alpha_1+\alpha_2}&D_{\alpha_1}\vec{t}_2+\vec{t}_1\\ -0&1 -\end{pmatrix} -\begin{pmatrix}\vec{x}\\1\end{pmatrix}. -\end{align*} -Das Produkt in der Gruppe $G$ kann daher -\[ -(\alpha_1,\vec{t}_1) (\alpha_2,\vec{t}_2) -= -(\alpha_1+\alpha_2,\vec{t}_1+D_{\alpha_1}\vec{t}_2) -\] -geschrieben werden. -\item -Die Inverse der Abbildung $\vec{x}\mapsto \vec{y}=D_\alpha\vec{x}+\vec{t}$ -kann gefunden werden, indem man auf der rechten Seite nach $\vec{x}$ -auflöst: -\begin{align*} -\vec{y}&=D_\alpha\vec{x}+\vec{t} -&&\Rightarrow& -D_{\alpha}^{-1}( \vec{y}-\vec{t}) &= \vec{x} -\\ -&&&& \vec{x} &= D_{-\alpha}\vec{y} + (-D_{-\alpha}\vec{t}) -\end{align*} -Die Inverse von $(\alpha,\vec{t})$ ist also $(-\alpha,-D_{-\alpha}\vec{t})$. -\item -Da $D_\alpha$ eine Einparameteruntergruppe von $\operatorname{SO}(2)$ ist, -ist $\alpha\mapsto (D_\alpha,0)$ ebenfalls eine Einparameteruntergruppe. -Für die beiden anderen gilt -\[ -\biggl(I,\begin{pmatrix}t_{x1}\\0\end{pmatrix}\biggr) -\biggl(I,\begin{pmatrix}t_{x2}\\0\end{pmatrix}\biggr) -= -\biggl(I,\begin{pmatrix}t_{x1}+t_{x2}\\0\end{pmatrix}\biggr) -\quad\text{und}\quad -\biggl(I,\begin{pmatrix}0\\t_{y1}\end{pmatrix}\biggr) -\biggl(I,\begin{pmatrix}0\\t_{y2}\end{pmatrix}\biggr) -= -\biggl(I,\begin{pmatrix}0\\t_{y1}+t_{y2}\end{pmatrix}\biggr), -\] -also sind dies auch Einparameteruntergruppen. -\item -Die Ableitungen sind -\begin{align*} -D -&= -\frac{d}{d\alpha}\begin{pmatrix}D_\alpha&0\\0&1\end{pmatrix}\bigg|_{\alpha=0} -= -\begin{pmatrix}J&0\\0&0\end{pmatrix} -= -\begin{pmatrix} -0&-1&0\\ -1& 0&0\\ -0& 0&0 -\end{pmatrix} -\\ -X -&= -\frac{d}{dt_x} -\left. -\begin{pmatrix}I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix} -\right|_{t_x=0} -= -\begin{pmatrix} -0&0&1\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -& -Y -&= -\frac{d}{dt_y} -\left. -\begin{pmatrix}I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} -\right|_{t_y=0} -= -\begin{pmatrix} -0&0&0\\ -0&0&1\\ -0&0&0 -\end{pmatrix} -\end{align*} -\item -Die Vertauschungsrelationen sind -\begin{align*} -[D,X] -&= -DX-XD -= -\begin{pmatrix} -0&0&0\\ -0&0&1\\ -0&0&0 -\end{pmatrix} -- -\begin{pmatrix} -0&0&0\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -= -Y -\\ -[D,Y] -&= -DY-YD -= -\begin{pmatrix} -0&0&-1\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -- -\begin{pmatrix} -0&0&0\\ -0&0&0\\ -0&0&0 -\end{pmatrix} -= --X -\\ -[X,Y] -&= -XY-YX -= -0-0=0 -\qedhere -\end{align*} -\end{teilaufgaben} -\end{loesung} +Eine Drehung eines Vektors $\vec{x}$ der Ebene $\mathbb{R}^2$ +um den Winkel $\alpha$ gefolgt von einer Translation um $\vec{t}$ +ist gegeben durch $D_\alpha\vec{x}+\vec{t}$. +Darauf lässt sich jedoch die Theorie der Matrizengruppen nicht +darauf anwenden, weil die Operation nicht die Form einer Matrixmultiplikation +schreiben. +Die Drehung und Translation kann in eine Matrix zusammengefasst werden, +indem zunächst die Ebene mit +\[ +\mathbb{R}^2\to\mathbb{R}^3 +: +\begin{pmatrix}x\\y\end{pmatrix} +\mapsto +\begin{pmatrix}x\\y\\1\end{pmatrix} +\qquad\text{oder in Vektorschreibweise }\qquad +\vec{x}\mapsto\begin{pmatrix}\vec{x}\\1\end{pmatrix} +\] +in den dreidimensionalen Raum eingebettet wird. +Die Drehung und Verschiebung kann damit in der Form +\[ +\begin{pmatrix}D_\alpha\vec{x}+\vec{t}\\1 +\end{pmatrix} += +\begin{pmatrix}D_\alpha&\vec{t}\\0&1\end{pmatrix} +\begin{pmatrix}\vec{x}\\1\end{pmatrix} +\] +als Matrizenoperation geschrieben werden. +Die Gruppe der Drehungen und Verschiebungen der Ebene ist daher +die Gruppe +\[ +G += +\left\{ +\left. +A += +\begin{pmatrix} +D_\alpha&\vec{t}\\ +0&1 +\end{pmatrix} += +\begin{pmatrix} +\cos\alpha & -\sin\alpha & t_x \\ +\sin\alpha & \cos\alpha & t_y \\ + 0 & 0 & 1 +\end{pmatrix} +\; +\right| +\; +\alpha\in\mathbb{R},\vec{t}\in\mathbb{R}^2 +\right\} +\] +Wir kürzen die Elemente von $G$ auch als $(\alpha,\vec{t})$ ab. +\begin{teilaufgaben} +\item +Verifizieren Sie, dass das Produkt zweier solcher Matrizen +$(\alpha_1,\vec{t}_1)$ und $(\alpha_2,\vec{t}_2)$ +wieder die selbe Form $(\alpha,\vec{t})$ hat und berechnen Sie +$\alpha$ und $\vec{t}_j$. +\item +Bestimmen Sie das inverse Element zu $(\alpha,\vec{t}) \in G$. +\item +Die Elemente der Gruppe $G$ sind parametrisiert durch den Winkel $\alpha$ +und die Translationskomponenten $t_x$ und $t_y$. +Rechnen Sie nach, dass +\[ +\alpha\mapsto \begin{pmatrix} D_{\alpha}&0\\0&1\end{pmatrix}, +\quad +t_x\mapsto +\begin{pmatrix} I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix}, +\qquad +t_y\mapsto +\begin{pmatrix} I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} +\] +Einparameteruntergruppen von $G$ sind. +\item +Berechnen Sie die Tangentialvektoren $D$, $X$ und $Y$, +die zu den Einparameteruntergruppen von c) gehören. +\item +Berechnen Sie die Lie-Klammer für alle Paare von Tangentialvektoren. +\end{teilaufgaben} + +\begin{loesung} +\begin{teilaufgaben} +\item +Die Wirkung beider Gruppenelemente auf dem Vektor $\vec{x}$ ist +\begin{align*} +\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} +\begin{pmatrix}D_{\alpha_2}&\vec{t}_2\\0&1\end{pmatrix} +\begin{pmatrix}\vec{x}\\1\end{pmatrix} +&= +\begin{pmatrix}D_{\alpha_1}&\vec{t}_1\\0&1\end{pmatrix} +\begin{pmatrix}D_{\alpha_2}\vec{x}+\vec{t}_2\\1\end{pmatrix} += +\begin{pmatrix} +D_{\alpha_1}(D_{\alpha_2}\vec{x}+\vec{t}_2)+\vec{t}_1\\1 +\end{pmatrix} +\\ +&= +\begin{pmatrix} +D_{\alpha_1}D_{\alpha_2}\vec{x} + D_{\alpha_1}\vec{t}_2+\vec{t}_1\\1 +\end{pmatrix} += +\begin{pmatrix} +D_{\alpha_1+\alpha_2}&D_{\alpha_1}\vec{t}_2+\vec{t}_1\\ +0&1 +\end{pmatrix} +\begin{pmatrix}\vec{x}\\1\end{pmatrix}. +\end{align*} +Das Produkt in der Gruppe $G$ kann daher +\[ +(\alpha_1,\vec{t}_1) (\alpha_2,\vec{t}_2) += +(\alpha_1+\alpha_2,\vec{t}_1+D_{\alpha_1}\vec{t}_2) +\] +geschrieben werden. +\item +Die Inverse der Abbildung $\vec{x}\mapsto \vec{y}=D_\alpha\vec{x}+\vec{t}$ +kann gefunden werden, indem man auf der rechten Seite nach $\vec{x}$ +auflöst: +\begin{align*} +\vec{y}&=D_\alpha\vec{x}+\vec{t} +&&\Rightarrow& +D_{\alpha}^{-1}( \vec{y}-\vec{t}) &= \vec{x} +\\ +&&&& \vec{x} &= D_{-\alpha}\vec{y} + (-D_{-\alpha}\vec{t}) +\end{align*} +Die Inverse von $(\alpha,\vec{t})$ ist also $(-\alpha,-D_{-\alpha}\vec{t})$. +\item +Da $D_\alpha$ eine Einparameteruntergruppe von $\operatorname{SO}(2)$ ist, +ist $\alpha\mapsto (D_\alpha,0)$ ebenfalls eine Einparameteruntergruppe. +Für die beiden anderen gilt +\[ +\biggl(I,\begin{pmatrix}t_{x1}\\0\end{pmatrix}\biggr) +\biggl(I,\begin{pmatrix}t_{x2}\\0\end{pmatrix}\biggr) += +\biggl(I,\begin{pmatrix}t_{x1}+t_{x2}\\0\end{pmatrix}\biggr) +\quad\text{und}\quad +\biggl(I,\begin{pmatrix}0\\t_{y1}\end{pmatrix}\biggr) +\biggl(I,\begin{pmatrix}0\\t_{y2}\end{pmatrix}\biggr) += +\biggl(I,\begin{pmatrix}0\\t_{y1}+t_{y2}\end{pmatrix}\biggr), +\] +also sind dies auch Einparameteruntergruppen. +\item +Die Ableitungen sind +\begin{align*} +D +&= +\frac{d}{d\alpha}\begin{pmatrix}D_\alpha&0\\0&1\end{pmatrix}\bigg|_{\alpha=0} += +\begin{pmatrix}J&0\\0&0\end{pmatrix} += +\begin{pmatrix} +0&-1&0\\ +1& 0&0\\ +0& 0&0 +\end{pmatrix} +\\ +X +&= +\frac{d}{dt_x} +\left. +\begin{pmatrix}I&\begin{pmatrix}t_x\\0\end{pmatrix}\\0&1\end{pmatrix} +\right|_{t_x=0} += +\begin{pmatrix} +0&0&1\\ +0&0&0\\ +0&0&0 +\end{pmatrix} +& +Y +&= +\frac{d}{dt_y} +\left. +\begin{pmatrix}I&\begin{pmatrix}0\\t_y\end{pmatrix}\\0&1\end{pmatrix} +\right|_{t_y=0} += +\begin{pmatrix} +0&0&0\\ +0&0&1\\ +0&0&0 +\end{pmatrix} +\end{align*} +\item +Die Vertauschungsrelationen sind +\begin{align*} +[D,X] +&= +DX-XD += +\begin{pmatrix} +0&0&0\\ +0&0&1\\ +0&0&0 +\end{pmatrix} +- +\begin{pmatrix} +0&0&0\\ +0&0&0\\ +0&0&0 +\end{pmatrix} += +Y +\\ +[D,Y] +&= +DY-YD += +\begin{pmatrix} +0&0&-1\\ +0&0&0\\ +0&0&0 +\end{pmatrix} +- +\begin{pmatrix} +0&0&0\\ +0&0&0\\ +0&0&0 +\end{pmatrix} += +-X +\\ +[X,Y] +&= +XY-YX += +0-0=0 +\qedhere +\end{align*} +\end{teilaufgaben} +\end{loesung} diff --git a/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex b/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex index 14fbe2b..25ac535 100644 --- a/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex +++ b/buch/chapters/60-gruppen/uebungsaufgaben/6002.tex @@ -1,162 +1,162 @@ -Die Elemente der Gruppe $G$ der Translationen und Streckungen von -$\mathbb{R}$ kann durch Paare $(\lambda,t)\in\mathbb{R}^+\times\mathbb{R}$ -beschrieben werden, -wobei $\lambda$ durch Streckung und $t$ durch Translation wirkt: -\[ -(\lambda,t)\colon \mathbb{R}\to\mathbb{R}: x\mapsto \lambda x+t. -\] -Dies ist allerdings noch keine Untergruppe einer Matrizengruppe. -Dazu bettet man $\mathbb{R}$ mit Hilfe der Abbildung -\[ -\mathbb{R}\to\mathbb{R}^2 : x\mapsto \begin{pmatrix}x\\1\end{pmatrix} -\] -in $\mathbb{R}^2$ ein. -Die Wirkung von $(\lambda,t)$ ist dann -\[ -\begin{pmatrix}(\lambda,t)\cdot x\\1\end{pmatrix} -= -\begin{pmatrix} \lambda x + t\\1\end{pmatrix} -= -\begin{pmatrix}\lambda&1\\0&1\end{pmatrix}\begin{pmatrix}x\\1\end{pmatrix}. -\] -Die Wirkung des Paares $(\lambda,t)$ kann also mit Hilfe einer -$2\times 2$-Matrix beschrieben werden. -Die Abbildung -\[ -G\to \operatorname{GL}_2(\mathbb{R}) -: -(\lambda,t) -\mapsto -\begin{pmatrix}\lambda&t\\0&1\end{pmatrix} -\] -bettet die Gruppe $G$ in $\operatorname{GL}_2(\mathbb{R})$ ein. -\begin{teilaufgaben} -\item -Berechnen Sie das Produkt $g_1g_2$ zweier Elemente -$g_j=(\lambda_j,t_j)$. -\item -Bestimmen Sie das inverse Elemente von $(\lambda,t)$ in $G$. -\item -Der sogenannte Kommutator zweier Elemente ist $g_1g_2g_1^{-1}g_2^{-1}$, -berechnen Sie den Kommutator für die Gruppenelemente von a). -\item -Rechnen Sie nach, dass -\[ -s\mapsto \begin{pmatrix}e^s&0\\0&1\end{pmatrix} -,\qquad -t\mapsto \begin{pmatrix}1&t\\0&1\end{pmatrix} -\] -Einparameteruntergruppen von $\operatorname{GL}_2(\mathbb{R})$ sind. -\item -Berechnen Sie die Tangentialvektoren $S$ und $T$ dieser beiden -Einparameteruntergruppen. -\item -Berechnen Sie den Kommutator $[S,T]$ -\end{teilaufgaben} - -\begin{loesung} -\begin{teilaufgaben} -\item -Die beiden Gruppenelemente wirken auf $x$ nach -\[ -(\lambda_1,t_1) -(\lambda_2,t_2) -\cdot -x -= -(\lambda_1,t_1)(\lambda_2x+t_2) -= -\lambda_1(\lambda_2x+t_2)+t_1) -= -\lambda_1\lambda_2 x + (\lambda_1t_2+t_1), -\] -also ist $g_1g_2=(\lambda_1\lambda_2,\lambda_1t_2+t_1)$. -\item -Die Inverse von $(\lambda,t)$ kann erhalten werden, indem man die -Abbildung $x\mapsto y=\lambda x +t$ nach $x$ auflöst: -\[ -y=\lambda x+t -\qquad\Rightarrow\qquad -\lambda^{-1}(y-t) -= -\lambda^{-1}y - \lambda^{-1}t. -\] -Daraus liest man ab, dass $(\lambda,t)^{-1}=(\lambda^{-1},-\lambda^{-1}t)$ -ist. -\item -Mit Hilfe der Identität $g_1g_2g_1^{-1}g_2^{-1}=g_1g_2(g_2g_1)^{-1}$ -kann man den Kommutator leichter berechnen -\begin{align*} -g_1g_2&=(\lambda_1\lambda_2,t_1+\lambda_1t_2) -\\ -g_2g_1&= (\lambda_2\lambda_1,t_2+\lambda_2t_1) -\\ -(g_2g_1)^{-1} -&= -(\lambda_1^{-1}\lambda_2^{-1}, - -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) -\\ -g_1g_2g_1^{-1}g_2^{-1} -&= -(\lambda_1\lambda_2,t_1+\lambda_1t_2) -(\lambda_1^{-1}\lambda_2^{-1}, - -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) -\\ -&=(1,t_1+\lambda_1t_2 + \lambda_1\lambda_2( - -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) -) -\\ -&=(1, t_1+\lambda_1t_2 - t_2 -\lambda_2t_1) -= -(1,(1-\lambda_2)(t_1-t_2)). -\end{align*} -Der Kommutator ist also das neutrale Element, wenn $\lambda_2=1$ ist. -\item -Dies ist am einfachsten in der Matrixform nachzurechnen: -\begin{align*} -\begin{pmatrix} e^{s_1}&0\\0&1\end{pmatrix} -\begin{pmatrix} e^{s_2}&0\\0&1\end{pmatrix} -&= -\begin{pmatrix}e^{s_1+s_2}&0\\0&1\end{pmatrix} -& -\begin{pmatrix} 1&t_1\\0&1\end{pmatrix} -\begin{pmatrix} 1&t_2\\0&1\end{pmatrix} -&= -\begin{pmatrix} 1&t_1+t_2\\0&1\end{pmatrix} -\end{align*} -\item -Die Tangentialvektoren werden erhalten durch ableiten der -Matrixdarstellung nach dem Parameter -\begin{align*} -S -&= -\frac{d}{ds} \begin{pmatrix}e^s&0\\0&1\end{pmatrix}\bigg|_{s=0} -= -\begin{pmatrix}1&0\\0&0\end{pmatrix} -\\ -T -&= -\frac{d}{dt} \begin{pmatrix}1&t\\0&1\end{pmatrix}\bigg|_{t=0} -= -\begin{pmatrix}0&1\\0&0\end{pmatrix} -\end{align*} -\item Der Kommutator ist -\[ -[S,T] -= -\begin{pmatrix}1&0\\0&0\end{pmatrix} -\begin{pmatrix}0&1\\0&0\end{pmatrix} -- -\begin{pmatrix}0&1\\0&0\end{pmatrix} -\begin{pmatrix}1&0\\0&0\end{pmatrix} -= -\begin{pmatrix}0&1\\0&0\end{pmatrix} -- -\begin{pmatrix}0&0\\0&0\end{pmatrix} -= -T. -\qedhere -\] -\end{teilaufgaben} -\end{loesung} - +Die Elemente der Gruppe $G$ der Translationen und Streckungen von +$\mathbb{R}$ kann durch Paare $(\lambda,t)\in\mathbb{R}^+\times\mathbb{R}$ +beschrieben werden, +wobei $\lambda$ durch Streckung und $t$ durch Translation wirkt: +\[ +(\lambda,t)\colon \mathbb{R}\to\mathbb{R}: x\mapsto \lambda x+t. +\] +Dies ist allerdings noch keine Untergruppe einer Matrizengruppe. +Dazu bettet man $\mathbb{R}$ mit Hilfe der Abbildung +\[ +\mathbb{R}\to\mathbb{R}^2 : x\mapsto \begin{pmatrix}x\\1\end{pmatrix} +\] +in $\mathbb{R}^2$ ein. +Die Wirkung von $(\lambda,t)$ ist dann +\[ +\begin{pmatrix}(\lambda,t)\cdot x\\1\end{pmatrix} += +\begin{pmatrix} \lambda x + t\\1\end{pmatrix} += +\begin{pmatrix}\lambda&1\\0&1\end{pmatrix}\begin{pmatrix}x\\1\end{pmatrix}. +\] +Die Wirkung des Paares $(\lambda,t)$ kann also mit Hilfe einer +$2\times 2$-Matrix beschrieben werden. +Die Abbildung +\[ +G\to \operatorname{GL}_2(\mathbb{R}) +: +(\lambda,t) +\mapsto +\begin{pmatrix}\lambda&t\\0&1\end{pmatrix} +\] +bettet die Gruppe $G$ in $\operatorname{GL}_2(\mathbb{R})$ ein. +\begin{teilaufgaben} +\item +Berechnen Sie das Produkt $g_1g_2$ zweier Elemente +$g_j=(\lambda_j,t_j)$. +\item +Bestimmen Sie das inverse Elemente von $(\lambda,t)$ in $G$. +\item +Der sogenannte Kommutator zweier Elemente ist $g_1g_2g_1^{-1}g_2^{-1}$, +berechnen Sie den Kommutator für die Gruppenelemente von a). +\item +Rechnen Sie nach, dass +\[ +s\mapsto \begin{pmatrix}e^s&0\\0&1\end{pmatrix} +,\qquad +t\mapsto \begin{pmatrix}1&t\\0&1\end{pmatrix} +\] +Einparameteruntergruppen von $\operatorname{GL}_2(\mathbb{R})$ sind. +\item +Berechnen Sie die Tangentialvektoren $S$ und $T$ dieser beiden +Einparameteruntergruppen. +\item +Berechnen Sie den Kommutator $[S,T]$ +\end{teilaufgaben} + +\begin{loesung} +\begin{teilaufgaben} +\item +Die beiden Gruppenelemente wirken auf $x$ nach +\[ +(\lambda_1,t_1) +(\lambda_2,t_2) +\cdot +x += +(\lambda_1,t_1)(\lambda_2x+t_2) += +\lambda_1(\lambda_2x+t_2)+t_1) += +\lambda_1\lambda_2 x + (\lambda_1t_2+t_1), +\] +also ist $g_1g_2=(\lambda_1\lambda_2,\lambda_1t_2+t_1)$. +\item +Die Inverse von $(\lambda,t)$ kann erhalten werden, indem man die +Abbildung $x\mapsto y=\lambda x +t$ nach $x$ auflöst: +\[ +y=\lambda x+t +\qquad\Rightarrow\qquad +\lambda^{-1}(y-t) += +\lambda^{-1}y - \lambda^{-1}t. +\] +Daraus liest man ab, dass $(\lambda,t)^{-1}=(\lambda^{-1},-\lambda^{-1}t)$ +ist. +\item +Mit Hilfe der Identität $g_1g_2g_1^{-1}g_2^{-1}=g_1g_2(g_2g_1)^{-1}$ +kann man den Kommutator leichter berechnen +\begin{align*} +g_1g_2&=(\lambda_1\lambda_2,t_1+\lambda_1t_2) +\\ +g_2g_1&= (\lambda_2\lambda_1,t_2+\lambda_2t_1) +\\ +(g_2g_1)^{-1} +&= +(\lambda_1^{-1}\lambda_2^{-1}, + -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) +\\ +g_1g_2g_1^{-1}g_2^{-1} +&= +(\lambda_1\lambda_2,t_1+\lambda_1t_2) +(\lambda_1^{-1}\lambda_2^{-1}, + -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) +\\ +&=(1,t_1+\lambda_1t_2 + \lambda_1\lambda_2( + -\lambda_2^{-1}\lambda_1^{-1}(t_2+\lambda_2t_1)) +) +\\ +&=(1, t_1+\lambda_1t_2 - t_2 -\lambda_2t_1) += +(1,(1-\lambda_2)(t_1-t_2)). +\end{align*} +Der Kommutator ist also das neutrale Element, wenn $\lambda_2=1$ ist. +\item +Dies ist am einfachsten in der Matrixform nachzurechnen: +\begin{align*} +\begin{pmatrix} e^{s_1}&0\\0&1\end{pmatrix} +\begin{pmatrix} e^{s_2}&0\\0&1\end{pmatrix} +&= +\begin{pmatrix}e^{s_1+s_2}&0\\0&1\end{pmatrix} +& +\begin{pmatrix} 1&t_1\\0&1\end{pmatrix} +\begin{pmatrix} 1&t_2\\0&1\end{pmatrix} +&= +\begin{pmatrix} 1&t_1+t_2\\0&1\end{pmatrix} +\end{align*} +\item +Die Tangentialvektoren werden erhalten durch ableiten der +Matrixdarstellung nach dem Parameter +\begin{align*} +S +&= +\frac{d}{ds} \begin{pmatrix}e^s&0\\0&1\end{pmatrix}\bigg|_{s=0} += +\begin{pmatrix}1&0\\0&0\end{pmatrix} +\\ +T +&= +\frac{d}{dt} \begin{pmatrix}1&t\\0&1\end{pmatrix}\bigg|_{t=0} += +\begin{pmatrix}0&1\\0&0\end{pmatrix} +\end{align*} +\item Der Kommutator ist +\[ +[S,T] += +\begin{pmatrix}1&0\\0&0\end{pmatrix} +\begin{pmatrix}0&1\\0&0\end{pmatrix} +- +\begin{pmatrix}0&1\\0&0\end{pmatrix} +\begin{pmatrix}1&0\\0&0\end{pmatrix} += +\begin{pmatrix}0&1\\0&0\end{pmatrix} +- +\begin{pmatrix}0&0\\0&0\end{pmatrix} += +T. +\qedhere +\] +\end{teilaufgaben} +\end{loesung} + diff --git a/buch/chapters/70-graphen/images/Makefile b/buch/chapters/70-graphen/images/Makefile index bd77756..c1bc5df 100644 --- a/buch/chapters/70-graphen/images/Makefile +++ b/buch/chapters/70-graphen/images/Makefile @@ -1,22 +1,22 @@ -# -# Makefile -- Bilder für Kapitel Graphen -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf - -peterson.pdf: peterson.tex - pdflatex peterson.tex - -adjazenzu.pdf: adjazenzu.tex - pdflatex adjazenzu.tex - -adjazenzd.pdf: adjazenzd.tex - pdflatex adjazenzd.tex - -kreis.pdf: kreis.tex - pdflatex kreis.tex - -fundamental.pdf: fundamental.tex - pdflatex fundamental.tex - +# +# Makefile -- Bilder für Kapitel Graphen +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: peterson.pdf adjazenzu.pdf adjazenzd.pdf kreis.pdf fundamental.pdf + +peterson.pdf: peterson.tex + pdflatex peterson.tex + +adjazenzu.pdf: adjazenzu.tex + pdflatex adjazenzu.tex + +adjazenzd.pdf: adjazenzd.tex + pdflatex adjazenzd.tex + +kreis.pdf: kreis.tex + pdflatex kreis.tex + +fundamental.pdf: fundamental.tex + pdflatex fundamental.tex + diff --git a/buch/chapters/70-graphen/images/fundamental.tex b/buch/chapters/70-graphen/images/fundamental.tex index b7fe9c4..388bdf7 100644 --- a/buch/chapters/70-graphen/images/fundamental.tex +++ b/buch/chapters/70-graphen/images/fundamental.tex @@ -1,54 +1,54 @@ -% -% fundamental.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\begin{scope}[xshift=-4.6cm] - \draw[color=red,line width=2pt] (1.8,0) -- (1.8,2); - \draw[color=red,line width=2pt] (0,0) -- (4,0); - \node at (1.8,0) [below] {$i$}; - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - - \node at (2,-2.3) [below] {Standarbasis}; -\end{scope} - -\begin{scope} - \draw[color=red,line width=1.4pt] - plot[domain=0:360,samples=100] ({\x/90},{2*sin(\x)}); - \draw[color=blue,line width=1.4pt] - plot[domain=0:360,samples=100] ({\x/90},{2*cos(\x)}); - \node[color=blue] at (1,-1) {$\Re f_i$}; - \node[color=red] at (2,1) {$\Im f_i$}; - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - \node at (2,-2.3) [below] {Eigenbasis}; -\end{scope} - -\begin{scope}[xshift=4.6cm] - \foreach \t in {0.02,0.05,0.1,0.2,0.5}{ - \draw[color=red,line width=1.0pt] - plot[domain=-1.8:2.2,samples=100] - ({\x+1.8},{exp(-\x*\x/(4*\t))/(sqrt(4*3.1415*\t))}); - } - \fill[color=red] (1.8,0) circle[radius=0.08]; - \node at (1.8,0) [below] {$\xi$}; - \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; - \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; - \node at (2,-2.3) [below] {Fundamentallösung}; -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% fundamental.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\begin{scope}[xshift=-4.6cm] + \draw[color=red,line width=2pt] (1.8,0) -- (1.8,2); + \draw[color=red,line width=2pt] (0,0) -- (4,0); + \node at (1.8,0) [below] {$i$}; + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + + \node at (2,-2.3) [below] {Standarbasis}; +\end{scope} + +\begin{scope} + \draw[color=red,line width=1.4pt] + plot[domain=0:360,samples=100] ({\x/90},{2*sin(\x)}); + \draw[color=blue,line width=1.4pt] + plot[domain=0:360,samples=100] ({\x/90},{2*cos(\x)}); + \node[color=blue] at (1,-1) {$\Re f_i$}; + \node[color=red] at (2,1) {$\Im f_i$}; + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + \node at (2,-2.3) [below] {Eigenbasis}; +\end{scope} + +\begin{scope}[xshift=4.6cm] + \foreach \t in {0.02,0.05,0.1,0.2,0.5}{ + \draw[color=red,line width=1.0pt] + plot[domain=-1.8:2.2,samples=100] + ({\x+1.8},{exp(-\x*\x/(4*\t))/(sqrt(4*3.1415*\t))}); + } + \fill[color=red] (1.8,0) circle[radius=0.08]; + \node at (1.8,0) [below] {$\xi$}; + \draw[->] (-0.1,0) -- (4.3,0) coordinate[label={$x$}]; + \draw[->] (0,-2.1) -- (0,2.3) coordinate[label={right:$y$}]; + \node at (2,-2.3) [below] {Fundamentallösung}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/70-graphen/spektral.tex b/buch/chapters/70-graphen/spektral.tex index f68c814..72e3519 100644 --- a/buch/chapters/70-graphen/spektral.tex +++ b/buch/chapters/70-graphen/spektral.tex @@ -1,198 +1,198 @@ -% -% spektral.tex -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Spektrale Graphentheorie -\label{buch:section:spektrale-graphentheorie}} -\rhead{Spektrale Graphentheorie} -Die Laplace-Matrix codiert alle wesentliche Information eines -ungerichteten Graphen. -Sie operiert auf Vektoren, die für jeden Knoten des Graphen eine -Komponente haben. -Dies eröffnet die Möglichkeit, den Graphen über die linearalgebraischen -Eigenschaften der Laplace-Matrix zu studieren. - -\subsection{Grapheigenschaften und Spektrum von $L$ -\label{buch:subsection:grapheigenschaften-und-spektrum-von-l}} -TODO XXX - -\subsection{Wärmeleitung auf einem Graphen -\label{buch:subsection:waermeleitung-auf-einem-graphen}} -Die Vektoren, auf denen die Laplace-Matrix operiert, können betrachtet -werden als Funktionen, die jedem Knoten einen Wert zuordnen. -Eine mögliche physikalische Interpretation davon ist die Temperaturverteilung -auf dem Graphen. -Die Kanten zwischen den Knoten erlauben der Wärmeenergie, von einem Knoten -zu einem anderen zu fliessen. -Je grösser die Temperaturdifferenz zwischen zwei Knoten ist, desto -grösser ist der Wärmefluss und desto schneller ändert sich die Temperatur -der beteiligten Knoten. -Die zeitliche Änderung der Temperatur $T_i$ im Knoten $i$ ist proportional -\[ -\frac{dT_i}{dt} -= -\sum_{\text{$j$ Nachbar von $i$}} \kappa (T_j-T_i) -= -- -\kappa -\biggl( -d_iT_i -- -\sum_{\text{$j$ Nachbar von $i$}} T_j -\biggr) -\] -Der Term auf der rechten Seite ist genau die Wirkung der -Laplace-Matrix auf dem Vektor $T$ der Temperaturen: -\begin{equation} -\frac{dT}{dt} -= --\kappa L T. -\label{buch:graphen:eqn:waermeleitung} -\end{equation} -Der Wärmefluss, der durch die -Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} beschrieben -wird, codiert ebenfalls wesentliche Informationen über den Graphen. -Je mehr Kanten es zwischen verschiedenen Teilen eines Graphen gibt, -desto schneller findet der Wärmeaustausch zwischen diesen Teilen -statt. -Die Lösungen der Wärmeleitungsgleichung liefern also Informationen -über den Graphen. - -\subsection{Eigenwerte und Eigenvektoren -\label{buch:subsection:ein-zyklischer-graph}} -Die Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} -ist eine lineare Differentialgleichung mit konstanten Koeffizienten, -die mit der Matrixexponentialfunktion gelöst werden. -Die Lösung ist -\[ -f(t) = e^{-\kappa Lt}f(0). -\] - -Die Berechnung der Lösung mit der Matrixexponentialreihe ist ziemlich -ineffizient, da grosse Matrizenprodukte berechnet werden müssen. -Da die Matrix $L$ symmetrisch ist, gibt es eine Basis aus -orthonormierten Eigenvektoren und die Eigenwerte sind reell. -Wir bezeichnen die Eigenvektoren mit $f_1,\dots,f_n$ und die -zugehörigen Eigenwerte mit $\lambda_i$. -Die Funktion $f_i(t)= e^{-\kappa\lambda_it}f_i$ ist dann eine Lösung -der Wärmeleitungsgleichung, denn die beiden Seiten -\begin{align*} -\frac{d}{dt}f_i(t) -&= --\kappa\lambda_ie^{-\kappa\lambda_it}f_i -= --\kappa\lambda_i f_i(t) -\\ --\kappa Lf_i(t) -&= --\kappa e^{-\kappa\lambda_it} Lf_i -= --\kappa e^{-\kappa\lambda_it} \lambda_i f_i -= --\kappa \lambda_i f_i(t) -\end{align*} -von \eqref{buch:graphen:eqn:waermeleitung} stimmen überein. - -Eine Lösung der Wärmeleitungsgleichung zu einer beliebigen -Anfangstemperaturverteilung $f$ kann durch Linearkombination aus -den Lösungen $f_i(t)$ zusammengesetzt werden. -Dazu ist nötig, $f$ aus den Vektoren $f_i$ linear zu kombinieren. -Da aber die $f_i$ orthonormiert sind, ist dies besonders einfach, -die Koeffizienten sind die Skalarprodukte mit den Eigenvektoren: -\[ -f=\sum_{i=1}^n \langle f_i,f\rangle f_i. -\] -Daraus kann man die allgmeine Lösungsformel -\begin{equation} -f(t) -= -\sum_{i=1}^n \langle f_i,f\rangle f_i(t) -= -\sum_{i=1}^n \langle f_i,f\rangle e^{-\kappa\lambda_i t}f_i -\label{buch:graphen:eqn:eigloesung} -\end{equation} -ableiten. - -\subsection{Beispiel: Ein zyklischer Graph} -\begin{figure} -\centering -\includegraphics{chapters/70-graphen/images/kreis.pdf} -\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem -Graphen. -\label{buch:graphen:fig:kreis}} -\end{figure} -Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen -von Abbildung~\ref{buch:graphen:fig:kreis}. -Besonders interessant sind die folgenden Funktionen: -\[ -\left. -\begin{aligned} -s_m(k) -&= -\sin\frac{2\pi mk}{n} -\\ -c_m(k) -&= -\cos\frac{2\pi mk}{n} -\end{aligned} -\; -\right\} -\quad -\Rightarrow -\quad -e_m(k) -= -e^{2\pi imk/n} -= -c_m(k) + is_m(k). -\] -Das Skalarprodukt dieser Funktionen ist -\[ -\langle e_m, e_{m'}\rangle -= -\frac1n -\sum_{k=1}^n -\overline{e^{2\pi i km/n}} -e^{2\pi ikm'/n} -= -\frac1n -\sum_{k=1}^n -e^{\frac{2\pi i}{n}(m'-m)k} -= -\delta_{mm'} -\] -Die Funktionen bilden daher eine Orthonormalbasis des Raums der -Funktionen auf $G$. -Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$ -die Funktionen -\[ -c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2} -\] -eine orthonormierte Basis. - - -Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen -Abbildung auf Funktionen auf dem Graphen gemacht werden. -Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit -Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist. -Dann definieren wir die Funktion $Lf$ durch -\[ -(Lf)(v) -= -\sum_{v'\in V} l_{vv'}f(v'). -\] - -\subsection{Standardbasis und Eigenbasis -\label{buch:subsection:standardbasis-und-eigenbasis}} -Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear -kombinieren lassen, ist die Standardbasis. -Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten -\[ -e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} -1\qquad&v=v'\\ -0\qquad&\text{sonst.} -\end{cases} -\] - - +% +% spektral.tex +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Spektrale Graphentheorie +\label{buch:section:spektrale-graphentheorie}} +\rhead{Spektrale Graphentheorie} +Die Laplace-Matrix codiert alle wesentliche Information eines +ungerichteten Graphen. +Sie operiert auf Vektoren, die für jeden Knoten des Graphen eine +Komponente haben. +Dies eröffnet die Möglichkeit, den Graphen über die linearalgebraischen +Eigenschaften der Laplace-Matrix zu studieren. + +\subsection{Grapheigenschaften und Spektrum von $L$ +\label{buch:subsection:grapheigenschaften-und-spektrum-von-l}} +TODO XXX + +\subsection{Wärmeleitung auf einem Graphen +\label{buch:subsection:waermeleitung-auf-einem-graphen}} +Die Vektoren, auf denen die Laplace-Matrix operiert, können betrachtet +werden als Funktionen, die jedem Knoten einen Wert zuordnen. +Eine mögliche physikalische Interpretation davon ist die Temperaturverteilung +auf dem Graphen. +Die Kanten zwischen den Knoten erlauben der Wärmeenergie, von einem Knoten +zu einem anderen zu fliessen. +Je grösser die Temperaturdifferenz zwischen zwei Knoten ist, desto +grösser ist der Wärmefluss und desto schneller ändert sich die Temperatur +der beteiligten Knoten. +Die zeitliche Änderung der Temperatur $T_i$ im Knoten $i$ ist proportional +\[ +\frac{dT_i}{dt} += +\sum_{\text{$j$ Nachbar von $i$}} \kappa (T_j-T_i) += +- +\kappa +\biggl( +d_iT_i +- +\sum_{\text{$j$ Nachbar von $i$}} T_j +\biggr) +\] +Der Term auf der rechten Seite ist genau die Wirkung der +Laplace-Matrix auf dem Vektor $T$ der Temperaturen: +\begin{equation} +\frac{dT}{dt} += +-\kappa L T. +\label{buch:graphen:eqn:waermeleitung} +\end{equation} +Der Wärmefluss, der durch die +Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} beschrieben +wird, codiert ebenfalls wesentliche Informationen über den Graphen. +Je mehr Kanten es zwischen verschiedenen Teilen eines Graphen gibt, +desto schneller findet der Wärmeaustausch zwischen diesen Teilen +statt. +Die Lösungen der Wärmeleitungsgleichung liefern also Informationen +über den Graphen. + +\subsection{Eigenwerte und Eigenvektoren +\label{buch:subsection:ein-zyklischer-graph}} +Die Wärmeleitungsgleichung~\eqref{buch:graphen:eqn:waermeleitung} +ist eine lineare Differentialgleichung mit konstanten Koeffizienten, +die mit der Matrixexponentialfunktion gelöst werden. +Die Lösung ist +\[ +f(t) = e^{-\kappa Lt}f(0). +\] + +Die Berechnung der Lösung mit der Matrixexponentialreihe ist ziemlich +ineffizient, da grosse Matrizenprodukte berechnet werden müssen. +Da die Matrix $L$ symmetrisch ist, gibt es eine Basis aus +orthonormierten Eigenvektoren und die Eigenwerte sind reell. +Wir bezeichnen die Eigenvektoren mit $f_1,\dots,f_n$ und die +zugehörigen Eigenwerte mit $\lambda_i$. +Die Funktion $f_i(t)= e^{-\kappa\lambda_it}f_i$ ist dann eine Lösung +der Wärmeleitungsgleichung, denn die beiden Seiten +\begin{align*} +\frac{d}{dt}f_i(t) +&= +-\kappa\lambda_ie^{-\kappa\lambda_it}f_i += +-\kappa\lambda_i f_i(t) +\\ +-\kappa Lf_i(t) +&= +-\kappa e^{-\kappa\lambda_it} Lf_i += +-\kappa e^{-\kappa\lambda_it} \lambda_i f_i += +-\kappa \lambda_i f_i(t) +\end{align*} +von \eqref{buch:graphen:eqn:waermeleitung} stimmen überein. + +Eine Lösung der Wärmeleitungsgleichung zu einer beliebigen +Anfangstemperaturverteilung $f$ kann durch Linearkombination aus +den Lösungen $f_i(t)$ zusammengesetzt werden. +Dazu ist nötig, $f$ aus den Vektoren $f_i$ linear zu kombinieren. +Da aber die $f_i$ orthonormiert sind, ist dies besonders einfach, +die Koeffizienten sind die Skalarprodukte mit den Eigenvektoren: +\[ +f=\sum_{i=1}^n \langle f_i,f\rangle f_i. +\] +Daraus kann man die allgmeine Lösungsformel +\begin{equation} +f(t) += +\sum_{i=1}^n \langle f_i,f\rangle f_i(t) += +\sum_{i=1}^n \langle f_i,f\rangle e^{-\kappa\lambda_i t}f_i +\label{buch:graphen:eqn:eigloesung} +\end{equation} +ableiten. + +\subsection{Beispiel: Ein zyklischer Graph} +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/kreis.pdf} +\caption{Beispiel Graph zur Illustration der verschiedenen Basen auf einem +Graphen. +\label{buch:graphen:fig:kreis}} +\end{figure} +Wir illustrieren die im folgenden entwickelte Theorie an dem Beispielgraphen +von Abbildung~\ref{buch:graphen:fig:kreis}. +Besonders interessant sind die folgenden Funktionen: +\[ +\left. +\begin{aligned} +s_m(k) +&= +\sin\frac{2\pi mk}{n} +\\ +c_m(k) +&= +\cos\frac{2\pi mk}{n} +\end{aligned} +\; +\right\} +\quad +\Rightarrow +\quad +e_m(k) += +e^{2\pi imk/n} += +c_m(k) + is_m(k). +\] +Das Skalarprodukt dieser Funktionen ist +\[ +\langle e_m, e_{m'}\rangle += +\frac1n +\sum_{k=1}^n +\overline{e^{2\pi i km/n}} +e^{2\pi ikm'/n} += +\frac1n +\sum_{k=1}^n +e^{\frac{2\pi i}{n}(m'-m)k} += +\delta_{mm'} +\] +Die Funktionen bilden daher eine Orthonormalbasis des Raums der +Funktionen auf $G$. +Wegen $\overline{e_m} = e_{-m}$ folgt, dass für gerade $n$ +die Funktionen +\[ +c_0, c_1,s_1,c_2,s_2,\dots c_{\frac{n}2-1},c_{\frac{n}2-1},c_{\frac{n}2} +\] +eine orthonormierte Basis. + + +Die Laplace-Matrix kann mit der folgenden Definition zu einer linearen +Abbildung auf Funktionen auf dem Graphen gemacht werden. +Sei $f\colon V\to \mathbb{R}$ und $L$ die Laplace-Matrix mit +Matrixelementen $l_{vv'}$ wobei $v,v'\in V$ ist. +Dann definieren wir die Funktion $Lf$ durch +\[ +(Lf)(v) += +\sum_{v'\in V} l_{vv'}f(v'). +\] + +\subsection{Standardbasis und Eigenbasis +\label{buch:subsection:standardbasis-und-eigenbasis}} +Die einfachste Basis, aus der siche Funktionen auf dem Graphen linear +kombinieren lassen, ist die Standardbasis. +Sie hat für jeden Knoten $v$ des Graphen eine Basisfunktion mit den Werten +\[ +e_v\colon V\to\mathbb R:v'\mapsto \begin{cases} +1\qquad&v=v'\\ +0\qquad&\text{sonst.} +\end{cases} +\] + + diff --git a/buch/chapters/70-graphen/wavelets.tex b/buch/chapters/70-graphen/wavelets.tex index 9c88c08..26a9e42 100644 --- a/buch/chapters/70-graphen/wavelets.tex +++ b/buch/chapters/70-graphen/wavelets.tex @@ -1,125 +1,125 @@ -% -% wavelets.tex -- Wavelets auf Graphen -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Wavelets auf Graphen -\label{buch:section:wavelets-auf-graphen}} -\rhead{Wavelets auf Graphen} -In Abschnitt~\ref{buch:subsection:standardbasis-und-eigenbasis} wurde -gezeigt dass die Standardbasis den Zusammenhang zwischen den einzelnen -Teilen des Graphen völlig ignoriert, während die Eigenbasis Wellen -beschreibt, die mit vergleichbarer Amplitude sich über den ganzen -Graphen entsprechen. -Die Eigenbasis unterdrückt also die ``Individualität'' der einzelnen -Knoten fast vollständig. - -Wenn man einen Standardbasisvektor in einem Knoten $i$ -als Anfangstemperaturverteilung verwendet, erwartet man eine Lösung, -die für kleine Zeiten $t$ die Energie immer in der Nähe des Knotens $i$ -konzentriert hat. -Weder die Standardbasis noch die Eigenbasis haben diese Eigenschaft. - -\subsection{Vergleich mit der Wärmeleitung auf $\mathbb{R}$} -Ein ähnliches Phänomen findet man bei der Wärmeausbreitung gemäss -der partiellen Differentialgleichung -\[ -\frac{\partial T}{\partial t} = -\kappa \frac{\partial^2 T}{\partial x^2}. -\] -Die von Fourier erfundene Methode, die Fourier-Theorie, verwendet die -Funktionen $e^{ik x}$, die Eigenvektoren der zweiten Ableitung -$\partial^2/\partial x^2$ sind. -Diese haben das gleiche Problem, der Betrag von $e^{ikx}$ ist $1$, die -Entfernung von einem Punkt spielt überhaupt keine Rolle. -Die Funktion -\[ -F(x,t) -= -\frac{1}{\sqrt{4\pi\kappa t}}e^{-x^2/4\kappa t} -\] -ist eine Lösung der Wärmeleitungsgleichung mit einem Maximum an -der Stelle $0$. -Sie heisst die Fundamentallösung der Wärmeleitungsgleichung. -Durch Überlagerung von Translaten in eine Funktion -\begin{equation} -f(x,t) -= -\int_{-\infty}^\infty f(\xi) F(x-\xi,t)\,d\xi -\label{buch:graphen:eqn:fundamentalueberlagerung} -\end{equation} -kann man die allgemeine Lösung aus Fundamentallösungen zusammensetzen. -Die Fundamentallösungen $f(x-\xi,t)$ sind für kleine Zeiten immer noch -deutlich in einer Umgebung von $\xi$ konzentriert. - -% XXX Ausbreitung der Fundamentallösung illustrieren -\begin{figure} -\centering -\includegraphics{chapters/70-graphen/images/fundamental.pdf} -\caption{Vergleich der verschiedenen Funktionenfamilien, mit denen -Lösungenfunktionen durch Linearkombination erzeugt werden können. -In der Standarbasis (links) ist es am einfachsten, die Funktionswerte -abzulesen, in der Eigenbasis (Mitte) kann die zeitliche Entwicklung -besonders leicht berechnet werden. -Dazuwischen liegen die Fundamentallösungen (rechts), die eine einigermassen -übersichtliche Zeitentwicklung haben, die Berechnung der Temperatur an -einer Stelle $x$ zur Zeit $t$ ist aber erst durch das Integral -\eqref{buch:graphen:eqn:fundamentalueberlagerung} gegeben. -\label{buch:graphen:fig:fundamental}} -\end{figure} - -\subsection{Fundamentallösungen auf einem Graphen} -Die Wärmeleitungsgleichung auf einem Graphen kann für einen -Standardbasisvektor mit Hilfe der -Lösungsformel~\eqref{buch:graphen:eqn:eigloesung} -gefunden werden. -Aus physikalischen Gründen ist aber offensichtlich, dass die -Wärmeenergie Fundamentallösungen $F_i(t)$ für kurze Zeiten $t$ -in der Nähe des Knoten $i$ konzentriert ist. -Dies ist aber aus der expliziten Formel -\begin{equation} -F_i(t) -= -\sum_{j=1}^n \langle f_j,e_i\rangle e^{-\kappa \lambda_i t} f_j -= -\sum_{j=1}^n \overline{f}_{ji} e^{-\kappa \lambda_i t}, -\label{buch:graphen:eqn:fundamentalgraph} -\end{equation} -nicht unmittelbar erkennbar. - -Man kann aber aus~\eqref{buch:graphen:eqn:fundamentalgraph} ablesen, -dass für zunehmende Zeit die hohen Frequenzen sehr schnell gedämpft -werden. -Die hohen Frequenzen erzeugen also den scharfen Peak für Zeiten nahe -beim Knoten $i$, die zu kleineren $\lambda_i$ beschreiben die Ausbreitung -über grössere Distanzen. -Die Fundamentallösung interpoliert also in einem gewissen Sinne zwischen -den Extremen der Standardbasis und der Eigenbasis. -Die ``Interpolation'' geht von der Differentialgleichung aus, -sie ist nicht einfach nur ein Filter, der die verschiedenen Frequenzen -auf die gleiche Art bearbeitet. - -Gesucht ist eine Methode, eine Familie von Vektoren zu finden, -aus der sich alle Vektoren linear kombinieren lassen, in der aber -auch auf die für die Anwendung interessante Längenskala angepasste -Funktionen gefunden werden können. - -\subsection{Wavelets und Frequenzspektrum} -Eine Wavelet-Basis der Funktionen auf $\mathbb{R}$ zerlegt - - -\subsection{Frequenzspektrum -\label{buch:subsection:frequenzspektrum}} -Die Fundamentallösung der Wärmeleitunsgleichung haben ein Spektrum, welches -wie $e^{-k^2}$ gegen $0$ geht. - -Die Fundamentallösung entsteht dadurch, dass die hohen Frequenzen -schneller dämpft als die tiefen Frequenzen. - - -\subsection{Wavelet-Basen -\label{buch:subsection:}} - - - - - +% +% wavelets.tex -- Wavelets auf Graphen +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Wavelets auf Graphen +\label{buch:section:wavelets-auf-graphen}} +\rhead{Wavelets auf Graphen} +In Abschnitt~\ref{buch:subsection:standardbasis-und-eigenbasis} wurde +gezeigt dass die Standardbasis den Zusammenhang zwischen den einzelnen +Teilen des Graphen völlig ignoriert, während die Eigenbasis Wellen +beschreibt, die mit vergleichbarer Amplitude sich über den ganzen +Graphen entsprechen. +Die Eigenbasis unterdrückt also die ``Individualität'' der einzelnen +Knoten fast vollständig. + +Wenn man einen Standardbasisvektor in einem Knoten $i$ +als Anfangstemperaturverteilung verwendet, erwartet man eine Lösung, +die für kleine Zeiten $t$ die Energie immer in der Nähe des Knotens $i$ +konzentriert hat. +Weder die Standardbasis noch die Eigenbasis haben diese Eigenschaft. + +\subsection{Vergleich mit der Wärmeleitung auf $\mathbb{R}$} +Ein ähnliches Phänomen findet man bei der Wärmeausbreitung gemäss +der partiellen Differentialgleichung +\[ +\frac{\partial T}{\partial t} = -\kappa \frac{\partial^2 T}{\partial x^2}. +\] +Die von Fourier erfundene Methode, die Fourier-Theorie, verwendet die +Funktionen $e^{ik x}$, die Eigenvektoren der zweiten Ableitung +$\partial^2/\partial x^2$ sind. +Diese haben das gleiche Problem, der Betrag von $e^{ikx}$ ist $1$, die +Entfernung von einem Punkt spielt überhaupt keine Rolle. +Die Funktion +\[ +F(x,t) += +\frac{1}{\sqrt{4\pi\kappa t}}e^{-x^2/4\kappa t} +\] +ist eine Lösung der Wärmeleitungsgleichung mit einem Maximum an +der Stelle $0$. +Sie heisst die Fundamentallösung der Wärmeleitungsgleichung. +Durch Überlagerung von Translaten in eine Funktion +\begin{equation} +f(x,t) += +\int_{-\infty}^\infty f(\xi) F(x-\xi,t)\,d\xi +\label{buch:graphen:eqn:fundamentalueberlagerung} +\end{equation} +kann man die allgemeine Lösung aus Fundamentallösungen zusammensetzen. +Die Fundamentallösungen $f(x-\xi,t)$ sind für kleine Zeiten immer noch +deutlich in einer Umgebung von $\xi$ konzentriert. + +% XXX Ausbreitung der Fundamentallösung illustrieren +\begin{figure} +\centering +\includegraphics{chapters/70-graphen/images/fundamental.pdf} +\caption{Vergleich der verschiedenen Funktionenfamilien, mit denen +Lösungenfunktionen durch Linearkombination erzeugt werden können. +In der Standarbasis (links) ist es am einfachsten, die Funktionswerte +abzulesen, in der Eigenbasis (Mitte) kann die zeitliche Entwicklung +besonders leicht berechnet werden. +Dazuwischen liegen die Fundamentallösungen (rechts), die eine einigermassen +übersichtliche Zeitentwicklung haben, die Berechnung der Temperatur an +einer Stelle $x$ zur Zeit $t$ ist aber erst durch das Integral +\eqref{buch:graphen:eqn:fundamentalueberlagerung} gegeben. +\label{buch:graphen:fig:fundamental}} +\end{figure} + +\subsection{Fundamentallösungen auf einem Graphen} +Die Wärmeleitungsgleichung auf einem Graphen kann für einen +Standardbasisvektor mit Hilfe der +Lösungsformel~\eqref{buch:graphen:eqn:eigloesung} +gefunden werden. +Aus physikalischen Gründen ist aber offensichtlich, dass die +Wärmeenergie Fundamentallösungen $F_i(t)$ für kurze Zeiten $t$ +in der Nähe des Knoten $i$ konzentriert ist. +Dies ist aber aus der expliziten Formel +\begin{equation} +F_i(t) += +\sum_{j=1}^n \langle f_j,e_i\rangle e^{-\kappa \lambda_i t} f_j += +\sum_{j=1}^n \overline{f}_{ji} e^{-\kappa \lambda_i t}, +\label{buch:graphen:eqn:fundamentalgraph} +\end{equation} +nicht unmittelbar erkennbar. + +Man kann aber aus~\eqref{buch:graphen:eqn:fundamentalgraph} ablesen, +dass für zunehmende Zeit die hohen Frequenzen sehr schnell gedämpft +werden. +Die hohen Frequenzen erzeugen also den scharfen Peak für Zeiten nahe +beim Knoten $i$, die zu kleineren $\lambda_i$ beschreiben die Ausbreitung +über grössere Distanzen. +Die Fundamentallösung interpoliert also in einem gewissen Sinne zwischen +den Extremen der Standardbasis und der Eigenbasis. +Die ``Interpolation'' geht von der Differentialgleichung aus, +sie ist nicht einfach nur ein Filter, der die verschiedenen Frequenzen +auf die gleiche Art bearbeitet. + +Gesucht ist eine Methode, eine Familie von Vektoren zu finden, +aus der sich alle Vektoren linear kombinieren lassen, in der aber +auch auf die für die Anwendung interessante Längenskala angepasste +Funktionen gefunden werden können. + +\subsection{Wavelets und Frequenzspektrum} +Eine Wavelet-Basis der Funktionen auf $\mathbb{R}$ zerlegt + + +\subsection{Frequenzspektrum +\label{buch:subsection:frequenzspektrum}} +Die Fundamentallösung der Wärmeleitunsgleichung haben ein Spektrum, welches +wie $e^{-k^2}$ gegen $0$ geht. + +Die Fundamentallösung entsteht dadurch, dass die hohen Frequenzen +schneller dämpft als die tiefen Frequenzen. + + +\subsection{Wavelet-Basen +\label{buch:subsection:}} + + + + + diff --git a/buch/chapters/90-crypto/aes.tex b/buch/chapters/90-crypto/aes.tex index acdda22..168ff2c 100644 --- a/buch/chapters/90-crypto/aes.tex +++ b/buch/chapters/90-crypto/aes.tex @@ -1,433 +1,433 @@ -% -% aes.tex -- Beschreibung des AES Algorithmus -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Advanced Encryption Standard -- AES -\label{buch:section:aes}} -\rhead{Advanced Encryption Standard} -Eine wichtige Forderung bei der Konzeption des damals neuen -Advanced Encryption Standard war, dass darin keine ``willkürlich'' -erscheinenden Operationen geben darf, bei denen der Verdacht -entstehen könnte, dass sich dahinter noch offengelegtes Wissen -über einen möglichen Angriff auf den Verschlüsselungsalgorithmus -verbergen könnte. -Dies war eine Schwäche des vor AES üblichen DES Verschlüsselungsalgorithmus. -In seiner Definition kommt eine Reihe von Konstanten vor, über deren -Herkunft nichts bekannt war. -Die Gerüchteküche wollte wissen, dass die NSA die Konstanten aus dem -ursprünglichen Vorschlag abgeändert habe, und dass dies geschehen sei, -um den Algorithmus durch die NSA angreifbar zu machen. - -Eine weiter Forderung war, dass die Sicherheit des neuen -Verschlüsselungsstandards ``skalierbar'' sein soll, dass man also -die Schlüssellänge mit der Zeit von 128~Bit auf 196 oder sogar 256~Bit -steigern kann. -Der Standard wird dadurch langlebiger und gleichzeitig entsteht die -Möglichkeit, Sicherheit gegen Rechenleistung einzutauschen. -Weniger leistungsfähige Systeme können den Algorithmus immer noch -nutzen, entweder mit geringerer Verschlüsselungsrate oder geringerer -Sicherheit. - -In diesem Abschnitt soll gezeigt werde, wie sich die AES -spezifizierten Operationen als mit der Arithmetik der -endlichen Körper beschreiben lassen. -Im Abschnitt~\ref{buch:subsection:byte-operationen} werden -Bytes als Elemente in einem endlichen Körper $\mathbb{F}_{2^8}$ -interpretiert. -Damit kann dann die sogenannte $S$-Box konstruiert werden und -es ist leicht zu verstehen, dass sie invertierbar ist. -Aus den Byte-Operationen können dann Mischoperationen erzeugt -werden, die Bytes untereinander verknüpfen, die aber auch wieder -als Operationen in einem endlichen Körper verstanden werden können. - -\subsection{Byte-Operationen -\label{buch:subsection:byte-operationen}} -Moderne Prozessoren operieren auf Wörtern, die Vielfache von Bytes sind. -Byte-Operationen sind besonders effizient in Hardware zu realisieren. -AES verwendet daher als Grundelemente Operationen auf Bytes, die als -Elemente eines endlichen Körpers $\mathbb{F}_{2^8}$ interpretiert werden. - -\subsubsection{Bytes als Elemente von $\mathbb{F}_{2^8}$} -Das Polynom $m(X)=X^8+X^4+X^3+X+1\in \mathbb{F}_2[X]$ ist irreduzibel, -somit ist $\mathbb{F}_{2^8} = \mathbb{F}_2[X]/(m)$ ein Körper. -Die Elemente können dargestellt werden als Polynome, das Byte -$\texttt{63}_{16}$ bekommt die Form -\[ -p(X) = p_7X^7 + p_6X^6 + \dots + p_2X^2+p_1X + p_0, -\] -sie bestehen daher aus den $8$ Bits $p_7,\dots,p_0$. - -Die Interpretation der Bytes als Elemente eines Körpers bedeutet, -dass jede Multiplikation mit einem nicht verschwindenden Byte -invertierbar ist. -Ausserdem mischen diese Operationen die einzelnen Bits auf einigermassen -undurchsichtige, aber umkehrbare Art durcheinander, wie dies für ein -Verschlüsselungsverfahren wünschenswert ist. - -\subsubsection{$S$-Box} -Für die Operation der $S$-Box wird wie folgt zusammengesetzt. -Zunächst wird ein Byte $x$ durch das zugehörige multiplikative -inverse Element -\[ -x\mapsto \bar{x} = \begin{cases} -x^{-1}&\qquad \text{für $x\in \mathbb{F}_{2^8}^*$}\\ -0 &\qquad \text{für $x=0$} -\end{cases} -\] -ersetzt. - -Im zweiten Schritt betrachten wir $\mathbb{F}_{2^8}$ als einen -$8$-dimensionalen Vektorraum über $\mathbb{F}_2$. -Einem Polynom $p(X)=p_7X^7 + \dots + p_1X+p_0$ wird der Spaltenvektor -mit den Komponenten $p_0$ bis $p_7$ zugeordnet. - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/90-crypto/images/sbox.pdf} -\caption{Berechnung der Inversen der Matrix $A$ in der $S$-Box des -AES-Algorithmus mit dem Gauss-Algorithmus -\label{buch:crypto:fig:sbox}} -\end{figure} - -Eine lineare Transformation in diesem Vektorraum kann durch eine -$8\times 8$-Matrix in $M_8(\mathbb{F}_2)$ betrachtet werden. -In der $S$-Box wird die Matrix -\[ -A= -\begin{pmatrix} -1&0&0&0&1&1&1&1\\ -1&1&0&0&0&1&1&1\\ -1&1&1&0&0&0&1&1\\ -1&1&1&1&0&0&0&1\\ -1&1&1&1&1&0&0&0\\ -0&1&1&1&1&1&0&0\\ -0&0&1&1&1&1&1&0\\ -0&0&0&1&1&1&1&1 -\end{pmatrix}, -\qquad -A^{-1} -= -\begin{pmatrix} -0&0&1&0&0&1&0&1\\ -1&0&0&1&0&0&1&0\\ -0&1&0&0&1&0&0&1\\ -1&0&1&0&0&1&0&0\\ -0&1&0&1&0&0&1&0\\ -0&0&1&0&1&0&0&1\\ -1&0&0&1&0&1&0&0\\ -0&1&0&0&1&0&1&0 -\end{pmatrix} -\] -verwendet. -Mit dem Gauss-Algorithmus, schematisch dargestellt in -Abbildung~\ref{buch:crypto:fig:sbox}, kann man die Inverse -bestimmen, die Multiplikation mit $A$ ist also eine invertierbare -Abbildung. - -Der letzte Schritt ist dann wieder eine Addition von -$q(X)=X^7+X^6+X+1\in \mathbb{F}_{2^8}$, durch Subtraktion -von $q(X)$ invertiert werden kann. -Die $S$-Box-Operation kann also bektoriell geschrieben werden also -\[ - S(x) = A\overline{x}+q. -\] - -Die Implementation ist möglicherweise mit einer Tabelle am schnellsten, -es sind ja nur 256 Bytes im Definitionsbereich der $S$-Box-Abbildung -und ebenso nur 256 möglich Werte. - -\subsection{Block-Operationen -\label{buch:subsection:block-operationen}} -Die zu verschlüsselnden Daten werden in in Blöcke aufgeteilt, deren -Länge Vielfache von $32$ bit sind. -Die kleinste Blockgrösse ist 128\,Bit, die grösste ist 256\,Bit. -Die Bytes eines Blockes werden dann in einem Rechteck angeordnet -als -\begin{equation} -\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} -\hline - b_{0} & b_{4} & b_{8} & b_{12} & b_{16} & b_{20} & b_{24} & b_{28} \\ - b_{1} & b_{5} & b_{9} & b_{13} & b_{17} & b_{21} & b_{25} & b_{29} \\ - b_{2} & b_{6} & b_{10} & b_{14} & b_{18} & b_{22} & b_{26} & b_{30} \\ - b_{3} & b_{7} & b_{11} & b_{15} & b_{19} & b_{23} & b_{27} & b_{31} \\ -\hline -\end{tabular} -\label{buch:crypto:eqn:block} -\end{equation} -für eine Blocklänge von 256\,Bits. - - - -\subsubsection{Zeilenshift} -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/90-crypto/images/shift.pdf} -\caption{Zeilenshift in einem Block von 256 bits -\label{buch:crypto:fig:shift}} -\end{figure} -Die Verschlüsselung muss sicherstellen, dass die Bytes des Blockes -untereinander gut gemischt werden. -Die bisher beschriebenen Operationen operieren immer nur auf einzelnen -Bytes während -die im nächsten Abschnitt beschriebene Spalten-Mischoperation -nur auf Spalten wird. -Die Zeilenmischoperation permutiert die Zeilen in den vier Zeilen -eines Blocks zyklisch, die erste Zeile bleibt an Ort, die zweite -Zeile wird um ein Byte rotiert, die dritte um zwei und die letzte -um 3 Bytes, wie in Abbildung~\ref{buch:crypto:fig:zeilenshift} -dargestellt. -Diese Operation könnte mit einer Permutationsmatrix beschrieben werden, -dies wäre jedoch keine effiziente Implementation. -Der Zeilenschift hat ansonsten keine elegante algebraische Beschreibung. - -\subsubsection{Spalten mischen} -Jede Spalte von \eqref{buch:crypto:eqn:block} kann als Vektor des -vierdimensionalen Vektorraumes $\mathbb{F}_{2^8}^4$. -Die Zeilenmischoperation wendet ein lineare Abbildung auf jeden -Spaltenvektor von~\eqref{buch:crypto:eqn:block}. -Die Koeffizienten der Matrix sind Elemente von $\mathbb{F}_{2^8}$. -Die Matrix ist -\[ -C=\begin{pmatrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16} -\end{pmatrix}. -\] -Um nachzuprüfen, dass die Matrix $C$ invertierbar ist, könnte man den -Gauss-Algorithmus verwenden und damit die Inverse berechnen. -Dazu müsste man die multiplikativen Inversen kennen, was etwas mühsam -ist. -Man kann aber aber auch die Determinante bestimmen, dazu braucht man -nur multiplizieren zu können, was in diesem Fall sehr leicht möglich ist, -weil kein Überlauf entsteht. -Dabei hilft es zu beachten, dass die Multiplikation mit $\texttt{02}_{16}$ -nur eine Einbit-Shiftoperation nach links ist. -Nur die Multiplikation $\texttt{03}_{16}\cdot\texttt{03}_{16}=\text{05}_{16}$ -gibt etwas mehr zu überlegen. -Mit geeigneten Zeilen-Operationen kann man die Berechnung der Determinante -von $C$ mit dem Entwicklungssatz etwas vereinfachen. -Man erhält -\begin{align*} -\det(C) -&= -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -\left( -\texttt{02}_{16} -\left| -\begin{matrix} -\texttt{02}_{16}&\texttt{03}_{16}\\ -\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}\\ -\texttt{03}_{16}&\texttt{02}_{16} -\end{matrix} -\right| -\right) -+ -\texttt{01}_{16} -\left| -\begin{matrix} -\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ -\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}\\ -\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16} -\end{matrix} -\right| -\\ -&= -\texttt{02}_{16} -( -\texttt{02}_{16}(\texttt{04}_{16}+\texttt{05}_{16}) -+ -(\texttt{06}_{16}+\texttt{03}_{16}) -) -+ -\texttt{03}_{16}\texttt{03}_{16} -\\ -&= -\texttt{02}_{16} -( -\texttt{02}_{16} -+ -\texttt{05}_{16} -) -+ -\texttt{05}_{16} -= -\texttt{0e}_{16}+\texttt{05}_{16} -= -\texttt{0a}_{16} -\ne 0. -\end{align*} -Damit ist gezeigt, dass die Matrix $C$ invertierbar auf den -Spaltenvektoren wirkt. -Die Inverse der Matrix kann einmal berechnet und anschliessend -für die Entschlüsselung verwendet werden. - -Alternativ kann man die Multiplikation mit der Matrix $C$ auch -interpretieren als eine Polynommultiplikation. -Dazu interpretiert man die Spalten des Blocks als Polynom vom Grad~3 -mit Koeffizienten in $\mathbb{F}_{2^8}$. -Durch Reduktion mit dem irreduziblen Polynom -$n(Z)=Z^4+1\in\mathbb{F}_{2^8}[X]$ entsteht aus dem Polynomring -wieder ein Körper. -Die Wirkung der Matrix $C$ ist dann nichts anderes als Multiplikation -mit dem Polynom -\[ -c(Z) = \texttt{03}_{16}Z^3 + Z^2+Z^1+\texttt{02}_{16}, -\] -die natürlich ebenfalls umkehrbar ist. - -\subsection{Schlüssel -\label{buch:subsection:schlüssel}} -Die von den Byte- und Blockoperationen mischen die einzelnen Bits -der Daten zwar ganz schön durcheinander, aber es wird noch kein -Schlüsselmaterial eingearbeitet, welches den Prozess einzigartig -macht. - -\subsubsection{Schlüsseladdition} -Nach jeder Spaltenmischoperation wird ein Rundenschlüssel -zum Blockhinzuaddiert. -Beim ersten Mal wird dazu einfach das Schlüsselmaterial verwendet. -Für die folgenden Runden muss aus diesem Schlüssel neues -Material, die sogenannten Rundenschlüssel, gewonnen werden. - -\subsubsection{Rundenschlüssel} -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/keys.pdf} -\caption{Erzeugung der erweiterten Schlüsseldaten aus dem Schlüssel -$K_0,\dots,K_7$ für Schlüssellänge 256\,bit. -Die mit $S$ beschrifteten Blöcke wenden die $S$-Box auf jedes einzelne -Byte an. -$\pi$ ist die zyklische Vertauschung der Bytes eines Wortes. -Die Operation $r_i$ ist eine Addition einer Konstanten, die in jeder -Runde anders ist. -\label{buch:crypto:fig:keys}} -\end{figure} -Die Erzeugung der Rundenschlüssel ist in Abbildung -\ref{buch:crypto:fig:keys} -schematisch dargestellt. -Die Blöcke beschreiben wieder Spaltenvektoren im vierdimensionalen -Raum $\mathbb{F}_{2^8}^4$. -Die Blöcke $K_0$ bis $K_7$ stellen den ursprünglichen Schlüssel dar. -Die Erzeugung eines neuen Blocks Schlüsselmatrial beginnt damit, -dass der letzte Vektor des vorangegangenblocks drei Operationen -unterworfen werden. -\begin{itemize} -\item -Die Operation $\pi$ vertauscht die Bytes des Vektors zyklisch: -\begin{center} -\begin{tikzpicture}[>=latex,thick] -\def\s{0.6} -\begin{scope} -\draw (0,0) rectangle (\s,{4*\s}); -\foreach \y in {1,...,3}{ - \draw (0,{\y*\s}) (\s,{\y*\s}); -} -\node at ({0.5*\s},{0.5*\s}) {$b_3$}; -\node at ({0.5*\s},{1.5*\s}) {$b_2$}; -\node at ({0.5*\s},{2.5*\s}) {$b_1$}; -\node at ({0.5*\s},{3.5*\s}) {$b_0$}; -\end{scope} -\draw[->] ({1.1*\s},{2*\s}) -- ({4.9*\s},{2*\s}); -\node at ({3*\s},{2*\s}) [above] {$\pi$}; -\begin{scope}[xshift=3cm] -\draw (0,0) rectangle (\s,{4*\s}); -\foreach \y in {1,...,3}{ - \draw (0,{\y*\s}) (\s,{\y*\s}); -} -\node at ({0.5*\s},{0.5*\s}) {$b_0$}; -\node at ({0.5*\s},{1.5*\s}) {$b_3$}; -\node at ({0.5*\s},{2.5*\s}) {$b_2$}; -\node at ({0.5*\s},{3.5*\s}) {$b_1$}; -\end{scope} -\end{tikzpicture} -\end{center} -\item -Die $S$-Operation wendet die $S$-Box auf alle Bytes eines Vektors an. -\item -Die $r_i$ Operation addiert in Runde eine Konstante $r_i$ zur $0$-Komponente. -\end{itemize} -Die Konstante $r_i$ ist wieder ein einzelnes Byte und es ist daher -naheliegend, diese Bytes mit Hilfe der Arithmetik in $\mathbb{F}_{2^8}$ -zu erzeugen. -Man kann daher $r_i$ definieren als -$(\texttt{02}_{16})^{i-1}\in\mathbb{F}_{2^8}$. - -\subsection{Runden} -Der AES-Verschlüsselungsalgorithmus besteht jetzt darin, die bisher -definierten Operationen wiederholt anzuwenden. -Eine einzelne Runde besteht dabei aus folgenden Schritten: -\begin{enumerate} -\item Wende die $S$-Box auf alle Bytes des Blocks an. -\item Führe den Zeilenshift durch. -\item Mische die Spalten (wird in der letzten Runde) -\item Erzeuge den nächsten Rundenschlüssel -\item Addiere den Rundenschlüssel -\end{enumerate} -Der AES-Verschlüsselungsalgorithmus beginnt damit, dass der Schlüssel -zum Datenblock addiert wird. -Anschliessend werden je nach Blocklänge verschiedene Anzahlen von -Runden durchgeführt, 10 Runden für 128\,bit, 12 Runden für 192\,bit und -14 Runden für 256\,bit. - - - - - +% +% aes.tex -- Beschreibung des AES Algorithmus +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Advanced Encryption Standard -- AES +\label{buch:section:aes}} +\rhead{Advanced Encryption Standard} +Eine wichtige Forderung bei der Konzeption des damals neuen +Advanced Encryption Standard war, dass darin keine ``willkürlich'' +erscheinenden Operationen geben darf, bei denen der Verdacht +entstehen könnte, dass sich dahinter noch offengelegtes Wissen +über einen möglichen Angriff auf den Verschlüsselungsalgorithmus +verbergen könnte. +Dies war eine Schwäche des vor AES üblichen DES Verschlüsselungsalgorithmus. +In seiner Definition kommt eine Reihe von Konstanten vor, über deren +Herkunft nichts bekannt war. +Die Gerüchteküche wollte wissen, dass die NSA die Konstanten aus dem +ursprünglichen Vorschlag abgeändert habe, und dass dies geschehen sei, +um den Algorithmus durch die NSA angreifbar zu machen. + +Eine weiter Forderung war, dass die Sicherheit des neuen +Verschlüsselungsstandards ``skalierbar'' sein soll, dass man also +die Schlüssellänge mit der Zeit von 128~Bit auf 196 oder sogar 256~Bit +steigern kann. +Der Standard wird dadurch langlebiger und gleichzeitig entsteht die +Möglichkeit, Sicherheit gegen Rechenleistung einzutauschen. +Weniger leistungsfähige Systeme können den Algorithmus immer noch +nutzen, entweder mit geringerer Verschlüsselungsrate oder geringerer +Sicherheit. + +In diesem Abschnitt soll gezeigt werde, wie sich die AES +spezifizierten Operationen als mit der Arithmetik der +endlichen Körper beschreiben lassen. +Im Abschnitt~\ref{buch:subsection:byte-operationen} werden +Bytes als Elemente in einem endlichen Körper $\mathbb{F}_{2^8}$ +interpretiert. +Damit kann dann die sogenannte $S$-Box konstruiert werden und +es ist leicht zu verstehen, dass sie invertierbar ist. +Aus den Byte-Operationen können dann Mischoperationen erzeugt +werden, die Bytes untereinander verknüpfen, die aber auch wieder +als Operationen in einem endlichen Körper verstanden werden können. + +\subsection{Byte-Operationen +\label{buch:subsection:byte-operationen}} +Moderne Prozessoren operieren auf Wörtern, die Vielfache von Bytes sind. +Byte-Operationen sind besonders effizient in Hardware zu realisieren. +AES verwendet daher als Grundelemente Operationen auf Bytes, die als +Elemente eines endlichen Körpers $\mathbb{F}_{2^8}$ interpretiert werden. + +\subsubsection{Bytes als Elemente von $\mathbb{F}_{2^8}$} +Das Polynom $m(X)=X^8+X^4+X^3+X+1\in \mathbb{F}_2[X]$ ist irreduzibel, +somit ist $\mathbb{F}_{2^8} = \mathbb{F}_2[X]/(m)$ ein Körper. +Die Elemente können dargestellt werden als Polynome, das Byte +$\texttt{63}_{16}$ bekommt die Form +\[ +p(X) = p_7X^7 + p_6X^6 + \dots + p_2X^2+p_1X + p_0, +\] +sie bestehen daher aus den $8$ Bits $p_7,\dots,p_0$. + +Die Interpretation der Bytes als Elemente eines Körpers bedeutet, +dass jede Multiplikation mit einem nicht verschwindenden Byte +invertierbar ist. +Ausserdem mischen diese Operationen die einzelnen Bits auf einigermassen +undurchsichtige, aber umkehrbare Art durcheinander, wie dies für ein +Verschlüsselungsverfahren wünschenswert ist. + +\subsubsection{$S$-Box} +Für die Operation der $S$-Box wird wie folgt zusammengesetzt. +Zunächst wird ein Byte $x$ durch das zugehörige multiplikative +inverse Element +\[ +x\mapsto \bar{x} = \begin{cases} +x^{-1}&\qquad \text{für $x\in \mathbb{F}_{2^8}^*$}\\ +0 &\qquad \text{für $x=0$} +\end{cases} +\] +ersetzt. + +Im zweiten Schritt betrachten wir $\mathbb{F}_{2^8}$ als einen +$8$-dimensionalen Vektorraum über $\mathbb{F}_2$. +Einem Polynom $p(X)=p_7X^7 + \dots + p_1X+p_0$ wird der Spaltenvektor +mit den Komponenten $p_0$ bis $p_7$ zugeordnet. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/90-crypto/images/sbox.pdf} +\caption{Berechnung der Inversen der Matrix $A$ in der $S$-Box des +AES-Algorithmus mit dem Gauss-Algorithmus +\label{buch:crypto:fig:sbox}} +\end{figure} + +Eine lineare Transformation in diesem Vektorraum kann durch eine +$8\times 8$-Matrix in $M_8(\mathbb{F}_2)$ betrachtet werden. +In der $S$-Box wird die Matrix +\[ +A= +\begin{pmatrix} +1&0&0&0&1&1&1&1\\ +1&1&0&0&0&1&1&1\\ +1&1&1&0&0&0&1&1\\ +1&1&1&1&0&0&0&1\\ +1&1&1&1&1&0&0&0\\ +0&1&1&1&1&1&0&0\\ +0&0&1&1&1&1&1&0\\ +0&0&0&1&1&1&1&1 +\end{pmatrix}, +\qquad +A^{-1} += +\begin{pmatrix} +0&0&1&0&0&1&0&1\\ +1&0&0&1&0&0&1&0\\ +0&1&0&0&1&0&0&1\\ +1&0&1&0&0&1&0&0\\ +0&1&0&1&0&0&1&0\\ +0&0&1&0&1&0&0&1\\ +1&0&0&1&0&1&0&0\\ +0&1&0&0&1&0&1&0 +\end{pmatrix} +\] +verwendet. +Mit dem Gauss-Algorithmus, schematisch dargestellt in +Abbildung~\ref{buch:crypto:fig:sbox}, kann man die Inverse +bestimmen, die Multiplikation mit $A$ ist also eine invertierbare +Abbildung. + +Der letzte Schritt ist dann wieder eine Addition von +$q(X)=X^7+X^6+X+1\in \mathbb{F}_{2^8}$, durch Subtraktion +von $q(X)$ invertiert werden kann. +Die $S$-Box-Operation kann also bektoriell geschrieben werden also +\[ + S(x) = A\overline{x}+q. +\] + +Die Implementation ist möglicherweise mit einer Tabelle am schnellsten, +es sind ja nur 256 Bytes im Definitionsbereich der $S$-Box-Abbildung +und ebenso nur 256 möglich Werte. + +\subsection{Block-Operationen +\label{buch:subsection:block-operationen}} +Die zu verschlüsselnden Daten werden in in Blöcke aufgeteilt, deren +Länge Vielfache von $32$ bit sind. +Die kleinste Blockgrösse ist 128\,Bit, die grösste ist 256\,Bit. +Die Bytes eines Blockes werden dann in einem Rechteck angeordnet +als +\begin{equation} +\begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline + b_{0} & b_{4} & b_{8} & b_{12} & b_{16} & b_{20} & b_{24} & b_{28} \\ + b_{1} & b_{5} & b_{9} & b_{13} & b_{17} & b_{21} & b_{25} & b_{29} \\ + b_{2} & b_{6} & b_{10} & b_{14} & b_{18} & b_{22} & b_{26} & b_{30} \\ + b_{3} & b_{7} & b_{11} & b_{15} & b_{19} & b_{23} & b_{27} & b_{31} \\ +\hline +\end{tabular} +\label{buch:crypto:eqn:block} +\end{equation} +für eine Blocklänge von 256\,Bits. + + + +\subsubsection{Zeilenshift} +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/90-crypto/images/shift.pdf} +\caption{Zeilenshift in einem Block von 256 bits +\label{buch:crypto:fig:shift}} +\end{figure} +Die Verschlüsselung muss sicherstellen, dass die Bytes des Blockes +untereinander gut gemischt werden. +Die bisher beschriebenen Operationen operieren immer nur auf einzelnen +Bytes während +die im nächsten Abschnitt beschriebene Spalten-Mischoperation +nur auf Spalten wird. +Die Zeilenmischoperation permutiert die Zeilen in den vier Zeilen +eines Blocks zyklisch, die erste Zeile bleibt an Ort, die zweite +Zeile wird um ein Byte rotiert, die dritte um zwei und die letzte +um 3 Bytes, wie in Abbildung~\ref{buch:crypto:fig:zeilenshift} +dargestellt. +Diese Operation könnte mit einer Permutationsmatrix beschrieben werden, +dies wäre jedoch keine effiziente Implementation. +Der Zeilenschift hat ansonsten keine elegante algebraische Beschreibung. + +\subsubsection{Spalten mischen} +Jede Spalte von \eqref{buch:crypto:eqn:block} kann als Vektor des +vierdimensionalen Vektorraumes $\mathbb{F}_{2^8}^4$. +Die Zeilenmischoperation wendet ein lineare Abbildung auf jeden +Spaltenvektor von~\eqref{buch:crypto:eqn:block}. +Die Koeffizienten der Matrix sind Elemente von $\mathbb{F}_{2^8}$. +Die Matrix ist +\[ +C=\begin{pmatrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16} +\end{pmatrix}. +\] +Um nachzuprüfen, dass die Matrix $C$ invertierbar ist, könnte man den +Gauss-Algorithmus verwenden und damit die Inverse berechnen. +Dazu müsste man die multiplikativen Inversen kennen, was etwas mühsam +ist. +Man kann aber aber auch die Determinante bestimmen, dazu braucht man +nur multiplizieren zu können, was in diesem Fall sehr leicht möglich ist, +weil kein Überlauf entsteht. +Dabei hilft es zu beachten, dass die Multiplikation mit $\texttt{02}_{16}$ +nur eine Einbit-Shiftoperation nach links ist. +Nur die Multiplikation $\texttt{03}_{16}\cdot\texttt{03}_{16}=\text{05}_{16}$ +gibt etwas mehr zu überlegen. +Mit geeigneten Zeilen-Operationen kann man die Berechnung der Determinante +von $C$ mit dem Entwicklungssatz etwas vereinfachen. +Man erhält +\begin{align*} +\det(C) +&= +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +\left( +\texttt{02}_{16} +\left| +\begin{matrix} +\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{03}_{16}&\texttt{02}_{16} +\end{matrix} +\right| +\right) ++ +\texttt{01}_{16} +\left| +\begin{matrix} +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{00}_{16}&\texttt{03}_{16}&\texttt{02}_{16}\\ +\texttt{00}_{16}&\texttt{00}_{16}&\texttt{01}_{16} +\end{matrix} +\right| +\\ +&= +\texttt{02}_{16} +( +\texttt{02}_{16}(\texttt{04}_{16}+\texttt{05}_{16}) ++ +(\texttt{06}_{16}+\texttt{03}_{16}) +) ++ +\texttt{03}_{16}\texttt{03}_{16} +\\ +&= +\texttt{02}_{16} +( +\texttt{02}_{16} ++ +\texttt{05}_{16} +) ++ +\texttt{05}_{16} += +\texttt{0e}_{16}+\texttt{05}_{16} += +\texttt{0a}_{16} +\ne 0. +\end{align*} +Damit ist gezeigt, dass die Matrix $C$ invertierbar auf den +Spaltenvektoren wirkt. +Die Inverse der Matrix kann einmal berechnet und anschliessend +für die Entschlüsselung verwendet werden. + +Alternativ kann man die Multiplikation mit der Matrix $C$ auch +interpretieren als eine Polynommultiplikation. +Dazu interpretiert man die Spalten des Blocks als Polynom vom Grad~3 +mit Koeffizienten in $\mathbb{F}_{2^8}$. +Durch Reduktion mit dem irreduziblen Polynom +$n(Z)=Z^4+1\in\mathbb{F}_{2^8}[X]$ entsteht aus dem Polynomring +wieder ein Körper. +Die Wirkung der Matrix $C$ ist dann nichts anderes als Multiplikation +mit dem Polynom +\[ +c(Z) = \texttt{03}_{16}Z^3 + Z^2+Z^1+\texttt{02}_{16}, +\] +die natürlich ebenfalls umkehrbar ist. + +\subsection{Schlüssel +\label{buch:subsection:schlüssel}} +Die von den Byte- und Blockoperationen mischen die einzelnen Bits +der Daten zwar ganz schön durcheinander, aber es wird noch kein +Schlüsselmaterial eingearbeitet, welches den Prozess einzigartig +macht. + +\subsubsection{Schlüsseladdition} +Nach jeder Spaltenmischoperation wird ein Rundenschlüssel +zum Blockhinzuaddiert. +Beim ersten Mal wird dazu einfach das Schlüsselmaterial verwendet. +Für die folgenden Runden muss aus diesem Schlüssel neues +Material, die sogenannten Rundenschlüssel, gewonnen werden. + +\subsubsection{Rundenschlüssel} +\begin{figure} +\centering +\includegraphics{chapters/90-crypto/images/keys.pdf} +\caption{Erzeugung der erweiterten Schlüsseldaten aus dem Schlüssel +$K_0,\dots,K_7$ für Schlüssellänge 256\,bit. +Die mit $S$ beschrifteten Blöcke wenden die $S$-Box auf jedes einzelne +Byte an. +$\pi$ ist die zyklische Vertauschung der Bytes eines Wortes. +Die Operation $r_i$ ist eine Addition einer Konstanten, die in jeder +Runde anders ist. +\label{buch:crypto:fig:keys}} +\end{figure} +Die Erzeugung der Rundenschlüssel ist in Abbildung +\ref{buch:crypto:fig:keys} +schematisch dargestellt. +Die Blöcke beschreiben wieder Spaltenvektoren im vierdimensionalen +Raum $\mathbb{F}_{2^8}^4$. +Die Blöcke $K_0$ bis $K_7$ stellen den ursprünglichen Schlüssel dar. +Die Erzeugung eines neuen Blocks Schlüsselmatrial beginnt damit, +dass der letzte Vektor des vorangegangenblocks drei Operationen +unterworfen werden. +\begin{itemize} +\item +Die Operation $\pi$ vertauscht die Bytes des Vektors zyklisch: +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\def\s{0.6} +\begin{scope} +\draw (0,0) rectangle (\s,{4*\s}); +\foreach \y in {1,...,3}{ + \draw (0,{\y*\s}) (\s,{\y*\s}); +} +\node at ({0.5*\s},{0.5*\s}) {$b_3$}; +\node at ({0.5*\s},{1.5*\s}) {$b_2$}; +\node at ({0.5*\s},{2.5*\s}) {$b_1$}; +\node at ({0.5*\s},{3.5*\s}) {$b_0$}; +\end{scope} +\draw[->] ({1.1*\s},{2*\s}) -- ({4.9*\s},{2*\s}); +\node at ({3*\s},{2*\s}) [above] {$\pi$}; +\begin{scope}[xshift=3cm] +\draw (0,0) rectangle (\s,{4*\s}); +\foreach \y in {1,...,3}{ + \draw (0,{\y*\s}) (\s,{\y*\s}); +} +\node at ({0.5*\s},{0.5*\s}) {$b_0$}; +\node at ({0.5*\s},{1.5*\s}) {$b_3$}; +\node at ({0.5*\s},{2.5*\s}) {$b_2$}; +\node at ({0.5*\s},{3.5*\s}) {$b_1$}; +\end{scope} +\end{tikzpicture} +\end{center} +\item +Die $S$-Operation wendet die $S$-Box auf alle Bytes eines Vektors an. +\item +Die $r_i$ Operation addiert in Runde eine Konstante $r_i$ zur $0$-Komponente. +\end{itemize} +Die Konstante $r_i$ ist wieder ein einzelnes Byte und es ist daher +naheliegend, diese Bytes mit Hilfe der Arithmetik in $\mathbb{F}_{2^8}$ +zu erzeugen. +Man kann daher $r_i$ definieren als +$(\texttt{02}_{16})^{i-1}\in\mathbb{F}_{2^8}$. + +\subsection{Runden} +Der AES-Verschlüsselungsalgorithmus besteht jetzt darin, die bisher +definierten Operationen wiederholt anzuwenden. +Eine einzelne Runde besteht dabei aus folgenden Schritten: +\begin{enumerate} +\item Wende die $S$-Box auf alle Bytes des Blocks an. +\item Führe den Zeilenshift durch. +\item Mische die Spalten (wird in der letzten Runde) +\item Erzeuge den nächsten Rundenschlüssel +\item Addiere den Rundenschlüssel +\end{enumerate} +Der AES-Verschlüsselungsalgorithmus beginnt damit, dass der Schlüssel +zum Datenblock addiert wird. +Anschliessend werden je nach Blocklänge verschiedene Anzahlen von +Runden durchgeführt, 10 Runden für 128\,bit, 12 Runden für 192\,bit und +14 Runden für 256\,bit. + + + + + diff --git a/buch/chapters/90-crypto/arith.tex b/buch/chapters/90-crypto/arith.tex index 44eb6bb..3386fc0 100644 --- a/buch/chapters/90-crypto/arith.tex +++ b/buch/chapters/90-crypto/arith.tex @@ -1,295 +1,295 @@ -% -% arith.tex -% -% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Arithmetik für die Kryptographie -\label{buch:section:arithmetik-fuer-kryptographie}} -\rhead{Arithmetik für die Kryptographie} -Die Algorithmen der mathematischen Kryptographie basieren -auf den Rechenoperationen in grossen, aber endlichen Körpern. -Für die Division liefert der euklidische Algorithmus eine -Methode, der in so vielen Schritten die Inverse findet, -wie Dividend und Divisor Binärstellen haben. -Dies ist weitgehend optimal. - -Die Division ist umkehrbar, in der Kryptographie strebt man aber an, -Funktionen zu konstruieren, die nur mit grossem Aufwand umkehrbar sind. -Eine solche Funktion ist das Potenzieren in einem endlichen Körper. -Die Berechnung von Potenzen durch wiederholte Multiplikation ist jedoch -prohibitiv aufwendig, daher ist ein schneller Potenzierungsalgorithmus -nötig, der in Abschnitt~\ref{buch:subsection:potenzieren} beschrieben -wird. -Bei der Verschlüsselung grosser Datenmengen wie zum Beispiel bei -der Verschlüsselung ganzer Harddisks mit Hilfe des AES-Algorithmus -kommt es auf die Geschwindigkeit auch der elementarsten Operationen -in den endlichen Körpern an. -Solche Methoden werden in den Abschnitten -\ref{buch:subsection:rechenoperationen-in-fp} -und -\ref{buch:subsection:rechenoperatione-in-f2l} -besprochen. - -\subsection{Potenzieren -\label{buch:subsection:potenzieren}} -Wir gehen davon aus, dass wir einen schnellen Algorithmus zur -Berechnung des Produktes zweier Elemente $a,b$ in einer -beliebigen Gruppe $G$ haben. -Die Gruppe $G$ kann die Multiplikation der ganzen oder reellen Zahlen -sein, dies wird zum Beispiel in Implementation der Potenzfunktion -verwendet. -Für kryptographische Anwendungen ist $G$ die multiplikative Gruppe -eines endlichen Körpers oder eine elliptische Kurve. - -Zur Berechnung von $a^k$ sind bei einer naiven Durchführung des -Algorithmus $k-1$ Multiplikationen nötig, immer sofort gefolgt -von einer Reduktion $\mod p$ um sicherzustellen, dass die Resultate -nicht zu gross werden. -Ist $l$ die Anzahl der Binärstellen von $k$, dann benötigt dieser -naive Algorithmus $O(2^l)$ Multiplikationen, die Laufzeit wächst -also exponentiell mit der Bitlänge von $k$ an. -Der nachfolgend beschriebene Algorithmus reduziert die Laufzeit auf -die $O(l)$. - -Zunächst schreiben wir den Exponenten $k$ in binärer Form als -\[ -k = k_l2^l + k_{l-1}2^{l-1} + \dots k_22^2+k_12^1 k_02^0. -\] -Die Potenz $a^k$ kann dann geschrieben werden als -\[ -a^k -= -a^{k_l2^l} \cdot a^{k_{l-1}2^{l-1}} \cdot \dots \cdot -a^{k_22^2} \cdot a^{k_12^1} \cdot a^{k_02^0} -\] -Nur diejenigen Faktoren tragen etwas bei, für die $k_i\ne 0$ ist. -Die Potenz kann man daher auch schreiben als -\[ -a^k -= -\prod_{k_i\ne 0} a^{2^i}. -\] -Es sind also nur so viele Faktoren zu berücksichtigen, wie $k$ -Binärstellen $1$ hat. - -Die einzelnen Faktoren $a^{2^i}$ können durch wiederholtes Quadrieren -erhalten werden: -\[ -a^{2^i} = a^{2\cdot 2^{i-1}} = (a^{2^{i-1}})^2, -\] -also durch maximal $l-1$ Multiplikationen. -Wenn $k$ keine Ganzzahl ist sondern binäre Nachkommastellen hat, also -\[ -k=k_l2^l + \dots + k_12^1 + k_02^0 + k_{-1}2^{-1} + k_{-2}2^{-2}+\dots, -\] -dann können die Potenzen $a^{2^{-i}}$ durch wiederholtes Wurzelziehen -\[ -a^{2^{-i}} = a^{\frac12\cdot 2^{-i+1}} = \sqrt{a^{2^{-i+1}}} -\] -gefunden werden. -Die Berechnung der Quadratwurzel lässt sich in Hardware effizient -implementieren. - -\begin{algorithmus} -Der folgende Algorithmsu berechnet $a^k$ in $O(\log_2(k))$ -Multiplikationen -\begin{enumerate} -\item Initialisiere $p=1$ und $q=a$ -\item Falls $k$ ungerade ist, setze $p:=p\cdot q$ -\item Setze $q:=q^2$ und $k := k/2$, wobei die ganzzahlige Division durch $2$ -am effizientesten als Rechtsshift implementiert werden kann. -\item Falls $k>0$, fahre weiter bei 2. -\end{enumerate} -\end{algorithmus} - -\begin{beispiel} -Die Berechnung von $1.1^{17}$ mit diesem Algorithmus ergibt -\begin{enumerate} -\item $p=1$, $q=1.1$ -\item $k$ ist ungerade: $p:=1.1$ -\item $q:=q^2=1.21$, $k := 8$ -\item $k$ ist gerade -\item $q:=q^2=1.4641$, $k := 4$ -\item $k$ ist gerade -\item $q:=q^2=2.14358881$, $k := 2$ -\item $k$ ist gerade -\item $q:=q^2=4.5949729863572161$, $k := 1$ -\item $k$ ist ungerade: $p:=1.1\cdot p = 5.05447028499293771$ -\item $k:=0$ -\end{enumerate} -Multiplikationen sind nur nötig in den Schritten 3, 5, 7, 9, 10, es -werden also genau $5$ Multiplikationen ausgeführt. -\end{beispiel} - -\subsection{Rechenoperationen in $\mathbb{F}_p$ -\label{buch:subsection:rechenoperationen-in-fp}} -Die Multiplikation macht aus zwei Faktoren $a$ und $b$ ein -Resultat mit Bitlänge $\log_2 a+\log_2 b$, die Bitlänge wird -also typischerweise verdoppelt. -In $\mathbb{F}_p$ muss anschliessend das Resultat $\mod p$ -reduziert werden, so dass die Bitlänge wieder höchstens -$\log_2p$ ist. -In folgenden soll gezeigt werden, dass dieser Speicheraufwand -für eine Binärimplementation deutlich reduziert werden kann, -wenn die Reihenfolge der Operationen modifiziert wird. - -Für die Multiplikation von $41\cdot 47$ rechnet man im Binärsystem -\begin{center} -\begin{tabular}{>{$}r<{$}} -\texttt{{\color{darkgreen}1}0{\color{red}1}001}\cdot\texttt{101111}\\ -\hline -\texttt{101111}\\ -\texttt{{\color{red}101111}\phantom{000}}\\ -\texttt{{\color{darkgreen}101111}\phantom{00000}}\\ -\hline -\texttt{11110000111}\\ -\hline -\end{tabular} -\end{center} -In $\mathbb{F}_{53}$ muss im Anschluss Modulo $p=53$ reduziert werden. - -Der Speicheraufwand entsteht zunächst dadurch, dass durch die Multiplikation -mit $2$ die Summanden immer länger werden. -Man kann den die Sumanden kurz halten, indem man jedesmal, wenn -der Summand nach der Multiplikation mit $2$ grösser als $p$ geworden ist, -$p$ subtrahiert (Abbildung~\ref{buch:crypto:fig:reduktion}). -Ebenso kann bei nach jeder Addition das bereits reduzierten zweiten -Faktors wieder reduziert werden. -Die Anzahl der nötigen Reduktionsoperationen wird durch diese -frühzeitig durchgeführten Reduktionen nicht teurer als bei der Durchführung -des Divisionsalgorithmus. - -\begin{figure} -\begin{center} -\begin{tabular}{>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}} -\text{Multiplikation mit $2$}&\text{Reduktion?}&\text{reduziert} - &\text{Summanden}&\text{Summe}&\text{reduziert} -\\ -\hline -\texttt{101111} & &\texttt{101111} - &\texttt{101111}&\texttt{101111}&\texttt{101111} -\\ -\texttt{101111\phantom{0}} &\texttt{{\color{red}1011110}}&\texttt{101001} - & & & -\\ -\texttt{101111\phantom{00}} &\texttt{0{\color{red}111010}}&\texttt{011101} - & & & -\\ -\texttt{101111\phantom{000}} &\texttt{0001010}&\texttt{000101} - &\texttt{000101}&\texttt{110100}&\texttt{110100} -\\ -\texttt{101111\phantom{0000}} &\texttt{0010100}&\texttt{001010} - & & & -\\ -\texttt{101111\phantom{00000}}&\texttt{0101000}&\texttt{010100} - &\texttt{010100}&\texttt{{\color{red}1001000}}&\texttt{10011}\rlap{$\mathstrut=19$} -\end{tabular} -\end{center} -\caption{Multiplikation von $41=\texttt{101001}_2$ mit $47=\texttt{101111}_2$, -Reduktion nach jeder Multiplikation mit $2$: falls das Resultat -$>p$ ist, wie in den rot markierten Zeilen $p=53=\texttt{110101}_2$ -durchgeführt. -Bei der Bildung der Summe wird ebenfalls in jedem Schritt falls nötig -reduziert, angezeigt durch die roten Zahlen in der zweitletzten -Spalte. -Die Anzahl der Subtraktionen, die für die Reduktionen nötig sind, ist -von der selben Grössenordnung wie bei der Durchführung des -Divisionsalgorithmus. -\label{buch:crypto:fig:reduktion}} -\end{figure} - -Es ist also möglich, mit gleichem Aufwand an Operationen -aber mit halbe Speicherplatzbedarf die Multiplikationen in $\mathbb{F}_p$ -durchzuführen. -Die Platzeinsparung ist besonders bei Implementationen in Hardware -hilfreich, wo on-die Speicherplatz teuer sein kann. - -\subsection{Rechenoperationen in $\mathbb{F}_{2^l}$ -\label{buch:subsection:rechenoperatione-in-f2l}} -Von besonderem praktischem Interesse sind die endlichen Körper -$\mathbb{F}_{2^l}$. -Die arithmetischen Operationen in diesen Körpern lassen sich besonders -effizient in Hardware realisieren. - -\subsubsection{Zahldarstellung} -Ein endlicher Körper $\mathbb{F}_{2^l}$ ist definiert durch ein -irreduzibles Polynom in $\mathbb{F}_2[X]$ vom Grad $2^l$ -\[ -m(X) -= -X^l + m_{l-1}X^{l-1} + m_{l-2}X^{l-2} + \dots + m_2X^2 + m_1X + m_0 -\] -gegeben. -Ein Element in $\mathbb{F}_2[X]/(m)$ kann dargestellt werden durch ein -Polynom vom Grad $l-1$, also durch -\[ -a = a_{l-1}X^{l-1} + a_{l-2}X^{l-2} +\dots + a_2X^2 + a_1X + a_0. -\] -In einer Maschine kann eine Zahl also als eine Bitfolge der Länge $l$ -dargestellt werden. - -\subsubsection{Addition} -Die Addition in $\mathbb{F}_2$ ist in Hardware besonders leicht zu -realisieren. -Die Addition ist die XOR-Operation, die Multiplikation ist die UND-Verknüfung. -Ausserdem stimmen in $\mathbb{F}_2$ Addition und Subtraktion überein. - -Die Addition zweier Polynome erfolgt komponentenweise. -Die Addition von zwei Elemente von $\mathbb{F}_{2^l}$ kann also -durch die bitweise XOR-Verknüpfung der Darstellungen der Summanden -erfolgen. -Diese Operation ist in einem einzigen Maschinenzyklus realisierbar. -Die Subtraktion, die für die Reduktionsoperation module $m(X)$ nötig -ist, ist mit der Addition identisch. - -\subsubsection{Multiplikation} -Die Multiplikation zweier Polynome benötigt zunächst die Multiplikation -mit $X$, wodurch der Grad des Polynoms ansteigt und möglicherweise so -gross wird, dass eine Reduktionsoperation modulo $m(X)$ nötig wird. -Die Reduktion wird immer dann nötig, wenn der Koeffizient von $X^l$ -nicht $0$ ist. -Der Koeffizient kann dann zum Verschwinden gebracht werden, indem -$m(X)$ addiert wird. - -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/schieberegister.pdf} -\caption{Implementation der Multiplikation mit $X$ in einem -endlichen Körper $\mathbb{F}_{2^l}$ mit dem Minimalpolynom -$m(X) = X^8+X^4+X^3+X^+1$ als Feedback-Schieberegister. -\label{buch:crypto:fig:schieberegister}} -\end{figure} - -In Abbildung~\ref{buch:crypto:fig:schieberegister} wird gezeigt, -wie die Reduktion erfolgt, wenn die Multiplikation mit $X$, also der -Shift nach links, einen Überlauf ergibt. -Das Minimalpolynom $m(X)=X^8+X^4+X^3+X+1$ bedeutet, dass in $\mathbb{F}_{2^l}$ -$X^8=X^4+X^3+X+1$ gilt, so dass man das Überlaufbit durch -$X^4+X^3+X+1$ ersetzen und addieren kann. - -Ein Produktes $p(X)\cdot q(X)$, wobei $p(X)$ und -$q(X)$ Repräsentaten von Elementen $\mathbb{F}_{2^l}$ sind, kann jetzt -wie folgt berechnet werden. -Mit dem Schieberegister werden die Vielfachen $X^k\cdot p(X)$ -für $k=0,\dots,l-1$ berechnet. -Diejenigen Vielfachen, für die der Koeffizient von $X^k$ in $q(X)$ -von $0$ verschieden ist werden aufsummiert und ergeben das Produkt. -Der Prozess in Abbildung~\ref{buch:crypto:fig:multiplikation} -dargestellt. - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{chapters/90-crypto/images/multiplikation.pdf} -\caption{Multiplikation zweier Elemente von $\mathbb{F}_{2^l}$. -Mit Hilfe des Schieberegisters am linken Rand werden die Produkte -$X\cdot p(X)$, $X^2\cdot p(X),\dots,X^7\cdot p(X)$ nach der in -Abbildung~\ref{buch:crypto:fig:schieberegister} dargestellten -Methode berechnet. -Am rechten Rand werden diejenigen $X^k\cdot p(X)$ aufaddiert, -für die der $X^k$-Koeffizient von $q(X)$ von $0$ verschieden ist. -\label{buch:crypto:fig:multiplikation}} -\end{figure} - - -% XXX Beispiel F einer Oakley-Gruppe - +% +% arith.tex +% +% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Arithmetik für die Kryptographie +\label{buch:section:arithmetik-fuer-kryptographie}} +\rhead{Arithmetik für die Kryptographie} +Die Algorithmen der mathematischen Kryptographie basieren +auf den Rechenoperationen in grossen, aber endlichen Körpern. +Für die Division liefert der euklidische Algorithmus eine +Methode, der in so vielen Schritten die Inverse findet, +wie Dividend und Divisor Binärstellen haben. +Dies ist weitgehend optimal. + +Die Division ist umkehrbar, in der Kryptographie strebt man aber an, +Funktionen zu konstruieren, die nur mit grossem Aufwand umkehrbar sind. +Eine solche Funktion ist das Potenzieren in einem endlichen Körper. +Die Berechnung von Potenzen durch wiederholte Multiplikation ist jedoch +prohibitiv aufwendig, daher ist ein schneller Potenzierungsalgorithmus +nötig, der in Abschnitt~\ref{buch:subsection:potenzieren} beschrieben +wird. +Bei der Verschlüsselung grosser Datenmengen wie zum Beispiel bei +der Verschlüsselung ganzer Harddisks mit Hilfe des AES-Algorithmus +kommt es auf die Geschwindigkeit auch der elementarsten Operationen +in den endlichen Körpern an. +Solche Methoden werden in den Abschnitten +\ref{buch:subsection:rechenoperationen-in-fp} +und +\ref{buch:subsection:rechenoperatione-in-f2l} +besprochen. + +\subsection{Potenzieren +\label{buch:subsection:potenzieren}} +Wir gehen davon aus, dass wir einen schnellen Algorithmus zur +Berechnung des Produktes zweier Elemente $a,b$ in einer +beliebigen Gruppe $G$ haben. +Die Gruppe $G$ kann die Multiplikation der ganzen oder reellen Zahlen +sein, dies wird zum Beispiel in Implementation der Potenzfunktion +verwendet. +Für kryptographische Anwendungen ist $G$ die multiplikative Gruppe +eines endlichen Körpers oder eine elliptische Kurve. + +Zur Berechnung von $a^k$ sind bei einer naiven Durchführung des +Algorithmus $k-1$ Multiplikationen nötig, immer sofort gefolgt +von einer Reduktion $\mod p$ um sicherzustellen, dass die Resultate +nicht zu gross werden. +Ist $l$ die Anzahl der Binärstellen von $k$, dann benötigt dieser +naive Algorithmus $O(2^l)$ Multiplikationen, die Laufzeit wächst +also exponentiell mit der Bitlänge von $k$ an. +Der nachfolgend beschriebene Algorithmus reduziert die Laufzeit auf +die $O(l)$. + +Zunächst schreiben wir den Exponenten $k$ in binärer Form als +\[ +k = k_l2^l + k_{l-1}2^{l-1} + \dots k_22^2+k_12^1 k_02^0. +\] +Die Potenz $a^k$ kann dann geschrieben werden als +\[ +a^k += +a^{k_l2^l} \cdot a^{k_{l-1}2^{l-1}} \cdot \dots \cdot +a^{k_22^2} \cdot a^{k_12^1} \cdot a^{k_02^0} +\] +Nur diejenigen Faktoren tragen etwas bei, für die $k_i\ne 0$ ist. +Die Potenz kann man daher auch schreiben als +\[ +a^k += +\prod_{k_i\ne 0} a^{2^i}. +\] +Es sind also nur so viele Faktoren zu berücksichtigen, wie $k$ +Binärstellen $1$ hat. + +Die einzelnen Faktoren $a^{2^i}$ können durch wiederholtes Quadrieren +erhalten werden: +\[ +a^{2^i} = a^{2\cdot 2^{i-1}} = (a^{2^{i-1}})^2, +\] +also durch maximal $l-1$ Multiplikationen. +Wenn $k$ keine Ganzzahl ist sondern binäre Nachkommastellen hat, also +\[ +k=k_l2^l + \dots + k_12^1 + k_02^0 + k_{-1}2^{-1} + k_{-2}2^{-2}+\dots, +\] +dann können die Potenzen $a^{2^{-i}}$ durch wiederholtes Wurzelziehen +\[ +a^{2^{-i}} = a^{\frac12\cdot 2^{-i+1}} = \sqrt{a^{2^{-i+1}}} +\] +gefunden werden. +Die Berechnung der Quadratwurzel lässt sich in Hardware effizient +implementieren. + +\begin{algorithmus} +Der folgende Algorithmsu berechnet $a^k$ in $O(\log_2(k))$ +Multiplikationen +\begin{enumerate} +\item Initialisiere $p=1$ und $q=a$ +\item Falls $k$ ungerade ist, setze $p:=p\cdot q$ +\item Setze $q:=q^2$ und $k := k/2$, wobei die ganzzahlige Division durch $2$ +am effizientesten als Rechtsshift implementiert werden kann. +\item Falls $k>0$, fahre weiter bei 2. +\end{enumerate} +\end{algorithmus} + +\begin{beispiel} +Die Berechnung von $1.1^{17}$ mit diesem Algorithmus ergibt +\begin{enumerate} +\item $p=1$, $q=1.1$ +\item $k$ ist ungerade: $p:=1.1$ +\item $q:=q^2=1.21$, $k := 8$ +\item $k$ ist gerade +\item $q:=q^2=1.4641$, $k := 4$ +\item $k$ ist gerade +\item $q:=q^2=2.14358881$, $k := 2$ +\item $k$ ist gerade +\item $q:=q^2=4.5949729863572161$, $k := 1$ +\item $k$ ist ungerade: $p:=1.1\cdot p = 5.05447028499293771$ +\item $k:=0$ +\end{enumerate} +Multiplikationen sind nur nötig in den Schritten 3, 5, 7, 9, 10, es +werden also genau $5$ Multiplikationen ausgeführt. +\end{beispiel} + +\subsection{Rechenoperationen in $\mathbb{F}_p$ +\label{buch:subsection:rechenoperationen-in-fp}} +Die Multiplikation macht aus zwei Faktoren $a$ und $b$ ein +Resultat mit Bitlänge $\log_2 a+\log_2 b$, die Bitlänge wird +also typischerweise verdoppelt. +In $\mathbb{F}_p$ muss anschliessend das Resultat $\mod p$ +reduziert werden, so dass die Bitlänge wieder höchstens +$\log_2p$ ist. +In folgenden soll gezeigt werden, dass dieser Speicheraufwand +für eine Binärimplementation deutlich reduziert werden kann, +wenn die Reihenfolge der Operationen modifiziert wird. + +Für die Multiplikation von $41\cdot 47$ rechnet man im Binärsystem +\begin{center} +\begin{tabular}{>{$}r<{$}} +\texttt{{\color{darkgreen}1}0{\color{red}1}001}\cdot\texttt{101111}\\ +\hline +\texttt{101111}\\ +\texttt{{\color{red}101111}\phantom{000}}\\ +\texttt{{\color{darkgreen}101111}\phantom{00000}}\\ +\hline +\texttt{11110000111}\\ +\hline +\end{tabular} +\end{center} +In $\mathbb{F}_{53}$ muss im Anschluss Modulo $p=53$ reduziert werden. + +Der Speicheraufwand entsteht zunächst dadurch, dass durch die Multiplikation +mit $2$ die Summanden immer länger werden. +Man kann den die Sumanden kurz halten, indem man jedesmal, wenn +der Summand nach der Multiplikation mit $2$ grösser als $p$ geworden ist, +$p$ subtrahiert (Abbildung~\ref{buch:crypto:fig:reduktion}). +Ebenso kann bei nach jeder Addition das bereits reduzierten zweiten +Faktors wieder reduziert werden. +Die Anzahl der nötigen Reduktionsoperationen wird durch diese +frühzeitig durchgeführten Reduktionen nicht teurer als bei der Durchführung +des Divisionsalgorithmus. + +\begin{figure} +\begin{center} +\begin{tabular}{>{$}r<{$}>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}>{$}r<{$}} +\text{Multiplikation mit $2$}&\text{Reduktion?}&\text{reduziert} + &\text{Summanden}&\text{Summe}&\text{reduziert} +\\ +\hline +\texttt{101111} & &\texttt{101111} + &\texttt{101111}&\texttt{101111}&\texttt{101111} +\\ +\texttt{101111\phantom{0}} &\texttt{{\color{red}1011110}}&\texttt{101001} + & & & +\\ +\texttt{101111\phantom{00}} &\texttt{0{\color{red}111010}}&\texttt{011101} + & & & +\\ +\texttt{101111\phantom{000}} &\texttt{0001010}&\texttt{000101} + &\texttt{000101}&\texttt{110100}&\texttt{110100} +\\ +\texttt{101111\phantom{0000}} &\texttt{0010100}&\texttt{001010} + & & & +\\ +\texttt{101111\phantom{00000}}&\texttt{0101000}&\texttt{010100} + &\texttt{010100}&\texttt{{\color{red}1001000}}&\texttt{10011}\rlap{$\mathstrut=19$} +\end{tabular} +\end{center} +\caption{Multiplikation von $41=\texttt{101001}_2$ mit $47=\texttt{101111}_2$, +Reduktion nach jeder Multiplikation mit $2$: falls das Resultat +$>p$ ist, wie in den rot markierten Zeilen $p=53=\texttt{110101}_2$ +durchgeführt. +Bei der Bildung der Summe wird ebenfalls in jedem Schritt falls nötig +reduziert, angezeigt durch die roten Zahlen in der zweitletzten +Spalte. +Die Anzahl der Subtraktionen, die für die Reduktionen nötig sind, ist +von der selben Grössenordnung wie bei der Durchführung des +Divisionsalgorithmus. +\label{buch:crypto:fig:reduktion}} +\end{figure} + +Es ist also möglich, mit gleichem Aufwand an Operationen +aber mit halbe Speicherplatzbedarf die Multiplikationen in $\mathbb{F}_p$ +durchzuführen. +Die Platzeinsparung ist besonders bei Implementationen in Hardware +hilfreich, wo on-die Speicherplatz teuer sein kann. + +\subsection{Rechenoperationen in $\mathbb{F}_{2^l}$ +\label{buch:subsection:rechenoperatione-in-f2l}} +Von besonderem praktischem Interesse sind die endlichen Körper +$\mathbb{F}_{2^l}$. +Die arithmetischen Operationen in diesen Körpern lassen sich besonders +effizient in Hardware realisieren. + +\subsubsection{Zahldarstellung} +Ein endlicher Körper $\mathbb{F}_{2^l}$ ist definiert durch ein +irreduzibles Polynom in $\mathbb{F}_2[X]$ vom Grad $2^l$ +\[ +m(X) += +X^l + m_{l-1}X^{l-1} + m_{l-2}X^{l-2} + \dots + m_2X^2 + m_1X + m_0 +\] +gegeben. +Ein Element in $\mathbb{F}_2[X]/(m)$ kann dargestellt werden durch ein +Polynom vom Grad $l-1$, also durch +\[ +a = a_{l-1}X^{l-1} + a_{l-2}X^{l-2} +\dots + a_2X^2 + a_1X + a_0. +\] +In einer Maschine kann eine Zahl also als eine Bitfolge der Länge $l$ +dargestellt werden. + +\subsubsection{Addition} +Die Addition in $\mathbb{F}_2$ ist in Hardware besonders leicht zu +realisieren. +Die Addition ist die XOR-Operation, die Multiplikation ist die UND-Verknüfung. +Ausserdem stimmen in $\mathbb{F}_2$ Addition und Subtraktion überein. + +Die Addition zweier Polynome erfolgt komponentenweise. +Die Addition von zwei Elemente von $\mathbb{F}_{2^l}$ kann also +durch die bitweise XOR-Verknüpfung der Darstellungen der Summanden +erfolgen. +Diese Operation ist in einem einzigen Maschinenzyklus realisierbar. +Die Subtraktion, die für die Reduktionsoperation module $m(X)$ nötig +ist, ist mit der Addition identisch. + +\subsubsection{Multiplikation} +Die Multiplikation zweier Polynome benötigt zunächst die Multiplikation +mit $X$, wodurch der Grad des Polynoms ansteigt und möglicherweise so +gross wird, dass eine Reduktionsoperation modulo $m(X)$ nötig wird. +Die Reduktion wird immer dann nötig, wenn der Koeffizient von $X^l$ +nicht $0$ ist. +Der Koeffizient kann dann zum Verschwinden gebracht werden, indem +$m(X)$ addiert wird. + +\begin{figure} +\centering +\includegraphics{chapters/90-crypto/images/schieberegister.pdf} +\caption{Implementation der Multiplikation mit $X$ in einem +endlichen Körper $\mathbb{F}_{2^l}$ mit dem Minimalpolynom +$m(X) = X^8+X^4+X^3+X^+1$ als Feedback-Schieberegister. +\label{buch:crypto:fig:schieberegister}} +\end{figure} + +In Abbildung~\ref{buch:crypto:fig:schieberegister} wird gezeigt, +wie die Reduktion erfolgt, wenn die Multiplikation mit $X$, also der +Shift nach links, einen Überlauf ergibt. +Das Minimalpolynom $m(X)=X^8+X^4+X^3+X+1$ bedeutet, dass in $\mathbb{F}_{2^l}$ +$X^8=X^4+X^3+X+1$ gilt, so dass man das Überlaufbit durch +$X^4+X^3+X+1$ ersetzen und addieren kann. + +Ein Produktes $p(X)\cdot q(X)$, wobei $p(X)$ und +$q(X)$ Repräsentaten von Elementen $\mathbb{F}_{2^l}$ sind, kann jetzt +wie folgt berechnet werden. +Mit dem Schieberegister werden die Vielfachen $X^k\cdot p(X)$ +für $k=0,\dots,l-1$ berechnet. +Diejenigen Vielfachen, für die der Koeffizient von $X^k$ in $q(X)$ +von $0$ verschieden ist werden aufsummiert und ergeben das Produkt. +Der Prozess in Abbildung~\ref{buch:crypto:fig:multiplikation} +dargestellt. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{chapters/90-crypto/images/multiplikation.pdf} +\caption{Multiplikation zweier Elemente von $\mathbb{F}_{2^l}$. +Mit Hilfe des Schieberegisters am linken Rand werden die Produkte +$X\cdot p(X)$, $X^2\cdot p(X),\dots,X^7\cdot p(X)$ nach der in +Abbildung~\ref{buch:crypto:fig:schieberegister} dargestellten +Methode berechnet. +Am rechten Rand werden diejenigen $X^k\cdot p(X)$ aufaddiert, +für die der $X^k$-Koeffizient von $q(X)$ von $0$ verschieden ist. +\label{buch:crypto:fig:multiplikation}} +\end{figure} + + +% XXX Beispiel F einer Oakley-Gruppe + diff --git a/buch/chapters/90-crypto/chapter.tex b/buch/chapters/90-crypto/chapter.tex index d2fcbbf..920941d 100644 --- a/buch/chapters/90-crypto/chapter.tex +++ b/buch/chapters/90-crypto/chapter.tex @@ -1,31 +1,31 @@ -% -% chapter.tex -- Anwendungen von Matrizen in der Codierungstheorie und -% Kryptographie -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -% !TeX spellcheck = de_CH -\chapter{Anwendungen in Kryptographie und Codierungstheorie -\label{buch:chapter:kryptographie}} -\lhead{Kryptographie und Codierungstheorie} -\rhead{} -Die algebraische Theorie der endlichen Körper hat sich als besonders -nützliche herausgestellt in der Krypographie. -Die Eigenschaften dieser Körper sind reichhaltig genug, um -kryptographsch widerstandsfähige Algorithmen zu liefern, die -auch in ihrer Stärke beliebig skaliert werden können. -Gleichzeitig liefert die Algebra auch eine effiziente Implementierung. -In diesem Abschnitt soll dies an einigen Beispielen gezeigt werden. - -\input{chapters/90-crypto/arith.tex} -\input{chapters/90-crypto/ff.tex} -\input{chapters/90-crypto/aes.tex} -%\input{chapters/90-crypto/rs.tex} - -\section*{Übungsaufgaben} -\rhead{Übungsaufgaben} -\aufgabetoplevel{chapters/90-crypto/uebungsaufgaben} -\begin{uebungsaufgaben} -\uebungsaufgabe{9001} -\end{uebungsaufgaben} - +% +% chapter.tex -- Anwendungen von Matrizen in der Codierungstheorie und +% Kryptographie +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +% !TeX spellcheck = de_CH +\chapter{Anwendungen in Kryptographie und Codierungstheorie +\label{buch:chapter:kryptographie}} +\lhead{Kryptographie und Codierungstheorie} +\rhead{} +Die algebraische Theorie der endlichen Körper hat sich als besonders +nützliche herausgestellt in der Krypographie. +Die Eigenschaften dieser Körper sind reichhaltig genug, um +kryptographsch widerstandsfähige Algorithmen zu liefern, die +auch in ihrer Stärke beliebig skaliert werden können. +Gleichzeitig liefert die Algebra auch eine effiziente Implementierung. +In diesem Abschnitt soll dies an einigen Beispielen gezeigt werden. + +\input{chapters/90-crypto/arith.tex} +\input{chapters/90-crypto/ff.tex} +\input{chapters/90-crypto/aes.tex} +%\input{chapters/90-crypto/rs.tex} + +\section*{Übungsaufgaben} +\rhead{Übungsaufgaben} +\aufgabetoplevel{chapters/90-crypto/uebungsaufgaben} +\begin{uebungsaufgaben} +\uebungsaufgabe{9001} +\end{uebungsaufgaben} + diff --git a/buch/chapters/90-crypto/ff.tex b/buch/chapters/90-crypto/ff.tex index 535b359..8a38f93 100644 --- a/buch/chapters/90-crypto/ff.tex +++ b/buch/chapters/90-crypto/ff.tex @@ -1,664 +1,664 @@ -% -% ff.tex -- Kryptographie und endliche Körper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% - -\section{Kryptographie und endliche Körper -\label{buch:section:kryptographie-und-endliche-koerper}} -\rhead{Kryptographie und endliche Körper} - -\subsection{Potenzen in $\mathbb{F}_p$ und diskreter Logarithmus -\label{buch:subsection:potenzen-diskreter-logarithmus}} -Für kryptographische Anwendungen wird eine einfach zu berechnende -Funktion benötigt, -die ohne zusätzliches Wissen, üblicherweise der Schlüssel genannt, -nicht ohne weiteres umkehrbar ist. -Die arithmetischen Operationen in einem endlichen Körper sind -mit geringem Aufwand durchführbar. -Für die ``schwierigste'' Operation, die Division, steht der -euklidische Algorithmus zur Verfügung. - -Die nächstschwierigere Operation ist die Potenzfunktion. -Für $g\in \Bbbk$ und $a\in\mathbb{N}$ ist die Potenz $g^a\in\Bbbk$ -natürlich durch die wiederholte Multiplikation definiert. -In der Praxis werden aber $g$ und $a$ Zahlen mit vielen Binärstellen -sein, die die wiederholte Multiplikation ist daher sicher nicht -effizient, das Kriterium der einfachen Berechenbarkeit scheint -also nicht erfüllt. -Der folgende Algorithmus berechnet die Potenz in $O(\log_2 a)$ -Multiplikationen. - -\begin{algorithmus}[Divide-and-conquer] -\label{buch:crypto:algo:divide-and-conquer} -Sei $a=a_0 + a_12^1 + a_22^2 + \dots + a_k2^k$ die Binärdarstellung -der Zahl $a$. -\begin{enumerate} -\item setze $f=g$, $x=1$, $i=0$ -\label{divide-and-conquer-1} -\item solange $i\ge k$ ist, führe aus -\label{divide-and-conquer-2} -\begin{enumerate} -\item -\label{divide-and-conquer-3} -falls $a_i=1$ setze $x \coloneqq x \cdot f$ -\item -\label{divide-and-conquer-4} -$i \coloneqq i+1$ und $f\coloneqq f\cdot f$ -\end{enumerate} -\end{enumerate} -Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen -berechnet werden. -\end{algorithmus} - -\begin{proof}[Beweis] -Die Initalisierung in Schritt~\ref{divide-and-conquer-1} stellt sicher, -dass $x$ den Wert $g^0$ hat. -Schritt~\ref{divide-and-conquer-4} stellt sicher, -dass die Variable $f$ immer den Wert $g^{2^i}$ hat. -Im Schritt~\ref{divide-and-conquer-3} wird zu $x$ die Potenz -$g^{a_i2^i}$ hinzumultipliziert. -Am Ende des Algorithmus hat daher $x$ den Wert -\[ -x = g^{a_02^0} \cdot g^{a_12^1} \cdot g^{a_22^2} \cdot\ldots\cdot 2^{a_k2^k} -= -g^{a_0+a_12+a_22^2+\dots+a_k2^k} -= -g^a. -\] -Die Schleife wird $\lfloor1+\log_2ab\rfloor$ mal durchlaufen. -In jedem Fall wird auf jeden Fall die Multiplikation in -Schritt~\ref{divide-and-conquer-4} durchgeführt -und im schlimmsten Fall auch noch die Multiplikation in -Schritt~\ref{divide-and-conquer-3}. -Es werden also nicht mehr als $2\lfloor 1+\log_2a\rfloor=O(\log_2a)$ -Multiplikationen durchgeführt. -\end{proof} - -\begin{beispiel} -Man berechne die Potenz $7^{2021}$ in $\mathbb{F}_p$. -Die Binärdarstellung von 2021 ist $2021_{10}=\texttt{11111100101}_2$. -Wir stellen die nötigen Operationen des -Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} in der folgenden -Tabelle -\begin{center} -\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} -\hline - i& f& a_i& x\\ -\hline - 0& 7& 1& 7\\ - 1& 49& 0& 7\\ - 2&1110& 1& 24\\ - 3& 486& 0& 24\\ - 4&1234& 0& 24\\ - 5& 667& 1& 516\\ - 6& 785& 1& 977\\ - 7& 418& 1& 430\\ - 8& 439& 1& 284\\ - 9& 362& 1& 819\\ -10& 653& 1& 333\\ -\hline -\end{tabular} -\end{center} -Daraus liest man ab, dass $7^{2021}=333\in\mathbb{F}_{1291}$. -\end{beispiel} - -Die Tabelle suggeriert, dass die Potenzen von $g$ ``wild'', also -scheinbar ohne System in $\mathbb{F}_p$ herumspringen. -Dies deutet an, dass die Umkehrung der Exponentialfunktion in $\mathbb{F}_p$ -schwierig ist. -Die Umkehrfunktion der Exponentialfunktion, die Umkehrfunktion von -$x\mapsto g^x$ in $\mathbb{F}_p$ heisst der {\em diskrete Logarithmus}. -\index{diskreter Logarithmus}% -Tatsächlich ist der diskrete Logarithmus ähnlich schwierig zu bestimmen -wie das Faktorisieren von Zahlen, die das Produkt grosser -Primafaktoren ähnlicher Grössenordnung wie $p$ sind. -Die Funktion $x\mapsto g^x$ ist die gesuchte, schwierig zu invertierende -Funktion. - -Auf dern ersten Blick scheint der -Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} -den Nachteil zu haben, dass erst die Binärdarstellung der Zahl $a$ -ermittelt werden muss. -In einem Computer ist dies aber normalerweise kein Problem, da $a$ -im Computer ohnehin binär dargestellt ist. -Die Binärziffern werden in der Reihenfolge vom niederwertigsten zum -höchstwertigen Bit benötigt. -Die folgende Modifikation des Algorithmus ermittelt laufend -auch die Binärstellen von $a$. -Die dazu notwendigen Operationen sind im Binärsystem besonders -effizient implementierbar, die Division durch 2 ist ein Bitshift, der -Rest ist einfach das niederwertigste Bit der Zahl. - -\begin{algorithmus} -\label{buch:crypto:algo:divide-and-conquer2} -\begin{enumerate} -\item -Setze $f=g$, $x=1$, $i=0$ -\item -Solange $a>0$ ist, führe aus -\begin{enumerate} -\item -Verwende den euklidischen Algorithmus um $r$ und $b$ zu bestimmen mit $a=2b+r$ -\item -Falls $r=1$ setze $x \coloneqq x \cdot f$ -\item -$i \coloneqq i+1$, $a = b$ und $f\coloneqq f\cdot f$ -\end{enumerate} -\end{enumerate} -Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen -berechnet werden. -\end{algorithmus} - - -% -% Diffie-Hellman Schlüsseltausch -% -\subsection{Diffie-Hellman-Schlüsseltausch -\label{buch:subsection:diffie-hellman}} -Eine Grundaufgabe der Verschlüsselung im Internet ist, dass zwei -Kommunikationspartner einen gemeinsamen Schlüssel für die Verschlüsselung -der Daten aushandeln können müssen. -Es muss davon ausgegangen werden, dass die Kommunikation abgehört wird. -Trotzdem soll es für einen Lauscher nicht möglich sein, den -ausgehandelten Schlüssel zu ermitteln. - -% XXX Historisches zu Diffie und Hellman - -Die beiden Partner $A$ und $B$ einigen sich zunächst auf eine Zahl $g$, -die öffentlich bekannt sein darf. -Weiter erzeugen sie eine zufällige Zahl $a$ und $b$, die sie geheim -halten. -Das Verfahren soll aus diesen beiden Zahlen einen Schlüssel erzeugen, -den beide Partner berechnen können, ohne dass sie $a$ oder $b$ -übermitteln müssen. -Die beiden Zahlen werden daher auch die privaten Schlüssel genannt. - -Die Idee von Diffie und Hellman ist jetzt, die Werte $x=g^a$ und $y=g^b$ -zu übertragen. -In $\mathbb{R}$ würden dadurch natürlich dem Lauscher auch $a$ offenbart, -er könnte einfach $a=\log_g x$ berechnen. -Ebenso kann auch $b$ als $b=\log_g y$ erhalten werden, die beiden -privaten Schlüssel wären also nicht mehr privat. -Statt der Potenzfunktion in $\mathbb{R}$ muss also eine Funktion -verwendet werden, die nicht so leicht umgekehrt werden kann. -Die Potenzfunktion in $\mathbb{F}_p$ erfüllt genau diese Eigenschaft. -Die Kommunikationspartner einigen sich also auch noch auf die (grosse) -Primzahl $p$ und übermitteln $x=g^a\in\mathbb{F}_p$ und -$y=g^b\in\mathbb{F}_p$. - -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/dh.pdf} -\caption{Schlüsselaustausch nach Diffie-Hellman. -Die Kommunikationspartner $A$ und $B$ einigen sich öffentlich auf -$p\in\mathbb{N}$ und $g\in\mathbb{F}_p$. -$A$ wählt dann einen privaten Schlüssel $a\in\mathbb{N}$ und -$B$ wählt $b\in\mathbb{N}$, sie tauschen dann $x=g^a$ und $y=g^b$ -aus. -$A$ erhält den gemeinsamen Schlüssel aus $y^a$, $B$ erhält ihn -aus $x^b$. -\label{buch:crypto:fig:dh}} -\end{figure} - -Aus $x$ und $y$ muss jetzt der gemeinsame Schlüssel abgeleitet werden. -$A$ kennt $y=g^b$ und $a$, $B$ kennt $x=g^a$ und $b$. -Beide können die Zahl $s=g^{ab}\in\mathbb{F}_p$ berechnen. -$A$ macht das, indem er $y^a=(g^b)^a = g^{ab}$ rechnet, -$B$ rechnet $x^b = (g^a)^b = g^{ab}$, beide natürlich in $\mathbb{F}_p$. -Der Lauscher kann aber $g^{ab}$ nicht ermitteln, dazu müsste er -$a$ oder $b$ ermitteln können. -Die Zahl $s=g^{ab}$ kann also als gemeinsamer Schlüssel verwendet -werden. - - - -\subsection{Elliptische Kurven -\label{buch:subsection:elliptische-kurven}} -Das Diffie-Hellman-Verfahren basiert auf der Schwierigkeit, in einem -Körper $\mathbb{F}_p$ die Gleichung $a^x=b$ nach $x$ aufzulösen. -Die Addition in $\mathbb{F}_p$ wird dazu nicht benötigt. -Es reicht, eine Menge mit einer Multiplikation zu haben, in der das -die Gleichung $a^x=b$ schwierig zu lösen ist. -Ein Gruppe wäre also durchaus ausreichend. - -Ein Kandidat für eine solche Gruppe könnte der Einheitskreis -$S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ in der komplexen Ebene sein. -Wählt man eine Zahl $g=e^{i\alpha}$, wobei $\alpha$ ein irrationales -Vielfaches von $\pi$ ist, dann sind alle Potenzen $g^n$ für natürliche -Exponenten voneinander verschieden. -Wäre nämlich $g^{n_1}=g^{n_2}$, dann wäre $e^{i\alpha(n_1-n_2)}=1$ und -somit müsste $\alpha=2k\pi/(n_1-n_2)$ sein. -Damit wäre aber $\alpha$ ein rationales Vielfaches von $\pi$, im Widerspruch -zur Voraussetzung. -Die Abbildung $n\mapsto g^n\in S^1$ ist auf den ersten Blick etwa ähnlich -undurchschaubar wie die Abbildung $n\mapsto g^n\in\mathbb{F}_p$. -Es gibt zwar die komplexe Logarithmusfunktion, mit der man $n$ bestimmen -kann, dazu muss man aber den Wert von $g^n$ mit beliebiger Genauigkeit -kennen, denn die Werte von $g^n$ können beliebig nahe beieinander liegen. - -Der Einheitskreis ist die Lösungsmenge der Gleichung $x^2+y^2=1$ für -reelle Koordinaten $x$ und $y$, -doch Rundungsunsicherheiten verunmöglichen den Einsatz in einem -Verfahren ähnlich dem Diffie-Hellman-Verfahren. -Dieses Problem kann gelöst werden, indem für die Variablen Werte -aus einem endlichen Körper verwendet werden. -Gesucht ist also eine Gleichung in zwei Variablen, deren Lösungsmenge -in einem endlichen Körper eine Gruppenstruktur trägt. -Die Lösungsmenge ist eine ``Kurve'' von Punkten mit -Koordinaten in einem endlichen Körper. - -In diesem Abschnitt wird gezeigt, dass sogenannte elliptische Kurven -über endlichen Körpern genau die verlangen Eigenschaften haben. - -\subsubsection{Elliptische Kurven} -Elliptische Kurven sind Lösungen einer Gleichung der Form -\begin{equation} -Y^2+XY=X^3+aX+b -\label{buch:crypto:eqn:ellipticcurve} -\end{equation} -mit Werten von $X$ und $Y$ in einem geeigneten Körper. -Die Koeffizienten $a$ und $b$ müssen so gewählt werden, dass die -Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} genügend viele -Lösungen hat. -Über den komplexen Zahlen hat die Gleichung natürlich für jede Wahl von -$X$ drei Lösungen. -Für einen endlichen Körper können wir dies im allgemeinen nicht erwarten, -aber wenn wir genügend viele Wurzeln zu $\mathbb{F}$ hinzufügen können wir -mindestens erreichen, dass die Lösungsmenge so viele Elemente hat, -dass ein Versuch, die Gleichung $g^x=b$ mittels Durchprobierens zu -lösen, zum Scheitern verurteil ist. - -\begin{definition} -\label{buch:crypto:def:ellipticcurve} -Die {\em elliptische Kurve} $E_{a,b}(\Bbbk)$ über dem Körper $\Bbbk$ ist -die Menge -\[ -E_{a,b}(\Bbbk) -= -\{(X,Y)\in\Bbbk^2\;|\;Y^2+XY=X^3+aX+b\}, -\] -für $a,b\in\Bbbk$. -\end{definition} - -Um die Anschauung zu vereinfachen, werden wir elliptische Kurven über -dem Körper $\mathbb{R}$ visualisieren. -Die daraus gewonnenen geometrischen Einsichten werden wir anschliessend -algebraisch umsetzen. -In den reellen Zahlen kann man die -Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} -noch etwas vereinfachen. -Indem man in \eqref{buch:crypto:eqn:ellipticcurve} -quadratisch ergänzt, bekommt man -\begin{align} -Y^2 + XY + \frac14X^2 &= X^3+\frac14 X^2 +aX+b -\notag -\\ -\Rightarrow\qquad -v^2&=X^3+\frac14X^2+aX+b, -\label{buch:crypto:eqn:ell2} -\end{align} -indem man $v=Y+\frac12X$ setzt. -Man beachte, dass man diese Substition nur machen kann, wenn $\frac12$ -definiert ist. -In $\mathbb{R}$ ist dies kein Problem, aber genau über den Körpern -mit Charakteristik $2$, die wir für die Computer-Implementation -bevorzugen, ist dies nicht möglich. -Es geht hier aber nur um die Visualisierung. - -Auch die Form \eqref{buch:crypto:eqn:ell2} lässt sich noch etwas -vereinfachen. -Setzt man $X=u-\frac1{12}$, dann verschwindet nach einiger Rechnung, -die wir hier nicht durchführen wollen, der quadratische Term -auf der rechten Seite. -Die interessierenden Punkte sind Lösungen der einfacheren Gleichung -\begin{equation} -v^2 -= -u^3+\biggl(a-\frac{1}{48}\biggr)u + b-\frac{a}{12}+\frac{1}{864} -= -u^3+Au+B. -\label{buch:crypto:ellvereinfacht} -\end{equation} -In dieser Form ist mit $(u,v)$ immer auch $(u,-v)$ eine Lösung, -die Kurve ist symmetrisch bezüglich der $u$-Achse. -Ebenso kann man ablesen, dass nur diejenigen $u$-Werte möglich sind, -für die das kubische Polynom $u^3+Au+B$ auf der rechten Seite von -\eqref{buch:crypto:ellvereinfacht} -nicht negativ ist. - -Sind $u_1$, $u_2$ und $u_3$ die Nullstellen des kubischen Polynoms -auf der rechten Seite von~\eqref{buch:crypto:ellvereinfacht}, folgt -\[ -v^2 -= -(u-u_1)(u-u_2)(u-u_3) -= -u^3 --(u_1+u_2+u_3)u^2 -+(u_1u_2+u_1u_3+u_2u_3)u -- -u_1u_2u_3. -\] -Durch Koeffizientenvergleich sieht man, dass $u_1+u_2+u_3=0$ sein muss. -\begin{figure} -\centering -\includegraphics{chapters/90-crypto/images/elliptic.pdf} -\caption{Elliptische Kurve in $\mathbb{R}$ in der Form -$v^2=u^3+Au+B$ mit Nullstellen $u_1$, $u_2$ und $u_3$ des -kubischen Polynoms auf der rechten Seite. -Die blauen Punkte und Geraden illustrieren die Definition der -Gruppenoperation in der elliptischen Kurve. -\label{buch:crypto:fig:elliptischekurve}} -\end{figure} -Abbildung~\ref{buch:crypto:fig:elliptischekurve} -zeigt eine elliptische Kurve in der Ebene. - -\subsubsection{Geometrische Definition der Gruppenoperation} -In der speziellen Form \ref{buch:crypto:ellvereinfacht} ist die -elliptische Kurve symmetrisch unter Spiegelung an der $u$-Achse. -Die Spiegelung ist eine Involution, zweimalige Ausführung führt auf -den ursprünglichen Punkt zurück. -Die Inverse in einer Gruppe hat diese Eigenschaft auch, es ist -daher naheliegend, den gespiegelten Punkt als die Inverse eines -Elementes zu nehmen. - -Eine Gerade durch zwei Punkte der -in Abbildung~\ref{buch:crypto:fig:elliptischekurve} -dargestellten Kurve schneidet die Kurve ein drittes Mal. -Die Gruppenoperation wird so definiert, dass drei Punkte der Kurve -auf einer Geraden das Gruppenprodukt $e$ haben. -Da aus $g_1g_2g_3=e$ folgt $g_3=(g_1g_2)^{-1}$ oder -$g_1g_2=g_3^{-1}$, erhält man das Gruppenprodukt zweier Elemente -auf der elliptischen Kurve indem erst den dritten Schnittpunkt -ermittelt und diesen dann an der $u$-Achse spiegelt. - -Die geometrische Konstruktion schlägt fehl, wenn $g_1=g_2$ ist. -In diesem Fall kann man die Tangente im Punkt $g_1$ an die Kurve -verwenden. -Dieser Fall tritt zum Beispiel auch in den drei Punkten -$(u_1,0)$, $(u_2,0)$ und $(u_3,0)$ ein. - -Um das neutrale Element der Gruppe zu finden, können wir -zwei Punkte $g$ und $g^{-1}$ miteinander verknüpfen. -Die Gerade durch $g$ und $g^{-1}$ schneidet aber die Kurve -kein drittes Mal. -Ausserdem sind alle Geraden durch $g$ und $g^{-1}$ für verschiedene -$g$ parallel. -Das neutrale Element entspricht also einem unendlich weit entfernten Punkt. -Das neutrale Element entsteht immer dann als Produkt, wenn zwei -Punkte die gleiche $u$-Koordinaten haben. - -\subsubsection{Gruppenoperation, algebraische Konstruktion} -Nach den geometrischen Vorarbeiten zur Definition der Gruppenoperation -kann können wir die Konstruktion jetzt algebraisch umsetzen. - -Zunächst überlegen wir uns wieder eine Involution, welche als Inverse -dienen kann. -Dazu beachten wir, dass die linke Seite der definierenden Gleichung -\begin{equation} -Y^2+XY=X^3-aX+b. -\label{buch:crypto:eqn:grupopgl} -\end{equation} -auch als $Y(Y+X)$ geschrieben werden kann. -Die Abbildung $Y\mapsto -X-Y$ macht daraus -\[ -(-X-Y)(-X-Y+X)=(X+Y)Y, -\] -dies ist also die gesuchte Involution. - -Seien also $g_1=(x_1,y_1)$ und $g_2=(x_2,y_2)$ zwei verschiedene Lösungen -der Gleichung \eqref{buch:crypto:eqn:grupopgl} -Als erstes brauchen wir eine Gleichung für die Gerade durch die beiden -Punkte. -Sei also $l(X,Y)$ eine Linearform derart, dass $l(g_1)=d$ und $l(g_2)=d$ -für ein geeignetes $d\in\Bbbk$. -Dann gilt auch für die Punkte -\[ -g(t) = tg_1 + (1-t)g_2 -\qquad\Rightarrow\qquad -l(g(t)) -= -tl(g_1) + (1-t)l(g_2) -= -tc+(1-t)c -= -(t+1-t)c -=c, -\] -jeder Punkt der Geraden durch $g_1$ und $g_2$ lässt sich in dieser Form -schreiben. - -Setzt man jetzt $g(t)$ in die Gleichung ein, erhält man eine kubische -Gleichung in $t$, von der wir bereits zwei Nullstellen kennen, nämlich -$0$ und $1$. -Die kubische Gleichung muss also durch $t$ und $(t-1)$ teilbar sein. -Diese Berechnung kann man einfach in einem Computeralgebrasystem -durchführen. -Das Polynom ist -\[ -p(t) -= -\] -Nach Division durch $t(t-1)$ erhält man als den Quotienten -\begin{align*} -q(t) -&= -(y_2-y_1)^2 -+ -(y_2-y_1) (x_2-x_1) -+ -t(x_2-x_1)^3 -- -2x_2^3+3x_1x_2^2-x_1^3 -\end{align*} -und den Rest -\[ -r(t) -= -t(y_1^2+x_1y_1-x_1^3-ax_1-b) -+ -(1-t)(y_2^2+x_2y_2-x_2^3-ax_2-b). -\] -Die Klammerausdrücke verschwinden, da die sie gleichbedeutend damit sind, -dass die Punkte Lösungen von \eqref{buch:crypto:eqn:grupopgl} sind. - -Für den dritten Punkt auf der Geraden muss $t$ so gewählt werden, dass -$q(t)=0$ ist. -Dies ist aber eine lineare Gleichung mit der Lösung -\begin{align*} -t -&= --\frac{ -(y_1-y_2)^2 -+ -(y_2-y_1)(x_2-x_1) --2x_2^3+3x_1x_2^2-x_1^3 -}{(x_2-x_1)^3} -. -\end{align*} -Setzt man dies $g(t)$ ein, erhält man für die Koordinaten des dritten -Punktes $g_3$ die Werte -\begin{align} -x_3 -&= -\frac{ -(y_2-y_1)^2(x_2-x_1) + (y_2-y_1)(x_2-x_1)^2 --(x_2^4+x_1^4) -}{ -(x_2-x_1)^3 -} -\label{buch:crypto:eqn:x3} -\\ -y_3 -&= -\frac{ -(y_2-y_1)^3 -+(x_2-x_1)(y_2-y_1)^2 --(x_{2}-x_{1})^3 ( y_{2} - y_{1}) --(x_{2}-x_{1})^2 ( x_{1} y_{2}- x_{2} y_{1}) -}{ -(x_2-x_1)^3 -} -\label{buch:crypto:eqn:y3} -\end{align} -Die Gleichungen -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -ermöglichen also, das Element $g_1g_2^{-1}$ zu berechnen. -Interessant daran ist, dass in den Formeln die Konstanten $a$ und $b$ -gar nicht vorkommen. - -Es bleibt noch der wichtige Fall des Quadrierens in der Gruppe zu -behandeln, also den Fall $g_1=g_2$. -In diese Fall sind die Formeln -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -ganz offensichtlich nicht anwendbar. -Die geometrische Anschauung hat nahegelegt, die Tangent an die Kurve -im Punkt $g_1$ zu nehmen. -In $\mathbb{R}$ würde man dafür einen Grenzübergang $g_2\to g_1$ machen, -aber in einem endlichen Körper ist dies natürlich nicht möglich. - -Wir schreiben die Gerade als Parameterdarstellung in der Form -\( -t\mapsto g(t)= (x_1+ut, y_1+vt) -\) -für beliebige Parameter in $\Bbbk$. -Die Werte $u_1$ und $u_2$ müssen so gewählt werden, dass $g(t)$ eine -Tangente wird. -Setzt man $g(t)$ in die Gleichung~\eqref{buch:crypto:eqn:grupopgl} ein, -entsteht ein kubische Gleichung, die genau dann eine doppelte Nullstelle -bei $0$ hat, wenn $u,v$ die Tangentenrichtung beschreiben. -Einsetzen von $g(t)$ in \eqref{buch:crypto:eqn:grupopgl} -ergibt die Gleichung -\begin{align} -0 -&= --u^3t^3 -+ -(-3u^2x_{1}+v^2+uv)t^2 -+ -(2vy_1+uy_1-3ux_1^2+vx_1-au)t -+ -(y_1^2+x_1y_1-x_1^3-ax_1-b) -\label{buch:crypto:eqn:tangente1} -\end{align} -Damit bei $t=0$ eine doppelte Nullstelle mussen die letzten beiden -Koeffizienten verschwinden, dies führt auf die Gleichungen -\begin{align} -y_1^2+x_1y_1&=x_1^3+ax_1+b -\label{buch:crypto:eqn:rest1} -\\ -(2y_1 -+x_1)v -+(y_1 --3x_1^2 --a)u -&=0 -\label{buch:crypto:eqn:rest2} -\end{align} -Die erste Gleichung \eqref{buch:crypto:eqn:rest1} drückt aus, -dass $g_1$ ein Punkt der Kurve ist, sie ist automatisch erfüllt. - -Die zweite Gleichung -\eqref{buch:crypto:eqn:rest2} -legt das Verhältnis von $u$ und $v$, also die -\label{buch:crypto:eqn:rest2} -Tangentenrichtung fest. -Eine mögliche Lösung ist -\begin{equation} -\begin{aligned} -u &= x_1+2y_1 -\\ -v &= -y_1+3x_1^2+a. -\end{aligned} -\label{buch:crypto:eqn:uv} -\end{equation} - -Der Quotient ist ein lineares Polynom in $t$, die Nullstelle parametrisiert -den Punkt, der $(g_1)^{-2}$ entspricht. -Der zugehörige Wert von $t$ ist -\begin{equation} -t=-\frac{3u^2x_1-v^2-uv}{u^3}. -\label{buch:crypto:eqn:t} -\end{equation} - - -Setzt man -\label{buch:crypto:eqn:t} -und -\eqref{buch:crypto:eqn:uv} -in $g(t)$ ein, erhält man sehr komplizierte Ausdrücke für den dritten Punkt. -Wir verzichten darauf, diese Ausdrücke hier aufzuschreiben. -In der Praxis wird man in einem Körper der Charakteristik 2 arbeiten. -In diesem Körper werden alle geraden Koeffizienten zu $0$, alle ungeraden -Koeffizienten werden unabhängig vom Vorzeichen zu $1$. -Damit bekommt man die folgenden, sehr viel übersichtlicheren Ausdrücke -für den dritten Punkt: -\begin{equation} -\begin{aligned} -x -&= --\frac{ -y_1^2+x_1y_1+x_1^4+x_1^3+ax_1-a^2 - }{ -x_1^2 -} -\\ -y -&= -\frac{ -y_1^3+(x_1^2+x_1+a)y_1^2+(x_1^4 +a^2)y_1+x_1^6+ax_1^4+ax_1^3+a^2x_1^2+a^2x_1+a^3 -}{ - x_1^3 -} -\end{aligned} -\label{buch:crypto:eqn:tangentechar2} -\end{equation} -Damit haben wir einen vollständigen Formelsatz für die Berechnung der -Gruppenoperation in der elliptischen Kurve mindestens für den praktisch -relevanten Fall einer Kurve über einem Körper der Charakteristik $2$. - -\begin{satz} -Die elliptische Kurve -\[ -E_{a,b}(\mathbb{F}_{p^l}) -= -\{ -(X,Y)\in\mathbb{F}_{p^l} -\;|\; -Y^2+XY = X^3-aX-b -\} -\] -trägt eine Gruppenstruktur, die wie folgt definiert ist: -\begin{enumerate} -\item Der Punkt $(0,0)$ entspricht dem neutralen Element. -\item Das inverse Element von $(x,y)$ ist $(-x,-y-x)$. -\item Für zwei verschiedene Punkte $g_1$ und $g_2$ kann $g_3=(g_1g_2)^{-1}$ -mit Hilfe der Formeln -\eqref{buch:crypto:eqn:x3} -und -\eqref{buch:crypto:eqn:y3} -gefunden werden. -\item Für einen Punkt $g_1$ kann $g_3=g_1^{-2}$ in Charakteristik $2$ mit -Hilfe der Formeln -\eqref{buch:crypto:eqn:tangentechar2} -gefunden werden. -\end{enumerate} -Diese Operationen machen $E_{a,b}(\mathbb{F}_{p^l})$ zu einer endlichen -abelschen Gruppe. -\end{satz} - -\subsubsection{Beispiele} -% XXX -TODO: elliptische Kurven in IPsec: Oakley Gruppen - -\subsubsection{Diffie-Hellman in einer elliptischen Kurve} -% XXX -TODO: $g^x$ in einer elliptischen Kurve - - - +% +% ff.tex -- Kryptographie und endliche Körper +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% + +\section{Kryptographie und endliche Körper +\label{buch:section:kryptographie-und-endliche-koerper}} +\rhead{Kryptographie und endliche Körper} + +\subsection{Potenzen in $\mathbb{F}_p$ und diskreter Logarithmus +\label{buch:subsection:potenzen-diskreter-logarithmus}} +Für kryptographische Anwendungen wird eine einfach zu berechnende +Funktion benötigt, +die ohne zusätzliches Wissen, üblicherweise der Schlüssel genannt, +nicht ohne weiteres umkehrbar ist. +Die arithmetischen Operationen in einem endlichen Körper sind +mit geringem Aufwand durchführbar. +Für die ``schwierigste'' Operation, die Division, steht der +euklidische Algorithmus zur Verfügung. + +Die nächstschwierigere Operation ist die Potenzfunktion. +Für $g\in \Bbbk$ und $a\in\mathbb{N}$ ist die Potenz $g^a\in\Bbbk$ +natürlich durch die wiederholte Multiplikation definiert. +In der Praxis werden aber $g$ und $a$ Zahlen mit vielen Binärstellen +sein, die die wiederholte Multiplikation ist daher sicher nicht +effizient, das Kriterium der einfachen Berechenbarkeit scheint +also nicht erfüllt. +Der folgende Algorithmus berechnet die Potenz in $O(\log_2 a)$ +Multiplikationen. + +\begin{algorithmus}[Divide-and-conquer] +\label{buch:crypto:algo:divide-and-conquer} +Sei $a=a_0 + a_12^1 + a_22^2 + \dots + a_k2^k$ die Binärdarstellung +der Zahl $a$. +\begin{enumerate} +\item setze $f=g$, $x=1$, $i=0$ +\label{divide-and-conquer-1} +\item solange $i\ge k$ ist, führe aus +\label{divide-and-conquer-2} +\begin{enumerate} +\item +\label{divide-and-conquer-3} +falls $a_i=1$ setze $x \coloneqq x \cdot f$ +\item +\label{divide-and-conquer-4} +$i \coloneqq i+1$ und $f\coloneqq f\cdot f$ +\end{enumerate} +\end{enumerate} +Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen +berechnet werden. +\end{algorithmus} + +\begin{proof}[Beweis] +Die Initalisierung in Schritt~\ref{divide-and-conquer-1} stellt sicher, +dass $x$ den Wert $g^0$ hat. +Schritt~\ref{divide-and-conquer-4} stellt sicher, +dass die Variable $f$ immer den Wert $g^{2^i}$ hat. +Im Schritt~\ref{divide-and-conquer-3} wird zu $x$ die Potenz +$g^{a_i2^i}$ hinzumultipliziert. +Am Ende des Algorithmus hat daher $x$ den Wert +\[ +x = g^{a_02^0} \cdot g^{a_12^1} \cdot g^{a_22^2} \cdot\ldots\cdot 2^{a_k2^k} += +g^{a_0+a_12+a_22^2+\dots+a_k2^k} += +g^a. +\] +Die Schleife wird $\lfloor1+\log_2ab\rfloor$ mal durchlaufen. +In jedem Fall wird auf jeden Fall die Multiplikation in +Schritt~\ref{divide-and-conquer-4} durchgeführt +und im schlimmsten Fall auch noch die Multiplikation in +Schritt~\ref{divide-and-conquer-3}. +Es werden also nicht mehr als $2\lfloor 1+\log_2a\rfloor=O(\log_2a)$ +Multiplikationen durchgeführt. +\end{proof} + +\begin{beispiel} +Man berechne die Potenz $7^{2021}$ in $\mathbb{F}_p$. +Die Binärdarstellung von 2021 ist $2021_{10}=\texttt{11111100101}_2$. +Wir stellen die nötigen Operationen des +Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} in der folgenden +Tabelle +\begin{center} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} +\hline + i& f& a_i& x\\ +\hline + 0& 7& 1& 7\\ + 1& 49& 0& 7\\ + 2&1110& 1& 24\\ + 3& 486& 0& 24\\ + 4&1234& 0& 24\\ + 5& 667& 1& 516\\ + 6& 785& 1& 977\\ + 7& 418& 1& 430\\ + 8& 439& 1& 284\\ + 9& 362& 1& 819\\ +10& 653& 1& 333\\ +\hline +\end{tabular} +\end{center} +Daraus liest man ab, dass $7^{2021}=333\in\mathbb{F}_{1291}$. +\end{beispiel} + +Die Tabelle suggeriert, dass die Potenzen von $g$ ``wild'', also +scheinbar ohne System in $\mathbb{F}_p$ herumspringen. +Dies deutet an, dass die Umkehrung der Exponentialfunktion in $\mathbb{F}_p$ +schwierig ist. +Die Umkehrfunktion der Exponentialfunktion, die Umkehrfunktion von +$x\mapsto g^x$ in $\mathbb{F}_p$ heisst der {\em diskrete Logarithmus}. +\index{diskreter Logarithmus}% +Tatsächlich ist der diskrete Logarithmus ähnlich schwierig zu bestimmen +wie das Faktorisieren von Zahlen, die das Produkt grosser +Primafaktoren ähnlicher Grössenordnung wie $p$ sind. +Die Funktion $x\mapsto g^x$ ist die gesuchte, schwierig zu invertierende +Funktion. + +Auf dern ersten Blick scheint der +Algorithmus~\ref{buch:crypto:algo:divide-and-conquer} +den Nachteil zu haben, dass erst die Binärdarstellung der Zahl $a$ +ermittelt werden muss. +In einem Computer ist dies aber normalerweise kein Problem, da $a$ +im Computer ohnehin binär dargestellt ist. +Die Binärziffern werden in der Reihenfolge vom niederwertigsten zum +höchstwertigen Bit benötigt. +Die folgende Modifikation des Algorithmus ermittelt laufend +auch die Binärstellen von $a$. +Die dazu notwendigen Operationen sind im Binärsystem besonders +effizient implementierbar, die Division durch 2 ist ein Bitshift, der +Rest ist einfach das niederwertigste Bit der Zahl. + +\begin{algorithmus} +\label{buch:crypto:algo:divide-and-conquer2} +\begin{enumerate} +\item +Setze $f=g$, $x=1$, $i=0$ +\item +Solange $a>0$ ist, führe aus +\begin{enumerate} +\item +Verwende den euklidischen Algorithmus um $r$ und $b$ zu bestimmen mit $a=2b+r$ +\item +Falls $r=1$ setze $x \coloneqq x \cdot f$ +\item +$i \coloneqq i+1$, $a = b$ und $f\coloneqq f\cdot f$ +\end{enumerate} +\end{enumerate} +Die Potenz $x=g^a$ kann so in $O(\log_2a)$ Multiplikationen +berechnet werden. +\end{algorithmus} + + +% +% Diffie-Hellman Schlüsseltausch +% +\subsection{Diffie-Hellman-Schlüsseltausch +\label{buch:subsection:diffie-hellman}} +Eine Grundaufgabe der Verschlüsselung im Internet ist, dass zwei +Kommunikationspartner einen gemeinsamen Schlüssel für die Verschlüsselung +der Daten aushandeln können müssen. +Es muss davon ausgegangen werden, dass die Kommunikation abgehört wird. +Trotzdem soll es für einen Lauscher nicht möglich sein, den +ausgehandelten Schlüssel zu ermitteln. + +% XXX Historisches zu Diffie und Hellman + +Die beiden Partner $A$ und $B$ einigen sich zunächst auf eine Zahl $g$, +die öffentlich bekannt sein darf. +Weiter erzeugen sie eine zufällige Zahl $a$ und $b$, die sie geheim +halten. +Das Verfahren soll aus diesen beiden Zahlen einen Schlüssel erzeugen, +den beide Partner berechnen können, ohne dass sie $a$ oder $b$ +übermitteln müssen. +Die beiden Zahlen werden daher auch die privaten Schlüssel genannt. + +Die Idee von Diffie und Hellman ist jetzt, die Werte $x=g^a$ und $y=g^b$ +zu übertragen. +In $\mathbb{R}$ würden dadurch natürlich dem Lauscher auch $a$ offenbart, +er könnte einfach $a=\log_g x$ berechnen. +Ebenso kann auch $b$ als $b=\log_g y$ erhalten werden, die beiden +privaten Schlüssel wären also nicht mehr privat. +Statt der Potenzfunktion in $\mathbb{R}$ muss also eine Funktion +verwendet werden, die nicht so leicht umgekehrt werden kann. +Die Potenzfunktion in $\mathbb{F}_p$ erfüllt genau diese Eigenschaft. +Die Kommunikationspartner einigen sich also auch noch auf die (grosse) +Primzahl $p$ und übermitteln $x=g^a\in\mathbb{F}_p$ und +$y=g^b\in\mathbb{F}_p$. + +\begin{figure} +\centering +\includegraphics{chapters/90-crypto/images/dh.pdf} +\caption{Schlüsselaustausch nach Diffie-Hellman. +Die Kommunikationspartner $A$ und $B$ einigen sich öffentlich auf +$p\in\mathbb{N}$ und $g\in\mathbb{F}_p$. +$A$ wählt dann einen privaten Schlüssel $a\in\mathbb{N}$ und +$B$ wählt $b\in\mathbb{N}$, sie tauschen dann $x=g^a$ und $y=g^b$ +aus. +$A$ erhält den gemeinsamen Schlüssel aus $y^a$, $B$ erhält ihn +aus $x^b$. +\label{buch:crypto:fig:dh}} +\end{figure} + +Aus $x$ und $y$ muss jetzt der gemeinsame Schlüssel abgeleitet werden. +$A$ kennt $y=g^b$ und $a$, $B$ kennt $x=g^a$ und $b$. +Beide können die Zahl $s=g^{ab}\in\mathbb{F}_p$ berechnen. +$A$ macht das, indem er $y^a=(g^b)^a = g^{ab}$ rechnet, +$B$ rechnet $x^b = (g^a)^b = g^{ab}$, beide natürlich in $\mathbb{F}_p$. +Der Lauscher kann aber $g^{ab}$ nicht ermitteln, dazu müsste er +$a$ oder $b$ ermitteln können. +Die Zahl $s=g^{ab}$ kann also als gemeinsamer Schlüssel verwendet +werden. + + + +\subsection{Elliptische Kurven +\label{buch:subsection:elliptische-kurven}} +Das Diffie-Hellman-Verfahren basiert auf der Schwierigkeit, in einem +Körper $\mathbb{F}_p$ die Gleichung $a^x=b$ nach $x$ aufzulösen. +Die Addition in $\mathbb{F}_p$ wird dazu nicht benötigt. +Es reicht, eine Menge mit einer Multiplikation zu haben, in der das +die Gleichung $a^x=b$ schwierig zu lösen ist. +Ein Gruppe wäre also durchaus ausreichend. + +Ein Kandidat für eine solche Gruppe könnte der Einheitskreis +$S^1=\{z\in\mathbb{C}\;|\; |z|=1\}$ in der komplexen Ebene sein. +Wählt man eine Zahl $g=e^{i\alpha}$, wobei $\alpha$ ein irrationales +Vielfaches von $\pi$ ist, dann sind alle Potenzen $g^n$ für natürliche +Exponenten voneinander verschieden. +Wäre nämlich $g^{n_1}=g^{n_2}$, dann wäre $e^{i\alpha(n_1-n_2)}=1$ und +somit müsste $\alpha=2k\pi/(n_1-n_2)$ sein. +Damit wäre aber $\alpha$ ein rationales Vielfaches von $\pi$, im Widerspruch +zur Voraussetzung. +Die Abbildung $n\mapsto g^n\in S^1$ ist auf den ersten Blick etwa ähnlich +undurchschaubar wie die Abbildung $n\mapsto g^n\in\mathbb{F}_p$. +Es gibt zwar die komplexe Logarithmusfunktion, mit der man $n$ bestimmen +kann, dazu muss man aber den Wert von $g^n$ mit beliebiger Genauigkeit +kennen, denn die Werte von $g^n$ können beliebig nahe beieinander liegen. + +Der Einheitskreis ist die Lösungsmenge der Gleichung $x^2+y^2=1$ für +reelle Koordinaten $x$ und $y$, +doch Rundungsunsicherheiten verunmöglichen den Einsatz in einem +Verfahren ähnlich dem Diffie-Hellman-Verfahren. +Dieses Problem kann gelöst werden, indem für die Variablen Werte +aus einem endlichen Körper verwendet werden. +Gesucht ist also eine Gleichung in zwei Variablen, deren Lösungsmenge +in einem endlichen Körper eine Gruppenstruktur trägt. +Die Lösungsmenge ist eine ``Kurve'' von Punkten mit +Koordinaten in einem endlichen Körper. + +In diesem Abschnitt wird gezeigt, dass sogenannte elliptische Kurven +über endlichen Körpern genau die verlangen Eigenschaften haben. + +\subsubsection{Elliptische Kurven} +Elliptische Kurven sind Lösungen einer Gleichung der Form +\begin{equation} +Y^2+XY=X^3+aX+b +\label{buch:crypto:eqn:ellipticcurve} +\end{equation} +mit Werten von $X$ und $Y$ in einem geeigneten Körper. +Die Koeffizienten $a$ und $b$ müssen so gewählt werden, dass die +Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} genügend viele +Lösungen hat. +Über den komplexen Zahlen hat die Gleichung natürlich für jede Wahl von +$X$ drei Lösungen. +Für einen endlichen Körper können wir dies im allgemeinen nicht erwarten, +aber wenn wir genügend viele Wurzeln zu $\mathbb{F}$ hinzufügen können wir +mindestens erreichen, dass die Lösungsmenge so viele Elemente hat, +dass ein Versuch, die Gleichung $g^x=b$ mittels Durchprobierens zu +lösen, zum Scheitern verurteil ist. + +\begin{definition} +\label{buch:crypto:def:ellipticcurve} +Die {\em elliptische Kurve} $E_{a,b}(\Bbbk)$ über dem Körper $\Bbbk$ ist +die Menge +\[ +E_{a,b}(\Bbbk) += +\{(X,Y)\in\Bbbk^2\;|\;Y^2+XY=X^3+aX+b\}, +\] +für $a,b\in\Bbbk$. +\end{definition} + +Um die Anschauung zu vereinfachen, werden wir elliptische Kurven über +dem Körper $\mathbb{R}$ visualisieren. +Die daraus gewonnenen geometrischen Einsichten werden wir anschliessend +algebraisch umsetzen. +In den reellen Zahlen kann man die +Gleichung~\eqref{buch:crypto:eqn:ellipticcurve} +noch etwas vereinfachen. +Indem man in \eqref{buch:crypto:eqn:ellipticcurve} +quadratisch ergänzt, bekommt man +\begin{align} +Y^2 + XY + \frac14X^2 &= X^3+\frac14 X^2 +aX+b +\notag +\\ +\Rightarrow\qquad +v^2&=X^3+\frac14X^2+aX+b, +\label{buch:crypto:eqn:ell2} +\end{align} +indem man $v=Y+\frac12X$ setzt. +Man beachte, dass man diese Substition nur machen kann, wenn $\frac12$ +definiert ist. +In $\mathbb{R}$ ist dies kein Problem, aber genau über den Körpern +mit Charakteristik $2$, die wir für die Computer-Implementation +bevorzugen, ist dies nicht möglich. +Es geht hier aber nur um die Visualisierung. + +Auch die Form \eqref{buch:crypto:eqn:ell2} lässt sich noch etwas +vereinfachen. +Setzt man $X=u-\frac1{12}$, dann verschwindet nach einiger Rechnung, +die wir hier nicht durchführen wollen, der quadratische Term +auf der rechten Seite. +Die interessierenden Punkte sind Lösungen der einfacheren Gleichung +\begin{equation} +v^2 += +u^3+\biggl(a-\frac{1}{48}\biggr)u + b-\frac{a}{12}+\frac{1}{864} += +u^3+Au+B. +\label{buch:crypto:ellvereinfacht} +\end{equation} +In dieser Form ist mit $(u,v)$ immer auch $(u,-v)$ eine Lösung, +die Kurve ist symmetrisch bezüglich der $u$-Achse. +Ebenso kann man ablesen, dass nur diejenigen $u$-Werte möglich sind, +für die das kubische Polynom $u^3+Au+B$ auf der rechten Seite von +\eqref{buch:crypto:ellvereinfacht} +nicht negativ ist. + +Sind $u_1$, $u_2$ und $u_3$ die Nullstellen des kubischen Polynoms +auf der rechten Seite von~\eqref{buch:crypto:ellvereinfacht}, folgt +\[ +v^2 += +(u-u_1)(u-u_2)(u-u_3) += +u^3 +-(u_1+u_2+u_3)u^2 ++(u_1u_2+u_1u_3+u_2u_3)u +- +u_1u_2u_3. +\] +Durch Koeffizientenvergleich sieht man, dass $u_1+u_2+u_3=0$ sein muss. +\begin{figure} +\centering +\includegraphics{chapters/90-crypto/images/elliptic.pdf} +\caption{Elliptische Kurve in $\mathbb{R}$ in der Form +$v^2=u^3+Au+B$ mit Nullstellen $u_1$, $u_2$ und $u_3$ des +kubischen Polynoms auf der rechten Seite. +Die blauen Punkte und Geraden illustrieren die Definition der +Gruppenoperation in der elliptischen Kurve. +\label{buch:crypto:fig:elliptischekurve}} +\end{figure} +Abbildung~\ref{buch:crypto:fig:elliptischekurve} +zeigt eine elliptische Kurve in der Ebene. + +\subsubsection{Geometrische Definition der Gruppenoperation} +In der speziellen Form \ref{buch:crypto:ellvereinfacht} ist die +elliptische Kurve symmetrisch unter Spiegelung an der $u$-Achse. +Die Spiegelung ist eine Involution, zweimalige Ausführung führt auf +den ursprünglichen Punkt zurück. +Die Inverse in einer Gruppe hat diese Eigenschaft auch, es ist +daher naheliegend, den gespiegelten Punkt als die Inverse eines +Elementes zu nehmen. + +Eine Gerade durch zwei Punkte der +in Abbildung~\ref{buch:crypto:fig:elliptischekurve} +dargestellten Kurve schneidet die Kurve ein drittes Mal. +Die Gruppenoperation wird so definiert, dass drei Punkte der Kurve +auf einer Geraden das Gruppenprodukt $e$ haben. +Da aus $g_1g_2g_3=e$ folgt $g_3=(g_1g_2)^{-1}$ oder +$g_1g_2=g_3^{-1}$, erhält man das Gruppenprodukt zweier Elemente +auf der elliptischen Kurve indem erst den dritten Schnittpunkt +ermittelt und diesen dann an der $u$-Achse spiegelt. + +Die geometrische Konstruktion schlägt fehl, wenn $g_1=g_2$ ist. +In diesem Fall kann man die Tangente im Punkt $g_1$ an die Kurve +verwenden. +Dieser Fall tritt zum Beispiel auch in den drei Punkten +$(u_1,0)$, $(u_2,0)$ und $(u_3,0)$ ein. + +Um das neutrale Element der Gruppe zu finden, können wir +zwei Punkte $g$ und $g^{-1}$ miteinander verknüpfen. +Die Gerade durch $g$ und $g^{-1}$ schneidet aber die Kurve +kein drittes Mal. +Ausserdem sind alle Geraden durch $g$ und $g^{-1}$ für verschiedene +$g$ parallel. +Das neutrale Element entspricht also einem unendlich weit entfernten Punkt. +Das neutrale Element entsteht immer dann als Produkt, wenn zwei +Punkte die gleiche $u$-Koordinaten haben. + +\subsubsection{Gruppenoperation, algebraische Konstruktion} +Nach den geometrischen Vorarbeiten zur Definition der Gruppenoperation +kann können wir die Konstruktion jetzt algebraisch umsetzen. + +Zunächst überlegen wir uns wieder eine Involution, welche als Inverse +dienen kann. +Dazu beachten wir, dass die linke Seite der definierenden Gleichung +\begin{equation} +Y^2+XY=X^3-aX+b. +\label{buch:crypto:eqn:grupopgl} +\end{equation} +auch als $Y(Y+X)$ geschrieben werden kann. +Die Abbildung $Y\mapsto -X-Y$ macht daraus +\[ +(-X-Y)(-X-Y+X)=(X+Y)Y, +\] +dies ist also die gesuchte Involution. + +Seien also $g_1=(x_1,y_1)$ und $g_2=(x_2,y_2)$ zwei verschiedene Lösungen +der Gleichung \eqref{buch:crypto:eqn:grupopgl} +Als erstes brauchen wir eine Gleichung für die Gerade durch die beiden +Punkte. +Sei also $l(X,Y)$ eine Linearform derart, dass $l(g_1)=d$ und $l(g_2)=d$ +für ein geeignetes $d\in\Bbbk$. +Dann gilt auch für die Punkte +\[ +g(t) = tg_1 + (1-t)g_2 +\qquad\Rightarrow\qquad +l(g(t)) += +tl(g_1) + (1-t)l(g_2) += +tc+(1-t)c += +(t+1-t)c +=c, +\] +jeder Punkt der Geraden durch $g_1$ und $g_2$ lässt sich in dieser Form +schreiben. + +Setzt man jetzt $g(t)$ in die Gleichung ein, erhält man eine kubische +Gleichung in $t$, von der wir bereits zwei Nullstellen kennen, nämlich +$0$ und $1$. +Die kubische Gleichung muss also durch $t$ und $(t-1)$ teilbar sein. +Diese Berechnung kann man einfach in einem Computeralgebrasystem +durchführen. +Das Polynom ist +\[ +p(t) += +\] +Nach Division durch $t(t-1)$ erhält man als den Quotienten +\begin{align*} +q(t) +&= +(y_2-y_1)^2 ++ +(y_2-y_1) (x_2-x_1) ++ +t(x_2-x_1)^3 +- +2x_2^3+3x_1x_2^2-x_1^3 +\end{align*} +und den Rest +\[ +r(t) += +t(y_1^2+x_1y_1-x_1^3-ax_1-b) ++ +(1-t)(y_2^2+x_2y_2-x_2^3-ax_2-b). +\] +Die Klammerausdrücke verschwinden, da die sie gleichbedeutend damit sind, +dass die Punkte Lösungen von \eqref{buch:crypto:eqn:grupopgl} sind. + +Für den dritten Punkt auf der Geraden muss $t$ so gewählt werden, dass +$q(t)=0$ ist. +Dies ist aber eine lineare Gleichung mit der Lösung +\begin{align*} +t +&= +-\frac{ +(y_1-y_2)^2 ++ +(y_2-y_1)(x_2-x_1) +-2x_2^3+3x_1x_2^2-x_1^3 +}{(x_2-x_1)^3} +. +\end{align*} +Setzt man dies $g(t)$ ein, erhält man für die Koordinaten des dritten +Punktes $g_3$ die Werte +\begin{align} +x_3 +&= +\frac{ +(y_2-y_1)^2(x_2-x_1) + (y_2-y_1)(x_2-x_1)^2 +-(x_2^4+x_1^4) +}{ +(x_2-x_1)^3 +} +\label{buch:crypto:eqn:x3} +\\ +y_3 +&= +\frac{ +(y_2-y_1)^3 ++(x_2-x_1)(y_2-y_1)^2 +-(x_{2}-x_{1})^3 ( y_{2} - y_{1}) +-(x_{2}-x_{1})^2 ( x_{1} y_{2}- x_{2} y_{1}) +}{ +(x_2-x_1)^3 +} +\label{buch:crypto:eqn:y3} +\end{align} +Die Gleichungen +\eqref{buch:crypto:eqn:x3} +und +\eqref{buch:crypto:eqn:y3} +ermöglichen also, das Element $g_1g_2^{-1}$ zu berechnen. +Interessant daran ist, dass in den Formeln die Konstanten $a$ und $b$ +gar nicht vorkommen. + +Es bleibt noch der wichtige Fall des Quadrierens in der Gruppe zu +behandeln, also den Fall $g_1=g_2$. +In diese Fall sind die Formeln +\eqref{buch:crypto:eqn:x3} +und +\eqref{buch:crypto:eqn:y3} +ganz offensichtlich nicht anwendbar. +Die geometrische Anschauung hat nahegelegt, die Tangent an die Kurve +im Punkt $g_1$ zu nehmen. +In $\mathbb{R}$ würde man dafür einen Grenzübergang $g_2\to g_1$ machen, +aber in einem endlichen Körper ist dies natürlich nicht möglich. + +Wir schreiben die Gerade als Parameterdarstellung in der Form +\( +t\mapsto g(t)= (x_1+ut, y_1+vt) +\) +für beliebige Parameter in $\Bbbk$. +Die Werte $u_1$ und $u_2$ müssen so gewählt werden, dass $g(t)$ eine +Tangente wird. +Setzt man $g(t)$ in die Gleichung~\eqref{buch:crypto:eqn:grupopgl} ein, +entsteht ein kubische Gleichung, die genau dann eine doppelte Nullstelle +bei $0$ hat, wenn $u,v$ die Tangentenrichtung beschreiben. +Einsetzen von $g(t)$ in \eqref{buch:crypto:eqn:grupopgl} +ergibt die Gleichung +\begin{align} +0 +&= +-u^3t^3 ++ +(-3u^2x_{1}+v^2+uv)t^2 ++ +(2vy_1+uy_1-3ux_1^2+vx_1-au)t ++ +(y_1^2+x_1y_1-x_1^3-ax_1-b) +\label{buch:crypto:eqn:tangente1} +\end{align} +Damit bei $t=0$ eine doppelte Nullstelle mussen die letzten beiden +Koeffizienten verschwinden, dies führt auf die Gleichungen +\begin{align} +y_1^2+x_1y_1&=x_1^3+ax_1+b +\label{buch:crypto:eqn:rest1} +\\ +(2y_1 ++x_1)v ++(y_1 +-3x_1^2 +-a)u +&=0 +\label{buch:crypto:eqn:rest2} +\end{align} +Die erste Gleichung \eqref{buch:crypto:eqn:rest1} drückt aus, +dass $g_1$ ein Punkt der Kurve ist, sie ist automatisch erfüllt. + +Die zweite Gleichung +\eqref{buch:crypto:eqn:rest2} +legt das Verhältnis von $u$ und $v$, also die +\label{buch:crypto:eqn:rest2} +Tangentenrichtung fest. +Eine mögliche Lösung ist +\begin{equation} +\begin{aligned} +u &= x_1+2y_1 +\\ +v &= -y_1+3x_1^2+a. +\end{aligned} +\label{buch:crypto:eqn:uv} +\end{equation} + +Der Quotient ist ein lineares Polynom in $t$, die Nullstelle parametrisiert +den Punkt, der $(g_1)^{-2}$ entspricht. +Der zugehörige Wert von $t$ ist +\begin{equation} +t=-\frac{3u^2x_1-v^2-uv}{u^3}. +\label{buch:crypto:eqn:t} +\end{equation} + + +Setzt man +\label{buch:crypto:eqn:t} +und +\eqref{buch:crypto:eqn:uv} +in $g(t)$ ein, erhält man sehr komplizierte Ausdrücke für den dritten Punkt. +Wir verzichten darauf, diese Ausdrücke hier aufzuschreiben. +In der Praxis wird man in einem Körper der Charakteristik 2 arbeiten. +In diesem Körper werden alle geraden Koeffizienten zu $0$, alle ungeraden +Koeffizienten werden unabhängig vom Vorzeichen zu $1$. +Damit bekommt man die folgenden, sehr viel übersichtlicheren Ausdrücke +für den dritten Punkt: +\begin{equation} +\begin{aligned} +x +&= +-\frac{ +y_1^2+x_1y_1+x_1^4+x_1^3+ax_1-a^2 + }{ +x_1^2 +} +\\ +y +&= +\frac{ +y_1^3+(x_1^2+x_1+a)y_1^2+(x_1^4 +a^2)y_1+x_1^6+ax_1^4+ax_1^3+a^2x_1^2+a^2x_1+a^3 +}{ + x_1^3 +} +\end{aligned} +\label{buch:crypto:eqn:tangentechar2} +\end{equation} +Damit haben wir einen vollständigen Formelsatz für die Berechnung der +Gruppenoperation in der elliptischen Kurve mindestens für den praktisch +relevanten Fall einer Kurve über einem Körper der Charakteristik $2$. + +\begin{satz} +Die elliptische Kurve +\[ +E_{a,b}(\mathbb{F}_{p^l}) += +\{ +(X,Y)\in\mathbb{F}_{p^l} +\;|\; +Y^2+XY = X^3-aX-b +\} +\] +trägt eine Gruppenstruktur, die wie folgt definiert ist: +\begin{enumerate} +\item Der Punkt $(0,0)$ entspricht dem neutralen Element. +\item Das inverse Element von $(x,y)$ ist $(-x,-y-x)$. +\item Für zwei verschiedene Punkte $g_1$ und $g_2$ kann $g_3=(g_1g_2)^{-1}$ +mit Hilfe der Formeln +\eqref{buch:crypto:eqn:x3} +und +\eqref{buch:crypto:eqn:y3} +gefunden werden. +\item Für einen Punkt $g_1$ kann $g_3=g_1^{-2}$ in Charakteristik $2$ mit +Hilfe der Formeln +\eqref{buch:crypto:eqn:tangentechar2} +gefunden werden. +\end{enumerate} +Diese Operationen machen $E_{a,b}(\mathbb{F}_{p^l})$ zu einer endlichen +abelschen Gruppe. +\end{satz} + +\subsubsection{Beispiele} +% XXX +TODO: elliptische Kurven in IPsec: Oakley Gruppen + +\subsubsection{Diffie-Hellman in einer elliptischen Kurve} +% XXX +TODO: $g^x$ in einer elliptischen Kurve + + + diff --git a/buch/chapters/90-crypto/images/Makefile b/buch/chapters/90-crypto/images/Makefile index f4bed14..5df9178 100644 --- a/buch/chapters/90-crypto/images/Makefile +++ b/buch/chapters/90-crypto/images/Makefile @@ -1,29 +1,29 @@ -# -# Makefile -- build images for crypto chapter -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \ - shift.pdf keys.pdf - -dh.pdf: dh.tex - pdflatex dh.tex - -elliptic.pdf: elliptic.tex - pdflatex elliptic.tex - -schieberegister.pdf: schieberegister.tex - pdflatex schieberegister.tex - -multiplikation.pdf: multiplikation.tex - pdflatex multiplikation.tex - -sbox.pdf: sbox.tex - pdflatex sbox.tex - -shift.pdf: shift.tex - pdflatex shift.tex - -keys.pdf: keys.tex - pdflatex keys.tex - +# +# Makefile -- build images for crypto chapter +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \ + shift.pdf keys.pdf + +dh.pdf: dh.tex + pdflatex dh.tex + +elliptic.pdf: elliptic.tex + pdflatex elliptic.tex + +schieberegister.pdf: schieberegister.tex + pdflatex schieberegister.tex + +multiplikation.pdf: multiplikation.tex + pdflatex multiplikation.tex + +sbox.pdf: sbox.tex + pdflatex sbox.tex + +shift.pdf: shift.tex + pdflatex shift.tex + +keys.pdf: keys.tex + pdflatex keys.tex + diff --git a/buch/chapters/90-crypto/images/keys.tex b/buch/chapters/90-crypto/images/keys.tex index d556b7c..4b1b566 100644 --- a/buch/chapters/90-crypto/images/keys.tex +++ b/buch/chapters/90-crypto/images/keys.tex @@ -1,121 +1,121 @@ -% -% keys.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] -\definecolor{darkgreen}{rgb}{0,0.6,0} -\def\s{0.5} -\def\punkt#1#2{({(#1)*\s},{(#2)*\s})} -\def\wort#1#2#3{ - \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; - \draw \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; -} - -\def\summe{ - \foreach \x in {0,3,...,21}{ - \draw[->] \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; - \draw \punkt{(\x+0.5)}{-2.5} circle[radius={0.3*\s}]; - \draw \punkt{(\x+0.5-0.2)}{-2.5} - -- - \punkt{(\x+0.5+0.2)}{-2.5}; - \draw \punkt{(\x+0.5)}{-2.5+0.2} - -- - \punkt{(\x+0.5)}{-2.5-0.2}; - \draw[->] \punkt{(\x+0.5)}{-2.9} -- \punkt{(\x+0.5)}{-4.9}; - } - \foreach \x in {0,3,...,18}{ - \draw[->] \punkt{(\x+1.1)}{-7} -- \punkt{(\x+2)}{-7} - -- \punkt{(\x+2)}{-2.5} -- \punkt{(\x+3.1)}{-2.5}; - } - \fill[color=white] - \punkt{(9+1.25)}{-5.5} - rectangle - \punkt{(9+2.75)}{-4.00}; - \draw - \punkt{(9+1.25)}{-5.5} - rectangle - \punkt{(9+2.75)}{-4.00}; - \node at \punkt{(9+2)}{-4.75} {$S$}; -} - -\def\blocks#1{ - \foreach \x in {0,3,...,21}{ - \wort{\x}{0}{#1} - } -} - -\def\schlange#1{ - \draw[->] \punkt{22.1}{2} -- \punkt{23}{2} - -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} - -- \punkt{-3}{-8} -- \punkt{-1}{-8} -- \punkt{-1}{-2.5} - -- \punkt{0.1}{-2.5}; - ; - \fill[color=white] \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; - \draw \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; - \node at \punkt{-3}{-2.5} {$\pi$}; - - \fill[color=white] \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; - \draw \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; - \node at \punkt{-3}{-4.5} {$S$}; - - \fill[color=white] \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; - \draw \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; - \node at \punkt{-3}{-6.5} {$r_{#1}$}; -} - -\begin{scope} - \blocks{blue!20} - \foreach \x in {0,...,7}{ - \node at \punkt{(3*\x+0.5)}{2} {$K_\x$}; - } - \schlange{1} - \summe -\end{scope} - -\begin{scope}[yshift=-4.5cm] - \blocks{darkgreen!20} - \foreach \x in {8,...,15}{ - \node at \punkt{(3*(\x-8)+0.5)}{2} {$K_{\x}$}; - } - \schlange{2} - \summe -\end{scope} - -\begin{scope}[yshift=-9cm] - \blocks{darkgreen!20} - \foreach \x in {16,...,23}{ - \node at \punkt{(3*(\x-16)+0.5)}{2} {$K_{\x}$}; - } - \schlange{3} - \summe -\end{scope} - -\begin{scope}[yshift=-13.5cm] - \blocks{darkgreen!20} - \foreach \x in {24,...,31}{ - \node at \punkt{(3*(\x-24)+0.5)}{2} {$K_{\x}$}; - } - \foreach \x in {0,3,...,21}{ - \draw[->,color=gray] - \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; - \node[color=gray] at \punkt{(\x+0.5)}{-2.1} [below] {$\vdots$}; - } - \draw[color=gray] \punkt{22.1}{2} -- \punkt{23}{2} - -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} - -- \punkt{-3}{-2.1}; - \node[color=gray] at \punkt{-3}{-2.1} [below] {$\vdots$}; -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% keys.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] +\definecolor{darkgreen}{rgb}{0,0.6,0} +\def\s{0.5} +\def\punkt#1#2{({(#1)*\s},{(#2)*\s})} +\def\wort#1#2#3{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; + \draw \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; +} + +\def\summe{ + \foreach \x in {0,3,...,21}{ + \draw[->] \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; + \draw \punkt{(\x+0.5)}{-2.5} circle[radius={0.3*\s}]; + \draw \punkt{(\x+0.5-0.2)}{-2.5} + -- + \punkt{(\x+0.5+0.2)}{-2.5}; + \draw \punkt{(\x+0.5)}{-2.5+0.2} + -- + \punkt{(\x+0.5)}{-2.5-0.2}; + \draw[->] \punkt{(\x+0.5)}{-2.9} -- \punkt{(\x+0.5)}{-4.9}; + } + \foreach \x in {0,3,...,18}{ + \draw[->] \punkt{(\x+1.1)}{-7} -- \punkt{(\x+2)}{-7} + -- \punkt{(\x+2)}{-2.5} -- \punkt{(\x+3.1)}{-2.5}; + } + \fill[color=white] + \punkt{(9+1.25)}{-5.5} + rectangle + \punkt{(9+2.75)}{-4.00}; + \draw + \punkt{(9+1.25)}{-5.5} + rectangle + \punkt{(9+2.75)}{-4.00}; + \node at \punkt{(9+2)}{-4.75} {$S$}; +} + +\def\blocks#1{ + \foreach \x in {0,3,...,21}{ + \wort{\x}{0}{#1} + } +} + +\def\schlange#1{ + \draw[->] \punkt{22.1}{2} -- \punkt{23}{2} + -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} + -- \punkt{-3}{-8} -- \punkt{-1}{-8} -- \punkt{-1}{-2.5} + -- \punkt{0.1}{-2.5}; + ; + \fill[color=white] \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; + \draw \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; + \node at \punkt{-3}{-2.5} {$\pi$}; + + \fill[color=white] \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; + \draw \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; + \node at \punkt{-3}{-4.5} {$S$}; + + \fill[color=white] \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; + \draw \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; + \node at \punkt{-3}{-6.5} {$r_{#1}$}; +} + +\begin{scope} + \blocks{blue!20} + \foreach \x in {0,...,7}{ + \node at \punkt{(3*\x+0.5)}{2} {$K_\x$}; + } + \schlange{1} + \summe +\end{scope} + +\begin{scope}[yshift=-4.5cm] + \blocks{darkgreen!20} + \foreach \x in {8,...,15}{ + \node at \punkt{(3*(\x-8)+0.5)}{2} {$K_{\x}$}; + } + \schlange{2} + \summe +\end{scope} + +\begin{scope}[yshift=-9cm] + \blocks{darkgreen!20} + \foreach \x in {16,...,23}{ + \node at \punkt{(3*(\x-16)+0.5)}{2} {$K_{\x}$}; + } + \schlange{3} + \summe +\end{scope} + +\begin{scope}[yshift=-13.5cm] + \blocks{darkgreen!20} + \foreach \x in {24,...,31}{ + \node at \punkt{(3*(\x-24)+0.5)}{2} {$K_{\x}$}; + } + \foreach \x in {0,3,...,21}{ + \draw[->,color=gray] + \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; + \node[color=gray] at \punkt{(\x+0.5)}{-2.1} [below] {$\vdots$}; + } + \draw[color=gray] \punkt{22.1}{2} -- \punkt{23}{2} + -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} + -- \punkt{-3}{-2.1}; + \node[color=gray] at \punkt{-3}{-2.1} [below] {$\vdots$}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/multiplikation.tex b/buch/chapters/90-crypto/images/multiplikation.tex index 27c4329..dd59097 100644 --- a/buch/chapters/90-crypto/images/multiplikation.tex +++ b/buch/chapters/90-crypto/images/multiplikation.tex @@ -1,464 +1,464 @@ -% -% multiplikation.tex -- -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\def\s{0.45} - -\def\punkt#1#2{({#1*\s},{#2*\s})} - -\def\pfeile{ - \foreach \x in {0.5,1.5,...,7.5}{ - \draw[->,color=blue] \punkt{\x}{-2.1} -- \punkt{(\x-1)}{-3.3}; - } -} - -\begin{scope}[yshift=0.1cm] - \node at \punkt{0}{0.5} [left] {$p(X)=\mathstrut$}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{1}}; - \foreach \x in {0.5,1.5,...,7.5}{ - \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.3}; - } -\end{scope} - -\begin{scope}[yshift=-1cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{1}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - - \draw[->,color=darkgreen] - \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; - \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{0}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-3cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{1}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{1}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{0}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{0}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-5cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{1}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{1}}; - \node at \punkt{1.5}{-1.5} {\texttt{1}}; - \node at \punkt{2.5}{-1.5} {\texttt{0}}; - \node at \punkt{3.5}{-1.5} {\texttt{0}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{1}}; - \node at \punkt{6.5}{-1.5} {\texttt{0}}; - \node at \punkt{7.5}{-1.5} {\texttt{0}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-7cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{1}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - - \draw[->,color=darkgreen] - \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; - \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{1}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{0}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{0}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-9cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{0}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - - \draw[->,color=darkgreen] - \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; - \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{1}}; - \node at \punkt{5.5}{-1.5} {\texttt{1}}; - \node at \punkt{6.5}{-1.5} {\texttt{0}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-11cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{1}}; - \node at \punkt{5.5}{0.5} {\texttt{0}}; - \node at \punkt{6.5}{0.5} {\texttt{1}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{0}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{1}}; - \node at \punkt{4.5}{-1.5} {\texttt{1}}; - \node at \punkt{5.5}{-1.5} {\texttt{0}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{0}}; - - \pfeile -\end{scope} - -\begin{scope}[yshift=-13cm] - \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); - \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; - \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; - \node at \punkt{0.5}{0.5} {\texttt{0}}; - \node at \punkt{1.5}{0.5} {\texttt{1}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{0}}; - -% \draw[->,color=darkgreen] -% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; -% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; -% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; - \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; - - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - \node at \punkt{0.5}{-1.5} {\texttt{0}}; - \node at \punkt{1.5}{-1.5} {\texttt{1}}; - \node at \punkt{2.5}{-1.5} {\texttt{1}}; - \node at \punkt{3.5}{-1.5} {\texttt{0}}; - \node at \punkt{4.5}{-1.5} {\texttt{1}}; - \node at \punkt{5.5}{-1.5} {\texttt{1}}; - \node at \punkt{6.5}{-1.5} {\texttt{1}}; - \node at \punkt{7.5}{-1.5} {\texttt{1}}; - -% \pfeile -\end{scope} - -\begin{scope}[xshift=9cm] - -\begin{scope}[yshift=0.1cm] - \draw[->] \punkt{-11.8}{0.5} -- \punkt{-0.1}{0.5}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \draw \punkt{4}{-0.1} -- \punkt{4}{-3}; - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{0}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{1}}; -\end{scope} - -\def\summation#1#2#3#4#5#6#7#8{ - \draw[->] \punkt{4}{2.3} -- \punkt{4}{1}; - - \draw[->] \punkt{-11.8}{0.5} -- \punkt{3.5}{0.5}; - - \draw \punkt{4}{0.5} circle[radius=0.2]; - \draw \punkt{4}{0.20} -- \punkt{4}{0.80}; - \draw \punkt{3.7}{0.5} -- \punkt{4.3}{0.5}; - - \draw[->] \punkt{4}{-0.05} -- \punkt{4}{-0.95}; - \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; - } - - \node at \punkt{0.5}{-1.5} {\texttt{#1}}; - \node at \punkt{1.5}{-1.5} {\texttt{#2}}; - \node at \punkt{2.5}{-1.5} {\texttt{#3}}; - \node at \punkt{3.5}{-1.5} {\texttt{#4}}; - \node at \punkt{4.5}{-1.5} {\texttt{#5}}; - \node at \punkt{5.5}{-1.5} {\texttt{#6}}; - \node at \punkt{6.5}{-1.5} {\texttt{#7}}; - \node at \punkt{7.5}{-1.5} {\texttt{#8}}; -} - -\begin{scope}[yshift=-1.9cm] - \summation{1}{0}{0}{1}{0}{1}{0}{1} -\end{scope} - -\begin{scope}[yshift=-3.9cm] - \summation{1}{1}{1}{1}{0}{1}{1}{1} -\end{scope} - -\begin{scope}[yshift=-5.9cm] - \summation{1}{1}{1}{1}{0}{1}{1}{1} -\end{scope} - -\begin{scope}[yshift=-7.9cm] - \summation{0}{1}{1}{0}{0}{1}{0}{0} -\end{scope} - -\begin{scope}[yshift=-9.9cm] - \summation{0}{1}{0}{1}{1}{0}{0}{1} -\end{scope} - -\begin{scope}[yshift=-11.9cm] - \summation{0}{1}{0}{1}{1}{0}{0}{1} -\end{scope} - -\begin{scope}[yshift=-13.9cm] - \summation{0}{0}{1}{1}{0}{1}{1}{0} - \node at \punkt{0}{-1.5} [left] {$p(X)\cdot q(X)=\mathstrut$}; -\end{scope} - -\end{scope} - -\begin{scope}[xshift=5cm] - -\begin{scope}[yshift=2cm] - \node at \punkt{0}{0.5} [left] {$q(X)=\mathstrut$}; - \draw \punkt{0}{0} rectangle \punkt{8}{1}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; - } - \node at \punkt{0.5}{0.5} {\texttt{1}}; - \node at \punkt{1.5}{0.5} {\texttt{0}}; - \node at \punkt{2.5}{0.5} {\texttt{1}}; - \node at \punkt{3.5}{0.5} {\texttt{1}}; - \node at \punkt{4.5}{0.5} {\texttt{0}}; - \node at \punkt{5.5}{0.5} {\texttt{1}}; - \node at \punkt{6.5}{0.5} {\texttt{0}}; - \node at \punkt{7.5}{0.5} {\texttt{1}}; - - \draw[->] \punkt{7.5}{-0.1} -- ({7.5*\s},{-1.3}); - \node at ({7.5*\s},{-1.2}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \def\y{1.2} - - \draw[->] \punkt{6.5}{-0.1} -- ({6.5*\s},{-1*2-\y-0.1}); - \node at ({6.5*\s},{-1*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; - - \draw[->] \punkt{5.5}{-0.1} -- ({5.5*\s},{-2*2-\y-0.1}); - \node at ({5.5*\s},{-2*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \draw[->] \punkt{4.5}{-0.1} -- ({4.5*\s},{-3*2-\y-0.1}); - \node at ({4.5*\s},{-3*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; - - \draw[->] \punkt{3.5}{-0.1} -- ({3.5*\s},{-4*2-\y-0.1}); - \node at ({3.5*\s},{-4*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \draw[->] \punkt{2.5}{-0.1} -- ({2.5*\s},{-5*2-\y-0.1}); - \node at ({2.5*\s},{-5*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; - - \draw[->] \punkt{1.5}{-0.1} -- ({1.5*\s},{-6*2-\y-0.1}); - \node at ({1.5*\s},{-6*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; - - \draw[->] \punkt{0.5}{-0.1} -- ({0.5*\s},{-7*2-\y-0.1}); - \node at ({0.5*\s},{-7*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; -\end{scope} - -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% multiplikation.tex -- +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.45} + +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\def\pfeile{ + \foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-2.1} -- \punkt{(\x-1)}{-3.3}; + } +} + +\begin{scope}[yshift=0.1cm] + \node at \punkt{0}{0.5} [left] {$p(X)=\mathstrut$}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; + \foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.3}; + } +\end{scope} + +\begin{scope}[yshift=-1cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-3cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-5cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{1}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{0}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-7cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{1}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{0}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-9cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-11cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-13cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + +% \pfeile +\end{scope} + +\begin{scope}[xshift=9cm] + +\begin{scope}[yshift=0.1cm] + \draw[->] \punkt{-11.8}{0.5} -- \punkt{-0.1}{0.5}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \draw \punkt{4}{-0.1} -- \punkt{4}{-3}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; +\end{scope} + +\def\summation#1#2#3#4#5#6#7#8{ + \draw[->] \punkt{4}{2.3} -- \punkt{4}{1}; + + \draw[->] \punkt{-11.8}{0.5} -- \punkt{3.5}{0.5}; + + \draw \punkt{4}{0.5} circle[radius=0.2]; + \draw \punkt{4}{0.20} -- \punkt{4}{0.80}; + \draw \punkt{3.7}{0.5} -- \punkt{4.3}{0.5}; + + \draw[->] \punkt{4}{-0.05} -- \punkt{4}{-0.95}; + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + + \node at \punkt{0.5}{-1.5} {\texttt{#1}}; + \node at \punkt{1.5}{-1.5} {\texttt{#2}}; + \node at \punkt{2.5}{-1.5} {\texttt{#3}}; + \node at \punkt{3.5}{-1.5} {\texttt{#4}}; + \node at \punkt{4.5}{-1.5} {\texttt{#5}}; + \node at \punkt{5.5}{-1.5} {\texttt{#6}}; + \node at \punkt{6.5}{-1.5} {\texttt{#7}}; + \node at \punkt{7.5}{-1.5} {\texttt{#8}}; +} + +\begin{scope}[yshift=-1.9cm] + \summation{1}{0}{0}{1}{0}{1}{0}{1} +\end{scope} + +\begin{scope}[yshift=-3.9cm] + \summation{1}{1}{1}{1}{0}{1}{1}{1} +\end{scope} + +\begin{scope}[yshift=-5.9cm] + \summation{1}{1}{1}{1}{0}{1}{1}{1} +\end{scope} + +\begin{scope}[yshift=-7.9cm] + \summation{0}{1}{1}{0}{0}{1}{0}{0} +\end{scope} + +\begin{scope}[yshift=-9.9cm] + \summation{0}{1}{0}{1}{1}{0}{0}{1} +\end{scope} + +\begin{scope}[yshift=-11.9cm] + \summation{0}{1}{0}{1}{1}{0}{0}{1} +\end{scope} + +\begin{scope}[yshift=-13.9cm] + \summation{0}{0}{1}{1}{0}{1}{1}{0} + \node at \punkt{0}{-1.5} [left] {$p(X)\cdot q(X)=\mathstrut$}; +\end{scope} + +\end{scope} + +\begin{scope}[xshift=5cm] + +\begin{scope}[yshift=2cm] + \node at \punkt{0}{0.5} [left] {$q(X)=\mathstrut$}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; + + \draw[->] \punkt{7.5}{-0.1} -- ({7.5*\s},{-1.3}); + \node at ({7.5*\s},{-1.2}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \def\y{1.2} + + \draw[->] \punkt{6.5}{-0.1} -- ({6.5*\s},{-1*2-\y-0.1}); + \node at ({6.5*\s},{-1*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{5.5}{-0.1} -- ({5.5*\s},{-2*2-\y-0.1}); + \node at ({5.5*\s},{-2*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{4.5}{-0.1} -- ({4.5*\s},{-3*2-\y-0.1}); + \node at ({4.5*\s},{-3*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{3.5}{-0.1} -- ({3.5*\s},{-4*2-\y-0.1}); + \node at ({3.5*\s},{-4*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{2.5}{-0.1} -- ({2.5*\s},{-5*2-\y-0.1}); + \node at ({2.5*\s},{-5*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{1.5}{-0.1} -- ({1.5*\s},{-6*2-\y-0.1}); + \node at ({1.5*\s},{-6*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{0.5}{-0.1} -- ({0.5*\s},{-7*2-\y-0.1}); + \node at ({0.5*\s},{-7*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; +\end{scope} + +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/sbox.m b/buch/chapters/90-crypto/images/sbox.m index 973ffc9..1f0c2ce 100644 --- a/buch/chapters/90-crypto/images/sbox.m +++ b/buch/chapters/90-crypto/images/sbox.m @@ -1,52 +1,52 @@ -# -# sbox.m -# -# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -# -A=[ -1,0,0,0,1,1,1,1; -1,1,0,0,0,1,1,1; -1,1,1,0,0,0,1,1; -1,1,1,1,0,0,0,1; -1,1,1,1,1,0,0,0; -0,1,1,1,1,1,0,0; -0,0,1,1,1,1,1,0; -0,0,0,1,1,1,1,1; -] - -R = zeros(8,16); -R(:,1:8) = A; -R(:,9:16) = eye(8); - -for k = (1:5) - for i=(k+1:8) - pivot = R(i,k); - R(i,:) = R(i,:) + pivot * R(k,:); - end - R = mod(R, 2) -end - -P = [ -1,0,0,0,0,0,0,0; -0,1,0,0,0,0,0,0; -0,0,1,0,0,0,0,0; -0,0,0,1,0,0,0,0; -0,0,0,0,1,0,0,0; -0,0,0,0,0,0,0,1; -0,0,0,0,0,1,0,0; -0,0,0,0,0,0,1,0; -] - -R = P * R - -for k = (8:-1:2) - for i = (1:k-1) - pivot = R(i,k); - R(i,:) = R(i,:) + pivot * R(k,:); - end - R = mod(R, 2) -end - -B = R(:,9:16) - -A * B +# +# sbox.m +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +A=[ +1,0,0,0,1,1,1,1; +1,1,0,0,0,1,1,1; +1,1,1,0,0,0,1,1; +1,1,1,1,0,0,0,1; +1,1,1,1,1,0,0,0; +0,1,1,1,1,1,0,0; +0,0,1,1,1,1,1,0; +0,0,0,1,1,1,1,1; +] + +R = zeros(8,16); +R(:,1:8) = A; +R(:,9:16) = eye(8); + +for k = (1:5) + for i=(k+1:8) + pivot = R(i,k); + R(i,:) = R(i,:) + pivot * R(k,:); + end + R = mod(R, 2) +end + +P = [ +1,0,0,0,0,0,0,0; +0,1,0,0,0,0,0,0; +0,0,1,0,0,0,0,0; +0,0,0,1,0,0,0,0; +0,0,0,0,1,0,0,0; +0,0,0,0,0,0,0,1; +0,0,0,0,0,1,0,0; +0,0,0,0,0,0,1,0; +] + +R = P * R + +for k = (8:-1:2) + for i = (1:k-1) + pivot = R(i,k); + R(i,:) = R(i,:) + pivot * R(k,:); + end + R = mod(R, 2) +end + +B = R(:,9:16) + +A * B diff --git a/buch/chapters/90-crypto/images/sbox.tex b/buch/chapters/90-crypto/images/sbox.tex index 41f8812..fefb823 100644 --- a/buch/chapters/90-crypto/images/sbox.tex +++ b/buch/chapters/90-crypto/images/sbox.tex @@ -1,241 +1,241 @@ -% -% sbox.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\def\s{0.2} -\def\punkt#1#2{({#1*\s},{(8-(#2))*\s})} - -\definecolor{b}{rgb}{0,0,0} -\definecolor{w}{rgb}{1,1,1} - -\def\feld#1#2#3{ - \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2-1)}; -} - -\def\zeile#1#2#3#4#5#6#7#8#9{ - \feld{0}{#1}{#2} - \feld{1}{#1}{#3} - \feld{2}{#1}{#4} - \feld{3}{#1}{#5} - \feld{4}{#1}{#6} - \feld{5}{#1}{#7} - \feld{6}{#1}{#8} - \feld{7}{#1}{#9} -} -\def\inverse#1#2#3#4#5#6#7#8#9{ - \feld{8}{#1}{#2} - \feld{9}{#1}{#3} - \feld{10}{#1}{#4} - \feld{11}{#1}{#5} - \feld{12}{#1}{#6} - \feld{13}{#1}{#7} - \feld{14}{#1}{#8} - \feld{15}{#1}{#9} -} -\def\rechteck{ - \draw (0,{1*\s}) rectangle ({16*\s},{(8+1)*\s}); - \draw ({8*\s},{1*\s}) -- ({8*\s},{(8+1)*\s}); -} - -\def\pivot#1#2{ - \draw[color=red,line width=1.2pt] - \punkt{(#1+\inset)}{(#2-\inset)} - rectangle - \punkt{(#1+1-\inset)}{(#2-1+\inset)}; -} -\def\inset{0.1} -\def\cleanup#1#2#3{ - \pgfmathparse{(#3-#2)/abs(#3-#2)} - \xdef\signum{\pgfmathresult} - \draw[color=blue!50,line width=1.2pt] - \punkt{(#1+\inset)}{#3} - -- - \punkt{(#1+\inset)}{(#2-1+\inset*\signum)} - -- - \punkt{(#1+1-\inset)}{(#2-1+\inset*\signum)} - -- - \punkt{(#1+1-\inset)}{#3} - ; -} - -\begin{scope} - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1bbwwwbbb \inverse1wbwwwwww - \zeile2bbbwwwbb \inverse2wwbwwwww - \zeile3bbbbwwwb \inverse3wwwbwwww - \zeile4bbbbbwww \inverse4wwwwbwww - \zeile5wbbbbbww \inverse5wwwwwbww - \zeile6wwbbbbbw \inverse6wwwwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{0}{0} - \cleanup{0}{1}{7} -\end{scope} - -\begin{scope}[xshift=4cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wbbwbbww \inverse2bwbwwwww - \zeile3wbbbbbbw \inverse3bwwbwwww - \zeile4wbbbwbbb \inverse4bwwwbwww - \zeile5wbbbbbww \inverse5wwwwwbww - \zeile6wwbbbbbw \inverse6wwwwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{1}{1} - \cleanup{1}{2}{7} -\end{scope} - -\begin{scope}[xshift=8cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwbbwbbw \inverse3wbwbwwww - \zeile4wwbbbbbb \inverse4wbwwbwww - \zeile5wwbbwbww \inverse5bbwwwbww - \zeile6wwbbbbbw \inverse6wwwwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{2}{2} - \cleanup{2}{3}{7} -\end{scope} - -\begin{scope}[xshift=12cm,yshift=0cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwbbwbb \inverse4wwbwbwww - \zeile5wwwbwwww \inverse5bwbwwbww - \zeile6wwwbbwbw \inverse6wbbwwwbw - \zeile7wwwbbbbb \inverse7wwwwwwwb - \rechteck - \pivot{3}{3} - \cleanup{3}{4}{7} - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{8}{7} -- \punkt{8}{11}; -\end{scope} - -\begin{scope}[xshift=12cm,yshift=-2.4cm] - \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwwb \inverse4wwwbbwww - \zeile5wwwwwwbw \inverse5bwwbwbww - \zeile6wwwwbwww \inverse6wbwbwwbw - \zeile7wwwwbbwb \inverse7wwbbwwwb - \rechteck - \pivot{4}{4} - \cleanup{4}{5}{7} -\end{scope} - -\begin{scope}[xshift=8cm,yshift=-2.4cm] - \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwwb \inverse4wwwbbwww - \zeile5wwwwwwbw \inverse5bwwbwbww - \zeile6wwwwwwwb \inverse6wbwwbwbw - \zeile7wwwwwbww \inverse7wwbwbwwb - \rechteck -\end{scope} - -\begin{scope}[xshift=4cm,yshift=-2.4cm] - \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbbbb \inverse0bwwwwwww - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwwb \inverse4wwwbbwww - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{7}{7}{-1} -\end{scope} - -\begin{scope}[xshift=0cm,yshift=-2.4cm] - \zeile0bwwwbbbw \inverse0bbwwbwbw - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwbw \inverse3wwbbwwww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{6}{6}{-1} - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{8}{7} -- \punkt{8}{11}; -\end{scope} - -\begin{scope}[xshift=0cm,yshift=-4.8cm] - \zeile0bwwwbbww \inverse0wbwbbbbw - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwbww \inverse2wbbwwwww - \zeile3wwwbwwww \inverse3bwbwwbww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{5}{5}{-1} -\end{scope} - -\begin{scope}[xshift=4cm,yshift=-4.8cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwbwww \inverse0wbbbwbbb - \zeile1wbwwbwww \inverse1bbwwwwww - \zeile2wwbwwwww \inverse2wbwwbwwb - \zeile3wwwbwwww \inverse3bwbwwbww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck - \cleanup{4}{4}{-1} -\end{scope} - -\begin{scope}[xshift=8cm,yshift=-4.8cm] - \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] - \punkt{-4}{3} -- \punkt{0}{3}; - \zeile0bwwwwwww \inverse0wwbwwbwb - \zeile1wbwwwwww \inverse1bwwbwwbw - \zeile2wwbwwwww \inverse2wbwwbwwb - \zeile3wwwbwwww \inverse3bwbwwbww - \zeile4wwwwbwww \inverse4wbwbwwbw - \zeile5wwwwwbww \inverse5wwbwbwwb - \zeile6wwwwwwbw \inverse6bwwbwbww - \zeile7wwwwwwwb \inverse7wbwwbwbw - \rechteck -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% sbox.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\s{0.2} +\def\punkt#1#2{({#1*\s},{(8-(#2))*\s})} + +\definecolor{b}{rgb}{0,0,0} +\definecolor{w}{rgb}{1,1,1} + +\def\feld#1#2#3{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2-1)}; +} + +\def\zeile#1#2#3#4#5#6#7#8#9{ + \feld{0}{#1}{#2} + \feld{1}{#1}{#3} + \feld{2}{#1}{#4} + \feld{3}{#1}{#5} + \feld{4}{#1}{#6} + \feld{5}{#1}{#7} + \feld{6}{#1}{#8} + \feld{7}{#1}{#9} +} +\def\inverse#1#2#3#4#5#6#7#8#9{ + \feld{8}{#1}{#2} + \feld{9}{#1}{#3} + \feld{10}{#1}{#4} + \feld{11}{#1}{#5} + \feld{12}{#1}{#6} + \feld{13}{#1}{#7} + \feld{14}{#1}{#8} + \feld{15}{#1}{#9} +} +\def\rechteck{ + \draw (0,{1*\s}) rectangle ({16*\s},{(8+1)*\s}); + \draw ({8*\s},{1*\s}) -- ({8*\s},{(8+1)*\s}); +} + +\def\pivot#1#2{ + \draw[color=red,line width=1.2pt] + \punkt{(#1+\inset)}{(#2-\inset)} + rectangle + \punkt{(#1+1-\inset)}{(#2-1+\inset)}; +} +\def\inset{0.1} +\def\cleanup#1#2#3{ + \pgfmathparse{(#3-#2)/abs(#3-#2)} + \xdef\signum{\pgfmathresult} + \draw[color=blue!50,line width=1.2pt] + \punkt{(#1+\inset)}{#3} + -- + \punkt{(#1+\inset)}{(#2-1+\inset*\signum)} + -- + \punkt{(#1+1-\inset)}{(#2-1+\inset*\signum)} + -- + \punkt{(#1+1-\inset)}{#3} + ; +} + +\begin{scope} + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1bbwwwbbb \inverse1wbwwwwww + \zeile2bbbwwwbb \inverse2wwbwwwww + \zeile3bbbbwwwb \inverse3wwwbwwww + \zeile4bbbbbwww \inverse4wwwwbwww + \zeile5wbbbbbww \inverse5wwwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{0}{0} + \cleanup{0}{1}{7} +\end{scope} + +\begin{scope}[xshift=4cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wbbwbbww \inverse2bwbwwwww + \zeile3wbbbbbbw \inverse3bwwbwwww + \zeile4wbbbwbbb \inverse4bwwwbwww + \zeile5wbbbbbww \inverse5wwwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{1}{1} + \cleanup{1}{2}{7} +\end{scope} + +\begin{scope}[xshift=8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwbbwbbw \inverse3wbwbwwww + \zeile4wwbbbbbb \inverse4wbwwbwww + \zeile5wwbbwbww \inverse5bbwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{2}{2} + \cleanup{2}{3}{7} +\end{scope} + +\begin{scope}[xshift=12cm,yshift=0cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwbbwbb \inverse4wwbwbwww + \zeile5wwwbwwww \inverse5bwbwwbww + \zeile6wwwbbwbw \inverse6wbbwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{3}{3} + \cleanup{3}{4}{7} + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{8}{7} -- \punkt{8}{11}; +\end{scope} + +\begin{scope}[xshift=12cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwwbw \inverse5bwwbwbww + \zeile6wwwwbwww \inverse6wbwbwwbw + \zeile7wwwwbbwb \inverse7wwbbwwwb + \rechteck + \pivot{4}{4} + \cleanup{4}{5}{7} +\end{scope} + +\begin{scope}[xshift=8cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwwbw \inverse5bwwbwbww + \zeile6wwwwwwwb \inverse6wbwwbwbw + \zeile7wwwwwbww \inverse7wwbwbwwb + \rechteck +\end{scope} + +\begin{scope}[xshift=4cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{7}{7}{-1} +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-2.4cm] + \zeile0bwwwbbbw \inverse0bbwwbwbw + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{6}{6}{-1} + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{8}{7} -- \punkt{8}{11}; +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-4.8cm] + \zeile0bwwwbbww \inverse0wbwbbbbw + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{5}{5}{-1} +\end{scope} + +\begin{scope}[xshift=4cm,yshift=-4.8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbwww \inverse0wbbbwbbb + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwwww \inverse2wbwwbwwb + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{4}{4}{-1} +\end{scope} + +\begin{scope}[xshift=8cm,yshift=-4.8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwwwww \inverse0wwbwwbwb + \zeile1wbwwwwww \inverse1bwwbwwbw + \zeile2wwbwwwww \inverse2wbwwbwwb + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/schieberegister.tex b/buch/chapters/90-crypto/images/schieberegister.tex index 7c24e52..49302ac 100644 --- a/buch/chapters/90-crypto/images/schieberegister.tex +++ b/buch/chapters/90-crypto/images/schieberegister.tex @@ -1,120 +1,120 @@ -% -% schieberegister.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\def\s{0.8} - -\def\punkt#1#2{({#1*\s},{#2*\s})} - -\fill[color=blue!20] \punkt{0}{0} rectangle \punkt{8}{1}; - -\node at \punkt{0.5}{1} [above] {$X^7\mathstrut$}; -\node at \punkt{3}{1} [above] {$+\mathstrut$}; -\node at \punkt{3.5}{1} [above] {$X^4\mathstrut$}; -\node at \punkt{5}{1} [above] {$+\mathstrut$}; -\node at \punkt{5.5}{1} [above] {$X^2\mathstrut$}; -\node at \punkt{7}{1} [above] {$+\mathstrut$}; -\node at \punkt{7.5}{1} [above] {$1\mathstrut$}; - -\node at \punkt{0}{1} [above left] {\llap{$p(X)=\mathstrut$}}; - -\node at \punkt{0.5}{0.5} {\texttt{1}}; -\node at \punkt{1.5}{0.5} {\texttt{0}}; -\node at \punkt{2.5}{0.5} {\texttt{0}}; -\node at \punkt{3.5}{0.5} {\texttt{1}}; -\node at \punkt{4.5}{0.5} {\texttt{0}}; -\node at \punkt{5.5}{0.5} {\texttt{1}}; -\node at \punkt{6.5}{0.5} {\texttt{0}}; -\node at \punkt{7.5}{0.5} {\texttt{1}}; - -\draw \punkt{0}{0} rectangle \punkt{8}{1}; -\foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{1}; -} - -\fill[color=blue!20] \punkt{-1}{-3} rectangle \punkt{7}{-2}; -\fill[color=darkgreen!20] \punkt{0}{-4} rectangle \punkt{8}{-3}; - -\node[color=darkgreen] at \punkt{-1}{-1.5} [left] - {$m(X) = X^8+X^4+X^3+X+1$}; - -\node[color=darkgreen] at \punkt{-1}{-2.7} [left] - {$\underbrace{X^4+X^3+X+1}_{}= X^8=\mathstrut$}; - -\coordinate (A) at ({-4.15*\s},{-3*\s}); -\coordinate (B) at ({0*\s},{-3.5*\s}); - -\draw[->,color=red,shorten >= 0.1cm] (A) to[out=-90,in=180] (B); -\node[color=red] at \punkt{-3.1}{-3.8} [below] {Feedback}; - -\node at \punkt{-0.5}{-2.5} {\texttt{1}}; -\node at \punkt{0.5}{-2.5} {\texttt{0}}; -\node at \punkt{1.5}{-2.5} {\texttt{0}}; -\node at \punkt{2.5}{-2.5} {\texttt{1}}; -\node at \punkt{3.5}{-2.5} {\texttt{0}}; -\node at \punkt{4.5}{-2.5} {\texttt{1}}; -\node at \punkt{5.5}{-2.5} {\texttt{0}}; -\node at \punkt{6.5}{-2.5} {\texttt{1}}; -\node at \punkt{7.5}{-2.5} {\texttt{0}}; - -\node[color=darkgreen] at \punkt{0.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{1.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{2.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{3.5}{-3.5} {\texttt{1}}; -\node[color=darkgreen] at \punkt{4.5}{-3.5} {\texttt{1}}; -\node[color=darkgreen] at \punkt{5.5}{-3.5} {\texttt{0}}; -\node[color=darkgreen] at \punkt{6.5}{-3.5} {\texttt{1}}; -\node[color=darkgreen] at \punkt{7.5}{-3.5} {\texttt{1}}; - -\draw \punkt{0}{-4} rectangle \punkt{8}{-2}; -\draw \punkt{0}{-3} -- \punkt{8}{-3}; -\foreach \x in {1,...,7}{ - \draw \punkt{\x}{-4} -- \punkt{\x}{-2}; -} - -\foreach \x in {0.5,1.5,...,7.5}{ - \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.9}; -} - -\draw \punkt{0}{-6} rectangle \punkt{8}{-5}; -\foreach \x in {1,...,7}{ - \draw \punkt{\x}{-6} -- \punkt{\x}{-5}; -} - -\node at \punkt{0.5}{-5.5} {\texttt{0}}; -\node at \punkt{1.5}{-5.5} {\texttt{0}}; -\node at \punkt{2.5}{-5.5} {\texttt{1}}; -\node at \punkt{3.5}{-5.5} {\texttt{1}}; -\node at \punkt{4.5}{-5.5} {\texttt{0}}; -\node at \punkt{5.5}{-5.5} {\texttt{0}}; -\node at \punkt{6.5}{-5.5} {\texttt{0}}; -\node at \punkt{7.5}{-5.5} {\texttt{1}}; - -\node at \punkt{4}{-4.5} {$\|$}; - -\node at \punkt{10.3}{-3} [left] - {$\left.\begin{matrix}\\ \\ \\ \end{matrix}\right\} + = \text{XOR}$}; - -\draw[<-,shorten >= 0.1cm, shorten <= 0.1cm] - \punkt{8.0}{-2.0} arc (-30:30:{2.0*\s}); -\node at \punkt{8.3}{-1} [right] {$\mathstrut \cdot X$}; - -\node at \punkt{8.1}{-5.5} [right] {$=X\cdot p(X)\mathstrut$}; - -\end{tikzpicture} -\end{document} - +% +% schieberegister.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.8} + +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\fill[color=blue!20] \punkt{0}{0} rectangle \punkt{8}{1}; + +\node at \punkt{0.5}{1} [above] {$X^7\mathstrut$}; +\node at \punkt{3}{1} [above] {$+\mathstrut$}; +\node at \punkt{3.5}{1} [above] {$X^4\mathstrut$}; +\node at \punkt{5}{1} [above] {$+\mathstrut$}; +\node at \punkt{5.5}{1} [above] {$X^2\mathstrut$}; +\node at \punkt{7}{1} [above] {$+\mathstrut$}; +\node at \punkt{7.5}{1} [above] {$1\mathstrut$}; + +\node at \punkt{0}{1} [above left] {\llap{$p(X)=\mathstrut$}}; + +\node at \punkt{0.5}{0.5} {\texttt{1}}; +\node at \punkt{1.5}{0.5} {\texttt{0}}; +\node at \punkt{2.5}{0.5} {\texttt{0}}; +\node at \punkt{3.5}{0.5} {\texttt{1}}; +\node at \punkt{4.5}{0.5} {\texttt{0}}; +\node at \punkt{5.5}{0.5} {\texttt{1}}; +\node at \punkt{6.5}{0.5} {\texttt{0}}; +\node at \punkt{7.5}{0.5} {\texttt{1}}; + +\draw \punkt{0}{0} rectangle \punkt{8}{1}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; +} + +\fill[color=blue!20] \punkt{-1}{-3} rectangle \punkt{7}{-2}; +\fill[color=darkgreen!20] \punkt{0}{-4} rectangle \punkt{8}{-3}; + +\node[color=darkgreen] at \punkt{-1}{-1.5} [left] + {$m(X) = X^8+X^4+X^3+X+1$}; + +\node[color=darkgreen] at \punkt{-1}{-2.7} [left] + {$\underbrace{X^4+X^3+X+1}_{}= X^8=\mathstrut$}; + +\coordinate (A) at ({-4.15*\s},{-3*\s}); +\coordinate (B) at ({0*\s},{-3.5*\s}); + +\draw[->,color=red,shorten >= 0.1cm] (A) to[out=-90,in=180] (B); +\node[color=red] at \punkt{-3.1}{-3.8} [below] {Feedback}; + +\node at \punkt{-0.5}{-2.5} {\texttt{1}}; +\node at \punkt{0.5}{-2.5} {\texttt{0}}; +\node at \punkt{1.5}{-2.5} {\texttt{0}}; +\node at \punkt{2.5}{-2.5} {\texttt{1}}; +\node at \punkt{3.5}{-2.5} {\texttt{0}}; +\node at \punkt{4.5}{-2.5} {\texttt{1}}; +\node at \punkt{5.5}{-2.5} {\texttt{0}}; +\node at \punkt{6.5}{-2.5} {\texttt{1}}; +\node at \punkt{7.5}{-2.5} {\texttt{0}}; + +\node[color=darkgreen] at \punkt{0.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{1.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{2.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{3.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{4.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{5.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{6.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{7.5}{-3.5} {\texttt{1}}; + +\draw \punkt{0}{-4} rectangle \punkt{8}{-2}; +\draw \punkt{0}{-3} -- \punkt{8}{-3}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{-4} -- \punkt{\x}{-2}; +} + +\foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.9}; +} + +\draw \punkt{0}{-6} rectangle \punkt{8}{-5}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{-6} -- \punkt{\x}{-5}; +} + +\node at \punkt{0.5}{-5.5} {\texttt{0}}; +\node at \punkt{1.5}{-5.5} {\texttt{0}}; +\node at \punkt{2.5}{-5.5} {\texttt{1}}; +\node at \punkt{3.5}{-5.5} {\texttt{1}}; +\node at \punkt{4.5}{-5.5} {\texttt{0}}; +\node at \punkt{5.5}{-5.5} {\texttt{0}}; +\node at \punkt{6.5}{-5.5} {\texttt{0}}; +\node at \punkt{7.5}{-5.5} {\texttt{1}}; + +\node at \punkt{4}{-4.5} {$\|$}; + +\node at \punkt{10.3}{-3} [left] + {$\left.\begin{matrix}\\ \\ \\ \end{matrix}\right\} + = \text{XOR}$}; + +\draw[<-,shorten >= 0.1cm, shorten <= 0.1cm] + \punkt{8.0}{-2.0} arc (-30:30:{2.0*\s}); +\node at \punkt{8.3}{-1} [right] {$\mathstrut \cdot X$}; + +\node at \punkt{8.1}{-5.5} [right] {$=X\cdot p(X)\mathstrut$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/shift.tex b/buch/chapters/90-crypto/images/shift.tex index bcdf819..af225a7 100644 --- a/buch/chapters/90-crypto/images/shift.tex +++ b/buch/chapters/90-crypto/images/shift.tex @@ -1,131 +1,131 @@ -% -% shift.tex -- template for standalon tikz images -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{darkgreen}{rgb}{0,0.6,0} - -\def\s{0.8} -\def\punkt#1#2{({#1*\s},{#2*\s})} - -\def\feld#1#2#3#4{ - \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+1)}; - \node at \punkt{(#1+0.5)}{(#2+0.5)} {$\mathstrut #4$}; -} -\def\gitter{ - \draw \punkt{0}{0} rectangle \punkt{8}{4}; - \foreach \x in {1,...,7}{ - \draw \punkt{\x}{0} -- \punkt{\x}{4}; - } - \foreach \y in {1,...,3}{ - \draw \punkt{0}{\y} -- \punkt{8}{\y}; - } -} - -\begin{scope} - \feld{0}{3}{red!20}{b_{0}} - \feld{0}{2}{red!20}{b_{1}} - \feld{0}{1}{red!20}{b_{2}} - \feld{0}{0}{red!20}{b_{3}} - - \feld{1}{3}{red!10}{b_{4}} - \feld{1}{2}{red!10}{b_{5}} - \feld{1}{1}{red!10}{b_{6}} - \feld{1}{0}{red!10}{b_{7}} - - \feld{2}{3}{yellow!20}{b_{8}} - \feld{2}{2}{yellow!20}{b_{9}} - \feld{2}{1}{yellow!20}{b_{10}} - \feld{2}{0}{yellow!20}{b_{11}} - - \feld{3}{3}{yellow!10}{b_{12}} - \feld{3}{2}{yellow!10}{b_{13}} - \feld{3}{1}{yellow!10}{b_{14}} - \feld{3}{0}{yellow!10}{b_{15}} - - \feld{4}{3}{darkgreen!20}{b_{16}} - \feld{4}{2}{darkgreen!20}{b_{17}} - \feld{4}{1}{darkgreen!20}{b_{18}} - \feld{4}{0}{darkgreen!20}{b_{19}} - - \feld{5}{3}{darkgreen!10}{b_{20}} - \feld{5}{2}{darkgreen!10}{b_{21}} - \feld{5}{1}{darkgreen!10}{b_{22}} - \feld{5}{0}{darkgreen!10}{b_{23}} - - \feld{6}{3}{blue!20}{b_{24}} - \feld{6}{2}{blue!20}{b_{25}} - \feld{6}{1}{blue!20}{b_{26}} - \feld{6}{0}{blue!20}{b_{27}} - - \feld{7}{3}{blue!10}{b_{28}} - \feld{7}{2}{blue!10}{b_{29}} - \feld{7}{1}{blue!10}{b_{30}} - \feld{7}{0}{blue!10}{b_{31}} - - \gitter - - \draw[->] \punkt{8.1}{2} -- \punkt{9.3}{2}; -\end{scope} - - -\begin{scope}[xshift=7.5cm] - - \feld{0}{3}{red!20}{b_{0}} - \feld{1}{2}{red!20}{b_{1}} - \feld{2}{1}{red!20}{b_{2}} - \feld{3}{0}{red!20}{b_{3}} - - \feld{1}{3}{red!10}{b_{4}} - \feld{2}{2}{red!10}{b_{5}} - \feld{3}{1}{red!10}{b_{6}} - \feld{4}{0}{red!10}{b_{7}} - - \feld{2}{3}{yellow!20}{b_{8}} - \feld{3}{2}{yellow!20}{b_{9}} - \feld{4}{1}{yellow!20}{b_{10}} - \feld{5}{0}{yellow!20}{b_{11}} - - \feld{3}{3}{yellow!10}{b_{12}} - \feld{4}{2}{yellow!10}{b_{13}} - \feld{5}{1}{yellow!10}{b_{14}} - \feld{6}{0}{yellow!10}{b_{15}} - - \feld{4}{3}{darkgreen!20}{b_{16}} - \feld{5}{2}{darkgreen!20}{b_{17}} - \feld{6}{1}{darkgreen!20}{b_{18}} - \feld{7}{0}{darkgreen!20}{b_{19}} - - \feld{5}{3}{darkgreen!10}{b_{20}} - \feld{6}{2}{darkgreen!10}{b_{21}} - \feld{7}{1}{darkgreen!10}{b_{22}} - \feld{0}{0}{darkgreen!10}{b_{23}} - - \feld{6}{3}{blue!20}{b_{24}} - \feld{7}{2}{blue!20}{b_{25}} - \feld{0}{1}{blue!20}{b_{26}} - \feld{1}{0}{blue!20}{b_{27}} - - \feld{7}{3}{blue!10}{b_{28}} - \feld{0}{2}{blue!10}{b_{29}} - \feld{1}{1}{blue!10}{b_{30}} - \feld{2}{0}{blue!10}{b_{31}} - - \gitter - -\end{scope} - -\end{tikzpicture} -\end{document} - +% +% shift.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.8} +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\def\feld#1#2#3#4{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+1)}; + \node at \punkt{(#1+0.5)}{(#2+0.5)} {$\mathstrut #4$}; +} +\def\gitter{ + \draw \punkt{0}{0} rectangle \punkt{8}{4}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{4}; + } + \foreach \y in {1,...,3}{ + \draw \punkt{0}{\y} -- \punkt{8}{\y}; + } +} + +\begin{scope} + \feld{0}{3}{red!20}{b_{0}} + \feld{0}{2}{red!20}{b_{1}} + \feld{0}{1}{red!20}{b_{2}} + \feld{0}{0}{red!20}{b_{3}} + + \feld{1}{3}{red!10}{b_{4}} + \feld{1}{2}{red!10}{b_{5}} + \feld{1}{1}{red!10}{b_{6}} + \feld{1}{0}{red!10}{b_{7}} + + \feld{2}{3}{yellow!20}{b_{8}} + \feld{2}{2}{yellow!20}{b_{9}} + \feld{2}{1}{yellow!20}{b_{10}} + \feld{2}{0}{yellow!20}{b_{11}} + + \feld{3}{3}{yellow!10}{b_{12}} + \feld{3}{2}{yellow!10}{b_{13}} + \feld{3}{1}{yellow!10}{b_{14}} + \feld{3}{0}{yellow!10}{b_{15}} + + \feld{4}{3}{darkgreen!20}{b_{16}} + \feld{4}{2}{darkgreen!20}{b_{17}} + \feld{4}{1}{darkgreen!20}{b_{18}} + \feld{4}{0}{darkgreen!20}{b_{19}} + + \feld{5}{3}{darkgreen!10}{b_{20}} + \feld{5}{2}{darkgreen!10}{b_{21}} + \feld{5}{1}{darkgreen!10}{b_{22}} + \feld{5}{0}{darkgreen!10}{b_{23}} + + \feld{6}{3}{blue!20}{b_{24}} + \feld{6}{2}{blue!20}{b_{25}} + \feld{6}{1}{blue!20}{b_{26}} + \feld{6}{0}{blue!20}{b_{27}} + + \feld{7}{3}{blue!10}{b_{28}} + \feld{7}{2}{blue!10}{b_{29}} + \feld{7}{1}{blue!10}{b_{30}} + \feld{7}{0}{blue!10}{b_{31}} + + \gitter + + \draw[->] \punkt{8.1}{2} -- \punkt{9.3}{2}; +\end{scope} + + +\begin{scope}[xshift=7.5cm] + + \feld{0}{3}{red!20}{b_{0}} + \feld{1}{2}{red!20}{b_{1}} + \feld{2}{1}{red!20}{b_{2}} + \feld{3}{0}{red!20}{b_{3}} + + \feld{1}{3}{red!10}{b_{4}} + \feld{2}{2}{red!10}{b_{5}} + \feld{3}{1}{red!10}{b_{6}} + \feld{4}{0}{red!10}{b_{7}} + + \feld{2}{3}{yellow!20}{b_{8}} + \feld{3}{2}{yellow!20}{b_{9}} + \feld{4}{1}{yellow!20}{b_{10}} + \feld{5}{0}{yellow!20}{b_{11}} + + \feld{3}{3}{yellow!10}{b_{12}} + \feld{4}{2}{yellow!10}{b_{13}} + \feld{5}{1}{yellow!10}{b_{14}} + \feld{6}{0}{yellow!10}{b_{15}} + + \feld{4}{3}{darkgreen!20}{b_{16}} + \feld{5}{2}{darkgreen!20}{b_{17}} + \feld{6}{1}{darkgreen!20}{b_{18}} + \feld{7}{0}{darkgreen!20}{b_{19}} + + \feld{5}{3}{darkgreen!10}{b_{20}} + \feld{6}{2}{darkgreen!10}{b_{21}} + \feld{7}{1}{darkgreen!10}{b_{22}} + \feld{0}{0}{darkgreen!10}{b_{23}} + + \feld{6}{3}{blue!20}{b_{24}} + \feld{7}{2}{blue!20}{b_{25}} + \feld{0}{1}{blue!20}{b_{26}} + \feld{1}{0}{blue!20}{b_{27}} + + \feld{7}{3}{blue!10}{b_{28}} + \feld{0}{2}{blue!10}{b_{29}} + \feld{1}{1}{blue!10}{b_{30}} + \feld{2}{0}{blue!10}{b_{31}} + + \gitter + +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/uebungsaufgaben/9001.tex b/buch/chapters/90-crypto/uebungsaufgaben/9001.tex index 7ed1e57..9cda25e 100644 --- a/buch/chapters/90-crypto/uebungsaufgaben/9001.tex +++ b/buch/chapters/90-crypto/uebungsaufgaben/9001.tex @@ -1,31 +1,31 @@ -$A$ und $B$ einigen sich darauf, das Diffie-Hellman-Verfahren für -$p=2027$ durchzuführen und mit $g=3$ zu arbeiten. -$A$ verwenden $a=49$ als privaten Schlüssel und erhält von $B$ -den öffentlichen Schlüssel $y=1772$. -Welchen gemeinsamen Schlüssel verwenden $A$ und $B$? - -\begin{loesung} -Der zu verwendende gemeinsame Schlüssel ist -$g^{ab}=(g^b)^a = y^a\in\mathbb{F}_{2027}$. -Diese Potenz kann man mit dem Divide-and-Conquer-Algorithmus effizient -berechnen. -Die Binärdarstellung des privaten Schlüssels von $A$ ist -$a=49_{10}=\texttt{110001}_2$. -Der Algorithmus verläuft wie folgt: -\begin{center} -\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} -\hline -i&g^{2^i}&a_i& x\\ -\hline -0& 3& 1& 3\\ -1& 9& 0& 3\\ -2& 81& 0& 3\\ -3& 480& 0& 3\\ -4& 1349& 1& 2020\\ -5& 1582& 1& 1088\\ -\hline -\end{tabular} -\end{center} -Der gemeinsame Schlüssel ist daher $s=1088$. -\end{loesung} - +$A$ und $B$ einigen sich darauf, das Diffie-Hellman-Verfahren für +$p=2027$ durchzuführen und mit $g=3$ zu arbeiten. +$A$ verwenden $a=49$ als privaten Schlüssel und erhält von $B$ +den öffentlichen Schlüssel $y=1772$. +Welchen gemeinsamen Schlüssel verwenden $A$ und $B$? + +\begin{loesung} +Der zu verwendende gemeinsame Schlüssel ist +$g^{ab}=(g^b)^a = y^a\in\mathbb{F}_{2027}$. +Diese Potenz kann man mit dem Divide-and-Conquer-Algorithmus effizient +berechnen. +Die Binärdarstellung des privaten Schlüssels von $A$ ist +$a=49_{10}=\texttt{110001}_2$. +Der Algorithmus verläuft wie folgt: +\begin{center} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} +\hline +i&g^{2^i}&a_i& x\\ +\hline +0& 3& 1& 3\\ +1& 9& 0& 3\\ +2& 81& 0& 3\\ +3& 480& 0& 3\\ +4& 1349& 1& 2020\\ +5& 1582& 1& 1088\\ +\hline +\end{tabular} +\end{center} +Der gemeinsame Schlüssel ist daher $s=1088$. +\end{loesung} + diff --git a/buch/chapters/references.bib b/buch/chapters/references.bib index a4579e7..dc95e7e 100644 --- a/buch/chapters/references.bib +++ b/buch/chapters/references.bib @@ -1,135 +1,135 @@ -% -% references.bib -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% - -@article{BRIN1998107, -title = "The anatomy of a large-scale hypertextual Web search engine", -journal = "Computer Networks and ISDN Systems", -volume = "30", -number = "1", -pages = "107 - 117", -year = "1998", -note = "Proceedings of the Seventh International World Wide Web Conference", -issn = "0169-7552", -doi = "https://doi.org/10.1016/S0169-7552(98)00110-X", -url = "http://www.sciencedirect.com/science/article/pii/S016975529800110X", -author = "Sergey Brin and Lawrence Page", -keywords = "World Wide Web, Search engines, Information retrieval, PageRank, Google", -abstract = "In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems. The prototype with a full text and hyperlink database of at least 24 million pages is available at http://google.stanford.edu/ To engineer a search engine is a challenging task. Search engines index tens to hundreds of millions of Web pages involving a comparable number of distinct terms. They answer tens of millions of queries every day. Despite the importance of large-scale search engines on the Web, very little academic research has been done on them. Furthermore, due to rapid advance in technology and Web proliferation, creating a Web search engine today is very different from three years ago. This paper provides an in-depth description of our large-scale Web search engine — the first such detailed public description we know of to date. Apart from the problems of scaling traditional search techniques to data of this magnitude, there are new technical challenges involved with using the additional information present in hypertext to produce better search results. This paper addresses this question of how to build a practical large-scale system which can exploit the additional information present in hypertext. Also we look at the problem of how to effectively deal with uncontrolled hypertext collections where anyone can publish anything they want." -} - - -@book{buch:mathsem-dgl, - title = {Mathematisches Seminar Differentialgleichungen}, - author = { Andreas M"uller and others }, - year = {2016}, -} - -@online{buch:fftw, - title = {Fastest Fourier Transform in the West}, - url = {http://www.fftw.org/}, - DAY = {23}, - MONTH = {july}, - YEAR = 2018 -} - -@online{buch:repo, - subtitle = {Source Code Repository}, - author = {Andreas Müller}, - url = {https://github.com/AndreasFMueller/SeminarNumerik.git}, - DAY = 6, - MONTH = {february}, - YEAR = 2020 -} - -@book{buch:henrici, - author = {Peter Henrici}, - title = {Essentials of numerical analysis}, - subtitle = {With pocket calculator demonstrations}, - year = 1982, - publisher = {John Wiley and Sons, Inc.}, - isbn = {0-471-05904-8} -} - -@online{buch:tartaglia, - title = {Niccolò Tartaglia}, - url = {https://de.wikipedia.org/wiki/Niccolò_Tartaglia}, - date = {2020-02-06}, - year = {2020}, - month = {2}, - day = {6} -} - -@online{buch:kahan-summation, - title = {Kahan summation algorithm}, - url = {https://en.wikipedia.org/wiki/Kahan_summation_algorithm}, - date = {2020-02-29}, - year = {2020}, - month = {2}, - day = {29} -} - -@book{buch:watkins, - title = {Fundamentals of Matrix Computations}, - author = {David S. Watkins}, - year = 2010, - publisher = {John Wiley and Sons, Inc.}, - edition = {3} -} - -@online{buch:lissajous, - title = {Makeing Shapes with PSLab Oscilloscope}, - author = {CloudyPadmal}, - url = {https://blog.fossasia.org/making-shapes-with-pslab-oscilloscope/}, - DAY = 7, - month = 3, - year = 2020 -} -@book{buch:richardson, - title = {The emergence of numerical weather prediction: Richardson's dream}, - author = {Peter Lynch}, - year = 2006, - publisher = {Cambridge University Press}, - isbn = {978-0-52-185729-1} -} - -@book{buch:dieudonne, - title={Foundations of Modern Analysis}, - author={Jean Dieudonn{\'e}}, - number={Vol. 1}, - lccn={60008049}, - series={Dieudonn{\'e}, Jean: Treatise on analysis}, - year={1960}, - publisher={Academic Press} -} - -@book{buch:ebbinghaus, - title = {Zahlen}, - year = 1983, - inseries = {Grundwissen Mathematik}, - volume = 1, - publisher = {Springer-Verlag}, - author = { Hans-Dieter Ebbinghaus et al }, - isbn = { 3-540-12666-X } -} - -@online{buch:primitivepolynomiallist, - title = {Primitive Polynomial List}, - url = {https://www.partow.net/programming/polynomials/index.html}, - day = 8, - month = 3, - year = 2021 -} - -@book{skript:landaulifschitz1, - author = {Landau, L. D. and Lifschitz, E. M.}, - title = {Mechanik}, - series = {Lehrbuch der theoretischen Physik}, - volume = {1}, - publisher = {Akademie-Verlag}, - year = {1981}, - language = {german}, -} - +% +% references.bib +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% + +@article{BRIN1998107, +title = "The anatomy of a large-scale hypertextual Web search engine", +journal = "Computer Networks and ISDN Systems", +volume = "30", +number = "1", +pages = "107 - 117", +year = "1998", +note = "Proceedings of the Seventh International World Wide Web Conference", +issn = "0169-7552", +doi = "https://doi.org/10.1016/S0169-7552(98)00110-X", +url = "http://www.sciencedirect.com/science/article/pii/S016975529800110X", +author = "Sergey Brin and Lawrence Page", +keywords = "World Wide Web, Search engines, Information retrieval, PageRank, Google", +abstract = "In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems. The prototype with a full text and hyperlink database of at least 24 million pages is available at http://google.stanford.edu/ To engineer a search engine is a challenging task. Search engines index tens to hundreds of millions of Web pages involving a comparable number of distinct terms. They answer tens of millions of queries every day. Despite the importance of large-scale search engines on the Web, very little academic research has been done on them. Furthermore, due to rapid advance in technology and Web proliferation, creating a Web search engine today is very different from three years ago. This paper provides an in-depth description of our large-scale Web search engine — the first such detailed public description we know of to date. Apart from the problems of scaling traditional search techniques to data of this magnitude, there are new technical challenges involved with using the additional information present in hypertext to produce better search results. This paper addresses this question of how to build a practical large-scale system which can exploit the additional information present in hypertext. Also we look at the problem of how to effectively deal with uncontrolled hypertext collections where anyone can publish anything they want." +} + + +@book{buch:mathsem-dgl, + title = {Mathematisches Seminar Differentialgleichungen}, + author = { Andreas M"uller and others }, + year = {2016}, +} + +@online{buch:fftw, + title = {Fastest Fourier Transform in the West}, + url = {http://www.fftw.org/}, + DAY = {23}, + MONTH = {july}, + YEAR = 2018 +} + +@online{buch:repo, + subtitle = {Source Code Repository}, + author = {Andreas Müller}, + url = {https://github.com/AndreasFMueller/SeminarNumerik.git}, + DAY = 6, + MONTH = {february}, + YEAR = 2020 +} + +@book{buch:henrici, + author = {Peter Henrici}, + title = {Essentials of numerical analysis}, + subtitle = {With pocket calculator demonstrations}, + year = 1982, + publisher = {John Wiley and Sons, Inc.}, + isbn = {0-471-05904-8} +} + +@online{buch:tartaglia, + title = {Niccolò Tartaglia}, + url = {https://de.wikipedia.org/wiki/Niccolò_Tartaglia}, + date = {2020-02-06}, + year = {2020}, + month = {2}, + day = {6} +} + +@online{buch:kahan-summation, + title = {Kahan summation algorithm}, + url = {https://en.wikipedia.org/wiki/Kahan_summation_algorithm}, + date = {2020-02-29}, + year = {2020}, + month = {2}, + day = {29} +} + +@book{buch:watkins, + title = {Fundamentals of Matrix Computations}, + author = {David S. Watkins}, + year = 2010, + publisher = {John Wiley and Sons, Inc.}, + edition = {3} +} + +@online{buch:lissajous, + title = {Makeing Shapes with PSLab Oscilloscope}, + author = {CloudyPadmal}, + url = {https://blog.fossasia.org/making-shapes-with-pslab-oscilloscope/}, + DAY = 7, + month = 3, + year = 2020 +} +@book{buch:richardson, + title = {The emergence of numerical weather prediction: Richardson's dream}, + author = {Peter Lynch}, + year = 2006, + publisher = {Cambridge University Press}, + isbn = {978-0-52-185729-1} +} + +@book{buch:dieudonne, + title={Foundations of Modern Analysis}, + author={Jean Dieudonn{\'e}}, + number={Vol. 1}, + lccn={60008049}, + series={Dieudonn{\'e}, Jean: Treatise on analysis}, + year={1960}, + publisher={Academic Press} +} + +@book{buch:ebbinghaus, + title = {Zahlen}, + year = 1983, + inseries = {Grundwissen Mathematik}, + volume = 1, + publisher = {Springer-Verlag}, + author = { Hans-Dieter Ebbinghaus et al }, + isbn = { 3-540-12666-X } +} + +@online{buch:primitivepolynomiallist, + title = {Primitive Polynomial List}, + url = {https://www.partow.net/programming/polynomials/index.html}, + day = 8, + month = 3, + year = 2021 +} + +@book{skript:landaulifschitz1, + author = {Landau, L. D. and Lifschitz, E. M.}, + title = {Mechanik}, + series = {Lehrbuch der theoretischen Physik}, + volume = {1}, + publisher = {Akademie-Verlag}, + year = {1981}, + language = {german}, +} + diff --git a/buch/test3.tex b/buch/test3.tex index 71b1529..977f345 100644 --- a/buch/test3.tex +++ b/buch/test3.tex @@ -1,91 +1,91 @@ -% -% test3.tex -- Test 3 -% -% (c) 2021 Prof. Dr. Andreas Mueller, OST -% -%\documentclass[a4paper,12pt]{book} -\documentclass[a4paper,12pt]{article} -\usepackage{geometry} -\geometry{papersize={210mm,297mm},total={165mm,260mm}} -\usepackage{ngerman} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{times} -\usepackage{amsmath} -\usepackage{amssymb} -\usepackage{amsfonts} -\usepackage{amsthm} -\usepackage{graphicx} -\usepackage{fancyhdr} -\usepackage{textcomp} -\usepackage[all]{xy} -\usepackage{txfonts} -\usepackage{alltt} -\usepackage{verbatim} -\usepackage{paralist} -\usepackage{makeidx} -\usepackage{array} -\usepackage{hyperref} -\usepackage{caption} -\usepackage{subcaption} -\usepackage{standalone} -\usepackage{environ} -\usepackage{tikz} -\input{../common/linsys.tex} -\newcounter{beispiel} -\newenvironment{beispiele}{ -\bgroup\smallskip\parindent0pt\bf Beispiele\egroup - -\begin{list}{\arabic{beispiel}.} - {\usecounter{beispiel} - \setlength{\labelsep}{5mm} - \setlength{\rightmargin}{0pt} -}}{\end{list}} -\newcounter{uebungsaufgabe} -% environment fuer uebungsaufgaben -\newenvironment{uebungsaufgaben}{ -\begin{list}{\arabic{uebungsaufgabe}.} - {\usecounter{uebungsaufgabe} - \setlength{\labelwidth}{2cm} - \setlength{\leftmargin}{0pt} - \setlength{\labelsep}{5mm} - \setlength{\rightmargin}{0pt} - \setlength{\itemindent}{0pt} -}}{\end{list}\vfill\pagebreak} -\newenvironment{teilaufgaben}{ -\begin{enumerate} -\renewcommand{\labelenumi}{\alph{enumi})} -}{\end{enumerate}} -% Loesung -\NewEnviron{loesung}{% -\begin{proof}[Lösung]% -\renewcommand{\qedsymbol}{$\bigcirc$} -\BODY -\end{proof}} -\NewEnviron{bewertung}{\relax} -\NewEnviron{diskussion}{ -\BODY -} -\RenewEnviron{loesung}{\relax} -\RenewEnviron{diskussion}{\relax} -\newenvironment{hinweis}{% -\renewcommand{\qedsymbol}{} -\begin{proof}[Hinweis]}{\end{proof}} - -\begin{document} -{\parindent0pt\hbox to\hsize{% -Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} -\vspace{0.5cm} - -\section*{Kurztest 3} - -\begin{uebungsaufgaben} - -\item -\input chapters/60-gruppen/uebungsaufgaben/6001.tex -%\item -%\input chapters/60-gruppen/uebungsaufgaben/6002.tex - -\end{uebungsaufgaben} - -\end{document} +% +% test3.tex -- Test 3 +% +% (c) 2021 Prof. Dr. Andreas Mueller, OST +% +%\documentclass[a4paper,12pt]{book} +\documentclass[a4paper,12pt]{article} +\usepackage{geometry} +\geometry{papersize={210mm,297mm},total={165mm,260mm}} +\usepackage{ngerman} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{times} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{amsfonts} +\usepackage{amsthm} +\usepackage{graphicx} +\usepackage{fancyhdr} +\usepackage{textcomp} +\usepackage[all]{xy} +\usepackage{txfonts} +\usepackage{alltt} +\usepackage{verbatim} +\usepackage{paralist} +\usepackage{makeidx} +\usepackage{array} +\usepackage{hyperref} +\usepackage{caption} +\usepackage{subcaption} +\usepackage{standalone} +\usepackage{environ} +\usepackage{tikz} +\input{../common/linsys.tex} +\newcounter{beispiel} +\newenvironment{beispiele}{ +\bgroup\smallskip\parindent0pt\bf Beispiele\egroup + +\begin{list}{\arabic{beispiel}.} + {\usecounter{beispiel} + \setlength{\labelsep}{5mm} + \setlength{\rightmargin}{0pt} +}}{\end{list}} +\newcounter{uebungsaufgabe} +% environment fuer uebungsaufgaben +\newenvironment{uebungsaufgaben}{ +\begin{list}{\arabic{uebungsaufgabe}.} + {\usecounter{uebungsaufgabe} + \setlength{\labelwidth}{2cm} + \setlength{\leftmargin}{0pt} + \setlength{\labelsep}{5mm} + \setlength{\rightmargin}{0pt} + \setlength{\itemindent}{0pt} +}}{\end{list}\vfill\pagebreak} +\newenvironment{teilaufgaben}{ +\begin{enumerate} +\renewcommand{\labelenumi}{\alph{enumi})} +}{\end{enumerate}} +% Loesung +\NewEnviron{loesung}{% +\begin{proof}[Lösung]% +\renewcommand{\qedsymbol}{$\bigcirc$} +\BODY +\end{proof}} +\NewEnviron{bewertung}{\relax} +\NewEnviron{diskussion}{ +\BODY +} +\RenewEnviron{loesung}{\relax} +\RenewEnviron{diskussion}{\relax} +\newenvironment{hinweis}{% +\renewcommand{\qedsymbol}{} +\begin{proof}[Hinweis]}{\end{proof}} + +\begin{document} +{\parindent0pt\hbox to\hsize{% +Name: \hbox to7cm{\dotfill} Vorname: \dotfill}} +\vspace{0.5cm} + +\section*{Kurztest 3} + +\begin{uebungsaufgaben} + +\item +\input chapters/60-gruppen/uebungsaufgaben/6001.tex +%\item +%\input chapters/60-gruppen/uebungsaufgaben/6002.tex + +\end{uebungsaufgaben} + +\end{document} -- cgit v1.2.1 From 23326eb7047812366848812919aebf85c04f589e Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 20 Apr 2021 12:30:50 +0200 Subject: Presentation added --- buch/papers/reedsolomon/RS presentation/RS.aux | 30 + buch/papers/reedsolomon/RS presentation/RS.log | 956 +++++++++++++++++++++ buch/papers/reedsolomon/RS presentation/RS.nav | 9 + buch/papers/reedsolomon/RS presentation/RS.out | 0 buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 0 -> 53965 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 0 .../reedsolomon/RS presentation/RS.synctex.gz | Bin 0 -> 3637 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 25 + buch/papers/reedsolomon/RS presentation/RS.toc | 1 + buch/papers/reedsolomon/RS presentation/Thumbs.db | Bin 0 -> 89088 bytes 10 files changed, 1021 insertions(+) create mode 100644 buch/papers/reedsolomon/RS presentation/RS.aux create mode 100644 buch/papers/reedsolomon/RS presentation/RS.log create mode 100644 buch/papers/reedsolomon/RS presentation/RS.nav create mode 100644 buch/papers/reedsolomon/RS presentation/RS.out create mode 100644 buch/papers/reedsolomon/RS presentation/RS.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/RS.snm create mode 100644 buch/papers/reedsolomon/RS presentation/RS.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/RS.tex create mode 100644 buch/papers/reedsolomon/RS presentation/RS.toc create mode 100644 buch/papers/reedsolomon/RS presentation/Thumbs.db (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux new file mode 100644 index 0000000..17ce46b --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -0,0 +1,30 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\@nameuse{bbl@beforestart} +\catcode `"\active +\babel@aux{ngerman}{} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{2}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{2}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{2}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {2}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {2}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log new file mode 100644 index 0000000..f7dc931 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -0,0 +1,956 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/W32TeX) (preloaded format=pdflatex 2019.11.30) 20 APR 2021 12:21 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**RS.tex +(./RS.tex +LaTeX2e <2019-10-01> patch level 3 +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamer.cls +Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemodes.sty +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count80 +) +\beamer@tempbox=\box27 +\beamer@tempcount=\count81 +\c@beamerpauses=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasedecode.sty +\beamer@slideinframe=\count83 +\beamer@minimum=\count84 +\beamer@decode@box=\box28 +) +\beamer@commentbox=\box29 +\beamer@modecount=\count85 +) +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifpdf.sty +Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead. + +(c:/texlive/2019/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2019/11/07 v1.0c TeX engine tests +)) +\headdp=\dimen102 +\footheight=\dimen103 +\sidebarheight=\dimen104 +\beamer@tempdim=\dimen105 +\beamer@finalheight=\dimen106 +\beamer@animht=\dimen107 +\beamer@animdp=\dimen108 +\beamer@animwd=\dimen109 +\beamer@leftmargin=\dimen110 +\beamer@rightmargin=\dimen111 +\beamer@leftsidebar=\dimen112 +\beamer@rightsidebar=\dimen113 +\beamer@boxsize=\dimen114 +\beamer@vboxoffset=\dimen115 +\beamer@descdefault=\dimen116 +\beamer@descriptionwidth=\dimen117 +\beamer@lastskip=\skip41 +\beamer@areabox=\box30 +\beamer@animcurrent=\box31 +\beamer@animshowbox=\box32 +\beamer@sectionbox=\box33 +\beamer@logobox=\box34 +\beamer@linebox=\box35 +\beamer@sectioncount=\count86 +\beamer@subsubsectionmax=\count87 +\beamer@subsectionmax=\count88 +\beamer@sectionmax=\count89 +\beamer@totalheads=\count90 +\beamer@headcounter=\count91 +\beamer@partstartpage=\count92 +\beamer@sectionstartpage=\count93 +\beamer@subsectionstartpage=\count94 +\beamer@animationtempa=\count95 +\beamer@animationtempb=\count96 +\beamer@xpos=\count97 +\beamer@ypos=\count98 +\beamer@ypos@offset=\count99 +\beamer@showpartnumber=\count100 +\beamer@currentsubsection=\count101 +\beamer@coveringdepth=\count102 +\beamer@sectionadjust=\count103 +\beamer@tocsectionnumber=\count104 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +)) +\beamer@paperwidth=\skip42 +\beamer@paperheight=\skip43 + +(c:/texlive/2019/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2018/04/16 v5.8 Page Geometry + +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifvtex.sty +Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. +) +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifxetex.sty +Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. +) +\Gm@cnth=\count105 +\Gm@cntv=\count106 +\c@Gm@tempcnt=\count107 +\Gm@bindingoffset=\dimen118 +\Gm@wd@mp=\dimen119 +\Gm@odd@mp=\dimen120 +\Gm@even@mp=\dimen121 +\Gm@layoutwidth=\dimen122 +\Gm@layoutheight=\dimen123 +\Gm@layouthoffset=\dimen124 +\Gm@layoutvoffset=\dimen125 +\Gm@dimlist=\toks15 +) +(c:/texlive/2019/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2019/10/25 v1.4k Standard LaTeX file (size option) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen126 +\Gin@req@width=\dimen127 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen128 +\pgfutil@tempdimb=\dimen129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box36 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen130 +\pgf@y=\dimen131 +\pgf@xa=\dimen132 +\pgf@ya=\dimen133 +\pgf@xb=\dimen134 +\pgf@yb=\dimen135 +\pgf@xc=\dimen136 +\pgf@yc=\dimen137 +\pgf@xd=\dimen138 +\pgf@yd=\dimen139 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count108 +\c@pgf@countb=\count109 +\c@pgf@countc=\count110 +\c@pgf@countd=\count111 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count112 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-pdftex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def +File: pgfsys-pdftex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count113 +\pgfsyssoftpath@bigbuffer@items=\count114 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen140 +\pgfmath@count=\count115 +\pgfmath@box=\box37 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count116 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen141 +\pgf@picmaxx=\dimen142 +\pgf@picminy=\dimen143 +\pgf@picmaxy=\dimen144 +\pgf@pathminx=\dimen145 +\pgf@pathmaxx=\dimen146 +\pgf@pathminy=\dimen147 +\pgf@pathmaxy=\dimen148 +\pgf@xx=\dimen149 +\pgf@xy=\dimen150 +\pgf@yx=\dimen151 +\pgf@yy=\dimen152 +\pgf@zx=\dimen153 +\pgf@zy=\dimen154 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen155 +\pgf@path@lasty=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen157 +\pgf@shorten@start@additional=\dimen158 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box38 +\pgf@hbox=\box39 +\pgf@layerbox@main=\box40 +\pgf@picture@serial@count=\count117 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen159 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen160 +\pgf@pt@y=\dimen161 +\pgf@pt@temp=\dimen162 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen163 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen164 +\pgf@sys@shading@range@num=\count118 +\pgf@shadingcount=\count119 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box41 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty +Package: xxcolor 2003/10/24 ver 0.1 +\XC@nummixins=\count120 +\XC@countmixins=\count121 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/atbegshi.sty +Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +)) +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2019/11/10 v7.00c Hypertext links for LaTeX + +(c:/texlive/2019/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty +Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifluatex.sty +Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. +))) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/pdfescape.sty +Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hycolor.sty +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty +Package: xcolor-patch 2016/05/16 xcolor patch + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hopatch.sty +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +))) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/letltxmacro.sty +Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) +) +\@linkdim=\dimen165 +\Hy@linkcounter=\count122 +\Hy@pagecounter=\count123 + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2019/11/10 v7.00c Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/intcalc.sty +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +) +\Hy@SavedSpaceFactor=\count124 + +(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Option `bookmarks' set `true' on input line 4409. +Package hyperref Info: Option `bookmarksopen' set `true' on input line 4409. +Package hyperref Info: Option `implicit' set `false' on input line 4409. +Package hyperref Info: Hyper figures OFF on input line 4535. +Package hyperref Info: Link nesting OFF on input line 4540. +Package hyperref Info: Hyper index ON on input line 4543. +Package hyperref Info: Plain pages OFF on input line 4550. +Package hyperref Info: Backreferencing OFF on input line 4555. +Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. +Package hyperref Info: Bookmarks ON on input line 4788. +\c@Hy@tempcnt=\count125 + +(c:/texlive/2019/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 5147. +\XeTeXLinkMargin=\dimen166 + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bitset.sty +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bigintcalc.sty +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO +) +)) +\Fld@menulength=\count126 +\Field@Width=\dimen167 +\Fld@charsize=\dimen168 +Package hyperref Info: Hyper figures OFF on input line 6418. +Package hyperref Info: Link nesting OFF on input line 6423. +Package hyperref Info: Hyper index ON on input line 6426. +Package hyperref Info: backreferencing OFF on input line 6433. +Package hyperref Info: Link coloring OFF on input line 6438. +Package hyperref Info: Link coloring with OCG OFF on input line 6443. +Package hyperref Info: PDF/A mode OFF on input line 6448. +LaTeX Info: Redefining \ref on input line 6488. +LaTeX Info: Redefining \pageref on input line 6492. +\Hy@abspage=\count127 + + +Package hyperref Message: Stopped early. + +) +Package hyperref Info: Driver (autodetected): hpdftex. + (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2019/11/10 v7.00c Hyperref driver for pdfTeX + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/atveryend.sty +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +) +\Fld@listcount=\count128 +\c@bookmark@seq@number=\count129 + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/uniquecounter.sty +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +85. +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaserequires.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasefont.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks26 +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(c:/texlive/2019/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty +Package: sansmathaccent 2013/03/28 + +(c:/texlive/2019/texmf-dist/tex/latex/filehook/filehook.sty +Package: filehook 2019/10/03 v0.6 Hooks for input files +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator.sty +Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty +\beamer@argscount=\count130 +\beamer@lastskipcover=\skip44 +\beamer@trivlistdepth=\count131 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasesection.sty +\c@lecture=\count132 +\c@part=\count133 +\c@section=\count134 +\c@subsection=\count135 +\c@subsubsection=\count136 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframe.sty +\beamer@framebox=\box42 +\beamer@frametitlebox=\box43 +\beamer@zoombox=\box44 +\beamer@zoomcount=\count137 +\beamer@zoomframecount=\count138 +\beamer@frametextheight=\dimen169 +\c@subsectionslide=\count139 +\beamer@frametopskip=\skip45 +\beamer@framebottomskip=\skip46 +\beamer@frametopskipautobreak=\skip47 +\beamer@framebottomskipautobreak=\skip48 +\beamer@envbody=\toks27 +\framewidth=\dimen170 +\c@framenumber=\count140 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty +\beamer@verbatimfileout=\write4 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty +\beamer@splitbox=\box45 +\beamer@autobreakcount=\count141 +\beamer@autobreaklastheight=\dimen171 +\beamer@frametitletoks=\toks28 +\beamer@framesubtitletoks=\toks29 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty +\beamer@footins=\box46 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenotes.sty +\beamer@frameboxcopy=\box47 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty +\beamer@sbttoks=\toks30 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty +\bmb@box=\box48 +\bmb@colorbox=\box49 +\bmb@boxshadow=\box50 +\bmb@boxshadowball=\box51 +\bmb@boxshadowballlarge=\box52 +\bmb@temp=\dimen172 +\bmb@dima=\dimen173 +\bmb@dimb=\dimen174 +\bmb@prevheight=\dimen175 +) +\beamer@blockheadheight=\dimen176 +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.sty +(c:/texlive/2019/texmf-dist/tex/latex/tools/enumerate.sty +Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) +\@enLab=\toks31 +) +\c@figure=\count142 +\c@table=\count143 +\abovecaptionskip=\skip49 +\belowcaptionskip=\skip50 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty +\beamer@section@min@dim=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/11/16 v2.17d AMS math features +\@mathmargin=\skip51 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks32 +\ex@=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen179 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count144 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count145 +\leftroot@=\count146 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count147 +\DOTSCASE@=\count148 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box53 +\strutbox@=\box54 +\big@size=\dimen180 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count149 +\c@MaxMatrixCols=\count150 +\dotsspace@=\muskip11 +\c@parentequation=\count151 +\dspbrk@lvl=\count152 +\tag@help=\toks33 +\row@=\count153 +\column@=\count154 +\maxfields@=\count155 +\andhelp@=\toks34 +\eqnshift@=\dimen181 +\alignsep@=\dimen182 +\tagshift@=\dimen183 +\tagwidth@=\dimen184 +\totwidth@=\dimen185 +\lineht@=\dimen186 +\@envbody=\toks35 +\multlinegap=\skip52 +\multlinetaggap=\skip53 +\mathdisplay@stack=\toks36 +LaTeX Info: Redefining \[ on input line 2858. +LaTeX Info: Redefining \] on input line 2859. +) +(c:/texlive/2019/texmf-dist/tex/latex/amscls/amsthm.sty +Package: amsthm 2017/10/31 v2.20.4 +\thm@style=\toks37 +\thm@bodyfont=\toks38 +\thm@headfont=\toks39 +\thm@notefont=\toks40 +\thm@headpunct=\toks41 +\thm@preskip=\skip54 +\thm@postskip=\skip55 +\thm@headsep=\skip56 +\dth@everypar=\toks42 +) +\c@theorem=\count156 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemedefault.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerfontthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemedefault.sty +\beamer@dima=\dimen187 +\beamer@dimb=\dimen188 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemedefault.sty))) +(c:/texlive/2019/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2018/08/11 v1.3c Input encoding file +\inpenc@prehook=\toks43 +\inpenc@posthook=\toks44 +) +(c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2018/08/11 v2.0j Standard LaTeX package + +(c:/texlive/2019/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +)) +(c:/texlive/2019/texmf-dist/tex/latex/lm/lmodern.sty +Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 22. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/lmm/m/it on input line 23. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 25. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/lmm/b/it on input line 27. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 32. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 33. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. +) +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2019/11/14 3.36 The Babel package + +(c:/texlive/2019/texmf-dist/tex/generic/babel/switch.def +File: switch.def 2019/11/14 3.36 Babel switching mechanism +) +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngerman.ldf +Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra +phy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngermanb.ldf +Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr +aphy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.def +File: babel.def 2019/11/14 3.36 Babel common definitions +\babel@savecnt=\count157 +\U@D=\dimen189 + +(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def) +LaTeX Info: Redefining \textlatin on input line 2250. +\bbl@dirlevel=\count158 +) +Package babel Info: Making " an active character on input line 121. +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty +\beamer@sidebarwidth=\dimen190 +\beamer@headheight=\dimen191 +LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 +7. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd +File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemeseahorse.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemecircles.sty)) +(./RS.aux) +\openout1 = `RS.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. + +*geometry* driver: auto-detecting +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: includehead includefoot +* h-part:(L,W,R)=(59.22636pt, 381.79135pt, 14.22636pt) +* v-part:(T,H,B)=(0.0pt, 256.0748pt, 0.0pt) +* \paperwidth=455.24408pt +* \paperheight=256.0748pt +* \textwidth=381.79135pt +* \textheight=227.62207pt +* \oddsidemargin=-13.04362pt +* \evensidemargin=-13.04362pt +* \topmargin=-72.26999pt +* \headheight=14.22636pt +* \headsep=0.0pt +* \topskip=11.0pt +* \footskip=14.22636pt +* \marginparwidth=4.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +(c:/texlive/2019/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count159 +\scratchdimen=\dimen192 +\scratchbox=\box55 +\nofMPsegments=\count160 +\nofMParguments=\count161 +\everyMPshowfont=\toks45 +\MPscratchCnt=\count162 +\MPscratchDim=\dimen193 +\MPnumerator=\count163 +\makeMPintoPDFobject=\count164 +\everyMPtoPDFconversion=\toks46 +) (c:/texlive/2019/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +Package: epstopdf-base 2019/11/27 v2.8 Base part for package epstopdf +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +85. + +(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +ABD: EveryShipout initializing macros +\AtBeginShipoutBox=\box56 +Package hyperref Info: Link coloring OFF on input line 7. + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/refcount.sty +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) +) +\c@section@level=\count165 +) +LaTeX Info: Redefining \ref on input line 7. +LaTeX Info: Redefining \pageref on input line 7. +LaTeX Info: Redefining \nameref on input line 7. + (./RS.out) (./RS.out) +\@outlinefile=\write5 +\openout5 = `RS.out'. + +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 7. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 7. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 7. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 7. +\symnumbers=\mathgroup6 +\sympureletters=\mathgroup7 +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 7. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 7. + +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-basic-dictionary-En +glish.dict +Dictionary: translator-basic-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-bibliography-dictio +nary-English.dict +Dictionary: translator-bibliography-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-environment-diction +ary-English.dict +Dictionary: translator-environment-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-months-dictionary-E +nglish.dict +Dictionary: translator-months-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-numbers-dictionary- +English.dict +Dictionary: translator-numbers-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-theorem-dictionary- +English.dict +Dictionary: translator-theorem-dictionary, Language: English +) (./RS.nav) + +Package hyperref Warning: Option `pdfauthor' has already been used, +(hyperref) setting the option has no effect on input line 8. + + +Package hyperref Warning: Option `pdfsubject' has already been used, +(hyperref) setting the option has no effect on input line 14. + +[1 + +{c:/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2 + +] +\tf@nav=\write6 +\openout6 = `RS.nav'. + +\tf@toc=\write7 +\openout7 = `RS.toc'. + +\tf@snm=\write8 +\openout8 = `RS.snm'. + +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 25. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 25. + (./RS.aux) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 25. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 25. +Package rerunfilecheck Info: File `RS.out' has not changed. +(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. + ) +Here is how much of TeX's memory you used: + 18359 strings out of 492164 + 341776 string characters out of 6129087 + 431862 words of memory out of 5000000 + 22272 multiletter control sequences out of 15000+600000 + 19654 words of font info for 23 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 58i,12n,57p,796b,459s stack positions out of 5000i,500n,10000p,200000b,80000s +{c:/texlive/2019/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc} +Output written on RS.pdf (2 pages, 53965 bytes). +PDF statistics: + 42 PDF objects out of 1000 (max. 8388607) + 28 compressed objects within 1 object stream + 5 named destinations out of 1000 (max. 500000) + 43 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav new file mode 100644 index 0000000..9033d8b --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -0,0 +1,9 @@ +\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} +\headcommand {\beamer@framepages {1}{1}} +\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}} +\headcommand {\beamer@framepages {2}{2}} +\headcommand {\beamer@partpages {1}{2}} +\headcommand {\beamer@subsectionpages {1}{2}} +\headcommand {\beamer@sectionpages {1}{2}} +\headcommand {\beamer@documentpages {2}} +\headcommand {\gdef \inserttotalframenumber {2}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out new file mode 100644 index 0000000..e69de29 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf new file mode 100644 index 0000000..459d7e8 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm new file mode 100644 index 0000000..e69de29 diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz new file mode 100644 index 0000000..fe8adf5 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex new file mode 100644 index 0000000..3d2be8f --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -0,0 +1,25 @@ +\documentclass[11pt,aspectratio=169]{beamer} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[ngerman]{babel} +\usetheme{Hannover} +\begin{document} + \author{Joshua Bär und Michael Steiner} + \title{Reed-Solomon-Code} + \subtitle{} + \logo{} + \institute{OST Ostschweizer Fachhochschule} + \date{26.04.2021} + \subject{Mathematisches Seminar} + \setbeamercovered{transparent} + \setbeamertemplate{navigation symbols}{} + \begin{frame}[plain] + \maketitle + \end{frame} + + \begin{frame} + \frametitle{Test} + Ich mag Züge. + \end{frame} +\end{document} \ No newline at end of file diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc new file mode 100644 index 0000000..4cd1c86 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -0,0 +1 @@ +\babel@toc {ngerman}{} diff --git a/buch/papers/reedsolomon/RS presentation/Thumbs.db b/buch/papers/reedsolomon/RS presentation/Thumbs.db new file mode 100644 index 0000000..1626e26 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/Thumbs.db differ -- cgit v1.2.1 From 4301a062125a31b0466acf6527a01b1682cf60c5 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 08:59:22 +0200 Subject: slides introduction#1 --- buch/papers/reedsolomon/RS presentation/RS.bbl | 0 .../reedsolomon/RS presentation/images/fig1.pdf | Bin 0 -> 3071 bytes .../RS presentation/images/fig1.pdf_tex | 81 ++++++++++ .../reedsolomon/RS presentation/images/fig1.png | Bin 0 -> 27373 bytes .../reedsolomon/RS presentation/images/fig1.svg | 180 +++++++++++++++++++++ .../reedsolomon/RS presentation/images/fig2.png | Bin 0 -> 30489 bytes .../reedsolomon/RS presentation/images/fig2.svg | 163 +++++++++++++++++++ .../reedsolomon/RS presentation/images/fig3.png | Bin 0 -> 16007 bytes .../reedsolomon/RS presentation/images/fig3.svg | 180 +++++++++++++++++++++ .../reedsolomon/RS presentation/images/fig4.png | Bin 0 -> 27548 bytes .../reedsolomon/RS presentation/images/fig4.svg | 164 +++++++++++++++++++ .../reedsolomon/RS presentation/images/fig5.png | Bin 0 -> 30167 bytes .../reedsolomon/RS presentation/images/fig5.svg | 121 ++++++++++++++ .../reedsolomon/RS presentation/images/fig6.png | Bin 0 -> 22604 bytes .../reedsolomon/RS presentation/images/fig6.svg | 158 ++++++++++++++++++ .../reedsolomon/RS presentation/images/fig7.png | Bin 0 -> 28677 bytes .../reedsolomon/RS presentation/images/fig7.svg | 163 +++++++++++++++++++ 17 files changed, 1210 insertions(+) create mode 100644 buch/papers/reedsolomon/RS presentation/RS.bbl create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.svg create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.svg (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.bbl b/buch/papers/reedsolomon/RS presentation/RS.bbl new file mode 100644 index 0000000..e69de29 diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf new file mode 100644 index 0000000..5cff7fe Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex new file mode 100644 index 0000000..cb323ae --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex @@ -0,0 +1,81 @@ +%% Creator: Inkscape 1.0.2 (e86c870879, 2021-01-15, custom), www.inkscape.org +%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 +%% Accompanies image file 'fig1.pdf' (pdf, eps, ps) +%% +%% To include the image in your LaTeX document, write +%% \input{.pdf_tex} +%% instead of +%% \includegraphics{.pdf} +%% To scale the image, write +%% \def\svgwidth{} +%% \input{.pdf_tex} +%% instead of +%% \includegraphics[width=]{.pdf} +%% +%% Images with a different path to the parent latex file can +%% be accessed with the `import' package (which may need to be +%% installed) using +%% \usepackage{import} +%% in the preamble, and then including the image with +%% \import{}{.pdf_tex} +%% Alternatively, one can specify +%% \graphicspath{{/}} +%% +%% For more information, please see info/svg-inkscape on CTAN: +%% http://tug.ctan.org/tex-archive/info/svg-inkscape +%% +\begingroup% + \makeatletter% + \providecommand\color[2][]{% + \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% + \renewcommand\color[2][]{}% + }% + \providecommand\transparent[1]{% + \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% + \renewcommand\transparent[1]{}% + }% + \providecommand\rotatebox[2]{#2}% + \newcommand*\fsize{\dimexpr\f@size pt\relax}% + \newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}% + \ifx\svgwidth\undefined% + \setlength{\unitlength}{420bp}% + \ifx\svgscale\undefined% + \relax% + \else% + \setlength{\unitlength}{\unitlength * \real{\svgscale}}% + \fi% + \else% + \setlength{\unitlength}{\svgwidth}% + \fi% + \global\let\svgwidth\undefined% + \global\let\svgscale\undefined% + \makeatother% + \begin{picture}(1,0.75)% + \lineheight{1}% + \setlength\tabcolsep{0pt}% + \put(0,0){\includegraphics[width=\unitlength,page=1]{fig1.pdf}}% + \put(0.19038536,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% + \put(0.27196429,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}20\end{tabular}}}}% + \put(0.35354321,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}30\end{tabular}}}}% + \put(0.43512214,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}40\end{tabular}}}}% + \put(0.51670107,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}50\end{tabular}}}}% + \put(0.59828,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}60\end{tabular}}}}% + \put(0.67985893,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}70\end{tabular}}}}% + \put(0.76143804,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}80\end{tabular}}}}% + \put(0.84301696,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}90\end{tabular}}}}% + \put(0,0){\includegraphics[width=\unitlength,page=2]{fig1.pdf}}% + \put(0.10654768,0.07232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0\end{tabular}}}}% + \put(0.10654768,0.13357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1\end{tabular}}}}% + \put(0.10654768,0.19482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2\end{tabular}}}}% + \put(0.10654768,0.25607143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}3\end{tabular}}}}% + \put(0.10654768,0.31732143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}4\end{tabular}}}}% + \put(0.10654768,0.37857143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}5\end{tabular}}}}% + \put(0.10654768,0.43982143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}6\end{tabular}}}}% + \put(0.10654768,0.50107143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}7\end{tabular}}}}% + \put(0.10654768,0.56232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}8\end{tabular}}}}% + \put(0.10654768,0.62357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}9\end{tabular}}}}% + \put(0.09404768,0.68482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% + \put(0.47857196,0.70669643){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}\textbf{Signal}\end{tabular}}}}% + \put(0,0){\includegraphics[width=\unitlength,page=3]{fig1.pdf}}% + \end{picture}% +\endgroup% diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.png b/buch/papers/reedsolomon/RS presentation/images/fig1.png new file mode 100644 index 0000000..a0395d7 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig1.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.svg b/buch/papers/reedsolomon/RS presentation/images/fig1.svg new file mode 100644 index 0000000..8682b56 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig1.svg @@ -0,0 +1,180 @@ + + +102030405060708090012345678910Signal diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.png b/buch/papers/reedsolomon/RS presentation/images/fig2.png new file mode 100644 index 0000000..bd8faa0 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig2.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.svg b/buch/papers/reedsolomon/RS presentation/images/fig2.svg new file mode 100644 index 0000000..e66bd95 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig2.svg @@ -0,0 +1,163 @@ + + +102030405060708090050100150200250300350Codiert diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.png b/buch/papers/reedsolomon/RS presentation/images/fig3.png new file mode 100644 index 0000000..e14358d Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig3.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.svg b/buch/papers/reedsolomon/RS presentation/images/fig3.svg new file mode 100644 index 0000000..e0c7072 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig3.svg @@ -0,0 +1,180 @@ + + +10203040506070809000.20.40.60.811.21.41.61.82Fehler diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.png b/buch/papers/reedsolomon/RS presentation/images/fig4.png new file mode 100644 index 0000000..1821c3b Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig4.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.svg b/buch/papers/reedsolomon/RS presentation/images/fig4.svg new file mode 100644 index 0000000..4bf2864 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig4.svg @@ -0,0 +1,164 @@ + + +102030405060708090050100150200250300350Empfangen diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.png b/buch/papers/reedsolomon/RS presentation/images/fig5.png new file mode 100644 index 0000000..e4abbaa Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig5.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.svg b/buch/papers/reedsolomon/RS presentation/images/fig5.svg new file mode 100644 index 0000000..7cfdb10 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig5.svg @@ -0,0 +1,121 @@ + + + diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.png b/buch/papers/reedsolomon/RS presentation/images/fig6.png new file mode 100644 index 0000000..5447949 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig6.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.svg b/buch/papers/reedsolomon/RS presentation/images/fig6.svg new file mode 100644 index 0000000..f8f8369 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig6.svg @@ -0,0 +1,158 @@ + + +10203040506070809000.010.020.030.040.050.06Syndrom diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.png b/buch/papers/reedsolomon/RS presentation/images/fig7.png new file mode 100644 index 0000000..a850402 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig7.png differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.svg b/buch/papers/reedsolomon/RS presentation/images/fig7.svg new file mode 100644 index 0000000..27c7622 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/fig7.svg @@ -0,0 +1,163 @@ + + +10203040506070809000.10.20.30.40.50.60.7Locator -- cgit v1.2.1 From a9001166bb9bef3dcef3ea2d19a552f9eeb74324 Mon Sep 17 00:00:00 2001 From: JODBaer <55744603+JODBaer@users.noreply.github.com> Date: Wed, 21 Apr 2021 11:31:56 +0200 Subject: Creat gitignor --- buch/papers/reedsolomon/.gitignor | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 buch/papers/reedsolomon/.gitignor (limited to 'buch') diff --git a/buch/papers/reedsolomon/.gitignor b/buch/papers/reedsolomon/.gitignor new file mode 100644 index 0000000..5f0787b --- /dev/null +++ b/buch/papers/reedsolomon/.gitignor @@ -0,0 +1,12 @@ +RS*.aux +RS*.bbl +RS*.bib +RS*.blg +RS*.idx +RS*.ilg +RS*.ind +RS*.log +RS*.out +RS*.pdf +RS*.run.xml +RS*.toc -- cgit v1.2.1 From b804afc336594a0c0a1ecec56c96d02bb97427f4 Mon Sep 17 00:00:00 2001 From: JODBaer <55744603+JODBaer@users.noreply.github.com> Date: Wed, 21 Apr 2021 12:39:57 +0200 Subject: update gitignor --- buch/papers/reedsolomon/.gitignor | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'buch') diff --git a/buch/papers/reedsolomon/.gitignor b/buch/papers/reedsolomon/.gitignor index 5f0787b..466d238 100644 --- a/buch/papers/reedsolomon/.gitignor +++ b/buch/papers/reedsolomon/.gitignor @@ -10,3 +10,15 @@ RS*.out RS*.pdf RS*.run.xml RS*.toc +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb -- cgit v1.2.1 From 44b5dcffb75c9f7dc0d28fd5af9794608cd9b395 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 12:47:00 +0200 Subject: Presentation#1 --- buch/papers/reedsolomon/RS presentation/RS.aux | 29 +- buch/papers/reedsolomon/RS presentation/RS.bbl | 0 buch/papers/reedsolomon/RS presentation/RS.log | 698 +++++++++++-------- buch/papers/reedsolomon/RS presentation/RS.nav | 19 +- buch/papers/reedsolomon/RS presentation/RS.out | 1 + buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 53965 -> 117082 bytes .../reedsolomon/RS presentation/RS.synctex.gz | Bin 3637 -> 6763 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 50 +- buch/papers/reedsolomon/RS presentation/RS.toc | 1 + buch/papers/reedsolomon/RS presentation/Thumbs.db | Bin 89088 -> 0 bytes .../reedsolomon/RS presentation/images/fig1.pdf | Bin 3071 -> 11898 bytes .../RS presentation/images/fig1.pdf_tex | 81 --- .../reedsolomon/RS presentation/images/fig1.png | Bin 27373 -> 0 bytes .../reedsolomon/RS presentation/images/fig2.pdf | Bin 0 -> 13901 bytes .../reedsolomon/RS presentation/images/fig2.png | Bin 30489 -> 0 bytes .../reedsolomon/RS presentation/images/fig3.pdf | Bin 0 -> 13099 bytes .../reedsolomon/RS presentation/images/fig3.png | Bin 16007 -> 0 bytes .../reedsolomon/RS presentation/images/fig4.pdf | Bin 0 -> 14995 bytes .../reedsolomon/RS presentation/images/fig4.png | Bin 27548 -> 0 bytes .../reedsolomon/RS presentation/images/fig5.pdf | Bin 0 -> 13298 bytes .../reedsolomon/RS presentation/images/fig5.png | Bin 30167 -> 0 bytes .../reedsolomon/RS presentation/images/fig6.pdf | Bin 0 -> 13688 bytes .../reedsolomon/RS presentation/images/fig6.png | Bin 22604 -> 0 bytes .../reedsolomon/RS presentation/images/fig7.pdf | Bin 0 -> 13278 bytes .../reedsolomon/RS presentation/images/fig7.png | Bin 28677 -> 0 bytes .../RS presentation/images/polynom1.aux | 1 + .../RS presentation/images/polynom1.log | 747 +++++++++++++++++++++ .../RS presentation/images/polynom1.pdf | Bin 0 -> 5938 bytes .../RS presentation/images/polynom1.synctex.gz | Bin 0 -> 2399 bytes .../RS presentation/images/polynom1.tex | 59 ++ .../RS presentation/images/polynom2.aux | 1 + .../RS presentation/images/polynom2.log | 747 +++++++++++++++++++++ .../RS presentation/images/polynom2.pdf | Bin 0 -> 6995 bytes .../RS presentation/images/polynom2.synctex.gz | Bin 0 -> 2410 bytes .../RS presentation/images/polynom2.tex | 57 ++ 35 files changed, 2127 insertions(+), 364 deletions(-) delete mode 100644 buch/papers/reedsolomon/RS presentation/RS.bbl delete mode 100644 buch/papers/reedsolomon/RS presentation/Thumbs.db delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig1.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig2.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig3.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig4.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig5.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig6.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.pdf delete mode 100644 buch/papers/reedsolomon/RS presentation/images/fig7.png create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.aux create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.log create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom1.tex create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.aux create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.log create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/images/polynom2.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index 17ce46b..fff632d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -14,17 +14,28 @@ \fi} \global\let\hyper@last\relax \gdef\HyperFirstAtBeginDocument#1{#1} -\providecommand\HyField@AuxAddToFields[1]{} -\providecommand\HyField@AuxAddToCoFields[2]{} -\@nameuse{bbl@beforestart} +\providecommand*\HyPL@Entry[1]{} +\bbl@beforestart \catcode `"\active +\HyPL@Entry{0<>} \babel@aux{ngerman}{} \@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} -\@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}}} +\HyPL@Entry{1<>} +\@writefile{toc}{\beamer@sectionintoc {1}{Introduction}{2}{0}{1}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}}} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{2}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {2}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {2}}} +\HyPL@Entry{2<>} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {3}{9}}} +\HyPL@Entry{9<>} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {10}{11}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{11}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{11}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {11}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {4}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.bbl b/buch/papers/reedsolomon/RS presentation/RS.bbl deleted file mode 100644 index e69de29..0000000 diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index f7dc931..824b9b5 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,10 +1,10 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/W32TeX) (preloaded format=pdflatex 2019.11.30) 20 APR 2021 12:21 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:30 entering extended mode restricted \write18 enabled. %&-line parsing enabled. **RS.tex (./RS.tex -LaTeX2e <2019-10-01> patch level 3 +LaTeX2e <2019-10-01> patch level 1 (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamer.cls Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemodes.sty @@ -24,12 +24,9 @@ Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) \beamer@commentbox=\box29 \beamer@modecount=\count85 ) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifpdf.sty -Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead. - -(c:/texlive/2019/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2019/11/07 v1.0c TeX engine tests -)) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) \headdp=\dimen102 \footheight=\dimen103 \sidebarheight=\dimen104 @@ -84,11 +81,12 @@ Package: keyval 2014/10/28 v1.15 key=value parser (DPC) (c:/texlive/2019/texmf-dist/tex/latex/geometry/geometry.sty Package: geometry 2018/04/16 v5.8 Page Geometry -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifvtex.sty -Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. ) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifxetex.sty -Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional ) \Gm@cnth=\count105 \Gm@cntv=\count106 @@ -104,14 +102,14 @@ Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. \Gm@dimlist=\toks15 ) (c:/texlive/2019/texmf-dist/tex/latex/base/size11.clo -File: size11.clo 2019/10/25 v1.4k Standard LaTeX file (size option) +File: size11.clo 2019/08/27 v1.4j Standard LaTeX file (size option) ) (c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty (c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) (c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR) +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) (c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty Package: trig 2016/01/03 v1.10 sin cos tan (DPC) @@ -119,10 +117,10 @@ Package: trig 2016/01/03 v1.10 sin cos tan (DPC) (c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration ) -Package graphics Info: Driver file: pdftex.def on input line 105. +Package graphics Info: Driver file: xetex.def on input line 105. -(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/pdftex.def -File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex )) \Gin@req@height=\dimen126 \Gin@req@width=\dimen127 @@ -178,18 +176,23 @@ Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) ) -Driver file for pgf: pgfsys-pdftex.def +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) -(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def -File: pgfsys-pdftex.def 2019/08/03 v3.1.4b (3.1.4b) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count113 ))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) -\pgfsyssoftpath@smallbuffer@items=\count113 -\pgfsyssoftpath@bigbuffer@items=\count114 +\pgfsyssoftpath@smallbuffer@items=\count114 +\pgfsyssoftpath@bigbuffer@items=\count115 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) @@ -199,9 +202,8 @@ Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) (c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg File: color.cfg 2016/01/02 v1.6 sample color configuration ) -Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Driver file: xetex.def on input line 225. Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. -Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. Package xcolor Info: Model `RGB' extended on input line 1364. Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. @@ -218,7 +220,7 @@ Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex \pgfmath@dimen=\dimen140 -\pgfmath@count=\count115 +\pgfmath@count=\count116 \pgfmath@box=\box37 \pgfmath@toks=\toks23 \pgfmath@stack@operand=\toks24 @@ -242,7 +244,7 @@ x) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm etics.code.tex))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex -\c@pgfmathroundto@lastzeros=\count116 +\c@pgfmathroundto@lastzeros=\count117 )) (c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex @@ -279,7 +281,7 @@ File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) \pgfpic=\box38 \pgf@hbox=\box39 \pgf@layerbox@main=\box40 -\pgf@picture@serial@count=\count117 +\pgf@picture@serial@count=\count118 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code .tex @@ -310,8 +312,8 @@ File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) \pgf@max=\dimen164 -\pgf@sys@shading@range@num=\count118 -\pgf@shadingcount=\count119 +\pgf@sys@shading@range@num=\count119 +\pgf@shadingcount=\count120 ) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) @@ -333,8 +335,8 @@ File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) ))) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty Package: xxcolor 2003/10/24 ver 0.1 -\XC@nummixins=\count120 -\XC@countmixins=\count121 +\XC@nummixins=\count121 +\XC@countmixins=\count122 ) (c:/texlive/2019/texmf-dist/tex/generic/oberdiek/atbegshi.sty Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) @@ -346,41 +348,46 @@ Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) )) (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2019/11/10 v7.00c Hypertext links for LaTeX +Package: hyperref 2019/09/28 v7.00a Hypertext links for LaTeX -(c:/texlive/2019/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty -Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO -) -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) -(c:/texlive/2019/texmf-dist/tex/generic/iftex/ifluatex.sty -Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. -))) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package hobsub Info: Skipping package `infwarerr' (already loaded). +Package hobsub Info: Skipping package `ltxcmds' (already loaded). +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package hobsub Info: Skipping package `ifvtex' (already loaded). +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package hobsub Info: Skipping package `ifpdf' (already loaded). +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2019/07/25 v0.30 Utility functions of pdfTeX for LuaTeX (HO ) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/pdfescape.sty +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: pdfTeX >= 1.30 not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode not found. Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO ) -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hycolor.sty -Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) - -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty -Package: xcolor-patch 2016/05/16 xcolor patch - -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/hopatch.sty -Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) -))) -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/letltxmacro.sty +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package hobsub Info: Skipping package `atbegshi' (already loaded). +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) ) (c:/texlive/2019/texmf-dist/tex/latex/oberdiek/auxhook.sty Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) @@ -389,85 +396,79 @@ Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) ) \@linkdim=\dimen165 -\Hy@linkcounter=\count122 -\Hy@pagecounter=\count123 +\Hy@linkcounter=\count123 +\Hy@pagecounter=\count124 (c:/texlive/2019/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2019/11/10 v7.00c Hyperref: PDFDocEncoding definition (HO) -Now handling font encoding PD1 ... -... no UTF-8 mapping file for font encoding PD1 -) -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/intcalc.sty -Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +File: pd1enc.def 2019/09/28 v7.00a Hyperref: PDFDocEncoding definition (HO) ) -\Hy@SavedSpaceFactor=\count124 +\Hy@SavedSpaceFactor=\count125 (c:/texlive/2019/texmf-dist/tex/latex/latexconfig/hyperref.cfg File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive ) -Package hyperref Info: Option `bookmarks' set `true' on input line 4409. -Package hyperref Info: Option `bookmarksopen' set `true' on input line 4409. -Package hyperref Info: Option `implicit' set `false' on input line 4409. -Package hyperref Info: Hyper figures OFF on input line 4535. -Package hyperref Info: Link nesting OFF on input line 4540. -Package hyperref Info: Hyper index ON on input line 4543. -Package hyperref Info: Plain pages OFF on input line 4550. -Package hyperref Info: Backreferencing OFF on input line 4555. +Package hyperref Info: Option `bookmarks' set `true' on input line 4414. +Package hyperref Info: Option `bookmarksopen' set `true' on input line 4414. +Package hyperref Info: Option `implicit' set `false' on input line 4414. +Package hyperref Info: Hyper figures OFF on input line 4540. +Package hyperref Info: Link nesting OFF on input line 4545. +Package hyperref Info: Hyper index ON on input line 4548. +Package hyperref Info: Plain pages OFF on input line 4555. +Package hyperref Info: Backreferencing OFF on input line 4560. Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. -Package hyperref Info: Bookmarks ON on input line 4788. -\c@Hy@tempcnt=\count125 +Package hyperref Info: Bookmarks ON on input line 4793. +\c@Hy@tempcnt=\count126 (c:/texlive/2019/texmf-dist/tex/latex/url/url.sty \Urlmuskip=\muskip10 Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. ) -LaTeX Info: Redefining \url on input line 5147. +LaTeX Info: Redefining \url on input line 5152. \XeTeXLinkMargin=\dimen166 - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bitset.sty -Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/bigintcalc.sty -Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO -) -)) -\Fld@menulength=\count126 +\Fld@menulength=\count127 \Field@Width=\dimen167 \Fld@charsize=\dimen168 -Package hyperref Info: Hyper figures OFF on input line 6418. -Package hyperref Info: Link nesting OFF on input line 6423. -Package hyperref Info: Hyper index ON on input line 6426. -Package hyperref Info: backreferencing OFF on input line 6433. -Package hyperref Info: Link coloring OFF on input line 6438. -Package hyperref Info: Link coloring with OCG OFF on input line 6443. -Package hyperref Info: PDF/A mode OFF on input line 6448. -LaTeX Info: Redefining \ref on input line 6488. -LaTeX Info: Redefining \pageref on input line 6492. -\Hy@abspage=\count127 +Package hyperref Info: Hyper figures OFF on input line 6423. +Package hyperref Info: Link nesting OFF on input line 6428. +Package hyperref Info: Hyper index ON on input line 6431. +Package hyperref Info: backreferencing OFF on input line 6438. +Package hyperref Info: Link coloring OFF on input line 6443. +Package hyperref Info: Link coloring with OCG OFF on input line 6448. +Package hyperref Info: PDF/A mode OFF on input line 6453. +LaTeX Info: Redefining \ref on input line 6493. +LaTeX Info: Redefining \pageref on input line 6497. +\Hy@abspage=\count128 Package hyperref Message: Stopped early. ) -Package hyperref Info: Driver (autodetected): hpdftex. - (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hpdftex.def -File: hpdftex.def 2019/11/10 v7.00c Hyperref driver for pdfTeX +Package hyperref Info: Driver (autodetected): hxetex. + (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hxetex.def +File: hxetex.def 2019/09/28 v7.00a Hyperref driver for XeTeX -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/atveryend.sty -Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2019/09/28 v7.00a Hyperref: PDF Unicode definition (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/stringenc.sty +Package: stringenc 2016/05/16 v1.11 Convert strings between diff. encodings (HO ) -\Fld@listcount=\count128 -\c@bookmark@seq@number=\count129 +) +\pdfm@box=\box42 +\c@Hy@AnnotLevel=\count129 +\HyField@AnnotCount=\count130 +\Fld@listcount=\count131 +\c@bookmark@seq@number=\count132 (c:/texlive/2019/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) - -(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/uniquecounter.sty -Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) -) Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 -85. +82. )) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/se-ascii-print.def +File: se-ascii-print.def 2016/05/16 v1.11 stringenc: Printable ASCII characters + +) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaserequires.sty (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasefont.sty @@ -496,50 +497,50 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty -\beamer@argscount=\count130 +\beamer@argscount=\count133 \beamer@lastskipcover=\skip44 -\beamer@trivlistdepth=\count131 +\beamer@trivlistdepth=\count134 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasesection.sty -\c@lecture=\count132 -\c@part=\count133 -\c@section=\count134 -\c@subsection=\count135 -\c@subsubsection=\count136 +\c@lecture=\count135 +\c@part=\count136 +\c@section=\count137 +\c@subsection=\count138 +\c@subsubsection=\count139 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframe.sty -\beamer@framebox=\box42 -\beamer@frametitlebox=\box43 -\beamer@zoombox=\box44 -\beamer@zoomcount=\count137 -\beamer@zoomframecount=\count138 +\beamer@framebox=\box43 +\beamer@frametitlebox=\box44 +\beamer@zoombox=\box45 +\beamer@zoomcount=\count140 +\beamer@zoomframecount=\count141 \beamer@frametextheight=\dimen169 -\c@subsectionslide=\count139 +\c@subsectionslide=\count142 \beamer@frametopskip=\skip45 \beamer@framebottomskip=\skip46 \beamer@frametopskipautobreak=\skip47 \beamer@framebottomskipautobreak=\skip48 \beamer@envbody=\toks27 \framewidth=\dimen170 -\c@framenumber=\count140 +\c@framenumber=\count143 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty \beamer@verbatimfileout=\write4 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty -\beamer@splitbox=\box45 -\beamer@autobreakcount=\count141 +\beamer@splitbox=\box46 +\beamer@autobreakcount=\count144 \beamer@autobreaklastheight=\dimen171 \beamer@frametitletoks=\toks28 \beamer@framesubtitletoks=\toks29 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty -\beamer@footins=\box46 +\beamer@footins=\box47 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenotes.sty -\beamer@frameboxcopy=\box47 +\beamer@frameboxcopy=\box48 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty @@ -547,11 +548,11 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty -\bmb@box=\box48 -\bmb@colorbox=\box49 -\bmb@boxshadow=\box50 -\bmb@boxshadowball=\box51 -\bmb@boxshadowballlarge=\box52 +\bmb@box=\box49 +\bmb@colorbox=\box50 +\bmb@boxshadow=\box51 +\bmb@boxshadowball=\box52 +\bmb@boxshadowballlarge=\box53 \bmb@temp=\dimen172 \bmb@dima=\dimen173 \bmb@dimb=\dimen174 @@ -564,8 +565,8 @@ Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) \@enLab=\toks31 ) -\c@figure=\count142 -\c@table=\count143 +\c@figure=\count145 +\c@table=\count146 \abovecaptionskip=\skip49 \belowcaptionskip=\skip50 ) @@ -574,7 +575,7 @@ Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty (c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty -Package: amsmath 2019/11/16 v2.17d AMS math features +Package: amsmath 2019/04/01 v2.17c AMS math features \@mathmargin=\skip51 For additional information on amsmath, use the `?' option. @@ -593,30 +594,30 @@ Package: amsbsy 1999/11/29 v1.2d Bold Symbols (c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty Package: amsopn 2016/03/08 v2.02 operator names ) -\inf@bad=\count144 +\inf@bad=\count147 LaTeX Info: Redefining \frac on input line 227. -\uproot@=\count145 -\leftroot@=\count146 +\uproot@=\count148 +\leftroot@=\count149 LaTeX Info: Redefining \overline on input line 389. -\classnum@=\count147 -\DOTSCASE@=\count148 +\classnum@=\count150 +\DOTSCASE@=\count151 LaTeX Info: Redefining \ldots on input line 486. LaTeX Info: Redefining \dots on input line 489. LaTeX Info: Redefining \cdots on input line 610. -\Mathstrutbox@=\box53 -\strutbox@=\box54 +\Mathstrutbox@=\box54 +\strutbox@=\box55 \big@size=\dimen180 LaTeX Font Info: Redeclaring font encoding OML on input line 733. LaTeX Font Info: Redeclaring font encoding OMS on input line 734. -\macc@depth=\count149 -\c@MaxMatrixCols=\count150 +\macc@depth=\count152 +\c@MaxMatrixCols=\count153 \dotsspace@=\muskip11 -\c@parentequation=\count151 -\dspbrk@lvl=\count152 +\c@parentequation=\count154 +\dspbrk@lvl=\count155 \tag@help=\toks33 -\row@=\count153 -\column@=\count154 -\maxfields@=\count155 +\row@=\count156 +\column@=\count157 +\maxfields@=\count158 \andhelp@=\toks34 \eqnshift@=\dimen181 \alignsep@=\dimen182 @@ -628,8 +629,8 @@ LaTeX Font Info: Redeclaring font encoding OMS on input line 734. \multlinegap=\skip52 \multlinetaggap=\skip53 \mathdisplay@stack=\toks36 -LaTeX Info: Redefining \[ on input line 2858. -LaTeX Info: Redefining \] on input line 2859. +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. ) (c:/texlive/2019/texmf-dist/tex/latex/amscls/amsthm.sty Package: amsthm 2017/10/31 v2.20.4 @@ -643,7 +644,7 @@ Package: amsthm 2017/10/31 v2.20.4 \thm@headsep=\skip56 \dth@everypar=\toks42 ) -\c@theorem=\count156 +\c@theorem=\count159 ) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemedefault.sty @@ -658,13 +659,22 @@ Package: amsthm 2017/10/31 v2.20.4 Package: inputenc 2018/08/11 v1.3c Input encoding file \inpenc@prehook=\toks43 \inpenc@posthook=\toks44 -) -(c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty + + +Package inputenc Warning: inputenc package ignored with utf8 based engines. + +) (c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty Package: fontenc 2018/08/11 v2.0j Standard LaTeX package (c:/texlive/2019/texmf-dist/tex/latex/base/t1enc.def File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +) +LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 +05. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd +File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern )) (c:/texlive/2019/texmf-dist/tex/latex/lm/lmodern.sty Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts @@ -702,10 +712,10 @@ LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' (Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. ) (c:/texlive/2019/texmf-dist/tex/generic/babel/babel.sty -Package: babel 2019/11/14 3.36 The Babel package +Package: babel 2019/10/15 3.35 The Babel package (c:/texlive/2019/texmf-dist/tex/generic/babel/switch.def -File: switch.def 2019/11/14 3.36 Babel switching mechanism +File: switch.def 2019/10/15 3.35 Babel switching mechanism ) (c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngerman.ldf Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra @@ -716,50 +726,122 @@ Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr aphy) (c:/texlive/2019/texmf-dist/tex/generic/babel/babel.def -File: babel.def 2019/11/14 3.36 Babel common definitions -\babel@savecnt=\count157 +File: babel.def 2019/10/15 3.35 Babel common definitions +\babel@savecnt=\count160 \U@D=\dimen189 -(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def) -LaTeX Info: Redefining \textlatin on input line 2250. -\bbl@dirlevel=\count158 +(c:/texlive/2019/texmf-dist/tex/generic/babel/xebabel.def +(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def)) +LaTeX Info: Redefining \textlatin on input line 2185. +\bbl@dirlevel=\count161 ) Package babel Info: Making " an active character on input line 121. ))) -(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty -(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty -\beamer@sidebarwidth=\dimen190 -\beamer@headheight=\dimen191 -LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 -7. +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) -(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd -File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box56 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen190 +\pgf@nodesepend=\dimen191 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen192 +\pgffor@skip=\dimen193 +\pgffor@stack=\toks45 +\pgffor@toks=\toks46 )) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count162 +\pgfplotmarksize=\dimen194 +) +\tikz@lastx=\dimen195 +\tikz@lasty=\dimen196 +\tikz@lastxsaved=\dimen197 +\tikz@lastysaved=\dimen198 +\tikz@lastmovetox=\dimen199 +\tikz@lastmovetoy=\dimen256 +\tikzleveldistance=\dimen257 +\tikzsiblingdistance=\dimen258 +\tikz@figbox=\box57 +\tikz@figbox@bg=\box58 +\tikz@tempbox=\box59 +\tikz@tempbox@bg=\box60 +\tikztreelevel=\count163 +\tikznumberofchildren=\count164 +\tikznumberofcurrentchild=\count165 +\tikz@fig@count=\count166 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count167 +\pgfmatrixcurrentcolumn=\count168 +\pgf@matrix@numberofcolumns=\count169 +) +\tikz@expandcount=\count170 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty +\beamer@sidebarwidth=\dimen259 +\beamer@headheight=\dimen260 +) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemeseahorse.sty) (c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemecircles.sty)) (./RS.aux) \openout1 = `RS.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. *geometry* driver: auto-detecting -*geometry* detected driver: pdftex +*geometry* detected driver: xetex *geometry* verbose mode - [ preamble ] result: -* driver: pdftex +* driver: xetex * paper: custom * layout: * layoutoffset:(h,v)=(0.0pt,0.0pt) @@ -790,96 +872,71 @@ LaTeX Font Info: ... okay on input line 7. * \@reversemarginfalse * (1in=72.27pt=25.4mm, 1cm=28.453pt) -(c:/texlive/2019/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count159 -\scratchdimen=\dimen192 -\scratchbox=\box55 -\nofMPsegments=\count160 -\nofMParguments=\count161 -\everyMPshowfont=\toks45 -\MPscratchCnt=\count162 -\MPscratchDim=\dimen193 -\MPnumerator=\count163 -\makeMPintoPDFobject=\count164 -\everyMPtoPDFconversion=\toks46 -) (c:/texlive/2019/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty -Package: epstopdf-base 2019/11/27 v2.8 Base part for package epstopdf -Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 -85. - -(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv -e -)) ABD: EveryShipout initializing macros -\AtBeginShipoutBox=\box56 -Package hyperref Info: Link coloring OFF on input line 7. +\AtBeginShipoutBox=\box61 +Package hyperref Info: Link coloring OFF on input line 9. (c:/texlive/2019/texmf-dist/tex/latex/hyperref/nameref.sty Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section -(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/refcount.sty -Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) -) (c:/texlive/2019/texmf-dist/tex/generic/oberdiek/gettitlestring.sty Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) ) -\c@section@level=\count165 +\c@section@level=\count171 ) -LaTeX Info: Redefining \ref on input line 7. -LaTeX Info: Redefining \pageref on input line 7. -LaTeX Info: Redefining \nameref on input line 7. +LaTeX Info: Redefining \ref on input line 9. +LaTeX Info: Redefining \pageref on input line 9. +LaTeX Info: Redefining \nameref on input line 9. (./RS.out) (./RS.out) \@outlinefile=\write5 \openout5 = `RS.out'. LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 7. +(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 7. +(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 7. +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 7. +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 9. \symnumbers=\mathgroup6 \sympureletters=\mathgroup7 LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' -(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 7. +(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' -(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 7. +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' -(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 7. +(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathit on input line 7. +(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' -(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 7. +(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 7. -LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 7. +(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' -(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 7. +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' -(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' -(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' -(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 7. +(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 7. +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 7. +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 7. +(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 9. (c:/texlive/2019/texmf-dist/tex/latex/translator/translator-basic-dictionary-En glish.dict @@ -907,15 +964,135 @@ Dictionary: translator-theorem-dictionary, Language: English ) (./RS.nav) Package hyperref Warning: Option `pdfauthor' has already been used, -(hyperref) setting the option has no effect on input line 8. +(hyperref) setting the option has no effect on input line 10. Package hyperref Warning: Option `pdfsubject' has already been used, -(hyperref) setting the option has no effect on input line 14. +(hyperref) setting the option has no effect on input line 16. [1 -{c:/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2 +] [2 + +] +File: images/fig1.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[3 + +] +File: images/fig2.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[4 + +] +File: images/fig3.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[5 + +] +File: images/fig4.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[6 + +] +File: images/fig5.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[7 + +] +File: images/fig6.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[8 + +] +File: images/fig7.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 52 + [] + +[9 + +] +LaTeX Font Info: Trying to load font information for OT1+lmss on input line +66. + (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd +File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OML+lmm on input line 6 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMS+lmsy on input line +66. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMX+lmex on input line +66. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10.95> on input line 66. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 66. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 66. +LaTeX Font Info: Trying to load font information for U+msa on input line 66. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 66. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +File: images/polynom1.pdf Graphic file (type pdf) + + [10 + +] +File: images/polynom2.pdf Graphic file (type pdf) + + [11 ] \tf@nav=\write6 @@ -927,30 +1104,21 @@ Package hyperref Warning: Option `pdfsubject' has already been used, \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 25. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 25. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 68. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 68. (./RS.aux) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 25. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 25. +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 68. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 68. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. +(rerunfilecheck) Checksum: 4CA0FF56E3EE124326A4720E136735D1. ) Here is how much of TeX's memory you used: - 18359 strings out of 492164 - 341776 string characters out of 6129087 - 431862 words of memory out of 5000000 - 22272 multiletter control sequences out of 15000+600000 - 19654 words of font info for 23 fonts, out of 8000000 for 9000 - 1141 hyphenation exceptions out of 8191 - 58i,12n,57p,796b,459s stack positions out of 5000i,500n,10000p,200000b,80000s -{c:/texlive/2019/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc} -Output written on RS.pdf (2 pages, 53965 bytes). -PDF statistics: - 42 PDF objects out of 1000 (max. 8388607) - 28 compressed objects within 1 object stream - 5 named destinations out of 1000 (max. 500000) - 43 words of extra memory for PDF output out of 10000 (max. 10000000) + 24329 strings out of 492483 + 450480 string characters out of 6132858 + 528380 words of memory out of 5000000 + 28307 multiletter control sequences out of 15000+600000 + 37892 words of font info for 41 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 58i,15n,57p,796b,539s stack positions out of 5000i,500n,10000p,200000b,80000s +Output written on RS.pdf (11 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 9033d8b..3edba3c 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -1,9 +1,16 @@ \headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} \headcommand {\beamer@framepages {1}{1}} -\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}} +\headcommand {\beamer@sectionpages {1}{1}} +\headcommand {\beamer@subsectionpages {1}{1}} +\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}} +\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} \headcommand {\beamer@framepages {2}{2}} -\headcommand {\beamer@partpages {1}{2}} -\headcommand {\beamer@subsectionpages {1}{2}} -\headcommand {\beamer@sectionpages {1}{2}} -\headcommand {\beamer@documentpages {2}} -\headcommand {\gdef \inserttotalframenumber {2}} +\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}} +\headcommand {\beamer@framepages {3}{9}} +\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}} +\headcommand {\beamer@framepages {10}{11}} +\headcommand {\beamer@partpages {1}{11}} +\headcommand {\beamer@subsectionpages {2}{11}} +\headcommand {\beamer@sectionpages {2}{11}} +\headcommand {\beamer@documentpages {11}} +\headcommand {\gdef \inserttotalframenumber {4}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index e69de29..dec2d7d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -0,0 +1 @@ +\BOOKMARK [2][]{Outline0.1}{Introduction}{}% 1 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index 459d7e8..10719b7 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index fe8adf5..2fe95de 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 3d2be8f..fb822da 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -3,7 +3,9 @@ \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[ngerman]{babel} +\usepackage{tikz} \usetheme{Hannover} + \begin{document} \author{Joshua Bär und Michael Steiner} \title{Reed-Solomon-Code} @@ -17,9 +19,51 @@ \begin{frame}[plain] \maketitle \end{frame} - + \section{Introduction} + \begin{frame} + \frametitle{Idee} + + \end{frame} + \begin{frame} - \frametitle{Test} - Ich mag Züge. + \begin{figure} + \only<1>{ + \includegraphics[width=0.9\linewidth]{images/fig1.pdf} + } + \only<2>{ + \includegraphics[width=0.9\linewidth]{images/fig2.pdf} + } + \only<3>{ + \includegraphics[width=0.9\linewidth]{images/fig3.pdf} + } + \only<4>{ + \includegraphics[width=0.9\linewidth]{images/fig4.pdf} + } + \only<5>{ + \includegraphics[width=0.9\linewidth]{images/fig5.pdf} + } + \only<6>{ + \includegraphics[width=0.9\linewidth]{images/fig6.pdf} + } + \only<7>{ + \includegraphics[width=0.9\linewidth]{images/fig7.pdf} + } + \end{figure} \end{frame} + + \begin{frame} + Übertragen von den Zahlen + \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} + als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{green}{15}, \textcolor{green}{26}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \only<1>{ + \includegraphics[]{images/polynom1.pdf}} + \only<2>{ + \includegraphics[]{images/polynom2.pdf}} + \end{frame} + + \end{document} \ No newline at end of file diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index 4cd1c86..32e7e8d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1 +1,2 @@ \babel@toc {ngerman}{} +\beamer@sectionintoc {1}{Introduction}{2}{0}{1} diff --git a/buch/papers/reedsolomon/RS presentation/Thumbs.db b/buch/papers/reedsolomon/RS presentation/Thumbs.db deleted file mode 100644 index 1626e26..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/Thumbs.db and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf index 5cff7fe..abde60c 100644 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf and b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex b/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex deleted file mode 100644 index cb323ae..0000000 --- a/buch/papers/reedsolomon/RS presentation/images/fig1.pdf_tex +++ /dev/null @@ -1,81 +0,0 @@ -%% Creator: Inkscape 1.0.2 (e86c870879, 2021-01-15, custom), www.inkscape.org -%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 -%% Accompanies image file 'fig1.pdf' (pdf, eps, ps) -%% -%% To include the image in your LaTeX document, write -%% \input{.pdf_tex} -%% instead of -%% \includegraphics{.pdf} -%% To scale the image, write -%% \def\svgwidth{} -%% \input{.pdf_tex} -%% instead of -%% \includegraphics[width=]{.pdf} -%% -%% Images with a different path to the parent latex file can -%% be accessed with the `import' package (which may need to be -%% installed) using -%% \usepackage{import} -%% in the preamble, and then including the image with -%% \import{}{.pdf_tex} -%% Alternatively, one can specify -%% \graphicspath{{/}} -%% -%% For more information, please see info/svg-inkscape on CTAN: -%% http://tug.ctan.org/tex-archive/info/svg-inkscape -%% -\begingroup% - \makeatletter% - \providecommand\color[2][]{% - \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% - \renewcommand\color[2][]{}% - }% - \providecommand\transparent[1]{% - \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% - \renewcommand\transparent[1]{}% - }% - \providecommand\rotatebox[2]{#2}% - \newcommand*\fsize{\dimexpr\f@size pt\relax}% - \newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}% - \ifx\svgwidth\undefined% - \setlength{\unitlength}{420bp}% - \ifx\svgscale\undefined% - \relax% - \else% - \setlength{\unitlength}{\unitlength * \real{\svgscale}}% - \fi% - \else% - \setlength{\unitlength}{\svgwidth}% - \fi% - \global\let\svgwidth\undefined% - \global\let\svgscale\undefined% - \makeatother% - \begin{picture}(1,0.75)% - \lineheight{1}% - \setlength\tabcolsep{0pt}% - \put(0,0){\includegraphics[width=\unitlength,page=1]{fig1.pdf}}% - \put(0.19038536,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% - \put(0.27196429,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}20\end{tabular}}}}% - \put(0.35354321,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}30\end{tabular}}}}% - \put(0.43512214,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}40\end{tabular}}}}% - \put(0.51670107,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}50\end{tabular}}}}% - \put(0.59828,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}60\end{tabular}}}}% - \put(0.67985893,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}70\end{tabular}}}}% - \put(0.76143804,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}80\end{tabular}}}}% - \put(0.84301696,0.04761911){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}90\end{tabular}}}}% - \put(0,0){\includegraphics[width=\unitlength,page=2]{fig1.pdf}}% - \put(0.10654768,0.07232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0\end{tabular}}}}% - \put(0.10654768,0.13357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1\end{tabular}}}}% - \put(0.10654768,0.19482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2\end{tabular}}}}% - \put(0.10654768,0.25607143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}3\end{tabular}}}}% - \put(0.10654768,0.31732143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}4\end{tabular}}}}% - \put(0.10654768,0.37857143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}5\end{tabular}}}}% - \put(0.10654768,0.43982143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}6\end{tabular}}}}% - \put(0.10654768,0.50107143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}7\end{tabular}}}}% - \put(0.10654768,0.56232143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}8\end{tabular}}}}% - \put(0.10654768,0.62357143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}9\end{tabular}}}}% - \put(0.09404768,0.68482143){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}10\end{tabular}}}}% - \put(0.47857196,0.70669643){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}\textbf{Signal}\end{tabular}}}}% - \put(0,0){\includegraphics[width=\unitlength,page=3]{fig1.pdf}}% - \end{picture}% -\endgroup% diff --git a/buch/papers/reedsolomon/RS presentation/images/fig1.png b/buch/papers/reedsolomon/RS presentation/images/fig1.png deleted file mode 100644 index a0395d7..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig1.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.pdf b/buch/papers/reedsolomon/RS presentation/images/fig2.pdf new file mode 100644 index 0000000..8281ce7 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig2.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig2.png b/buch/papers/reedsolomon/RS presentation/images/fig2.png deleted file mode 100644 index bd8faa0..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig2.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.pdf b/buch/papers/reedsolomon/RS presentation/images/fig3.pdf new file mode 100644 index 0000000..7d29d1e Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig3.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig3.png b/buch/papers/reedsolomon/RS presentation/images/fig3.png deleted file mode 100644 index e14358d..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig3.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.pdf b/buch/papers/reedsolomon/RS presentation/images/fig4.pdf new file mode 100644 index 0000000..394a673 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig4.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig4.png b/buch/papers/reedsolomon/RS presentation/images/fig4.png deleted file mode 100644 index 1821c3b..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig4.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.pdf b/buch/papers/reedsolomon/RS presentation/images/fig5.pdf new file mode 100644 index 0000000..37416a9 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig5.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig5.png b/buch/papers/reedsolomon/RS presentation/images/fig5.png deleted file mode 100644 index e4abbaa..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig5.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.pdf b/buch/papers/reedsolomon/RS presentation/images/fig6.pdf new file mode 100644 index 0000000..61cbc01 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig6.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig6.png b/buch/papers/reedsolomon/RS presentation/images/fig6.png deleted file mode 100644 index 5447949..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig6.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.pdf b/buch/papers/reedsolomon/RS presentation/images/fig7.pdf new file mode 100644 index 0000000..7397ffe Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/fig7.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/fig7.png b/buch/papers/reedsolomon/RS presentation/images/fig7.png deleted file mode 100644 index a850402..0000000 Binary files a/buch/papers/reedsolomon/RS presentation/images/fig7.png and /dev/null differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.aux b/buch/papers/reedsolomon/RS presentation/images/polynom1.aux new file mode 100644 index 0000000..f23e546 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.aux @@ -0,0 +1 @@ +\relax diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.log b/buch/papers/reedsolomon/RS presentation/images/polynom1.log new file mode 100644 index 0000000..183eaea --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.log @@ -0,0 +1,747 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:27 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**polynom1.tex +(./polynom1.tex +LaTeX2e <2019-10-01> patch level 1 +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cls +Document Class: standalone 2018/03/26 v1.3a Class to compile TeX sub-files stan +dalone +(c:/texlive/2019/texmf-dist/tex/latex/tools/shellesc.sty +Package: shellesc 2016/06/07 v0.02b unified shell escape interface for LaTeX +Package shellesc Info: Restricted shell escape enabled on input line 72. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +(c:/texlive/2019/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2014/12/03 v2.7a package option processing (HA) + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkeyval.tex +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks14 +\XKV@tempa@toks=\toks15 + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count80 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +\sa@internal=\count81 +\c@sapage=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cfg +File: standalone.cfg 2018/03/26 v1.3a Default configuration file for 'standalon +e' class +) +(c:/texlive/2019/texmf-dist/tex/latex/base/article.cls +Document Class: article 2019/08/27 v1.4j Standard LaTeX document class +(c:/texlive/2019/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2019/08/27 v1.4j Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen103 +\pgfutil@tempdimb=\dimen104 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box27 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +)) +\Gin@req@height=\dimen105 +\Gin@req@width=\dimen106 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen107 +\pgf@y=\dimen108 +\pgf@xa=\dimen109 +\pgf@ya=\dimen110 +\pgf@xb=\dimen111 +\pgf@yb=\dimen112 +\pgf@xc=\dimen113 +\pgf@yc=\dimen114 +\pgf@xd=\dimen115 +\pgf@yd=\dimen116 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count91 +\c@pgf@countb=\count92 +\c@pgf@countc=\count93 +\c@pgf@countd=\count94 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count95 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count96 +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count97 +\pgfsyssoftpath@bigbuffer@items=\count98 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen117 +\pgfmath@count=\count99 +\pgfmath@box=\box28 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count100 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen118 +\pgf@picmaxx=\dimen119 +\pgf@picminy=\dimen120 +\pgf@picmaxy=\dimen121 +\pgf@pathminx=\dimen122 +\pgf@pathmaxx=\dimen123 +\pgf@pathminy=\dimen124 +\pgf@pathmaxy=\dimen125 +\pgf@xx=\dimen126 +\pgf@xy=\dimen127 +\pgf@yx=\dimen128 +\pgf@yy=\dimen129 +\pgf@zx=\dimen130 +\pgf@zy=\dimen131 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen132 +\pgf@path@lasty=\dimen133 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen134 +\pgf@shorten@start@additional=\dimen135 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box29 +\pgf@hbox=\box30 +\pgf@layerbox@main=\box31 +\pgf@picture@serial@count=\count101 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen136 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen137 +\pgf@pt@y=\dimen138 +\pgf@pt@temp=\dimen139 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen140 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen141 +\pgf@sys@shading@range@num=\count102 +\pgf@shadingcount=\count103 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box32 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.te +x +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box33 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen142 +\pgf@nodesepend=\dimen143 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen144 +\pgffor@skip=\dimen145 +\pgffor@stack=\toks26 +\pgffor@toks=\toks27 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count104 +\pgfplotmarksize=\dimen146 +) +\tikz@lastx=\dimen147 +\tikz@lasty=\dimen148 +\tikz@lastxsaved=\dimen149 +\tikz@lastysaved=\dimen150 +\tikz@lastmovetox=\dimen151 +\tikz@lastmovetoy=\dimen152 +\tikzleveldistance=\dimen153 +\tikzsiblingdistance=\dimen154 +\tikz@figbox=\box34 +\tikz@figbox@bg=\box35 +\tikz@tempbox=\box36 +\tikz@tempbox@bg=\box37 +\tikztreelevel=\count105 +\tikznumberofchildren=\count106 +\tikznumberofcurrentchild=\count107 +\tikz@fig@count=\count108 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count109 +\pgfmatrixcurrentcolumn=\count110 +\pgf@matrix@numberofcolumns=\count111 +) +\tikz@expandcount=\count112 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +\sa@box=\box38 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/04/01 v2.17c AMS math features +\@mathmargin=\skip43 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks28 +\ex@=\dimen155 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count113 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count114 +\leftroot@=\count115 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count116 +\DOTSCASE@=\count117 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box39 +\strutbox@=\box40 +\big@size=\dimen157 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count118 +\c@MaxMatrixCols=\count119 +\dotsspace@=\muskip10 +\c@parentequation=\count120 +\dspbrk@lvl=\count121 +\tag@help=\toks29 +\row@=\count122 +\column@=\count123 +\maxfields@=\count124 +\andhelp@=\toks30 +\eqnshift@=\dimen158 +\alignsep@=\dimen159 +\tagshift@=\dimen160 +\tagwidth@=\dimen161 +\totwidth@=\dimen162 +\lineht@=\dimen163 +\@envbody=\toks31 +\multlinegap=\skip44 +\multlinetaggap=\skip45 +\mathdisplay@stack=\toks32 +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. +) +(c:/texlive/2019/texmf-dist/tex/latex/psnfss/times.sty +Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) +) +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/txfonts.sty +Package: txfonts 2008/01/22 v3.2.1 +LaTeX Font Info: Redeclaring symbol font `operators' on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/txr/m/n --> OT1/txr/bx/n on input line 22. +\symitalic=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `italic' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 26. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 31. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/txss/m/n --> OT1/txss/b/n on input line 41. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/txtt/m/n --> OT1/txtt/b/n on input line 51. +LaTeX Font Info: Redeclaring symbol font `letters' on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/txmi/m/it --> OML/txmi/bx/it on input line 59. +\symlettersA=\mathgroup5 +LaTeX Font Info: Overwriting symbol font `lettersA' in version `bold' +(Font) U/txmia/m/it --> U/txmia/bx/it on input line 67. +LaTeX Font Info: Redeclaring symbol font `symbols' on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/txsy/m/n --> OMS/txsy/bx/n on input line 78. +\symAMSa=\mathgroup6 +LaTeX Font Info: Overwriting symbol font `AMSa' in version `bold' +(Font) U/txsya/m/n --> U/txsya/bx/n on input line 94. +\symAMSb=\mathgroup7 +LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold' +(Font) U/txsyb/m/n --> U/txsyb/bx/n on input line 103. +\symsymbolsC=\mathgroup8 +LaTeX Font Info: Overwriting symbol font `symbolsC' in version `bold' +(Font) U/txsyc/m/n --> U/txsyc/bx/n on input line 113. +LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/txex/m/n --> OMX/txex/bx/n on input line 121. +\symlargesymbolsA=\mathgroup9 +LaTeX Font Info: Overwriting symbol font `largesymbolsA' in version `bold' +(Font) U/txexa/m/n --> U/txexa/bx/n on input line 129. +LaTeX Font Info: Redeclaring math symbol \mathsterling on input line 164. +LaTeX Font Info: Redeclaring math symbol \hbar on input line 591. +LaTeX Info: Redefining \not on input line 1043. +) +(c:/texlive/2019/texmf-dist/tex/latex/pgfplots/pgfplots.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex) +Package: pgfplots 2018/03/28 v1.16 Data Visualization (1.16) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +\t@pgfplots@toka=\toks33 +\t@pgfplots@tokb=\toks34 +\t@pgfplots@tokc=\toks35 +\pgfplots@tmpa=\dimen164 +\c@pgfplots@coordindex=\count125 +\c@pgfplots@scanlineindex=\count126 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.te +x)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfs +upp_loader.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +cture.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +ctureext.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.co +de.tex +\c@pgfplotsarray@tmp=\count127 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.c +ode.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.c +ode.tex +\c@pgfplotstable@counta=\count128 +\t@pgfplotstable@a=\toks36 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code. +tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfsh +ading.code.tex +\c@pgfplotslibrarysurf@no=\count129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-xetex.def +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-dvipdfmx.def +\c@pgfplotslibrarysurf@streamlen=\count130 +)))) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.t +ex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex +))) (c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.t +ex +\pgfdecoratedcompleteddistance=\dimen165 +\pgfdecoratedremainingdistance=\dimen166 +\pgfdecoratedinputsegmentcompleteddistance=\dimen167 +\pgfdecoratedinputsegmentremainingdistance=\dimen168 +\pgf@decorate@distancetomove=\dimen169 +\pgf@decorate@repeatstate=\count131 +\pgfdecorationsegmentamplitude=\dimen170 +\pgfdecorationsegmentlength=\dimen171 +) +\tikz@lib@dec@box=\box41 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathmorphing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathmorphing.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathreplacing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathreplacing.code.tex)) +\pgfplots@numplots=\count132 +\pgfplots@xmin@reg=\dimen172 +\pgfplots@xmax@reg=\dimen173 +\pgfplots@ymin@reg=\dimen174 +\pgfplots@ymax@reg=\dimen175 +\pgfplots@zmin@reg=\dimen176 +\pgfplots@zmax@reg=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryplotmarks.code.tex +File: tikzlibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code. +tex +File: pgflibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/csvsimple/csvsimple.sty +Package: csvsimple 2019/04/09 version 1.21 LaTeX CSV file processing + +(c:/texlive/2019/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count133 +) +\csv@file=\read2 +\c@csvinputline=\count134 +\c@csvrow=\count135 +\c@csvcol=\count136 +\csv@out=\write4 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryarrows.code.tex +File: tikzlibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +File: pgflibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\arrowsize=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryintersections.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.c +ode.tex +\pgf@intersect@solutions=\count137 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarymath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryfpu.code.tex) +\tikz@math@for@depth=\count138 +\tikz@math@dimen=\dimen179 +\tikz@math@toks=\toks37 +) (./polynom1.aux) +\openout1 = `polynom1.aux'. + +LaTeX Font Info: Checking defaults for OML/txmi/m/it on input line 11. +LaTeX Font Info: Trying to load font information for OML+txmi on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omltxmi.fd +File: omltxmi.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/txsy/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMS+txsy on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omstxsy.fd +File: omstxsy.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/txex/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMX+txex on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omxtxex.fd +File: omxtxex.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/txexa/m/n on input line 11. +LaTeX Font Info: Trying to load font information for U+txexa on input line 1 +1. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxexa.fd +File: utxexa.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Trying to load font information for TU+txr on input line 11 +. +LaTeX Font Info: No file TUtxr.fd. on input line 11. + + +LaTeX Font Warning: Font shape `TU/txr/m/n' undefined +(Font) using `TU/lmr/m/n' instead on input line 11. + +ABD: EveryShipout initializing macros + +Package pgfplots Warning: running in backwards compatibility mode (unsuitable t +ick labels; missing features). Consider writing \pgfplotsset{compat=1.16} into +your preamble. + on input line 11. + +LaTeX Font Info: Trying to load font information for OT1+txr on input line 2 +6. +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/ot1txr.fd +File: ot1txr.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txmia on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxmia.fd +File: utxmia.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsya on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsya.fd +File: utxsya.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyb on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyb.fd +File: utxsyb.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyc on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyc.fd +File: utxsyc.fd 2000/12/15 v3.1 +) [1 + +] (./polynom1.aux) + +LaTeX Font Warning: Some font shapes were not available, defaults substituted. + + ) +Here is how much of TeX's memory you used: + 25076 strings out of 492483 + 634297 string characters out of 6132858 + 794987 words of memory out of 5000000 + 29148 multiletter control sequences out of 15000+600000 + 13575 words of font info for 45 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 68i,6n,98p,840b,724s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on polynom1.pdf (1 page). diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf b/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf new file mode 100644 index 0000000..1f632d8 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom1.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz b/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz new file mode 100644 index 0000000..578f2a3 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom1.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom1.tex b/buch/papers/reedsolomon/RS presentation/images/polynom1.tex new file mode 100644 index 0000000..db83daa --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom1.tex @@ -0,0 +1,59 @@ +% polynome1 +%------------------- +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\newcommand{\teiler}{40} +\begin{document} + %Übertragen von den Zahlen + %\textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} + %als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline + %Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + % \textcolor{green}{15}, \textcolor{green}{26}, + % \textcolor{green}{ 41}, \textcolor{green}{60}, + % \textcolor{green}{83}, \textcolor{green}{110})$ + + +\begin{tikzpicture}[>=latex,thick] + +\draw[color=blue, line width=1.4pt] +plot[domain=0:8, samples=100] + ({\x},{(2*\x^2+1*\x+5)/\teiler}); +\draw[->] (-0.2,0) -- (8,0) coordinate[label={$x$}]; +\draw[->] (0,-0.2) -- (0,150/\teiler) coordinate[label={right:$p(x)$}]; +\def\punkt#1{ + \fill[color=green] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; +} +\punkt{(1,8/\teiler)} +\punkt{(2,15/\teiler)} +\punkt{(3,26/\teiler)} +\punkt{(4,41/\teiler)} +\punkt{(5,60/\teiler)} +\punkt{(6,83/\teiler)} +\punkt{(7,110/\teiler)} +%\draw[color=gray,line width=1pt,dashed] +%plot[domain=0.5:7, samples=100] +%({\x},{(0.1958*\x^2-1.2875*\x+3.0417)}); +%\def\erpunkt#1{ +% \fill[color=red] #1 circle[radius=0.08]; +% \draw #1 circle[radius=0.07]; +%} +%\erpunkt{(2,50/\teiler)} +%\erpunkt{(3,0.9414)} +%\punkt{(4,41/\teiler)} +%\punkt{(5,60/\teiler)} + +\draw(0,100/\teiler) -- (-0.1,100/\teiler) coordinate[label={left:$100$}]; +\draw(1,0) -- (1,-0.1) coordinate[label={below:$1$}]; + + + + +\end{tikzpicture} +\end{document} + diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.aux b/buch/papers/reedsolomon/RS presentation/images/polynom2.aux new file mode 100644 index 0000000..f23e546 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.aux @@ -0,0 +1 @@ +\relax diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.log b/buch/papers/reedsolomon/RS presentation/images/polynom2.log new file mode 100644 index 0000000..169203e --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.log @@ -0,0 +1,747 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:28 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**polynom2.tex +(./polynom2.tex +LaTeX2e <2019-10-01> patch level 1 +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cls +Document Class: standalone 2018/03/26 v1.3a Class to compile TeX sub-files stan +dalone +(c:/texlive/2019/texmf-dist/tex/latex/tools/shellesc.sty +Package: shellesc 2016/06/07 v0.02b unified shell escape interface for LaTeX +Package shellesc Info: Restricted shell escape enabled on input line 72. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +(c:/texlive/2019/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2014/12/03 v2.7a package option processing (HA) + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkeyval.tex +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks14 +\XKV@tempa@toks=\toks15 + +(c:/texlive/2019/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count80 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +\sa@internal=\count81 +\c@sapage=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/standalone/standalone.cfg +File: standalone.cfg 2018/03/26 v1.3a Default configuration file for 'standalon +e' class +) +(c:/texlive/2019/texmf-dist/tex/latex/base/article.cls +Document Class: article 2019/08/27 v1.4j Standard LaTeX document class +(c:/texlive/2019/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2019/08/27 v1.4j Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen103 +\pgfutil@tempdimb=\dimen104 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box27 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +)) +\Gin@req@height=\dimen105 +\Gin@req@width=\dimen106 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen107 +\pgf@y=\dimen108 +\pgf@xa=\dimen109 +\pgf@ya=\dimen110 +\pgf@xb=\dimen111 +\pgf@yb=\dimen112 +\pgf@xc=\dimen113 +\pgf@yc=\dimen114 +\pgf@xd=\dimen115 +\pgf@yd=\dimen116 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count91 +\c@pgf@countb=\count92 +\c@pgf@countc=\count93 +\c@pgf@countd=\count94 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count95 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count96 +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count97 +\pgfsyssoftpath@bigbuffer@items=\count98 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen117 +\pgfmath@count=\count99 +\pgfmath@box=\box28 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count100 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen118 +\pgf@picmaxx=\dimen119 +\pgf@picminy=\dimen120 +\pgf@picmaxy=\dimen121 +\pgf@pathminx=\dimen122 +\pgf@pathmaxx=\dimen123 +\pgf@pathminy=\dimen124 +\pgf@pathmaxy=\dimen125 +\pgf@xx=\dimen126 +\pgf@xy=\dimen127 +\pgf@yx=\dimen128 +\pgf@yy=\dimen129 +\pgf@zx=\dimen130 +\pgf@zy=\dimen131 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen132 +\pgf@path@lasty=\dimen133 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen134 +\pgf@shorten@start@additional=\dimen135 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box29 +\pgf@hbox=\box30 +\pgf@layerbox@main=\box31 +\pgf@picture@serial@count=\count101 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen136 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen137 +\pgf@pt@y=\dimen138 +\pgf@pt@temp=\dimen139 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen140 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen141 +\pgf@sys@shading@range@num=\count102 +\pgf@shadingcount=\count103 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box32 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.te +x +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box33 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen142 +\pgf@nodesepend=\dimen143 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen144 +\pgffor@skip=\dimen145 +\pgffor@stack=\toks26 +\pgffor@toks=\toks27 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count104 +\pgfplotmarksize=\dimen146 +) +\tikz@lastx=\dimen147 +\tikz@lasty=\dimen148 +\tikz@lastxsaved=\dimen149 +\tikz@lastysaved=\dimen150 +\tikz@lastmovetox=\dimen151 +\tikz@lastmovetoy=\dimen152 +\tikzleveldistance=\dimen153 +\tikzsiblingdistance=\dimen154 +\tikz@figbox=\box34 +\tikz@figbox@bg=\box35 +\tikz@tempbox=\box36 +\tikz@tempbox@bg=\box37 +\tikztreelevel=\count105 +\tikznumberofchildren=\count106 +\tikznumberofcurrentchild=\count107 +\tikz@fig@count=\count108 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count109 +\pgfmatrixcurrentcolumn=\count110 +\pgf@matrix@numberofcolumns=\count111 +) +\tikz@expandcount=\count112 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +\sa@box=\box38 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/04/01 v2.17c AMS math features +\@mathmargin=\skip43 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks28 +\ex@=\dimen155 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count113 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count114 +\leftroot@=\count115 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count116 +\DOTSCASE@=\count117 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box39 +\strutbox@=\box40 +\big@size=\dimen157 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count118 +\c@MaxMatrixCols=\count119 +\dotsspace@=\muskip10 +\c@parentequation=\count120 +\dspbrk@lvl=\count121 +\tag@help=\toks29 +\row@=\count122 +\column@=\count123 +\maxfields@=\count124 +\andhelp@=\toks30 +\eqnshift@=\dimen158 +\alignsep@=\dimen159 +\tagshift@=\dimen160 +\tagwidth@=\dimen161 +\totwidth@=\dimen162 +\lineht@=\dimen163 +\@envbody=\toks31 +\multlinegap=\skip44 +\multlinetaggap=\skip45 +\mathdisplay@stack=\toks32 +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. +) +(c:/texlive/2019/texmf-dist/tex/latex/psnfss/times.sty +Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) +) +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/txfonts.sty +Package: txfonts 2008/01/22 v3.2.1 +LaTeX Font Info: Redeclaring symbol font `operators' on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/m/n on input line 21. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/txr/m/n --> OT1/txr/bx/n on input line 22. +\symitalic=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `italic' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 26. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/txr/bx/n on input line 29. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/txr/m/it on input line 30. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/txr/m/it --> OT1/txr/bx/it on input line 31. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/txss/m/n on input line 40. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/txss/m/n --> OT1/txss/b/n on input line 41. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/txtt/m/n on input line 50. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/txtt/m/n --> OT1/txtt/b/n on input line 51. +LaTeX Font Info: Redeclaring symbol font `letters' on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/txmi/m/it on input line 58. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/txmi/m/it --> OML/txmi/bx/it on input line 59. +\symlettersA=\mathgroup5 +LaTeX Font Info: Overwriting symbol font `lettersA' in version `bold' +(Font) U/txmia/m/it --> U/txmia/bx/it on input line 67. +LaTeX Font Info: Redeclaring symbol font `symbols' on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/txsy/m/n on input line 77. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/txsy/m/n --> OMS/txsy/bx/n on input line 78. +\symAMSa=\mathgroup6 +LaTeX Font Info: Overwriting symbol font `AMSa' in version `bold' +(Font) U/txsya/m/n --> U/txsya/bx/n on input line 94. +\symAMSb=\mathgroup7 +LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold' +(Font) U/txsyb/m/n --> U/txsyb/bx/n on input line 103. +\symsymbolsC=\mathgroup8 +LaTeX Font Info: Overwriting symbol font `symbolsC' in version `bold' +(Font) U/txsyc/m/n --> U/txsyc/bx/n on input line 113. +LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/txex/m/n on input line 120. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/txex/m/n --> OMX/txex/bx/n on input line 121. +\symlargesymbolsA=\mathgroup9 +LaTeX Font Info: Overwriting symbol font `largesymbolsA' in version `bold' +(Font) U/txexa/m/n --> U/txexa/bx/n on input line 129. +LaTeX Font Info: Redeclaring math symbol \mathsterling on input line 164. +LaTeX Font Info: Redeclaring math symbol \hbar on input line 591. +LaTeX Info: Redefining \not on input line 1043. +) +(c:/texlive/2019/texmf-dist/tex/latex/pgfplots/pgfplots.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex) +Package: pgfplots 2018/03/28 v1.16 Data Visualization (1.16) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +\t@pgfplots@toka=\toks33 +\t@pgfplots@tokb=\toks34 +\t@pgfplots@tokc=\toks35 +\pgfplots@tmpa=\dimen164 +\c@pgfplots@coordindex=\count125 +\c@pgfplots@scanlineindex=\count126 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.te +x)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfs +upp_loader.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +cture.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststru +ctureext.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.co +de.tex +\c@pgfplotsarray@tmp=\count127 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.c +ode.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.c +ode.tex +\c@pgfplotstable@counta=\count128 +\t@pgfplotstable@a=\toks36 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code. +tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfsh +ading.code.tex +\c@pgfplotslibrarysurf@no=\count129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-xetex.def +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfsha +ding.pgfsys-dvipdfmx.def +\c@pgfplotslibrarysurf@streamlen=\count130 +)))) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.t +ex +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex +))) (c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex) + +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.t +ex +\pgfdecoratedcompleteddistance=\dimen165 +\pgfdecoratedremainingdistance=\dimen166 +\pgfdecoratedinputsegmentcompleteddistance=\dimen167 +\pgfdecoratedinputsegmentremainingdistance=\dimen168 +\pgf@decorate@distancetomove=\dimen169 +\pgf@decorate@repeatstate=\count131 +\pgfdecorationsegmentamplitude=\dimen170 +\pgfdecorationsegmentlength=\dimen171 +) +\tikz@lib@dec@box=\box41 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathmorphing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathmorphing.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarydecorations.pathreplacing.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydec +orations.pathreplacing.code.tex)) +\pgfplots@numplots=\count132 +\pgfplots@xmin@reg=\dimen172 +\pgfplots@xmax@reg=\dimen173 +\pgfplots@ymin@reg=\dimen174 +\pgfplots@ymax@reg=\dimen175 +\pgfplots@zmin@reg=\dimen176 +\pgfplots@zmax@reg=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryplotmarks.code.tex +File: tikzlibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code. +tex +File: pgflibraryplotmarks.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/csvsimple/csvsimple.sty +Package: csvsimple 2019/04/09 version 1.21 LaTeX CSV file processing + +(c:/texlive/2019/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count133 +) +\csv@file=\read2 +\c@csvinputline=\count134 +\c@csvrow=\count135 +\c@csvcol=\count136 +\csv@out=\write4 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryarrows.code.tex +File: tikzlibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +File: pgflibraryarrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\arrowsize=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryintersections.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.c +ode.tex +\pgf@intersect@solutions=\count137 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarymath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +braryfpu.code.tex) +\tikz@math@for@depth=\count138 +\tikz@math@dimen=\dimen179 +\tikz@math@toks=\toks37 +) (./polynom2.aux) +\openout1 = `polynom2.aux'. + +LaTeX Font Info: Checking defaults for OML/txmi/m/it on input line 11. +LaTeX Font Info: Trying to load font information for OML+txmi on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omltxmi.fd +File: omltxmi.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/txsy/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMS+txsy on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omstxsy.fd +File: omstxsy.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/txex/m/n on input line 11. +LaTeX Font Info: Trying to load font information for OMX+txex on input line +11. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/omxtxex.fd +File: omxtxex.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/txexa/m/n on input line 11. +LaTeX Font Info: Trying to load font information for U+txexa on input line 1 +1. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxexa.fd +File: utxexa.fd 2000/12/15 v3.1 +) +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Trying to load font information for TU+txr on input line 11 +. +LaTeX Font Info: No file TUtxr.fd. on input line 11. + + +LaTeX Font Warning: Font shape `TU/txr/m/n' undefined +(Font) using `TU/lmr/m/n' instead on input line 11. + +ABD: EveryShipout initializing macros + +Package pgfplots Warning: running in backwards compatibility mode (unsuitable t +ick labels; missing features). Consider writing \pgfplotsset{compat=1.16} into +your preamble. + on input line 11. + +LaTeX Font Info: Trying to load font information for OT1+txr on input line 2 +6. +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/ot1txr.fd +File: ot1txr.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txmia on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxmia.fd +File: utxmia.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsya on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsya.fd +File: utxsya.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyb on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyb.fd +File: utxsyb.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Trying to load font information for U+txsyc on input line 2 +6. + +(c:/texlive/2019/texmf-dist/tex/latex/txfonts/utxsyc.fd +File: utxsyc.fd 2000/12/15 v3.1 +) [1 + +] (./polynom2.aux) + +LaTeX Font Warning: Some font shapes were not available, defaults substituted. + + ) +Here is how much of TeX's memory you used: + 25292 strings out of 492483 + 638772 string characters out of 6132858 + 794987 words of memory out of 5000000 + 29364 multiletter control sequences out of 15000+600000 + 13575 words of font info for 45 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 68i,6n,98p,840b,724s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on polynom2.pdf (1 page). diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf b/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf new file mode 100644 index 0000000..05f4ba0 Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom2.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz b/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz new file mode 100644 index 0000000..24859aa Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/images/polynom2.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/images/polynom2.tex b/buch/papers/reedsolomon/RS presentation/images/polynom2.tex new file mode 100644 index 0000000..aa792ce --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/images/polynom2.tex @@ -0,0 +1,57 @@ +% polynome2 +%------------------- +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\newcommand{\teiler}{40} +\begin{document} + %Übertragen von den Zahlen + %\textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} + %als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline + %Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + % \textcolor{green}{15}, \textcolor{green}{26}, + % \textcolor{green}{ 41}, \textcolor{green}{60}, + % \textcolor{green}{83}, \textcolor{green}{110})$ + + + \begin{tikzpicture}[>=latex,thick] + + \draw[color=blue, line width=1.4pt] + plot[domain=0:8, samples=100] + ({\x},{(2*\x^2+1*\x+5)/\teiler}); + \draw[->] (-0.2,0) -- (8,0) coordinate[label={$x$}]; + \draw[->] (0,-0.2) -- (0,150/\teiler) coordinate[label={right:$p(x)$}]; + \def\punkt#1{ + \fill[color=green] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; + } + \punkt{(1,8/\teiler)} + %\punkt{(2,15/\teiler)} + %\punkt{(3,26/\teiler)} + \punkt{(4,41/\teiler)} + \punkt{(5,60/\teiler)} + \punkt{(6,83/\teiler)} + \punkt{(7,110/\teiler)} + \draw[color=gray,line width=1pt,dashed] + plot[domain=0.5:7, samples=100] + ({\x},{(0.1958*\x^2-1.2875*\x+3.0417)}); + \def\erpunkt#1{ + \fill[color=red] #1 circle[radius=0.08]; + \draw #1 circle[radius=0.07]; + } + \erpunkt{(2,50/\teiler)} + \erpunkt{(3,0.9414)} + + + \draw(0,100/\teiler) -- (-0.1,100/\teiler) coordinate[label={left:$100$}]; + \draw(1,0) -- (1,-0.1) coordinate[label={below:$1$}]; + + + + + \end{tikzpicture} +\end{document} -- cgit v1.2.1 From 10f3cdb829c001c341ea31415efb44ff6a2878b8 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 17:30:50 +0200 Subject: Persentation stand 17:30 --- buch/papers/reedsolomon/RS presentation/RS.aux | 37 +++++- buch/papers/reedsolomon/RS presentation/RS.log | 145 +++++++++++---------- buch/papers/reedsolomon/RS presentation/RS.nav | 26 +++- buch/papers/reedsolomon/RS presentation/RS.out | 4 +- buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 117082 -> 132691 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 1 + .../reedsolomon/RS presentation/RS.synctex.gz | Bin 6763 -> 19501 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 109 ++++++++++++++-- buch/papers/reedsolomon/RS presentation/RS.toc | 4 +- 9 files changed, 235 insertions(+), 91 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index fff632d..6294c05 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -22,10 +22,10 @@ \@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} \HyPL@Entry{1<>} -\@writefile{toc}{\beamer@sectionintoc {1}{Introduction}{2}{0}{1}} +\@writefile{toc}{\beamer@sectionintoc {1}{Einführung}{2}{0}{1}} \@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} \@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} -\@writefile{nav}{\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}}} +\@writefile{nav}{\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}}} \@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} \HyPL@Entry{2<>} @@ -34,8 +34,33 @@ \HyPL@Entry{9<>} \@writefile{nav}{\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {10}{11}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{11}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} +\HyPL@Entry{11<>} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2}} \@writefile{nav}{\headcommand {\beamer@sectionpages {2}{11}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {11}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {4}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}}} +\@writefile{snm}{\beamer@slide {ft_discrete}{12}} +\newlabel{ft_discrete}{{5}{12}{Polynom Ansatz}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {12}{12}}} +\HyPL@Entry{12<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} +\HyPL@Entry{13<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {14}{15}}} +\HyPL@Entry{15<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} +\HyPL@Entry{16<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {12}{16}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {12}{16}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{17}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{17}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{17}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {17}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {9}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index 824b9b5..342b031 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 12:30 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 17:27 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -972,13 +972,61 @@ Package hyperref Warning: Option `pdfsubject' has already been used, [1 -] [2 +] +LaTeX Font Info: Trying to load font information for OT1+lmss on input line +31. + (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd +File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 +1. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMS+lmsy on input line +31. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMX+lmex on input line +31. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10.95> on input line 31. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 31. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 31. +LaTeX Font Info: Trying to load font information for U+msa on input line 31. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 31. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. + [2 ] File: images/fig1.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [3 @@ -987,7 +1035,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig2.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [4 @@ -996,7 +1044,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig3.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [5 @@ -1005,7 +1053,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig4.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [6 @@ -1014,7 +1062,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig5.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [7 @@ -1023,7 +1071,7 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig6.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [8 @@ -1032,67 +1080,32 @@ Overfull \vbox (14.63716pt too high) detected at line 52 File: images/fig7.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 52 +Overfull \vbox (14.63716pt too high) detected at line 57 [] [9 -] -LaTeX Font Info: Trying to load font information for OT1+lmss on input line -66. - (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd -File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OML+lmm on input line 6 -6. - -(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd -File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OMS+lmsy on input line -66. - -(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd -File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OMX+lmex on input line -66. - -(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd -File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern -) -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10.95> on input line 66. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <8> on input line 66. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <6> on input line 66. -LaTeX Font Info: Trying to load font information for U+msa on input line 66. +] [10 +] [11 -(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2013/01/14 v3.01 AMS symbols A -) -LaTeX Font Info: Trying to load font information for U+msb on input line 66. +] [12 +] [13 -(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd -File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) -LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. -LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. -LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 66. +] File: images/polynom1.pdf Graphic file (type pdf) - [10 + [14 ] File: images/polynom2.pdf Graphic file (type pdf) - [11 + [15 + +] [16 + +] [17 ] \tf@nav=\write6 @@ -1104,21 +1117,21 @@ File: images/polynom2.pdf Graphic file (type pdf) \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 68. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 68. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 154. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 154. (./RS.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 68. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 68. +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 154. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 154. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: 4CA0FF56E3EE124326A4720E136735D1. +(rerunfilecheck) Checksum: 488F938CBAD5E8FAC29F906360775E5F. ) Here is how much of TeX's memory you used: - 24329 strings out of 492483 - 450480 string characters out of 6132858 - 528380 words of memory out of 5000000 - 28307 multiletter control sequences out of 15000+600000 + 24397 strings out of 492483 + 452001 string characters out of 6132858 + 533692 words of memory out of 5000000 + 28375 multiletter control sequences out of 15000+600000 37892 words of font info for 41 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 - 58i,15n,57p,796b,539s stack positions out of 5000i,500n,10000p,200000b,80000s + 58i,15n,61p,796b,549s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on RS.pdf (11 pages). +Output written on RS.pdf (17 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 3edba3c..22ae94a 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -2,15 +2,31 @@ \headcommand {\beamer@framepages {1}{1}} \headcommand {\beamer@sectionpages {1}{1}} \headcommand {\beamer@subsectionpages {1}{1}} -\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}} +\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} \headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} \headcommand {\beamer@framepages {2}{2}} \headcommand {\slideentry {1}{0}{2}{3/9}{}{0}} \headcommand {\beamer@framepages {3}{9}} \headcommand {\slideentry {1}{0}{3}{10/11}{}{0}} \headcommand {\beamer@framepages {10}{11}} -\headcommand {\beamer@partpages {1}{11}} -\headcommand {\beamer@subsectionpages {2}{11}} \headcommand {\beamer@sectionpages {2}{11}} -\headcommand {\beamer@documentpages {11}} -\headcommand {\gdef \inserttotalframenumber {4}} +\headcommand {\beamer@subsectionpages {2}{11}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}} +\headcommand {\beamer@framepages {12}{12}} +\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}} +\headcommand {\beamer@framepages {13}{13}} +\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}} +\headcommand {\beamer@framepages {14}{15}} +\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}} +\headcommand {\beamer@framepages {16}{16}} +\headcommand {\beamer@sectionpages {12}{16}} +\headcommand {\beamer@subsectionpages {12}{16}} +\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}} +\headcommand {\beamer@framepages {17}{17}} +\headcommand {\beamer@partpages {1}{17}} +\headcommand {\beamer@subsectionpages {17}{17}} +\headcommand {\beamer@sectionpages {17}{17}} +\headcommand {\beamer@documentpages {17}} +\headcommand {\gdef \inserttotalframenumber {9}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index dec2d7d..597a5f8 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -1 +1,3 @@ -\BOOKMARK [2][]{Outline0.1}{Introduction}{}% 1 +\BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 +\BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 +\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourien\040Transformation}{}% 3 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index 10719b7..f49671f 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm index e69de29..8b82641 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.snm +++ b/buch/papers/reedsolomon/RS presentation/RS.snm @@ -0,0 +1 @@ +\beamer@slide {ft_discrete}{12} diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index 2fe95de..96af4cc 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index fb822da..9bdf947 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -19,10 +19,15 @@ \begin{frame}[plain] \maketitle \end{frame} - \section{Introduction} + \section{Einführung} \begin{frame} \frametitle{Idee} - + \begin{itemize} + \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten + und deren Fehler Erkennung. + \item Idee Fourier Transformieren und dann senden. + \item Danach Empfangen und Rücktransformieren. + \end{itemize} \end{frame} \begin{frame} @@ -50,20 +55,100 @@ } \end{figure} \end{frame} + \begin{frame} - Übertragen von den Zahlen - \textcolor{blue}{2}, \textcolor{blue}{1}, \textcolor{blue}{5} - als $ p(x) = \textcolor{blue}{2}x^2 + \textcolor{blue}{1}x + \textcolor{blue}{5} $.\newline - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, - \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{ 41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ + \uncover<1->{ + Wie ist die Anzahl 0 definiert zum mitgeben? + Indem die Polymereigenschaft genutzt werden. + } + \uncover<2->{ + Wie wird der Fehler lokalisiert? + Indem in einem Endlichen Körper gerechnet wird. + } + + \end{frame} + +\section{Polynom Ansatz} + \begin{frame} + Die Diskrite Fouren Transformation ist so gegeben + \[ + \label{ft_discrete} + \hat{c}_{k} + = \frac{1}{N} \sum_{n=0}^{N-1} + {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} + \]. + + \[ + w = e^{-\frac{2\pi j}{N} k} + \] + Wenn $N$ konstant: + \[ + \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \] + \end{frame} + + \begin{frame} + Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. + \end{frame} + \begin{frame} + Übertragen von + ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} + als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. + \only<1>{ - \includegraphics[]{images/polynom1.pdf}} + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{green}{15}, \textcolor{green}{26}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom1.pdf}} \only<2>{ - \includegraphics[]{images/polynom2.pdf}} + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \end{frame} + + \begin{frame} + \frametitle{Parameter} + \begin{center} + \begin{tabular}{ c c c } + \hline + "Nutzlast" & Fehler & Versenden \\ + \hline + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + &&\\ + k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ + \hline + \end{tabular} + \end{center} + \end{frame} +\section{Diskrete Fourien Transformation} + \begin{frame} + \[ + \begin{pmatrix} + \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n + \end{pmatrix} + = + \begin{pmatrix} + w^0 & w^0 & w^0 & \dots &w^0 \\ + w^0 & w^1 &w^2 & \dots &w^n \\ + w^0 & w^2 &w^4 & \dots &w^{2n} \\ + \vdots & \vdots &\vdots &\ddots &\vdots \\ + w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ + \end{pmatrix} + \begin{pmatrix} + \textcolor{blue}{5} \\ + \textcolor{blue}{1} \\ + \textcolor{blue}{2} \\ + \vdots \\ + 0 \\ + \end{pmatrix} + \] \end{frame} - \end{document} \ No newline at end of file diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index 32e7e8d..ff200c6 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1,2 +1,4 @@ \babel@toc {ngerman}{} -\beamer@sectionintoc {1}{Introduction}{2}{0}{1} +\beamer@sectionintoc {1}{Einführung}{2}{0}{1} +\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2} +\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3} -- cgit v1.2.1 From 7c0937851938305c2bb760f3cd4c2084c4493217 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 18:18:22 +0200 Subject: Presentation neu arangiert --- buch/papers/reedsolomon/RS presentation/RS.tex | 186 +++++++++++++------------ 1 file changed, 96 insertions(+), 90 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 9bdf947..1a1cefd 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -21,12 +21,60 @@ \end{frame} \section{Einführung} \begin{frame} - \frametitle{Idee} + \frametitle{Einführung} \begin{itemize} \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten und deren Fehler Erkennung. - \item Idee Fourier Transformieren und dann senden. - \item Danach Empfangen und Rücktransformieren. + \end{itemize} + \end{frame} +\section{Polynom Ansatz} + \begin{frame} + Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. + \end{frame} + \begin{frame} + Übertragen von + ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} + als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. + + \only<1>{ + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{green}{15}, \textcolor{green}{26}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom1.pdf}} + \only<2>{ + Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \end{frame} + + \begin{frame} + \frametitle{Parameter} + \begin{center} + \begin{tabular}{ c c c } + \hline + "Nutzlast" & Fehler & Versenden \\ + \hline + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + &&\\ + k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ + \hline + \end{tabular} + \end{center} + + Ausserdem können bis zu 2t Fehler erkannt werden! + \end{frame} +\section{Fourier Transformation} + \begin{frame} + \frametitle{Idee} + \begin{itemize} + \item Idee mit Fourier Transformieren und dann senden. + \item Danach Empfangen und Rücktransformieren. \end{itemize} \end{frame} @@ -56,99 +104,57 @@ \end{figure} \end{frame} - +\section{Diskrete Fourier Transformation} \begin{frame} - \uncover<1->{ - Wie ist die Anzahl 0 definiert zum mitgeben? - Indem die Polymereigenschaft genutzt werden. - } - \uncover<2->{ - Wie wird der Fehler lokalisiert? - Indem in einem Endlichen Körper gerechnet wird. - } - + \frametitle{Diskrete Fourier Transformation} + Die Diskrete Fourier Transformation ist so gegeben: + \[ + \label{ft_discrete} + \hat{c}_{k} + = \frac{1}{N} \sum_{n=0}^{N-1} + {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} + \]. + + \[ + w = e^{-\frac{2\pi j}{N} k} + \] + Wenn $N$ konstant: + \[ + \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \] \end{frame} -\section{Polynom Ansatz} - \begin{frame} - Die Diskrite Fouren Transformation ist so gegeben - \[ - \label{ft_discrete} - \hat{c}_{k} - = \frac{1}{N} \sum_{n=0}^{N-1} - {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - \]. - - \[ - w = e^{-\frac{2\pi j}{N} k} - \] - Wenn $N$ konstant: - \[ - \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) - \] - \end{frame} - - \begin{frame} - Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. - \end{frame} - \begin{frame} - Übertragen von - ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} - als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. - \only<1>{ - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, - \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{ 41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom1.pdf}} - \only<2>{ - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, - \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{ 41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom2.pdf} - \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} - \end{frame} - - \begin{frame} - \frametitle{Parameter} - \begin{center} - \begin{tabular}{ c c c } - \hline - "Nutzlast" & Fehler & Versenden \\ - \hline - 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ - 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ - 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ - &&\\ - k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ - \hline - \end{tabular} - \end{center} - \end{frame} -\section{Diskrete Fourien Transformation} \begin{frame} + \frametitle{Diskrete Fourier Transformation} \[ - \begin{pmatrix} - \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n - \end{pmatrix} - = - \begin{pmatrix} - w^0 & w^0 & w^0 & \dots &w^0 \\ - w^0 & w^1 &w^2 & \dots &w^n \\ - w^0 & w^2 &w^4 & \dots &w^{2n} \\ - \vdots & \vdots &\vdots &\ddots &\vdots \\ - w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ - \end{pmatrix} - \begin{pmatrix} - \textcolor{blue}{5} \\ - \textcolor{blue}{1} \\ - \textcolor{blue}{2} \\ - \vdots \\ - 0 \\ - \end{pmatrix} + \begin{pmatrix} + \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n + \end{pmatrix} + = + \begin{pmatrix} + w^0 & w^0 & w^0 & \dots &w^0 \\ + w^0 & w^1 &w^2 & \dots &w^n \\ + w^0 & w^2 &w^4 & \dots &w^{2n} \\ + \vdots & \vdots &\vdots &\ddots &\vdots \\ + w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ + \end{pmatrix} + \begin{pmatrix} + \textcolor{blue}{f_0} \\ + \textcolor{blue}{f_1} \\ + \textcolor{blue}{f_2} \\ + \vdots \\ + 0 \\ + \end{pmatrix} \] \end{frame} - +\section{Probleme und Fragen} + \begin{frame} + \frametitle{Probleme und Fragen} + + Wie wird der Fehler lokalisiert? + \only<2>{ + Indem in einem Endlichen Körper gerechnet wird. + } + \end{frame} \end{document} \ No newline at end of file -- cgit v1.2.1 From 264bd585ba37fcf0a8fed6c83b38edfe2495daef Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 18:19:54 +0200 Subject: gitignor angepasst --- buch/papers/reedsolomon/.gitignor | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/.gitignor b/buch/papers/reedsolomon/.gitignor index 466d238..52a02ac 100644 --- a/buch/papers/reedsolomon/.gitignor +++ b/buch/papers/reedsolomon/.gitignor @@ -1,15 +1,15 @@ -RS*.aux -RS*.bbl -RS*.bib -RS*.blg -RS*.idx -RS*.ilg -RS*.ind -RS*.log -RS*.out -RS*.pdf -RS*.run.xml -RS*.toc +RS.aux +RS.bbl +RS.bib +RS.blg +RS.idx +RS.ilg +RS.ind +RS.log +RS.out +RS.pdf +RS.run.xml +RS.toc *.aux *.lof *.log -- cgit v1.2.1 From 66a49562a720d4aae3b89603589df79abd0962cd Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 18:20:24 +0200 Subject: automatisch generierte Files --- buch/papers/reedsolomon/RS presentation/RS.aux | 79 +++++++------- buch/papers/reedsolomon/RS presentation/RS.log | 113 +++++++++++---------- buch/papers/reedsolomon/RS presentation/RS.nav | 56 +++++----- buch/papers/reedsolomon/RS presentation/RS.out | 4 +- buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 132691 -> 135643 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 2 +- .../reedsolomon/RS presentation/RS.synctex.gz | Bin 19501 -> 22450 bytes buch/papers/reedsolomon/RS presentation/RS.toc | 6 +- 8 files changed, 143 insertions(+), 117 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index 6294c05..005172f 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -29,38 +29,49 @@ \@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} \HyPL@Entry{2<>} -\@writefile{nav}{\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {3}{9}}} -\HyPL@Entry{9<>} -\@writefile{nav}{\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {10}{11}}} -\HyPL@Entry{11<>} -\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{11}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{11}}} -\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}}} -\@writefile{snm}{\beamer@slide {ft_discrete}{12}} -\newlabel{ft_discrete}{{5}{12}{Polynom Ansatz}{Doc-Start}{}} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {12}{12}}} -\HyPL@Entry{12<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} -\HyPL@Entry{13<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {14}{15}}} -\HyPL@Entry{15<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}}} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} +\HyPL@Entry{3<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {4}{5}}} +\HyPL@Entry{5<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {6}{6}}} +\HyPL@Entry{6<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {3}{6}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {3}{6}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {7}{7}}} +\HyPL@Entry{7<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {8}{14}}} +\HyPL@Entry{14<>} +\@writefile{toc}{\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {7}{14}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {7}{14}}} +\@writefile{nav}{\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}}} +\@writefile{snm}{\beamer@slide {ft_discrete}{15}} +\newlabel{ft_discrete}{{8}{15}{Diskrete Fourier Transformation}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} +\HyPL@Entry{15<>} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} -\HyPL@Entry{16<>} -\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {12}{16}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {12}{16}}} -\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}}} -\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{17}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{17}}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{17}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {17}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {9}}} +\HyPL@Entry{16<>} +\@writefile{toc}{\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {15}{16}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {15}{16}}} +\@writefile{nav}{\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}}} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{18}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{18}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {18}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {10}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index 342b031..4e1c806 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 17:27 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 18:18 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -974,139 +974,142 @@ Package hyperref Warning: Option `pdfsubject' has already been used, ] LaTeX Font Info: Trying to load font information for OT1+lmss on input line -31. +29. (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern ) -LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 -1. +LaTeX Font Info: Trying to load font information for OML+lmm on input line 2 +9. (c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMS+lmsy on input line -31. +29. (c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMX+lmex on input line -31. +29. (c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10.95> on input line 31. +(Font) <10.95> on input line 29. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <8> on input line 31. +(Font) <8> on input line 29. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <6> on input line 31. -LaTeX Font Info: Trying to load font information for U+msa on input line 31. +(Font) <6> on input line 29. +LaTeX Font Info: Trying to load font information for U+msa on input line 29. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd File: umsa.fd 2013/01/14 v3.01 AMS symbols A ) -LaTeX Font Info: Trying to load font information for U+msb on input line 31. +LaTeX Font Info: Trying to load font information for U+msb on input line 29. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd File: umsb.fd 2013/01/14 v3.01 AMS symbols B ) LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 31. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. [2 +] [3 + +] +File: images/polynom1.pdf Graphic file (type pdf) + + [4 + +] +File: images/polynom2.pdf Graphic file (type pdf) + + [5 + +] +[6 + +] [7 + ] File: images/fig1.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[3 +[8 ] File: images/fig2.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[4 +[9 ] File: images/fig3.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[5 +[10 ] File: images/fig4.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[6 +[11 ] File: images/fig5.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[7 +[12 ] File: images/fig6.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[8 +[13 ] File: images/fig7.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 57 +Overfull \vbox (14.63716pt too high) detected at line 105 [] -[9 - -] [10 +[14 -] [11 - -] [12 - -] [13 - -] -File: images/polynom1.pdf Graphic file (type pdf) - - [14 - -] -File: images/polynom2.pdf Graphic file (type pdf) - - [15 +] [15 ] [16 ] [17 +] [18 + ] \tf@nav=\write6 \openout6 = `RS.nav'. @@ -1117,21 +1120,21 @@ File: images/polynom2.pdf Graphic file (type pdf) \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 154. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 154. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 160. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 160. (./RS.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 154. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 154. +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 160. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 160. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: 488F938CBAD5E8FAC29F906360775E5F. +(rerunfilecheck) Checksum: 74C688051BF542B3A11E9793A97790F4. ) Here is how much of TeX's memory you used: - 24397 strings out of 492483 - 452001 string characters out of 6132858 - 533692 words of memory out of 5000000 - 28375 multiletter control sequences out of 15000+600000 + 24400 strings out of 492483 + 451960 string characters out of 6132858 + 534889 words of memory out of 5000000 + 28378 multiletter control sequences out of 15000+600000 37892 words of font info for 41 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 58i,15n,61p,796b,549s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on RS.pdf (17 pages). +Output written on RS.pdf (18 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 22ae94a..1d67391 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -5,28 +5,36 @@ \headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} \headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} \headcommand {\beamer@framepages {2}{2}} -\headcommand {\slideentry {1}{0}{2}{3/9}{}{0}} -\headcommand {\beamer@framepages {3}{9}} -\headcommand {\slideentry {1}{0}{3}{10/11}{}{0}} -\headcommand {\beamer@framepages {10}{11}} -\headcommand {\beamer@sectionpages {2}{11}} -\headcommand {\beamer@subsectionpages {2}{11}} -\headcommand {\sectionentry {2}{Polynom Ansatz}{12}{Polynom Ansatz}{0}} -\headcommand {\slideentry {2}{0}{1}{12/12}{}{0}} -\headcommand {\beamer@framepages {12}{12}} -\headcommand {\slideentry {2}{0}{2}{13/13}{}{0}} -\headcommand {\beamer@framepages {13}{13}} -\headcommand {\slideentry {2}{0}{3}{14/15}{}{0}} -\headcommand {\beamer@framepages {14}{15}} -\headcommand {\slideentry {2}{0}{4}{16/16}{}{0}} +\headcommand {\beamer@sectionpages {2}{2}} +\headcommand {\beamer@subsectionpages {2}{2}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}} +\headcommand {\beamer@framepages {3}{3}} +\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}} +\headcommand {\beamer@framepages {4}{5}} +\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}} +\headcommand {\beamer@framepages {6}{6}} +\headcommand {\beamer@sectionpages {3}{6}} +\headcommand {\beamer@subsectionpages {3}{6}} +\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}} +\headcommand {\beamer@framepages {7}{7}} +\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}} +\headcommand {\beamer@framepages {8}{14}} +\headcommand {\beamer@sectionpages {7}{14}} +\headcommand {\beamer@subsectionpages {7}{14}} +\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}} +\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}} +\headcommand {\beamer@framepages {15}{15}} +\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}} \headcommand {\beamer@framepages {16}{16}} -\headcommand {\beamer@sectionpages {12}{16}} -\headcommand {\beamer@subsectionpages {12}{16}} -\headcommand {\sectionentry {3}{Diskrete Fourien Transformation}{17}{Diskrete Fourien Transformation}{0}} -\headcommand {\slideentry {3}{0}{1}{17/17}{}{0}} -\headcommand {\beamer@framepages {17}{17}} -\headcommand {\beamer@partpages {1}{17}} -\headcommand {\beamer@subsectionpages {17}{17}} -\headcommand {\beamer@sectionpages {17}{17}} -\headcommand {\beamer@documentpages {17}} -\headcommand {\gdef \inserttotalframenumber {9}} +\headcommand {\beamer@sectionpages {15}{16}} +\headcommand {\beamer@subsectionpages {15}{16}} +\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}} +\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}} +\headcommand {\beamer@framepages {17}{18}} +\headcommand {\beamer@partpages {1}{18}} +\headcommand {\beamer@subsectionpages {17}{18}} +\headcommand {\beamer@sectionpages {17}{18}} +\headcommand {\beamer@documentpages {18}} +\headcommand {\gdef \inserttotalframenumber {10}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index 597a5f8..32b9a2c 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -1,3 +1,5 @@ \BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 \BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 -\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourien\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.3}{Fourier\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.4}{Diskrete\040Fourier\040Transformation}{}% 4 +\BOOKMARK [2][]{Outline0.5}{Probleme\040und\040Fragen}{}% 5 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index f49671f..913bc42 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm index 8b82641..6607ea8 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.snm +++ b/buch/papers/reedsolomon/RS presentation/RS.snm @@ -1 +1 @@ -\beamer@slide {ft_discrete}{12} +\beamer@slide {ft_discrete}{15} diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index 96af4cc..001b5c8 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index ff200c6..44c06ab 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1,4 +1,6 @@ \babel@toc {ngerman}{} \beamer@sectionintoc {1}{Einführung}{2}{0}{1} -\beamer@sectionintoc {2}{Polynom Ansatz}{12}{0}{2} -\beamer@sectionintoc {3}{Diskrete Fourien Transformation}{17}{0}{3} +\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2} +\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3} +\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4} +\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5} -- cgit v1.2.1 From 308c797ad63e094b1553d6417d477b4b7e792358 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Wed, 21 Apr 2021 22:53:22 +0200 Subject: Update RS.tex --- buch/papers/reedsolomon/RS presentation/RS.tex | 708 ++++++++++++++++++++++++- 1 file changed, 707 insertions(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 3d2be8f..400e654 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -17,9 +17,715 @@ \begin{frame}[plain] \maketitle \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Test} Ich mag Züge. \end{frame} + + \begin{frame} + \frametitle{Reed-Solomon in Endlichen Körpern} + + \begin{itemize} + \item Warum Endliche Körper? + + \qquad bessere Laufzeit + + \vspace{10pt} + + \item Nachricht = Nutzdaten + Fehlerkorrekturteil + + \vspace{10pt} + + \item den Fehlerkorrekturteil brauchen wir im Optimalfall nicht + + \vspace{10pt} + + \item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die Fehlerhaften Stellen beinhaltet + +% Wir sollten im Fehlerfall in der Lage sein, aus der Nachricht ein Lokatorpolynom zu berechnen, welches die Fehlerhaften Stellen beinhaltet + + \end{itemize} + +% TODO + +% erklärung und einführung der endlichen körper, was wollen wir erreichen? + +% wir versenden im endefekt mehr daten als unsere nachricht umfasst, damit die korrektur sichergestellt werden kann + +% sollten wir fehler bekommen, was uns die korrekturstellen mitgeteilt wird, dann ist es unsere aufgabe ein lokatorpolynom zu finden, welches uns verrät, auf welchen zeilen der Fehler aufgetreten ist + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Definition eines Beispiels} + + \begin{itemize} + + \item Endlicher Körper $q = 11$ + + \only<1->{ist eine Primzahl} + + \only<1->{beinhaltet die Zahlen $\mathbb{Z}_{11} = [0,1,2,3,4,5,6,7,8,9,10]$} + + \vspace{10pt} + + \only<1->{\item Nachrichtenblock $n = q-1$} + + wird an den Empfänger gesendet + + \vspace{10pt} + + \only<1->{\item max. Fehler $z = 2$} + + maximale Anzahl von Fehler, die wir noch korrigieren können + + \vspace{10pt} + + \only<1->{\item Nutzlast $k = n -2t = 6$ Zahlen} + + Fehlerstellen $2t = 4$ Zahlen + + \only<1->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} + + \only<1->{als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Ansatz aus den Komplexen Zahlen mit der Fouriertransformation + + \vspace{10pt} + + \item $\mathrm{e}$ existiert nicht in $\mathbb{Z}_{11}$ + + \vspace{10pt} + + \item wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{Z}_{11}$ abdeckt + + $\mathbb{Z}_{11}\setminus\{0\} = [a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9]$ + + \vspace{10pt} + + \item wir wählen $a = 8$ + + $\mathbb{Z}_{11}\setminus\{0\} = [1,8,9,6,4,10,3,2,5,7]$ + + 8 ist eine Primitive Einheitswurzel + + \vspace{10pt} + + \item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$ + + $\Rightarrow$ \qquad können wir auch als Matrix schreiben + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Übertragungsvektor $V$ + + \item $V = A \cdot m$ + + \end{itemize} + + \[ + V = \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $V = [5,3,6,5,2,10,2,7,10,4]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodierung ohne Fehler} + + \begin{itemize} + \item Der Empfänger erhält den unveränderten Vektor $V = [5,3,6,5,2,10,2,7,10,4]$ + + \vspace{10pt} + + \item Wir suchen die Inverse der Matrix A + + \end{itemize} + + \begin{columns}[t] + \begin{column}{0.50\textwidth} + + Inverse der Fouriertransformation + \vspace{10pt} + \[ + F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt + \] + \vspace{10pt} + \[ + f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega + \] + + \end{column} + \begin{column}{0.50\textwidth} + + Inverse von a + \vspace{10pt} + \[ + 8^{1} \Rightarrow 8^{-1} + \] + + Inverse finden wir über den Eulkidischen Algorithmus + \vspace{10pt} + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus} + + \begin{columns}[t] + \begin{column}{0.50\textwidth} + + Recap aus der Vorlesung: + + Gegeben $a \in \mathbb{F}_p$, finde $b = a^{-1} \in \mathbb{F}_p$ + + \begin{tabular}{rcl} + $a b$ &$\equiv$& $1 \mod p$\\ + $a b$ &$=$& $1 + n p$\\ + $a b - n p$ &$=$& $1$\\ + &&\\ + $\operatorname{ggT}(a,p)$&$=$& $1$\\ + $sa + tp$&$=$& $1$\\ + $b$&$=$&$s$\\ + $n$&$=$&$-t$ + \end{tabular} + + \end{column} + \begin{column}{0.50\textwidth} + + \begin{center} + + \begin{tabular}{| c | c c | c | c c |} + \hline + $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ + \hline + & & & & $1$& $0$\\ + $0$& $8$& $11$& $0$& $0$& $1$\\ + $1$& $11$& $8$& $1$& $1$& $0$\\ + $2$& $8$& $3$& $2$& $-1$& $1$\\ + $3$& $3$& $2$& $1$& $3$& $-2$\\ + $4$& $2$& $1$& $2$& $-4$& $3$\\ + $5$& $1$& $0$& & $11$& $-8$\\ + \hline + \end{tabular} + + \vspace{10pt} + + \begin{tabular}{rcl} + $-4\cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $8^{-1}$ &$=$& $7$ + + \end{tabular} + + \end{center} + + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodirung mit Inverser Matrix} + + \begin{itemize} + \item $V = [5,3,6,5,2,10,2,7,10,4]$ + + \item $m = 1/10 \cdot A^{-1} \cdot V$ + + \item $m = 10 \cdot A^{-1} \cdot V$ + + \end{itemize} + + \[ + m = \begin{pmatrix} + 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ + 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ + 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ + 7^0& 7^3& 7^6& 7^9& 7^{12}& 7^{15}& 7^{18}& 7^{21}& 7^{24}& 7^{27}\\ + 7^0& 7^4& 7^8& 7^{12}& 7^{16}& 7^{20}& 7^{24}& 7^{28}& 7^{32}& 7^{36}\\ + 7^0& 7^5& 7^{10}& 7^{15}& 7^{20}& 7^{25}& 7^{30}& 7^{35}& 7^{40}& 7^{45}\\ + 7^0& 7^6& 7^{12}& 7^{18}& 7^{24}& 7^{30}& 7^{36}& 7^{42}& 7^{48}& 7^{54}\\ + 7^0& 7^7& 7^{14}& 7^{21}& 7^{28}& 7^{35}& 7^{42}& 7^{49}& 7^{56}& 7^{63}\\ + 7^0& 7^8& 7^{16}& 7^{24}& 7^{32}& 7^{40}& 7^{48}& 7^{56}& 7^{64}& 7^{72}\\ + 7^0& 7^9& 7^{18}& 7^{27}& 7^{36}& 7^{45}& 7^{54}& 7^{63}& 7^{72}& 7^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [0,0,0,0,4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodierung mit Fehler - Ansatz} + + \begin{itemize} + \item Gesendet: $V = [5,3,6,5,2,10,2,7,10,4]$ + + \item Empfangen: $W = [5,3,6,8,2,10,2,7,1,4]$ + + \item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerstellen}5,4,5,7,6,7]$ + \end{itemize} + + Wie finden wir die Fehler? + + \begin{itemize} + \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + + \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + + \item $e(X) = r(X) - m(X)$ + \end{itemize} + + \begin{center} + + \begin{tabular}{c c c c c c c c c c c} + \hline + $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ + \hline + $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ + $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ + $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + \hline + \end{tabular} + + \end{center} + + \begin{itemize} + \item Alle Stellen, die nicht Null sind, sind Fehler + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können + + \vspace{10pt} + + $\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ + + \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$ + + $= d(X) \cdot e(X)$ + + \vspace{10pt} + + \item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{kennen wir $e$?} + + \begin{itemize} + + \item $e$ ist unbekannt auf der Empfängerseite + + \vspace{10pt} + + \item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt? + + \vspace{10pt} + + \item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + + In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat + + \vspace{10pt} + + \item daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$ + + \vspace{10pt} + + \item $f(X) = X^{10} - 1 = X^{10} + 10$ + + \vspace{10pt} + + \item jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus (nochmal)} + + $\operatorname{ggT}(f(X),e(X))$ hat den Grad 8 + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + X^{10}& & & & & & &+& 10& & & & &:&5X^9&+&7X^8&+& 4X^7&+&10X^6&+&p(X)&=&9X&+&5\\ + X^{10}&+& 8X^9&+& 3X^8&+&2X^7&+& p(X)& & & & & & & & & & & & & & & & \\ \cline{1-9} + && 3X^9&+& 8X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ + && 3X^9&+& 2X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ \cline{3-9} + & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ + \end{array} + \] + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + 5X^9&+& 7X^8&+& 4X^7&+& 10X^6&+& p(X)& & & & &:&6X^8&+&0X^7& & & & & & &=&10X&+&3\\ + 5X^9&+& 0X^8&+& p(X)& & & & & & & & & & & & & & & & & & & & \\ \cline{1-5} + && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ + \end{array} + \] + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = 6X^8$ + + \vspace{10pt} + + $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen + + \end{frame} + +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Erweiterte Euklidische Algorithmus} + + \begin{center} + + \begin{tabular}{| c | c | c c |} + \hline + $k$ & $q_i$ & $e_i$ & $f_i$\\ + \hline + & & $0$& $1$\\ + $0$& $9X + 5$& $1$& $0$\\ + $1$& $10X + 3$& $9X+5$& $1$\\ + $2$& & $2X^2 + 0X + 5$& $10X + 3$\\ + \hline + \end{tabular} + + \end{center} + + \vspace{10pt} + + \begin{tabular}{ll} + Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\ + Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\ + Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$ + \end{tabular} + + \vspace{10pt} + + \begin{center} + $a^i = 5 \qquad \Rightarrow \qquad i = 3$ + + $a^i = 6 \qquad \Rightarrow \qquad i = 8$ + \end{center} + + $D = [3,8]$ + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \begin{itemize} + + \item $W = [5,3,6,8,2,10,2,7,1,4]$ + + \item $D = [3,8]$ + + \end{itemize} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 8 \\ 2 \\ 10 \\ 2 \\ 7 \\ 1 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Fehlerstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Nullstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix in eine Quadratische Form bringen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix Invertieren + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 1& 1& 1& 1& 1& 1\\ + 1& 8& 9& 6& 4& 10\\ + 1& 9& 4& 3& 5& 1\\ + 1& 4& 5& 9& 3& 1\\ + 1& 10& 1& 10& 1& 10\\ + 1& 3& 9& 5& 4& 1\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \begin{center} + $\Downarrow$ + \end{center} + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- \end{document} \ No newline at end of file -- cgit v1.2.1 From 8473571bc77425cd198b4bba515a3f5fe10c8cd2 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Wed, 21 Apr 2021 22:53:49 +0200 Subject: Style verbessert --- buch/papers/reedsolomon/RS presentation/RS.tex | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 1a1cefd..65f8431 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -64,12 +64,16 @@ &&\\ k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ \hline + &&\\ + &&\\ + &Ausserdem können bis zu 2t Fehler erkannt werden!\\ \end{tabular} \end{center} - Ausserdem können bis zu 2t Fehler erkannt werden! + + \end{frame} -\section{Fourier Transformation} +\section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} \begin{itemize} @@ -104,7 +108,7 @@ \end{figure} \end{frame} -\section{Diskrete Fourier Transformation} + \begin{frame} \frametitle{Diskrete Fourier Transformation} Die Diskrete Fourier Transformation ist so gegeben: @@ -134,10 +138,10 @@ = \begin{pmatrix} w^0 & w^0 & w^0 & \dots &w^0 \\ - w^0 & w^1 &w^2 & \dots &w^n \\ - w^0 & w^2 &w^4 & \dots &w^{2n} \\ + w^0 & w^1 &w^2 & \dots &w^N \\ + w^0 & w^2 &w^4 & \dots &w^{2N} \\ \vdots & \vdots &\vdots &\ddots &\vdots \\ - w^0 & w^{1n}&w^{2n}& \dots &w^{n} \\ + w^0 & w^{1(N-1)}&w^{2(N-1)}& \dots &w^{(N-1)(N-1)} \\ \end{pmatrix} \begin{pmatrix} \textcolor{blue}{f_0} \\ @@ -154,6 +158,7 @@ Wie wird der Fehler lokalisiert? \only<2>{ + \newline Indem in einem Endlichen Körper gerechnet wird. } \end{frame} -- cgit v1.2.1 From 38d0c69842308be5f096375ff070c5233b395c4c Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 16:01:46 +0200 Subject: kleine korrekturen --- buch/papers/reedsolomon/RS presentation/RS.tex | 45 +++++++++++++++----------- 1 file changed, 26 insertions(+), 19 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index eecd66b..618121c 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -19,14 +19,18 @@ \begin{frame}[plain] \maketitle \end{frame} - \section{Einführung} +%------------------------------------------------------------------------------- +\section{Einführung} \begin{frame} \frametitle{Einführung} \begin{itemize} \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten und deren Fehler Erkennung. + \item Wird verwendet in: + \only<2>{CD, QR-Codes, Voyager-Sonde, etc.} \end{itemize} \end{frame} +%------------------------------------------------------------------------------- \section{Polynom Ansatz} \begin{frame} Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. @@ -50,7 +54,7 @@ \includegraphics[scale = 1.2]{images/polynom2.pdf} \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Parameter} \begin{center} @@ -59,20 +63,24 @@ "Nutzlast" & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ - 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ - 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ +\only<2->{3}& +\only<2->{2}& +\only<2->{7 Werte eines Polynoms vom Grad 2} \\ &&\\ - k & t & k+2t Werte eines Polynoms vom Grad k-1 \\ +\only<3->{k} & +\only<3->{t} & +\only<3->{k+2t Werte eines Polynoms vom Grad k-1} \\ \hline &&\\ &&\\ - &Ausserdem können bis zu 2t Fehler erkannt werden!\\ + \multicolumn{3}{l} { + \only<4>{Ausserdem können bis zu 2t Fehler erkannt werden!} + } \end{tabular} - \end{center} - - - + \end{center} \end{frame} +%------------------------------------------------------------------------------- \section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} @@ -81,7 +89,7 @@ \item Danach Empfangen und Rücktransformieren. \end{itemize} \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \begin{figure} \only<1>{ @@ -107,8 +115,7 @@ } \end{figure} \end{frame} - - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Diskrete Fourier Transformation} Die Diskrete Fourier Transformation ist so gegeben: @@ -117,8 +124,8 @@ \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - \]. - + \] + Ersetzten als: \[ w = e^{-\frac{2\pi j}{N} k} \] @@ -128,14 +135,14 @@ \] \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Diskrete Fourier Transformation} \[ \begin{pmatrix} \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n \end{pmatrix} - = + = \frac{1}{N} \begin{pmatrix} w^0 & w^0 & w^0 & \dots &w^0 \\ w^0 & w^1 &w^2 & \dots &w^N \\ @@ -152,7 +159,7 @@ \end{pmatrix} \] \end{frame} - +%------------------------------------------------------------------------------- \section{Probleme und Fragen} \begin{frame} \frametitle{Probleme und Fragen} @@ -163,7 +170,7 @@ Indem in einem Endlichen Körper gerechnet wird. } \end{frame} - +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Reed-Solomon in Endlichen Körpern} -- cgit v1.2.1 From 9ce4fb55792c297989d1c001a621793303f31689 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 22:13:29 +0200 Subject: Verbesserungen und anmerkungen umgesetzt --- buch/papers/reedsolomon/RS presentation/RS.tex | 56 ++++++++++++++------------ 1 file changed, 31 insertions(+), 25 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 618121c..9811cf6 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -22,36 +22,38 @@ %------------------------------------------------------------------------------- \section{Einführung} \begin{frame} - \frametitle{Einführung} + \frametitle{Reed-Solomon-Code:} \begin{itemize} - \item Reed-Solomon-Code beschäftigt sich mit der Übertragung von Daten - und deren Fehler Erkennung. - \item Wird verwendet in: - \only<2>{CD, QR-Codes, Voyager-Sonde, etc.} + \item \only<1>{Für Übertragung von Daten} + \item \only<2->{Ermöglicht Korrektur von Übertragungsfehler} + \item \only<3->{Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} \end{itemize} \end{frame} %------------------------------------------------------------------------------- \section{Polynom Ansatz} \begin{frame} - Beispiel 2, 1, 5 Versenden und auf 2 Fehler absichern. + \begin{itemize} + \item Beispiel $2, 1, 5$ versenden und auf 2 Fehler absichern + \end{itemize} \end{frame} \begin{frame} Übertragen von - ${f}_2=$\textcolor{blue}{2}, ${f}_1$\textcolor{blue}{1}, ${f}_0$\textcolor{blue}{5} + ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. \only<1>{ - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{41}, \textcolor{green}{60}, \textcolor{green}{83}, \textcolor{green}{110})$ \includegraphics[scale = 1.2]{images/polynom1.pdf}} \only<2>{ - Versende $ (p(1),p(2),...,p(7)) = (\textcolor{green}{8}, + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{ 41}, \textcolor{green}{60}, + \textcolor{green}{41}, \textcolor{green}{60}, \textcolor{green}{83}, \textcolor{green}{110})$ \includegraphics[scale = 1.2]{images/polynom2.pdf} + \newline \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} \end{frame} %------------------------------------------------------------------------------- @@ -60,22 +62,22 @@ \begin{center} \begin{tabular}{ c c c } \hline - "Nutzlast" & Fehler & Versenden \\ + ``Nutzlas´´ & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ \only<2->{3}& -\only<2->{2}& -\only<2->{7 Werte eines Polynoms vom Grad 2} \\ +\only<2->{3}& +\only<3->{9 Werte eines Polynoms vom Grad 2} \\ &&\\ -\only<3->{k} & -\only<3->{t} & -\only<3->{k+2t Werte eines Polynoms vom Grad k-1} \\ +\only<4->{$k$} & +\only<4->{$t$} & +\only<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \only<4>{Ausserdem können bis zu 2t Fehler erkannt werden!} + \only<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} } \end{tabular} \end{center} @@ -85,8 +87,9 @@ \begin{frame} \frametitle{Idee} \begin{itemize} - \item Idee mit Fourier Transformieren und dann senden. - \item Danach Empfangen und Rücktransformieren. + \item Fourier-transformieren + \item Übertragung + \item Rücktransformieren \end{itemize} \end{frame} %------------------------------------------------------------------------------- @@ -118,14 +121,16 @@ %------------------------------------------------------------------------------- \begin{frame} \frametitle{Diskrete Fourier Transformation} - Die Diskrete Fourier Transformation ist so gegeben: + \begin{itemize} + \item Diskrete Fourier-Transformation gegeben durch: + \[ \label{ft_discrete} \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} \] - Ersetzten als: + \item Ersetzte \[ w = e^{-\frac{2\pi j}{N} k} \] @@ -133,6 +138,7 @@ \[ \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) \] + \end{itemize} \end{frame} %------------------------------------------------------------------------------- @@ -145,8 +151,8 @@ = \frac{1}{N} \begin{pmatrix} w^0 & w^0 & w^0 & \dots &w^0 \\ - w^0 & w^1 &w^2 & \dots &w^N \\ - w^0 & w^2 &w^4 & \dots &w^{2N} \\ + w^0 & w^1 &w^2 & \dots &w^{N-1} \\ + w^0 & w^2 &w^4 & \dots &w^{2(N-1)} \\ \vdots & \vdots &\vdots &\ddots &\vdots \\ w^0 & w^{1(N-1)}&w^{2(N-1)}& \dots &w^{(N-1)(N-1)} \\ \end{pmatrix} @@ -167,7 +173,7 @@ Wie wird der Fehler lokalisiert? \only<2>{ \newline - Indem in einem Endlichen Körper gerechnet wird. + Indem in einem endlichen Körper gerechnet wird. } \end{frame} %------------------------------------------------------------------------------- -- cgit v1.2.1 From 5bca0960f8c9635375d2ca53c93d2bc5a2e37c10 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 22:59:07 +0200 Subject: Animation verbessert --- buch/papers/reedsolomon/RS presentation/RS.tex | 37 ++++++++++++++------------ 1 file changed, 20 insertions(+), 17 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 9811cf6..732cee5 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -24,9 +24,9 @@ \begin{frame} \frametitle{Reed-Solomon-Code:} \begin{itemize} - \item \only<1>{Für Übertragung von Daten} - \item \only<2->{Ermöglicht Korrektur von Übertragungsfehler} - \item \only<3->{Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} + \visible<1->{\item Für Übertragung von Daten} + \visible<2->{\item Ermöglicht Korrektur von Übertragungsfehler} + \visible<3->{\item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} \end{itemize} \end{frame} %------------------------------------------------------------------------------- @@ -37,6 +37,7 @@ \end{itemize} \end{frame} \begin{frame} + \frametitle{Beispiel} Übertragen von ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. @@ -66,18 +67,18 @@ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -\only<2->{3}& -\only<2->{3}& -\only<3->{9 Werte eines Polynoms vom Grad 2} \\ +\visible<2->{3}& +\visible<2->{3}& +\visible<3->{9 Werte eines Polynoms vom Grad 2} \\ &&\\ -\only<4->{$k$} & -\only<4->{$t$} & -\only<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ +\visible<4->{$k$} & +\visible<4->{$t$} & +\visible<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \only<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + \visible<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} } \end{tabular} \end{center} @@ -123,21 +124,23 @@ \frametitle{Diskrete Fourier Transformation} \begin{itemize} \item Diskrete Fourier-Transformation gegeben durch: - + \visible<1->{ \[ \label{ft_discrete} \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - \] + \]} + \visible<2->{ \item Ersetzte \[ w = e^{-\frac{2\pi j}{N} k} - \] - Wenn $N$ konstant: + \]} + \visible<3->{ + \item Wenn $N$ konstant: \[ \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) - \] + \]} \end{itemize} \end{frame} @@ -166,12 +169,12 @@ \] \end{frame} %------------------------------------------------------------------------------- -\section{Probleme und Fragen} + \begin{frame} \frametitle{Probleme und Fragen} Wie wird der Fehler lokalisiert? - \only<2>{ + \visible<2>{ \newline Indem in einem endlichen Körper gerechnet wird. } -- cgit v1.2.1 From 967ff1f33d3faaa1e344ff687aff6c07cde29b77 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Thu, 22 Apr 2021 23:33:02 +0200 Subject: Update RS.tex --- buch/papers/reedsolomon/RS presentation/RS.tex | 288 ++++++++++++++----------- 1 file changed, 165 insertions(+), 123 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 732cee5..61324f7 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -15,6 +15,7 @@ \date{26.04.2021} \subject{Mathematisches Seminar} \setbeamercovered{transparent} + %\setbeamercovered{invisible} \setbeamertemplate{navigation symbols}{} \begin{frame}[plain] \maketitle @@ -83,7 +84,11 @@ \end{tabular} \end{center} \end{frame} +<<<<<<< Updated upstream %------------------------------------------------------------------------------- +======= + +>>>>>>> Stashed changes \section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} @@ -179,26 +184,38 @@ Indem in einem endlichen Körper gerechnet wird. } \end{frame} +<<<<<<< Updated upstream %------------------------------------------------------------------------------- +======= + +\section{Reed-Solomon in Endlichen Körpern} + +>>>>>>> Stashed changes \begin{frame} \frametitle{Reed-Solomon in Endlichen Körpern} \begin{itemize} - \item Warum Endliche Körper? + \onslide<1->{\item Warum endliche Körper?} - \qquad bessere Laufzeit + \onslide<1->{\qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler} - \vspace{10pt} + \onslide<1->{\qquad digitale Fehlerkorrektur} - \item Nachricht = Nutzdaten + Fehlerkorrekturteil + \onslide<1->{\qquad bessere Laufzeit} \vspace{10pt} - \item den Fehlerkorrekturteil brauchen wir im Optimalfall nicht + \onslide<1->{\item Nachricht = Nutzdaten + Fehlerkorrekturteil} \vspace{10pt} - \item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die Fehlerhaften Stellen beinhaltet + \onslide<1->{\item aus Fehlerkorrekturteil die Fehlerstellen finden} + + \onslide<1->{\qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom} + +% \vspace{10pt} + +% \onslide<1->{\item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die fehlerhaften Stellen beinhaltet} % Wir sollten im Fehlerfall in der Lage sein, aus der Nachricht ein Lokatorpolynom zu berechnen, welches die Fehlerhaften Stellen beinhaltet @@ -212,35 +229,35 @@ % sollten wir fehler bekommen, was uns die korrekturstellen mitgeteilt wird, dann ist es unsere aufgabe ein lokatorpolynom zu finden, welches uns verrät, auf welchen zeilen der Fehler aufgetreten ist \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Definition eines Beispiels} \begin{itemize} - \item Endlicher Körper $q = 11$ + \only<1->{\item endlicher Körper $q = 11$} \only<1->{ist eine Primzahl} - \only<1->{beinhaltet die Zahlen $\mathbb{Z}_{11} = [0,1,2,3,4,5,6,7,8,9,10]$} + \only<1->{beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \only<1->{\item Nachrichtenblock $n = q-1$} + \only<1->{\item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen - wird an den Empfänger gesendet + $n = q - 1 = 10$ Zahlen} \vspace{10pt} - \only<1->{\item max. Fehler $z = 2$} + \only<1->{\item Max.~Fehler $z = 2$ - maximale Anzahl von Fehler, die wir noch korrigieren können + maximale Anzahl von Fehler, die wir noch korrigieren können} \vspace{10pt} \only<1->{\item Nutzlast $k = n -2t = 6$ Zahlen} - Fehlerstellen $2t = 4$ Zahlen + \only<1->{Fehlerkorrkturstellen $2t = 4$ Zahlen} \only<1->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} @@ -250,52 +267,54 @@ \end{frame} %------------------------------------------------------------------------------- +\section{Codierung eines Beispiels} \begin{frame} \frametitle{Codierung} \begin{itemize} - \item Ansatz aus den Komplexen Zahlen mit der Fouriertransformation + \only<1->{\item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation} \vspace{10pt} - \item $\mathrm{e}$ existiert nicht in $\mathbb{Z}_{11}$ + \only<1->{\item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$} \vspace{10pt} - \item wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{Z}_{11}$ abdeckt + \only<1->{\item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken - $\mathbb{Z}_{11}\setminus\{0\} = [a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9]$ + $\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$} \vspace{10pt} - \item wir wählen $a = 8$ + \only<1->{\item Wir wählen $a = 8$} - $\mathbb{Z}_{11}\setminus\{0\} = [1,8,9,6,4,10,3,2,5,7]$ + \only<1->{$\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$} - 8 ist eine Primitive Einheitswurzel + \only<1->{$8$ ist eine primitive Einheitswurzel} \vspace{10pt} - \item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$ + \only<1->{\item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$} - $\Rightarrow$ \qquad können wir auch als Matrix schreiben + \only<1->{$\Rightarrow$ \qquad können wir auch als Matrix schreiben} \end{itemize} \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Codierung} \begin{itemize} - \item Übertragungsvektor $V$ + \only<1->{\item Übertragungsvektor $v$} - \item $V = A \cdot m$ + \only<1->{\item $v = A \cdot m$} \end{itemize} \[ - V = \begin{pmatrix} + \only<1->{ + v = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ @@ -311,29 +330,34 @@ \begin{pmatrix} 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ \end{pmatrix} + } \] - + \only<1->{ \begin{itemize} - \item $V = [5,3,6,5,2,10,2,7,10,4]$ + \item $v = [5,3,6,5,2,10,2,7,10,4]$ \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- +\section{Decodierung ohne Fehler} \begin{frame} \frametitle{Decodierung ohne Fehler} \begin{itemize} - \item Der Empfänger erhält den unveränderten Vektor $V = [5,3,6,5,2,10,2,7,10,4]$ + \only<1->{\item Der Empfänger erhält den unveränderten Vektor + $v = [5,3,6,5,2,10,2,7,10,4]$} \vspace{10pt} - \item Wir suchen die Inverse der Matrix A + \only<1->{\item Wir suchen die Inverse der Matrix $A$} + + \vspace{10pt} \end{itemize} \begin{columns}[t] \begin{column}{0.50\textwidth} - + \only<1->{ Inverse der Fouriertransformation \vspace{10pt} \[ @@ -341,25 +365,26 @@ \] \vspace{10pt} \[ - f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega + \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega \] - + } \end{column} \begin{column}{0.50\textwidth} - - Inverse von a + \only<1->{ + Inverse von $a$} \vspace{10pt} + \only<1->{ \[ 8^{1} \Rightarrow 8^{-1} \] - - Inverse finden wir über den Eulkidischen Algorithmus + } + \only<1->{Inverse finden wir über den Eulkidischen Algorithmus} \vspace{10pt} \end{column} \end{columns} \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Der Euklidische Algorithmus} @@ -385,8 +410,8 @@ \begin{column}{0.50\textwidth} \begin{center} - - \begin{tabular}{| c | c c | c | c c |} + \only<1->{ + \begin{tabular}{| c | c c | c | r r |} \hline $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ \hline @@ -395,17 +420,17 @@ $1$& $11$& $8$& $1$& $1$& $0$\\ $2$& $8$& $3$& $2$& $-1$& $1$\\ $3$& $3$& $2$& $1$& $3$& $-2$\\ - $4$& $2$& $1$& $2$& $-4$& $3$\\ + $4$& $2$& $1$& $2$& \textcolor<3->{blue}{$-4$}& \textcolor<3->{red}{$3$}\\ $5$& $1$& $0$& & $11$& $-8$\\ \hline \end{tabular} - + } \vspace{10pt} \begin{tabular}{rcl} - $-4\cdot 8 + 3 \cdot 11$ &$=$& $1$\\ - $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ - $8^{-1}$ &$=$& $7$ + \only<1->{$\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$}\\ + \only<1->{$7 \cdot 8 + 3 \cdot 11$ &$=$& $1$}\\ + \only<1->{$8^{-1}$ &$=$& $7$} \end{tabular} @@ -417,17 +442,17 @@ \end{frame} %------------------------------------------------------------------------------- \begin{frame} - \frametitle{Decodirung mit Inverser Matrix} + \frametitle{Decodierung mit Inverser Matrix} \begin{itemize} - \item $V = [5,3,6,5,2,10,2,7,10,4]$ + \only<1->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} - \item $m = 1/10 \cdot A^{-1} \cdot V$ + \only<1->{\item $m = 1/10 \cdot A^{-1} \cdot v$} - \item $m = 10 \cdot A^{-1} \cdot V$ + \only<1->{\item $m = 10 \cdot A^{-1} \cdot v$} \end{itemize} - + \only<1->{ \[ m = \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ @@ -446,85 +471,95 @@ 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ \end{pmatrix} \] - + } + \only<1->{ \begin{itemize} \item $m = [0,0,0,0,4,7,2,5,8,1]$ \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- +\section{Decodierung mit Fehler} \begin{frame} \frametitle{Decodierung mit Fehler - Ansatz} \begin{itemize} - \item Gesendet: $V = [5,3,6,5,2,10,2,7,10,4]$ + \only<1->{\item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$} - \item Empfangen: $W = [5,3,6,8,2,10,2,7,1,4]$ + \only<1->{\item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} + + \only<1->{\item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$} - \item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerstellen}5,4,5,7,6,7]$ \end{itemize} - Wie finden wir die Fehler? + \only<1->{Wie finden wir die Fehler?} + \only<1->{ \begin{itemize} \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + %\only<7->{\item $e(X) = r(X) - m(X)$} + \item $e(X) = r(X) - m(X)$ + \end{itemize} - + } + \begin{center} - + \only<1->{ \begin{tabular}{c c c c c c c c c c c} \hline $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ \hline - $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ - $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ - $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + $r(a^{i})$& \only<1->{$5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$}\\ + $m(a^{i})$& \only<1->{$5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$}\\ + $e(a^{i})$& \only<1->{$0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$}\\ \hline \end{tabular} - + } \end{center} - + + \only<1->{ \begin{itemize} \item Alle Stellen, die nicht Null sind, sind Fehler \end{itemize} - + } + \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Nullstellen des Fehlerpolynoms finden} \begin{itemize} - \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + \only<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} \vspace{10pt} - \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + \only<1->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + \only<1->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$} \vspace{10pt} - \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \only<1->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$} \vspace{10pt} - \item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat + \only<1->{\item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat} \vspace{10pt} - $\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \only<1->{$\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$ + \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$} \end{itemize} @@ -574,33 +609,33 @@ \end{frame} %------------------------------------------------------------------------------- \begin{frame} - \frametitle{kennen wir $e$?} + \frametitle{Kennen wir $e(X)$?} \begin{itemize} - \item $e$ ist unbekannt auf der Empfängerseite + \only<1->{\item $e(X)$ ist unbekannt auf der Empfängerseite} \vspace{10pt} - \item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt? + \only<1->{\item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt?} \vspace{10pt} - \item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + \only<1->{\item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ - In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat + In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat} \vspace{10pt} - \item daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$ + \only<1->{\item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$} \vspace{10pt} - \item $f(X) = X^{10} - 1 = X^{10} + 10$ + \only<1->{\item $f(X) = X^{10} - 1 = X^{10} + 10$} \vspace{10pt} - \item jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen + \only<1->{\item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen} \end{itemize} \end{frame} @@ -608,8 +643,8 @@ \begin{frame} \frametitle{Der Euklidische Algorithmus (nochmal)} - $\operatorname{ggT}(f(X),e(X))$ hat den Grad 8 - + \only<1->{$\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$} + \only<1->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -620,7 +655,8 @@ & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ \end{array} \] - + } + \only<1->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -629,14 +665,14 @@ && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ \end{array} \] - + } \vspace{10pt} - $\operatorname{ggT}(f(X),e(X)) = 6X^8$ + \only<1->{$\operatorname{ggT}(f(X),e(X)) = 6X^8$} \vspace{10pt} - $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen + \only<1->{ $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen } \end{frame} @@ -653,7 +689,7 @@ & & $0$& $1$\\ $0$& $9X + 5$& $1$& $0$\\ $1$& $10X + 3$& $9X+5$& $1$\\ - $2$& & $2X^2 + 0X + 5$& $10X + 3$\\ + $2$& & \textcolor<2->{blue}{$2X^2 + 0X + 5$}& $10X + 3$\\ \hline \end{tabular} @@ -662,49 +698,54 @@ \vspace{10pt} \begin{tabular}{ll} - Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\ - Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\ - Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$ + \only<1->{Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\} + \only<1->{Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\} + \only<1->{Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$} \end{tabular} \vspace{10pt} - + \only<1->{ \begin{center} $a^i = 5 \qquad \Rightarrow \qquad i = 3$ $a^i = 6 \qquad \Rightarrow \qquad i = 8$ \end{center} - - $D = [3,8]$ + } + \only<1->{$d(X) = (X-a^3)(X-a^8)$} \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +\section{Nachricht Rekonstruieren} \begin{frame} \frametitle{Rekonstruktion der Nachricht} \begin{itemize} - \item $W = [5,3,6,8,2,10,2,7,1,4]$ + \only<1->{\item $w = [5,3,6,8,2,10,2,7,1,4]$} - \item $D = [3,8]$ + \only<1->{\item $d(X) = (X-\textcolor<4->{red}{a^3})(X-\textcolor<4->{red}{a^8})$} \end{itemize} - + \only<1->{ \[ + \textcolor{gray}{ \begin{pmatrix} - 5 \\ 3 \\ 6 \\ 8 \\ 2 \\ 10 \\ 2 \\ 7 \\ 1 \\ 4 \\ + a^0 \\ a^1 \\ a^2 \\ \textcolor<4->{red}{a^3} \\ a^4 \\ a^5 \\ a^6 \\ a^7 \\ \textcolor<4->{red}{a^8} \\ a^9 \\ + \end{pmatrix}} + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ \textcolor<4->{red}{8} \\ 2 \\ 10 \\ 2 \\ 7 \\ \textcolor<4->{red}{1} \\ 4 \\ \end{pmatrix} = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ - 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + \textcolor<4->{red}{8^0}& \textcolor<4->{red}{8^3}& \textcolor<4->{red}{8^6}& \textcolor<4->{red}{8^9}& \textcolor<4->{red}{8^{12}}& \textcolor<4->{red}{8^{15}}& \textcolor<4->{red}{8^{18}}& \textcolor<4->{red}{8^{21}}& \textcolor<4->{red}{8^{24}}& \textcolor<4->{red}{8^{27}}\\ 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ - 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + \textcolor<4->{red}{8^0}& \textcolor<4->{red}{8^8}& \textcolor<4->{red}{8^{16}}& \textcolor<4->{red}{8^{24}}& \textcolor<4->{red}{8^{32}}& \textcolor<4->{red}{8^{40}}& \textcolor<4->{red}{8^{48}}& \textcolor<4->{red}{8^{56}}& \textcolor<4->{red}{8^{64}}& \textcolor<4->{red}{8^{72}}\\ 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ \end{pmatrix} \cdot @@ -712,13 +753,14 @@ m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ \end{pmatrix} \] - + } + \only<1->{ \begin{itemize} \item Fehlerstellen entfernen \end{itemize} - + } \end{frame} -%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- \begin{frame} \frametitle{Rekonstruktion der Nachricht} @@ -728,25 +770,25 @@ \end{pmatrix} = \begin{pmatrix} - 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ - 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ - 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ - 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ - 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ - 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ - 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ - 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor<3->{green}{8^6}& \textcolor<3->{green}{8^7}& \textcolor<3->{green}{8^8}& \textcolor<3->{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor<3->{green}{8^{12}}& \textcolor<3->{green}{8^{14}}& \textcolor<3->{green}{8^{16}}& \textcolor<3->{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor<3->{green}{8^{24}}& \textcolor<3->{green}{8^{28}}& \textcolor<3->{green}{8^{32}}& \textcolor<3->{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor<3->{green}{8^{30}}& \textcolor<3->{green}{8^{35}}& \textcolor<3->{green}{8^{40}}& \textcolor<3->{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor<3->{green}{8^{36}}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{48}}& \textcolor<3->{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{49}}& \textcolor<3->{green}{8^{56}}& \textcolor<3->{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor<3->{green}{8^{54}}& \textcolor<3->{green}{8^{63}}& \textcolor<3->{green}{8^{72}}& \textcolor<3->{green}{8^{81}}\\ \end{pmatrix} \cdot \begin{pmatrix} - m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor<2->{green}{m_6} \\ \textcolor<2->{green}{m_7} \\ \textcolor<2->{green}{m_8} \\ \textcolor<2->{green}{m_9} \\ \end{pmatrix} \] - + \only<1->{ \begin{itemize} \item Nullstellen entfernen \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -754,7 +796,7 @@ \[ \begin{pmatrix} - 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor<2->{red}{7} \\ \textcolor<2->{red}{4} \\ \end{pmatrix} = \begin{pmatrix} @@ -764,8 +806,8 @@ 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ - 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}\\ - 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}\\ + \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^7}& \textcolor<2->{red}{8^{14}}& \textcolor<2->{red}{8^{21}}& \textcolor<2->{red}{8^{28}}& \textcolor<2->{red}{8^{35}}\\ + \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^9}& \textcolor<2->{red}{8^{18}}& \textcolor<2->{red}{8^{27}}& \textcolor<2->{red}{8^{36}}& \textcolor<2->{red}{8^{45}}\\ \end{pmatrix} \cdot \begin{pmatrix} @@ -774,11 +816,11 @@ \] \vspace{5pt} - + \only<1->{ \begin{itemize} \item Matrix in eine Quadratische Form bringen \end{itemize} - + } \end{frame} %------------------------------------------------------------------------------- \begin{frame} -- cgit v1.2.1 From 8c6a8e56c125c238dc64c21d1269fcdc7542c5cd Mon Sep 17 00:00:00 2001 From: JODBaer Date: Thu, 22 Apr 2021 23:45:32 +0200 Subject: =?UTF-8?q?merge=20lines=20gel=C3=B6scht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/papers/reedsolomon/RS presentation/RS.tex | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 61324f7..943f2da 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -84,11 +84,9 @@ \end{tabular} \end{center} \end{frame} -<<<<<<< Updated upstream + %------------------------------------------------------------------------------- -======= ->>>>>>> Stashed changes \section{Diskrete Fourier Transformation} \begin{frame} \frametitle{Idee} @@ -184,13 +182,12 @@ Indem in einem endlichen Körper gerechnet wird. } \end{frame} -<<<<<<< Updated upstream + %------------------------------------------------------------------------------- -======= + \section{Reed-Solomon in Endlichen Körpern} ->>>>>>> Stashed changes \begin{frame} \frametitle{Reed-Solomon in Endlichen Körpern} -- cgit v1.2.1 From 179ea16b001b6640e9b720d53ffc06f3e2389ff2 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Fri, 23 Apr 2021 00:30:36 +0200 Subject: appostroph verbessert --- buch/papers/reedsolomon/RS presentation/RS.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 943f2da..d09d77d 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -64,7 +64,7 @@ \begin{center} \begin{tabular}{ c c c } \hline - ``Nutzlas´´ & Fehler & Versenden \\ + ``Nutzlast'' & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -- cgit v1.2.1 From ded210e33924d4c078e5a0d899c0585d7f987565 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Fri, 23 Apr 2021 12:58:40 +0200 Subject: Folien Verbesserungen animation --- buch/papers/reedsolomon/RS presentation/RS.aux | 167 +++++++++++----- buch/papers/reedsolomon/RS presentation/RS.log | 212 ++++++++++++++++----- buch/papers/reedsolomon/RS presentation/RS.nav | 117 ++++++++---- buch/papers/reedsolomon/RS presentation/RS.out | 9 +- buch/papers/reedsolomon/RS presentation/RS.pdf | Bin 135643 -> 207741 bytes buch/papers/reedsolomon/RS presentation/RS.snm | 2 +- .../reedsolomon/RS presentation/RS.synctex.gz | Bin 22450 -> 203648 bytes buch/papers/reedsolomon/RS presentation/RS.tex | 24 +-- buch/papers/reedsolomon/RS presentation/RS.toc | 11 +- 9 files changed, 388 insertions(+), 154 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.aux b/buch/papers/reedsolomon/RS presentation/RS.aux index 005172f..065ba66 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.aux +++ b/buch/papers/reedsolomon/RS presentation/RS.aux @@ -26,52 +26,121 @@ \@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} \@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} \@writefile{nav}{\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}}} -\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} -\HyPL@Entry{2<>} -\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{2}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{2}}} -\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}}} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} -\HyPL@Entry{3<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {4}{5}}} -\HyPL@Entry{5<>} -\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {6}{6}}} -\HyPL@Entry{6<>} -\@writefile{toc}{\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {3}{6}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {3}{6}}} -\@writefile{nav}{\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}}} -\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {7}{7}}} -\HyPL@Entry{7<>} -\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {8}{14}}} -\HyPL@Entry{14<>} -\@writefile{toc}{\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {7}{14}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {7}{14}}} -\@writefile{nav}{\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}}} -\@writefile{snm}{\beamer@slide {ft_discrete}{15}} -\newlabel{ft_discrete}{{8}{15}{Diskrete Fourier Transformation}{Doc-Start}{}} -\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} -\HyPL@Entry{15<>} -\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} -\HyPL@Entry{16<>} -\@writefile{toc}{\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {15}{16}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {15}{16}}} -\@writefile{nav}{\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}}} -\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {17}{18}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{18}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {17}{18}}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {17}{18}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {18}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {10}}} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/4}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {2}{4}}} +\HyPL@Entry{4<>} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{5}{0}{2}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{4}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{4}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{5}{Polynom Ansatz}{0}}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{5/5}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {5}{5}}} +\HyPL@Entry{5<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{6/8}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {6}{8}}} +\HyPL@Entry{8<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{3}{9/12}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {9}{12}}} +\HyPL@Entry{12<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{13}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {5}{12}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {5}{12}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{13}{Diskrete Fourier Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{13/13}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} +\HyPL@Entry{13<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{14/20}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {14}{20}}} +\HyPL@Entry{20<>} +\@writefile{snm}{\beamer@slide {ft_discrete}{21}} +\newlabel{ft_discrete}{{8}{21}{Diskrete Fourier Transformation}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{3}{21/23}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {21}{23}}} +\HyPL@Entry{23<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{4}{24/24}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {24}{24}}} +\HyPL@Entry{24<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{5}{25/26}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {25}{26}}} +\HyPL@Entry{26<>} +\@writefile{toc}{\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{27}{0}{4}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {13}{26}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {13}{26}}} +\@writefile{nav}{\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{27}{Reed-Solomon in Endlichen Körpern}{0}}} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{27/27}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {27}{27}}} +\HyPL@Entry{27<>} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{28/28}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {28}{28}}} +\HyPL@Entry{28<>} +\@writefile{toc}{\beamer@sectionintoc {5}{Codierung eines Beispiels}{29}{0}{5}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {27}{28}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {27}{28}}} +\@writefile{nav}{\headcommand {\sectionentry {5}{Codierung eines Beispiels}{29}{Codierung eines Beispiels}{0}}} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{29/29}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {29}{29}}} +\HyPL@Entry{29<>} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{2}{30/30}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {30}{30}}} +\HyPL@Entry{30<>} +\@writefile{toc}{\beamer@sectionintoc {6}{Decodierung ohne Fehler}{31}{0}{6}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {29}{30}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {29}{30}}} +\@writefile{nav}{\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{31}{Decodierung ohne Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{1}{31/31}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {31}{31}}} +\HyPL@Entry{31<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{2}{32/34}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {32}{34}}} +\HyPL@Entry{34<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{3}{35/35}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {35}{35}}} +\HyPL@Entry{35<>} +\@writefile{toc}{\beamer@sectionintoc {7}{Decodierung mit Fehler}{36}{0}{7}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {31}{35}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {31}{35}}} +\@writefile{nav}{\headcommand {\sectionentry {7}{Decodierung mit Fehler}{36}{Decodierung mit Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{1}{36/36}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {36}{36}}} +\HyPL@Entry{36<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{2}{37/37}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {37}{37}}} +\HyPL@Entry{37<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{3}{38/38}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {38}{38}}} +\HyPL@Entry{38<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{4}{39/39}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {39}{39}}} +\HyPL@Entry{39<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{5}{40/40}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {40}{40}}} +\HyPL@Entry{40<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{6}{41/42}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {41}{42}}} +\HyPL@Entry{42<>} +\@writefile{toc}{\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{43}{0}{8}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {36}{42}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {36}{42}}} +\@writefile{nav}{\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{43}{Nachricht Rekonstruieren}{0}}} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{1}{43/46}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {43}{46}}} +\HyPL@Entry{46<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{2}{47/49}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {47}{49}}} +\HyPL@Entry{49<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{3}{50/51}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {50}{51}}} +\HyPL@Entry{51<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{4}{52/52}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {52}{52}}} +\HyPL@Entry{52<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{5}{53/53}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {53}{53}}} +\HyPL@Entry{53<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{6}{54/54}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {54}{54}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{54}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {43}{54}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {43}{54}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {54}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {29}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.log b/buch/papers/reedsolomon/RS presentation/RS.log index 4e1c806..6042adc 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.log +++ b/buch/papers/reedsolomon/RS presentation/RS.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 21 APR 2021 18:18 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 23 APR 2021 10:48 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -974,141 +974,252 @@ Package hyperref Warning: Option `pdfsubject' has already been used, ] LaTeX Font Info: Trying to load font information for OT1+lmss on input line -29. +32. (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern ) -LaTeX Font Info: Trying to load font information for OML+lmm on input line 2 -9. +LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 +2. (c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMS+lmsy on input line -29. +32. (c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: Trying to load font information for OMX+lmex on input line -29. +32. (c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern ) LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10.95> on input line 29. +(Font) <10.95> on input line 32. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <8> on input line 29. +(Font) <8> on input line 32. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <6> on input line 29. -LaTeX Font Info: Trying to load font information for U+msa on input line 29. +(Font) <6> on input line 32. +LaTeX Font Info: Trying to load font information for U+msa on input line 32. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd File: umsa.fd 2013/01/14 v3.01 AMS symbols A ) -LaTeX Font Info: Trying to load font information for U+msb on input line 29. +LaTeX Font Info: Trying to load font information for U+msb on input line 32. (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd File: umsb.fd 2013/01/14 v3.01 AMS symbols B ) LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available -(Font) Font shape `T1/lmss/m/sl' tried instead on input line 29. +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. [2 ] [3 +] [4 + +] [5 + +] +[6 + ] File: images/polynom1.pdf Graphic file (type pdf) - [4 + [7 ] File: images/polynom2.pdf Graphic file (type pdf) - [5 + [8 -] -[6 +] [9 -] [7 +] [10 + +] [11 + +] [12 + +] [13 ] File: images/fig1.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[8 +[14 ] File: images/fig2.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[9 +[15 ] File: images/fig3.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[10 +[16 ] File: images/fig4.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[11 +[17 ] File: images/fig5.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[12 +[18 ] File: images/fig6.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[13 +[19 ] File: images/fig7.pdf Graphic file (type pdf) -Overfull \vbox (14.63716pt too high) detected at line 105 +Overfull \vbox (14.63716pt too high) detected at line 124 [] -[14 +[20 + +] [21 + +] [22 + +] [23 + +] [24 + +] [25 + +] [26 + +] [27 + +] [28 + +] +LaTeX Font Info: Trying to load font information for T1+lmr on input line 30 +0. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmr.fd +File: t1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern +) [29 + +] [30 + +] +LaTeX Font Info: Trying to load font information for U+euf on input line 383 +. + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/ueuf.fd +File: ueuf.fd 2013/01/14 v3.01 Euler Fraktur +) +Overfull \hbox (1.42268pt too wide) detected at line 383 +\U/euf/m/n/10.95 F[]\OT1/lmss/m/n/10.95 (\T1/lmss/m/sl/10.95 F\OT1/lmss/m/n/10. +95 (\OML/lmm/m/it/10.95 !\OT1/lmss/m/n/10.95 )) = \T1/lmss/m/sl/10.95 f\OT1/lms +s/m/n/10.95 (\T1/lmss/m/sl/10.95 t\OT1/lmss/m/n/10.95 ) = [] [][] \T1/lmss/m/sl +/10.95 F\OT1/lmss/m/n/10.95 (\OML/lmm/m/it/10.95 !\OT1/lmss/m/n/10.95 )\T1/lmr/ +m/n/10.95 e[]\T1/lmss/m/sl/10.95 d\OML/lmm/m/it/10.95 ! + [] + +[31 -] [15 +] [32 -] [16 +] [33 -] [17 +] [34 -] [18 +] [35 + +] [36 + +] [37 + +] [38 + +] +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <14.4> on input line 638. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10> on input line 638. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <7> on input line 638. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <14.4> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 638. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 638. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <7> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 638. + [39 + +] +Overfull \hbox (2.91844pt too wide) detected at line 674 +[] + [] + +[40 + +] [41 + +] [42 + +] [43 + +] [44 + +] [45 + +] [46 + +] [47 + +] [48 + +] [49 + +] [50 + +] [51 + +] [52 + +] [53 + +] [54 ] \tf@nav=\write6 @@ -1120,21 +1231,22 @@ Overfull \vbox (14.63716pt too high) detected at line 105 \tf@snm=\write8 \openout8 = `RS.snm'. -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 160. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 160. - (./RS.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 160. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 160. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 928. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 928. + +(./RS.aux) +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 928. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 928. Package rerunfilecheck Info: File `RS.out' has not changed. -(rerunfilecheck) Checksum: 74C688051BF542B3A11E9793A97790F4. +(rerunfilecheck) Checksum: CBEDF1F633104E8EE4EB074E401487DA. ) Here is how much of TeX's memory you used: - 24400 strings out of 492483 - 451960 string characters out of 6132858 - 534889 words of memory out of 5000000 - 28378 multiletter control sequences out of 15000+600000 - 37892 words of font info for 41 fonts, out of 8000000 for 9000 + 24528 strings out of 492483 + 453801 string characters out of 6132858 + 557615 words of memory out of 5000000 + 28488 multiletter control sequences out of 15000+600000 + 82614 words of font info for 73 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 - 58i,15n,61p,796b,549s stack positions out of 5000i,500n,10000p,200000b,80000s + 58i,15n,61p,796b,566s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on RS.pdf (18 pages). +Output written on RS.pdf (54 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS.nav b/buch/papers/reedsolomon/RS presentation/RS.nav index 1d67391..f288963 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.nav +++ b/buch/papers/reedsolomon/RS presentation/RS.nav @@ -3,38 +3,85 @@ \headcommand {\beamer@sectionpages {1}{1}} \headcommand {\beamer@subsectionpages {1}{1}} \headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} -\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} -\headcommand {\beamer@framepages {2}{2}} -\headcommand {\beamer@sectionpages {2}{2}} -\headcommand {\beamer@subsectionpages {2}{2}} -\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}} -\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}} -\headcommand {\beamer@framepages {3}{3}} -\headcommand {\slideentry {2}{0}{2}{4/5}{}{0}} -\headcommand {\beamer@framepages {4}{5}} -\headcommand {\slideentry {2}{0}{3}{6/6}{}{0}} -\headcommand {\beamer@framepages {6}{6}} -\headcommand {\beamer@sectionpages {3}{6}} -\headcommand {\beamer@subsectionpages {3}{6}} -\headcommand {\sectionentry {3}{Fourier Transformation}{7}{Fourier Transformation}{0}} -\headcommand {\slideentry {3}{0}{1}{7/7}{}{0}} -\headcommand {\beamer@framepages {7}{7}} -\headcommand {\slideentry {3}{0}{2}{8/14}{}{0}} -\headcommand {\beamer@framepages {8}{14}} -\headcommand {\beamer@sectionpages {7}{14}} -\headcommand {\beamer@subsectionpages {7}{14}} -\headcommand {\sectionentry {4}{Diskrete Fourier Transformation}{15}{Diskrete Fourier Transformation}{0}} -\headcommand {\slideentry {4}{0}{1}{15/15}{}{0}} -\headcommand {\beamer@framepages {15}{15}} -\headcommand {\slideentry {4}{0}{2}{16/16}{}{0}} -\headcommand {\beamer@framepages {16}{16}} -\headcommand {\beamer@sectionpages {15}{16}} -\headcommand {\beamer@subsectionpages {15}{16}} -\headcommand {\sectionentry {5}{Probleme und Fragen}{17}{Probleme und Fragen}{0}} -\headcommand {\slideentry {5}{0}{1}{17/18}{}{0}} -\headcommand {\beamer@framepages {17}{18}} -\headcommand {\beamer@partpages {1}{18}} -\headcommand {\beamer@subsectionpages {17}{18}} -\headcommand {\beamer@sectionpages {17}{18}} -\headcommand {\beamer@documentpages {18}} -\headcommand {\gdef \inserttotalframenumber {10}} +\headcommand {\slideentry {1}{0}{1}{2/4}{}{0}} +\headcommand {\beamer@framepages {2}{4}} +\headcommand {\beamer@sectionpages {2}{4}} +\headcommand {\beamer@subsectionpages {2}{4}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{5}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{5/5}{}{0}} +\headcommand {\beamer@framepages {5}{5}} +\headcommand {\slideentry {2}{0}{2}{6/8}{}{0}} +\headcommand {\beamer@framepages {6}{8}} +\headcommand {\slideentry {2}{0}{3}{9/12}{}{0}} +\headcommand {\beamer@framepages {9}{12}} +\headcommand {\beamer@sectionpages {5}{12}} +\headcommand {\beamer@subsectionpages {5}{12}} +\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{13}{Diskrete Fourier Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{13/13}{}{0}} +\headcommand {\beamer@framepages {13}{13}} +\headcommand {\slideentry {3}{0}{2}{14/20}{}{0}} +\headcommand {\beamer@framepages {14}{20}} +\headcommand {\slideentry {3}{0}{3}{21/23}{}{0}} +\headcommand {\beamer@framepages {21}{23}} +\headcommand {\slideentry {3}{0}{4}{24/24}{}{0}} +\headcommand {\beamer@framepages {24}{24}} +\headcommand {\slideentry {3}{0}{5}{25/26}{}{0}} +\headcommand {\beamer@framepages {25}{26}} +\headcommand {\beamer@sectionpages {13}{26}} +\headcommand {\beamer@subsectionpages {13}{26}} +\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{27}{Reed-Solomon in Endlichen Körpern}{0}} +\headcommand {\slideentry {4}{0}{1}{27/27}{}{0}} +\headcommand {\beamer@framepages {27}{27}} +\headcommand {\slideentry {4}{0}{2}{28/28}{}{0}} +\headcommand {\beamer@framepages {28}{28}} +\headcommand {\beamer@sectionpages {27}{28}} +\headcommand {\beamer@subsectionpages {27}{28}} +\headcommand {\sectionentry {5}{Codierung eines Beispiels}{29}{Codierung eines Beispiels}{0}} +\headcommand {\slideentry {5}{0}{1}{29/29}{}{0}} +\headcommand {\beamer@framepages {29}{29}} +\headcommand {\slideentry {5}{0}{2}{30/30}{}{0}} +\headcommand {\beamer@framepages {30}{30}} +\headcommand {\beamer@sectionpages {29}{30}} +\headcommand {\beamer@subsectionpages {29}{30}} +\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{31}{Decodierung ohne Fehler}{0}} +\headcommand {\slideentry {6}{0}{1}{31/31}{}{0}} +\headcommand {\beamer@framepages {31}{31}} +\headcommand {\slideentry {6}{0}{2}{32/34}{}{0}} +\headcommand {\beamer@framepages {32}{34}} +\headcommand {\slideentry {6}{0}{3}{35/35}{}{0}} +\headcommand {\beamer@framepages {35}{35}} +\headcommand {\beamer@sectionpages {31}{35}} +\headcommand {\beamer@subsectionpages {31}{35}} +\headcommand {\sectionentry {7}{Decodierung mit Fehler}{36}{Decodierung mit Fehler}{0}} +\headcommand {\slideentry {7}{0}{1}{36/36}{}{0}} +\headcommand {\beamer@framepages {36}{36}} +\headcommand {\slideentry {7}{0}{2}{37/37}{}{0}} +\headcommand {\beamer@framepages {37}{37}} +\headcommand {\slideentry {7}{0}{3}{38/38}{}{0}} +\headcommand {\beamer@framepages {38}{38}} +\headcommand {\slideentry {7}{0}{4}{39/39}{}{0}} +\headcommand {\beamer@framepages {39}{39}} +\headcommand {\slideentry {7}{0}{5}{40/40}{}{0}} +\headcommand {\beamer@framepages {40}{40}} +\headcommand {\slideentry {7}{0}{6}{41/42}{}{0}} +\headcommand {\beamer@framepages {41}{42}} +\headcommand {\beamer@sectionpages {36}{42}} +\headcommand {\beamer@subsectionpages {36}{42}} +\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{43}{Nachricht Rekonstruieren}{0}} +\headcommand {\slideentry {8}{0}{1}{43/46}{}{0}} +\headcommand {\beamer@framepages {43}{46}} +\headcommand {\slideentry {8}{0}{2}{47/49}{}{0}} +\headcommand {\beamer@framepages {47}{49}} +\headcommand {\slideentry {8}{0}{3}{50/51}{}{0}} +\headcommand {\beamer@framepages {50}{51}} +\headcommand {\slideentry {8}{0}{4}{52/52}{}{0}} +\headcommand {\beamer@framepages {52}{52}} +\headcommand {\slideentry {8}{0}{5}{53/53}{}{0}} +\headcommand {\beamer@framepages {53}{53}} +\headcommand {\slideentry {8}{0}{6}{54/54}{}{0}} +\headcommand {\beamer@framepages {54}{54}} +\headcommand {\beamer@partpages {1}{54}} +\headcommand {\beamer@subsectionpages {43}{54}} +\headcommand {\beamer@sectionpages {43}{54}} +\headcommand {\beamer@documentpages {54}} +\headcommand {\gdef \inserttotalframenumber {29}} diff --git a/buch/papers/reedsolomon/RS presentation/RS.out b/buch/papers/reedsolomon/RS presentation/RS.out index 32b9a2c..364319e 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.out +++ b/buch/papers/reedsolomon/RS presentation/RS.out @@ -1,5 +1,8 @@ \BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 \BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 -\BOOKMARK [2][]{Outline0.3}{Fourier\040Transformation}{}% 3 -\BOOKMARK [2][]{Outline0.4}{Diskrete\040Fourier\040Transformation}{}% 4 -\BOOKMARK [2][]{Outline0.5}{Probleme\040und\040Fragen}{}% 5 +\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourier\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.4}{Reed-Solomon in Endlichen Körpern}{}% 4 +\BOOKMARK [2][]{Outline0.5}{Codierung\040eines\040Beispiels}{}% 5 +\BOOKMARK [2][]{Outline0.6}{Decodierung\040ohne\040Fehler}{}% 6 +\BOOKMARK [2][]{Outline0.7}{Decodierung\040mit\040Fehler}{}% 7 +\BOOKMARK [2][]{Outline0.8}{Nachricht\040Rekonstruieren}{}% 8 diff --git a/buch/papers/reedsolomon/RS presentation/RS.pdf b/buch/papers/reedsolomon/RS presentation/RS.pdf index 913bc42..d9d6693 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.pdf and b/buch/papers/reedsolomon/RS presentation/RS.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.snm b/buch/papers/reedsolomon/RS presentation/RS.snm index 6607ea8..86859c9 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.snm +++ b/buch/papers/reedsolomon/RS presentation/RS.snm @@ -1 +1 @@ -\beamer@slide {ft_discrete}{15} +\beamer@slide {ft_discrete}{21} diff --git a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz index 001b5c8..04bd239 100644 Binary files a/buch/papers/reedsolomon/RS presentation/RS.synctex.gz and b/buch/papers/reedsolomon/RS presentation/RS.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index d09d77d..7b2c4da 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -43,18 +43,18 @@ ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. - \only<1>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom1.pdf}} - \only<2>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom2.pdf} + + Versende $ (p(1),p(2),\dots,p(7))$ + \visible<2->{ = (\textcolor{green}{8},} + \only<2>{\textcolor{green}{15},} + \only<3>{\textcolor{red}{50},} + \only<2>{\textcolor{green}{26},} + \only<3>{\textcolor{red}{37},} + \visible<2->{\textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})} + \only<2>{\includegraphics[scale = 1.2]{images/polynom1.pdf}} + \only<3>{\includegraphics[scale = 1.2]{images/polynom2.pdf}} + \visible<3>{ \newline \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} \end{frame} diff --git a/buch/papers/reedsolomon/RS presentation/RS.toc b/buch/papers/reedsolomon/RS presentation/RS.toc index 44c06ab..095b5e6 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.toc +++ b/buch/papers/reedsolomon/RS presentation/RS.toc @@ -1,6 +1,9 @@ \babel@toc {ngerman}{} \beamer@sectionintoc {1}{Einführung}{2}{0}{1} -\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2} -\beamer@sectionintoc {3}{Fourier Transformation}{7}{0}{3} -\beamer@sectionintoc {4}{Diskrete Fourier Transformation}{15}{0}{4} -\beamer@sectionintoc {5}{Probleme und Fragen}{17}{0}{5} +\beamer@sectionintoc {2}{Polynom Ansatz}{5}{0}{2} +\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{13}{0}{3} +\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{27}{0}{4} +\beamer@sectionintoc {5}{Codierung eines Beispiels}{29}{0}{5} +\beamer@sectionintoc {6}{Decodierung ohne Fehler}{31}{0}{6} +\beamer@sectionintoc {7}{Decodierung mit Fehler}{36}{0}{7} +\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{43}{0}{8} -- cgit v1.2.1 From 0a80be4477602e2d909e5eda40dae485ec6acd56 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Fri, 23 Apr 2021 13:02:38 +0200 Subject: Read me erstellt --- buch/papers/reedsolomon/RS presentation/README.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 buch/papers/reedsolomon/RS presentation/README.txt (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/README.txt b/buch/papers/reedsolomon/RS presentation/README.txt new file mode 100644 index 0000000..4d0620f --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/README.txt @@ -0,0 +1 @@ +Dies ist die Presentation des Reed-Solomon-Code \ No newline at end of file -- cgit v1.2.1 From d1b6d92a02d9c44b3860b73d5660c5c6863de0df Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Fri, 23 Apr 2021 21:19:34 +0200 Subject: handout added --- buch/papers/reedsolomon/RS presentation/RS.tex | 290 +++---- .../reedsolomon/RS presentation/RS_handout.tex | 921 +++++++++++++++++++++ 2 files changed, 1069 insertions(+), 142 deletions(-) create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS.tex b/buch/papers/reedsolomon/RS presentation/RS.tex index 943f2da..c215e66 100644 --- a/buch/papers/reedsolomon/RS presentation/RS.tex +++ b/buch/papers/reedsolomon/RS presentation/RS.tex @@ -14,8 +14,8 @@ \institute{OST Ostschweizer Fachhochschule} \date{26.04.2021} \subject{Mathematisches Seminar} - \setbeamercovered{transparent} - %\setbeamercovered{invisible} + %\setbeamercovered{transparent} + \setbeamercovered{invisible} \setbeamertemplate{navigation symbols}{} \begin{frame}[plain] \maketitle @@ -64,22 +64,22 @@ \begin{center} \begin{tabular}{ c c c } \hline - ``Nutzlas´´ & Fehler & Versenden \\ + Nutzlas & Fehler & Versenden \\ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -\visible<2->{3}& -\visible<2->{3}& -\visible<3->{9 Werte eines Polynoms vom Grad 2} \\ +\visible<1->{3}& +\visible<1->{3}& +\visible<1->{9 Werte eines Polynoms vom Grad 2} \\ &&\\ -\visible<4->{$k$} & -\visible<4->{$t$} & -\visible<4->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ +\visible<1->{$k$} & +\visible<1->{$t$} & +\visible<1->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \visible<4>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + \visible<1>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} } \end{tabular} \end{center} @@ -194,21 +194,21 @@ \begin{itemize} \onslide<1->{\item Warum endliche Körper?} - \onslide<1->{\qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler} + \onslide<2->{\qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler} - \onslide<1->{\qquad digitale Fehlerkorrektur} + \onslide<3->{\qquad digitale Fehlerkorrektur} - \onslide<1->{\qquad bessere Laufzeit} + %\onslide<4->{\qquad bessere Laufzeit} \vspace{10pt} - \onslide<1->{\item Nachricht = Nutzdaten + Fehlerkorrekturteil} + \onslide<4->{\item Nachricht = Nutzdaten + Fehlerkorrekturteil} \vspace{10pt} - \onslide<1->{\item aus Fehlerkorrekturteil die Fehlerstellen finden} + \onslide<5->{\item aus Fehlerkorrekturteil die Fehlerstellen finden} - \onslide<1->{\qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom} + \onslide<6->{\qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom} % \vspace{10pt} @@ -232,33 +232,33 @@ \begin{itemize} - \only<1->{\item endlicher Körper $q = 11$} + \onslide<1->{\item endlicher Körper $q = 11$} - \only<1->{ist eine Primzahl} + \onslide<2->{ist eine Primzahl} - \only<1->{beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$} + \onslide<3->{beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \only<1->{\item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen + \onslide<4->{\item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen} - $n = q - 1 = 10$ Zahlen} + \onslide<5->{$n = q - 1 = 10$ Zahlen} \vspace{10pt} - \only<1->{\item Max.~Fehler $z = 2$ + \onslide<6->{\item Max.~Fehler $t = 2$} - maximale Anzahl von Fehler, die wir noch korrigieren können} + \onslide<7->{maximale Anzahl von Fehler, die wir noch korrigieren können} \vspace{10pt} - \only<1->{\item Nutzlast $k = n -2t = 6$ Zahlen} + \onslide<8->{\item Nutzlast $k = n -2t = 6$ Zahlen} - \only<1->{Fehlerkorrkturstellen $2t = 4$ Zahlen} + \onslide<9->{Fehlerkorrkturstellen $2t = 4$ Zahlen} - \only<1->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} + \onslide<10->{Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$} - \only<1->{als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} + \onslide<11->{als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} \end{itemize} @@ -269,31 +269,31 @@ \frametitle{Codierung} \begin{itemize} - \only<1->{\item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation} + \onslide<1->{\item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation} \vspace{10pt} - \only<1->{\item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$} + \onslide<2->{\item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$} \vspace{10pt} - \only<1->{\item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken + \onslide<3->{\item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken} - $\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$} + \onslide<4->{$\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$} \vspace{10pt} - \only<1->{\item Wir wählen $a = 8$} + \onslide<5->{\item Wir wählen $a = 8$} - \only<1->{$\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$} + \onslide<6->{$\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$} - \only<1->{$8$ ist eine primitive Einheitswurzel} + \onslide<7->{$8$ ist eine primitive Einheitswurzel} \vspace{10pt} - \only<1->{\item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$} + \onslide<8->{\item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$} - \only<1->{$\Rightarrow$ \qquad können wir auch als Matrix schreiben} + \onslide<9->{$\Rightarrow$ \qquad können wir auch als Matrix schreiben} \end{itemize} @@ -303,14 +303,14 @@ \frametitle{Codierung} \begin{itemize} - \only<1->{\item Übertragungsvektor $v$} + \onslide<1->{\item Übertragungsvektor $v$} - \only<1->{\item $v = A \cdot m$} + \onslide<2->{\item $v = A \cdot m$} \end{itemize} \[ - \only<1->{ + \onslide<3->{ v = \begin{pmatrix} 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ @@ -329,11 +329,11 @@ \end{pmatrix} } \] - \only<1->{ + \begin{itemize} - \item $v = [5,3,6,5,2,10,2,7,10,4]$ + \onslide<4->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \section{Decodierung ohne Fehler} @@ -341,41 +341,44 @@ \frametitle{Decodierung ohne Fehler} \begin{itemize} - \only<1->{\item Der Empfänger erhält den unveränderten Vektor - $v = [5,3,6,5,2,10,2,7,10,4]$} + \onslide<1->{\item Der Empfänger erhält den unveränderten Vektor $v = [5,3,6,5,2,10,2,7,10,4]$} \vspace{10pt} - \only<1->{\item Wir suchen die Inverse der Matrix $A$} + \onslide<2->{\item Wir suchen die Inverse der Matrix $A$} \vspace{10pt} \end{itemize} \begin{columns}[t] - \begin{column}{0.50\textwidth} - \only<1->{ - Inverse der Fouriertransformation + \begin{column}{0.55\textwidth} + \onslide<3->{ Inverse der Fouriertransformation} \vspace{10pt} + \onslide<4->{ \[ F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt \] + } \vspace{10pt} + \onslide<5->{ \[ \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega \] } \end{column} - \begin{column}{0.50\textwidth} - \only<1->{ - Inverse von $a$} + \begin{column}{0.45\textwidth} + \onslide<6->{Inverse von $a$} + \vspace{10pt} - \only<1->{ + + \onslide<7->{ \[ 8^{1} \Rightarrow 8^{-1} \] } - \only<1->{Inverse finden wir über den Eulkidischen Algorithmus} + + \onslide<8->{Inverse finden wir über den Eulkidischen Algorithmus} \vspace{10pt} \end{column} \end{columns} @@ -407,7 +410,7 @@ \begin{column}{0.50\textwidth} \begin{center} - \only<1->{ + \onslide<1->{ \begin{tabular}{| c | c c | c | r r |} \hline $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ @@ -417,17 +420,18 @@ $1$& $11$& $8$& $1$& $1$& $0$\\ $2$& $8$& $3$& $2$& $-1$& $1$\\ $3$& $3$& $2$& $1$& $3$& $-2$\\ - $4$& $2$& $1$& $2$& \textcolor<3->{blue}{$-4$}& \textcolor<3->{red}{$3$}\\ + $4$& $2$& $1$& $2$& \textcolor<2->{blue}{$-4$}& \textcolor<2->{red}{$3$}\\ $5$& $1$& $0$& & $11$& $-8$\\ \hline \end{tabular} } + \vspace{10pt} \begin{tabular}{rcl} - \only<1->{$\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$}\\ - \only<1->{$7 \cdot 8 + 3 \cdot 11$ &$=$& $1$}\\ - \only<1->{$8^{-1}$ &$=$& $7$} + \onslide<3->{$\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$}\\ + \onslide<4->{$7 \cdot 8 + 3 \cdot 11$ &$=$& $1$}\\ + \onslide<5->{$8^{-1}$ &$=$& $7$} \end{tabular} @@ -442,16 +446,16 @@ \frametitle{Decodierung mit Inverser Matrix} \begin{itemize} - \only<1->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} + \onslide<1->{\item $v = [5,3,6,5,2,10,2,7,10,4]$} - \only<1->{\item $m = 1/10 \cdot A^{-1} \cdot v$} + \onslide<2->{\item $m = 1/10 \cdot A^{-1} \cdot v$} - \only<1->{\item $m = 10 \cdot A^{-1} \cdot v$} + \onslide<3->{\item $m = 10 \cdot A^{-1} \cdot v$} \end{itemize} - \only<1->{ + \onslide<4->{ \[ - m = \begin{pmatrix} + m = 10 \cdot \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ @@ -469,11 +473,11 @@ \end{pmatrix} \] } - \only<1->{ + \begin{itemize} - \item $m = [0,0,0,0,4,7,2,5,8,1]$ + \onslide<5->{\item $m = [0,0,0,0,4,7,2,5,8,1]$} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \section{Decodierung mit Fehler} @@ -481,48 +485,46 @@ \frametitle{Decodierung mit Fehler - Ansatz} \begin{itemize} - \only<1->{\item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$} + \onslide<1->{\item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$} - \only<1->{\item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} + \onslide<2->{\item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} - \only<1->{\item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$} + \onslide<3->{\item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$} \end{itemize} - \only<1->{Wie finden wir die Fehler?} + \onslide<4->{Wie finden wir die Fehler?} - \only<1->{ \begin{itemize} - \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + \onslide<5->{\item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$} - \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + \onslide<6->{\item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$} %\only<7->{\item $e(X) = r(X) - m(X)$} - \item $e(X) = r(X) - m(X)$ + \onslide<7->{\item $e(X) = r(X) - m(X)$} \end{itemize} - } \begin{center} - \only<1->{ + \onslide<8->{ \begin{tabular}{c c c c c c c c c c c} \hline $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ \hline - $r(a^{i})$& \only<1->{$5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$}\\ - $m(a^{i})$& \only<1->{$5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$}\\ - $e(a^{i})$& \only<1->{$0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$}\\ + $r(a^{i})$& \onslide<9->{$5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$}\\ + $m(a^{i})$& \onslide<10->{$5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$}\\ + $e(a^{i})$& \onslide<11->{$0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$}\\ \hline \end{tabular} } \end{center} - \only<1->{ + \begin{itemize} - \item Alle Stellen, die nicht Null sind, sind Fehler + \onslide<12->{\item Alle Stellen, die nicht Null sind, sind Fehler} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- @@ -530,31 +532,31 @@ \frametitle{Nullstellen des Fehlerpolynoms finden} \begin{itemize} - \only<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} + \onslide<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} \vspace{10pt} - \only<1->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$} + \onslide<2->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$} \vspace{10pt} - \only<1->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<3->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$} \vspace{10pt} - \only<1->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<4->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$} \vspace{10pt} - \only<1->{\item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat} + \onslide<5->{\item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat} \vspace{10pt} - \only<1->{$\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<6->{$\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$} @@ -567,39 +569,39 @@ \begin{itemize} - \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + \onslide<1->{\item Satz von Fermat: $f(X) = X^{q-1}-1=0$} \vspace{10pt} - \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + \onslide<1->{\item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$} \vspace{10pt} - \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<1->{\item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$} \vspace{10pt} - \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + \onslide<1->{\item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ - \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$} \vspace{10pt} - \item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können + \onslide<1->{\item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können} \vspace{10pt} - $\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ + \onslide<2->{$\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ - \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$ + \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$} - $= d(X) \cdot e(X)$ + \onslide<3->{$= d(X) \cdot e(X)$} \vspace{10pt} - \item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$ + \onslide<4->{\item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$} \end{itemize} @@ -610,29 +612,29 @@ \begin{itemize} - \only<1->{\item $e(X)$ ist unbekannt auf der Empfängerseite} + \onslide<1->{\item $e(X)$ ist unbekannt auf der Empfängerseite} \vspace{10pt} - \only<1->{\item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt?} + \onslide<2->{\item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt?} \vspace{10pt} - \only<1->{\item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + \onslide<3->{\item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat} \vspace{10pt} - \only<1->{\item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$} + \onslide<4->{\item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$} \vspace{10pt} - \only<1->{\item $f(X) = X^{10} - 1 = X^{10} + 10$} + \onslide<5->{\item $f(X) = X^{10} - 1 = X^{10} + 10$} \vspace{10pt} - \only<1->{\item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen} + \onslide<6->{\item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen} \end{itemize} \end{frame} @@ -640,8 +642,8 @@ \begin{frame} \frametitle{Der Euklidische Algorithmus (nochmal)} - \only<1->{$\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$} - \only<1->{ + \onslide<1->{$\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$} + \onslide<2->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -653,7 +655,7 @@ \end{array} \] } - \only<1->{ + \onslide<3->{ \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} @@ -665,11 +667,11 @@ } \vspace{10pt} - \only<1->{$\operatorname{ggT}(f(X),e(X)) = 6X^8$} + \onslide<4->{$\operatorname{ggT}(f(X),e(X)) = 6X^8$} \vspace{10pt} - \only<1->{ $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen } + \onslide<5->{ $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen } \end{frame} @@ -695,20 +697,22 @@ \vspace{10pt} \begin{tabular}{ll} - \only<1->{Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\} - \only<1->{Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\} - \only<1->{Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$} + \onslide<3->{Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\} + \onslide<4->{Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\} + \onslide<5->{Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$} \end{tabular} \vspace{10pt} - \only<1->{ + + \onslide<6->{ \begin{center} $a^i = 5 \qquad \Rightarrow \qquad i = 3$ $a^i = 6 \qquad \Rightarrow \qquad i = 8$ \end{center} - } - \only<1->{$d(X) = (X-a^3)(X-a^8)$} + } + + \onslide<7->{$d(X) = (X-a^3)(X-a^8)$} \end{frame} %------------------------------------------------------------------------------- @@ -718,12 +722,12 @@ \begin{itemize} - \only<1->{\item $w = [5,3,6,8,2,10,2,7,1,4]$} + \onslide<1->{\item $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$} - \only<1->{\item $d(X) = (X-\textcolor<4->{red}{a^3})(X-\textcolor<4->{red}{a^8})$} + \onslide<2->{\item $d(X) = (X-\textcolor<4->{red}{a^3})(X-\textcolor<4->{red}{a^8})$} \end{itemize} - \only<1->{ + \onslide<3->{ \[ \textcolor{gray}{ \begin{pmatrix} @@ -751,11 +755,11 @@ \end{pmatrix} \] } - \only<1->{ + \begin{itemize} - \item Fehlerstellen entfernen + \onslide<5->{\item Fehlerstellen entfernen} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -767,25 +771,25 @@ \end{pmatrix} = \begin{pmatrix} - 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}& \textcolor<3->{green}{8^0}\\ - 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor<3->{green}{8^6}& \textcolor<3->{green}{8^7}& \textcolor<3->{green}{8^8}& \textcolor<3->{green}{8^9}\\ - 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor<3->{green}{8^{12}}& \textcolor<3->{green}{8^{14}}& \textcolor<3->{green}{8^{16}}& \textcolor<3->{green}{8^{18}}\\ - 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor<3->{green}{8^{24}}& \textcolor<3->{green}{8^{28}}& \textcolor<3->{green}{8^{32}}& \textcolor<3->{green}{8^{36}}\\ - 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor<3->{green}{8^{30}}& \textcolor<3->{green}{8^{35}}& \textcolor<3->{green}{8^{40}}& \textcolor<3->{green}{8^{45}}\\ - 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor<3->{green}{8^{36}}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{48}}& \textcolor<3->{green}{8^{54}}\\ - 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor<3->{green}{8^{42}}& \textcolor<3->{green}{8^{49}}& \textcolor<3->{green}{8^{56}}& \textcolor<3->{green}{8^{63}}\\ - 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor<3->{green}{8^{54}}& \textcolor<3->{green}{8^{63}}& \textcolor<3->{green}{8^{72}}& \textcolor<3->{green}{8^{81}}\\ + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor<4->{green}{8^0}& \textcolor<4->{green}{8^0}& \textcolor<4->{green}{8^0}& \textcolor<4->{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor<4->{green}{8^6}& \textcolor<4->{green}{8^7}& \textcolor<4->{green}{8^8}& \textcolor<4->{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor<4->{green}{8^{12}}& \textcolor<4->{green}{8^{14}}& \textcolor<4->{green}{8^{16}}& \textcolor<4->{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor<4->{green}{8^{24}}& \textcolor<4->{green}{8^{28}}& \textcolor<4->{green}{8^{32}}& \textcolor<4->{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor<4->{green}{8^{30}}& \textcolor<4->{green}{8^{35}}& \textcolor<4->{green}{8^{40}}& \textcolor<4->{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor<4->{green}{8^{36}}& \textcolor<4->{green}{8^{42}}& \textcolor<4->{green}{8^{48}}& \textcolor<4->{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor<4->{green}{8^{42}}& \textcolor<4->{green}{8^{49}}& \textcolor<4->{green}{8^{56}}& \textcolor<4->{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor<4->{green}{8^{54}}& \textcolor<4->{green}{8^{63}}& \textcolor<4->{green}{8^{72}}& \textcolor<4->{green}{8^{81}}\\ \end{pmatrix} \cdot \begin{pmatrix} m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor<2->{green}{m_6} \\ \textcolor<2->{green}{m_7} \\ \textcolor<2->{green}{m_8} \\ \textcolor<2->{green}{m_9} \\ \end{pmatrix} \] - \only<1->{ + \begin{itemize} - \item Nullstellen entfernen + \onslide<3->{\item Nullstellen entfernen} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -793,7 +797,7 @@ \[ \begin{pmatrix} - 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor<2->{red}{7} \\ \textcolor<2->{red}{4} \\ + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor<3->{red}{7} \\ \textcolor<3->{red}{4} \\ \end{pmatrix} = \begin{pmatrix} @@ -803,8 +807,8 @@ 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ - \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^7}& \textcolor<2->{red}{8^{14}}& \textcolor<2->{red}{8^{21}}& \textcolor<2->{red}{8^{28}}& \textcolor<2->{red}{8^{35}}\\ - \textcolor<2->{red}{8^0}& \textcolor<2->{red}{8^9}& \textcolor<2->{red}{8^{18}}& \textcolor<2->{red}{8^{27}}& \textcolor<2->{red}{8^{36}}& \textcolor<2->{red}{8^{45}}\\ + \textcolor<3->{red}{8^0}& \textcolor<3->{red}{8^7}& \textcolor<3->{red}{8^{14}}& \textcolor<3->{red}{8^{21}}& \textcolor<3->{red}{8^{28}}& \textcolor<3->{red}{8^{35}}\\ + \textcolor<3->{red}{8^0}& \textcolor<3->{red}{8^9}& \textcolor<3->{red}{8^{18}}& \textcolor<3->{red}{8^{27}}& \textcolor<3->{red}{8^{36}}& \textcolor<3->{red}{8^{45}}\\ \end{pmatrix} \cdot \begin{pmatrix} @@ -813,11 +817,11 @@ \] \vspace{5pt} - \only<1->{ + \begin{itemize} - \item Matrix in eine Quadratische Form bringen + \onslide<2->{\item Matrix in eine Quadratische Form bringen} \end{itemize} - } + \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -845,7 +849,7 @@ \vspace{5pt} \begin{itemize} - \item Matrix Invertieren + \onslide<2->{\item Matrix Invertieren} \end{itemize} \end{frame} @@ -873,9 +877,10 @@ \] \begin{center} - $\Downarrow$ + \onslide<2->{$\Downarrow$} \end{center} \[ + \onslide<3->{ \begin{pmatrix} m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \end{pmatrix} @@ -892,6 +897,7 @@ \begin{pmatrix} 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \end{pmatrix} + } \] \end{frame} @@ -919,7 +925,7 @@ \] \begin{itemize} - \item $m = [4,7,2,5,8,1]$ + \onslide<2->{\item $m = [4,7,2,5,8,1]$} \end{itemize} \end{frame} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.tex b/buch/papers/reedsolomon/RS presentation/RS_handout.tex new file mode 100644 index 0000000..863b3a2 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.tex @@ -0,0 +1,921 @@ +\documentclass[11pt,aspectratio=169]{beamer} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[ngerman]{babel} +\usepackage{tikz} +\usetheme{Hannover} + +\begin{document} + \author{Joshua Bär und Michael Steiner} + \title{Reed-Solomon-Code} + \subtitle{} + \logo{} + \institute{OST Ostschweizer Fachhochschule} + \date{26.04.2021} + \subject{Mathematisches Seminar} + %\setbeamercovered{transparent} + \setbeamercovered{invisible} + \setbeamertemplate{navigation symbols}{} + \begin{frame}[plain] + \maketitle + \end{frame} +%------------------------------------------------------------------------------- +\section{Einführung} + \begin{frame} + \frametitle{Reed-Solomon-Code:} + \begin{itemize} + \visible<1->{\item Für Übertragung von Daten} + \visible<2->{\item Ermöglicht Korrektur von Übertragungsfehler} + \visible<3->{\item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} + \end{itemize} + \end{frame} +%------------------------------------------------------------------------------- +\section{Polynom Ansatz} + \begin{frame} + \begin{itemize} + \item Beispiel $2, 1, 5$ versenden und auf 2 Fehler absichern + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Beispiel} + Übertragen von + ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ + als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. + + \only<1>{ + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, + \textcolor{green}{15}, \textcolor{green}{26}, + \textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom1.pdf}} + \only<2>{ + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \newline + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Parameter} + \begin{center} + \begin{tabular}{ c c c } + \hline + Nutzlas & Fehler & Versenden \\ + \hline + 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ + 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ +\visible<1->{3}& +\visible<1->{3}& +\visible<1->{9 Werte eines Polynoms vom Grad 2} \\ + &&\\ +\visible<1->{$k$} & +\visible<1->{$t$} & +\visible<1->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ + \hline + &&\\ + &&\\ + \multicolumn{3}{l} { + \visible<1>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + } + \end{tabular} + \end{center} + \end{frame} + +%------------------------------------------------------------------------------- + +\section{Diskrete Fourier Transformation} + \begin{frame} + \frametitle{Idee} + \begin{itemize} + \item Fourier-transformieren + \item Übertragung + \item Rücktransformieren + \end{itemize} + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \begin{figure} + \only<1>{ + \includegraphics[width=0.9\linewidth]{images/fig1.pdf} + } + \only<2>{ + \includegraphics[width=0.9\linewidth]{images/fig2.pdf} + } + \only<3>{ + \includegraphics[width=0.9\linewidth]{images/fig3.pdf} + } + \only<4>{ + \includegraphics[width=0.9\linewidth]{images/fig4.pdf} + } + \only<5>{ + \includegraphics[width=0.9\linewidth]{images/fig5.pdf} + } + \only<6>{ + \includegraphics[width=0.9\linewidth]{images/fig6.pdf} + } + \only<7>{ + \includegraphics[width=0.9\linewidth]{images/fig7.pdf} + } + \end{figure} + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Diskrete Fourier Transformation} + \begin{itemize} + \item Diskrete Fourier-Transformation gegeben durch: + \visible<1->{ + \[ + \label{ft_discrete} + \hat{c}_{k} + = \frac{1}{N} \sum_{n=0}^{N-1} + {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} + \]} + \visible<2->{ + \item Ersetzte + \[ + w = e^{-\frac{2\pi j}{N} k} + \]} + \visible<3->{ + \item Wenn $N$ konstant: + \[ + \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) + \]} + \end{itemize} + \end{frame} + +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Diskrete Fourier Transformation} + \[ + \begin{pmatrix} + \hat{c}_1 \\\hat{c}_2 \\\hat{c}_3 \\ \vdots \\\hat{c}_n + \end{pmatrix} + = \frac{1}{N} + \begin{pmatrix} + w^0 & w^0 & w^0 & \dots &w^0 \\ + w^0 & w^1 &w^2 & \dots &w^{N-1} \\ + w^0 & w^2 &w^4 & \dots &w^{2(N-1)} \\ + \vdots & \vdots &\vdots &\ddots &\vdots \\ + w^0 & w^{1(N-1)}&w^{2(N-1)}& \dots &w^{(N-1)(N-1)} \\ + \end{pmatrix} + \begin{pmatrix} + \textcolor{blue}{f_0} \\ + \textcolor{blue}{f_1} \\ + \textcolor{blue}{f_2} \\ + \vdots \\ + 0 \\ + \end{pmatrix} + \] + \end{frame} +%------------------------------------------------------------------------------- + + \begin{frame} + \frametitle{Probleme und Fragen} + + Wie wird der Fehler lokalisiert? + \visible<2>{ + \newline + Indem in einem endlichen Körper gerechnet wird. + } + \end{frame} + +%------------------------------------------------------------------------------- + + +\section{Reed-Solomon in Endlichen Körpern} + + \begin{frame} + \frametitle{Reed-Solomon in Endlichen Körpern} + + \begin{itemize} + \item Warum endliche Körper? + + \qquad konkrete Zahlen $\rightarrow$ keine Rundungsfehler + + \qquad digitale Fehlerkorrektur + + %\onslide<4->{\qquad bessere Laufzeit} + + \vspace{10pt} + + \item Nachricht = Nutzdaten + Fehlerkorrekturteil + + \vspace{10pt} + + \item aus Fehlerkorrekturteil die Fehlerstellen finden + + \qquad $\Rightarrow$ gesucht ist ein Lokatorpolynom + +% \vspace{10pt} + +% \onslide<1->{\item Im Fehlerfall sollen wir aus der Nachricht ein Lokatorpolynom berechnen können, welches die fehlerhaften Stellen beinhaltet} + +% Wir sollten im Fehlerfall in der Lage sein, aus der Nachricht ein Lokatorpolynom zu berechnen, welches die Fehlerhaften Stellen beinhaltet + + \end{itemize} + +% TODO + +% erklärung und einführung der endlichen körper, was wollen wir erreichen? + +% wir versenden im endefekt mehr daten als unsere nachricht umfasst, damit die korrektur sichergestellt werden kann + +% sollten wir fehler bekommen, was uns die korrekturstellen mitgeteilt wird, dann ist es unsere aufgabe ein lokatorpolynom zu finden, welches uns verrät, auf welchen zeilen der Fehler aufgetreten ist + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Definition eines Beispiels} + + \begin{itemize} + + \item endlicher Körper $q = 11$ + + ist eine Primzahl + + beinhaltet die Zahlen $\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}$ + + \vspace{10pt} + + \item Nachrichtenblock $=$ Nutzlast $+$ Fehlerkorrekturstellen + + $n = q - 1 = 10$ Zahlen + + \vspace{10pt} + + \item Max.~Fehler $t = 2$ + + maximale Anzahl von Fehler, die wir noch korrigieren können + + \vspace{10pt} + + \item Nutzlast $k = n -2t = 6$ Zahlen + + Fehlerkorrkturstellen $2t = 4$ Zahlen + + Nachricht $m = [0,0,0,0,4,7,2,5,8,1]$ + + als Polynom $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- +\section{Codierung eines Beispiels} + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Ansatz aus den komplexen Zahlen mit der diskreten Fouriertransformation + + \vspace{10pt} + + \item Eulersche Zahl $\mathrm{e}$ existiert nicht in $\mathbb{F}_{11}$ + + \vspace{10pt} + + \item Wir suchen $a$ so, dass $a^i$ den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken + + $\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}$ + + \vspace{10pt} + + \item Wir wählen $a = 8$ + + $\mathbb{Z}_{11}\setminus\{0\} = \{1,8,9,6,4,10,3,2,5,7\}$ + + $8$ ist eine primitive Einheitswurzel + + \vspace{10pt} + + \item $m(8^0) = 4\cdot1 + 7\cdot1 + 2\cdot1 + 5\cdot1 + 8\cdot1 + 1 = 5$ + + $\Rightarrow$ \qquad können wir auch als Matrix schreiben + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Codierung} + + \begin{itemize} + \item Übertragungsvektor $v$ + + \item $v = A \cdot m$ + + \end{itemize} + + \[ + v = \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $v = [5,3,6,5,2,10,2,7,10,4]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- +\section{Decodierung ohne Fehler} + \begin{frame} + \frametitle{Decodierung ohne Fehler} + + \begin{itemize} + \item Der Empfänger erhält den unveränderten Vektor $v = [5,3,6,5,2,10,2,7,10,4]$ + + \vspace{10pt} + + \item Wir suchen die Inverse der Matrix $A$ + + \vspace{10pt} + + \end{itemize} + + \begin{columns}[t] + \begin{column}{0.55\textwidth} + Inverse der Fouriertransformation + \vspace{10pt} + + \[ + F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt + \] + + \vspace{10pt} + + \[ + \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega + \] + + \end{column} + \begin{column}{0.45\textwidth} + Inverse von $a$ + + \vspace{10pt} + + \[ + 8^{1} \Rightarrow 8^{-1} + \] + + Inverse finden wir über den Eulkidischen Algorithmus + \vspace{10pt} + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus} + + \begin{columns}[t] + \begin{column}{0.50\textwidth} + + Recap aus der Vorlesung: + + Gegeben $a \in \mathbb{F}_p$, finde $b = a^{-1} \in \mathbb{F}_p$ + + \begin{tabular}{rcl} + $a b$ &$\equiv$& $1 \mod p$\\ + $a b$ &$=$& $1 + n p$\\ + $a b - n p$ &$=$& $1$\\ + &&\\ + $\operatorname{ggT}(a,p)$&$=$& $1$\\ + $sa + tp$&$=$& $1$\\ + $b$&$=$&$s$\\ + $n$&$=$&$-t$ + \end{tabular} + + \end{column} + \begin{column}{0.50\textwidth} + + \begin{center} + + \begin{tabular}{| c | c c | c | r r |} + \hline + $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ + \hline + & & & & $1$& $0$\\ + $0$& $8$& $11$& $0$& $0$& $1$\\ + $1$& $11$& $8$& $1$& $1$& $0$\\ + $2$& $8$& $3$& $2$& $-1$& $1$\\ + $3$& $3$& $2$& $1$& $3$& $-2$\\ + $4$& $2$& $1$& $2$& \textcolor{blue}{$-4$}& \textcolor{red}{$3$}\\ + $5$& $1$& $0$& & $11$& $-8$\\ + \hline + \end{tabular} + + + \vspace{10pt} + + \begin{tabular}{rcl} + $\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$\\ + $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $8^{-1}$ &$=$& $7$ + + \end{tabular} + + \end{center} + + \end{column} + \end{columns} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Decodierung mit Inverser Matrix} + + \begin{itemize} + \item $v = [5,3,6,5,2,10,2,7,10,4]$ + + \item $m = 1/10 \cdot A^{-1} \cdot v$ + + \item $m = 10 \cdot A^{-1} \cdot v$ + + \end{itemize} + + \[ + m = 10 \cdot \begin{pmatrix} + 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ + 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ + 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ + 7^0& 7^3& 7^6& 7^9& 7^{12}& 7^{15}& 7^{18}& 7^{21}& 7^{24}& 7^{27}\\ + 7^0& 7^4& 7^8& 7^{12}& 7^{16}& 7^{20}& 7^{24}& 7^{28}& 7^{32}& 7^{36}\\ + 7^0& 7^5& 7^{10}& 7^{15}& 7^{20}& 7^{25}& 7^{30}& 7^{35}& 7^{40}& 7^{45}\\ + 7^0& 7^6& 7^{12}& 7^{18}& 7^{24}& 7^{30}& 7^{36}& 7^{42}& 7^{48}& 7^{54}\\ + 7^0& 7^7& 7^{14}& 7^{21}& 7^{28}& 7^{35}& 7^{42}& 7^{49}& 7^{56}& 7^{63}\\ + 7^0& 7^8& 7^{16}& 7^{24}& 7^{32}& 7^{40}& 7^{48}& 7^{56}& 7^{64}& 7^{72}\\ + 7^0& 7^9& 7^{18}& 7^{27}& 7^{36}& 7^{45}& 7^{54}& 7^{63}& 7^{72}& 7^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [0,0,0,0,4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- +\section{Decodierung mit Fehler} + \begin{frame} + \frametitle{Decodierung mit Fehler - Ansatz} + + \begin{itemize} + \item Gesendet: $v = [5,3,6,5,2,10,2,7,10,4]$ + + \item Empfangen: $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$ + + \item Rücktransformation: $r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]$ + + \end{itemize} + + Wie finden wir die Fehler? + + \begin{itemize} + \item $m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1$ + + \item $r(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7$ + + \item $e(X) = r(X) - m(X)$ + + \end{itemize} + + \begin{center} + + \begin{tabular}{c c c c c c c c c c c} + \hline + $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ + \hline + $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ + $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ + $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + \hline + \end{tabular} + + \end{center} + + \begin{itemize} + \item Alle Stellen, die nicht Null sind, sind Fehler + \end{itemize} + + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X \in \{1,2,3,4,5,6,7,8,9,10\}$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{ggT}$ gibt uns eine Liste der Nullstellen, an denen es keine Fehler gegeben hat + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Nullstellen des Fehlerpolynoms finden} + + \begin{itemize} + + \item Satz von Fermat: $f(X) = X^{q-1}-1=0$ + + \vspace{10pt} + + \item $f(X) = X^{10}-1 = 0$ \qquad für $X = [1,2,3,4,5,6,7,8,9,10]$ + + \vspace{10pt} + + \item $f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7)(X-a^8)(X-a^9)$ + + \vspace{10pt} + + \item $e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6) \cdot$ + + \qquad \qquad $(X-a^7) \qquad \qquad (X-a^9) \cdot p(x)$ + + \vspace{10pt} + + \item $\operatorname{kgV}$ gibt uns eine Liste von aller Nullstellen, die wir in $e$ und $d$ zerlegen können + + \vspace{10pt} + + $\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6) \cdot $ + + \qquad \qquad \qquad \qquad $(X-a^7)(X-a^8)(X-a^9) \cdot q(X)$ + + $= d(X) \cdot e(X)$ + + \vspace{10pt} + + \item Lokatorpolynom $d(X) = (X-a^3)(X-a^8)$ + + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Kennen wir $e(X)$?} + + \begin{itemize} + + \item $e(X)$ ist unbekannt auf der Empfängerseite + + \vspace{10pt} + + \item $e(X) = r(X) - m(X)$ \qquad $\rightarrow$ \qquad $m(X)$ ist unbekannt? + + \vspace{10pt} + + \item $m$ ist nicht gänzlich unbekannt: $m = [0,0,0,0,?,?,?,?,?,?]$ + + In den bekannten Stellen liegt auch die Information, wo es Fehler gegeben hat + + \vspace{10pt} + + \item Daraus folgt $e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X)$ + + \vspace{10pt} + + \item $f(X) = X^{10} - 1 = X^{10} + 10$ + + \vspace{10pt} + + \item Jetzt können wir den $\operatorname{ggT}$ von $f(X)$ und $e(X)$ berechnen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Euklidische Algorithmus (nochmal)} + + $\operatorname{ggT}(f(X),e(X))$ hat den Grad $8$ + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + X^{10}& & & & & & &+& 10& & & & &:&5X^9&+&7X^8&+& 4X^7&+&10X^6&+&p(X)&=&9X&+&5\\ + X^{10}&+& 8X^9&+& 3X^8&+&2X^7&+& p(X)& & & & & & & & & & & & & & & & \\ \cline{1-9} + && 3X^9&+& 8X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ + && 3X^9&+& 2X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ \cline{3-9} + & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ + \end{array} + \] + + \[ + \arraycolsep=1.4pt + \begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + 5X^9&+& 7X^8&+& 4X^7&+& 10X^6&+& p(X)& & & & &:&6X^8&+&0X^7& & & & & & &=&10X&+&3\\ + 5X^9&+& 0X^8&+& p(X)& & & & & & & & & & & & & & & & & & & & \\ \cline{1-5} + && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ + \end{array} + \] + + \vspace{10pt} + + $\operatorname{ggT}(f(X),e(X)) = 6X^8$ + + \vspace{10pt} + + $\operatorname{kgV}$ durch den erweiterten Euklidischen Algorithmus bestimmen + + \end{frame} + +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Der Erweiterte Euklidische Algorithmus} + + \begin{center} + + \begin{tabular}{| c | c | c c |} + \hline + $k$ & $q_i$ & $e_i$ & $f_i$\\ + \hline + & & $0$& $1$\\ + $0$& $9X + 5$& $1$& $0$\\ + $1$& $10X + 3$& $9X+5$& $1$\\ + $2$& & \textcolor{blue}{$2X^2 + 0X + 5$}& $10X + 3$\\ + \hline + \end{tabular} + + \end{center} + + \vspace{10pt} + + \begin{tabular}{ll} + Somit erhalten wir den Faktor& $d(X) = 2X^2 + 5$\\ + Faktorisiert erhalten wir& $d(X) = 2(X-5)(X-6)$\\ + Lokatorpolynom& $d(X) = (X-a^i)(X-a^i)$ + \end{tabular} + + \vspace{10pt} + + \begin{center} + $a^i = 5 \qquad \Rightarrow \qquad i = 3$ + + $a^i = 6 \qquad \Rightarrow \qquad i = 8$ + \end{center} + + + $d(X) = (X-a^3)(X-a^8)$ + + \end{frame} +%------------------------------------------------------------------------------- +\section{Nachricht Rekonstruieren} + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \begin{itemize} + + \item $w = [5,3,6,\textcolor{red}{8},2,10,2,7,\textcolor{red}{1},4]$ + + \item $d(X) = (X-\textcolor{red}{a^3})(X-\textcolor{red}{a^8})$ + + \end{itemize} + + \[ + \textcolor{gray}{ + \begin{pmatrix} + a^0 \\ a^1 \\ a^2 \\ \textcolor{red}{a^3} \\ a^4 \\ a^5 \\ a^6 \\ a^7 \\ \textcolor{red}{a^8} \\ a^9 \\ + \end{pmatrix}} + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ \textcolor{red}{8} \\ 2 \\ 10 \\ 2 \\ 7 \\ \textcolor{red}{1} \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^3}& \textcolor{red}{8^6}& \textcolor{red}{8^9}& \textcolor{red}{8^{12}}& \textcolor{red}{8^{15}}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{27}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^8}& \textcolor{red}{8^{16}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{32}}& \textcolor{red}{8^{40}}& \textcolor{red}{8^{48}}& \textcolor{red}{8^{56}}& \textcolor{red}{8^{64}}& \textcolor{red}{8^{72}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Fehlerstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor{green}{8^6}& \textcolor{green}{8^7}& \textcolor{green}{8^8}& \textcolor{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor{green}{8^{12}}& \textcolor{green}{8^{14}}& \textcolor{green}{8^{16}}& \textcolor{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor{green}{8^{24}}& \textcolor{green}{8^{28}}& \textcolor{green}{8^{32}}& \textcolor{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor{green}{8^{30}}& \textcolor{green}{8^{35}}& \textcolor{green}{8^{40}}& \textcolor{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor{green}{8^{36}}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{48}}& \textcolor{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{49}}& \textcolor{green}{8^{56}}& \textcolor{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor{green}{8^{54}}& \textcolor{green}{8^{63}}& \textcolor{green}{8^{72}}& \textcolor{green}{8^{81}}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor{green}{m_6} \\ \textcolor{green}{m_7} \\ \textcolor{green}{m_8} \\ \textcolor{green}{m_9} \\ + \end{pmatrix} + \] + + \begin{itemize} + \item Nullstellen entfernen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor{red}{7} \\ \textcolor{red}{4} \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^7}& \textcolor{red}{8^{14}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{28}}& \textcolor{red}{8^{35}}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^9}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{27}}& \textcolor{red}{8^{36}}& \textcolor{red}{8^{45}}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix in eine Quadratische Form bringen + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \vspace{5pt} + + \begin{itemize} + \item Matrix Invertieren + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + = + \begin{pmatrix} + 1& 1& 1& 1& 1& 1\\ + 1& 8& 9& 6& 4& 10\\ + 1& 9& 4& 3& 5& 1\\ + 1& 4& 5& 9& 3& 1\\ + 1& 10& 1& 10& 1& 10\\ + 1& 3& 9& 5& 4& 1\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + \] + + \begin{center} + $\Downarrow$ + \end{center} + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \frametitle{Rekonstruktion der Nachricht} + + \[ + \begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ + \end{pmatrix} + = + \begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ + \end{pmatrix} + \cdot + \begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ + \end{pmatrix} + \] + + \begin{itemize} + \item $m = [4,7,2,5,8,1]$ + \end{itemize} + + \end{frame} +%------------------------------------------------------------------------------- + +\end{document} -- cgit v1.2.1 From df810d1315cfb1c4b876d5145846d6ea70753141 Mon Sep 17 00:00:00 2001 From: JODBaer Date: Sat, 24 Apr 2021 15:27:05 +0200 Subject: Handout animation deleted --- .../reedsolomon/RS presentation/RS_handout.aux | 143 +++ .../reedsolomon/RS presentation/RS_handout.log | 1198 ++++++++++++++++++++ .../reedsolomon/RS presentation/RS_handout.nav | 85 ++ .../reedsolomon/RS presentation/RS_handout.out | 8 + .../reedsolomon/RS presentation/RS_handout.pdf | Bin 0 -> 172860 bytes .../reedsolomon/RS presentation/RS_handout.snm | 1 + .../RS presentation/RS_handout.synctex.gz | Bin 0 -> 132775 bytes .../reedsolomon/RS presentation/RS_handout.tex | 58 +- .../reedsolomon/RS presentation/RS_handout.toc | 9 + 9 files changed, 1466 insertions(+), 36 deletions(-) create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.aux create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.log create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.nav create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.out create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.pdf create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.snm create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz create mode 100644 buch/papers/reedsolomon/RS presentation/RS_handout.toc (limited to 'buch') diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.aux b/buch/papers/reedsolomon/RS presentation/RS_handout.aux new file mode 100644 index 0000000..41ccfb5 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.aux @@ -0,0 +1,143 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand*\HyPL@Entry[1]{} +\bbl@beforestart +\catcode `"\active +\HyPL@Entry{0<>} +\babel@aux{ngerman}{} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}} +\HyPL@Entry{1<>} +\@writefile{toc}{\beamer@sectionintoc {1}{Einführung}{2}{0}{1}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{1}}} +\@writefile{nav}{\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}}} +\@writefile{nav}{\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}} +\HyPL@Entry{2<>} +\@writefile{toc}{\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {2}{2}}} +\@writefile{nav}{\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}}} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}} +\HyPL@Entry{3<>} +\@writefile{nav}{\headcommand {\slideentry {2}{0}{2}{4/4}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {4}{4}}} +\HyPL@Entry{4<>} +\@writefile{toc}{\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{5}{0}{3}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {3}{4}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {3}{4}}} +\@writefile{nav}{\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{5}{Diskrete Fourier Transformation}{0}}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{1}{5/5}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {5}{5}}} +\HyPL@Entry{5<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{2}{6/12}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {6}{12}}} +\HyPL@Entry{12<>} +\@writefile{snm}{\beamer@slide {ft_discrete}{13}} +\newlabel{ft_discrete}{{7}{13}{Diskrete Fourier Transformation}{Doc-Start}{}} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{3}{13/13}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}} +\HyPL@Entry{13<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{4}{14/14}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {14}{14}}} +\HyPL@Entry{14<>} +\@writefile{nav}{\headcommand {\slideentry {3}{0}{5}{15/15}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}} +\HyPL@Entry{15<>} +\@writefile{toc}{\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{16}{0}{4}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {5}{15}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {5}{15}}} +\@writefile{nav}{\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{16}{Reed-Solomon in Endlichen Körpern}{0}}} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{1}{16/16}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}} +\HyPL@Entry{16<>} +\@writefile{nav}{\headcommand {\slideentry {4}{0}{2}{17/17}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}} +\HyPL@Entry{17<>} +\@writefile{toc}{\beamer@sectionintoc {5}{Codierung eines Beispiels}{18}{0}{5}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {16}{17}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {16}{17}}} +\@writefile{nav}{\headcommand {\sectionentry {5}{Codierung eines Beispiels}{18}{Codierung eines Beispiels}{0}}} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{1}{18/18}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {18}{18}}} +\HyPL@Entry{18<>} +\@writefile{nav}{\headcommand {\slideentry {5}{0}{2}{19/19}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {19}{19}}} +\HyPL@Entry{19<>} +\@writefile{toc}{\beamer@sectionintoc {6}{Decodierung ohne Fehler}{20}{0}{6}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {18}{19}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {18}{19}}} +\@writefile{nav}{\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{20}{Decodierung ohne Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{1}{20/20}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {20}{20}}} +\HyPL@Entry{20<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{2}{21/21}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {21}{21}}} +\HyPL@Entry{21<>} +\@writefile{nav}{\headcommand {\slideentry {6}{0}{3}{22/22}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {22}{22}}} +\HyPL@Entry{22<>} +\@writefile{toc}{\beamer@sectionintoc {7}{Decodierung mit Fehler}{23}{0}{7}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {20}{22}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {20}{22}}} +\@writefile{nav}{\headcommand {\sectionentry {7}{Decodierung mit Fehler}{23}{Decodierung mit Fehler}{0}}} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{1}{23/23}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {23}{23}}} +\HyPL@Entry{23<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{2}{24/24}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {24}{24}}} +\HyPL@Entry{24<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{3}{25/25}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {25}{25}}} +\HyPL@Entry{25<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{4}{26/26}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {26}{26}}} +\HyPL@Entry{26<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{5}{27/27}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {27}{27}}} +\HyPL@Entry{27<>} +\@writefile{nav}{\headcommand {\slideentry {7}{0}{6}{28/28}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {28}{28}}} +\HyPL@Entry{28<>} +\@writefile{toc}{\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{29}{0}{8}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {23}{28}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {23}{28}}} +\@writefile{nav}{\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{29}{Nachricht Rekonstruieren}{0}}} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{1}{29/29}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {29}{29}}} +\HyPL@Entry{29<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{2}{30/30}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {30}{30}}} +\HyPL@Entry{30<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{3}{31/31}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {31}{31}}} +\HyPL@Entry{31<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{4}{32/32}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {32}{32}}} +\HyPL@Entry{32<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{5}{33/33}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {33}{33}}} +\HyPL@Entry{33<>} +\@writefile{nav}{\headcommand {\slideentry {8}{0}{6}{34/34}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {34}{34}}} +\@writefile{nav}{\headcommand {\beamer@partpages {1}{34}}} +\@writefile{nav}{\headcommand {\beamer@subsectionpages {29}{34}}} +\@writefile{nav}{\headcommand {\beamer@sectionpages {29}{34}}} +\@writefile{nav}{\headcommand {\beamer@documentpages {34}}} +\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {28}}} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.log b/buch/papers/reedsolomon/RS presentation/RS_handout.log new file mode 100644 index 0000000..988a7c5 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.log @@ -0,0 +1,1198 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex 2019.10.25) 24 APR 2021 15:25 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**RS_handout.tex +(./RS_handout.tex +LaTeX2e <2019-10-01> patch level 1 +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamer.cls +Document Class: beamer 2019/09/29 v3.57 A class for typesetting presentations +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemodes.sty +(c:/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count80 +) +\beamer@tempbox=\box27 +\beamer@tempcount=\count81 +\c@beamerpauses=\count82 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasedecode.sty +\beamer@slideinframe=\count83 +\beamer@minimum=\count84 +\beamer@decode@box=\box28 +) +\beamer@commentbox=\box29 +\beamer@modecount=\count85 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +\headdp=\dimen102 +\footheight=\dimen103 +\sidebarheight=\dimen104 +\beamer@tempdim=\dimen105 +\beamer@finalheight=\dimen106 +\beamer@animht=\dimen107 +\beamer@animdp=\dimen108 +\beamer@animwd=\dimen109 +\beamer@leftmargin=\dimen110 +\beamer@rightmargin=\dimen111 +\beamer@leftsidebar=\dimen112 +\beamer@rightsidebar=\dimen113 +\beamer@boxsize=\dimen114 +\beamer@vboxoffset=\dimen115 +\beamer@descdefault=\dimen116 +\beamer@descriptionwidth=\dimen117 +\beamer@lastskip=\skip41 +\beamer@areabox=\box30 +\beamer@animcurrent=\box31 +\beamer@animshowbox=\box32 +\beamer@sectionbox=\box33 +\beamer@logobox=\box34 +\beamer@linebox=\box35 +\beamer@sectioncount=\count86 +\beamer@subsubsectionmax=\count87 +\beamer@subsectionmax=\count88 +\beamer@sectionmax=\count89 +\beamer@totalheads=\count90 +\beamer@headcounter=\count91 +\beamer@partstartpage=\count92 +\beamer@sectionstartpage=\count93 +\beamer@subsectionstartpage=\count94 +\beamer@animationtempa=\count95 +\beamer@animationtempb=\count96 +\beamer@xpos=\count97 +\beamer@ypos=\count98 +\beamer@ypos@offset=\count99 +\beamer@showpartnumber=\count100 +\beamer@currentsubsection=\count101 +\beamer@coveringdepth=\count102 +\beamer@sectionadjust=\count103 +\beamer@tocsectionnumber=\count104 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +)) +\beamer@paperwidth=\skip42 +\beamer@paperheight=\skip43 + +(c:/texlive/2019/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2018/04/16 v5.8 Page Geometry + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(c:/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count105 +\Gm@cntv=\count106 +\c@Gm@tempcnt=\count107 +\Gm@bindingoffset=\dimen118 +\Gm@wd@mp=\dimen119 +\Gm@odd@mp=\dimen120 +\Gm@even@mp=\dimen121 +\Gm@layoutwidth=\dimen122 +\Gm@layoutheight=\dimen123 +\Gm@layouthoffset=\dimen124 +\Gm@layoutvoffset=\dimen125 +\Gm@dimlist=\toks15 +) +(c:/texlive/2019/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2019/08/27 v1.4j Standard LaTeX file (size option) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +)) +\Gin@req@height=\dimen126 +\Gin@req@width=\dimen127 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks16 +\pgfutil@tempdima=\dimen128 +\pgfutil@tempdimb=\dimen129 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box36 + +(c:/texlive/2019/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2019/08/03 v3.1.4b (3.1.4b) +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks17 +\pgfkeys@temptoks=\toks18 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks19 +)) +\pgf@x=\dimen130 +\pgf@y=\dimen131 +\pgf@xa=\dimen132 +\pgf@ya=\dimen133 +\pgf@xb=\dimen134 +\pgf@yb=\dimen135 +\pgf@xc=\dimen136 +\pgf@yc=\dimen137 +\pgf@xd=\dimen138 +\pgf@yd=\dimen139 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count108 +\c@pgf@countb=\count109 +\c@pgf@countc=\count110 +\c@pgf@countd=\count111 +\t@pgf@toka=\toks20 +\t@pgf@tokb=\toks21 +\t@pgf@tokc=\toks22 +\pgf@sys@id@count=\count112 + (c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2019/08/03 v3.1.4b (3.1.4b) +) +Driver file for pgf: pgfsys-xetex.def + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2019/08/03 v3.1.4b (3.1.4b) +) +\pgfsys@objnum=\count113 +))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfsyssoftpath@smallbuffer@items=\count114 +\pgfsyssoftpath@bigbuffer@items=\count115 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen140 +\pgfmath@count=\count116 +\pgfmath@box=\box37 +\pgfmath@toks=\toks23 +\pgfmath@stack@operand=\toks24 +\pgfmath@stack@operation=\toks25 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric +.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.t +ex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.co +de.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.te +x) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithm +etics.code.tex))) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count117 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@picminx=\dimen141 +\pgf@picmaxx=\dimen142 +\pgf@picminy=\dimen143 +\pgf@picmaxy=\dimen144 +\pgf@pathminx=\dimen145 +\pgf@pathmaxx=\dimen146 +\pgf@pathminy=\dimen147 +\pgf@pathmaxy=\dimen148 +\pgf@xx=\dimen149 +\pgf@xy=\dimen150 +\pgf@yx=\dimen151 +\pgf@yy=\dimen152 +\pgf@zx=\dimen153 +\pgf@zy=\dimen154 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.cod +e.tex +File: pgfcorepathconstruct.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@path@lastx=\dimen155 +\pgf@path@lasty=\dimen156 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.te +x +File: pgfcorepathusage.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@shorten@end@additional=\dimen157 +\pgf@shorten@start@additional=\dimen158 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfpic=\box38 +\pgf@hbox=\box39 +\pgf@layerbox@main=\box40 +\pgf@picture@serial@count=\count118 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code +.tex +File: pgfcoregraphicstate.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgflinewidth=\dimen159 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.c +ode.tex +File: pgfcoretransformations.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@pt@x=\dimen160 +\pgf@pt@y=\dimen161 +\pgf@pt@temp=\dimen162 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.co +de.tex +File: pgfcorepathprocessing.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfarrowsep=\dimen163 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@max=\dimen164 +\pgf@sys@shading@range@num=\count119 +\pgf@shadingcount=\count120 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfexternal@startupbox=\box41 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code +.tex +File: pgfcoretransparency.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) (c:/texlive/2019/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty +Package: xxcolor 2003/10/24 ver 0.1 +\XC@nummixins=\count121 +\XC@countmixins=\count122 +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/atbegshi.sty +Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +)) +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2019/09/28 v7.00a Hypertext links for LaTeX + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) + + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package hobsub Info: Skipping package `infwarerr' (already loaded). +Package hobsub Info: Skipping package `ltxcmds' (already loaded). +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package hobsub Info: Skipping package `ifvtex' (already loaded). +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package hobsub Info: Skipping package `ifpdf' (already loaded). +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2019/07/25 v0.30 Utility functions of pdfTeX for LuaTeX (HO +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: pdfTeX >= 1.30 not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode not found. +Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO +) +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). +Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package hobsub Info: Skipping package `atbegshi' (already loaded). +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) +) +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) +) +\@linkdim=\dimen165 +\Hy@linkcounter=\count123 +\Hy@pagecounter=\count124 + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2019/09/28 v7.00a Hyperref: PDFDocEncoding definition (HO) +) +\Hy@SavedSpaceFactor=\count125 + +(c:/texlive/2019/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Option `bookmarks' set `true' on input line 4414. +Package hyperref Info: Option `bookmarksopen' set `true' on input line 4414. +Package hyperref Info: Option `implicit' set `false' on input line 4414. +Package hyperref Info: Hyper figures OFF on input line 4540. +Package hyperref Info: Link nesting OFF on input line 4545. +Package hyperref Info: Hyper index ON on input line 4548. +Package hyperref Info: Plain pages OFF on input line 4555. +Package hyperref Info: Backreferencing OFF on input line 4560. +Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals. +Package hyperref Info: Bookmarks ON on input line 4793. +\c@Hy@tempcnt=\count126 + +(c:/texlive/2019/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 5152. +\XeTeXLinkMargin=\dimen166 +\Fld@menulength=\count127 +\Field@Width=\dimen167 +\Fld@charsize=\dimen168 +Package hyperref Info: Hyper figures OFF on input line 6423. +Package hyperref Info: Link nesting OFF on input line 6428. +Package hyperref Info: Hyper index ON on input line 6431. +Package hyperref Info: backreferencing OFF on input line 6438. +Package hyperref Info: Link coloring OFF on input line 6443. +Package hyperref Info: Link coloring with OCG OFF on input line 6448. +Package hyperref Info: PDF/A mode OFF on input line 6453. +LaTeX Info: Redefining \ref on input line 6493. +LaTeX Info: Redefining \pageref on input line 6497. +\Hy@abspage=\count128 + + +Package hyperref Message: Stopped early. + +) +Package hyperref Info: Driver (autodetected): hxetex. + (c:/texlive/2019/texmf-dist/tex/latex/hyperref/hxetex.def +File: hxetex.def 2019/09/28 v7.00a Hyperref driver for XeTeX + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2019/09/28 v7.00a Hyperref: PDF Unicode definition (HO) +) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/stringenc.sty +Package: stringenc 2016/05/16 v1.11 Convert strings between diff. encodings (HO +) +) +\pdfm@box=\box42 +\c@Hy@AnnotLevel=\count129 +\HyField@AnnotCount=\count130 +\Fld@listcount=\count131 +\c@bookmark@seq@number=\count132 + +(c:/texlive/2019/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +82. +)) +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/se-ascii-print.def +File: se-ascii-print.def 2016/05/16 v1.11 stringenc: Printable ASCII characters + +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaserequires.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecompatibility.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasefont.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks26 +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(c:/texlive/2019/texmf-dist/tex/latex/sansmathaccent/sansmathaccent.sty +Package: sansmathaccent 2013/03/28 + +(c:/texlive/2019/texmf-dist/tex/latex/filehook/filehook.sty +Package: filehook 2019/10/03 v0.6 Hooks for input files +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator.sty +Package: translator 2019-05-31 v1.12a Easy translation of strings in LaTeX +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasemisc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty +\beamer@argscount=\count133 +\beamer@lastskipcover=\skip44 +\beamer@trivlistdepth=\count134 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetitle.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasesection.sty +\c@lecture=\count135 +\c@part=\count136 +\c@section=\count137 +\c@subsection=\count138 +\c@subsubsection=\count139 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframe.sty +\beamer@framebox=\box43 +\beamer@frametitlebox=\box44 +\beamer@zoombox=\box45 +\beamer@zoomcount=\count140 +\beamer@zoomframecount=\count141 +\beamer@frametextheight=\dimen169 +\c@subsectionslide=\count142 +\beamer@frametopskip=\skip45 +\beamer@framebottomskip=\skip46 +\beamer@frametopskipautobreak=\skip47 +\beamer@framebottomskipautobreak=\skip48 +\beamer@envbody=\toks27 +\framewidth=\dimen170 +\c@framenumber=\count143 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty +\beamer@verbatimfileout=\write4 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty +\beamer@splitbox=\box46 +\beamer@autobreakcount=\count144 +\beamer@autobreaklastheight=\dimen171 +\beamer@frametitletoks=\toks28 +\beamer@framesubtitletoks=\toks29 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.sty +\beamer@footins=\box47 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasecolor.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenotes.sty +\beamer@frameboxcopy=\box48 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetoc.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty +\beamer@sbttoks=\toks30 + +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty +\bmb@box=\box49 +\bmb@colorbox=\box50 +\bmb@boxshadow=\box51 +\bmb@boxshadowball=\box52 +\bmb@boxshadowballlarge=\box53 +\bmb@temp=\dimen172 +\bmb@dima=\dimen173 +\bmb@dimb=\dimen174 +\bmb@prevheight=\dimen175 +) +\beamer@blockheadheight=\dimen176 +)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.sty +(c:/texlive/2019/texmf-dist/tex/latex/tools/enumerate.sty +Package: enumerate 2015/07/23 v3.00 enumerate extensions (DPC) +\@enLab=\toks31 +) +\c@figure=\count145 +\c@table=\count146 +\abovecaptionskip=\skip49 +\belowcaptionskip=\skip50 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty +\beamer@section@min@dim=\dimen177 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2019/04/01 v2.17c AMS math features +\@mathmargin=\skip51 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks32 +\ex@=\dimen178 +)) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen179 +) +(c:/texlive/2019/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count147 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count148 +\leftroot@=\count149 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count150 +\DOTSCASE@=\count151 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box54 +\strutbox@=\box55 +\big@size=\dimen180 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count152 +\c@MaxMatrixCols=\count153 +\dotsspace@=\muskip11 +\c@parentequation=\count154 +\dspbrk@lvl=\count155 +\tag@help=\toks33 +\row@=\count156 +\column@=\count157 +\maxfields@=\count158 +\andhelp@=\toks34 +\eqnshift@=\dimen181 +\alignsep@=\dimen182 +\tagshift@=\dimen183 +\tagwidth@=\dimen184 +\totwidth@=\dimen185 +\lineht@=\dimen186 +\@envbody=\toks35 +\multlinegap=\skip52 +\multlinetaggap=\skip53 +\mathdisplay@stack=\toks36 +LaTeX Info: Redefining \[ on input line 2855. +LaTeX Info: Redefining \] on input line 2856. +) +(c:/texlive/2019/texmf-dist/tex/latex/amscls/amsthm.sty +Package: amsthm 2017/10/31 v2.20.4 +\thm@style=\toks37 +\thm@bodyfont=\toks38 +\thm@headfont=\toks39 +\thm@notefont=\toks40 +\thm@headpunct=\toks41 +\thm@preskip=\skip54 +\thm@postskip=\skip55 +\thm@headsep=\skip56 +\dth@everypar=\toks42 +) +\c@theorem=\count159 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerbasethemes.sty)) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemedefault.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerfontthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemedefault.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemedefault.sty +\beamer@dima=\dimen187 +\beamer@dimb=\dimen188 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemedefault.sty))) +(c:/texlive/2019/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2018/08/11 v1.3c Input encoding file +\inpenc@prehook=\toks43 +\inpenc@posthook=\toks44 + + +Package inputenc Warning: inputenc package ignored with utf8 based engines. + +) (c:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2018/08/11 v2.0j Standard LaTeX package + +(c:/texlive/2019/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +) +LaTeX Font Info: Trying to load font information for T1+lmss on input line 1 +05. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmss.fd +File: t1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +)) +(c:/texlive/2019/texmf-dist/tex/latex/lm/lmodern.sty +Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 22. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/lmm/m/it on input line 23. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 25. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/lmm/b/it on input line 27. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 29. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 32. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 33. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. +) +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2019/10/15 3.35 The Babel package + +(c:/texlive/2019/texmf-dist/tex/generic/babel/switch.def +File: switch.def 2019/10/15 3.35 Babel switching mechanism +) +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngerman.ldf +Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra +phy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel-german/ngermanb.ldf +Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr +aphy) + +(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.def +File: babel.def 2019/10/15 3.35 Babel common definitions +\babel@savecnt=\count160 +\U@D=\dimen189 + +(c:/texlive/2019/texmf-dist/tex/generic/babel/xebabel.def +(c:/texlive/2019/texmf-dist/tex/generic/babel/txtbabel.def)) +LaTeX Info: Redefining \textlatin on input line 2185. +\bbl@dirlevel=\count161 +) +Package babel Info: Making " an active character on input line 121. +))) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +Package: pgf 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfnodeparttextbox=\box56 +) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2019/08/03 v3.1.4b (3.1.4b) +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.st +y +Package: pgfcomp-version-0-65 2019/08/03 v3.1.4b (3.1.4b) +\pgf@nodesepstart=\dimen190 +\pgf@nodesepend=\dimen191 +) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.st +y +Package: pgfcomp-version-1-18 2019/08/03 v3.1.4b (3.1.4b) +)) (c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(c:/texlive/2019/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(c:/texlive/2019/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen192 +\pgffor@skip=\dimen193 +\pgffor@stack=\toks45 +\pgffor@toks=\toks46 +)) +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2019/08/03 v3.1.4b (3.1.4b) + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.co +de.tex +File: pgflibraryplothandlers.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgf@plot@mark@count=\count162 +\pgfplotmarksize=\dimen194 +) +\tikz@lastx=\dimen195 +\tikz@lasty=\dimen196 +\tikz@lastxsaved=\dimen197 +\tikz@lastysaved=\dimen198 +\tikz@lastmovetox=\dimen199 +\tikz@lastmovetoy=\dimen256 +\tikzleveldistance=\dimen257 +\tikzsiblingdistance=\dimen258 +\tikz@figbox=\box57 +\tikz@figbox@bg=\box58 +\tikz@tempbox=\box59 +\tikz@tempbox@bg=\box60 +\tikztreelevel=\count163 +\tikznumberofchildren=\count164 +\tikznumberofcurrentchild=\count165 +\tikz@fig@count=\count166 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2019/08/03 v3.1.4b (3.1.4b) +\pgfmatrixcurrentrow=\count167 +\pgfmatrixcurrentcolumn=\count168 +\pgf@matrix@numberofcolumns=\count169 +) +\tikz@expandcount=\count170 + +(c:/texlive/2019/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzli +brarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2019/08/03 v3.1.4b (3.1.4b) +))) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerthemeHannover.sty +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerouterthemesidebar.sty +\beamer@sidebarwidth=\dimen259 +\beamer@headheight=\dimen260 +) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamercolorthemeseahorse.sty) +(c:/texlive/2019/texmf-dist/tex/latex/beamer/beamerinnerthemecircles.sty)) +(./RS_handout.aux) +\openout1 = `RS_handout.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +*geometry* driver: auto-detecting +*geometry* detected driver: xetex +*geometry* verbose mode - [ preamble ] result: +* driver: xetex +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: includehead includefoot +* h-part:(L,W,R)=(59.22636pt, 381.79135pt, 14.22636pt) +* v-part:(T,H,B)=(0.0pt, 256.0748pt, 0.0pt) +* \paperwidth=455.24408pt +* \paperheight=256.0748pt +* \textwidth=381.79135pt +* \textheight=227.62207pt +* \oddsidemargin=-13.04362pt +* \evensidemargin=-13.04362pt +* \topmargin=-72.26999pt +* \headheight=14.22636pt +* \headsep=0.0pt +* \topskip=11.0pt +* \footskip=14.22636pt +* \marginparwidth=4.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +ABD: EveryShipout initializing macros +\AtBeginShipoutBox=\box61 +Package hyperref Info: Link coloring OFF on input line 9. + +(c:/texlive/2019/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section + +(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) +) +\c@section@level=\count171 +) +LaTeX Info: Redefining \ref on input line 9. +LaTeX Info: Redefining \pageref on input line 9. +LaTeX Info: Redefining \nameref on input line 9. + +(./RS_handout.out) (./RS_handout.out) +\@outlinefile=\write5 +\openout5 = `RS_handout.out'. + +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/lmr/m/n --> OT1/cmss/m/n on input line 9. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/lmr/bx/n --> OT1/cmss/bx/n on input line 9. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 9. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 9. +\symnumbers=\mathgroup6 +\sympureletters=\mathgroup7 +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmr/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/lmr/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/lmss/m/n --> T1/lmss/m/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmss/m/n on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/lmr/m/it --> T1/lmss/m/it on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/lmr/bx/it --> T1/lmss/m/it on input line 9. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/lmtt/m/n --> T1/lmtt/m/n on input line 9. +LaTeX Font Info: Overwriting symbol font `numbers' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' +(Font) OT1/lmss/bx/n --> T1/lmr/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) T1/lmss/bx/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) T1/lmss/m/n --> T1/lmss/bx/n on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) T1/lmss/m/it --> T1/lmss/bx/it on input line 9. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) T1/lmtt/m/n --> T1/lmtt/bx/n on input line 9. + +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-basic-dictionary-En +glish.dict +Dictionary: translator-basic-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-bibliography-dictio +nary-English.dict +Dictionary: translator-bibliography-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-environment-diction +ary-English.dict +Dictionary: translator-environment-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-months-dictionary-E +nglish.dict +Dictionary: translator-months-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-numbers-dictionary- +English.dict +Dictionary: translator-numbers-dictionary, Language: English +) +(c:/texlive/2019/texmf-dist/tex/latex/translator/translator-theorem-dictionary- +English.dict +Dictionary: translator-theorem-dictionary, Language: English +) (./RS_handout.nav) + +Package hyperref Warning: Option `pdfauthor' has already been used, +(hyperref) setting the option has no effect on input line 10. + + +Package hyperref Warning: Option `pdfsubject' has already been used, +(hyperref) setting the option has no effect on input line 16. + +[1 + +] +LaTeX Font Info: Trying to load font information for OT1+lmss on input line +32. + (c:/texlive/2019/texmf-dist/tex/latex/lm/ot1lmss.fd +File: ot1lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OML+lmm on input line 3 +2. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omllmm.fd +File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMS+lmsy on input line +32. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omslmsy.fd +File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: Trying to load font information for OMX+lmex on input line +32. + +(c:/texlive/2019/texmf-dist/tex/latex/lm/omxlmex.fd +File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern +) +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10.95> on input line 32. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <8> on input line 32. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <6> on input line 32. +LaTeX Font Info: Trying to load font information for U+msa on input line 32. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 32. + + +(c:/texlive/2019/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10.95> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <8> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <6> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 32. + [2 + +] +File: images/polynom2.pdf Graphic file (type pdf) + + [3 + +] [4 + +] [5 + +] +File: images/fig1.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[6 + +] +File: images/fig2.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[7 + +] +File: images/fig3.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[8 + +] +File: images/fig4.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[9 + +] +File: images/fig5.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[10 + +] +File: images/fig6.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[11 + +] +File: images/fig7.pdf Graphic file (type pdf) + + +Overfull \vbox (14.63716pt too high) detected at line 111 + [] + +[12 + +] [13 + +] [14 + +] [15 + +] [16 + +] [17 + +] +LaTeX Font Info: Trying to load font information for T1+lmr on input line 28 +6. + (c:/texlive/2019/texmf-dist/tex/latex/lm/t1lmr.fd +File: t1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern +) [18 + +] [19 + +] +LaTeX Font Info: Trying to load font information for U+euf on input line 368 +. + (c:/texlive/2019/texmf-dist/tex/latex/amsfonts/ueuf.fd +File: ueuf.fd 2013/01/14 v3.01 Euler Fraktur +) [20 + +] +[21 + +] [22 + +] [23 + +] [24 + +] [25 + +] +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <14.4> on input line 618. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <10> on input line 618. +LaTeX Font Info: External font `lmex10' loaded for size +(Font) <7> on input line 618. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <14.4> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 618. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 618. +LaTeX Font Info: Font shape `T1/lmss/m/it' in size <7> not available +(Font) Font shape `T1/lmss/m/sl' tried instead on input line 618. + [26 + +] +Overfull \hbox (2.91844pt too wide) detected at line 653 +[] + [] + +[27 + +] [28 + +] [29 + +] [30 + +] [31 + +] [32 + +] [33 + +] [34 + +] +\tf@nav=\write6 +\openout6 = `RS_handout.nav'. + +\tf@toc=\write7 +\openout7 = `RS_handout.toc'. + +\tf@snm=\write8 +\openout8 = `RS_handout.snm'. + +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 907. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 907. + (./RS_handout.aux) +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 907. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 907. +Package rerunfilecheck Info: File `RS_handout.out' has not changed. +(rerunfilecheck) Checksum: CBEDF1F633104E8EE4EB074E401487DA. + ) +Here is how much of TeX's memory you used: + 24519 strings out of 492483 + 453771 string characters out of 6132858 + 551669 words of memory out of 5000000 + 28480 multiletter control sequences out of 15000+600000 + 82614 words of font info for 73 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 58i,15n,61p,804b,549s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on RS_handout.pdf (34 pages). diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.nav b/buch/papers/reedsolomon/RS presentation/RS_handout.nav new file mode 100644 index 0000000..b6e8a36 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.nav @@ -0,0 +1,85 @@ +\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}} +\headcommand {\beamer@framepages {1}{1}} +\headcommand {\beamer@sectionpages {1}{1}} +\headcommand {\beamer@subsectionpages {1}{1}} +\headcommand {\sectionentry {1}{Einführung}{2}{Einführung}{0}} +\headcommand {\slideentry {1}{0}{1}{2/2}{}{0}} +\headcommand {\beamer@framepages {2}{2}} +\headcommand {\beamer@sectionpages {2}{2}} +\headcommand {\beamer@subsectionpages {2}{2}} +\headcommand {\sectionentry {2}{Polynom Ansatz}{3}{Polynom Ansatz}{0}} +\headcommand {\slideentry {2}{0}{1}{3/3}{}{0}} +\headcommand {\beamer@framepages {3}{3}} +\headcommand {\slideentry {2}{0}{2}{4/4}{}{0}} +\headcommand {\beamer@framepages {4}{4}} +\headcommand {\beamer@sectionpages {3}{4}} +\headcommand {\beamer@subsectionpages {3}{4}} +\headcommand {\sectionentry {3}{Diskrete Fourier Transformation}{5}{Diskrete Fourier Transformation}{0}} +\headcommand {\slideentry {3}{0}{1}{5/5}{}{0}} +\headcommand {\beamer@framepages {5}{5}} +\headcommand {\slideentry {3}{0}{2}{6/12}{}{0}} +\headcommand {\beamer@framepages {6}{12}} +\headcommand {\slideentry {3}{0}{3}{13/13}{}{0}} +\headcommand {\beamer@framepages {13}{13}} +\headcommand {\slideentry {3}{0}{4}{14/14}{}{0}} +\headcommand {\beamer@framepages {14}{14}} +\headcommand {\slideentry {3}{0}{5}{15/15}{}{0}} +\headcommand {\beamer@framepages {15}{15}} +\headcommand {\beamer@sectionpages {5}{15}} +\headcommand {\beamer@subsectionpages {5}{15}} +\headcommand {\sectionentry {4}{Reed-Solomon in Endlichen Körpern}{16}{Reed-Solomon in Endlichen Körpern}{0}} +\headcommand {\slideentry {4}{0}{1}{16/16}{}{0}} +\headcommand {\beamer@framepages {16}{16}} +\headcommand {\slideentry {4}{0}{2}{17/17}{}{0}} +\headcommand {\beamer@framepages {17}{17}} +\headcommand {\beamer@sectionpages {16}{17}} +\headcommand {\beamer@subsectionpages {16}{17}} +\headcommand {\sectionentry {5}{Codierung eines Beispiels}{18}{Codierung eines Beispiels}{0}} +\headcommand {\slideentry {5}{0}{1}{18/18}{}{0}} +\headcommand {\beamer@framepages {18}{18}} +\headcommand {\slideentry {5}{0}{2}{19/19}{}{0}} +\headcommand {\beamer@framepages {19}{19}} +\headcommand {\beamer@sectionpages {18}{19}} +\headcommand {\beamer@subsectionpages {18}{19}} +\headcommand {\sectionentry {6}{Decodierung ohne Fehler}{20}{Decodierung ohne Fehler}{0}} +\headcommand {\slideentry {6}{0}{1}{20/20}{}{0}} +\headcommand {\beamer@framepages {20}{20}} +\headcommand {\slideentry {6}{0}{2}{21/21}{}{0}} +\headcommand {\beamer@framepages {21}{21}} +\headcommand {\slideentry {6}{0}{3}{22/22}{}{0}} +\headcommand {\beamer@framepages {22}{22}} +\headcommand {\beamer@sectionpages {20}{22}} +\headcommand {\beamer@subsectionpages {20}{22}} +\headcommand {\sectionentry {7}{Decodierung mit Fehler}{23}{Decodierung mit Fehler}{0}} +\headcommand {\slideentry {7}{0}{1}{23/23}{}{0}} +\headcommand {\beamer@framepages {23}{23}} +\headcommand {\slideentry {7}{0}{2}{24/24}{}{0}} +\headcommand {\beamer@framepages {24}{24}} +\headcommand {\slideentry {7}{0}{3}{25/25}{}{0}} +\headcommand {\beamer@framepages {25}{25}} +\headcommand {\slideentry {7}{0}{4}{26/26}{}{0}} +\headcommand {\beamer@framepages {26}{26}} +\headcommand {\slideentry {7}{0}{5}{27/27}{}{0}} +\headcommand {\beamer@framepages {27}{27}} +\headcommand {\slideentry {7}{0}{6}{28/28}{}{0}} +\headcommand {\beamer@framepages {28}{28}} +\headcommand {\beamer@sectionpages {23}{28}} +\headcommand {\beamer@subsectionpages {23}{28}} +\headcommand {\sectionentry {8}{Nachricht Rekonstruieren}{29}{Nachricht Rekonstruieren}{0}} +\headcommand {\slideentry {8}{0}{1}{29/29}{}{0}} +\headcommand {\beamer@framepages {29}{29}} +\headcommand {\slideentry {8}{0}{2}{30/30}{}{0}} +\headcommand {\beamer@framepages {30}{30}} +\headcommand {\slideentry {8}{0}{3}{31/31}{}{0}} +\headcommand {\beamer@framepages {31}{31}} +\headcommand {\slideentry {8}{0}{4}{32/32}{}{0}} +\headcommand {\beamer@framepages {32}{32}} +\headcommand {\slideentry {8}{0}{5}{33/33}{}{0}} +\headcommand {\beamer@framepages {33}{33}} +\headcommand {\slideentry {8}{0}{6}{34/34}{}{0}} +\headcommand {\beamer@framepages {34}{34}} +\headcommand {\beamer@partpages {1}{34}} +\headcommand {\beamer@subsectionpages {29}{34}} +\headcommand {\beamer@sectionpages {29}{34}} +\headcommand {\beamer@documentpages {34}} +\headcommand {\gdef \inserttotalframenumber {28}} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.out b/buch/papers/reedsolomon/RS presentation/RS_handout.out new file mode 100644 index 0000000..364319e --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.out @@ -0,0 +1,8 @@ +\BOOKMARK [2][]{Outline0.1}{Einführung}{}% 1 +\BOOKMARK [2][]{Outline0.2}{Polynom\040Ansatz}{}% 2 +\BOOKMARK [2][]{Outline0.3}{Diskrete\040Fourier\040Transformation}{}% 3 +\BOOKMARK [2][]{Outline0.4}{Reed-Solomon in Endlichen Körpern}{}% 4 +\BOOKMARK [2][]{Outline0.5}{Codierung\040eines\040Beispiels}{}% 5 +\BOOKMARK [2][]{Outline0.6}{Decodierung\040ohne\040Fehler}{}% 6 +\BOOKMARK [2][]{Outline0.7}{Decodierung\040mit\040Fehler}{}% 7 +\BOOKMARK [2][]{Outline0.8}{Nachricht\040Rekonstruieren}{}% 8 diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.pdf b/buch/papers/reedsolomon/RS presentation/RS_handout.pdf new file mode 100644 index 0000000..382049d Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS_handout.pdf differ diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.snm b/buch/papers/reedsolomon/RS presentation/RS_handout.snm new file mode 100644 index 0000000..1796304 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.snm @@ -0,0 +1 @@ +\beamer@slide {ft_discrete}{13} diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz b/buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz new file mode 100644 index 0000000..c28a28a Binary files /dev/null and b/buch/papers/reedsolomon/RS presentation/RS_handout.synctex.gz differ diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.tex b/buch/papers/reedsolomon/RS presentation/RS_handout.tex index 863b3a2..1cbb6ef 100644 --- a/buch/papers/reedsolomon/RS presentation/RS_handout.tex +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.tex @@ -25,38 +25,29 @@ \begin{frame} \frametitle{Reed-Solomon-Code:} \begin{itemize} - \visible<1->{\item Für Übertragung von Daten} - \visible<2->{\item Ermöglicht Korrektur von Übertragungsfehler} - \visible<3->{\item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc.} + \item Für Übertragung von Daten + \item Ermöglicht Korrektur von Übertragungsfehler + \item Wird verwendet in: CD, QR-Codes, Voyager-Sonde, etc. \end{itemize} \end{frame} %------------------------------------------------------------------------------- \section{Polynom Ansatz} \begin{frame} \begin{itemize} - \item Beispiel $2, 1, 5$ versenden und auf 2 Fehler absichern + \item $2, 1, 5$ versenden und auf 2 Fehler absichern \end{itemize} - \end{frame} - \begin{frame} \frametitle{Beispiel} Übertragen von ${f}_2=\textcolor{blue}{2}$, ${f}_1=\textcolor{blue}{1}$, ${f}_0=\textcolor{blue}{5}$ als $ p(w) = \textcolor{blue}{2}w^2 + \textcolor{blue}{1}w + \textcolor{blue}{5} $. - - \only<1>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{green}{15}, \textcolor{green}{26}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom1.pdf}} - \only<2>{ - Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, - \textcolor{red}{50}, \textcolor{red}{37}, - \textcolor{green}{41}, \textcolor{green}{60}, - \textcolor{green}{83}, \textcolor{green}{110})$ - \includegraphics[scale = 1.2]{images/polynom2.pdf} - \newline - \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern.} + \newline + Versende $ (p(1),p(2),\dots,p(7)) = (\textcolor{green}{8}, + \textcolor{red}{50}, \textcolor{red}{37}, + \textcolor{green}{41}, \textcolor{green}{60}, + \textcolor{green}{83}, \textcolor{green}{110})$ + \includegraphics[scale = 1.2]{images/polynom2.pdf} + \newline + \textcolor{green}{7} Zahlen versenden, um \textcolor{blue}{3} Zahlen gegen \textcolor{red}{2} Fehlern abzusichern. \end{frame} %------------------------------------------------------------------------------- \begin{frame} @@ -68,18 +59,14 @@ \hline 3 & 2 & 7 Werte eines Polynoms vom Grad 2 \\ 4 & 2 & 8 Werte eines Polynoms vom Grad 3 \\ -\visible<1->{3}& -\visible<1->{3}& -\visible<1->{9 Werte eines Polynoms vom Grad 2} \\ + 3& 3& 9 Werte eines Polynoms vom Grad 2 \\ &&\\ -\visible<1->{$k$} & -\visible<1->{$t$} & -\visible<1->{$k+2t$ Werte eines Polynoms vom Grad $k-1$} \\ + $k$ & $t$ & $k+2t$ Werte eines Polynoms vom Grad $k-1$ \\ \hline &&\\ &&\\ \multicolumn{3}{l} { - \visible<1>{Ausserdem können bis zu $2t$ Fehler erkannt werden!} + Ausserdem können bis zu $2t$ Fehler erkannt werden! } \end{tabular} \end{center} @@ -127,23 +114,23 @@ \frametitle{Diskrete Fourier Transformation} \begin{itemize} \item Diskrete Fourier-Transformation gegeben durch: - \visible<1->{ + \[ \label{ft_discrete} \hat{c}_{k} = \frac{1}{N} \sum_{n=0}^{N-1} {f}_n \cdot e^{-\frac{2\pi j}{N} \cdot kn} - \]} - \visible<2->{ + \] + \item Ersetzte \[ w = e^{-\frac{2\pi j}{N} k} - \]} - \visible<3->{ + \] + \item Wenn $N$ konstant: \[ \hat{c}_{k}=\frac{1}{N}( {f}_0 w^0 + {f}_1 w^1 + {f}_2 w^2 + \dots + {f}_{N-1} w^N) - \]} + \] \end{itemize} \end{frame} @@ -177,10 +164,9 @@ \frametitle{Probleme und Fragen} Wie wird der Fehler lokalisiert? - \visible<2>{ \newline Indem in einem endlichen Körper gerechnet wird. - } + \end{frame} %------------------------------------------------------------------------------- diff --git a/buch/papers/reedsolomon/RS presentation/RS_handout.toc b/buch/papers/reedsolomon/RS presentation/RS_handout.toc new file mode 100644 index 0000000..ce1bdc2 --- /dev/null +++ b/buch/papers/reedsolomon/RS presentation/RS_handout.toc @@ -0,0 +1,9 @@ +\babel@toc {ngerman}{} +\beamer@sectionintoc {1}{Einführung}{2}{0}{1} +\beamer@sectionintoc {2}{Polynom Ansatz}{3}{0}{2} +\beamer@sectionintoc {3}{Diskrete Fourier Transformation}{5}{0}{3} +\beamer@sectionintoc {4}{Reed-Solomon in Endlichen Körpern}{16}{0}{4} +\beamer@sectionintoc {5}{Codierung eines Beispiels}{18}{0}{5} +\beamer@sectionintoc {6}{Decodierung ohne Fehler}{20}{0}{6} +\beamer@sectionintoc {7}{Decodierung mit Fehler}{23}{0}{7} +\beamer@sectionintoc {8}{Nachricht Rekonstruieren}{29}{0}{8} -- cgit v1.2.1 From dd7bd6ca3b6517435dfc6b740ab96f51aa15ac2e Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Sun, 16 May 2021 16:03:36 +0200 Subject: edit main.tex add chapters --- buch/papers/reedsolomon/main.tex | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/main.tex b/buch/papers/reedsolomon/main.tex index 8219b63..a7485cd 100644 --- a/buch/papers/reedsolomon/main.tex +++ b/buch/papers/reedsolomon/main.tex @@ -3,7 +3,7 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Thema\label{chapter:reedsolomon}} +\chapter{Reed-Solomon-Code\label{chapter:reedsolomon}} \lhead{Thema} \begin{refsection} \chapterauthor{Joshua Bär und Michael Steiner} @@ -27,10 +27,18 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. \end{itemize} +% Joshua \input{papers/reedsolomon/teil0.tex} \input{papers/reedsolomon/teil1.tex} \input{papers/reedsolomon/teil2.tex} \input{papers/reedsolomon/teil3.tex} +% Michael +\input{papers/reedsolomon/endlichekoerper} +\input{papers/reedsolomon/codebsp} +\input{papers/reedsolomon/decohnefehler} +\input{papers/reedsolomon/decmitfehler} +\input{papers/reedsolomon/rekonstruktion} + \printbibliography[heading=subbibliography] \end{refsection} -- cgit v1.2.1 From 898274b6cb5f825fe710eec58349799cdc5f6bc3 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Sun, 16 May 2021 16:04:13 +0200 Subject: create endlichekoerper.tex added chapter description --- buch/papers/reedsolomon/endlichekoerper.tex | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 buch/papers/reedsolomon/endlichekoerper.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/endlichekoerper.tex b/buch/papers/reedsolomon/endlichekoerper.tex new file mode 100644 index 0000000..8ccd918 --- /dev/null +++ b/buch/papers/reedsolomon/endlichekoerper.tex @@ -0,0 +1,23 @@ +% +% teil1.tex -- Beispiel-File für das Paper +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Reed-Solomon in Endlichen Körpern +\label{reedsolomon:section:endlichekoerper}} +\rhead{Problemstellung} + +TODO: + +Das rechnen in endlichen Körpern bietet einige Vorteile: + +\begin{itemize} + \item Konkrete Zahlen: In endlichen Körpern gibt es weder rationale noch komplexe Zahlen. Zudem beschränken sich die möglichen Rechenoperationen auf das Addieren und Multiplizieren. Somit können wir nur ganze Zahlen als Resultat erhalten. + + \item Digitale Fehlerkorrektur: lässt sich nur in endlichen Körpern umsetzen. + +\end{itemize} + +Um jetzt eine Nachricht in den endlichen Körpern zu konstruieren legen wir fest, dass diese Nachricht aus einem Nutzdatenteil und einem Fehlerkorrekturteil bestehen muss. Somit ist die zu übertragende Nachricht immer grösser als die Daten, die wir übertragen wollen. Zudem müssen wir einen Weg finden, den Fehlerkorrekturteil so aus den Nutzdaten zu berechnen, dass wir die Nutzdaten auf der Empfängerseite wieder rekonstruieren können, sollte es zu einer fehlerhaften Übertragung kommen. + +Nun stellt sich die Frage, wie wir eine Fehlerhafte Nachricht korrigieren können, ohne ihren ursprünglichen Inhalt zu kennen. Der Reed-Solomon-Code erzielt dies, indem aus dem Fehlerkorrekturteil ein sogenanntes "Lokatorpolynom" generiert werden kann. Dieses Polynom gibt dem Emfänger an, welche Stellen in der Nachricht feherhaft sind. -- cgit v1.2.1 From 46fa4763d730b1312741eefb8a2981c73389ccae Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 17 May 2021 19:32:32 +0200 Subject: update of codebsp started, restetabelle 1&2 created --- buch/papers/reedsolomon/codebsp.tex | 71 +++++++++++++++++++++++++++++++ buch/papers/reedsolomon/restetabelle1.tex | 24 +++++++++++ buch/papers/reedsolomon/restetabelle2.tex | 24 +++++++++++ 3 files changed, 119 insertions(+) create mode 100644 buch/papers/reedsolomon/codebsp.tex create mode 100644 buch/papers/reedsolomon/restetabelle1.tex create mode 100644 buch/papers/reedsolomon/restetabelle2.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex new file mode 100644 index 0000000..e9359f9 --- /dev/null +++ b/buch/papers/reedsolomon/codebsp.tex @@ -0,0 +1,71 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Codierung eines Beispiels +\label{reedsolomon:section:codebsp}} +\rhead{Koerper Festlegen} + +Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir die einzelnen Probleme und ihre Lösungen anhand eines Beispiels betrachten. +Da wir in Endlichen Körpern Rechnen werden wir zuerst solch ein Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. +Wir legen für unser Beispiel den endlichen Körper $q = 11$ fest. +Alle folgenden Berechnungen wurden mit den beiden Restetabellen \textcolor{red}{xx} und \textcolor{red}{yy} durchgeführt. + +% die beiden Restetabellen von F_11 +%\input{papers/reedsolomon/restetabelle1} +%\input{papers/reedsolomon/restetabelle2} + + + + + +\textbf{DUMP} + +Da Körper laut der \textcolor{red}{Definition 4.6} eine Primzahl sein muss, + + +Dieser Körper sollte jedoch über eine nullteilerfreie Restetabelle verfügen. Somit kommen nur Primzahlen als Körper in frage. + + + Für das Beispiel wählen wir die Zahl $11$. + + uns zu aller erst auf ein sochen Körper festlegen. + +Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir dies anhand eines Beispiels betrachten. + +Um die Nachfolgende Rechenwege besser zu verstehen, werden wir die einzelnen Rechenschritte anhand eines Beispiels betrachten. + + + + +Als erstes muss festgelegt werden, in welchem endlichen Körper gerechnet werden soll. +Da die Restetabelle eines Körpers nullteilerfrei sein soll, kommen so nur Primzahlen in Frage. +Für das Beispiel verwenden wir den Körper $\mathbb{F}_{11}$. So wählen wir + + +$q = 11$ + + +und beinhaltet die Zahlen + + +$Z_{11} = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]$ + +\subsection{De finibus bonorum et malorum +\label{reedsolomon:subsection:malorum}} +At vero eos et accusamus et iusto odio dignissimos ducimus qui +blanditiis praesentium voluptatum deleniti atque corrupti quos +dolores et quas molestias excepturi sint occaecati cupiditate non +provident, similique sunt in culpa qui officia deserunt mollitia +animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis +est et expedita distinctio. Nam libero tempore, cum soluta nobis +est eligendi optio cumque nihil impedit quo minus id quod maxime +placeat facere possimus, omnis voluptas assumenda est, omnis dolor +repellendus. Temporibus autem quibusdam et aut officiis debitis aut +rerum necessitatibus saepe eveniet ut et voluptates repudiandae +sint et molestiae non recusandae. Itaque earum rerum hic tenetur a +sapiente delectus, ut aut reiciendis voluptatibus maiores alias +consequatur aut perferendis doloribus asperiores repellat. + + diff --git a/buch/papers/reedsolomon/restetabelle1.tex b/buch/papers/reedsolomon/restetabelle1.tex new file mode 100644 index 0000000..a5055c0 --- /dev/null +++ b/buch/papers/reedsolomon/restetabelle1.tex @@ -0,0 +1,24 @@ +% created by Michael Steiner +% +% Restetabelle von F_11: Addition +\begin{figure} +\begin{center} +\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline ++&0&1&2&3&4&5&6&7&8&9&10\\ +\hline +0&0&1&2&3&4&5&6&7&8&9&10\\ +1&1&2&3&4&5&6&7&8&9&10&0\\ +2&2&3&4&5&6&7&8&9&10&0&1\\ +3&3&4&5&6&7&8&9&10&0&1&2\\ +4&4&5&6&7&8&9&10&0&1&2&3\\ +5&5&6&7&8&9&10&0&1&2&3&4\\ +6&6&7&8&9&10&0&1&2&3&4&5\\ +7&7&8&9&10&0&1&2&3&4&5&6\\ +8&8&9&10&0&1&2&3&4&5&6&7\\ +9&9&10&0&1&2&3&4&5&6&7&8\\ +10&10&0&1&2&3&4&5&6&7&8&9\\ +\hline +\end{tabular} +\end{center} +\end{figure} \ No newline at end of file diff --git a/buch/papers/reedsolomon/restetabelle2.tex b/buch/papers/reedsolomon/restetabelle2.tex new file mode 100644 index 0000000..887c981 --- /dev/null +++ b/buch/papers/reedsolomon/restetabelle2.tex @@ -0,0 +1,24 @@ +% created by Michael Steiner +% +% Restetabelle von F_11: Multiplikation +\begin{figure} +\begin{center} +\begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|} +\hline +\cdot&0&1&2&3&4&5&6&7&8&9&10\\ +\hline +0&0&0&0&0&0&0&0&0&0&0&0\\ +1&0&1&2&3&4&5&6&7&8&9&10\\ +2&0&2&4&6&8&10&1&3&5&7&9\\ +3&0&3&6&9&1&4&7&10&2&5&8\\ +4&0&4&8&1&5&9&2&6&10&3&7\\ +5&0&5&10&4&9&3&8&2&7&1&6\\ +6&0&6&1&7&2&8&3&9&4&10&5\\ +7&0&7&3&10&6&2&9&5&1&8&4\\ +8&0&8&5&2&10&7&4&1&9&6&3\\ +9&0&9&7&5&3&1&10&8&6&4&2\\ +10&0&10&9&8&7&6&5&4&3&2&1\\ +\hline +\end{tabular} +\end{center} +\end{figure} \ No newline at end of file -- cgit v1.2.1 From 55fc006b2133da4f79eb6eb5179d584c130824a2 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 18 May 2021 18:29:59 +0200 Subject: updated codebsp.tex, created decohnefehler.tex (with blindtext) --- buch/papers/reedsolomon/codebsp.tex | 174 +++++++++++++++++++++--------- buch/papers/reedsolomon/decohnefehler.tex | 40 +++++++ 2 files changed, 161 insertions(+), 53 deletions(-) create mode 100644 buch/papers/reedsolomon/decohnefehler.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/codebsp.tex b/buch/papers/reedsolomon/codebsp.tex index e9359f9..5b67c43 100644 --- a/buch/papers/reedsolomon/codebsp.tex +++ b/buch/papers/reedsolomon/codebsp.tex @@ -11,61 +11,129 @@ Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir di Da wir in Endlichen Körpern Rechnen werden wir zuerst solch ein Körper festlegen. Dabei müssen wir die \textcolor{red}{Definition 4.6} berücksichtigen, die besagt, dass nur Primzahlen für endliche Körper in Frage kommen. Wir legen für unser Beispiel den endlichen Körper $q = 11$ fest. Alle folgenden Berechnungen wurden mit den beiden Restetabellen \textcolor{red}{xx} und \textcolor{red}{yy} durchgeführt. +Aus den Tabellen folgt auch, dass uns nur die Zahlen \[\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\}\] zur Verfügung stehen. % die beiden Restetabellen von F_11 %\input{papers/reedsolomon/restetabelle1} %\input{papers/reedsolomon/restetabelle2} - - - - -\textbf{DUMP} - -Da Körper laut der \textcolor{red}{Definition 4.6} eine Primzahl sein muss, - - -Dieser Körper sollte jedoch über eine nullteilerfreie Restetabelle verfügen. Somit kommen nur Primzahlen als Körper in frage. - - - Für das Beispiel wählen wir die Zahl $11$. - - uns zu aller erst auf ein sochen Körper festlegen. - -Um die Funktionsweise eines Reed-Solomon-Codes besser zu verstehen werden wir dies anhand eines Beispiels betrachten. - -Um die Nachfolgende Rechenwege besser zu verstehen, werden wir die einzelnen Rechenschritte anhand eines Beispiels betrachten. - - - - -Als erstes muss festgelegt werden, in welchem endlichen Körper gerechnet werden soll. -Da die Restetabelle eines Körpers nullteilerfrei sein soll, kommen so nur Primzahlen in Frage. -Für das Beispiel verwenden wir den Körper $\mathbb{F}_{11}$. So wählen wir - - -$q = 11$ - - -und beinhaltet die Zahlen - - -$Z_{11} = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]$ - -\subsection{De finibus bonorum et malorum -\label{reedsolomon:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. - - +Die grösse des endlichen Körpers legt auch fest, wie gross unsere Nachricht $n$ bestehend aus Nutzdatenteil und Fehlerkorrekturteil sein kann und beträgt in unserem Beispiel +\[ +n = q - 1 = 10 \text{ Zahlen}. +\] + +Im nächsten Schritt bestimmen wir, wie viele Fehler $t$ maximal während der Übertragung auftreten dürfen, damit wir sie noch korrigieren können. +Unser Beispielcode sollte in der Lage sein +\[ +t = 2 +\] +Fehlerstellen korrigieren zu können. + +Die Grösse des Nutzdatenteils hängt von der Grösse der Nachricht sowie der Anzahl der Fehlerkorrekturstellen. Je robuster der Code sein muss, desto weniger Platz für Nutzdaten $k$ bleibt in der Nachricht übrig. +Bei maximal 2 Fehler können wir noch +\[ +k = n - 2t = 6\text{ Zahlen} +\] +übertragen. + +Zusammenfassend haben wir einen Codeblock mit der Länge von 10 Zahlen definiert, der 6 Zahlen als Nutzlast beinhaltet und in der Lage ist aus 2 fehlerhafte Stellen im Block die ursprünglichen Nutzdaten rekonstruieren kann. Zudem werden wir im weiteren feststellen, dass dieser Code maximal 4 Fehlerstellen erkennen, diese aber nicht rekonstruieren kann. + +Wir legen nun die Nachricht +\[ +m = [0,0,0,0,4,7,2,5,8,1] +\] +fest, die wir gerne an einen Empfänger übertragen möchten, wobei die vorderen vier Nullstellen für die Fehlerkorrektur zuständig sind. +Die Nachricht können wir auch als Polynom +\[ +m(X) = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 +\] +darstellen. + +\subsection{Der Ansatz der diskreten Fouriertransformation + \label{reedsolomon:subsection:diskFT}} + +In einem vorherigen Kapitel (???) haben wir schon einmal die diskrete Fouriertransformation zum Codieren einer Nachricht verwendet. In den endlichen Körpern wird dies jedoch nicht gelingen, da die Eulerische Zahl $\mathrm{e}$ in $\mathbb{F}_{11}$ nicht existiert. +Wir suchen also eine Zahl $a^i$, die in endlichen Körpern existiert und den gesamten Zahlenbereich von $\mathbb{F}_{11}$ abdecken kann. +Dazu schreiben wir +\[ +\mathbb{F}_{11} = \{0,1,2,3,4,5,6,7,8,9,10\} +\] +um in +\[ +\mathbb{Z}_{11}\setminus\{0\} = \{a^0, a^1, a^2, a^3, a^4, a^5, a^6, a^7, a^8, a^9\}. +\] + +Wenn wir alle möglichen Werte für $a$ einsetzen, also + +%\begin{align} +%a = 0 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\} \\ +%a = 1 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\} \\ +%a = 2 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 2, 4, 8, 5, 10, 9, 7, 3, 6\} \\ +%a = 3 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 3, 9, 5, 4, 1, 3, 9, 5, 4\} \\ +%a = 4 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 4, 5, 9, 3, 1, 4, 5, 9, 3\} \\ +%a = 5 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 5, 3, 4, 9, 1, 5, 3, 4, 9\} \\ +%a = 6 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 6, 3, 7, 9, 10, 5, 8, 4, 2\} \\ +%a = 7 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 7, 5, 2, 3, 10, 4, 6, 9, 8\} \\ +%a = 8 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 8, 9, 6, 4, 10, 3, 2, 5, 7\} \\ +%a = 9 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 9, 4, 3, 5, 1, 9, 4, 3, 5\} \\ +%a = 10 : \qquad \mathbb{Z}_{11}\setminus\{0\} = \{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\} +%\end{align} + +\begin{center} +\begin{tabular}{c r c l} +%$a = 0 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{0, 0, 0, 0, 0, 0, 0, 0, 0, 0\}$ \\ +$a = 1 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 1, 1, 1, 1, 1, 1, 1, 1, 1\}$ \\ +$a = 2 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 2, 4, 8, 5, 10, 9, 7, 3, 6\}$ \\ +$a = 3 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 3, 9, 5, 4, 1, 3, 9, 5, 4\}$ \\ +$a = 4 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 4, 5, 9, 3, 1, 4, 5, 9, 3\}$ \\ +$a = 5 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 5, 3, 4, 9, 1, 5, 3, 4, 9\}$ \\ +$a = 6 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 6, 3, 7, 9, 10, 5, 8, 4, 2\}$ \\ +$a = 7 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 7, 5, 2, 3, 10, 4, 6, 9, 8\}$ \\ +$a = 8 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 8, 9, 6, 4, 10, 3, 2, 5, 7\}$ \\ +$a = 9 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 9, 4, 3, 5, 1, 9, 4, 3, 5\}$ \\ +$a = 10 :$& $\qquad \mathbb{Z}_{11}\setminus\{0\}$ &$=$& $\{1, 10, 1, 10, 1, 10, 1, 10, 1, 10\}$ +\end{tabular} +\end{center} + +so fällt uns auf, dass die Zahlen $2,6,7,8$ tatsächlich den gesamten Zahlenraum von $\mathbb{F}_{11}$ abbilden. Solche Zahlen werden \em Primitive Einheitswurzel \em genannt. +Für das Beispiel wählen wir die Zahl $a^i = 8$. +Damit wir unsere Nachricht codieren können, müssen wir $8^i$ in $m(X)$ einsetzen. + +\begin{center} + \begin{tabular}{c} + $m(8^0) = 4 \cdot 1 + 7 \cdot 1 + 2 \cdot 1 + 5 \cdot 1 + 8 \cdot 1 + 1 = 5$ \\ + $m(8^1) = 4 \cdot 8 + 7 \cdot 8 + 2 \cdot 8 + 5 \cdot 8 + 8 \cdot 8 + 1 = 3$ \\ + \vdots + \end{tabular} +\end{center} + +Für eine elegantere Formulierung stellen wir das ganze als Matrix dar, wobei $m$ unser Nachrichtenvektor, $A$ die Transformationsmatrix und $v$ unser Übertragungsvektor ist. + +\[ +v = A \cdot m \qquad \Rightarrow \qquad v = \begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^3& 8^6& 8^9& 8^{12}& 8^{15}& 8^{18}& 8^{21}& 8^{24}& 8^{27}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^8& 8^{16}& 8^{24}& 8^{32}& 8^{40}& 8^{48}& 8^{56}& 8^{64}& 8^{72}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + 1 \\ 8 \\ 5 \\ 2 \\ 7 \\ 4 \\ 0 \\ 0 \\ 0 \\ 0 \\ +\end{pmatrix} +\] + +Somit bekommen wir für unseren Übertragungsvektor +\[ +v = [5,3,6,5,2,10,2,7,10,4], +\] +den wir jetzt über einen beliebigen Nachrichtenkanal versenden können. + +\textbf{NOTES} + +warum wird 0 weggelassen? diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex new file mode 100644 index 0000000..832d63f --- /dev/null +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -0,0 +1,40 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Decodierung ohne Fehler +\label{reedsolomon:section:decohnefehler}} +\rhead{Teil 3} +Sed ut perspiciatis unde omnis iste natus error sit voluptatem +accusantium doloremque laudantium, totam rem aperiam, eaque ipsa +quae ab illo inventore veritatis et quasi architecto beatae vitae +dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit +aspernatur aut odit aut fugit, sed quia consequuntur magni dolores +eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam +est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci +velit, sed quia non numquam eius modi tempora incidunt ut labore +et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima +veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, +nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure +reprehenderit qui in ea voluptate velit esse quam nihil molestiae +consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla +pariatur? + +\subsection{De finibus bonorum et malorum +\label{reedsolomon:subsection:malorum}} +At vero eos et accusamus et iusto odio dignissimos ducimus qui +blanditiis praesentium voluptatum deleniti atque corrupti quos +dolores et quas molestias excepturi sint occaecati cupiditate non +provident, similique sunt in culpa qui officia deserunt mollitia +animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis +est et expedita distinctio. Nam libero tempore, cum soluta nobis +est eligendi optio cumque nihil impedit quo minus id quod maxime +placeat facere possimus, omnis voluptas assumenda est, omnis dolor +repellendus. Temporibus autem quibusdam et aut officiis debitis aut +rerum necessitatibus saepe eveniet ut et voluptates repudiandae +sint et molestiae non recusandae. Itaque earum rerum hic tenetur a +sapiente delectus, ut aut reiciendis voluptatibus maiores alias +consequatur aut perferendis doloribus asperiores repellat. + + -- cgit v1.2.1 From 9c25485518e7f80050a8ee2a12b94abb009c9a58 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Tue, 18 May 2021 21:14:36 +0200 Subject: finished first final version of decohnefehler.tex --- buch/papers/reedsolomon/decohnefehler.tex | 128 ++++++++++++++++++++++-------- 1 file changed, 97 insertions(+), 31 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex index 832d63f..90f8ba8 100644 --- a/buch/papers/reedsolomon/decohnefehler.tex +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -5,36 +5,102 @@ % \section{Decodierung ohne Fehler \label{reedsolomon:section:decohnefehler}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{reedsolomon:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. +\rhead{fehlerlose rekonstruktion} +Im ersten Teil zur Decodierung des Übertragungsvektor betrachten wir den Übertragungskanal als fehlerfrei. +Wir erhalten also unseren Übertragungsvektor +\[ +v = [5,3,6,5,2,10,2,7,10,4]. +\] +Gesucht ist nun einen Weg, mit dem wir auf unseren Nachrichtenvektor zurückrechnen können. +Ein banaler Ansatz ist das Invertieren der Glechung +\[ +v = A \cdot m \qquad \Rightarrow \qquad m = A^{-1} \cdot v. +\] +Nur stellt sich dann die Frage, wie wir auf die Inverse der Matix $A$ kommen. +Dazu können wir wiederum den Ansatz der Fouriertransformation uns zur Hilfe nehmen, +jedoch betrachten wir jetzt deren Inverse. +Definiert ist sie als +\[ +F(\omega) = \int_{-\infty}^{\infty} f(t) \mathrm{e}^{-j\omega t} dt \qquad \Rightarrow \qquad \mathfrak{F}^{-1}(F(\omega)) = f(t) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} F(\omega) \mathrm{e}^{j \omega t} d\omega. +\] + +In unserem Fall suchen wir also eine inverse für die Primitive Einheitswurzel $a$, also +\[ +8^1 \qquad \Rightarrow \qquad 8^{-1}. +\] + +Im Abschnitt \textcolor{red}{4.1} haben wir den euklidischen Algorithmus kennengelernt, den wir auf unseren Fall anwenden können. + +\subsection{Der Euklidische Algorithmus +\label{reedsolomon:subsection:eukAlgo}} + +Die Funktionsweise des euklidischen Algorithmus ist im Kapitel \textcolor{red}{4.1} ausführlich beschrieben. +Für unsere Anwendung wählen wir die Parameter $a_i = 8$ und $b_i = 11$. +Daraus erhalten wir + +\begin{center} + +\begin{tabular}{| c | c c | c | r r |} + \hline + $k$ & $a_i$ & $b_i$ & $q_i$ & $c_i$ & $d_i$\\ + \hline + & & & & $1$& $0$\\ + $0$& $8$& $11$& $0$& $0$& $1$\\ + $1$& $11$& $8$& $1$& $1$& $0$\\ + $2$& $8$& $3$& $2$& $-1$& $1$\\ + $3$& $3$& $2$& $1$& $3$& $-2$\\ + $4$& $2$& $1$& $2$& \textcolor{blue}{$-4$}& \textcolor{red}{$3$}\\ + $5$& $1$& $0$& & $11$& $-8$\\ + \hline +\end{tabular} + +\end{center} +\begin{center} + +\begin{tabular}{rcl} + $\textcolor{blue}{-4} \cdot 8 + \textcolor{red}{3} \cdot 11$ &$=$& $1$\\ + $7 \cdot 8 + 3 \cdot 11$ &$=$& $1$\\ + $8^{-1}$ &$=$& $7$ + +\end{tabular} + +\end{center} + +als Inverse der Primitiven Einheitswurzel. + +Nun haben wir fast alles für die Rücktransformation beisammen. Wie auch bei der Inversen Fouriertransformation haben wir nun einen Vorfaktor +\[ +m = \textcolor{red}{s} \cdot A^{-1} \cdot v +\] +den wir noch bestimmen müssen. +Glücklicherweise lässt der sich analog wie bei der Inversen Fouriertransformation bestimmen und beträgt +\[ +s = \frac{1}{10}. +\] +Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ ergibt. +Somit lässt sich den Nachrichtenvektor einfach bestimmen mit +\[ +m = 10 \cdot A^{-1} \cdot v \qquad \Rightarrow \qquad m = 10 \cdot \begin{pmatrix} + 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ + 7^0& 7^1& 7^2& 7^3& 7^4& 7^5& 7^6& 7^7& 7^8& 7^9\\ + 7^0& 7^2& 7^4& 7^6& 7^8& 7^{10}& 7^{12}& 7^{14}& 7^{16}& 7^{18}\\ + 7^0& 7^3& 7^6& 7^9& 7^{12}& 7^{15}& 7^{18}& 7^{21}& 7^{24}& 7^{27}\\ + 7^0& 7^4& 7^8& 7^{12}& 7^{16}& 7^{20}& 7^{24}& 7^{28}& 7^{32}& 7^{36}\\ + 7^0& 7^5& 7^{10}& 7^{15}& 7^{20}& 7^{25}& 7^{30}& 7^{35}& 7^{40}& 7^{45}\\ + 7^0& 7^6& 7^{12}& 7^{18}& 7^{24}& 7^{30}& 7^{36}& 7^{42}& 7^{48}& 7^{54}\\ + 7^0& 7^7& 7^{14}& 7^{21}& 7^{28}& 7^{35}& 7^{42}& 7^{49}& 7^{56}& 7^{63}\\ + 7^0& 7^8& 7^{16}& 7^{24}& 7^{32}& 7^{40}& 7^{48}& 7^{56}& 7^{64}& 7^{72}\\ + 7^0& 7^9& 7^{18}& 7^{27}& 7^{36}& 7^{45}& 7^{54}& 7^{63}& 7^{72}& 7^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 5 \\ 2 \\ 10 \\ 2 \\ 7 \\ 10 \\ 4 \\ +\end{pmatrix} +\] +und wir erhalten +\[ +m = [0,0,0,0,4,7,2,5,8,1] +\] +als unsere Nachricht zurück. \ No newline at end of file -- cgit v1.2.1 From 5294c40d558e93a034d43846e98176291fb32692 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 24 May 2021 14:28:24 +0200 Subject: update decohnefehler.tex, create decmitfehler.tex --- buch/papers/reedsolomon/decmitfehler.tex | 16 ++++++++++++++++ buch/papers/reedsolomon/decohnefehler.tex | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 buch/papers/reedsolomon/decmitfehler.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex new file mode 100644 index 0000000..fead10e --- /dev/null +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -0,0 +1,16 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Decodierung mit Fehler +\label{reedsolomon:section:decmitfehler}} +\rhead{fehlerhafte rekonstruktion} +moin + + +\subsection{Der Satz von Fermat +\label{reedsolomon:subsection:fermat}} +wer ist fermat? + + diff --git a/buch/papers/reedsolomon/decohnefehler.tex b/buch/papers/reedsolomon/decohnefehler.tex index 90f8ba8..6ca577a 100644 --- a/buch/papers/reedsolomon/decohnefehler.tex +++ b/buch/papers/reedsolomon/decohnefehler.tex @@ -80,7 +80,7 @@ Glücklicherweise lässt der sich analog wie bei der Inversen Fouriertransformat s = \frac{1}{10}. \] Da $\frac{1}{10} = 10^{-1}$ entspricht können wir $s$ ebenfalls mit dem euklidischen Algorithmus bestimmen und stellen fest, dass $10^{-1} = 10$ ergibt. -Somit lässt sich den Nachrichtenvektor einfach bestimmen mit +Somit lässt sich der Nachrichtenvektor einfach bestimmen mit \[ m = 10 \cdot A^{-1} \cdot v \qquad \Rightarrow \qquad m = 10 \cdot \begin{pmatrix} 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0& 7^0\\ -- cgit v1.2.1 From 60bfb41261f51cf20ce65a9242c2624b31d74e75 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 24 May 2021 17:17:56 +0200 Subject: decmitfehler.tex updated --- buch/papers/reedsolomon/decmitfehler.tex | 185 ++++++++++++++++++++++++++++++- 1 file changed, 183 insertions(+), 2 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/decmitfehler.tex b/buch/papers/reedsolomon/decmitfehler.tex index fead10e..923c1c5 100644 --- a/buch/papers/reedsolomon/decmitfehler.tex +++ b/buch/papers/reedsolomon/decmitfehler.tex @@ -6,11 +6,192 @@ \section{Decodierung mit Fehler \label{reedsolomon:section:decmitfehler}} \rhead{fehlerhafte rekonstruktion} -moin +Im zweiten Teil zur Decodierung betrachten wir den Fall, dass unser Übertragungskanal nicht fehlerfrei ist. +Wir legen daher den Fehlervektor +\[ +u = [0, 0, 0, 3, 0, 0, 0, 0, 2, 0] +\] +fest, den wir zu unserem Übertragungsvektor als Fehler dazu addieren und somit +\begin{center} + +\begin{tabular}{c | c r } + $v$ & & $[5,3,6,5,2,10,2,7,10,4]$\\ + $u$ & $+$ & $[0,0,0,3,0,0,0,0,2,0]$\\ + \hline + $w$ & & $[5,3,6,8,2,10,2,7,1,4]$\\ +\end{tabular} + +% alternative design +%\begin{tabular}{c | c cccccccccccc } +% $v$ & & $[$&$5,$&$3,$&$6,$&$5,$&$2,$&$10,$&$2,$&$7,$&$10,$&$4$&$]$\\ +% $u$ & $+$ & $[$&$0,$&$0,$&$0,$&$3,$&$0,$&$0,$&$0,$&$0,$&$2,$&$0$&$]$\\ +% \hline +% $w$ & & $[$&$5,$&$3,$&$6,$&$8,$&$2,$&$10,$&$2,$&$7,$&$1,$&$4$&$]$\\ +%\end{tabular} + +\end{center} +als Übertragungsvektor auf der Empfängerseite erhalten. + +Wenn wir den Übertragungsvektor jetzt Rücktransformieren wie im vorherigen Kapitel erhalten wir +\[ +r = [\underbrace{5,7,4,10,}_{Fehlerinfo}5,4,5,7,6,7]. +\] +Im Vergleich zum vorherigen Kapitel sind die Fehlerkorrekturstellen jetzt $\neq 0$, was bedeutet, dass wir diesen Übertragungsvektor fehlerhaft empfangen haben und sich die Nachricht jetzt nicht mehr so einfach decodieren lässt. + +% warum wir die fehler suchen +Da Reed-Solomon-Codes in der Lage sind, eine Nachricht aus weniger Stellen zu rekonstruieren als wir ursprünglich haben, so müssen wir nur die Fehlerhaften Stellen finden und eliminieren, damit wir unsere Nutzdaten rekonstruieren können. +Damit stellt sich die Frage, wie wir die Fehlerstellen $e$ finden. +Dafür wählen wir einen Primitiven Ansatz mit +\begin{align} + m(X) & = 4X^5 + 7X^4 + 2X^3 + 5X^2 + 8X + 1 \\ + r(X) & = 5X^9 + 7X^8 + 4X^7 + 10X^6 + 5X^5 + 4X^4 + 5X^3 + 7X^2 + 6X + 7 \\ + e(X) & = r(X) - m(X). +\end{align} +Setzen wir jetzt unsere Einheitswurzel für $X$ ein, so erhalten wir +\begin{center} +\begin{tabular}{c c c c c c c c c c c} + \hline + $i$& $0$& $1$& $2$& $3$& $4$& $5$& $6$& $7$& $8$& $9$\\ + \hline + $r(a^{i})$& $5$& $3$& $6$& $8$& $2$& $10$& $2$& $7$& $1$& $4$\\ + $m(a^{i})$& $5$& $3$& $6$& $5$& $2$& $10$& $2$& $7$& $10$& $4$\\ + $e(a^{i})$& $0$& $0$& $0$& $3$& $0$& $0$& $0$& $0$& $2$& $0$\\ + \hline +\end{tabular} +\end{center} +und damit die Information, dass an allen Stellen, die nicht Null sind, Fehler enthalten. +Um jetzt alle nicht Nullstellen zu finden, wenden wir den Satz von Fermat an. \subsection{Der Satz von Fermat \label{reedsolomon:subsection:fermat}} -wer ist fermat? +Der Satz von Fermat besagt, dass für +\[ +f(X) = X^{q-1} -1 = 0 +\] +gilt, egal was wir für $q$ einsetzen. + +Für unser Beispiel erhalten wir +\[ +f(X) = X^{10}-1 = 0 \qquad \text{für } X = \{1,2,3,4,5,6,7,8,9,10\} +\] +und können $f(X)$ auch umschreiben in +\[ +f(X) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9). +\] +Zur Überprüfung können wir unsere Einheitswurzel in $a$ einsetzen und werden sehen, dass wir für $f(X) = 0$ erhalten werden. +Nach der gleichen Überlegung können wir jetzt auch $e(X)$ darstellen als +\[ +e(X) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6)(X-a^7) \qquad \qquad (X-a^9) \cdot p(x), +\] +wobei $p(X)$ das Restpolynom ist und die Fehlerstellen beinhaltet. +Wenn wir jetzt den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen, so erhalten wir mit +\[ +\operatorname{ggT}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2) \qquad \qquad (X-a^4)(X-a^5)(X-a^6)(X-a^7) \qquad \qquad (X-a^9) +\] +eine Liste von Nullstellen, an denen es keine Fehler gegeben hat. +Da wir uns jedoch für eine Liste mit Nullstellen interessieren, an denen es Fehler gegeben hat berechnen wir stattdessen das kgV von $f(X)$ und $e(X)$ als +\[ +\operatorname{kgV}(f(X),e(X)) = (X-a^0)(X-a^1)(X-a^2)(X-a^3)(X-a^4)(X-a^5)(X-a^6)(X-a^7)(X-a^8)(X-a^9) \cdot q(X). +\] +Wir können das Resultat noch zerlegen in +\[ +\operatorname{kgV}(f(X),e(X)) = d(X) \cdot e(X). +\] +Somit muss $d(X)$ eine Liste von Nullstellen enthalten an denen es Fehler gegeben hat. +\[ +d(X) = (X-a^3)(X-a^8) +\] + + +und ist damit unser gesuchtes Lokatorpolynom. + +Das einzige Problem was jetzt noch bleibt ist, dass wir $e(X)$ berechnet haben aus +\[ +e(X) = r(X) - m(X), +\] +wobei $m(X)$ auf der Empfängerseite unbekannt ist. +Es sieht danach aus, das wir diesen Lösungsansatz nicht verwenden können, da uns ein entscheidender Teil fehlt. +Bei einer näheren Betrachtung von $m(X)$ fällt uns aber auf, dass wir doch etwas über $m(X)$ wissen. +Wir kennen nämlich die ersten vier Stellen, da diese für die Fehlerkorrektur zuständig sind und daher Null sein müssen. +\[ +m = [0,0,0,0,?,?,?,?,?,?] +\] +An genau diesen Stellen liegt auch die Information, wo unsere Fehlerstellen liegen, was uns ermöglicht, den Teil von $e(X)$ zu berechnen, der uns auch interessiert. + +Wir können $e(X)$ also bestimmen als +\[ +e(X) = 5X^9 + 7X^8 + 4X^7 + 10X^6 + p(X) +\] +wobei $p(X)$ wiederum ein unbekanntes Restpolynom ist und +\[ +f(X) = X^{10} - 1 = X^{10} + 10 +\] +ist können wir so in einer ersten Instanz den grössten gemeinsamen Teiler von $f(X)$ und $e(X)$ berechnen. +Dafür nehmen wir uns wiederum den Euklidischen Algorithmus zur Hilfe und berechnen so + +\[ +\arraycolsep=1.4pt +\begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + X^{10}& & & & & & &+& 10& & & & &:&5X^9&+&7X^8&+& 4X^7&+&10X^6&+&p(X)&=&9X&+&5\\ + X^{10}&+& 8X^9&+& 3X^8&+&2X^7&+& p(X)& & & & & & & & & & & & & & & & \\ \cline{1-9} + && 3X^9&+& 8X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ + && 3X^9&+& 2X^8&+& 9X^7&+& p(X)& & & & & & & & & & & & \\ \cline{3-9} + & & & &6X^8&+&0X^7&+&p(X)& & & & & & & & & & & & \\ +\end{array} +\] + +\[ +\arraycolsep=1.4pt +\begin{array}{rcrcrcrcccrcrcrcrcrcrcrcrcr} + 5X^9&+& 7X^8&+& 4X^7&+& 10X^6&+& p(X)& & & & &:&6X^8&+&0X^7& & & & & & &=&10X&+&3\\ + 5X^9&+& 0X^8&+& p(X)& & & & & & & & & & & & & & & & & & & & \\ \cline{1-5} + && 7X^8&+& p(X)& & & & & & & & & & & & & & & & \\ +\end{array} +\] +und erhalten +\[ +\operatorname{ggT}(f(X),e(X)) = 6X^8 +\] +Mit den Resultaten, die wir vom Rechenweg des grössten gemeinsamen Teiler erhalten haben können wir jetzt auch das kleinste Gemeinsame Vielfache berechnen. Eine detailliertere Vorgehensweise findet man in Kapitel ???. +Aus diesem erweiterten Euklidischen Algorithmus erhalten wir +\begin{center} + + \begin{tabular}{| c | c | c c |} + \hline + $k$ & $q_i$ & $e_i$ & $f_i$\\ + \hline + & & $0$& $1$\\ + $0$& $9X + 5$& $1$& $0$\\ + $1$& $10X + 3$& $9X+5$& $1$\\ + $2$& & \textcolor{blue}{$2X^2 + 0X + 5$}& $10X + 3$\\ + \hline + \end{tabular} + +\end{center} +und erhalten auf diesem Weg den Faktor +\[ +d(X) = 2X^2 + 5, +\] +den wir in +\[ +d(X) = 2(X-5)(X-6) +\] +zerlegen können. +Da die unbekannten Stellen im Lokatorpolynom +\[ +d(X) = (X-a^i)(X-a^i) +\] +sind, müssen wir nur noch $i$ berechnen als +\begin{center} + $a^i = 5 \qquad \Rightarrow \qquad i = 3$ + + $a^i = 6 \qquad \Rightarrow \qquad i = 8$. +\end{center} +Somit erhalten wir schliesslich +\[ +d(X) = (X-a^3)(X-a^8) +\] +als unser Lokatorpolynom mit den Fehlerhaften Stellen. \ No newline at end of file -- cgit v1.2.1 From 81527bd39cb20969fa3a84c85a843bca511dcb51 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Mon, 24 May 2021 17:18:21 +0200 Subject: created rekonstruktion.tex --- buch/papers/reedsolomon/rekonstruktion.tex | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 buch/papers/reedsolomon/rekonstruktion.tex (limited to 'buch') diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex new file mode 100644 index 0000000..a3edba4 --- /dev/null +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -0,0 +1,40 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Nachricht Rekonstruieren +\label{reedsolomon:section:rekonstruktion}} +\rhead{Teil 3} +Sed ut perspiciatis unde omnis iste natus error sit voluptatem +accusantium doloremque laudantium, totam rem aperiam, eaque ipsa +quae ab illo inventore veritatis et quasi architecto beatae vitae +dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit +aspernatur aut odit aut fugit, sed quia consequuntur magni dolores +eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam +est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci +velit, sed quia non numquam eius modi tempora incidunt ut labore +et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima +veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, +nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure +reprehenderit qui in ea voluptate velit esse quam nihil molestiae +consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla +pariatur? + +\subsection{De finibus bonorum et malorum +\label{reedsolomon:subsection:malorum}} +At vero eos et accusamus et iusto odio dignissimos ducimus qui +blanditiis praesentium voluptatum deleniti atque corrupti quos +dolores et quas molestias excepturi sint occaecati cupiditate non +provident, similique sunt in culpa qui officia deserunt mollitia +animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis +est et expedita distinctio. Nam libero tempore, cum soluta nobis +est eligendi optio cumque nihil impedit quo minus id quod maxime +placeat facere possimus, omnis voluptas assumenda est, omnis dolor +repellendus. Temporibus autem quibusdam et aut officiis debitis aut +rerum necessitatibus saepe eveniet ut et voluptates repudiandae +sint et molestiae non recusandae. Itaque earum rerum hic tenetur a +sapiente delectus, ut aut reiciendis voluptatibus maiores alias +consequatur aut perferendis doloribus asperiores repellat. + + -- cgit v1.2.1 From e86e0ad0e4415450a9c8b28917024ee6d0d77da5 Mon Sep 17 00:00:00 2001 From: michael-OST <75078383+michael-OST@users.noreply.github.com> Date: Fri, 28 May 2021 15:23:51 +0200 Subject: text added --- buch/papers/reedsolomon/rekonstruktion.tex | 204 ++++++++++++++++++++++++----- 1 file changed, 174 insertions(+), 30 deletions(-) (limited to 'buch') diff --git a/buch/papers/reedsolomon/rekonstruktion.tex b/buch/papers/reedsolomon/rekonstruktion.tex index a3edba4..8cb7744 100644 --- a/buch/papers/reedsolomon/rekonstruktion.tex +++ b/buch/papers/reedsolomon/rekonstruktion.tex @@ -5,36 +5,180 @@ % \section{Nachricht Rekonstruieren \label{reedsolomon:section:rekonstruktion}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? +\rhead{Rekonstruktion} +Im letzten Kapitel haben wir eine Möglichkeit gefunden, wie wir die Fehlerhaften Stellen lokalisieren können. +Mit diesen Stellen soll es uns nun möglich sein, aus dem fehlerhaften empfangenen Nachrichtenvektor wieder unsere Nachricht zu rekonstruieren. +Das Lokatorpolynom +\[ +d(X) = (X - a^3)(X-a^8) +\] +markiert dabei diese Fehlerhaften Stellen im Übertragungsvektor +\[ +w = [5,3,6,8,2,10,2,7,1,4]. +\] +Als Ausgangslage verwenden wir die Matrix, mit der wir den Nachrichtenvektor ursprünglich codiert haben. +Unser Ziel ist es wie auch schon im Kapitel X.X (Rekonstuktion ohne Fehler) eine Möglichkeit zu finden, wie wir den Übertragungsvektor decodieren können. +Aufgrund der Fehlerstellen müssen wir aber davon ausgehen, das wir nicht mehr den gleichen Weg verfolgen können wie wir im Kapitel X.X angewendet haben. -\subsection{De finibus bonorum et malorum -\label{reedsolomon:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. +Wir stellen also die Matrix auf und markieren gleichzeitig die Fehlerstellen. +\[ +\textcolor{gray}{ + \begin{pmatrix} + a^0 \\ a^1 \\ a^2 \\ \textcolor{red}{a^3} \\ a^4 \\ a^5 \\ a^6 \\ a^7 \\ \textcolor{red}{a^8} \\ a^9 \\ +\end{pmatrix}} +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ \textcolor{red}{8} \\ 2 \\ 10 \\ 2 \\ 7 \\ \textcolor{red}{1} \\ 4 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^3}& \textcolor{red}{8^6}& \textcolor{red}{8^9}& \textcolor{red}{8^{12}}& \textcolor{red}{8^{15}}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{27}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^8}& \textcolor{red}{8^{16}}& \textcolor{red}{8^{24}}& \textcolor{red}{8^{32}}& \textcolor{red}{8^{40}}& \textcolor{red}{8^{48}}& \textcolor{red}{8^{56}}& \textcolor{red}{8^{64}}& \textcolor{red}{8^{72}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ +\end{pmatrix} +\] +Die rot markierten Stellen im Übertragungsvektor enthalten Fehler und bringt uns daher kein weiterer Nutzen. +Aus diesem Grund werden diese Stellen aus dem Vektor entfernt, was wir hier ohne Probleme machen können, da dieser Code ja über Fehlerkorrekturstellen verfügt, deren Aufgabe es ist, eine bestimmte Anzahl an Fehler kompensieren zu können. +Die dazugehörigen Zeilen in der Matrix werden ebenfalls entfernt, da die Matrix gleich viele Zeilen wie im Übertragungsvektor aufweisen muss, damit man ihn decodieren kann. +Daraus resultiert +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& 8^6& 8^7& 8^8& 8^9\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& 8^{12}& 8^{14}& 8^{16}& 8^{18}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& 8^{24}& 8^{28}& 8^{32}& 8^{36}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& 8^{30}& 8^{35}& 8^{40}& 8^{45}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& 8^{36}& 8^{42}& 8^{48}& 8^{54}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& 8^{42}& 8^{49}& 8^{56}& 8^{63}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& 8^{54}& 8^{63}& 8^{72}& 8^{81}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ m_6 \\ m_7 \\ m_8 \\ m_9 \\ +\end{pmatrix} +. +\] +Die Matrix ist jedoch nicht mehr quadratisch, was eine Rekonstruktion durch Inversion ausschliesst. +Um die quadratische Form wieder herzustellen müssen wir zwei Spalten aus der Matrix entfernen. +Wir kennen aber das Resultat aus den letzten vier Spalten, da wir wissen, das die Nachricht aus Nutzdatenteil und Fehlerkorrekturteil besteht, wobei der letzteres bekanntlich aus lauter Nullstellen besteht. +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ 7 \\ 4 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}& \textcolor{green}{8^0}\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5& \textcolor{green}{8^6}& \textcolor{green}{8^7}& \textcolor{green}{8^8}& \textcolor{green}{8^9}\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}& \textcolor{green}{8^{12}}& \textcolor{green}{8^{14}}& \textcolor{green}{8^{16}}& \textcolor{green}{8^{18}}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}& \textcolor{green}{8^{24}}& \textcolor{green}{8^{28}}& \textcolor{green}{8^{32}}& \textcolor{green}{8^{36}}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}& \textcolor{green}{8^{30}}& \textcolor{green}{8^{35}}& \textcolor{green}{8^{40}}& \textcolor{green}{8^{45}}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}& \textcolor{green}{8^{36}}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{48}}& \textcolor{green}{8^{54}}\\ + 8^0& 8^7& 8^{14}& 8^{21}& 8^{28}& 8^{35}& \textcolor{green}{8^{42}}& \textcolor{green}{8^{49}}& \textcolor{green}{8^{56}}& \textcolor{green}{8^{63}}\\ + 8^0& 8^9& 8^{18}& 8^{27}& 8^{36}& 8^{45}& \textcolor{green}{8^{54}}& \textcolor{green}{8^{63}}& \textcolor{green}{8^{72}}& \textcolor{green}{8^{81}}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ \textcolor{green}{m_6} \\ \textcolor{green}{m_7} \\ \textcolor{green}{m_8} \\ \textcolor{green}{m_9} \\ +\end{pmatrix} +\] +Wir nehmen die Entsprechenden Spalten aus der Matrix heraus und erhalten so das Überbestimmte Gleichungssystem +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ \textcolor{red}{7} \\ \textcolor{red}{4} \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^7}& \textcolor{red}{8^{14}}& \textcolor{red}{8^{21}}& \textcolor{red}{8^{28}}& \textcolor{red}{8^{35}}\\ + \textcolor{red}{8^0}& \textcolor{red}{8^9}& \textcolor{red}{8^{18}}& \textcolor{red}{8^{27}}& \textcolor{red}{8^{36}}& \textcolor{red}{8^{45}}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} +. +\] +Die roten Zeilen können wir aufgrund der Überbestimmtheit ebenfalls entfernen und erhalten so die gesuchte quadratische Matrix +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ +\end{pmatrix} += +\begin{pmatrix} + 8^0& 8^0& 8^0& 8^0& 8^0& 8^0\\ + 8^0& 8^1& 8^2& 8^3& 8^4& 8^5\\ + 8^0& 8^2& 8^4& 8^6& 8^8& 8^{10}\\ + 8^0& 8^4& 8^8& 8^{12}& 8^{16}& 8^{20}\\ + 8^0& 8^5& 8^{10}& 8^{15}& 8^{20}& 8^{25}\\ + 8^0& 8^6& 8^{12}& 8^{18}& 8^{24}& 8^{30}\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} +. +\] +Nun können wir den Gauss-Algorithmus anwenden um die Matrix zu Invertieren. +\[ +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ +\end{pmatrix} += +\begin{pmatrix} + 1& 1& 1& 1& 1& 1\\ + 1& 8& 9& 6& 4& 10\\ + 1& 9& 4& 3& 5& 1\\ + 1& 4& 5& 9& 3& 1\\ + 1& 10& 1& 10& 1& 10\\ + 1& 3& 9& 5& 4& 1\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} +\qquad +\Rightarrow +\qquad +\begin{pmatrix} + m_0 \\ m_1 \\ m_2 \\ m_3 \\ m_4 \\ m_5 \\ +\end{pmatrix} += +\begin{pmatrix} + 6& 4& 4& 6& 2& 1\\ + 2& 7& 10& 3& 4& 7\\ + 1& 8& 9& 8& 3& 4\\ + 3& 6& 6& 4& 5& 9\\ + 10& 10& 9& 8& 1& 6\\ + 1& 9& 6& 4& 7& 6\\ +\end{pmatrix} +\cdot +\begin{pmatrix} + 5 \\ 3 \\ 6 \\ 2 \\ 10 \\ 2 \\ +\end{pmatrix} +\] +Multiplizieren wir nun aus, erhalten wir unseren Nutzdatenteil +\[ +m = [4,7,2,5,8,1] +\] +zurück, den wir ursprünglich versendet haben. -- cgit v1.2.1