From 588ba7c095b15178deedd7aed4713d66a8cf4da7 Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Wed, 14 Apr 2021 22:29:43 +0200 Subject: =?UTF-8?q?Slides=20f=C3=BCr=20Vorlesung=20DGL=20begonnen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vorlesungen/slides/10/n-zu-1.tex | 54 +++++++++++ vorlesungen/slides/10/taylor.tex | 195 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 249 insertions(+) create mode 100644 vorlesungen/slides/10/n-zu-1.tex create mode 100644 vorlesungen/slides/10/taylor.tex (limited to 'vorlesungen/slides') diff --git a/vorlesungen/slides/10/n-zu-1.tex b/vorlesungen/slides/10/n-zu-1.tex new file mode 100644 index 0000000..e3fffe9 --- /dev/null +++ b/vorlesungen/slides/10/n-zu-1.tex @@ -0,0 +1,54 @@ +% +% n-zu-1.tex -- Umwandlend einer DGL n-ter Ordnung in ein System 1. Ordnung +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt: 2021-04-14, Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Reicht $1.$ Ordnung?} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Beispiel: DGL 3.~Ordnung} \vspace*{-1ex} + \begin{align*} + x^{(3)} + a_2 \ddot x + a_1 \dot x + a_0 x = 0 \\ + \Rightarrow + x^{(3)} = -a_2 \ddot x - a_1 \dot x - a_0 x + \end{align*} +\end{block} +\begin{block}{Ziel: Nur noch 1.~Ableitungen} + Einführen neuer Variablen: + \begin{align*} + x_0 &\coloneqq x & + x_1 &\coloneqq \dot x & + x_2 &\coloneqq \ddot x + \end{align*} +System von Gleichungen 1.~Ordnung + \begin{align*} + \dot x_0 &= x_1 \\ + \dot x_1 &= x_2 \\ + \dot x_2 &= -a_2 x_2 - a_1 x_1 - a_0 x_0 +\end{align*} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Als Vektor-Gleichung} \vspace*{-1ex} + \begin{align*} + \frac{d}{dt} + \begin{pmatrix} x_0 \\ x_1 \\ x_2 \end{pmatrix} + = \begin{pmatrix} + 0 & 1 & 0 \\ + 0 & 0 & 1 \\ + -a_0 & -a_1 & -a_2 + \end{pmatrix} + \begin{pmatrix} x_0 \\ x_1 \\ x_2 \end{pmatrix} + \end{align*} +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/10/taylor.tex b/vorlesungen/slides/10/taylor.tex new file mode 100644 index 0000000..8912cb7 --- /dev/null +++ b/vorlesungen/slides/10/taylor.tex @@ -0,0 +1,195 @@ +% +% eindiomensional.tex -- Lösung der eindimensionalen DGL +% +% (c) 2021 Roy Seitz, Hochschule Rapperswil +% +% !TeX spellcheck = de_CH +\bgroup + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Beispiel $\sin x$} + \vspace{-20pt} + %\onslide<+-> + \begin{block}{Taylor-Approximationen von $\sin x$} + \begin{align*} + p_n(x) + &= + \uncover<1->{0} + \uncover<2->{+ x} + \uncover<3->{+ 0 \frac{x^2}{2!}} + \uncover<4->{- 1 \frac{x^3}{3!}} + \uncover<5->{+ 0 \frac{x^4}{4!}} + \uncover<6->{+ 1 \frac{x^5}{5!}} + \uncover<7->{+ \ldots} + \uncover<8->{ + = \sum_{k=0}^{n/2} (-1)^{2k + 1}\frac{x^{2k+1}}{(2k+1)!} + } + \end{align*} + \end{block} + \begin{center} + \begin{tikzpicture}[>=latex,thick,scale=1.3] + \draw[->] (-5.0, 0.0) -- (5.0,0.0) coordinate[label=$x$]; + \draw[->] ( 0.0,-1.5) -- (0.0,1.5); + \clip (-5,-1.5) rectangle (5,1.5); + \draw[domain=-4:4, samples=50, smooth, blue] + plot ({\x}, {sin(180/3.1415968*\x)}) + node[above right] {$\sin(x)$}; + \uncover<1>{ + \draw[domain=-4:4, samples=2, smooth, red] + plot ({\x}, {0}) + node[above right] {$p_0(x)$};} + \uncover<2>{ + \draw[domain=-1.5:1.5, samples=2, smooth, red] + plot ({\x}, {\x}) + node[below right] {$p_1(x)$};} + \uncover<3>{ + \draw[domain=-1.5:1.5, samples=2, smooth, red] + plot ({\x}, {\x}) + node[below right] {$p_2(x)$};} + \uncover<4>{ + \draw[domain=-3:3, samples=50, smooth, red] + plot ({\x}, {\x - \x*\x*\x/6}) + node[above right] {$p_3(x)$};} + \uncover<5>{ + \draw[domain=-3:3, samples=50, smooth, red] + plot ({\x}, {\x - \x*\x*\x/6}) + node[above right] {$p_4(x)$};} + \uncover<6>{ + \draw[domain=-3.9:3.9, samples=50, smooth, red] + plot ({\x}, {\x - \x*\x*\x/6 + \x*\x*\x*\x*\x/120}) + node[below right] {$p_5(x)$};} + \uncover<7>{ + \draw[domain=-3.9:3.9, samples=50, smooth, red] + plot ({\x}, {\x - \x*\x*\x/6 + \x*\x*\x*\x*\x/120}) + node[below right] {$p_6(x)$};} + \uncover<8->{ + \draw[domain=-4:4, samples=50, smooth, red] + plot ({\x}, {\x - \x*\x*\x/6 + \x*\x*\x*\x*\x/120 - + \x*\x*\x*\x*\x*\x*\x/5040}) + node[above right] {$p_7(x)$};} + \end{tikzpicture} + \end{center} +\end{frame} + + +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Taylor-Reihen} +\vspace{-20pt} +\onslide<+-> + \begin{block}{Polynom-Approximationen von $f(t)$} + \vspace{-15pt} + \begin{align*} + p_n(t) + &= + f(0) + + f'(0) t + + f''(0)\frac{t^2}{2} + + f^{(3)}(0)\frac{t^3}{3!} + + \ldots + + f^{(n)}(0) \frac{t^n}{n!} + = + \sum_{k=0}^{n} f^{(k)} \frac{t^k}{k!} + \end{align*} + \end{block} + \begin{block}{Die ersten $n$ Ableitungen von $f(0)$ und $p_n(0)$ sind gleich!} + \vspace{-15pt} + \begin{align*} + p'_n(t) + &= + f'(0) + + f''(0)t + + f^{(3)}(0) \frac{t^2}{2!} + + \mathcal O(t^3) + &\Rightarrow&& + p'_n(0) = f'(0) + \\ + p''_n(0) + &= + f''(0) + f^{(3)}(0)t + \ldots + f^{(n)}(0) \frac{t^{n-2}}{(n-2)!} + &\Rightarrow&& + p''_n(0) = f''(0) + \end{align*} + \end{block} + \begin{block}{Für unendlich lange Polynome stimmen alle Ableitungen überein!} + \vspace{-15pt} + \begin{align*} + \lim_{n\to \infty} p_n(t) + = + f(t) + \end{align*} + \end{block} +\end{frame} + + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Beispiel $\exp x$} + \vspace{-20pt} + %\onslide<+-> + \begin{block}{Taylor-Approximationen von $\exp x$} + \begin{align*} + p_n(x) + = + 1 + \uncover<1->{+ x} + \uncover<2->{+ \frac{x^2}{2}} + \uncover<3->{+ \frac{x^3}{3!}} + \uncover<4->{+ \frac{x^4}{4!}} + \uncover<5->{+ \frac{x^5}{5!}} + \uncover<6->{+ \frac{x^6}{6!}} + \uncover<7->{+ \ldots + = \sum_{k=0}^{n} \frac{x^k}{k!}} + \end{align*} + \end{block} + \begin{center} + \begin{tikzpicture}[>=latex,thick,scale=1.3] + \draw[->] (-4.0, 0.0) -- (4.0,0.0) coordinate[label=$x$]; + \draw[->] ( 0.0,-0.5) -- (0.0,2.5); + \clip (-3,-0.5) rectangle (3,2.5); + \draw[domain=-4:1, samples=50, smooth, blue] + plot ({\x}, {exp(\x)}) + node[above right] {$\exp(x)$}; + \uncover<1>{ + \draw[domain=-4:1.5, samples=10, smooth, red] + plot ({\x}, {1 + \x}) + node[below right] {$p_1(x)$};} + \uncover<2>{ + \draw[domain=-4:1, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2}) + node[below right] {$p_2(x)$};} + \uncover<3>{ + \draw[domain=-4:1, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6}) + node[below right] {$p_3(x)$};} + \uncover<4>{ + \draw[domain=-4:0.9, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24}) + node[below left] {$p_4(x)$};} + \uncover<5>{ + \draw[domain=-4:0.9, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + + \x*\x*\x*\x*\x/120}) + node[below left] {$p_5(x)$};} + \uncover<6>{ + \draw[domain=-4:0.9, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + + \x*\x*\x*\x*\x/120 + + \x*\x*\x*\x*\x*\x/720}) + node[below left] {$p_6(x)$};} + \uncover<7>{ + \draw[domain=-4:0.9, samples=50, smooth, red] + plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + + \x*\x*\x*\x*\x/120 + + \x*\x*\x*\x*\x*\x/720 + + \x*\x*\x*\x*\x*\x*\x/5040}) + node[below left] {$p_7(x)$};} + \end{tikzpicture} + \end{center} +\end{frame} + +\egroup -- cgit v1.2.1 From c8a276fee03f789becc6b412d29e2358903152a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 15 Apr 2021 11:13:29 +0200 Subject: add devide and conquor slides --- vorlesungen/slides/Makefile.inc | 3 +- vorlesungen/slides/a/Makefile.inc | 12 +++++ vorlesungen/slides/a/chapter.tex | 11 +++++ vorlesungen/slides/a/dc/beispiel.tex | 54 ++++++++++++++++++++++ vorlesungen/slides/a/dc/effizient.tex | 65 ++++++++++++++++++++++++++ vorlesungen/slides/a/dc/naiv.txt | 2 + vorlesungen/slides/a/dc/prinzip.tex | 86 +++++++++++++++++++++++++++++++++++ vorlesungen/slides/test.tex | 41 +++++------------ 8 files changed, 243 insertions(+), 31 deletions(-) create mode 100644 vorlesungen/slides/a/Makefile.inc create mode 100644 vorlesungen/slides/a/chapter.tex create mode 100644 vorlesungen/slides/a/dc/beispiel.tex create mode 100644 vorlesungen/slides/a/dc/effizient.tex create mode 100644 vorlesungen/slides/a/dc/naiv.txt create mode 100644 vorlesungen/slides/a/dc/prinzip.tex (limited to 'vorlesungen/slides') diff --git a/vorlesungen/slides/Makefile.inc b/vorlesungen/slides/Makefile.inc index e2271b8..0f5fa8c 100644 --- a/vorlesungen/slides/Makefile.inc +++ b/vorlesungen/slides/Makefile.inc @@ -12,7 +12,8 @@ include ../slides/5/Makefile.inc include ../slides/7/Makefile.inc include ../slides/8/Makefile.inc include ../slides/9/Makefile.inc +include ../slides/a/Makefile.inc slides = \ $(chapter0) $(chapter1) $(chapter2) $(chapter3) $(chapter4) \ - $(chapter5) $(chapter7) $(chapter8) $(chapter9) + $(chapter5) $(chapter7) $(chapter8) $(chapter9) $(chaptera) diff --git a/vorlesungen/slides/a/Makefile.inc b/vorlesungen/slides/a/Makefile.inc new file mode 100644 index 0000000..9b88c8f --- /dev/null +++ b/vorlesungen/slides/a/Makefile.inc @@ -0,0 +1,12 @@ + +# +# Makefile.inc -- additional depencencies +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +chaptera = \ + ../slides/a/dc/prinzip.tex \ + ../slides/a/dc/effizient.tex \ + ../slides/a/dc/beispiel.tex \ + ../slides/a/chapter.tex + diff --git a/vorlesungen/slides/a/chapter.tex b/vorlesungen/slides/a/chapter.tex new file mode 100644 index 0000000..f03ca19 --- /dev/null +++ b/vorlesungen/slides/a/chapter.tex @@ -0,0 +1,11 @@ +% +% chapter.tex +% +% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswi +% + +\folie{a/dc/prinzip.tex} +\folie{a/dc/effizient.tex} +\folie{a/dc/beispiel.tex} + + diff --git a/vorlesungen/slides/a/dc/beispiel.tex b/vorlesungen/slides/a/dc/beispiel.tex new file mode 100644 index 0000000..4c99e9e --- /dev/null +++ b/vorlesungen/slides/a/dc/beispiel.tex @@ -0,0 +1,54 @@ +% +% beispiel.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\def\u#1#2{\uncover<#1->{#2}} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Beispiel} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Aufgabe} +Berechne $1291^{17}\in\mathbb{F}_{2027}$ +\end{block} +\uncover<2->{% +\begin{block}{Exponent} +\vspace{-10pt} +\[ +17 = 2^4 + 1 += +\texttt{10001}_2 += +\texttt{0x11} +\] +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<3->{% +\begin{block}{Divide-and-Conquor} +\begin{center} +\begin{tabular}{|>{$}r<{$}>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} +\hline +i&2^i& a^{2^i} & n & n_i & m \\ +\hline +0& 1& 1291 & 17 & \u{4}{1}&\u{5}{ 1291}\\ +1& 2& \u{6}{ 487}& \u{7}{8}& \u{8}{0}& \u{9}{\color{gray}1291}\\ +2& 4&\u{10}{ 10}&\u{11}{4}&\u{12}{0}&\u{13}{\color{gray}1291}\\ +3& 8&\u{14}{ 100}&\u{15}{2}&\u{16}{0}&\u{17}{\color{gray}1291}\\ +4& 16&\u{18}{1892}&\u{19}{1}&\u{20}{1}&\u{21}{ 37}\\ +\hline +\end{tabular} +\end{center} +\end{block}} +\uncover<22->{% +\begin{block}{Resultat} +\(1291^{17} \equiv 37\mod 2027\) +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/dc/effizient.tex b/vorlesungen/slides/a/dc/effizient.tex new file mode 100644 index 0000000..327ee7e --- /dev/null +++ b/vorlesungen/slides/a/dc/effizient.tex @@ -0,0 +1,65 @@ +% +% effizient.tex -- Effiziente Berechnung der Potenz +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\definecolor{darkgreen}{rgb}{0,0.6,0} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Effiziente Berechnung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Prinzip} +\begin{enumerate} +\item<3-> {\color{red}Bits mit Shift isolieren} +\item<4-> {\color{blue}Laufend reduzieren} +\item<5-> {\color{darkgreen}effizient quadrieren} +\end{enumerate} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Algorithmus} +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\uncover<3->{ +\fill[color=red!20] (2.3,-2.44) rectangle (3.8,-1.98); +\fill[color=red!20] (1.45,-3.88) rectangle (3.2,-3.42); +} +\uncover<4->{ +\fill[color=blue!20] (2.15,-2.94) rectangle (3.7,-2.48); +} +\uncover<5->{ +\fill[color=darkgreen!20] (1.45,-4.37) rectangle (3.8,-3.91); +} +\node at (0,0) [below right] {\begin{minipage}{6cm}\obeylines +{\tt int potenz(int $a$, int $n$) \{}\\ +\hspace*{0.7cm}{\tt int m = 1;}\\ +\hspace*{0.7cm}{\tt int q = $a$;}\\ +\uncover<2->{% +\hspace*{0.7cm}{\tt while ($n$ > 0) \{}\\ +\uncover<3->{% +\hspace*{1.4cm}{\tt if (0x1 \& $n$) \{}\\ +\uncover<4->{% +\hspace*{2.1cm}{\tt m *= q;}\\ +}% +\hspace*{1.4cm}{\tt \}}\\ +\hspace*{1.4cm}{\tt $n$ >{}>= 1;}\\ +}% +\uncover<5->{% +\hspace*{1.4cm}{\tt q = sqr(q);}\\ +}% +\hspace*{0.7cm}{\tt \}}\\ +}% +\hspace*{0.7cm}{\tt return m;}\\ +{\tt \}} +\end{minipage}}; +\end{tikzpicture} +\end{center} +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/dc/naiv.txt b/vorlesungen/slides/a/dc/naiv.txt new file mode 100644 index 0000000..bf5569d --- /dev/null +++ b/vorlesungen/slides/a/dc/naiv.txt @@ -0,0 +1,2 @@ +int m = 1, i = 0; +while (i++ < n) { m *= a; } diff --git a/vorlesungen/slides/a/dc/prinzip.tex b/vorlesungen/slides/a/dc/prinzip.tex new file mode 100644 index 0000000..c75af61 --- /dev/null +++ b/vorlesungen/slides/a/dc/prinzip.tex @@ -0,0 +1,86 @@ +% +% prinzip.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Potenzieren $\mod p$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Aufgabe} +Berechne $a^n\in\mathbb{F}_p$ für grosses $n$ +\end{block} +\uncover<2->{% +\begin{block}{Mengengerüst} +\( +\log_2 n > 2000 +\) +\\ +\uncover<3->{% +RSA mit $N=pq$: Exponenten sind $e,d$, $e$ klein, aber +\( +ed\equiv 1 \mod \varphi(N) +\)} +\end{block}} +\uncover<4->{% +\begin{block}{Naive Idee} +\verbatiminput{../slides/a/dc/naiv.txt} +Laufzeit: $O(n) \uncover<5->{= O(2^{\log_2n})}$% +\uncover<5->{, d.~h.~exponentiell in der Bitlänge von $n$} +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{Idee 1: Exponent binär schreiben} +\vspace{-12pt} +\[ +n = n_k2^k + n_{k-1}2^{k-1} + \dots +n_12^1 + n_02^0 +\] +\end{block}} +\vspace{-5pt} +\uncover<7->{% +\begin{block}{Idee 2: Potenzgesetze} +\vspace{-12pt} +\[ +a^n += +a^{n_k2^k} +a^{n_{k-1}2^k} +\dots +a^{n_12^1} +a^{n_02^0} +\uncover<8->{= +\prod_{n_i = 1} +a^{2^i}} +\] +\end{block}} +\vspace{-15pt} +\uncover<9->{% +\begin{block}{Idee 3: Quadrieren} +\vspace{-10pt} +\begin{align*} +a^{2^i} +&= +a^{2\cdot 2^{i-1}} +\uncover<10->{= +(a^{2^{i-1}})^2} +\\ +&\uncover<11->{= +(\dots(a\underbrace{\mathstrut^2)^2\dots)^2}_{\displaystyle i}} +\end{align*} +\end{block}} +\vspace{-18pt} +\uncover<12->{% +\begin{block}{Laufzeit} +Multiplikationen: $\le 2 \cdot(\log_2(n) - 1)$ +\\ +\uncover<13->{Worst case Laufzeit: $O(\log_2 n)$} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index 4673f76..ffd492c 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -4,36 +4,17 @@ % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Matrizen-Gruppen} -% Was sind Symmetrien -%\folie{7/symmetrien.tex} -% Algebraische Bedingungen für Matrixgruppen -%\folie{7/algebraisch.tex} -% Parametrisierung, Beispiel SO(3) -%\folie{7/parameter.tex} -% Mannigfaltigkeiten -%\folie{7/mannigfaltigkeit.tex} -% Weitere Beispiele -% SL_2(R) -%\folie{7/sl2.tex} -\folie{7/drehung.tex} -%\folie{7/drehanim.tex} -% Semidirekte Produkte SO(2) x R^2, R^+ x R -%\folie{7/semi.tex} +\folie{a/dc/prinzip.tex} +\folie{a/dc/effizient.tex} +\folie{a/dc/beispiel.tex} -\section{Ableitungen} -% Kurven in einer Gruppe -%\folie{7/kurven.tex} -% Einparameter-Gruppen -%\folie{7/einparameter.tex} -% Ableitung einer Einparameter-Gruppe -%\folie{7/ableitung.tex} -% Lie-Algebra -%\folie{7/liealgebra.tex} -% Kommutator -%\folie{7/kommutator.tex} +%\folie{a/ecc/gruppendh.tex} +%\folie{a/ecc/kurve.tex} +%\folie{a/ecc/operation.tex} +%\folie{a/ecc/quadrieren.tex} -\section{Exponentialabbildung} -% Differentialgleichung für die Exponentialabbildung -%\folie{7/dg.tex} +%\folie{a/aes/bytes.tex} +%\folie{a/aes/blockes.tex} +%\folie{a/aes/kays.tex} +%\folie{a/aes/runden.tex} -- cgit v1.2.1 From d83ad723f1f7e5fc30f5e0e4f87a77668aac0918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 15 Apr 2021 12:16:19 +0200 Subject: more ec slides --- vorlesungen/slides/a/Makefile.inc | 6 +++- vorlesungen/slides/a/chapter.tex | 3 ++ vorlesungen/slides/a/ecc/gruppendh.tex | 51 +++++++++++++++++++++++++++++++ vorlesungen/slides/a/ecc/inverse.tex | 48 +++++++++++++++++++++++++++++ vorlesungen/slides/a/ecc/kurve.tex | 56 ++++++++++++++++++++++++++++++++++ vorlesungen/slides/test.tex | 9 +++--- 6 files changed, 168 insertions(+), 5 deletions(-) create mode 100644 vorlesungen/slides/a/ecc/gruppendh.tex create mode 100644 vorlesungen/slides/a/ecc/inverse.tex create mode 100644 vorlesungen/slides/a/ecc/kurve.tex (limited to 'vorlesungen/slides') diff --git a/vorlesungen/slides/a/Makefile.inc b/vorlesungen/slides/a/Makefile.inc index 9b88c8f..45e22fc 100644 --- a/vorlesungen/slides/a/Makefile.inc +++ b/vorlesungen/slides/a/Makefile.inc @@ -1,4 +1,3 @@ - # # Makefile.inc -- additional depencencies # @@ -8,5 +7,10 @@ chaptera = \ ../slides/a/dc/prinzip.tex \ ../slides/a/dc/effizient.tex \ ../slides/a/dc/beispiel.tex \ + \ + ../slides/a/ecc/gruppendh.tex \ + ../slides/a/ecc/kurve.tex \ + ../slides/a/ecc/inverse.tex \ + \ ../slides/a/chapter.tex diff --git a/vorlesungen/slides/a/chapter.tex b/vorlesungen/slides/a/chapter.tex index f03ca19..270aa0d 100644 --- a/vorlesungen/slides/a/chapter.tex +++ b/vorlesungen/slides/a/chapter.tex @@ -8,4 +8,7 @@ \folie{a/dc/effizient.tex} \folie{a/dc/beispiel.tex} +\folie{a/ecc/gruppendh.tex} +\folie{a/ecc/kurve.tex} +\folie{a/ecc/inverse.tex} diff --git a/vorlesungen/slides/a/ecc/gruppendh.tex b/vorlesungen/slides/a/ecc/gruppendh.tex new file mode 100644 index 0000000..13d85c8 --- /dev/null +++ b/vorlesungen/slides/a/ecc/gruppendh.tex @@ -0,0 +1,51 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Diffie-Hellmann verallgemeinern} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Diffie-Hellman in $\mathbb{F}_p$\strut} +\begin{enumerate} +\item<2-> Parteien einigen sich auf $g\in \mathbb{F}_p$, $g\ne 0$, $g\ne 1$ +\item<3-> $A$ und $B$ wählen Exponenten $a,b\in \mathbb{N}$ +\item<4-> Parteien tauschen $u=g^a$ und $v=g^b$ aus +\item<5-> Parteien berechnen $v^a$ und $u^b$ +\[ +v^a = (g^b)^a = g^{ab} =(g^a)^b = u^b +\] +gemeinsamer privater Schlüssel +\end{enumerate} +\end{block} +\uncover<11->{% +{\usebeamercolor[fg]{title}Spezialfall:} $G=\mathbb{F}_p^*$ +} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{Diffie-Hellmann in $G$\strut} +\begin{enumerate} +\item<7-> Parteien einigen sich auf $g\in G$, $g\ne e$ +\item<8-> $A$ und $B$ wählen Exponenten $a,b\in \mathbb{N}$ +\item<9-> Parteien tauschen $u=g^a$ und $v=g^b$ aus +\item<10-> Parteien berechnen $v^a$ und $u^b$ +\[ +v^a = (g^b)^a = g^{ab} =(g^a)^b = u^b +\] +gemeinsamer privater Schlüssel +\end{enumerate} +\end{block}} +\uncover<12->{% +{\usebeamercolor[fg]{title}Idee:} Wähle effizient zu berechnende, ``grosse'' +Gruppen, mit ``komplizierter'' Multiplikation +} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/inverse.tex b/vorlesungen/slides/a/ecc/inverse.tex new file mode 100644 index 0000000..f66101d --- /dev/null +++ b/vorlesungen/slides/a/ecc/inverse.tex @@ -0,0 +1,48 @@ +% +% inverse.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Involution/Inverse} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/elliptic.pdf} +\end{center} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{In speziellen Koordinaten} +\vspace{-12pt} +\[ +v^2 = u^3+Au+B +\] +\uncover<2->{invariant unter $v\mapsto -v$}% +\\ +\uncover<3->{{\color{red}geht nicht in $\mathbb{F}_2$}} +\end{block} +\uncover<4->{% +\begin{block}{Allgemein} +\vspace{-12pt} +\begin{align*} +Y^2+XY &= X^3 + aX+b +\\ +\uncover<5->{% +Y(Y+X) &= X^3 + aX + b} +\end{align*} +\uncover<6->{invariant unter} +\begin{align*} +\uncover<7->{X&\mapsto X,& Y&\mapsto -X-Y} +\\ +\uncover<8->{&&\Rightarrow X+Y&\mapsto -Y} +\end{align*} +Spezialfall $\mathbb{F}_2$: $Y\leftrightarrow X+Y$ +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/kurve.tex b/vorlesungen/slides/a/ecc/kurve.tex new file mode 100644 index 0000000..9cf1aa2 --- /dev/null +++ b/vorlesungen/slides/a/ecc/kurve.tex @@ -0,0 +1,56 @@ +% +% kurve.tex -- elliptische Kurven +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Kubische Kurven} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{center} +\uncover<5->{% +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/elliptic.pdf} +} +\end{center} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Allgemein} +mit $a,b\in\Bbbk$ +\[ +Y^2 + XY = X^3 + aX + b +\] +\end{block} +\vspace{-10pt} +\uncover<2->{% +\begin{block}{Spezielle Parametrisierung} +\vspace{-10pt} +\begin{align*} +Y^2 + XY + \frac14X^2 +&= +X^3 + \frac14X^2 + aX + b +\\ +\uncover<3->{ +(Y+\frac12X)^2 +&= +X^3 + \frac14X^2 + aX + b +}\\ +\uncover<4->{ +v^2 +&= +u^3+Au+B} +\end{align*} +\uncover<4->{mit +\[ +v=Y+{\textstyle\frac12}X, +\qquad +u=X+\frac1{12} +\]} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index ffd492c..8a7c0a7 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -4,12 +4,13 @@ % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\folie{a/dc/prinzip.tex} -\folie{a/dc/effizient.tex} -\folie{a/dc/beispiel.tex} +%\folie{a/dc/prinzip.tex} +%\folie{a/dc/effizient.tex} +%\folie{a/dc/beispiel.tex} %\folie{a/ecc/gruppendh.tex} -%\folie{a/ecc/kurve.tex} +\folie{a/ecc/kurve.tex} +\folie{a/ecc/inverse.tex} %\folie{a/ecc/operation.tex} %\folie{a/ecc/quadrieren.tex} -- cgit v1.2.1 From 91284841f585ad2e5bf5002ce10ee4f3baa93b95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 15 Apr 2021 16:43:09 +0200 Subject: add oakley groups --- vorlesungen/slides/a/Makefile.inc | 3 ++ vorlesungen/slides/a/chapter.tex | 3 ++ vorlesungen/slides/a/ecc/inverse.tex | 2 +- vorlesungen/slides/a/ecc/oakley.tex | 85 +++++++++++++++++++++++++++++++++ vorlesungen/slides/a/ecc/oakley1.txt | 14 ++++++ vorlesungen/slides/a/ecc/oakley2.txt | 16 +++++++ vorlesungen/slides/a/ecc/oakley3.txt | 17 +++++++ vorlesungen/slides/a/ecc/oakley4.txt | 17 +++++++ vorlesungen/slides/a/ecc/operation.tex | 68 ++++++++++++++++++++++++++ vorlesungen/slides/a/ecc/prime1.txt | 5 ++ vorlesungen/slides/a/ecc/prime2.txt | 8 ++++ vorlesungen/slides/a/ecc/primes | 13 +++++ vorlesungen/slides/a/ecc/quadrieren.tex | 59 +++++++++++++++++++++++ vorlesungen/slides/test.tex | 9 ++-- 14 files changed, 314 insertions(+), 5 deletions(-) create mode 100644 vorlesungen/slides/a/ecc/oakley.tex create mode 100644 vorlesungen/slides/a/ecc/oakley1.txt create mode 100644 vorlesungen/slides/a/ecc/oakley2.txt create mode 100644 vorlesungen/slides/a/ecc/oakley3.txt create mode 100644 vorlesungen/slides/a/ecc/oakley4.txt create mode 100644 vorlesungen/slides/a/ecc/operation.tex create mode 100644 vorlesungen/slides/a/ecc/prime1.txt create mode 100644 vorlesungen/slides/a/ecc/prime2.txt create mode 100644 vorlesungen/slides/a/ecc/primes create mode 100644 vorlesungen/slides/a/ecc/quadrieren.tex (limited to 'vorlesungen/slides') diff --git a/vorlesungen/slides/a/Makefile.inc b/vorlesungen/slides/a/Makefile.inc index 45e22fc..9dba93f 100644 --- a/vorlesungen/slides/a/Makefile.inc +++ b/vorlesungen/slides/a/Makefile.inc @@ -11,6 +11,9 @@ chaptera = \ ../slides/a/ecc/gruppendh.tex \ ../slides/a/ecc/kurve.tex \ ../slides/a/ecc/inverse.tex \ + ../slides/a/ecc/operation.tex \ + ../slides/a/ecc/quadrieren.tex \ + ../slides/a/ecc/oakley.tex \ \ ../slides/a/chapter.tex diff --git a/vorlesungen/slides/a/chapter.tex b/vorlesungen/slides/a/chapter.tex index 270aa0d..84ee609 100644 --- a/vorlesungen/slides/a/chapter.tex +++ b/vorlesungen/slides/a/chapter.tex @@ -11,4 +11,7 @@ \folie{a/ecc/gruppendh.tex} \folie{a/ecc/kurve.tex} \folie{a/ecc/inverse.tex} +\folie{a/ecc/operation.tex} +\folie{a/ecc/quadrieren.tex} +\folie{a/ecc/oakley.tex} diff --git a/vorlesungen/slides/a/ecc/inverse.tex b/vorlesungen/slides/a/ecc/inverse.tex index f66101d..c50f698 100644 --- a/vorlesungen/slides/a/ecc/inverse.tex +++ b/vorlesungen/slides/a/ecc/inverse.tex @@ -40,7 +40,7 @@ Y(Y+X) &= X^3 + aX + b} \\ \uncover<8->{&&\Rightarrow X+Y&\mapsto -Y} \end{align*} -Spezialfall $\mathbb{F}_2$: $Y\leftrightarrow X+Y$ +\uncover<9->{Spezialfall $\mathbb{F}_2$: $Y\leftrightarrow X+Y$} \end{block}} \end{column} \end{columns} diff --git a/vorlesungen/slides/a/ecc/oakley.tex b/vorlesungen/slides/a/ecc/oakley.tex new file mode 100644 index 0000000..6980c10 --- /dev/null +++ b/vorlesungen/slides/a/ecc/oakley.tex @@ -0,0 +1,85 @@ +% +% oakley.tex -- Oakley Gruppen +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Oakley-Gruppen} +\only<1>{% +\small +\verbatiminput{../slides/a/ecc/oakley1.txt} +$\approx 1.55252\cdot 10^{231}$ +} +\only<2>{% +\begin{block}{$\mathbb{F}_p$} +Endlicher Körper mit $p = $ +\verbatiminput{../slides/a/ecc/prime1.txt} +\end{block} +} +\only<3>{% +\small +\verbatiminput{../slides/a/ecc/oakley2.txt} +} +\only<4>{% +\begin{block}{$\mathbb{F}_p$} +Endlicher Körper mit $p = $ +\verbatiminput{../slides/a/ecc/prime2.txt} +$\approx 1.7977\cdot 10^{308}$ +\end{block} +} +\only<5>{% +\small +\verbatiminput{../slides/a/ecc/oakley3.txt} +} +\only<6>{% +\begin{block}{Oakley Gruppe 3} +\begin{align*} +m(x) &= x^{155} + x^{62} + 1 +\\ +a &= 0 +\\ +b &= \texttt{0x07338f} +\\ +g_x &= 0x7b = x^6 + x^5 + x^4 + x^3 + x + 1 +\\ +&= +x^{18}+x^{17}+x^{16} ++ +x^{13}+x^{12} ++ +x^{9}+x^{8}+x^{7} ++ +x^{3}+x^{1}+x^{1}+1 +\\ +|G|&=45671926166590716193865565914344635196769237316 = 4.5672\cdot 10^{46} +\\ +\log_2|G|&=155\,\text{bit} +\end{align*} +\end{block}} +\only<7>{% +\small +\verbatiminput{../slides/a/ecc/oakley4.txt} +} +\only<8>{% +\begin{block}{Oakley Gruppe 4} +\begin{align*} +m(x) &= x^{185} + x^{69} + 1 +\\ +a &= 0 +\\ +b &= \texttt{0x1ee9} = x^{12} + x^{11}+x^{10}+x^9 + x^7+x^6+x^5 + x^3+1 +\\ +g_x &= \texttt{0x18} = x^4+x^3 +\\ +|G| &= 49039857307708443467467104857652682248052385001045053116 +\\ +&= 4.9040\cdot 10^{55} +\\ +\log_2|G| &= 185 +\end{align*} +\end{block}} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/oakley1.txt b/vorlesungen/slides/a/ecc/oakley1.txt new file mode 100644 index 0000000..4cc31ae --- /dev/null +++ b/vorlesungen/slides/a/ecc/oakley1.txt @@ -0,0 +1,14 @@ +6.1 First Oakley Default Group + + Oakley implementations MUST support a MODP group with the following + prime and generator. This group is assigned id 1 (one). + + The prime is: 2^768 - 2 ^704 - 1 + 2^64 * { [2^638 pi] + 149686 } + Its hexadecimal value is + + FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 + 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD + EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 + E485B576 625E7EC6 F44C42E9 A63A3620 FFFFFFFF FFFFFFFF + + The generator is: 2. diff --git a/vorlesungen/slides/a/ecc/oakley2.txt b/vorlesungen/slides/a/ecc/oakley2.txt new file mode 100644 index 0000000..ddb2d2a --- /dev/null +++ b/vorlesungen/slides/a/ecc/oakley2.txt @@ -0,0 +1,16 @@ +6.2 Second Oakley Group + + IKE implementations SHOULD support a MODP group with the following + prime and generator. This group is assigned id 2 (two). + + The prime is 2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 }. + Its hexadecimal value is + + FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 + 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD + EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 + E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED + EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381 + FFFFFFFF FFFFFFFF + + The generator is 2 (decimal) diff --git a/vorlesungen/slides/a/ecc/oakley3.txt b/vorlesungen/slides/a/ecc/oakley3.txt new file mode 100644 index 0000000..ab2c78f --- /dev/null +++ b/vorlesungen/slides/a/ecc/oakley3.txt @@ -0,0 +1,17 @@ +6.3 Third Oakley Group + + IKE implementations SHOULD support a EC2N group with the following + characteristics. This group is assigned id 3 (three). The curve is + based on the Galois Field GF[2^155]. The field size is 155. The + irreducible polynomial for the field is: + u^155 + u^62 + 1. + The equation for the elliptic curve is: + y^2 + xy = x^3 + ax^2 + b. + + Field Size: 155 + Group Prime/Irreducible Polynomial: + 0x0800000000000000000000004000000000000001 + Group Generator One: 0x7b + Group Curve A: 0x0 + Group Curve B: 0x07338f + Group Order: 0X0800000000000000000057db5698537193aef944 diff --git a/vorlesungen/slides/a/ecc/oakley4.txt b/vorlesungen/slides/a/ecc/oakley4.txt new file mode 100644 index 0000000..3ec20cc --- /dev/null +++ b/vorlesungen/slides/a/ecc/oakley4.txt @@ -0,0 +1,17 @@ +6.4 Fourth Oakley Group + + IKE implementations SHOULD support a EC2N group with the following + characteristics. This group is assigned id 4 (four). The curve is + based on the Galois Field GF[2^185]. The field size is 185. The + irreducible polynomial for the field is: + u^185 + u^69 + 1. The + equation for the elliptic curve is: + y^2 + xy = x^3 + ax^2 + b. + + Field Size: 185 + Group Prime/Irreducible Polynomial: + 0x020000000000000000000000000000200000000000000001 + Group Generator One: 0x18 + Group Curve A: 0x0 + Group Curve B: 0x1ee9 + Group Order: 0X01ffffffffffffffffffffffdbf2f889b73e484175f94ebc diff --git a/vorlesungen/slides/a/ecc/operation.tex b/vorlesungen/slides/a/ecc/operation.tex new file mode 100644 index 0000000..61ef95d --- /dev/null +++ b/vorlesungen/slides/a/ecc/operation.tex @@ -0,0 +1,68 @@ +% +% operation.tex -- Gruppen-Operation auf einer elliptischen Kurve +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Gruppenoperation} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.40\textwidth} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/elliptic.pdf} +\end{center} +\vspace{-23pt} +\uncover<8->{% +\begin{block}{Verifizieren} +\begin{enumerate} +\item<9-> Assoziativ? +\item<10-> Neutrales Element $\mathstrut=\infty$ +\item<11-> Involution = Inverse? +\end{enumerate} +\end{block}} +\end{column} +\begin{column}{0.56\textwidth} +\begin{block}{Gerade} +$g_1,g_2\in G$, $t\in \Bbbk$ +\begin{align*} +g(t) +&= +tg_1+(1-t)g_2 +\\ +\uncover<2->{ +\begin{pmatrix}X(t)\\Y(t)\end{pmatrix} +&= +t\begin{pmatrix}x_1\\y_1\end{pmatrix} ++ +(1-t)\begin{pmatrix}x_2\\y_2\end{pmatrix} +\in\Bbbk^2 +} +\end{align*} +\end{block} +\vspace{-13pt} +\uncover<3->{% +\begin{block}{3. Schnittpunkt} +$g(t)$ einsetzen in die elliptische Kurve +\[ +p(t) += +Y(t)^2+X(t)Y(t)-X(t)^3-aX(t)-b=0 +\] +\vspace{-12pt} +\begin{enumerate} +\item<4-> +kubisches Polynom mit Nullstellen $t=0,1$ +\item<5-> +$p(t) $ ist durch $t(t-1)$ teilbar +\item<6-> +$p(t) = t(t-1)(Jt+K)=0 +\uncover<7->{\Rightarrow t=-K/J$} +\end{enumerate} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/prime1.txt b/vorlesungen/slides/a/ecc/prime1.txt new file mode 100644 index 0000000..eb4515d --- /dev/null +++ b/vorlesungen/slides/a/ecc/prime1.txt @@ -0,0 +1,5 @@ + 15 52518 09230 07089 35130 91813 12584 +81755 63133 40494 34514 31320 23511 94902 96623 99491 02107 +25866 94538 76591 64244 29100 07680 28886 42291 50803 71891 +80463 42632 72761 30312 82983 74438 08208 90196 28850 91706 +91316 59317 53674 69551 76311 98433 71637 22100 72105 77919 diff --git a/vorlesungen/slides/a/ecc/prime2.txt b/vorlesungen/slides/a/ecc/prime2.txt new file mode 100644 index 0000000..13458fb --- /dev/null +++ b/vorlesungen/slides/a/ecc/prime2.txt @@ -0,0 +1,8 @@ + 1797 69313 +48623 15907 70839 15679 37874 53197 86029 60487 56011 70644 +44236 84197 18021 61585 19368 94783 37958 64925 54150 21805 +65485 98050 36464 40548 19923 91000 50792 87700 33558 16639 +22955 31362 39076 50873 57599 14822 57486 25750 07425 30207 +74477 12589 55095 79377 78424 44242 66173 34727 62929 93876 +68709 20560 60502 70810 84290 76929 32019 12819 44676 27007 + diff --git a/vorlesungen/slides/a/ecc/primes b/vorlesungen/slides/a/ecc/primes new file mode 100644 index 0000000..3feea29 --- /dev/null +++ b/vorlesungen/slides/a/ecc/primes @@ -0,0 +1,13 @@ +#! /bin/bash +# +# primes +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +bc <{{\color{red}ohne Analysis!}} +\end{block} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/elliptic.pdf} +\end{center} +\end{column} +\begin{column}{0.56\textwidth} +\uncover<3->{% +\begin{block}{Lösung} +Finde $h\in G$ derart, dass +\begin{align*} +g(t) +&= +tg + (1-t)h +\\ +\uncover<4->{% +\begin{pmatrix}X(t)\\Y(t)\end{pmatrix} +&= +t\begin{pmatrix}x_g\\y_g\end{pmatrix} ++(1-t) \begin{pmatrix}x_h\\y_h\end{pmatrix} +} +\end{align*} +\uncover<5->{eingesetzt +\[ +p(t) += +Y(t)^2+X(t)Y(t)-X(t)^3-aX(t)-b += +0 +\]}% +\uncover<6->{% +Nullstellen $0$ (doppelt) und $1$ hat:} +\[ +\uncover<7->{p(t) = c(t^3-t)} +\] +\uncover<8->{Koeffizientenvergleich: einfachere Gleichungen für $x_h$ und $y_h$} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index 8a7c0a7..bc1744b 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -9,10 +9,11 @@ %\folie{a/dc/beispiel.tex} %\folie{a/ecc/gruppendh.tex} -\folie{a/ecc/kurve.tex} -\folie{a/ecc/inverse.tex} -%\folie{a/ecc/operation.tex} -%\folie{a/ecc/quadrieren.tex} +%\folie{a/ecc/kurve.tex} +%\folie{a/ecc/inverse.tex} +\folie{a/ecc/operation.tex} +\folie{a/ecc/quadrieren.tex} +\folie{a/ecc/oakley.tex} %\folie{a/aes/bytes.tex} %\folie{a/aes/blockes.tex} -- cgit v1.2.1 From bd913de11450cc6294e874f2c38a838b0c1e6cd5 Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Thu, 15 Apr 2021 17:46:09 +0200 Subject: Skalar-zu-Matrix DGL Folie. --- vorlesungen/slides/10/matrix-vektor-dgl.tex | 127 ++++++++++++++++++++++++++++ vorlesungen/slides/10/n-zu-1.tex | 5 +- vorlesungen/slides/10/taylor.tex | 3 +- vorlesungen/slides/10/template.tex | 21 +++++ 4 files changed, 154 insertions(+), 2 deletions(-) create mode 100644 vorlesungen/slides/10/matrix-vektor-dgl.tex create mode 100644 vorlesungen/slides/10/template.tex (limited to 'vorlesungen/slides') diff --git a/vorlesungen/slides/10/matrix-vektor-dgl.tex b/vorlesungen/slides/10/matrix-vektor-dgl.tex new file mode 100644 index 0000000..d9bd97c --- /dev/null +++ b/vorlesungen/slides/10/matrix-vektor-dgl.tex @@ -0,0 +1,127 @@ +% +% matrix-vektor-dgl.tex -- DGL mit Matrix-Koeffizienten und Vektor-Variablen +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup +%\begin{frame}[t] +%\setlength{\abovedisplayskip}{5pt} +%\setlength{\belowdisplayskip}{5pt} +%\frametitle{Matrix-Vektor-DGL} +%\vspace{-20pt} +%\begin{columns}[t,onlytextwidth] +%\begin{column}{0.48\textwidth} +% \begin{block}{Bekannt} +% Vorgehen für DGL 1.~Ordnung mit Skalaren. +% Aufgabe: Sei $a, x, x_0 \in \mathbb R$, +% \[ +% \dot x = ax, +% \quad +% x(0) = x_0 +% \] +% Lösung: $x(t) = \exp(at) x_0$, wobei +% \begin{align*} +% \exp(at) +% &= 1 + at + \frac{a^2t^2}{2!} + \ldots\\ +% &= e^{at} +% \end{align*} +% \end{block} +%\end{column} +%\begin{column}{0.48\textwidth} +% \begin{block}{Mit Matrizen} +% Wir können: +% \begin{itemize} +% \item Matrizen potenzieren: $A$, $A^2$, $A^3$ +% \item Matrizen skalieren: $At$ +% \item Matrizen addieren: $A_1 + A_2$ +% \end{itemize} +% Also ist auch +% \[ +% \exp(At) = 1 + At + \frac{A^2t^2}{2!} + \ldots +% \] +% wohldefiniert. +% \end{block} +%\end{column} +%\end{columns} +%Folglich, sei $A \in M_n$ und $x \in \mathbb R^n$, +%\[ \dot x = Ax, \quad x(0) = x_0, \] +%dann ist +%\[ x = \exp(At)x_0. \] +%\end{frame} + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{1.~Ordnung mit Skalaren} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \begin{block}{Aufgabe} + Sei $a, x(t), x_0 \in \mathbb R$, + \[ + \dot x(t) = ax(t), + \quad + x(0) = x_0 + \] + \end{block} + \begin{block}{Potenzreihen-Ansatz} + Sei $a_k \in \mathbb R$, + \[ + x(t) = a_0 + a_1t + a_2t^2 + a_3t^3 \ldots + \] + \end{block} + \end{column} + \begin{column}{0.48\textwidth} + \begin{block}{Lösung} + Einsetzen in DGL, Koeffizientenvergleich liefert + \[ x(t) = \exp(at) \, x_0, \] + wobei + \begin{align*} + \exp(at) + &= 1 + at + \frac{a^2t^2}{2} + \frac{a^3t^3}{3!} + \ldots \\ + &{\color{gray}(= e^{at}.)} + \end{align*} + \end{block} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{1.~Ordnung mit Matrizen} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \begin{block}{Aufgabe} + Sei $A \in M_n$, $x(t), x_0 \in \mathbb R^n$, + \[ + \dot x(t) = Ax(t), + \quad + x(0) = x_0 + \] + \end{block} + \begin{block}{Potenzreihen-Ansatz} + Sei $A_k \in \mathbb M_n$, + \[ + x(t) = A_0 + A_1t + A_2t^2 + A_3t^3 \ldots + \] + \end{block} + \end{column} + \begin{column}{0.48\textwidth} + \begin{block}{Lösung} + Einsetzen in DGL, Koeffizientenvergleich liefert + \[ x(t) = \exp(At) \, x_0, \] + wobei + \[ + \exp(At) + = 1 + At + \frac{A^2t^2}{2} + \frac{A^3t^3}{3!} + \ldots + \] + \end{block} + \end{column} + \end{columns} +\end{frame} + +\egroup diff --git a/vorlesungen/slides/10/n-zu-1.tex b/vorlesungen/slides/10/n-zu-1.tex index e3fffe9..737df03 100644 --- a/vorlesungen/slides/10/n-zu-1.tex +++ b/vorlesungen/slides/10/n-zu-1.tex @@ -2,7 +2,7 @@ % n-zu-1.tex -- Umwandlend einer DGL n-ter Ordnung in ein System 1. Ordnung % % (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% Erstellt: 2021-04-14, Roy Seitz +% Erstellt durch Roy Seitz % % !TeX spellcheck = de_CH \bgroup @@ -47,6 +47,9 @@ System von Gleichungen 1.~Ordnung \end{pmatrix} \begin{pmatrix} x_0 \\ x_1 \\ x_2 \end{pmatrix} \end{align*} + + Geht für jede lineare Differentialgleichung! + \end{block} \end{column} \end{columns} diff --git a/vorlesungen/slides/10/taylor.tex b/vorlesungen/slides/10/taylor.tex index 8912cb7..bbd1126 100644 --- a/vorlesungen/slides/10/taylor.tex +++ b/vorlesungen/slides/10/taylor.tex @@ -1,7 +1,8 @@ % % eindiomensional.tex -- Lösung der eindimensionalen DGL % -% (c) 2021 Roy Seitz, Hochschule Rapperswil +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz % % !TeX spellcheck = de_CH \bgroup diff --git a/vorlesungen/slides/10/template.tex b/vorlesungen/slides/10/template.tex new file mode 100644 index 0000000..50f0a3b --- /dev/null +++ b/vorlesungen/slides/10/template.tex @@ -0,0 +1,21 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Template} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\end{column} +\begin{column}{0.48\textwidth} +\end{column} +\end{columns} +\end{frame} +\egroup -- cgit v1.2.1 From e3d9795c1790e530a198ddb10977499f77ee874a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 15 Apr 2021 19:38:56 +0200 Subject: add aes slides --- vorlesungen/slides/a/Makefile.inc | 6 ++ vorlesungen/slides/a/aes/blocks.tex | 193 ++++++++++++++++++++++++++++++++++ vorlesungen/slides/a/aes/bytes.tex | 96 +++++++++++++++++ vorlesungen/slides/a/aes/keys.tex | 36 +++++++ vorlesungen/slides/a/aes/runden.tex | 47 +++++++++ vorlesungen/slides/a/aes/sinverse.tex | 15 +++ vorlesungen/slides/a/chapter.tex | 6 ++ vorlesungen/slides/test.tex | 11 +- 8 files changed, 405 insertions(+), 5 deletions(-) create mode 100644 vorlesungen/slides/a/aes/blocks.tex create mode 100644 vorlesungen/slides/a/aes/bytes.tex create mode 100644 vorlesungen/slides/a/aes/keys.tex create mode 100644 vorlesungen/slides/a/aes/runden.tex create mode 100644 vorlesungen/slides/a/aes/sinverse.tex (limited to 'vorlesungen/slides') diff --git a/vorlesungen/slides/a/Makefile.inc b/vorlesungen/slides/a/Makefile.inc index 9dba93f..0c7ab0b 100644 --- a/vorlesungen/slides/a/Makefile.inc +++ b/vorlesungen/slides/a/Makefile.inc @@ -15,5 +15,11 @@ chaptera = \ ../slides/a/ecc/quadrieren.tex \ ../slides/a/ecc/oakley.tex \ \ + ../slides/a/aes/bytes.tex \ + ../slides/a/aes/sinverse.tex \ + ../slides/a/aes/blocks.tex \ + ../slides/a/aes/keys.tex \ + ../slides/a/aes/runden.tex \ + \ ../slides/a/chapter.tex diff --git a/vorlesungen/slides/a/aes/blocks.tex b/vorlesungen/slides/a/aes/blocks.tex new file mode 100644 index 0000000..9e95a86 --- /dev/null +++ b/vorlesungen/slides/a/aes/blocks.tex @@ -0,0 +1,193 @@ +% +% blocks.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\def\s{0.4} +\def\punkt#1#2{({#1*\s},{(3-#2)*\s})} +\def\feld#1#2#3{ + \fill[color=#3] \punkt{(#1-0.5)}{(#2+0.5)} + rectangle \punkt{(#1+0.5)}{(#2-0.5)}; +} +\definecolor{darkgreen}{rgb}{0,0.6,0} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Blocks} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Blocks} +$4\times k$ Matrizen mit $k=4,\dots,8$ +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\xdef\s{0.4} +\foreach \i in {0,...,31}{ + \pgfmathparse{mod(\i,4)} + \xdef\y{\pgfmathresult} + \pgfmathparse{int(\i/4)} + \xdef\x{\pgfmathresult} + \node at \punkt{\x}{\y} {\tiny $\i$}; +} +\foreach \x in {-0.5,0.5,...,7.5}{ + \draw \punkt{\x}{-0.5} -- \punkt{\x}{3.5}; +} +\foreach \y in {-0.5,0.5,...,3.5}{ + \draw \punkt{-0.5}{\y} -- \punkt{7.5}{\y}; +} +\end{tikzpicture} +\end{center} +\uncover<2->{% +Spalten sind $4$-dimensionale $\mathbb{F}_{2^8}$-Vektoren +} +\end{block} +\uncover<3->{% +\begin{block}{Zeilenshift} +\begin{center} +\begin{tikzpicture}[>=latex,thick] + +\xdef\s{0.35} + +\begin{scope} + \feld{0}{3}{red!20} + \feld{0}{2}{red!20} + \feld{0}{1}{red!20} + \feld{0}{0}{red!20} + + \feld{1}{3}{red!10} + \feld{1}{2}{red!10} + \feld{1}{1}{red!10} + \feld{1}{0}{red!10} + + \feld{2}{3}{yellow!20} + \feld{2}{2}{yellow!20} + \feld{2}{1}{yellow!20} + \feld{2}{0}{yellow!20} + + \feld{3}{3}{yellow!10} + \feld{3}{2}{yellow!10} + \feld{3}{1}{yellow!10} + \feld{3}{0}{yellow!10} + + \feld{4}{3}{darkgreen!20} + \feld{4}{2}{darkgreen!20} + \feld{4}{1}{darkgreen!20} + \feld{4}{0}{darkgreen!20} + + \feld{5}{3}{darkgreen!10} + \feld{5}{2}{darkgreen!10} + \feld{5}{1}{darkgreen!10} + \feld{5}{0}{darkgreen!10} + + \feld{6}{3}{blue!20} + \feld{6}{2}{blue!20} + \feld{6}{1}{blue!20} + \feld{6}{0}{blue!20} + + \feld{7}{3}{blue!10} + \feld{7}{2}{blue!10} + \feld{7}{1}{blue!10} + \feld{7}{0}{blue!10} + + \foreach \x in {-0.5,0.5,...,7.5}{ + \draw \punkt{\x}{-0.5} -- \punkt{\x}{3.5}; + } + \foreach \y in {-0.5,0.5,...,3.5}{ + \draw \punkt{-0.5}{\y} -- \punkt{7.5}{\y}; + } +\end{scope} + +\begin{scope}[xshift=3.5cm] + \feld{0}{0}{red!20} + \feld{1}{1}{red!20} + \feld{2}{2}{red!20} + \feld{3}{3}{red!20} + + \feld{1}{0}{red!10} + \feld{2}{1}{red!10} + \feld{3}{2}{red!10} + \feld{4}{3}{red!10} + + \feld{2}{0}{yellow!20} + \feld{3}{1}{yellow!20} + \feld{4}{2}{yellow!20} \feld{5}{3}{yellow!20} + + \feld{3}{0}{yellow!10} + \feld{4}{1}{yellow!10} + \feld{5}{2}{yellow!10} + \feld{6}{3}{yellow!10} + + \feld{4}{0}{darkgreen!20} + \feld{5}{1}{darkgreen!20} + \feld{6}{2}{darkgreen!20} + \feld{7}{3}{darkgreen!20} + + \feld{5}{0}{darkgreen!10} + \feld{6}{1}{darkgreen!10} + \feld{7}{2}{darkgreen!10} + \feld{0}{3}{darkgreen!10} + + \feld{6}{0}{blue!20} + \feld{7}{1}{blue!20} + \feld{0}{2}{blue!20} + \feld{1}{3}{blue!20} + + \feld{7}{0}{blue!10} + \feld{0}{1}{blue!10} + \feld{1}{2}{blue!10} + \feld{2}{3}{blue!10} + + \foreach \x in {-0.5,0.5,...,7.5}{ + \draw \punkt{\x}{-0.5} -- \punkt{\x}{3.5}; + } + \foreach \y in {-0.5,0.5,...,3.5}{ + \draw \punkt{-0.5}{\y} -- \punkt{7.5}{\y}; + } + + \node at \punkt{-1.5}{1.5} {$\rightarrow$}; +\end{scope} + +\end{tikzpicture} +\end{center} +\end{block}} +\end{column} +\begin{column}{0.50\textwidth} +\uncover<4->{% +\begin{block}{Spalten mischen} +Lineare Operation auf Spaltenvektoren mit Matrix +\begin{align*} +C&=\begin{pmatrix} +\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}&\texttt{01}_{16}\\ +\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16}&\texttt{03}_{16}\\ +\texttt{03}_{16}&\texttt{01}_{16}&\texttt{01}_{16}&\texttt{02}_{16} +\end{pmatrix} +\\ +\uncover<5->{ +\det C +&= +\texttt{0a}_{16} +} +\uncover<6->{ +\ne 0} +\uncover<7->{ +\quad\Rightarrow\quad \exists C^{-1} +} +\end{align*} +\end{block}} +\uncover<8->{% +\begin{block}{Als Polynommultiplikation} +Spalten = Polynome in $\mathbb{F}_{2^8}[Z]/(Z^4-1)$, +\\ +\uncover<9->{% +$C=\mathstrut$ Multiplikation mit +\[ +c(Z) = \texttt{03}_{16}Z^3 + Z^2 + Z + \texttt{02}_{16} +\] +} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/aes/bytes.tex b/vorlesungen/slides/a/aes/bytes.tex new file mode 100644 index 0000000..e873e9a --- /dev/null +++ b/vorlesungen/slides/a/aes/bytes.tex @@ -0,0 +1,96 @@ +% +% bytes.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Bytes} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Endlicher Körper} +1 Byte = 8 bits: $\mathbb{F}_{2^8}$ +mit Minimalpolynom: +\[ +m(X) = X^8+X^4+X^3+X+1 +\] +\end{block} +\vspace{-10pt} +\uncover<2->{% +\begin{block}{Inverse $a^{-1}$} +Mit dem euklidischen Algorithmus +\[ +\begin{aligned} +sa+tm&=1 +&&\Rightarrow& +\uncover<3->{ +a^{-1} &= s} +\\ +& +&&& +\uncover<4->{ +\overline{a} +&= +\begin{cases} +a^{-1}&\; a\ne 0\\ +0 &\; a = 0 +\end{cases}} +\end{aligned} +\] +\end{block}} +\vspace{-10pt} +\uncover<5->{% +\begin{block}{Vektorraum} +$\mathbb{R}_{2^8}$ +ist ein $8$-dimensionaler $\mathbb{F}_2$-Vektorraum +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{S-Box} +$S\colon a\mapsto A\overline{a}+q$ mit +\begin{align*} +\only<1-7>{\phantom{\mathstrut^{-1}}A} +\ifthenelse{\boolean{presentation}}{}{\only<8>{A^{-1}}} +&=\only<1-7>{\begin{pmatrix} +1&0&0&0&1&1&1&1\\ +1&1&0&0&0&1&1&1\\ +1&1&1&0&0&0&1&1\\ +1&1&1&1&0&0&0&1\\ +1&1&1&1&1&0&0&0\\ +0&1&1&1&1&1&0&0\\ +0&0&1&1&1&1&1&0\\ +0&0&0&1&1&1&1&1 +\end{pmatrix}} +\ifthenelse{\boolean{presentation}}{}{ +\only<8->{ +\begin{pmatrix} +0&0&1&0&0&1&0&1\\ +1&0&0&1&0&0&1&0\\ +0&1&0&0&1&0&0&1\\ +1&0&1&0&0&1&0&0\\ +0&1&0&1&0&0&1&0\\ +0&0&1&0&1&0&0&1\\ +1&0&0&1&0&1&0&0\\ +0&1&0&0&1&0&1&0 +\end{pmatrix}} +} +\\ +q&=X^7+X^6+X+1 +\end{align*} +\end{block}} +\vspace{-10pt} +\uncover<7->{% +\begin{block}{Inverse $S$-Box} +\vspace{-10pt} +\[ +S^{-1}(b) = \overline{A^{-1}(b-q)} +\] +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/aes/keys.tex b/vorlesungen/slides/a/aes/keys.tex new file mode 100644 index 0000000..d2ab712 --- /dev/null +++ b/vorlesungen/slides/a/aes/keys.tex @@ -0,0 +1,36 @@ +% +% keys.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Schlüsselerzeugung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/keys.pdf} +\end{center} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Algorithmus} +\begin{enumerate} +\item<2-> +Startblock: begebener Schlüssel +\item<3-> +Zeilenpermutation: +$\pi=\mathstrut$ Multiplikation mit $Z^3=Z^{-1}$ +\item<4-> $S$-Box +\item<5-> $r_i$: Addition einer Konstanten +\[ +r_i = (\texttt{02}_{16})^{i-1} +\] +\end{enumerate} +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/aes/runden.tex b/vorlesungen/slides/a/aes/runden.tex new file mode 100644 index 0000000..570b577 --- /dev/null +++ b/vorlesungen/slides/a/aes/runden.tex @@ -0,0 +1,47 @@ +% +% runden.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{$n$ Runden} +\vspace{-23pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Verschlüsselung} +In Runde $i=0,\dots,n-1$ +\begin{enumerate} +\item<2-> Wende die $S$-Box auf alle Bytes des Blocks an +\item<3-> Führe den Zeilenschift durch +\item<4-> Mische die Spalten +\item<5-> Berechne den Schlüsselblock $i$ ($i=0$: ursprünglicher Schlüssel) +\item<6-> Addiere (XOR) den Rundenschlüssel +\end{enumerate} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<7->{% +\begin{block}{Entschlüsselung} +In Runde $i=0,\dots,n-1$ +\begin{enumerate} +\item<8-> Addiere den Rundenschlüssel $n-1-i$ +\item<9-> Invertiere Spaltenmischung (mit $C^{-1}$) +\item<10-> Invertiere den Zeilenshift +\item<11-> Wende $S^{-1}$ an auf jedes Byte +\end{enumerate} +\end{block}} +\end{column} +\end{columns} +\uncover<12->{% +\begin{block}{Charakteristika} +\begin{itemize} +\item<13-> Invertierbar +\item<14-> Skalierbar: beliebig grosse Blöcke (Vielfache von 32\,bit) +\item<15-> Keine ``magischen'' Schritte +\end{itemize} +\end{block}} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/aes/sinverse.tex b/vorlesungen/slides/a/aes/sinverse.tex new file mode 100644 index 0000000..059100e --- /dev/null +++ b/vorlesungen/slides/a/aes/sinverse.tex @@ -0,0 +1,15 @@ +% +% sinverse.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Inverse $S$-Box} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/sbox.pdf} +\end{center} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/chapter.tex b/vorlesungen/slides/a/chapter.tex index 84ee609..78eec84 100644 --- a/vorlesungen/slides/a/chapter.tex +++ b/vorlesungen/slides/a/chapter.tex @@ -15,3 +15,9 @@ \folie{a/ecc/quadrieren.tex} \folie{a/ecc/oakley.tex} +\folie{a/aes/bytes.tex} +\folie{a/aes/sinverse.tex} +\folie{a/aes/blocks.tex} +\folie{a/aes/keys.tex} +\folie{a/aes/runden.tex} + diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index bc1744b..43da30a 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -11,12 +11,13 @@ %\folie{a/ecc/gruppendh.tex} %\folie{a/ecc/kurve.tex} %\folie{a/ecc/inverse.tex} -\folie{a/ecc/operation.tex} -\folie{a/ecc/quadrieren.tex} -\folie{a/ecc/oakley.tex} +%\folie{a/ecc/operation.tex} +%\folie{a/ecc/quadrieren.tex} +%\folie{a/ecc/oakley.tex} %\folie{a/aes/bytes.tex} -%\folie{a/aes/blockes.tex} -%\folie{a/aes/kays.tex} +%\folie{a/aes/sinverse.tex} +%\folie{a/aes/blocks.tex} +\folie{a/aes/keys.tex} %\folie{a/aes/runden.tex} -- cgit v1.2.1 From cb562f607b18540df333d6d9a911cf51c91884d0 Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Thu, 15 Apr 2021 23:49:49 +0200 Subject: Mehr Folien und einige Typos. --- vorlesungen/slides/10/matrix-vektor-dgl.tex | 44 ----- vorlesungen/slides/10/so2.tex | 138 ++++++++++++++ vorlesungen/slides/10/taylor.tex | 2 +- vorlesungen/slides/10/vektorfelder.mp | 266 +++++++++++++++++++++++++++ vorlesungen/slides/5/potenzreihenmethode.tex | 2 +- 5 files changed, 406 insertions(+), 46 deletions(-) create mode 100644 vorlesungen/slides/10/so2.tex create mode 100644 vorlesungen/slides/10/vektorfelder.mp (limited to 'vorlesungen/slides') diff --git a/vorlesungen/slides/10/matrix-vektor-dgl.tex b/vorlesungen/slides/10/matrix-vektor-dgl.tex index d9bd97c..f7bd995 100644 --- a/vorlesungen/slides/10/matrix-vektor-dgl.tex +++ b/vorlesungen/slides/10/matrix-vektor-dgl.tex @@ -6,50 +6,6 @@ % % !TeX spellcheck = de_CH \bgroup -%\begin{frame}[t] -%\setlength{\abovedisplayskip}{5pt} -%\setlength{\belowdisplayskip}{5pt} -%\frametitle{Matrix-Vektor-DGL} -%\vspace{-20pt} -%\begin{columns}[t,onlytextwidth] -%\begin{column}{0.48\textwidth} -% \begin{block}{Bekannt} -% Vorgehen für DGL 1.~Ordnung mit Skalaren. -% Aufgabe: Sei $a, x, x_0 \in \mathbb R$, -% \[ -% \dot x = ax, -% \quad -% x(0) = x_0 -% \] -% Lösung: $x(t) = \exp(at) x_0$, wobei -% \begin{align*} -% \exp(at) -% &= 1 + at + \frac{a^2t^2}{2!} + \ldots\\ -% &= e^{at} -% \end{align*} -% \end{block} -%\end{column} -%\begin{column}{0.48\textwidth} -% \begin{block}{Mit Matrizen} -% Wir können: -% \begin{itemize} -% \item Matrizen potenzieren: $A$, $A^2$, $A^3$ -% \item Matrizen skalieren: $At$ -% \item Matrizen addieren: $A_1 + A_2$ -% \end{itemize} -% Also ist auch -% \[ -% \exp(At) = 1 + At + \frac{A^2t^2}{2!} + \ldots -% \] -% wohldefiniert. -% \end{block} -%\end{column} -%\end{columns} -%Folglich, sei $A \in M_n$ und $x \in \mathbb R^n$, -%\[ \dot x = Ax, \quad x(0) = x_0, \] -%dann ist -%\[ x = \exp(At)x_0. \] -%\end{frame} \begin{frame}[t] \setlength{\abovedisplayskip}{5pt} diff --git a/vorlesungen/slides/10/so2.tex b/vorlesungen/slides/10/so2.tex new file mode 100644 index 0000000..e3f74ae --- /dev/null +++ b/vorlesungen/slides/10/so2.tex @@ -0,0 +1,138 @@ +% +% so2.tex -- Illustration of so(2) -> SO(2) +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup + +\newcommand{\gSL}[2]{\ensuremath{\text{SL}(#1, \mathbb{#2})}} +\newcommand{\gSO}[1]{\ensuremath{\text{SO}(#1)}} +\newcommand{\gGL}[2]{\ensuremath{\text{GL}(#1, \mathbb #2)}} + +\newcommand{\asl}[2]{\ensuremath{\mathfrak{sl}(#1, \mathbb{#2})}} +\newcommand{\aso}[1]{\ensuremath{\mathfrak{so}(#1)}} +\newcommand{\agl}[2]{\ensuremath{\mathfrak{gl}(#1, \mathbb #2)}} + +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Von der Lie-Gruppe zur -Algebra} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} + \begin{block}{Lie-Gruppe} + Darstellung von \gSO2: + \begin{align*} + \mathbb R + &\to + \gSO2 + \\ + t + &\mapsto + \begin{pmatrix} + \cos t & -\sin t \\ + \sin t & \phantom-\cos t + \end{pmatrix} + \end{align*} + \end{block} + \begin{block}{Ableitung am neutralen Element} + \begin{align*} + \frac{d}{d t} + & + \left. + \begin{pmatrix} + \cos t & -\sin t \\ + \sin t & \phantom-\cos t + \end{pmatrix} + \right|_{ t = 0} + \\ + = + & + \begin{pmatrix} -\sin0 & -\cos0 \\ \phantom-\cos0 & -\sin0 \end{pmatrix} + = + \begin{pmatrix} 0 & -1 \\ 1 & \phantom-0 \end{pmatrix} + \end{align*} + \end{block} +\end{column} +\begin{column}{0.48\textwidth} + \begin{block}{Lie-Algebra} + Darstellung von \aso2: + \begin{align*} + \mathbb R + &\to + \aso2 + \\ + t + &\mapsto + \begin{pmatrix} + 0 & -t \\ + t & \phantom-0 + \end{pmatrix} + \end{align*} + \end{block} +\end{column} +\end{columns} +\end{frame} + + +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Von der Lie-Algebra zur -Gruppe} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} + \begin{block}{Differentialgleichung} + Gegeben: + \[ + A + = + \dot\gamma(0) = \begin{pmatrix} 0 & -1 \\ 1 & \phantom-0 \end{pmatrix} + \] + Gesucht: + \[ \dot \gamma (t) = \gamma(t) A \qquad \gamma \in \gSO2 \] + \[ \Rightarrow \gamma(t) = \exp(At) \gamma(0) = \exp(At) \] + \end{block} +\end{column} +\begin{column}{0.48\textwidth} + \begin{block}{Lie-Algebra} + Potenzen von A: + \begin{align*} + A^2 &= -I & + A^3 &= -A & + A^4 &= I & + \ldots + \end{align*} + \end{block} +\end{column} +\end{columns} +Folglich: +\begin{align*} + \exp(At) + &= I + At + + A^2\frac{t^2}{2!} + + A^3\frac{t^3}{3!} + + A^4\frac{t^4}{4!} + + A^5\frac{t^5}{5!} + + \ldots \\ + &= \begin{pmatrix} + \vspace*{3pt} + 1 - \frac{t^2}{2} + \frac{t^4}{4!} - \ldots + & + -t + \frac{t^3}{3!} - \frac{t^5}{5!} + \ldots + \\ + t - \frac{t^3}{3!} + \frac{t^5}{5!} - \ldots + & + 1 - \frac{t^2}{2!} + \frac{t^4}{4!} - \ldots + \end{pmatrix} + = + \begin{pmatrix} + \cos t & -\sin t \\ + \sin t & \phantom-\cos t + \end{pmatrix} +\end{align*} + +\end{frame} +\egroup diff --git a/vorlesungen/slides/10/taylor.tex b/vorlesungen/slides/10/taylor.tex index bbd1126..920470f 100644 --- a/vorlesungen/slides/10/taylor.tex +++ b/vorlesungen/slides/10/taylor.tex @@ -1,5 +1,5 @@ % -% eindiomensional.tex -- Lösung der eindimensionalen DGL +% taylor.tex -- Repetition Taylot-Reihen % % (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule % Erstellt durch Roy Seitz diff --git a/vorlesungen/slides/10/vektorfelder.mp b/vorlesungen/slides/10/vektorfelder.mp new file mode 100644 index 0000000..f488327 --- /dev/null +++ b/vorlesungen/slides/10/vektorfelder.mp @@ -0,0 +1,266 @@ +% +% Stroemungsfelder linearer Differentialgleichungen +% +% (c) 2015 Prof Dr Andreas Mueller, Hochschule Rapperswil +% 2021-04-14, Roy Seitz, Copied for SeminarMatrizen +% +verbatimtex +\documentclass{book} +\usepackage{times} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{amsfonts} +\usepackage{txfonts} +\begin{document} +etex; + +input TEX; + +TEXPRE("%&latex" & char(10) & +"\documentclass{book}" & +"\usepackage{times}" & +"\usepackage{amsmath}" & +"\usepackage{amssymb}" & +"\usepackage{amsfonts}" & +"\usepackage{txfonts}" & +"\begin{document}"); +TEXPOST("\end{document}"); + +% +% Vektorfeld in der Ebene mit Lösungskurve +% so(2) +% +beginfig(1) + +% Scaling parameter +numeric unit; +unit := 150; + +% Some points +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +% Draw circles +for x = 0.2 step 0.2 until 1.4: + path p; + p = (x,0); + for a = 5 step 5 until 355: + p := p--(x*cosd(a), x*sind(a)); + endfor; + p := p--cycle; + pickup pencircle scaled 1pt; + draw p scaled unit withcolor red; +endfor; + +% Define DGL +def dglField(expr x, y) = + %(-0.5 * (x + y), -0.5 * (y - x)) + (-y, x) +enddef; + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; + endfor; +endfor; + +endfig; + + + +% +% Vektorfeld in der Ebene mit Lösungskurve +% X \in sl(2, R) +% +beginfig(2) + +numeric unit; +unit := 150; + +z0 = ( 0, 0); +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +% Draw flow lines +for y = -1.4 step 0.2 until 1.4: + path p; + p = (-1.5,y) -- (1.5, y); + pickup pencircle scaled 1pt; + draw p scaled unit withcolor red; +endfor; + +def dglField(expr x, y) = + (y, 0) +enddef; + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; + endfor; +endfor; + +endfig; + + + + +% +% Vektorfeld in der Ebene mit Lösungskurve +% Y \in sl(2, R) +% +beginfig(3) + +numeric unit; +unit := 150; + +z0 = ( 0, 0); +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +% Draw flow lines +for x = -1.4 step 0.2 until 1.4: + path p; + p = (x, -1.5) -- (x, 1.5); + pickup pencircle scaled 1pt; + draw p scaled unit withcolor red; +endfor; + +def dglField(expr x, y) = + (0, x) +enddef; + +% def dglFieldp(expr z) = +% dglField(xpart z, ypart z) +% enddef; +% +% def curve(expr z, l) = +% path p; +% p := z; +% for t = 0 step 1 until l: +% p := p--((point (length p) of p) shifted (0.01 * dglFieldp(point (length p) of p))); +% endfor; +% draw p scaled unit withcolor red; +% enddef; +% +% numeric outerlength; +% outerlength = 200; +% curve(( 0.1, 0), outerlength); +% curve(( 0.2, 0), outerlength); +% +% numeric innerlength; +% innerlength = 500; +% +% for a = 0 step 30 until 330: +% curve(0.05 * (cosd(a), sind(a)), innerlength); +% endfor; + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; + endfor; +endfor; + +endfig; + + +% +% Vektorfeld in der Ebene mit Lösungskurve +% H \in sl(2, R) +% +beginfig(4) + +numeric unit; +unit := 150; + +z0 = ( 0, 0); +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-25,0))--(z2 shifted (25,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (25,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +def dglField(expr x, y) = + (x, -y) +enddef; + +def dglFieldp(expr z) = + dglField(xpart z, ypart z) +enddef; + +def curve(expr z, l) = + path p; + p := z; + for t = 0 step 1 until l: + p := p--((point (length p) of p) shifted (0.01 * dglFieldp(point (length p) of p))); + endfor; + draw p scaled unit withcolor red; +enddef; + +for i = -1 step 2 until 1: + for k = -1 step 2 until 1: + curve((1.3 * i, 1.5 * k), 18); + curve((1.1 * i, 1.5 * k), 35); + curve((0.9 * i, 1.5 * k), 55); + curve((0.7 * i, 1.5 * k), 80); + curve((0.5 * i, 1.5 * k), 114); + curve((0.3 * i, 1.5 * k), 165); + curve((0.1 * i, 1.5 * k), 275); + endfor; +endfor; + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; + endfor; +endfor; + +endfig; + + + +end; diff --git a/vorlesungen/slides/5/potenzreihenmethode.tex b/vorlesungen/slides/5/potenzreihenmethode.tex index 0c3503d..12d3fa5 100644 --- a/vorlesungen/slides/5/potenzreihenmethode.tex +++ b/vorlesungen/slides/5/potenzreihenmethode.tex @@ -79,7 +79,7 @@ a_k=\frac1{k!}a^kC} \\ \uncover<4->{ \Rightarrow y(x) &= C}\uncover<8->{+Cax}\uncover<9->{ + C\frac12(ax)^2} -\uncover<10->{ + C \frac16(ac)^3} +\uncover<10->{ + C \frac16(ax)^3} \uncover<11->{ + \dots+C\frac{1}{k!}(ax)^k+\dots} \ifthenelse{\boolean{presentation}}{ \only<12>{ -- cgit v1.2.1 From 2c498f3b05e5eb9bf438fe1433dd06311f59d3c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 16 Apr 2021 13:41:52 +0200 Subject: typos --- vorlesungen/slides/a/ecc/kurve.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'vorlesungen/slides') diff --git a/vorlesungen/slides/a/ecc/kurve.tex b/vorlesungen/slides/a/ecc/kurve.tex index 9cf1aa2..04d15f8 100644 --- a/vorlesungen/slides/a/ecc/kurve.tex +++ b/vorlesungen/slides/a/ecc/kurve.tex @@ -7,7 +7,7 @@ \begin{frame}[t] \setlength{\abovedisplayskip}{5pt} \setlength{\belowdisplayskip}{5pt} -\frametitle{Kubische Kurven} +\frametitle{Elliptische Kurven} \vspace{-20pt} \begin{columns}[t,onlytextwidth] \begin{column}{0.48\textwidth} @@ -47,7 +47,7 @@ u^3+Au+B} \[ v=Y+{\textstyle\frac12}X, \qquad -u=X+\frac1{12} +u=X-\frac1{12} \]} \end{block}} \end{column} -- cgit v1.2.1 From 8358d9bc031913305a52c6c2ab05184b89f7678f Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Sat, 17 Apr 2021 22:00:36 +0200 Subject: Slides erweitert. --- vorlesungen/slides/10/ableitung-exp.tex | 60 +++++++++ vorlesungen/slides/10/matrix-dgl.tex | 83 ++++++++++++ vorlesungen/slides/10/matrix-vektor-dgl.tex | 83 ------------ vorlesungen/slides/10/potenzreihenmethode.tex | 91 +++++++++++++ vorlesungen/slides/10/repetition.tex | 151 ++++++++++++++++++++++ vorlesungen/slides/10/so2.tex | 8 -- vorlesungen/slides/10/taylor.tex | 176 ++++++++++++++------------ 7 files changed, 483 insertions(+), 169 deletions(-) create mode 100644 vorlesungen/slides/10/ableitung-exp.tex create mode 100644 vorlesungen/slides/10/matrix-dgl.tex delete mode 100644 vorlesungen/slides/10/matrix-vektor-dgl.tex create mode 100644 vorlesungen/slides/10/potenzreihenmethode.tex create mode 100644 vorlesungen/slides/10/repetition.tex (limited to 'vorlesungen/slides') diff --git a/vorlesungen/slides/10/ableitung-exp.tex b/vorlesungen/slides/10/ableitung-exp.tex new file mode 100644 index 0000000..10ce191 --- /dev/null +++ b/vorlesungen/slides/10/ableitung-exp.tex @@ -0,0 +1,60 @@ +% +% ableitung-exp.tex -- Ableitung von exp(x) +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + %\frametitle{Ableitung von $\exp(x)$} + %\vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \begin{block}{Ableitung von $\exp(at)$} + \begin{align*} + \frac{d}{dt} \exp(at) + &= + \frac{d}{dt} \sum_{k=0}^{\infty} a^k \frac{t^k}{k!} + \\ + &\uncover<2->{ + = \sum_{k=0}^{\infty} a^k\frac{kt^{k-1}}{k(k-1)!} + } + \\ + &\uncover<3->{ + = a \sum_{k=1}^{\infty} + a^{k-1}\frac{t^{k-1}}{(k-1)!} + } + \\ + &\uncover<4->{ + = a \exp(at) + } + \end{align*} + \end{block} + \end{column} + \begin{column}{0.48\textwidth} + \uncover<5->{ + \begin{block}{Ableitung von $\exp(At)$} + \begin{align*} + \frac{d}{dt} \exp(At) + &= + \frac{d}{dt} \sum_{k=0}^{\infty} A^k \frac{t^k}{k!} + \\ + &= + \sum_{k=0}^{\infty} A^k\frac{kt^{k-1}}{k(k-1)!} + \\ + &= + A \sum_{k=1}^{\infty} A^{k-1}\frac{t^{k-1}}{(k-1)!} + \\ + &= + A \exp(At) + \end{align*} + \end{block} + } + \end{column} + \end{columns} +\end{frame} + +\egroup diff --git a/vorlesungen/slides/10/matrix-dgl.tex b/vorlesungen/slides/10/matrix-dgl.tex new file mode 100644 index 0000000..ae68fb1 --- /dev/null +++ b/vorlesungen/slides/10/matrix-dgl.tex @@ -0,0 +1,83 @@ +% +% matrix-dgl.tex -- Matrix-Differentialgleichungen +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{1.~Ordnung mit Skalaren} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \begin{block}{Aufgabe} + Sei $a, x(t), x_0 \in \mathbb R$, + \[ + \dot x(t) = ax(t), + \quad + x(0) = x_0 + \] + \end{block} + \begin{block}{Potenzreihen-Ansatz} + Sei $a_k \in \mathbb R$, + \[ + x(t) = a_0 + a_1t + a_2t^2 + a_3t^3 \ldots + \] + \end{block} + \end{column} + \begin{column}{0.48\textwidth} + \begin{block}{Lösung} + Einsetzen in DGL, Koeffizientenvergleich liefert + \[ x(t) = \exp(at) \, x_0, \] + wobei + \begin{align*} + \exp(at) + &= 1 + at + \frac{a^2t^2}{2} + \frac{a^3t^3}{3!} + \ldots \\ + &{\color{gray}(= e^{at}.)} + \end{align*} + \end{block} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{1.~Ordnung mit Matrizen} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \begin{block}{Aufgabe} + Sei $A \in M_n$, $x(t), x_0 \in \mathbb R^n$, + \[ + \dot x(t) = Ax(t), + \quad + x(0) = x_0 + \] + \end{block} + \begin{block}{Potenzreihen-Ansatz} + Sei $A_k \in \mathbb M_n$, + \[ + x(t) = A_0 + A_1t + A_2t^2 + A_3t^3 \ldots + \] + \end{block} + \end{column} + \begin{column}{0.48\textwidth} + \begin{block}{Lösung} + Einsetzen in DGL, Koeffizientenvergleich liefert + \[ x(t) = \exp(At) \, x_0, \] + wobei + \[ + \exp(At) + = 1 + At + \frac{A^2t^2}{2} + \frac{A^3t^3}{3!} + \ldots + \] + \end{block} + \end{column} + \end{columns} +\end{frame} + +\egroup diff --git a/vorlesungen/slides/10/matrix-vektor-dgl.tex b/vorlesungen/slides/10/matrix-vektor-dgl.tex deleted file mode 100644 index f7bd995..0000000 --- a/vorlesungen/slides/10/matrix-vektor-dgl.tex +++ /dev/null @@ -1,83 +0,0 @@ -% -% matrix-vektor-dgl.tex -- DGL mit Matrix-Koeffizienten und Vektor-Variablen -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% Erstellt durch Roy Seitz -% -% !TeX spellcheck = de_CH -\bgroup - -\begin{frame}[t] - \setlength{\abovedisplayskip}{5pt} - \setlength{\belowdisplayskip}{5pt} - \frametitle{1.~Ordnung mit Skalaren} - \vspace{-20pt} - \begin{columns}[t,onlytextwidth] - \begin{column}{0.48\textwidth} - \begin{block}{Aufgabe} - Sei $a, x(t), x_0 \in \mathbb R$, - \[ - \dot x(t) = ax(t), - \quad - x(0) = x_0 - \] - \end{block} - \begin{block}{Potenzreihen-Ansatz} - Sei $a_k \in \mathbb R$, - \[ - x(t) = a_0 + a_1t + a_2t^2 + a_3t^3 \ldots - \] - \end{block} - \end{column} - \begin{column}{0.48\textwidth} - \begin{block}{Lösung} - Einsetzen in DGL, Koeffizientenvergleich liefert - \[ x(t) = \exp(at) \, x_0, \] - wobei - \begin{align*} - \exp(at) - &= 1 + at + \frac{a^2t^2}{2} + \frac{a^3t^3}{3!} + \ldots \\ - &{\color{gray}(= e^{at}.)} - \end{align*} - \end{block} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[t] - \setlength{\abovedisplayskip}{5pt} - \setlength{\belowdisplayskip}{5pt} - \frametitle{1.~Ordnung mit Matrizen} - \vspace{-20pt} - \begin{columns}[t,onlytextwidth] - \begin{column}{0.48\textwidth} - \begin{block}{Aufgabe} - Sei $A \in M_n$, $x(t), x_0 \in \mathbb R^n$, - \[ - \dot x(t) = Ax(t), - \quad - x(0) = x_0 - \] - \end{block} - \begin{block}{Potenzreihen-Ansatz} - Sei $A_k \in \mathbb M_n$, - \[ - x(t) = A_0 + A_1t + A_2t^2 + A_3t^3 \ldots - \] - \end{block} - \end{column} - \begin{column}{0.48\textwidth} - \begin{block}{Lösung} - Einsetzen in DGL, Koeffizientenvergleich liefert - \[ x(t) = \exp(At) \, x_0, \] - wobei - \[ - \exp(At) - = 1 + At + \frac{A^2t^2}{2} + \frac{A^3t^3}{3!} + \ldots - \] - \end{block} - \end{column} - \end{columns} -\end{frame} - -\egroup diff --git a/vorlesungen/slides/10/potenzreihenmethode.tex b/vorlesungen/slides/10/potenzreihenmethode.tex new file mode 100644 index 0000000..1715134 --- /dev/null +++ b/vorlesungen/slides/10/potenzreihenmethode.tex @@ -0,0 +1,91 @@ +% +% potenzreihenmethode.tex +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Bearbeitet durch Roy Seitz +% +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Potenzreihenmethode} +\vspace{-15pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Lineare Differentialgleichung} +\begin{align*} +x'&=ax&&\Rightarrow&x'-ax&=0 +\\ +x(0)&=C +\end{align*} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<2->{% +\begin{block}{Potenzreihenansatz} +\begin{align*} +x(t) +&= +a_0+ a_1t + a_2t^2 + \dots +\\ +x(0)&=a_0=C +\end{align*} +\end{block}} +\end{column} +\end{columns} +\uncover<3->{% +\begin{block}{Lösung} +\[ +\arraycolsep=1.4pt +\begin{array}{rcrcrcrcrcr} +\uncover<3->{ x'(t)} + \uncover<5->{ + &=&\phantom{(} a_1\phantom{\mathstrut-aa_0)} + &+& 2a_2\phantom{\mathstrut-aa_1)}t + &+& 3a_3\phantom{\mathstrut-aa_2)}t^2 + &+& 4a_4\phantom{\mathstrut-aa_3)}t^3 + &+& \dots}\\ +\uncover<3->{-ax(t)} + \uncover<6->{ + &=&\mathstrut-aa_0 \phantom{)} + &-& aa_1\phantom{)}t + &-& aa_2\phantom{)}t^2 + &-& aa_3\phantom{)}t^3 + &-& \dots}\\[2pt] +\hline +\\[-10pt] +\uncover<3->{0} + \uncover<7->{ + &=&(a_1-aa_0) + &+& (2a_2-aa_1)t + &+& (3a_3-aa_2)t^2 + &+& (4a_4-aa_3)t^3 + &+& \dots}\\ +\end{array} +\] +\begin{align*} +\uncover<4->{ +a_0&=C}\uncover<8->{, +\quad +a_1=aa_0=aC}\uncover<9->{, +\quad +a_2=\frac12a^2C}\uncover<10->{, +\quad +a_3=\frac16a^3C}\uncover<11->{, +\ldots, +a_k=\frac1{k!}a^kC} +\hspace{3cm} +\\ +\uncover<4->{ +\Rightarrow x(t) &= C}\uncover<8->{+Cat}\uncover<9->{ + C\frac12(at)^2} +\uncover<10->{ + C \frac16(at)^3} +\uncover<11->{ + \dots+C\frac{1}{k!}(at)^k+\dots} +\ifthenelse{\boolean{presentation}}{ +\only<12>{ += +C\sum_{k=0}^\infty \frac{(at)^k}{k!}} +}{} +\uncover<13->{= +C\exp(at)} +\end{align*} +\end{block}} +\end{frame} diff --git a/vorlesungen/slides/10/repetition.tex b/vorlesungen/slides/10/repetition.tex new file mode 100644 index 0000000..c45d47b --- /dev/null +++ b/vorlesungen/slides/10/repetition.tex @@ -0,0 +1,151 @@ +% +% intro.tex -- Repetition Lie-Gruppen und -Algebren +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Repetition} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \uncover<1->{ + \begin{block}{Lie-Gruppe} + Kontinuierliche Matrix-Gruppe $G$ mit bestimmter Eigenschaft + \end{block} + } + \uncover<3->{ + \begin{block}{Ein-Parameter-Untergruppe} + Darstellung der Lie-Gruppe $G$: + \[ + \gamma \colon \mathbb R \to G + : \quad + t \mapsto \gamma(t), + \] + so dass + \[ \gamma(s + t) = \gamma(t) \gamma(s). \] + \end{block} + } + \end{column} + \begin{column}{0.48\textwidth} + \uncover<2->{ + \begin{block}{Beispiel} + Volumen-erhaltende Abbildungen: + \[ \gSL2R= \{A \in M_2 \,|\, \det(A) = 1\} .\] + \begin{align*} + \uncover<4->{ \gamma_x(t) } + & + \uncover<4->{= \begin{pmatrix} 1 & t \\ 0 & 1 \end{pmatrix} } + \\ + \uncover<5->{ \gamma_y(t) } + & + \uncover<5->{= \begin{pmatrix} 1 & 0 \\ t & 1 \end{pmatrix} } + \\ + \uncover<6->{ \gamma_h(t)} + & + \uncover<6->{= \begin{pmatrix} e^t & 0 \\ 0 & e^{-t} \end{pmatrix} } + \end{align*} + \end{block} + } + \end{column} + \end{columns} +\end{frame} + + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Repetition} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \uncover<1->{ + \begin{block}{Lie-Algebra aus Lie-Gruppe} + Ableitungen der Ein-Parameter-Untergruppen: + \begin{align*} + G &\to \mathcal A \\ + \gamma &\mapsto \dot\gamma(0) + \end{align*} + \uncover<3->{ + Lie-Klammer als Produkt: + \[ [A, B] = AB - BA \in \mathcal A \] + } + \end{block} + } + \uncover<7->{\vspace*{-4ex} + \begin{block}{Lie-Gruppe aus Lie-Algebra} + Lösung der Differentialgleichung: + \[ + \dot\gamma(t) = A\gamma(t) + \quad \text{mit} \quad + A = \dot\gamma(0) + \] + \[ + \Rightarrow \gamma(t) = \exp(At) + \] + \end{block} + } + \end{column} + \begin{column}{0.48\textwidth} + \uncover<2->{ + \begin{block}{Beispiel} + Lie-Algebra von \gSL2R: + \[ \asl2R = \{ A \in M_2 \,|\, \Spur(A) = 0 \} \] + \end{block} + } + \begin{align*} + \uncover<4->{ X(t) } + & + \uncover<4->{= \begin{pmatrix} 0 & t \\ 0 & 0 \end{pmatrix} } + \\ + \uncover<5->{ Y(t) } + & + \uncover<5->{= \begin{pmatrix} 0 & 0 \\ t & 0 \end{pmatrix} } + \\ + \uncover<6->{ H(t) } + & + \uncover<6->{= \begin{pmatrix} t & 0 \\ 0 & -t \end{pmatrix} } + \end{align*} + + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Repetition} + \vspace{-20pt} + \begin{block}{Offene Fragen} + \begin{itemize}[<+->] + \item Woher kommt die Exponentialfunktion? + \begin{fleqn} + \[ + \exp(At) + = + 1 + + At + + A^2\frac{t^2}{2} + + A^3\frac{t^3}{3!} + + \ldots + \] + \end{fleqn} + \item Wie löst man eine Matrix-DGL? + \begin{fleqn} + \[ + \dot\gamma(t) = A\gamma(t), + \qquad + \gamma(t) \in G \subset M_n + \] + \end{fleqn} + \item Was bedeutet $\exp(At)$? + \end{itemize} + \end{block} +\end{frame} + +\egroup diff --git a/vorlesungen/slides/10/so2.tex b/vorlesungen/slides/10/so2.tex index e3f74ae..b63a67e 100644 --- a/vorlesungen/slides/10/so2.tex +++ b/vorlesungen/slides/10/so2.tex @@ -7,14 +7,6 @@ % !TeX spellcheck = de_CH \bgroup -\newcommand{\gSL}[2]{\ensuremath{\text{SL}(#1, \mathbb{#2})}} -\newcommand{\gSO}[1]{\ensuremath{\text{SO}(#1)}} -\newcommand{\gGL}[2]{\ensuremath{\text{GL}(#1, \mathbb #2)}} - -\newcommand{\asl}[2]{\ensuremath{\mathfrak{sl}(#1, \mathbb{#2})}} -\newcommand{\aso}[1]{\ensuremath{\mathfrak{so}(#1)}} -\newcommand{\agl}[2]{\ensuremath{\mathfrak{gl}(#1, \mathbb #2)}} - \begin{frame}[t] \setlength{\abovedisplayskip}{5pt} \setlength{\belowdisplayskip}{5pt} diff --git a/vorlesungen/slides/10/taylor.tex b/vorlesungen/slides/10/taylor.tex index 920470f..25745f5 100644 --- a/vorlesungen/slides/10/taylor.tex +++ b/vorlesungen/slides/10/taylor.tex @@ -10,12 +10,19 @@ \begin{frame}[t] \setlength{\abovedisplayskip}{5pt} \setlength{\belowdisplayskip}{5pt} - \frametitle{Beispiel $\sin x$} + \frametitle{Beispiel $\sin(x)$} \vspace{-20pt} - %\onslide<+-> - \begin{block}{Taylor-Approximationen von $\sin x$} + \begin{block}{Taylor-Approximationen von $\sin(x)$} \begin{align*} - p_n(x) + p_{ + \only<1>{0} + \only<2>{1} + \only<3>{2} + \only<4>{3} + \only<5>{4} + \only<6>{5} + \only<7->{n} + }(x) &= \uncover<1->{0} \uncover<2->{+ x} @@ -74,121 +81,134 @@ \end{center} \end{frame} - \begin{frame}[t] -\setlength{\abovedisplayskip}{5pt} -\setlength{\belowdisplayskip}{5pt} -\frametitle{Taylor-Reihen} -\vspace{-20pt} -\onslide<+-> - \begin{block}{Polynom-Approximationen von $f(t)$} - \vspace{-15pt} - \begin{align*} - p_n(t) - &= - f(0) - + f'(0) t - + f''(0)\frac{t^2}{2} - + f^{(3)}(0)\frac{t^3}{3!} - + \ldots - + f^{(n)}(0) \frac{t^n}{n!} - = - \sum_{k=0}^{n} f^{(k)} \frac{t^k}{k!} - \end{align*} - \end{block} - \begin{block}{Die ersten $n$ Ableitungen von $f(0)$ und $p_n(0)$ sind gleich!} - \vspace{-15pt} + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Taylor-Reihen} + \vspace{-20pt} + \begin{block}{Polynom-Approximationen von $f(t)$} + \begin{align*} + p_n(t) + &= + f(0) + \uncover<2->{ + f' (0) t } + \uncover<3->{ + f''(0)\frac{t^2}{2} } + \uncover<4->{ + \ldots + f^{(n)}(0) \frac{t^n}{n!} } + \uncover<5->{ = \sum_{k=0}^{n} f^{(k)} \frac{t^k}{k!} } + \end{align*} + \end{block} + \uncover<6->{ + \begin{block}{Erste $n$ Ableitungen von $f(0)$ und $p_n(0)$ sind gleich!}} \begin{align*} - p'_n(t) - &= - f'(0) - + f''(0)t - + f^{(3)}(0) \frac{t^2}{2!} - + \mathcal O(t^3) - &\Rightarrow&& - p'_n(0) = f'(0) + \uncover<6->{ p'_n(t) } + & + \uncover<7->{ + = f'(0) + + f''(0)t + + \mathcal O(t^2) + } + &\uncover<8->{\Rightarrow}&& + \uncover<8->{p'_n(0) = f'(0)} \\ - p''_n(0) - &= - f''(0) + f^{(3)}(0)t + \ldots + f^{(n)}(0) \frac{t^{n-2}}{(n-2)!} - &\Rightarrow&& - p''_n(0) = f''(0) - \end{align*} - \end{block} - \begin{block}{Für unendlich lange Polynome stimmen alle Ableitungen überein!} - \vspace{-15pt} - \begin{align*} - \lim_{n\to \infty} p_n(t) - = - f(t) + \uncover<9->{ p''_n(t) } + & + \uncover<10->{ + = f''(0) + + \mathcal O(t) + } + &\uncover<11->{\Rightarrow}&& + \uncover<11->{ p''_n(0) = f''(0) } \end{align*} \end{block} + \uncover<12->{ + \begin{block}{Für alle praktisch relevanten Funktionen $f(t)$ gilt:} + \begin{align*} + \lim_{n\to \infty} p_n(t) + = + f(t) + \end{align*} + \end{block} + } \end{frame} \begin{frame}[t] \setlength{\abovedisplayskip}{5pt} \setlength{\belowdisplayskip}{5pt} - \frametitle{Beispiel $\exp x$} - \vspace{-20pt} - %\onslide<+-> - \begin{block}{Taylor-Approximationen von $\exp x$} +% \frametitle{Beispiel $e^t$} +% \vspace{-20pt} + \begin{block}{Taylor-Approximationen von $e^{at}$} \begin{align*} - p_n(x) - = + p_{ + \only<1>{0} + \only<2>{1} + \only<3>{2} + \only<4>{3} + \only<5>{4} + \only<6>{5} + \only<7->{n} + }(t) + &= 1 - \uncover<1->{+ x} - \uncover<2->{+ \frac{x^2}{2}} - \uncover<3->{+ \frac{x^3}{3!}} - \uncover<4->{+ \frac{x^4}{4!}} - \uncover<5->{+ \frac{x^5}{5!}} - \uncover<6->{+ \frac{x^6}{6!}} - \uncover<7->{+ \ldots - = \sum_{k=0}^{n} \frac{x^k}{k!}} + \uncover<2->{+ a t} + \uncover<3->{+ a^2 \frac{t^2}{2}} + \uncover<4->{+ a^3 \frac{t^3}{3!}} + \uncover<5->{+ a^4 \frac{t^4}{4!}} + \uncover<6->{+ a^5 \frac{t^5}{5!}} + \uncover<7->{+ a^6 \frac{t^6}{6!}} + \uncover<8->{+ \ldots + = \sum_{k=0}^{n} a^k \frac{t^k}{k!}} + \\ + & + \uncover<9->{= \exp(at)} \end{align*} \end{block} \begin{center} \begin{tikzpicture}[>=latex,thick,scale=1.3] - \draw[->] (-4.0, 0.0) -- (4.0,0.0) coordinate[label=$x$]; + \draw[->] (-4.0, 0.0) -- (4.0,0.0) coordinate[label=$t$]; \draw[->] ( 0.0,-0.5) -- (0.0,2.5); \clip (-3,-0.5) rectangle (3,2.5); \draw[domain=-4:1, samples=50, smooth, blue] plot ({\x}, {exp(\x)}) - node[above right] {$\exp(x)$}; + node[above right] {$\exp(t)$}; \uncover<1>{ - \draw[domain=-4:1.5, samples=10, smooth, red] - plot ({\x}, {1 + \x}) - node[below right] {$p_1(x)$};} + \draw[domain=-4:4, samples=12, smooth, red] + plot ({\x}, {1}) + node[below right] {$p_0(t)$};} \uncover<2>{ + \draw[domain=-4:1.5, samples=10, smooth, red] + plot ({\x}, {1 + \x}) + node[below right] {$p_1(t)$};} + \uncover<3>{ \draw[domain=-4:1, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2}) - node[below right] {$p_2(x)$};} - \uncover<3>{ + node[below right] {$p_2(t)$};} + \uncover<4>{ \draw[domain=-4:1, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6}) - node[below right] {$p_3(x)$};} - \uncover<4>{ + node[below right] {$p_3(t)$};} + \uncover<5>{ \draw[domain=-4:0.9, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24}) - node[below left] {$p_4(x)$};} - \uncover<5>{ + node[below left] {$p_4(t)$};} + \uncover<6>{ \draw[domain=-4:0.9, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + \x*\x*\x*\x*\x/120}) - node[below left] {$p_5(x)$};} - \uncover<6>{ + node[below left] {$p_5(t)$};} + \uncover<7>{ \draw[domain=-4:0.9, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + \x*\x*\x*\x*\x/120 + \x*\x*\x*\x*\x*\x/720}) - node[below left] {$p_6(x)$};} - \uncover<7>{ + node[below left] {$p_6(t)$};} + \uncover<8->{ \draw[domain=-4:0.9, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + \x*\x*\x*\x*\x/120 + \x*\x*\x*\x*\x*\x/720 + \x*\x*\x*\x*\x*\x*\x/5040}) - node[below left] {$p_7(x)$};} + node[below left] {$p_7(t)$};} \end{tikzpicture} \end{center} \end{frame} -- cgit v1.2.1 From 4313f2c207d5d60171898ccfd4c3b3d0d2fb4a75 Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Sun, 18 Apr 2021 17:49:56 +0200 Subject: =?UTF-8?q?Pr=C3=A4sentation=20feritg.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vorlesungen/slides/10/intro.tex | 45 ++++++ vorlesungen/slides/10/n-zu-1.tex | 98 +++++++------- vorlesungen/slides/10/repetition.tex | 40 +----- vorlesungen/slides/10/so2.tex | 237 ++++++++++++++++---------------- vorlesungen/slides/10/vektorfelder.mp | 241 +++++++++++++++++++++++---------- vorlesungen/slides/10/vektorfelder.tex | 82 +++++++++++ 6 files changed, 475 insertions(+), 268 deletions(-) create mode 100644 vorlesungen/slides/10/intro.tex create mode 100644 vorlesungen/slides/10/vektorfelder.tex (limited to 'vorlesungen/slides') diff --git a/vorlesungen/slides/10/intro.tex b/vorlesungen/slides/10/intro.tex new file mode 100644 index 0000000..276bf49 --- /dev/null +++ b/vorlesungen/slides/10/intro.tex @@ -0,0 +1,45 @@ +% +% intro.tex -- Repetition Lie-Gruppen und -Algebren +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup + + + +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} +% \frametitle{Repetition} +% \vspace{-20pt} + \begin{block}{Offene Fragen} + \begin{itemize}[<+->] + \item Woher kommt die Exponentialfunktion? + \begin{fleqn} + \[ + \exp(At) + = + 1 + + At + + A^2\frac{t^2}{2} + + A^3\frac{t^3}{3!} + + \ldots + \] + \end{fleqn} + \item Wie löst man eine Matrix-DGL? + \begin{fleqn} + \[ + \dot\gamma(t) = A\gamma(t), + \qquad + \gamma(t) \in G \subset M_n + \] + \end{fleqn} + \item Lie-Gruppen und Lie-Algebren + \item Was bedeutet $\exp(At)$? + \end{itemize} + \end{block} +\end{frame} + +\egroup diff --git a/vorlesungen/slides/10/n-zu-1.tex b/vorlesungen/slides/10/n-zu-1.tex index 737df03..09475ad 100644 --- a/vorlesungen/slides/10/n-zu-1.tex +++ b/vorlesungen/slides/10/n-zu-1.tex @@ -7,51 +7,57 @@ % !TeX spellcheck = de_CH \bgroup \begin{frame}[t] -\setlength{\abovedisplayskip}{5pt} -\setlength{\belowdisplayskip}{5pt} -\frametitle{Reicht $1.$ Ordnung?} -\vspace{-20pt} -\begin{columns}[t,onlytextwidth] -\begin{column}{0.48\textwidth} -\begin{block}{Beispiel: DGL 3.~Ordnung} \vspace*{-1ex} - \begin{align*} - x^{(3)} + a_2 \ddot x + a_1 \dot x + a_0 x = 0 \\ - \Rightarrow - x^{(3)} = -a_2 \ddot x - a_1 \dot x - a_0 x - \end{align*} -\end{block} -\begin{block}{Ziel: Nur noch 1.~Ableitungen} - Einführen neuer Variablen: - \begin{align*} - x_0 &\coloneqq x & - x_1 &\coloneqq \dot x & - x_2 &\coloneqq \ddot x - \end{align*} -System von Gleichungen 1.~Ordnung - \begin{align*} - \dot x_0 &= x_1 \\ - \dot x_1 &= x_2 \\ - \dot x_2 &= -a_2 x_2 - a_1 x_1 - a_0 x_0 -\end{align*} -\end{block} -\end{column} -\begin{column}{0.48\textwidth} -\begin{block}{Als Vektor-Gleichung} \vspace*{-1ex} - \begin{align*} - \frac{d}{dt} - \begin{pmatrix} x_0 \\ x_1 \\ x_2 \end{pmatrix} - = \begin{pmatrix} - 0 & 1 & 0 \\ - 0 & 0 & 1 \\ - -a_0 & -a_1 & -a_2 - \end{pmatrix} - \begin{pmatrix} x_0 \\ x_1 \\ x_2 \end{pmatrix} - \end{align*} - - Geht für jede lineare Differentialgleichung! - -\end{block} -\end{column} -\end{columns} + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + %\frametitle{Reicht $1.$ Ordnung?} + %\vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \uncover<1->{ + \begin{block}{Beispiel: DGL 3.~Ordnung} \vspace*{-1ex} + \begin{align*} + x^{(3)} + a_2 \ddot x + a_1 \dot x + a_0 x = 0 \\ + \Rightarrow + x^{(3)} = -a_2 \ddot x - a_1 \dot x - a_0 x + \end{align*} + \end{block} + } + \uncover<2->{ + \begin{block}{Ziel: Nur noch 1.~Ableitungen} + Einführen neuer Variablen: + \begin{align*} + x_0 &\coloneqq x & + x_1 &\coloneqq \dot x & + x_2 &\coloneqq \ddot x + \end{align*} + System von Gleichungen 1.~Ordnung + \begin{align*} + \dot x_0 &= x_1 \\ + \dot x_1 &= x_2 \\ + \dot x_2 &= -a_2 x_2 - a_1 x_1 - a_0 x_0 + \end{align*} + \end{block} + } + \end{column} + \uncover<3->{ + \begin{column}{0.48\textwidth} + \begin{block}{Als Vektor-Gleichung} \vspace*{-1ex} + \begin{align*} + \frac{d}{dt} + \begin{pmatrix} x_0 \\ x_1 \\ x_2 \end{pmatrix} + = \begin{pmatrix} + 0 & 1 & 0 \\ + 0 & 0 & 1 \\ + -a_0 & -a_1 & -a_2 + \end{pmatrix} + \begin{pmatrix} x_0 \\ x_1 \\ x_2 \end{pmatrix} + \end{align*} + + \uncover<4->{Geht für jede lineare Differentialgleichung!} + + \end{block} + \end{column} + } + \end{columns} \end{frame} \egroup diff --git a/vorlesungen/slides/10/repetition.tex b/vorlesungen/slides/10/repetition.tex index c45d47b..7c007ca 100644 --- a/vorlesungen/slides/10/repetition.tex +++ b/vorlesungen/slides/10/repetition.tex @@ -1,5 +1,5 @@ % -% intro.tex -- Repetition Lie-Gruppen und -Algebren +% repetition.tex -- Repetition Lie-Gruppen und -Algebren % % (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule % Erstellt durch Roy Seitz @@ -101,51 +101,19 @@ \begin{align*} \uncover<4->{ X(t) } & - \uncover<4->{= \begin{pmatrix} 0 & t \\ 0 & 0 \end{pmatrix} } + \uncover<4->{= \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} } \\ \uncover<5->{ Y(t) } & - \uncover<5->{= \begin{pmatrix} 0 & 0 \\ t & 0 \end{pmatrix} } + \uncover<5->{= \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix} } \\ \uncover<6->{ H(t) } & - \uncover<6->{= \begin{pmatrix} t & 0 \\ 0 & -t \end{pmatrix} } + \uncover<6->{= \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} } \end{align*} \end{column} \end{columns} \end{frame} -\begin{frame}[t] - \setlength{\abovedisplayskip}{5pt} - \setlength{\belowdisplayskip}{5pt} - \frametitle{Repetition} - \vspace{-20pt} - \begin{block}{Offene Fragen} - \begin{itemize}[<+->] - \item Woher kommt die Exponentialfunktion? - \begin{fleqn} - \[ - \exp(At) - = - 1 - + At - + A^2\frac{t^2}{2} - + A^3\frac{t^3}{3!} - + \ldots - \] - \end{fleqn} - \item Wie löst man eine Matrix-DGL? - \begin{fleqn} - \[ - \dot\gamma(t) = A\gamma(t), - \qquad - \gamma(t) \in G \subset M_n - \] - \end{fleqn} - \item Was bedeutet $\exp(At)$? - \end{itemize} - \end{block} -\end{frame} - \egroup diff --git a/vorlesungen/slides/10/so2.tex b/vorlesungen/slides/10/so2.tex index b63a67e..dcbcdc8 100644 --- a/vorlesungen/slides/10/so2.tex +++ b/vorlesungen/slides/10/so2.tex @@ -8,123 +8,134 @@ \bgroup \begin{frame}[t] -\setlength{\abovedisplayskip}{5pt} -\setlength{\belowdisplayskip}{5pt} -\frametitle{Von der Lie-Gruppe zur -Algebra} -\vspace{-20pt} -\begin{columns}[t,onlytextwidth] -\begin{column}{0.48\textwidth} - \begin{block}{Lie-Gruppe} - Darstellung von \gSO2: - \begin{align*} - \mathbb R - &\to - \gSO2 - \\ - t - &\mapsto - \begin{pmatrix} - \cos t & -\sin t \\ - \sin t & \phantom-\cos t - \end{pmatrix} - \end{align*} - \end{block} - \begin{block}{Ableitung am neutralen Element} - \begin{align*} - \frac{d}{d t} - & - \left. - \begin{pmatrix} - \cos t & -\sin t \\ - \sin t & \phantom-\cos t - \end{pmatrix} - \right|_{ t = 0} - \\ - = - & - \begin{pmatrix} -\sin0 & -\cos0 \\ \phantom-\cos0 & -\sin0 \end{pmatrix} - = - \begin{pmatrix} 0 & -1 \\ 1 & \phantom-0 \end{pmatrix} - \end{align*} - \end{block} -\end{column} -\begin{column}{0.48\textwidth} - \begin{block}{Lie-Algebra} - Darstellung von \aso2: - \begin{align*} - \mathbb R - &\to - \aso2 - \\ - t - &\mapsto - \begin{pmatrix} - 0 & -t \\ - t & \phantom-0 - \end{pmatrix} - \end{align*} - \end{block} -\end{column} -\end{columns} + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Von der Lie-Gruppe zur -Algebra} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \uncover<1->{ + \begin{block}{Lie-Gruppe} + Darstellung von \gSO2: + \begin{align*} + \mathbb R + &\to + \gSO2 + \\ + t + &\mapsto + \begin{pmatrix} + \cos t & -\sin t \\ + \sin t & \phantom-\cos t + \end{pmatrix} + \end{align*} + \end{block} + } + \uncover<2->{ + \begin{block}{Ableitung am neutralen Element} + \begin{align*} + \frac{d}{d t} + & + \left. + \begin{pmatrix} + \cos t & -\sin t \\ + \sin t & \phantom-\cos t + \end{pmatrix} + \right|_{ t = 0} + \\ + = + & + \begin{pmatrix} -\sin0 & -\cos0 \\ \phantom-\cos0 & -\sin0 \end{pmatrix} + = + \begin{pmatrix} 0 & -1 \\ 1 & \phantom-0 \end{pmatrix} + \end{align*} + \end{block} + } + \end{column} + \begin{column}{0.48\textwidth} + \uncover<3->{ + \begin{block}{Lie-Algebra} + Darstellung von \aso2: + \begin{align*} + \mathbb R + &\to + \aso2 + \\ + t + &\mapsto + \begin{pmatrix} + 0 & -t \\ + t & \phantom-0 + \end{pmatrix} + \end{align*} + \end{block} + } + \end{column} + \end{columns} \end{frame} \begin{frame}[t] -\setlength{\abovedisplayskip}{5pt} -\setlength{\belowdisplayskip}{5pt} -\frametitle{Von der Lie-Algebra zur -Gruppe} -\vspace{-20pt} -\begin{columns}[t,onlytextwidth] -\begin{column}{0.48\textwidth} - \begin{block}{Differentialgleichung} - Gegeben: - \[ - A + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Von der Lie-Algebra zur -Gruppe} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \uncover<1->{ + \begin{block}{Differentialgleichung} + Gegeben: + \[ + J + = + \dot\gamma(0) = \begin{pmatrix} 0 & -1 \\ 1 & \phantom-0 \end{pmatrix} + \] + Gesucht: + \[ \dot \gamma (t) = J \gamma(t) \qquad \gamma \in \gSO2 \] + \[ \Rightarrow \gamma(t) = \exp(Jt) \gamma(0) = \exp(Jt) \] + \end{block} + } + \end{column} + \begin{column}{0.48\textwidth} + \uncover<2->{ + \begin{block}{Lie-Algebra} + Potenzen von $J$: + \begin{align*} + J^2 &= -I & + J^3 &= -J & + J^4 &= I & + \ldots + \end{align*} + \end{block} + } + \end{column} + \end{columns} +\uncover<3->{ + Folglich: + \begin{align*} + \exp(Jt) + &= I + Jt + + J^2\frac{t^2}{2!} + + J^3\frac{t^3}{3!} + + J^4\frac{t^4}{4!} + + J^5\frac{t^5}{5!} + + \ldots \\ + &= \begin{pmatrix} + \vspace*{3pt} + 1 - \frac{t^2}{2} + \frac{t^4}{4!} - \ldots + & + -t + \frac{t^3}{3!} - \frac{t^5}{5!} + \ldots + \\ + t - \frac{t^3}{3!} + \frac{t^5}{5!} - \ldots + & + 1 - \frac{t^2}{2!} + \frac{t^4}{4!} - \ldots + \end{pmatrix} = - \dot\gamma(0) = \begin{pmatrix} 0 & -1 \\ 1 & \phantom-0 \end{pmatrix} - \] - Gesucht: - \[ \dot \gamma (t) = \gamma(t) A \qquad \gamma \in \gSO2 \] - \[ \Rightarrow \gamma(t) = \exp(At) \gamma(0) = \exp(At) \] - \end{block} -\end{column} -\begin{column}{0.48\textwidth} - \begin{block}{Lie-Algebra} - Potenzen von A: - \begin{align*} - A^2 &= -I & - A^3 &= -A & - A^4 &= I & - \ldots - \end{align*} - \end{block} -\end{column} -\end{columns} -Folglich: -\begin{align*} - \exp(At) - &= I + At - + A^2\frac{t^2}{2!} - + A^3\frac{t^3}{3!} - + A^4\frac{t^4}{4!} - + A^5\frac{t^5}{5!} - + \ldots \\ - &= \begin{pmatrix} - \vspace*{3pt} - 1 - \frac{t^2}{2} + \frac{t^4}{4!} - \ldots - & - -t + \frac{t^3}{3!} - \frac{t^5}{5!} + \ldots - \\ - t - \frac{t^3}{3!} + \frac{t^5}{5!} - \ldots - & - 1 - \frac{t^2}{2!} + \frac{t^4}{4!} - \ldots - \end{pmatrix} - = - \begin{pmatrix} - \cos t & -\sin t \\ - \sin t & \phantom-\cos t - \end{pmatrix} -\end{align*} - + \begin{pmatrix} + \cos t & -\sin t \\ + \sin t & \phantom-\cos t + \end{pmatrix} + \end{align*} + } \end{frame} \egroup diff --git a/vorlesungen/slides/10/vektorfelder.mp b/vorlesungen/slides/10/vektorfelder.mp index f488327..e63b2d5 100644 --- a/vorlesungen/slides/10/vektorfelder.mp +++ b/vorlesungen/slides/10/vektorfelder.mp @@ -48,17 +48,17 @@ drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); label.top(btex $x_1$ etex, z2 shifted (10,0)); label.rt(btex $x_2$ etex, z4 shifted (0,10)); -% Draw circles -for x = 0.2 step 0.2 until 1.4: - path p; - p = (x,0); - for a = 5 step 5 until 355: - p := p--(x*cosd(a), x*sind(a)); - endfor; - p := p--cycle; - pickup pencircle scaled 1pt; - draw p scaled unit withcolor red; -endfor; +% % Draw circles +% for x = 0.2 step 0.2 until 1.4: +% path p; +% p = (x,0); +% for a = 5 step 5 until 355: +% p := p--(x*cosd(a), x*sind(a)); +% endfor; +% p := p--cycle; +% pickup pencircle scaled 1pt; +% draw p scaled unit withcolor red; +% endfor; % Define DGL def dglField(expr x, y) = @@ -66,6 +66,10 @@ def dglField(expr x, y) = (-y, x) enddef; +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; + % Draw arrows for each grid point pickup pencircle scaled 0.5pt; for x = -1.5 step 0.1 until 1.55: @@ -78,11 +82,9 @@ endfor; endfig; - - % % Vektorfeld in der Ebene mit Lösungskurve -% X \in sl(2, R) +% Euler(1) % beginfig(2) @@ -101,18 +103,28 @@ drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); label.top(btex $x_1$ etex, z2 shifted (10,0)); label.rt(btex $x_2$ etex, z4 shifted (0,10)); -% Draw flow lines -for y = -1.4 step 0.2 until 1.4: +def dglField(expr x, y) = + (-y, x) +enddef; + +def dglFieldp(expr z) = + dglField(xpart z, ypart z) +enddef; + +def curve(expr z, l, s) = path p; - p = (-1.5,y) -- (1.5, y); - pickup pencircle scaled 1pt; + p := z; + for t = 0 step 1 until l: + p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p))); + endfor; draw p scaled unit withcolor red; -endfor; - -def dglField(expr x, y) = - (y, 0) enddef; +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; +curve(A, 0, 1); + % Draw arrows for each grid point pickup pencircle scaled 0.5pt; for x = -1.5 step 0.1 until 1.55: @@ -125,12 +137,9 @@ endfor; endfig; - - - % % Vektorfeld in der Ebene mit Lösungskurve -% Y \in sl(2, R) +% Euler(2) % beginfig(3) @@ -149,42 +158,82 @@ drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); label.top(btex $x_1$ etex, z2 shifted (10,0)); label.rt(btex $x_2$ etex, z4 shifted (0,10)); -% Draw flow lines -for x = -1.4 step 0.2 until 1.4: +def dglField(expr x, y) = + (-y, x) +enddef; + +def dglFieldp(expr z) = + dglField(xpart z, ypart z) +enddef; + +def curve(expr z, l, s) = path p; - p = (x, -1.5) -- (x, 1.5); - pickup pencircle scaled 1pt; + p := z; + for t = 0 step 1 until l: + p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p))); + endfor; draw p scaled unit withcolor red; +enddef; + +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; +curve(A, 1, 0.5); + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; + endfor; endfor; -def dglField(expr x, y) = - (0, x) -enddef; +endfig; -% def dglFieldp(expr z) = -% dglField(xpart z, ypart z) -% enddef; -% -% def curve(expr z, l) = -% path p; -% p := z; -% for t = 0 step 1 until l: -% p := p--((point (length p) of p) shifted (0.01 * dglFieldp(point (length p) of p))); -% endfor; -% draw p scaled unit withcolor red; -% enddef; % -% numeric outerlength; -% outerlength = 200; -% curve(( 0.1, 0), outerlength); -% curve(( 0.2, 0), outerlength); +% Vektorfeld in der Ebene mit Lösungskurve +% Euler(3) % -% numeric innerlength; -% innerlength = 500; -% -% for a = 0 step 30 until 330: -% curve(0.05 * (cosd(a), sind(a)), innerlength); -% endfor; +beginfig(4) + +numeric unit; +unit := 150; + +z0 = ( 0, 0); +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +def dglField(expr x, y) = + (-y, x) +enddef; + +def dglFieldp(expr z) = + dglField(xpart z, ypart z) +enddef; + +def curve(expr z, l, s) = + path p; + p := z; + for t = 0 step 1 until l: + p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p))); + endfor; + draw p scaled unit withcolor red; +enddef; + +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; +curve(A, 3, 0.25); % Draw arrows for each grid point pickup pencircle scaled 0.5pt; @@ -198,12 +247,11 @@ endfor; endfig; - % % Vektorfeld in der Ebene mit Lösungskurve -% H \in sl(2, R) +% Euler(4) % -beginfig(4) +beginfig(5) numeric unit; unit := 150; @@ -215,40 +263,88 @@ z3 = ( 0, -1.5) * unit; z4 = ( 0, 1.5) * unit; pickup pencircle scaled 1pt; -drawarrow (z1 shifted (-25,0))--(z2 shifted (25,0)); +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); -label.top(btex $x_1$ etex, z2 shifted (25,0)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); label.rt(btex $x_2$ etex, z4 shifted (0,10)); def dglField(expr x, y) = - (x, -y) + (-y, x) enddef; def dglFieldp(expr z) = dglField(xpart z, ypart z) enddef; -def curve(expr z, l) = +def curve(expr z, l, s) = path p; p := z; for t = 0 step 1 until l: - p := p--((point (length p) of p) shifted (0.01 * dglFieldp(point (length p) of p))); + p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p))); endfor; draw p scaled unit withcolor red; enddef; -for i = -1 step 2 until 1: - for k = -1 step 2 until 1: - curve((1.3 * i, 1.5 * k), 18); - curve((1.1 * i, 1.5 * k), 35); - curve((0.9 * i, 1.5 * k), 55); - curve((0.7 * i, 1.5 * k), 80); - curve((0.5 * i, 1.5 * k), 114); - curve((0.3 * i, 1.5 * k), 165); - curve((0.1 * i, 1.5 * k), 275); +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; +curve(A, 7, 0.125); + +% Draw arrows for each grid point +pickup pencircle scaled 0.5pt; +for x = -1.5 step 0.1 until 1.55: + for y = -1.5 step 0.1 until 1.55: + drawarrow ((x, y) * unit) + --(((x,y) * unit) shifted (8 * dglField(x,y))) + withcolor blue; endfor; endfor; +endfig; + +% +% Vektorfeld in der Ebene mit Lösungskurve +% Euler(5) +% +beginfig(6) + +numeric unit; +unit := 150; + +z0 = ( 0, 0); +z1 = (-1.5, 0) * unit; +z2 = ( 1.5, 0) * unit; +z3 = ( 0, -1.5) * unit; +z4 = ( 0, 1.5) * unit; + +pickup pencircle scaled 1pt; +drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0)); +drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10)); +label.top(btex $x_1$ etex, z2 shifted (10,0)); +label.rt(btex $x_2$ etex, z4 shifted (0,10)); + +def dglField(expr x, y) = + (-y, x) +enddef; + +def dglFieldp(expr z) = + dglField(xpart z, ypart z) +enddef; + +def curve(expr z, l, s) = + path p; + p := z; + for t = 0 step 1 until l: + p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p))); + endfor; + draw p scaled unit withcolor red; +enddef; + +pair A; +A := (1, 0); +draw A scaled unit withpen pencircle scaled 8bp withcolor red; +curve(A, 99, 0.01); + % Draw arrows for each grid point pickup pencircle scaled 0.5pt; for x = -1.5 step 0.1 until 1.55: @@ -262,5 +358,4 @@ endfor; endfig; - end; diff --git a/vorlesungen/slides/10/vektorfelder.tex b/vorlesungen/slides/10/vektorfelder.tex new file mode 100644 index 0000000..a4612aa --- /dev/null +++ b/vorlesungen/slides/10/vektorfelder.tex @@ -0,0 +1,82 @@ +% +% iterativ.tex -- Iterative Approximation in \dot x = J x +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% Erstellt durch Roy Seitz +% +% !TeX spellcheck = de_CH +\bgroup +\begin{frame}[t] + \setlength{\abovedisplayskip}{5pt} + \setlength{\belowdisplayskip}{5pt} + \frametitle{Als Strömungsfeld} + \vspace{-20pt} + \begin{columns}[t,onlytextwidth] + \begin{column}{0.48\textwidth} + \vfil + \only<1>{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-1.pdf} + } + \only<2>{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-2.pdf} + } + \only<3>{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-3.pdf} + } + \only<4>{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-4.pdf} + } + \only<5>{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-5.pdf} + } + \only<6->{ + \includegraphics[width=\linewidth,keepaspectratio] + {../slides/10/vektorfelder-6.pdf} + } + \vfil + \end{column} + \begin{column}{0.48\textwidth} + \begin{block}{Differentialgleichung} + \[ + \dot x(t) = J x(t) + \quad + J = \begin{pmatrix} 0 & -1 \\ 1 & \phantom-0 \end{pmatrix} + \quad + x_0 = \begin{pmatrix} 1 \\ 0 \end{pmatrix} + \] + \end{block} + + \only<2>{ + Nach einem Schritt der Länge $t$: + \[ + x(t) = x_0 + \dot x t = x_0 + Jx_0t = (1 + Jt)x_0 + \] + } + + \only<3>{ + Nach zwei Schritten der Länge $t/2$: + \[ + x(t) = \left(1 + \frac{Jt}{2}\right)^2x_0 + \] + } + + \only<4->{ + Nach n Schritten der Länge $t/n$: + \[ + x(t) = \left(1 + \frac{Jt}{n}\right)^nx_0 + \] + } + \only<6->{ + \[ + \lim_{n\to\infty}\left(1 + \frac{At}{n}\right)^n = \exp(At) + \] + } + \end{column} + \end{columns} +\end{frame} +\egroup -- cgit v1.2.1 From 8a32e72ace1b6442b2601b821e4d7ed24047939e Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Mon, 19 Apr 2021 11:10:24 +0200 Subject: Titleseite und Handout. --- vorlesungen/slides/10/taylor.tex | 36 +++++++++++++++++----------------- vorlesungen/slides/10/vektorfelder.tex | 14 ++++++------- 2 files changed, 25 insertions(+), 25 deletions(-) (limited to 'vorlesungen/slides') diff --git a/vorlesungen/slides/10/taylor.tex b/vorlesungen/slides/10/taylor.tex index 25745f5..8c71965 100644 --- a/vorlesungen/slides/10/taylor.tex +++ b/vorlesungen/slides/10/taylor.tex @@ -11,7 +11,7 @@ \setlength{\abovedisplayskip}{5pt} \setlength{\belowdisplayskip}{5pt} \frametitle{Beispiel $\sin(x)$} - \vspace{-20pt} + \ifthenelse{\boolean{presentation}}{\vspace{-20pt}}{\vspace{-8pt}} \begin{block}{Taylor-Approximationen von $\sin(x)$} \begin{align*} p_{ @@ -44,15 +44,15 @@ \draw[domain=-4:4, samples=50, smooth, blue] plot ({\x}, {sin(180/3.1415968*\x)}) node[above right] {$\sin(x)$}; - \uncover<1>{ + \uncover<1|handout:0>{ \draw[domain=-4:4, samples=2, smooth, red] plot ({\x}, {0}) node[above right] {$p_0(x)$};} - \uncover<2>{ + \uncover<2|handout:0>{ \draw[domain=-1.5:1.5, samples=2, smooth, red] plot ({\x}, {\x}) node[below right] {$p_1(x)$};} - \uncover<3>{ + \uncover<3|handout:0>{ \draw[domain=-1.5:1.5, samples=2, smooth, red] plot ({\x}, {\x}) node[below right] {$p_2(x)$};} @@ -60,19 +60,19 @@ \draw[domain=-3:3, samples=50, smooth, red] plot ({\x}, {\x - \x*\x*\x/6}) node[above right] {$p_3(x)$};} - \uncover<5>{ + \uncover<5|handout:0>{ \draw[domain=-3:3, samples=50, smooth, red] plot ({\x}, {\x - \x*\x*\x/6}) node[above right] {$p_4(x)$};} - \uncover<6>{ + \uncover<6|handout:0>{ \draw[domain=-3.9:3.9, samples=50, smooth, red] plot ({\x}, {\x - \x*\x*\x/6 + \x*\x*\x*\x*\x/120}) node[below right] {$p_5(x)$};} - \uncover<7>{ + \uncover<7|handout:0>{ \draw[domain=-3.9:3.9, samples=50, smooth, red] plot ({\x}, {\x - \x*\x*\x/6 + \x*\x*\x*\x*\x/120}) node[below right] {$p_6(x)$};} - \uncover<8->{ + \uncover<8-|handout:0>{ \draw[domain=-4:4, samples=50, smooth, red] plot ({\x}, {\x - \x*\x*\x/6 + \x*\x*\x*\x*\x/120 - \x*\x*\x*\x*\x*\x*\x/5040}) @@ -85,7 +85,7 @@ \setlength{\abovedisplayskip}{5pt} \setlength{\belowdisplayskip}{5pt} \frametitle{Taylor-Reihen} - \vspace{-20pt} + \ifthenelse{\boolean{presentation}}{\vspace{-20pt}}{\vspace{-8pt}} \begin{block}{Polynom-Approximationen von $f(t)$} \begin{align*} p_n(t) @@ -135,8 +135,8 @@ \begin{frame}[t] \setlength{\abovedisplayskip}{5pt} \setlength{\belowdisplayskip}{5pt} -% \frametitle{Beispiel $e^t$} -% \vspace{-20pt} + \frametitle{Beispiel $e^t$} + \ifthenelse{\boolean{presentation}}{\vspace{-20pt}}{\vspace{-8pt}} \begin{block}{Taylor-Approximationen von $e^{at}$} \begin{align*} p_{ @@ -171,15 +171,15 @@ \draw[domain=-4:1, samples=50, smooth, blue] plot ({\x}, {exp(\x)}) node[above right] {$\exp(t)$}; - \uncover<1>{ + \uncover<1|handout:0>{ \draw[domain=-4:4, samples=12, smooth, red] plot ({\x}, {1}) node[below right] {$p_0(t)$};} - \uncover<2>{ + \uncover<2|handout:0>{ \draw[domain=-4:1.5, samples=10, smooth, red] plot ({\x}, {1 + \x}) node[below right] {$p_1(t)$};} - \uncover<3>{ + \uncover<3|handout:0>{ \draw[domain=-4:1, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2}) node[below right] {$p_2(t)$};} @@ -187,22 +187,22 @@ \draw[domain=-4:1, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6}) node[below right] {$p_3(t)$};} - \uncover<5>{ + \uncover<5|handout:0>{ \draw[domain=-4:0.9, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24}) node[below left] {$p_4(t)$};} - \uncover<6>{ + \uncover<6|handout:0>{ \draw[domain=-4:0.9, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + \x*\x*\x*\x*\x/120}) node[below left] {$p_5(t)$};} - \uncover<7>{ + \uncover<7|handout:0>{ \draw[domain=-4:0.9, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + \x*\x*\x*\x*\x/120 + \x*\x*\x*\x*\x*\x/720}) node[below left] {$p_6(t)$};} - \uncover<8->{ + \uncover<8-|handout:0>{ \draw[domain=-4:0.9, samples=50, smooth, red] plot ({\x}, {1 + \x + \x*\x/2 + \x*\x*\x/6 + \x*\x*\x*\x/24 + \x*\x*\x*\x*\x/120 diff --git a/vorlesungen/slides/10/vektorfelder.tex b/vorlesungen/slides/10/vektorfelder.tex index a4612aa..3ba7cda 100644 --- a/vorlesungen/slides/10/vektorfelder.tex +++ b/vorlesungen/slides/10/vektorfelder.tex @@ -14,11 +14,11 @@ \begin{columns}[t,onlytextwidth] \begin{column}{0.48\textwidth} \vfil - \only<1>{ + \only<1|handout:0>{ \includegraphics[width=\linewidth,keepaspectratio] {../slides/10/vektorfelder-1.pdf} } - \only<2>{ + \only<2|handout:0>{ \includegraphics[width=\linewidth,keepaspectratio] {../slides/10/vektorfelder-2.pdf} } @@ -26,15 +26,15 @@ \includegraphics[width=\linewidth,keepaspectratio] {../slides/10/vektorfelder-3.pdf} } - \only<4>{ + \only<4|handout:0>{ \includegraphics[width=\linewidth,keepaspectratio] {../slides/10/vektorfelder-4.pdf} } - \only<5>{ + \only<5|handout:0>{ \includegraphics[width=\linewidth,keepaspectratio] {../slides/10/vektorfelder-5.pdf} } - \only<6->{ + \only<6-|handout:0>{ \includegraphics[width=\linewidth,keepaspectratio] {../slides/10/vektorfelder-6.pdf} } @@ -51,14 +51,14 @@ \] \end{block} - \only<2>{ + \only<2|handout:0>{ Nach einem Schritt der Länge $t$: \[ x(t) = x_0 + \dot x t = x_0 + Jx_0t = (1 + Jt)x_0 \] } - \only<3>{ + \only<3|handout:0>{ Nach zwei Schritten der Länge $t/2$: \[ x(t) = \left(1 + \frac{Jt}{2}\right)^2x_0 -- cgit v1.2.1