From dfcaa8ec3257a82bb77920524c929419ed2edb56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 30 Mar 2021 07:55:07 +0200 Subject: =?UTF-8?q?Tippfehler=20korrigiert=20(mit=20Dank=20f=C3=BCr=20den?= =?UTF-8?q?=20Hinweis=20an=20L.=20Zogg)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../30-endlichekoerper/uebungsaufgaben/3003.tex | 2 +- .../30-endlichekoerper/uebungsaufgaben/3004.tex | 30 +++++++++++----------- 2 files changed, 16 insertions(+), 16 deletions(-) (limited to 'buch/chapters/30-endlichekoerper') diff --git a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex index 8a83256..5dea881 100644 --- a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex +++ b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3003.tex @@ -46,7 +46,7 @@ Q(2)Q(1)Q(3)Q(4) \begin{pmatrix} 4&-17\\ -11&47 \end{pmatrix}. \end{align*} Daraus kann man ablesen, dass $s=4$ und $t=-17$, tatsächlich ist -$4\cdot 47-47\cdot 11=188-187=1$. +$4\cdot 47-17\cdot 11=188-187=1$. Wir schliessen daraus, dass $-17=30\in\mathbb{F}_{47}$ die multiplikative Inverse von $b=11$ ist. Die Rechnung $11\cdot 30 = 330 = 7\cdot 47 + 1$ zeigt, dass dies diff --git a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex index 046ac94..deb15dc 100644 --- a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex +++ b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3004.tex @@ -65,19 +65,19 @@ Die Gauss-Tableaux sind \begin{align*} \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 1 & 0\\ - 1 & 1 & 1 & 1 & 0\\ - 0 & 1 & 1 & 0 & 1\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 1 & 1\\ + 1 & 1 & 1 & 1 & 1\\ + 0 & 1 & 1 & 0 & 0\\ \hline \end{tabular} &\to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 1 & 0\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 1 & 1\\ 0 & 0 & 1 & 1 & 1\\ - 0 & 1 & 1 & 0 & 1\\ + 0 & 1 & 1 & 0 & 0\\ \hline \end{tabular} %\\ @@ -85,8 +85,8 @@ Die Gauss-Tableaux sind \to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 1 & 0\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 1 & 1\\ 0 & 0 & 1 & 1 & 1\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -95,8 +95,8 @@ Die Gauss-Tableaux sind \to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 1 & 0 & 1\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 1 & 0 & 0\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -106,8 +106,8 @@ Die Gauss-Tableaux sind \to \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline - 1 & 1 & 0 & 0 & 1\\ - 0 & 1 & 0 & 0 & 1\\ + 1 & 1 & 0 & 0 & 0\\ + 0 & 1 & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -118,7 +118,7 @@ Die Gauss-Tableaux sind \begin{tabular}{|>{$}c<{$}>{$}c<{$}>{$}c<{$}>{$}c<{$}|>{$}c<{$}|} \hline 1 & 0 & 0 & 0 & 0\\ - 0 & 1 & 0 & 0 & 1\\ + 0 & 1 & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 & 1\\ \hline @@ -128,7 +128,7 @@ In der ersten Zeile stehen die Schritt der Vorwärtsreduktion, in der zweiten die Schritte des Rückwärtseinsetzens. Als Lösung liest man ab \[ -x=\begin{pmatrix}0\\1\\0\\1 \end{pmatrix}, +x=\begin{pmatrix}0\\0\\0\\1 \end{pmatrix}, \] die Korrektheit kann man leicht durch Einsetzen überprüfen. \item -- cgit v1.2.1 From d6cada0da41ae105c293804d5b314d88c72bbcee Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Thu, 1 Apr 2021 13:39:23 +0200 Subject: Typo. --- buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch/chapters/30-endlichekoerper') diff --git a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex index 28f4d2c..8435bf3 100644 --- a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex +++ b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex @@ -1,4 +1,4 @@ -Das Polynom $m(X)=X^2+X+1$ ist als Polynom in $\mathbb{F}_3[X]$ irreduzibel. +Das Polynom $m(X)=X^2+2X+2$ ist als Polynom in $\mathbb{F}_3[X]$ irreduzibel. Dies bedeutet, dass der Ring der Polynome $\mathbb{F}_3[X] / (m(X))$ ein Körper ist, man bezeichnet ihn auch mit $\mathbb{F}_3(\alpha)$, wobei man sich $\alpha$ als eine Nullstelle von $m(X)$ -- cgit v1.2.1 From e3672b14f72766592748d50c0162f7544c5df907 Mon Sep 17 00:00:00 2001 From: Roy Seitz Date: Thu, 1 Apr 2021 15:20:39 +0200 Subject: =?UTF-8?q?Musterl=C3=B6sung=20korrigiert.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../30-endlichekoerper/uebungsaufgaben/3005.tex | 121 ++++++++++++++------- 1 file changed, 81 insertions(+), 40 deletions(-) (limited to 'buch/chapters/30-endlichekoerper') diff --git a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex index 8435bf3..65c18a2 100644 --- a/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex +++ b/buch/chapters/30-endlichekoerper/uebungsaufgaben/3005.tex @@ -1,10 +1,12 @@ +% !TeX spellcheck = de_CH Das Polynom $m(X)=X^2+2X+2$ ist als Polynom in $\mathbb{F}_3[X]$ irreduzibel. Dies bedeutet, dass der Ring der Polynome $\mathbb{F}_3[X] / (m(X))$ -ein Körper ist, man bezeichnet ihn auch mit $\mathbb{F}_3(\alpha)$, -wobei man sich $\alpha$ als eine Nullstelle von $m(X)$ +ein Körper ist. +Man bezeichnet ihn auch mit $\mathbb{F}_3(\alpha)$, +wobei man sich $\alpha$ als Nullstelle von $m(X)$ oder als die Matrix \[ -\alpha = \begin{pmatrix} 0&2\\1&2\end{pmatrix} +\alpha = \begin{pmatrix} 0&1\\1&1\end{pmatrix} \] vorstellen kann. \begin{teilaufgaben} @@ -70,17 +72,30 @@ Die Additions- und Multiplikationstabelle von $\mathbb{F}_3$ ist \end{tikzpicture} \end{center} \item -Wegen $m(\alpha)=\alpha^2+\alpha+1=0$ folgt $\alpha+1+\alpha^{-1}=0$ -oder $\alpha^{-1} = -\alpha - 1 = 2+2\alpha$. +Aus $m(\alpha)=\alpha^2+2\alpha+2=0$ folgt +\begin{align*} + \alpha + 2 + 2\alpha^{-1} + &= + 0 + \\ + 2\alpha^{-1} + &= + 2\alpha + 1 + \\ + \alpha^{-1} + &= + \alpha + 2 + . +\end{align*} Als Matrix kann man \[ \alpha^{-1} = -2\alpha + 2 +\alpha + 2 = \begin{pmatrix} -0&4\\ -2&4 +0&1\\ +1&1 \end{pmatrix} + \begin{pmatrix} @@ -88,10 +103,10 @@ Als Matrix kann man \end{pmatrix} = \begin{pmatrix} -2&4\\2&2 +2&1\\1&3 \end{pmatrix} \equiv -\begin{pmatrix}2&1\\2&0\end{pmatrix} +\begin{pmatrix}2&1\\1&0\end{pmatrix} \mod 3 \] schreiben und durch Nachrechnen verifizieren dass, tatsächlich gilt @@ -99,17 +114,17 @@ schreiben und durch Nachrechnen verifizieren dass, tatsächlich gilt \alpha\alpha^{-1} = \begin{pmatrix} -0&2\\ -1&2 +0&1\\ +1&1 \end{pmatrix} \begin{pmatrix} 2&1\\ -2&0 +1&0 \end{pmatrix} = \begin{pmatrix} -4&0\\ -6&1 +1&0\\ +3&1 \end{pmatrix} \equiv \begin{pmatrix} @@ -125,9 +140,11 @@ Im ersten Schritt ist es \[ \arraycolsep=1.4pt \begin{array}{rcrcrcrcrcr} - \llap{$($}X^2&+&X&+&1\rlap{$)$}&\;:&(X&+&1)&=&X = q_1\\ -\llap{$-($}X^2&+&X\rlap{$)$}& & & & & & & & \\ \cline{1-3} - & &0&+&1 &\rlap{$\mathstrut = r_1$}\phantom{)}& & & & & \\ + \llap{$($}X^2&+&2X&+&2\rlap{$)$}&\;:&(X&+&1)&=&X + 1 = q_1\\ + \llap{$-($}X^2&+&X\rlap{$)$}& & & & & & & & \\ \cline{1-3} + & &X&+&2 & & & & & & \\ + & & \llap{$-($}X&+&1\rlap{$)$} & & & & & & \\ \cline{3-5} + & & & &1 &\rlap{$\mathstrut = r_1$}\phantom{)}& & & & &\\ \end{array} \] Die nächste Division ist $(X+1) : 1$, die als Quotient $q_2=X+1$ und den @@ -152,53 +169,77 @@ Q(q_1) 0&1\\1&2X+2 \end{pmatrix} \begin{pmatrix} -0&1\\{\color{red}1}&{\color{red}2X} +0&1\\1&2X+2 \end{pmatrix} = \begin{pmatrix} -{\color{red}1}&{\color{red}2X}\\ -2X&X^2+X+1 +1&2X+2\\ +2X+2&X^2+X+2 \end{pmatrix}. \end{align*} -Die gesuchten Polynome sind $s=1$ und $t=2X$ und man kann nachrechnen, +Die gesuchten Polynome sind $s=1$ und $t=2X+2$ und man kann nachrechnen, dass \begin{align*} s\cdot m(X) + t\cdot (X+1) &= -X^2+X+1 + 2X\cdot (X+1) -= -X^2+X+1 + 2X^2 + 2X +X^2+2X+2 + (2X+2)\cdot (X+1) \\ -&= 3X^2+3X+1\equiv 1 \mod 3. +&= +X^2+2X+2 + 2X^2 + 4X + 2 +\\ +&= 3X^2+6X+1\\ +&\equiv 1 \mod 3. \end{align*} Natürlich kann man $s$ und $t$ auch mit der erweiterten Tabelle finden: \begin{center} \begin{tabular}{|>{$}c<{$}|>{$}c<{$}>{$}c<{$}|>{$}c<{$}|>{$}c<{$}|>{$}c<{$}>{$}c<{$}|} \hline -k& a_k&b_k& q_k&r_k& c_k& d_k\\ +k& a_k&b_k & q_k&r_k& c_k& d_k\\ \hline - & & & & & 1& 0\\ -0&X^2+X+1&X+1& X & 1& 0& 1\\ -1& X+1& 1& X+1& 0&{\color{red} 1}&{\color{red} 2X}\\ -2& 1& 0& & 0&2X+2& 2X^2+2X\\ + & & & & & 1& 0\\ +0&X^2+2X+2&X+1& X+1& 1& 0& 1\\ +1& X+1& 1& X+1& 0& 1& 2X+2\\ +2& 1& 0& & 0&2X+2&X^2+2X+2\\ \hline \end{tabular} \end{center} -In allen Fällen ist also $(1+X)^{-1} = 2X$. +In allen Fällen ist also $(X+1)^{-1} = 2X+2$. \item -Wegen $m(\alpha)=0$ ist $\alpha^2=-\alpha-1=2\alpha+2$ und damit +Wegen $m(\alpha)=\alpha^2 + 2\alpha + 2 = 0$ ist +$\alpha^2=-2\alpha-2=\alpha+1$ und damit \begin{align*} \alpha^3 &= -\alpha\cdot \alpha^2 = \alpha (2\alpha +2) = -2\alpha^2 + 2\alpha -= -2(\underbrace{\alpha^2 + \alpha + 1}_{\displaystyle=0} + 2) -= -2\cdot 2 +\alpha\cdot \alpha^2 = \alpha (\alpha +1) = +\alpha^2 + \alpha = -1. +2\alpha+1 +. +\end{align*} +Die restlichen Potenzen von $\alpha$ sind +\begin{align*} + \alpha^4 + &= + \alpha (2\alpha+1) + = 2\alpha^2 + \alpha + = 2\alpha + 2 + \alpha = 2 + \\ + \alpha^5 + &= + 2\alpha + \\ + \alpha^6 + &= + 2\alpha^2 + = + 2\alpha + 2 + \\ + \alpha^7 + &= + 2\alpha^2 + 2\alpha + = + \alpha + 2 \qedhere \end{align*} \end{teilaufgaben} -- cgit v1.2.1 From 47354a0dd46c84826157a474ba2560156de509ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 8 Apr 2021 08:52:45 +0200 Subject: binomial images improved --- .../30-endlichekoerper/images/binomial2.pdf | Bin 19246 -> 19417 bytes .../30-endlichekoerper/images/binomial2.tex | 19 +++++++ .../30-endlichekoerper/images/binomial5.pdf | Bin 26050 -> 27894 bytes .../30-endlichekoerper/images/binomial5.tex | 58 +++++++++++++++++++++ 4 files changed, 77 insertions(+) (limited to 'buch/chapters/30-endlichekoerper') diff --git a/buch/chapters/30-endlichekoerper/images/binomial2.pdf b/buch/chapters/30-endlichekoerper/images/binomial2.pdf index 92be742..0a07c92 100644 Binary files a/buch/chapters/30-endlichekoerper/images/binomial2.pdf and b/buch/chapters/30-endlichekoerper/images/binomial2.pdf differ diff --git a/buch/chapters/30-endlichekoerper/images/binomial2.tex b/buch/chapters/30-endlichekoerper/images/binomial2.tex index 77ccb57..1856844 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial2.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial2.tex @@ -279,6 +279,25 @@ \dreieck{32}{0} \dreieck{32}{32} +\dreieck{33}{0} +\dreieck{33}{1} +\dreieck{33}{32} +\dreieck{33}{33} + +\dreieck{34}{0} +\dreieck{34}{2} +\dreieck{34}{32} +\dreieck{34}{34} + +\dreieck{35}{0} +\dreieck{35}{1} +\dreieck{35}{2} +\dreieck{35}{3} +\dreieck{35}{32} +\dreieck{35}{33} +\dreieck{35}{34} +\dreieck{35}{35} + \def\etikett#1#2#3{ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; } diff --git a/buch/chapters/30-endlichekoerper/images/binomial5.pdf b/buch/chapters/30-endlichekoerper/images/binomial5.pdf index 1b2a813..a4bdf51 100644 Binary files a/buch/chapters/30-endlichekoerper/images/binomial5.pdf and b/buch/chapters/30-endlichekoerper/images/binomial5.pdf differ diff --git a/buch/chapters/30-endlichekoerper/images/binomial5.tex b/buch/chapters/30-endlichekoerper/images/binomial5.tex index 750b7e0..815e611 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial5.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial5.tex @@ -358,6 +358,64 @@ \dreieck{32}{31}{2} \dreieck{32}{32}{1} +\dreieck{33}{0}{1} +\dreieck{33}{1}{3} +\dreieck{33}{2}{3} +\dreieck{33}{3}{1} +\dreieck{33}{5}{1} +\dreieck{33}{6}{3} +\dreieck{33}{7}{3} +\dreieck{33}{8}{1} +\dreieck{33}{25}{1} +\dreieck{33}{26}{3} +\dreieck{33}{27}{3} +\dreieck{33}{28}{1} +\dreieck{33}{30}{1} +\dreieck{33}{31}{3} +\dreieck{33}{32}{3} +\dreieck{33}{33}{1} + +\dreieck{34}{0}{1} +\dreieck{34}{1}{4} +\dreieck{34}{2}{1} +\dreieck{34}{3}{4} +\dreieck{34}{4}{1} +\dreieck{34}{5}{1} +\dreieck{34}{6}{4} +\dreieck{34}{7}{1} +\dreieck{34}{8}{4} +\dreieck{34}{9}{1} +\dreieck{34}{25}{1} +\dreieck{34}{26}{4} +\dreieck{34}{27}{1} +\dreieck{34}{28}{4} +\dreieck{34}{29}{1} +\dreieck{34}{30}{1} +\dreieck{34}{31}{4} +\dreieck{34}{32}{1} +\dreieck{34}{33}{4} +\dreieck{34}{34}{1} + +\dreieck{35}{0}{1} +\dreieck{35}{5}{2} +\dreieck{35}{10}{1} +\dreieck{35}{25}{1} +\dreieck{35}{30}{2} +\dreieck{35}{35}{1} + +\dreieck{36}{0}{1} +\dreieck{36}{1}{1} +\dreieck{36}{5}{2} +\dreieck{36}{6}{2} +\dreieck{36}{10}{1} +\dreieck{36}{11}{1} +\dreieck{36}{25}{1} +\dreieck{36}{26}{1} +\dreieck{36}{30}{2} +\dreieck{36}{31}{2} +\dreieck{36}{35}{1} +\dreieck{36}{36}{1} + \def\etikett#1#2#3{ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; } -- cgit v1.2.1 From ee33b6de909df12cdd757abcb5db04fc9d2b5a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 13 Apr 2021 15:46:41 +0200 Subject: kgV --- buch/chapters/30-endlichekoerper/euklid.tex | 236 ++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) (limited to 'buch/chapters/30-endlichekoerper') diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index db326f8..9bc36a6 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -431,6 +431,7 @@ zur Bestimmung des grössten gemeinsamen Teilers von $76415$ und $23205$ zur Berechnung der Koeffizienten $c_k$ und $d_k$ Wir schreiben die gefundenen Zahlen in eine Tabelle: \begin{center} +\label{buch:endlichekoerper:beispiel1erweitert} \renewcommand{\arraystretch}{1.1} \begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} \hline @@ -614,4 +615,239 @@ Aus den letzten zwei Zeilen folgt $ua-vb = ab/g - ab/g = 0$, wie erwartet. \end{beispiel} +% +% Das kleinste gemeinsame Vielfache +% +\subsection{Das kleinste gemeinsame Vielfache +\label{buch:subsection:daskgv}} +Das kleinste gemeinsame Vielfache zweier Zahlen $a$ und $b$ ist +\[ +\operatorname{kgV}(a,b) += +\frac{ab}{\operatorname{ggT}(a,b)}. +\] +Wir suchen nach einen Algorithmus, mit dem man das kleinste gemeinsame +Vielfache effizient berechnen kann. + +Die Zahlen $a$ und $b$ sind beide Vielfache des grössten gemeinsamen +Teilers $g=\operatorname{ggT}(a,b)$, es gibt also Zahlen $u$ und $v$ derart, +dass $a=ug$ und $b=vg$. +Wenn $t$ ein gemeinsamer Teiler von $u$ und $v$ ist, dann ist $tg$ ein +grösserer gemeinsamer Teiler von $a$ und $b$. +Dies kann nicht sein, also müssen $u$ und $v$ teilerfremd sein. +Das kleinste gemeinsame Vielfache von $a$ und $b$ ist dann $ugv=av=ub$. +Die Bestimmung des kleinsten gemeinsamen Vielfachen ist also gleichbedeutend +mit der Bestimmung der Zahle $u$ und $v$. + +Die definierende Eigenschaften von $u$ und $v$ kann man in Matrixform als +\begin{equation} +\begin{pmatrix} +a\\b +\end{pmatrix} += +\underbrace{ +\begin{pmatrix} +u&?\\ +v&? +\end{pmatrix}}_{\displaystyle =K} +\begin{pmatrix} +\operatorname{ggT}(a,b)\\ 0 +\end{pmatrix} +\label{buch:eindlichekoerper:eqn:uvmatrix} +\end{equation} +geschrieben werden, wobei wir die Matrixelemente $?$ nicht kennen. +Diese Elemente müssen wir auch nicht kennen, um $u$ und $v$ zu bestimmen. + +Bei der Bestimmung des grössten gemeinsamen Teilers wurde der Vektor auf +der rechten Seite von~\eqref{buch:eindlichekoerper:eqn:uvmatrix} bereits +gefunden. +Die Matrizen $Q(q_i)$, die die einzelne Schritte des euklidischen +Algorithmus beschreiben, ergeben ihn als +\[ +\begin{pmatrix} +\operatorname{ggT}(a,b)\\0 +\end{pmatrix} += +Q(q_n)Q(q_{n-1}) \dots Q(q_1)Q(q_0) +\begin{pmatrix}a\\b\end{pmatrix}. +\] +Indem wir die Matrizen $Q(q_n)$ bis $Q(q_0)$ auf die linke Seite der +Gleichung schaffen, erhalten wir +\[ +\begin{pmatrix}a\\b\end{pmatrix} += +Q(q_0)^{-1} +Q(q_1)^{-1} +\dots +Q(q_{n-1})^{-1} +Q(q_n) +\begin{pmatrix}\operatorname{ggT}(a,b)\\0\end{pmatrix}. +\] +Eine mögliche Lösung für die Matrix $K$ in +\eqref{buch:eindlichekoerper:eqn:uvmatrix} +ist der die Matrix +\[ +K += +Q(q_0)^{-1} +Q(q_1)^{-1} +\dots +Q(q_{n-1})^{-1} +Q(q_n). +\] +Insbesondere ist die Matrix $K$ die Inverse der früher gefundenen +Matrix $Q$. + +Die Berechnung der Matrix $K$ als Inverse von $Q$ ist nicht sehr +effizient. +Genauso wie es möglich war, das Produkt $Q$ der Matrizen +$Q(q_k)$ iterativ zu bestimmen, muss es auch eine Rekursionsformel +für das Produkt der inversen Matrizen $Q(q_k)^{-1}$ geben. + +Schreiben wir die die gesuchte Matrix +\[ +K_k += +Q(q_0)^{-1}\dots Q(q_{k-1})^{-1} += +\begin{pmatrix} +e_k & e_{k-1}\\ +f_k & f_{k-1} +\end{pmatrix}, +\] +dann kann, kann $K_k$ durch die Rekursion +\[ +K_{k+1} += +K_{k} Q(q_k)^{-1} += +K_k K(q_k) +\qquad\text{mit}\qquad +K_0 = \begin{pmatrix}1&0\\0&1\end{pmatrix} = I +\] +berechnen. +Die Inverse von $Q(q)$ ist +\[ +K(q) += +Q(q)^{-1} += +\frac{1}{\det Q(q)} +\begin{pmatrix} +q&1\\ +1&0 +\end{pmatrix} +\quad\text{denn}\quad +K(q)Q(q) += +\begin{pmatrix} +q&1\\ +1&0 +\end{pmatrix} +\begin{pmatrix} +0&1\\ +1&-q +\end{pmatrix} += +\begin{pmatrix} +1&0\\ +0&1 +\end{pmatrix}. +\] +Da die zweite Spalte von $K(q)$ die erste Spalte einer Einheitsmatrix +ist, wird die zweite Spalte des Produktes $AK(q)$ immer die erste Spalte +von $A$ sein. +In $K_{k+1}$ ist daher nur die erste Spalte neu, die zweite Spalte ist +die erste Spalte von $K_k$. + +Wenn $K_k$ die Matrixelemente +\[ +K_k += +\begin{pmatrix} +e_k & e_{k-1} \\ +f_k & f_{k-1} +\end{pmatrix} +\qquad\text{und}\qquad +K_0 = +\begin{pmatrix} +1&0\\ +0&1 +\end{pmatrix} +\Rightarrow +\left\{ +\begin{aligned} +e_0 &= 1 & e_{-1} &= 0\\ +f_0 &= 0 & f_{-1} &= 1 +\end{aligned} +\right. +\] +Daraus kann man Rekursionsformeln für die Folgen $e_k$ und $f_k$ +ablesen, es gilt +\begin{align*} +e_{k+1} &= q_ke_k + e_{k-1} \\ +f_{k+1} &= q_kf_k + f_{k-1} +\end{align*} +für $k=0,1,\dots ,n$. +Damit können $e_k$ und $f_k$ gleichzeitig mit den Zahlen $c_k$ und $d_k$ +in einer Tabelle berechnen. + +\begin{beispiel} +Wir erweitern das Beispiel von +Seite~\pageref{buch:endlichekoerper:beispiel1erweitert} +um die beiden Spalten zur Berechnung von $e_k$ und $f_k$: +\begin{center} +\renewcommand{\arraystretch}{1.1} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} +\hline +k& a_k& b_k& q_k& r_k& c_k& d_k& e_k& f_k\\ +\hline + & & & & & 1& 0& 0& 1\\ +0& 76415& 23205& 3& 6800& 0& 1& 1& 0\\ +1& 23205& 6800& 3& 2805& 1& -3& 3& 1\\ +2& 6800& 2805& 2& 1190& -3& 10& 10& 3\\ +3& 2805& 1190& 2& 425& 7& -23& 23& 7\\ +4& 1190& 425& 2& 340& -17& 56& 56& 17\\ +5& 425& 340& 1& 85& 41& -135& 135& 41\\ +6& 340& 85& 4& 0& -58& 191& 191& 58\\ +7& 85& 0& & & 273& -899& 899& 273\\ +\hline +\end{tabular} +\end{center} +Der grösste gemeinsame Teiler ist $\operatorname{ggT}(a,b)=85$. +Aus der letzten Zeile der Tabelle kann man jetzt die Zahlen $u=e_7=899$ +und $v=f_7=273$ ablesen, und tatsächlich ist +\[ +a=76415 = 899\cdot 85 +\qquad\text{und}\qquad +b=23205 = 273 \cdot 85. +\] +Daraus kann man dann auch das kleinste gemeinsame Vielfache ablesen, es ist +\[ +\operatorname{kgV}(a,b) += +\operatorname{kgV}(76415,23205) += +\left\{ +\begin{aligned} +ub +&= +899\cdot 23205\\ +va +&= +273\cdot 76415 +\end{aligned} +\right\} += +20861295. +\qedhere +\] +\end{beispiel} + +Der erweiterte Algorithmus kann auch dazu verwendet werden, +das kleinste gemeinsame Vielfache zweier Polynome zu berechnen. +Dies wird zum Beispiel bei der Decodierung des Reed-Solomon-Codes in +Kapitel~\ref{chapter:reedsolomon} verwendet. + + -- cgit v1.2.1 From b94b4240a20b40871b914ddd7ae5df14f020e112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 13 Apr 2021 15:58:59 +0200 Subject: typos --- buch/chapters/30-endlichekoerper/euklid.tex | 38 +++++++---------------------- 1 file changed, 9 insertions(+), 29 deletions(-) (limited to 'buch/chapters/30-endlichekoerper') diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index 9bc36a6..8aa2f71 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -637,7 +637,7 @@ grösserer gemeinsamer Teiler von $a$ und $b$. Dies kann nicht sein, also müssen $u$ und $v$ teilerfremd sein. Das kleinste gemeinsame Vielfache von $a$ und $b$ ist dann $ugv=av=ub$. Die Bestimmung des kleinsten gemeinsamen Vielfachen ist also gleichbedeutend -mit der Bestimmung der Zahle $u$ und $v$. +mit der Bestimmung der Zahlen $u$ und $v$. Die definierende Eigenschaften von $u$ und $v$ kann man in Matrixform als \begin{equation} @@ -704,7 +704,7 @@ Genauso wie es möglich war, das Produkt $Q$ der Matrizen $Q(q_k)$ iterativ zu bestimmen, muss es auch eine Rekursionsformel für das Produkt der inversen Matrizen $Q(q_k)^{-1}$ geben. -Schreiben wir die die gesuchte Matrix +Schreiben wir die gesuchte Matrix \[ K_k = @@ -715,8 +715,8 @@ e_k & e_{k-1}\\ f_k & f_{k-1} \end{pmatrix}, \] -dann kann, kann $K_k$ durch die Rekursion -\[ +dann kann man $K_k$ durch die Rekursion +\begin{equation} K_{k+1} = K_{k} Q(q_k)^{-1} @@ -724,7 +724,8 @@ K_{k} Q(q_k)^{-1} K_k K(q_k) \qquad\text{mit}\qquad K_0 = \begin{pmatrix}1&0\\0&1\end{pmatrix} = I -\] +\label{buch:endlichekoerper:eqn:kgvrekursion} +\end{equation} berechnen. Die Inverse von $Q(q)$ ist \[ @@ -760,30 +761,9 @@ von $A$ sein. In $K_{k+1}$ ist daher nur die erste Spalte neu, die zweite Spalte ist die erste Spalte von $K_k$. -Wenn $K_k$ die Matrixelemente -\[ -K_k -= -\begin{pmatrix} -e_k & e_{k-1} \\ -f_k & f_{k-1} -\end{pmatrix} -\qquad\text{und}\qquad -K_0 = -\begin{pmatrix} -1&0\\ -0&1 -\end{pmatrix} -\Rightarrow -\left\{ -\begin{aligned} -e_0 &= 1 & e_{-1} &= 0\\ -f_0 &= 0 & f_{-1} &= 1 -\end{aligned} -\right. -\] -Daraus kann man Rekursionsformeln für die Folgen $e_k$ und $f_k$ -ablesen, es gilt +Aus der Rekursionsformel \eqref{buch:endlichekoerper:eqn:kgvrekursion} +für die Matrizen $K_k$ kann man jetzt eine Rekursionsbeziehung +für die Folgen $e_k$ und $f_k$ ablesen, es gilt \begin{align*} e_{k+1} &= q_ke_k + e_{k-1} \\ f_{k+1} &= q_kf_k + f_{k-1} -- cgit v1.2.1 From 2e2b334e97f9054732a99db70b9f279c56eaa1c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 13 Apr 2021 21:16:46 +0200 Subject: add example from Weitz --- buch/chapters/30-endlichekoerper/euklid.tex | 150 ++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) (limited to 'buch/chapters/30-endlichekoerper') diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index 8aa2f71..15fd88c 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -519,6 +519,7 @@ Insbesondere ist der euklidische Algorithmus genauso wie die Matrixschreibweise auch für Polynome durchführbar. \begin{beispiel} +\label{buch:endlichekoerper:eqn:polynomggt} Wir berechnen als Beispiel den grössten gemeinsamen Teiler der Polynome \[ @@ -829,5 +830,154 @@ das kleinste gemeinsame Vielfache zweier Polynome zu berechnen. Dies wird zum Beispiel bei der Decodierung des Reed-Solomon-Codes in Kapitel~\ref{chapter:reedsolomon} verwendet. +\subsubsection{Polynome +\label{buch:endlichekoerper:eqn:polynomkgv}} +Im Beispiel auf Seite~\pageref{buch:endlichekoerper:eqn:polynomggt} +wird der grösste gemeinsame Teiler der Polynome +\[ +a += +X^4 - 2X^3 -7 X^2 + 8X + 12, +\qquad +b = X^4 + X^3 -7X^2 -X + 6 +\] +berechnet. +Dies kann jetzt erweitert werden für die Berechnung des kleinsten +gemeinsamen Vielfachen. + +\begin{beispiel} +Die Berechnungstabelle nur für die Spalten $e_k$ und $f_k$ ergibt +\begin{center} +\renewcommand{\arraystretch}{1.4} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} +\hline +k& q_k& e_k& f_k\\ +\hline + & & 0& 1\\ +0& 1& 1& 0\\ +1&-\frac13X-\frac13& 1& 1\\ +2& \frac34X+\frac34& -\frac13X+\frac23& -\frac13X-\frac13\\ + & &-\frac14X^2+\frac14X+\frac32&-\frac14X^2-\frac12X+\frac34\\ +\hline +\end{tabular} +\end{center} +Daraus kann man ablesen, dass +\[ +u += +-\frac14X^2+\frac14X+\frac32 +\qquad\text{und}\qquad +v += +-\frac14X^2-\frac12X+\frac34. +\] +Daraus ergibt sich das kleinste gemeinsame Vielfache auf zwei verschiedene Weisen: +\[ +\operatorname{ggT}(a,b) += +\left\{ +\begin{aligned} +\textstyle +(-\frac14X^2+\frac14X+\frac32)&\cdot(X^4 - 2X^3 -7 X^2 + 8X + 12) +\\ +\textstyle +(-\frac14X^2-\frac12X+\frac34)&\cdot(X^4 + X^3 -7X^2 -X + 6) +\end{aligned} +\right\} += +-\frac14X^6+\frac72X^4-\frac{49}4X^2+9. +\] +Die beiden Berechnungsmöglichkeiten stimmen wie erwartet überein. +\end{beispiel} + +\subsubsection{Anwendung: Decodierung des Reed-Solomon-Codes} +Der Reed-Solomon-Code verwendet Polynome zur Codierung der Daten, +dies wird in Kapitel~\ref{chapter:reedsolomon} im Detail beschrieben. +Bei der Decodierung muss der Faktor $u$ für zwei gegebene Polynome +$n(X)$ und $r(X)$ bestimmt werden. +Allerdings ist das Polynom $r(X)$ nicht vollständig bekannt, nur die +ersten paar Koeffizienten sind gegeben. +Dafür weiss man zusätzlich, wieviele Schritte genau der Euklidische +Algorithmus braucht. +Daraus lässt sich genügend Information gewinnen, um die Faktoren $u$ +und $v$ zu bestimmen. +Das Video \url{https://youtu.be/uOLW43OIZJ0} von Edmund Weitz +erklärt die Theorie hinter dieser Teilaufgabe anhand von Beispielen. + +\begin{beispiel} +Wir berechnen also die Faktoren $u$ und $v$ für die beiden Polynome +\begin{align*} +n(X) +&= +X^12+12 +\\ +r(X) +&= +7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + w(X) +\end{align*} +in $\mathbb{F}_13[X]$, wobei $w(X)$ ein unbekanntes Polynom vom Grad $5$ ist. +Man weiss zusätzlich noch, dass der euklidische Algorithmus genau drei +Schritte braucht, es gibt also genau drei Quotienten, die in die +Berechnung der Zahlen $e_k$ und $f_k$ einfliessen. +Im ersten Schritt des euklidischen Algorithmus ist der Quotient +$n(X) / r(X)$ zu bestimmen, der Grad $1$ haben muss. +\begin{align*} +a_0=n(X) &= X^12+12 +\\ +b_0=r(X) &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + \dots +\\ +q_0 &= 2X+10 +\\ +r_0 = a_0-b_0\cdot q_0 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +a_1 &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + \dots +\\ +b_1 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +q_1 &= 2X+2 +\\ +r_1 = a_1 - b_1q_1 &= 5X^9 + 10 X^8 + \dots +\\ +a_2 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +b_2 &= 5X^9 + 10 X^8 + \dots +\\ +q_2 &= 2X+10 +\end{align*} +Aus den Polynomen $q_k$ können jetzt die Faktoren $u$ und $v$ +bestimmt werden: +\begin{center} +\begin{tabular}{|>{$}c<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} +\hline +k& q_k& e_k& f_k\\ +\hline + & & 0& 1\\ +0& 2X+10& 1& 0\\ +1& 2X+2 & 2X+10& 1\\ +2& 2X+10& 4X^2+11X+8& 2X+2\\ + & & 8X^3+10X^2+11X+12& 4X^2+11X+8\\ +\hline +\end{tabular} +\end{center} +Die Faktorisierung des Polynoms +\[ +u += +8X^3+10X^2+11X+12 +\] +kann bestimmt werden, indem man alle Zahlen $1,2,\dots,12\in\mathbb{F}_{13}$ +einsetzt. +Man findet so die Nullstellen $3$, $4$ und $8$, also muss das Polynom +$u$ faktorisiert werden können als +\[ +u= +8(X-3)(X-4)(X-8) += +8X^3 - 120X^2+544X-768 += +8X^3 +10X^2+11X+12. +\qedhere +\] +\end{beispiel} -- cgit v1.2.1 From 1fda316d0aacd6d068b3af4281871bee5b8e72cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 13 Apr 2021 21:21:25 +0200 Subject: add rs example --- .../30-endlichekoerper/rechnungen/rs.maxima | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 buch/chapters/30-endlichekoerper/rechnungen/rs.maxima (limited to 'buch/chapters/30-endlichekoerper') diff --git a/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima b/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima new file mode 100644 index 0000000..9116023 --- /dev/null +++ b/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima @@ -0,0 +1,29 @@ +n: X^12 + 12; +r: 7*X^11 + 4*X^10 + X^9 + 12*X^8 + 2*X^7 + 12*X^6; + +q0: 2*X+10; +q1: 2*X+2; +q2: 2*X+10; + +a0: n; +b0: r; +r0: expand(a0 - q0 * b0); + +a1: b0; +b1: r0; +r1: expand(a1 - q1 * b1); + +a2: b1; +b2: r1; +r2: expand(a2 - q2 * b2); + +K: matrix([1,0],[0,1]); + +K: expand(K . matrix([q0,1],[1,0])); +K: expand(K . matrix([q1,1],[1,0])); +K: expand(K . matrix([q2,1],[1,0])); + +u: 8*X^3+10*X^2+11*X+12; +v: 4*X^2+11*X+8; + +factor(u), modulus:13; -- cgit v1.2.1 From b41e50e636a895ad3c425896ef4b3fb7c89dbb3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 14 Apr 2021 10:16:15 +0200 Subject: typo --- buch/chapters/30-endlichekoerper/euklid.tex | 6 +++--- buch/chapters/30-endlichekoerper/galois.tex | 6 +++--- buch/chapters/30-endlichekoerper/wurzeln.tex | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'buch/chapters/30-endlichekoerper') diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index 15fd88c..094a07a 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -909,13 +909,13 @@ Wir berechnen also die Faktoren $u$ und $v$ für die beiden Polynome \begin{align*} n(X) &= -X^12+12 +X^{12}+12 \\ r(X) &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + w(X) \end{align*} -in $\mathbb{F}_13[X]$, wobei $w(X)$ ein unbekanntes Polynom vom Grad $5$ ist. +in $\mathbb{F}_{13}[X]$, wobei $w(X)$ ein unbekanntes Polynom vom Grad $5$ ist. Man weiss zusätzlich noch, dass der euklidische Algorithmus genau drei Schritte braucht, es gibt also genau drei Quotienten, die in die Berechnung der Zahlen $e_k$ und $f_k$ einfliessen. @@ -923,7 +923,7 @@ Berechnung der Zahlen $e_k$ und $f_k$ einfliessen. Im ersten Schritt des euklidischen Algorithmus ist der Quotient $n(X) / r(X)$ zu bestimmen, der Grad $1$ haben muss. \begin{align*} -a_0=n(X) &= X^12+12 +a_0=n(X) &= X^{12}+12 \\ b_0=r(X) &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + \dots \\ diff --git a/buch/chapters/30-endlichekoerper/galois.tex b/buch/chapters/30-endlichekoerper/galois.tex index fbacba6..2f8117e 100644 --- a/buch/chapters/30-endlichekoerper/galois.tex +++ b/buch/chapters/30-endlichekoerper/galois.tex @@ -27,7 +27,7 @@ Primzahlpotenz $p^n$ von Elementen haben und die die Basis wichtiger kryptographischer Algorithmen sind. % -% Arithmetik module $o$ +% Arithmetik modulo $o$ % \subsection{Arithmetik modulo $p$ \label{buch:subsection:arithmetik-modulo-p}} @@ -413,7 +413,7 @@ Elemente. \begin{figure} \centering \includegraphics{chapters/30-endlichekoerper/images/binomial2.pdf} -\caption{Binomialkoeffizienten module $2$ im Pascal-Dreieck. +\caption{Binomialkoeffizienten modulo $2$ im Pascal-Dreieck. Auf den rot hinterlegten Zeilen, die zu Exponenten der Form $2^k$ gehören, sind alle Koeffizienten ausser dem ersten und letzten durch $2$ teilbar. \label{buch:endliche-koerper:fig:binomial2}} @@ -423,7 +423,7 @@ sind alle Koeffizienten ausser dem ersten und letzten durch $2$ teilbar. \begin{figure} \centering \includegraphics{chapters/30-endlichekoerper/images/binomial5.pdf} -\caption{Binomialkoeffizienten module $5$ im Pascal-Dreieck. +\caption{Binomialkoeffizienten modulo $5$ im Pascal-Dreieck. Die von $0$ verschiedenen Reste werden durch Farben dargestellt: $1=\text{schwarz}$, $2=\text{\color{farbe2}rot}$, diff --git a/buch/chapters/30-endlichekoerper/wurzeln.tex b/buch/chapters/30-endlichekoerper/wurzeln.tex index 02429dc..600336c 100644 --- a/buch/chapters/30-endlichekoerper/wurzeln.tex +++ b/buch/chapters/30-endlichekoerper/wurzeln.tex @@ -731,7 +731,7 @@ dass sf+tm=1. \] Reduzieren wir modulo $m$, wird daraus $af=1$ in $\Bbbk[X]/m\Bbbk[X]$. -Das Polynom $a$, reduziert module $m$, ist also die multiplikative +Das Polynom $a$, reduziert modulo $m$, ist also die multiplikative Inverse von $f$. Bei der praktischen Durchführung des euklidischen Algorithmus ist der -- cgit v1.2.1 From 432c3bebedb451bae53eb37e2078eb7de28ece79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 20 Apr 2021 12:42:49 +0200 Subject: typos --- buch/chapters/30-endlichekoerper/euklid.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch/chapters/30-endlichekoerper') diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index 094a07a..0bf3016 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -681,7 +681,7 @@ Q(q_0)^{-1} Q(q_1)^{-1} \dots Q(q_{n-1})^{-1} -Q(q_n) +Q(q_n)^{-1} \begin{pmatrix}\operatorname{ggT}(a,b)\\0\end{pmatrix}. \] Eine mögliche Lösung für die Matrix $K$ in -- cgit v1.2.1