diff options
Diffstat (limited to 'buch/chapters/30-endlichekoerper')
-rw-r--r-- | buch/chapters/30-endlichekoerper/euklid.tex | 366 | ||||
-rw-r--r-- | buch/chapters/30-endlichekoerper/galois.tex | 6 | ||||
-rw-r--r-- | buch/chapters/30-endlichekoerper/images/binomial2.pdf | bin | 19246 -> 19417 bytes | |||
-rw-r--r-- | buch/chapters/30-endlichekoerper/images/binomial2.tex | 631 | ||||
-rw-r--r-- | buch/chapters/30-endlichekoerper/images/binomial5.pdf | bin | 26050 -> 27894 bytes | |||
-rw-r--r-- | buch/chapters/30-endlichekoerper/images/binomial5.tex | 816 | ||||
-rw-r--r-- | buch/chapters/30-endlichekoerper/rechnungen/rs.maxima | 29 | ||||
-rw-r--r-- | buch/chapters/30-endlichekoerper/wurzeln.tex | 2 |
8 files changed, 1161 insertions, 689 deletions
diff --git a/buch/chapters/30-endlichekoerper/euklid.tex b/buch/chapters/30-endlichekoerper/euklid.tex index db326f8..0bf3016 100644 --- a/buch/chapters/30-endlichekoerper/euklid.tex +++ b/buch/chapters/30-endlichekoerper/euklid.tex @@ -431,6 +431,7 @@ zur Bestimmung des grössten gemeinsamen Teilers von $76415$ und $23205$ zur Berechnung der Koeffizienten $c_k$ und $d_k$ Wir schreiben die gefundenen Zahlen in eine Tabelle: \begin{center} +\label{buch:endlichekoerper:beispiel1erweitert} \renewcommand{\arraystretch}{1.1} \begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} \hline @@ -518,6 +519,7 @@ Insbesondere ist der euklidische Algorithmus genauso wie die Matrixschreibweise auch für Polynome durchführbar. \begin{beispiel} +\label{buch:endlichekoerper:eqn:polynomggt} Wir berechnen als Beispiel den grössten gemeinsamen Teiler der Polynome \[ @@ -614,4 +616,368 @@ Aus den letzten zwei Zeilen folgt $ua-vb = ab/g - ab/g = 0$, wie erwartet. \end{beispiel} +% +% Das kleinste gemeinsame Vielfache +% +\subsection{Das kleinste gemeinsame Vielfache +\label{buch:subsection:daskgv}} +Das kleinste gemeinsame Vielfache zweier Zahlen $a$ und $b$ ist +\[ +\operatorname{kgV}(a,b) += +\frac{ab}{\operatorname{ggT}(a,b)}. +\] +Wir suchen nach einen Algorithmus, mit dem man das kleinste gemeinsame +Vielfache effizient berechnen kann. + +Die Zahlen $a$ und $b$ sind beide Vielfache des grössten gemeinsamen +Teilers $g=\operatorname{ggT}(a,b)$, es gibt also Zahlen $u$ und $v$ derart, +dass $a=ug$ und $b=vg$. +Wenn $t$ ein gemeinsamer Teiler von $u$ und $v$ ist, dann ist $tg$ ein +grösserer gemeinsamer Teiler von $a$ und $b$. +Dies kann nicht sein, also müssen $u$ und $v$ teilerfremd sein. +Das kleinste gemeinsame Vielfache von $a$ und $b$ ist dann $ugv=av=ub$. +Die Bestimmung des kleinsten gemeinsamen Vielfachen ist also gleichbedeutend +mit der Bestimmung der Zahlen $u$ und $v$. + +Die definierende Eigenschaften von $u$ und $v$ kann man in Matrixform als +\begin{equation} +\begin{pmatrix} +a\\b +\end{pmatrix} += +\underbrace{ +\begin{pmatrix} +u&?\\ +v&? +\end{pmatrix}}_{\displaystyle =K} +\begin{pmatrix} +\operatorname{ggT}(a,b)\\ 0 +\end{pmatrix} +\label{buch:eindlichekoerper:eqn:uvmatrix} +\end{equation} +geschrieben werden, wobei wir die Matrixelemente $?$ nicht kennen. +Diese Elemente müssen wir auch nicht kennen, um $u$ und $v$ zu bestimmen. + +Bei der Bestimmung des grössten gemeinsamen Teilers wurde der Vektor auf +der rechten Seite von~\eqref{buch:eindlichekoerper:eqn:uvmatrix} bereits +gefunden. +Die Matrizen $Q(q_i)$, die die einzelne Schritte des euklidischen +Algorithmus beschreiben, ergeben ihn als +\[ +\begin{pmatrix} +\operatorname{ggT}(a,b)\\0 +\end{pmatrix} += +Q(q_n)Q(q_{n-1}) \dots Q(q_1)Q(q_0) +\begin{pmatrix}a\\b\end{pmatrix}. +\] +Indem wir die Matrizen $Q(q_n)$ bis $Q(q_0)$ auf die linke Seite der +Gleichung schaffen, erhalten wir +\[ +\begin{pmatrix}a\\b\end{pmatrix} += +Q(q_0)^{-1} +Q(q_1)^{-1} +\dots +Q(q_{n-1})^{-1} +Q(q_n)^{-1} +\begin{pmatrix}\operatorname{ggT}(a,b)\\0\end{pmatrix}. +\] +Eine mögliche Lösung für die Matrix $K$ in +\eqref{buch:eindlichekoerper:eqn:uvmatrix} +ist der die Matrix +\[ +K += +Q(q_0)^{-1} +Q(q_1)^{-1} +\dots +Q(q_{n-1})^{-1} +Q(q_n). +\] +Insbesondere ist die Matrix $K$ die Inverse der früher gefundenen +Matrix $Q$. + +Die Berechnung der Matrix $K$ als Inverse von $Q$ ist nicht sehr +effizient. +Genauso wie es möglich war, das Produkt $Q$ der Matrizen +$Q(q_k)$ iterativ zu bestimmen, muss es auch eine Rekursionsformel +für das Produkt der inversen Matrizen $Q(q_k)^{-1}$ geben. + +Schreiben wir die gesuchte Matrix +\[ +K_k += +Q(q_0)^{-1}\dots Q(q_{k-1})^{-1} += +\begin{pmatrix} +e_k & e_{k-1}\\ +f_k & f_{k-1} +\end{pmatrix}, +\] +dann kann man $K_k$ durch die Rekursion +\begin{equation} +K_{k+1} += +K_{k} Q(q_k)^{-1} += +K_k K(q_k) +\qquad\text{mit}\qquad +K_0 = \begin{pmatrix}1&0\\0&1\end{pmatrix} = I +\label{buch:endlichekoerper:eqn:kgvrekursion} +\end{equation} +berechnen. +Die Inverse von $Q(q)$ ist +\[ +K(q) += +Q(q)^{-1} += +\frac{1}{\det Q(q)} +\begin{pmatrix} +q&1\\ +1&0 +\end{pmatrix} +\quad\text{denn}\quad +K(q)Q(q) += +\begin{pmatrix} +q&1\\ +1&0 +\end{pmatrix} +\begin{pmatrix} +0&1\\ +1&-q +\end{pmatrix} += +\begin{pmatrix} +1&0\\ +0&1 +\end{pmatrix}. +\] +Da die zweite Spalte von $K(q)$ die erste Spalte einer Einheitsmatrix +ist, wird die zweite Spalte des Produktes $AK(q)$ immer die erste Spalte +von $A$ sein. +In $K_{k+1}$ ist daher nur die erste Spalte neu, die zweite Spalte ist +die erste Spalte von $K_k$. + +Aus der Rekursionsformel \eqref{buch:endlichekoerper:eqn:kgvrekursion} +für die Matrizen $K_k$ kann man jetzt eine Rekursionsbeziehung +für die Folgen $e_k$ und $f_k$ ablesen, es gilt +\begin{align*} +e_{k+1} &= q_ke_k + e_{k-1} \\ +f_{k+1} &= q_kf_k + f_{k-1} +\end{align*} +für $k=0,1,\dots ,n$. +Damit können $e_k$ und $f_k$ gleichzeitig mit den Zahlen $c_k$ und $d_k$ +in einer Tabelle berechnen. + +\begin{beispiel} +Wir erweitern das Beispiel von +Seite~\pageref{buch:endlichekoerper:beispiel1erweitert} +um die beiden Spalten zur Berechnung von $e_k$ und $f_k$: +\begin{center} +\renewcommand{\arraystretch}{1.1} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} +\hline +k& a_k& b_k& q_k& r_k& c_k& d_k& e_k& f_k\\ +\hline + & & & & & 1& 0& 0& 1\\ +0& 76415& 23205& 3& 6800& 0& 1& 1& 0\\ +1& 23205& 6800& 3& 2805& 1& -3& 3& 1\\ +2& 6800& 2805& 2& 1190& -3& 10& 10& 3\\ +3& 2805& 1190& 2& 425& 7& -23& 23& 7\\ +4& 1190& 425& 2& 340& -17& 56& 56& 17\\ +5& 425& 340& 1& 85& 41& -135& 135& 41\\ +6& 340& 85& 4& 0& -58& 191& 191& 58\\ +7& 85& 0& & & 273& -899& 899& 273\\ +\hline +\end{tabular} +\end{center} +Der grösste gemeinsame Teiler ist $\operatorname{ggT}(a,b)=85$. +Aus der letzten Zeile der Tabelle kann man jetzt die Zahlen $u=e_7=899$ +und $v=f_7=273$ ablesen, und tatsächlich ist +\[ +a=76415 = 899\cdot 85 +\qquad\text{und}\qquad +b=23205 = 273 \cdot 85. +\] +Daraus kann man dann auch das kleinste gemeinsame Vielfache ablesen, es ist +\[ +\operatorname{kgV}(a,b) += +\operatorname{kgV}(76415,23205) += +\left\{ +\begin{aligned} +ub +&= +899\cdot 23205\\ +va +&= +273\cdot 76415 +\end{aligned} +\right\} += +20861295. +\qedhere +\] +\end{beispiel} + +Der erweiterte Algorithmus kann auch dazu verwendet werden, +das kleinste gemeinsame Vielfache zweier Polynome zu berechnen. +Dies wird zum Beispiel bei der Decodierung des Reed-Solomon-Codes in +Kapitel~\ref{chapter:reedsolomon} verwendet. + +\subsubsection{Polynome +\label{buch:endlichekoerper:eqn:polynomkgv}} +Im Beispiel auf Seite~\pageref{buch:endlichekoerper:eqn:polynomggt} +wird der grösste gemeinsame Teiler der Polynome +\[ +a += +X^4 - 2X^3 -7 X^2 + 8X + 12, +\qquad +b = X^4 + X^3 -7X^2 -X + 6 +\] +berechnet. +Dies kann jetzt erweitert werden für die Berechnung des kleinsten +gemeinsamen Vielfachen. + +\begin{beispiel} +Die Berechnungstabelle nur für die Spalten $e_k$ und $f_k$ ergibt +\begin{center} +\renewcommand{\arraystretch}{1.4} +\begin{tabular}{|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}>{$}r<{$}|} +\hline +k& q_k& e_k& f_k\\ +\hline + & & 0& 1\\ +0& 1& 1& 0\\ +1&-\frac13X-\frac13& 1& 1\\ +2& \frac34X+\frac34& -\frac13X+\frac23& -\frac13X-\frac13\\ + & &-\frac14X^2+\frac14X+\frac32&-\frac14X^2-\frac12X+\frac34\\ +\hline +\end{tabular} +\end{center} +Daraus kann man ablesen, dass +\[ +u += +-\frac14X^2+\frac14X+\frac32 +\qquad\text{und}\qquad +v += +-\frac14X^2-\frac12X+\frac34. +\] +Daraus ergibt sich das kleinste gemeinsame Vielfache auf zwei verschiedene Weisen: +\[ +\operatorname{ggT}(a,b) += +\left\{ +\begin{aligned} +\textstyle +(-\frac14X^2+\frac14X+\frac32)&\cdot(X^4 - 2X^3 -7 X^2 + 8X + 12) +\\ +\textstyle +(-\frac14X^2-\frac12X+\frac34)&\cdot(X^4 + X^3 -7X^2 -X + 6) +\end{aligned} +\right\} += +-\frac14X^6+\frac72X^4-\frac{49}4X^2+9. +\] +Die beiden Berechnungsmöglichkeiten stimmen wie erwartet überein. +\end{beispiel} + +\subsubsection{Anwendung: Decodierung des Reed-Solomon-Codes} +Der Reed-Solomon-Code verwendet Polynome zur Codierung der Daten, +dies wird in Kapitel~\ref{chapter:reedsolomon} im Detail beschrieben. +Bei der Decodierung muss der Faktor $u$ für zwei gegebene Polynome +$n(X)$ und $r(X)$ bestimmt werden. +Allerdings ist das Polynom $r(X)$ nicht vollständig bekannt, nur die +ersten paar Koeffizienten sind gegeben. +Dafür weiss man zusätzlich, wieviele Schritte genau der Euklidische +Algorithmus braucht. +Daraus lässt sich genügend Information gewinnen, um die Faktoren $u$ +und $v$ zu bestimmen. +Das Video \url{https://youtu.be/uOLW43OIZJ0} von Edmund Weitz +erklärt die Theorie hinter dieser Teilaufgabe anhand von Beispielen. + +\begin{beispiel} +Wir berechnen also die Faktoren $u$ und $v$ für die beiden Polynome +\begin{align*} +n(X) +&= +X^{12}+12 +\\ +r(X) +&= +7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + w(X) +\end{align*} +in $\mathbb{F}_{13}[X]$, wobei $w(X)$ ein unbekanntes Polynom vom Grad $5$ ist. +Man weiss zusätzlich noch, dass der euklidische Algorithmus genau drei +Schritte braucht, es gibt also genau drei Quotienten, die in die +Berechnung der Zahlen $e_k$ und $f_k$ einfliessen. + +Im ersten Schritt des euklidischen Algorithmus ist der Quotient +$n(X) / r(X)$ zu bestimmen, der Grad $1$ haben muss. +\begin{align*} +a_0=n(X) &= X^{12}+12 +\\ +b_0=r(X) &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + \dots +\\ +q_0 &= 2X+10 +\\ +r_0 = a_0-b_0\cdot q_0 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +a_1 &= 7 X^{11} + 4 X^{10} + X^9 + 12 X^8 + 2 X^7 + 12 X^6 + \dots +\\ +b_1 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +q_1 &= 2X+2 +\\ +r_1 = a_1 - b_1q_1 &= 5X^9 + 10 X^8 + \dots +\\ +a_2 &= 10X^{10} + 5X^9 + 6X^8 + 8X^7 + \dots +\\ +b_2 &= 5X^9 + 10 X^8 + \dots +\\ +q_2 &= 2X+10 +\end{align*} +Aus den Polynomen $q_k$ können jetzt die Faktoren $u$ und $v$ +bestimmt werden: +\begin{center} +\begin{tabular}{|>{$}c<{$}|>{$}r<{$}|>{$}r<{$}|>{$}r<{$}|} +\hline +k& q_k& e_k& f_k\\ +\hline + & & 0& 1\\ +0& 2X+10& 1& 0\\ +1& 2X+2 & 2X+10& 1\\ +2& 2X+10& 4X^2+11X+8& 2X+2\\ + & & 8X^3+10X^2+11X+12& 4X^2+11X+8\\ +\hline +\end{tabular} +\end{center} +Die Faktorisierung des Polynoms +\[ +u += +8X^3+10X^2+11X+12 +\] +kann bestimmt werden, indem man alle Zahlen $1,2,\dots,12\in\mathbb{F}_{13}$ +einsetzt. +Man findet so die Nullstellen $3$, $4$ und $8$, also muss das Polynom +$u$ faktorisiert werden können als +\[ +u= +8(X-3)(X-4)(X-8) += +8X^3 - 120X^2+544X-768 += +8X^3 +10X^2+11X+12. +\qedhere +\] +\end{beispiel} diff --git a/buch/chapters/30-endlichekoerper/galois.tex b/buch/chapters/30-endlichekoerper/galois.tex index fbacba6..2f8117e 100644 --- a/buch/chapters/30-endlichekoerper/galois.tex +++ b/buch/chapters/30-endlichekoerper/galois.tex @@ -27,7 +27,7 @@ Primzahlpotenz $p^n$ von Elementen haben und die die Basis wichtiger kryptographischer Algorithmen sind. % -% Arithmetik module $o$ +% Arithmetik modulo $o$ % \subsection{Arithmetik modulo $p$ \label{buch:subsection:arithmetik-modulo-p}} @@ -413,7 +413,7 @@ Elemente. \begin{figure} \centering \includegraphics{chapters/30-endlichekoerper/images/binomial2.pdf} -\caption{Binomialkoeffizienten module $2$ im Pascal-Dreieck. +\caption{Binomialkoeffizienten modulo $2$ im Pascal-Dreieck. Auf den rot hinterlegten Zeilen, die zu Exponenten der Form $2^k$ gehören, sind alle Koeffizienten ausser dem ersten und letzten durch $2$ teilbar. \label{buch:endliche-koerper:fig:binomial2}} @@ -423,7 +423,7 @@ sind alle Koeffizienten ausser dem ersten und letzten durch $2$ teilbar. \begin{figure} \centering \includegraphics{chapters/30-endlichekoerper/images/binomial5.pdf} -\caption{Binomialkoeffizienten module $5$ im Pascal-Dreieck. +\caption{Binomialkoeffizienten modulo $5$ im Pascal-Dreieck. Die von $0$ verschiedenen Reste werden durch Farben dargestellt: $1=\text{schwarz}$, $2=\text{\color{farbe2}rot}$, diff --git a/buch/chapters/30-endlichekoerper/images/binomial2.pdf b/buch/chapters/30-endlichekoerper/images/binomial2.pdf Binary files differindex 92be742..0a07c92 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial2.pdf +++ b/buch/chapters/30-endlichekoerper/images/binomial2.pdf diff --git a/buch/chapters/30-endlichekoerper/images/binomial2.tex b/buch/chapters/30-endlichekoerper/images/binomial2.tex index 77ccb57..e816b36 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial2.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial2.tex @@ -1,306 +1,325 @@ -% -% binomial2.tex -- Parität der Binomialkoeffizienten -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\def\s{0.37} -\pgfmathparse{\s*sqrt(3)/2} -\xdef\ys{\pgfmathresult} -\pgfmathparse{\s/2} -\xdef\xs{\pgfmathresult} - -% -% #1 = n -% #2 = k -% -\def\dreieck#1#2{ - \fill[color=black] ({\xs*(-#1+2*#2)},{-\ys*#1}) - -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) - -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; -} -\def\zeile#1{ - \fill[color=red!40] - ({\xs*(-#1)},{-\ys*#1}) - -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) - -- ({\xs*(#1+1)},{-\ys*(#1+1)}) - -- ({\xs*(#1)},{-\ys*#1}) -- cycle; -} - -\zeile{2} -\zeile{4} -\zeile{8} -\zeile{16} -\zeile{32} - -\dreieck{0}{0} - -\dreieck{1}{0} -\dreieck{1}{1} - -\dreieck{2}{0} -\dreieck{2}{2} - -\dreieck{3}{0} -\dreieck{3}{1} -\dreieck{3}{2} -\dreieck{3}{3} - -\dreieck{4}{0} -\dreieck{4}{4} - -\dreieck{5}{0} -\dreieck{5}{1} -\dreieck{5}{4} -\dreieck{5}{5} - -\dreieck{6}{0} -\dreieck{6}{2} -\dreieck{6}{4} -\dreieck{6}{6} - -\dreieck{7}{0} -\dreieck{7}{1} -\dreieck{7}{2} -\dreieck{7}{3} -\dreieck{7}{4} -\dreieck{7}{5} -\dreieck{7}{6} -\dreieck{7}{7} - -\dreieck{8}{0} -\dreieck{8}{8} - -\dreieck{9}{0} -\dreieck{9}{1} -\dreieck{9}{8} -\dreieck{9}{9} - -\dreieck{10}{0} -\dreieck{10}{2} -\dreieck{10}{8} -\dreieck{10}{10} - -\dreieck{11}{0} -\dreieck{11}{1} -\dreieck{11}{2} -\dreieck{11}{3} -\dreieck{11}{8} -\dreieck{11}{9} -\dreieck{11}{10} -\dreieck{11}{11} - -\dreieck{12}{0} -\dreieck{12}{4} -\dreieck{12}{8} -\dreieck{12}{12} - -\dreieck{13}{0} -\dreieck{13}{1} -\dreieck{13}{4} -\dreieck{13}{5} -\dreieck{13}{8} -\dreieck{13}{9} -\dreieck{13}{12} -\dreieck{13}{13} - -\dreieck{14}{0} -\dreieck{14}{2} -\dreieck{14}{4} -\dreieck{14}{6} -\dreieck{14}{8} -\dreieck{14}{10} -\dreieck{14}{12} -\dreieck{14}{14} - -\dreieck{15}{0} -\dreieck{15}{1} -\dreieck{15}{2} -\dreieck{15}{3} -\dreieck{15}{4} -\dreieck{15}{5} -\dreieck{15}{6} -\dreieck{15}{7} -\dreieck{15}{8} -\dreieck{15}{9} -\dreieck{15}{10} -\dreieck{15}{11} -\dreieck{15}{12} -\dreieck{15}{13} -\dreieck{15}{14} -\dreieck{15}{15} - -\dreieck{16}{0} -\dreieck{16}{16} - -\dreieck{17}{0} -\dreieck{17}{1} -\dreieck{17}{16} -\dreieck{17}{17} - -\dreieck{18}{0} -\dreieck{18}{2} -\dreieck{18}{16} -\dreieck{18}{18} - -\dreieck{19}{0} -\dreieck{19}{1} -\dreieck{19}{2} -\dreieck{19}{3} -\dreieck{19}{16} -\dreieck{19}{17} -\dreieck{19}{18} -\dreieck{19}{19} - -\dreieck{20}{0} -\dreieck{20}{4} -\dreieck{20}{16} -\dreieck{20}{20} - -\dreieck{21}{0} -\dreieck{21}{1} -\dreieck{21}{4} -\dreieck{21}{5} -\dreieck{21}{16} -\dreieck{21}{17} -\dreieck{21}{20} -\dreieck{21}{21} - -\dreieck{22}{0} -\dreieck{22}{2} -\dreieck{22}{4} -\dreieck{22}{6} -\dreieck{22}{16} -\dreieck{22}{18} -\dreieck{22}{20} -\dreieck{22}{22} - -\dreieck{23}{0} -\dreieck{23}{1} -\dreieck{23}{2} -\dreieck{23}{3} -\dreieck{23}{4} -\dreieck{23}{5} -\dreieck{23}{6} -\dreieck{23}{7} -\dreieck{23}{16} -\dreieck{23}{17} -\dreieck{23}{18} -\dreieck{23}{19} -\dreieck{23}{20} -\dreieck{23}{21} -\dreieck{23}{22} -\dreieck{23}{23} - -\dreieck{24}{0} -\dreieck{24}{8} -\dreieck{24}{16} -\dreieck{24}{24} - -\dreieck{25}{0} -\dreieck{25}{1} -\dreieck{25}{8} -\dreieck{25}{9} -\dreieck{25}{16} -\dreieck{25}{17} -\dreieck{25}{24} -\dreieck{25}{25} - -\dreieck{26}{0} -\dreieck{26}{2} -\dreieck{26}{8} -\dreieck{26}{10} -\dreieck{26}{16} -\dreieck{26}{18} -\dreieck{26}{24} -\dreieck{26}{26} - -\dreieck{27}{0} -\dreieck{27}{1} -\dreieck{27}{2} -\dreieck{27}{3} -\dreieck{27}{8} -\dreieck{27}{9} -\dreieck{27}{10} -\dreieck{27}{11} -\dreieck{27}{16} -\dreieck{27}{17} -\dreieck{27}{18} -\dreieck{27}{19} -\dreieck{27}{24} -\dreieck{27}{25} -\dreieck{27}{26} -\dreieck{27}{27} - -\dreieck{28}{0} -\dreieck{28}{4} -\dreieck{28}{8} -\dreieck{28}{12} -\dreieck{28}{16} -\dreieck{28}{20} -\dreieck{28}{24} -\dreieck{28}{28} - -\dreieck{29}{0} -\dreieck{29}{1} -\dreieck{29}{4} -\dreieck{29}{5} -\dreieck{29}{8} -\dreieck{29}{9} -\dreieck{29}{12} -\dreieck{29}{13} -\dreieck{29}{16} -\dreieck{29}{17} -\dreieck{29}{20} -\dreieck{29}{21} -\dreieck{29}{24} -\dreieck{29}{25} -\dreieck{29}{28} -\dreieck{29}{29} - -\foreach \k in {0,2,...,30}{ - \dreieck{30}{\k} -} - -\foreach \k in {0,...,31}{ - \dreieck{31}{\k} -} - -\dreieck{32}{0} -\dreieck{32}{32} - -\def\etikett#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; -} - -\etikett{0}{-2}{n=0} -\etikett{2}{-2}{n=2} -\etikett{4}{-2}{n=4} -\etikett{8}{-2}{n=8} -\etikett{16}{-2}{n=16} -\etikett{32}{-2}{n=32} - -\def\exponent#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; -} - -\exponent{-2}{0}{k=0} -\exponent{0}{2}{k=2} -\exponent{2}{4}{k=4} -\exponent{6}{8}{k=8} -\exponent{14}{16}{k=16} -\exponent{30}{32}{k=32} - -\end{tikzpicture} -\end{document} - +%
+% binomial2.tex -- Parität der Binomialkoeffizienten
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\def\s{0.37}
+\pgfmathparse{\s*sqrt(3)/2}
+\xdef\ys{\pgfmathresult}
+\pgfmathparse{\s/2}
+\xdef\xs{\pgfmathresult}
+
+%
+% #1 = n
+% #2 = k
+%
+\def\dreieck#1#2{
+ \fill[color=black] ({\xs*(-#1+2*#2)},{-\ys*#1})
+ -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)})
+ -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle;
+}
+\def\zeile#1{
+ \fill[color=red!40]
+ ({\xs*(-#1)},{-\ys*#1})
+ -- ({\xs*(-#1-1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1+1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1)},{-\ys*#1}) -- cycle;
+}
+
+\zeile{2}
+\zeile{4}
+\zeile{8}
+\zeile{16}
+\zeile{32}
+
+\dreieck{0}{0}
+
+\dreieck{1}{0}
+\dreieck{1}{1}
+
+\dreieck{2}{0}
+\dreieck{2}{2}
+
+\dreieck{3}{0}
+\dreieck{3}{1}
+\dreieck{3}{2}
+\dreieck{3}{3}
+
+\dreieck{4}{0}
+\dreieck{4}{4}
+
+\dreieck{5}{0}
+\dreieck{5}{1}
+\dreieck{5}{4}
+\dreieck{5}{5}
+
+\dreieck{6}{0}
+\dreieck{6}{2}
+\dreieck{6}{4}
+\dreieck{6}{6}
+
+\dreieck{7}{0}
+\dreieck{7}{1}
+\dreieck{7}{2}
+\dreieck{7}{3}
+\dreieck{7}{4}
+\dreieck{7}{5}
+\dreieck{7}{6}
+\dreieck{7}{7}
+
+\dreieck{8}{0}
+\dreieck{8}{8}
+
+\dreieck{9}{0}
+\dreieck{9}{1}
+\dreieck{9}{8}
+\dreieck{9}{9}
+
+\dreieck{10}{0}
+\dreieck{10}{2}
+\dreieck{10}{8}
+\dreieck{10}{10}
+
+\dreieck{11}{0}
+\dreieck{11}{1}
+\dreieck{11}{2}
+\dreieck{11}{3}
+\dreieck{11}{8}
+\dreieck{11}{9}
+\dreieck{11}{10}
+\dreieck{11}{11}
+
+\dreieck{12}{0}
+\dreieck{12}{4}
+\dreieck{12}{8}
+\dreieck{12}{12}
+
+\dreieck{13}{0}
+\dreieck{13}{1}
+\dreieck{13}{4}
+\dreieck{13}{5}
+\dreieck{13}{8}
+\dreieck{13}{9}
+\dreieck{13}{12}
+\dreieck{13}{13}
+
+\dreieck{14}{0}
+\dreieck{14}{2}
+\dreieck{14}{4}
+\dreieck{14}{6}
+\dreieck{14}{8}
+\dreieck{14}{10}
+\dreieck{14}{12}
+\dreieck{14}{14}
+
+\dreieck{15}{0}
+\dreieck{15}{1}
+\dreieck{15}{2}
+\dreieck{15}{3}
+\dreieck{15}{4}
+\dreieck{15}{5}
+\dreieck{15}{6}
+\dreieck{15}{7}
+\dreieck{15}{8}
+\dreieck{15}{9}
+\dreieck{15}{10}
+\dreieck{15}{11}
+\dreieck{15}{12}
+\dreieck{15}{13}
+\dreieck{15}{14}
+\dreieck{15}{15}
+
+\dreieck{16}{0}
+\dreieck{16}{16}
+
+\dreieck{17}{0}
+\dreieck{17}{1}
+\dreieck{17}{16}
+\dreieck{17}{17}
+
+\dreieck{18}{0}
+\dreieck{18}{2}
+\dreieck{18}{16}
+\dreieck{18}{18}
+
+\dreieck{19}{0}
+\dreieck{19}{1}
+\dreieck{19}{2}
+\dreieck{19}{3}
+\dreieck{19}{16}
+\dreieck{19}{17}
+\dreieck{19}{18}
+\dreieck{19}{19}
+
+\dreieck{20}{0}
+\dreieck{20}{4}
+\dreieck{20}{16}
+\dreieck{20}{20}
+
+\dreieck{21}{0}
+\dreieck{21}{1}
+\dreieck{21}{4}
+\dreieck{21}{5}
+\dreieck{21}{16}
+\dreieck{21}{17}
+\dreieck{21}{20}
+\dreieck{21}{21}
+
+\dreieck{22}{0}
+\dreieck{22}{2}
+\dreieck{22}{4}
+\dreieck{22}{6}
+\dreieck{22}{16}
+\dreieck{22}{18}
+\dreieck{22}{20}
+\dreieck{22}{22}
+
+\dreieck{23}{0}
+\dreieck{23}{1}
+\dreieck{23}{2}
+\dreieck{23}{3}
+\dreieck{23}{4}
+\dreieck{23}{5}
+\dreieck{23}{6}
+\dreieck{23}{7}
+\dreieck{23}{16}
+\dreieck{23}{17}
+\dreieck{23}{18}
+\dreieck{23}{19}
+\dreieck{23}{20}
+\dreieck{23}{21}
+\dreieck{23}{22}
+\dreieck{23}{23}
+
+\dreieck{24}{0}
+\dreieck{24}{8}
+\dreieck{24}{16}
+\dreieck{24}{24}
+
+\dreieck{25}{0}
+\dreieck{25}{1}
+\dreieck{25}{8}
+\dreieck{25}{9}
+\dreieck{25}{16}
+\dreieck{25}{17}
+\dreieck{25}{24}
+\dreieck{25}{25}
+
+\dreieck{26}{0}
+\dreieck{26}{2}
+\dreieck{26}{8}
+\dreieck{26}{10}
+\dreieck{26}{16}
+\dreieck{26}{18}
+\dreieck{26}{24}
+\dreieck{26}{26}
+
+\dreieck{27}{0}
+\dreieck{27}{1}
+\dreieck{27}{2}
+\dreieck{27}{3}
+\dreieck{27}{8}
+\dreieck{27}{9}
+\dreieck{27}{10}
+\dreieck{27}{11}
+\dreieck{27}{16}
+\dreieck{27}{17}
+\dreieck{27}{18}
+\dreieck{27}{19}
+\dreieck{27}{24}
+\dreieck{27}{25}
+\dreieck{27}{26}
+\dreieck{27}{27}
+
+\dreieck{28}{0}
+\dreieck{28}{4}
+\dreieck{28}{8}
+\dreieck{28}{12}
+\dreieck{28}{16}
+\dreieck{28}{20}
+\dreieck{28}{24}
+\dreieck{28}{28}
+
+\dreieck{29}{0}
+\dreieck{29}{1}
+\dreieck{29}{4}
+\dreieck{29}{5}
+\dreieck{29}{8}
+\dreieck{29}{9}
+\dreieck{29}{12}
+\dreieck{29}{13}
+\dreieck{29}{16}
+\dreieck{29}{17}
+\dreieck{29}{20}
+\dreieck{29}{21}
+\dreieck{29}{24}
+\dreieck{29}{25}
+\dreieck{29}{28}
+\dreieck{29}{29}
+
+\foreach \k in {0,2,...,30}{
+ \dreieck{30}{\k}
+}
+
+\foreach \k in {0,...,31}{
+ \dreieck{31}{\k}
+}
+
+\dreieck{32}{0}
+\dreieck{32}{32}
+
+\dreieck{33}{0}
+\dreieck{33}{1}
+\dreieck{33}{32}
+\dreieck{33}{33}
+
+\dreieck{34}{0}
+\dreieck{34}{2}
+\dreieck{34}{32}
+\dreieck{34}{34}
+
+\dreieck{35}{0}
+\dreieck{35}{1}
+\dreieck{35}{2}
+\dreieck{35}{3}
+\dreieck{35}{32}
+\dreieck{35}{33}
+\dreieck{35}{34}
+\dreieck{35}{35}
+
+\def\etikett#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$};
+}
+
+\etikett{0}{-2}{n=0}
+\etikett{2}{-2}{n=2}
+\etikett{4}{-2}{n=4}
+\etikett{8}{-2}{n=8}
+\etikett{16}{-2}{n=16}
+\etikett{32}{-2}{n=32}
+
+\def\exponent#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$};
+}
+
+\exponent{-2}{0}{k=0}
+\exponent{0}{2}{k=2}
+\exponent{2}{4}{k=4}
+\exponent{6}{8}{k=8}
+\exponent{14}{16}{k=16}
+\exponent{30}{32}{k=32}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/30-endlichekoerper/images/binomial5.pdf b/buch/chapters/30-endlichekoerper/images/binomial5.pdf Binary files differindex 1b2a813..a4bdf51 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial5.pdf +++ b/buch/chapters/30-endlichekoerper/images/binomial5.pdf diff --git a/buch/chapters/30-endlichekoerper/images/binomial5.tex b/buch/chapters/30-endlichekoerper/images/binomial5.tex index 750b7e0..f5aac0a 100644 --- a/buch/chapters/30-endlichekoerper/images/binomial5.tex +++ b/buch/chapters/30-endlichekoerper/images/binomial5.tex @@ -1,379 +1,437 @@ -% -% binomial2.tex -- Parität der Binomialkoeffizienten -% -% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule -% -\documentclass[tikz]{standalone} -\usepackage{amsmath} -\usepackage{times} -\usepackage{txfonts} -\usepackage{pgfplots} -\usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} -\begin{document} -\def\skala{1} -\begin{tikzpicture}[>=latex,thick,scale=\skala] - -\definecolor{farbe0}{rgb}{1,1,1} -\input{farben.tex} - -\def\s{0.37} -\pgfmathparse{\s*sqrt(3)/2} -\xdef\ys{\pgfmathresult} -\pgfmathparse{\s/2} -\xdef\xs{\pgfmathresult} - -% -% #1 = n -% #2 = k -% -\def\dreieck#1#2#3{ - \fill[color=farbe#3] ({\xs*(-#1+2*#2)},{-\ys*#1}) - -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)}) - -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle; - \node[color=white] at ( ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)-0.03}) {$\scriptstyle #3$}; -} - -\definecolor{gelb}{rgb}{1,0.8,0.2} -\def\zeile#1{ - \fill[color=gelb] - ({\xs*(-#1)},{-\ys*#1}) - -- ({\xs*(-#1-1)},{-\ys*(#1+1)}) - -- ({\xs*(#1+1)},{-\ys*(#1+1)}) - -- ({\xs*(#1)},{-\ys*#1}) -- cycle; -} - -\zeile{5} -\zeile{25} - -\dreieck{0}{0}{1} - -\dreieck{1}{0}{1} -\dreieck{1}{1}{1} - -\dreieck{2}{0}{1} -\dreieck{2}{1}{2} -\dreieck{2}{2}{1} - -\dreieck{3}{0}{1} -\dreieck{3}{1}{3} -\dreieck{3}{2}{3} -\dreieck{3}{3}{1} - -\dreieck{4}{0}{1} -\dreieck{4}{1}{4} -\dreieck{4}{2}{1} -\dreieck{4}{3}{4} -\dreieck{4}{4}{1} - -\dreieck{5}{0}{1} -\dreieck{5}{5}{1} - -\dreieck{6}{0}{1} -\dreieck{6}{1}{1} -\dreieck{6}{5}{1} -\dreieck{6}{6}{1} - -\dreieck{7}{0}{1} -\dreieck{7}{1}{2} -\dreieck{7}{2}{1} -\dreieck{7}{5}{1} -\dreieck{7}{6}{2} -\dreieck{7}{7}{1} - -\dreieck{8}{0}{1} -\dreieck{8}{1}{3} -\dreieck{8}{2}{3} -\dreieck{8}{3}{1} -\dreieck{8}{5}{1} -\dreieck{8}{6}{3} -\dreieck{8}{7}{3} -\dreieck{8}{8}{1} - -\dreieck{9}{0}{1} -\dreieck{9}{1}{4} -\dreieck{9}{2}{1} -\dreieck{9}{3}{4} -\dreieck{9}{4}{1} -\dreieck{9}{5}{1} -\dreieck{9}{6}{4} -\dreieck{9}{7}{1} -\dreieck{9}{8}{4} -\dreieck{9}{9}{1} - -\dreieck{10}{0}{1} -\dreieck{10}{5}{2} -\dreieck{10}{10}{1} - -\dreieck{11}{0}{1} -\dreieck{11}{1}{1} -\dreieck{11}{5}{2} -\dreieck{11}{6}{2} -\dreieck{11}{10}{1} -\dreieck{11}{11}{1} - -\dreieck{12}{0}{1} -\dreieck{12}{1}{2} -\dreieck{12}{2}{1} -\dreieck{12}{5}{2} -\dreieck{12}{6}{4} -\dreieck{12}{7}{2} -\dreieck{12}{10}{1} -\dreieck{12}{11}{2} -\dreieck{12}{12}{1} - -\dreieck{13}{0}{1} -\dreieck{13}{1}{3} -\dreieck{13}{2}{3} -\dreieck{13}{3}{1} -\dreieck{13}{5}{2} -\dreieck{13}{6}{1} -\dreieck{13}{7}{1} -\dreieck{13}{8}{2} -\dreieck{13}{10}{1} -\dreieck{13}{11}{3} -\dreieck{13}{12}{3} -\dreieck{13}{13}{1} - -\dreieck{14}{0}{1} -\dreieck{14}{1}{4} -\dreieck{14}{2}{1} -\dreieck{14}{3}{4} -\dreieck{14}{4}{1} -\dreieck{14}{5}{2} -\dreieck{14}{6}{3} -\dreieck{14}{7}{2} -\dreieck{14}{8}{3} -\dreieck{14}{9}{2} -\dreieck{14}{10}{1} -\dreieck{14}{11}{4} -\dreieck{14}{12}{1} -\dreieck{14}{13}{4} -\dreieck{14}{14}{1} - -\dreieck{15}{0}{1} -\dreieck{15}{5}{3} -\dreieck{15}{10}{3} -\dreieck{15}{15}{1} - -\dreieck{16}{0}{1} -\dreieck{16}{1}{1} -\dreieck{16}{5}{3} -\dreieck{16}{6}{3} -\dreieck{16}{10}{3} -\dreieck{16}{11}{3} -\dreieck{16}{15}{1} -\dreieck{16}{16}{3} - -\dreieck{17}{0}{1} -\dreieck{17}{1}{2} -\dreieck{17}{2}{1} -\dreieck{17}{5}{3} -\dreieck{17}{6}{1} -\dreieck{17}{7}{3} -\dreieck{17}{10}{3} -\dreieck{17}{11}{1} -\dreieck{17}{12}{3} -\dreieck{17}{15}{1} -\dreieck{17}{16}{2} -\dreieck{17}{17}{1} - -\dreieck{18}{0}{1} -\dreieck{18}{1}{3} -\dreieck{18}{2}{3} -\dreieck{18}{3}{1} -\dreieck{18}{5}{3} -\dreieck{18}{6}{4} -\dreieck{18}{7}{4} -\dreieck{18}{8}{3} -\dreieck{18}{10}{3} -\dreieck{18}{11}{4} -\dreieck{18}{12}{4} -\dreieck{18}{13}{3} -\dreieck{18}{15}{1} -\dreieck{18}{16}{3} -\dreieck{18}{17}{3} -\dreieck{18}{18}{1} - -\dreieck{19}{0}{1} -\dreieck{19}{1}{4} -\dreieck{19}{2}{1} -\dreieck{19}{3}{4} -\dreieck{19}{4}{1} -\dreieck{19}{5}{3} -\dreieck{19}{6}{2} -\dreieck{19}{7}{3} -\dreieck{19}{8}{2} -\dreieck{19}{9}{3} -\dreieck{19}{10}{3} -\dreieck{19}{11}{2} -\dreieck{19}{12}{3} -\dreieck{19}{13}{2} -\dreieck{19}{14}{3} -\dreieck{19}{15}{1} -\dreieck{19}{16}{4} -\dreieck{19}{17}{1} -\dreieck{19}{18}{4} -\dreieck{19}{19}{1} - -\dreieck{20}{0}{1} -\dreieck{20}{5}{4} -\dreieck{20}{10}{1} -\dreieck{20}{15}{4} -\dreieck{20}{20}{1} - -\dreieck{21}{0}{1} -\dreieck{21}{1}{1} -\dreieck{21}{5}{4} -\dreieck{21}{6}{4} -\dreieck{21}{10}{1} -\dreieck{21}{11}{1} -\dreieck{21}{15}{4} -\dreieck{21}{16}{4} -\dreieck{21}{20}{1} -\dreieck{21}{21}{1} - -\dreieck{22}{0}{1} -\dreieck{22}{1}{2} -\dreieck{22}{2}{1} -\dreieck{22}{5}{4} -\dreieck{22}{6}{3} -\dreieck{22}{7}{4} -\dreieck{22}{10}{1} -\dreieck{22}{11}{2} -\dreieck{22}{12}{1} -\dreieck{22}{15}{4} -\dreieck{22}{16}{3} -\dreieck{22}{17}{4} -\dreieck{22}{20}{1} -\dreieck{22}{21}{2} -\dreieck{22}{22}{1} - -\dreieck{23}{0}{1} -\dreieck{23}{1}{3} -\dreieck{23}{2}{3} -\dreieck{23}{3}{1} -\dreieck{23}{5}{4} -\dreieck{23}{6}{2} -\dreieck{23}{7}{2} -\dreieck{23}{8}{4} -\dreieck{23}{10}{1} -\dreieck{23}{11}{3} -\dreieck{23}{12}{3} -\dreieck{23}{13}{1} -\dreieck{23}{15}{4} -\dreieck{23}{16}{2} -\dreieck{23}{17}{2} -\dreieck{23}{18}{4} -\dreieck{23}{20}{1} -\dreieck{23}{21}{3} -\dreieck{23}{22}{3} -\dreieck{23}{23}{1} - -\dreieck{24}{0}{1} -\dreieck{24}{1}{4} -\dreieck{24}{2}{1} -\dreieck{24}{3}{4} -\dreieck{24}{4}{1} -\dreieck{24}{5}{4} -\dreieck{24}{6}{1} -\dreieck{24}{7}{4} -\dreieck{24}{8}{1} -\dreieck{24}{9}{4} -\dreieck{24}{10}{1} -\dreieck{24}{11}{4} -\dreieck{24}{12}{1} -\dreieck{24}{13}{4} -\dreieck{24}{14}{1} -\dreieck{24}{15}{4} -\dreieck{24}{16}{1} -\dreieck{24}{17}{4} -\dreieck{24}{18}{1} -\dreieck{24}{19}{4} -\dreieck{24}{20}{1} -\dreieck{24}{21}{4} -\dreieck{24}{22}{1} -\dreieck{24}{23}{4} -\dreieck{24}{24}{1} - -\dreieck{25}{0}{1} -\dreieck{25}{25}{1} - -\dreieck{26}{0}{1} -\dreieck{26}{1}{1} -\dreieck{26}{25}{1} -\dreieck{26}{26}{1} - -\dreieck{27}{0}{1} -\dreieck{27}{1}{2} -\dreieck{27}{2}{1} -\dreieck{27}{25}{1} -\dreieck{27}{26}{2} -\dreieck{27}{27}{1} - -\dreieck{28}{0}{1} -\dreieck{28}{1}{3} -\dreieck{28}{2}{3} -\dreieck{28}{3}{1} -\dreieck{28}{25}{1} -\dreieck{28}{26}{3} -\dreieck{28}{27}{3} -\dreieck{28}{28}{1} - -\dreieck{29}{0}{1} -\dreieck{29}{1}{4} -\dreieck{29}{2}{1} -\dreieck{29}{3}{4} -\dreieck{29}{4}{1} -\dreieck{29}{25}{1} -\dreieck{29}{26}{4} -\dreieck{29}{27}{1} -\dreieck{29}{28}{4} -\dreieck{29}{29}{1} - -\dreieck{30}{0}{1} -\dreieck{30}{5}{1} -\dreieck{30}{25}{1} -\dreieck{30}{30}{1} - -\dreieck{31}{0}{1} -\dreieck{31}{1}{1} -\dreieck{31}{5}{1} -\dreieck{31}{6}{1} -\dreieck{31}{25}{1} -\dreieck{31}{26}{1} -\dreieck{31}{30}{1} -\dreieck{31}{31}{1} - -\dreieck{32}{0}{1} -\dreieck{32}{1}{2} -\dreieck{32}{2}{1} -\dreieck{32}{5}{1} -\dreieck{32}{6}{2} -\dreieck{32}{7}{1} -\dreieck{32}{25}{1} -\dreieck{32}{26}{2} -\dreieck{32}{27}{1} -\dreieck{32}{30}{1} -\dreieck{32}{31}{2} -\dreieck{32}{32}{1} - -\def\etikett#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$}; -} - -\etikett{0}{-2}{n=0} -\etikett{5}{-2}{n=5} -\etikett{25}{-2}{n=25} - -\def\exponent#1#2#3{ - \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$}; -} - -\exponent{-2}{0}{k=0} -\exponent{3}{5}{k=5} -\exponent{23}{25}{k=25} - -\end{tikzpicture} -\end{document} - +%
+% binomial2.tex -- Parität der Binomialkoeffizienten
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{farbe0}{rgb}{1,1,1}
+\input{farben.tex}
+
+\def\s{0.37}
+\pgfmathparse{\s*sqrt(3)/2}
+\xdef\ys{\pgfmathresult}
+\pgfmathparse{\s/2}
+\xdef\xs{\pgfmathresult}
+
+%
+% #1 = n
+% #2 = k
+%
+\def\dreieck#1#2#3{
+ \fill[color=farbe#3] ({\xs*(-#1+2*#2)},{-\ys*#1})
+ -- ({\xs*(-#1+2*#2-1)},{-\ys*(#1+1)})
+ -- ({\xs*(-#1+2*#2+1)},{-\ys*(#1+1)}) -- cycle;
+ \node[color=white] at ( ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)-0.03}) {$\scriptstyle #3$};
+}
+
+\definecolor{gelb}{rgb}{1,0.8,0.2}
+\def\zeile#1{
+ \fill[color=gelb]
+ ({\xs*(-#1)},{-\ys*#1})
+ -- ({\xs*(-#1-1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1+1)},{-\ys*(#1+1)})
+ -- ({\xs*(#1)},{-\ys*#1}) -- cycle;
+}
+
+\zeile{5}
+\zeile{25}
+
+\dreieck{0}{0}{1}
+
+\dreieck{1}{0}{1}
+\dreieck{1}{1}{1}
+
+\dreieck{2}{0}{1}
+\dreieck{2}{1}{2}
+\dreieck{2}{2}{1}
+
+\dreieck{3}{0}{1}
+\dreieck{3}{1}{3}
+\dreieck{3}{2}{3}
+\dreieck{3}{3}{1}
+
+\dreieck{4}{0}{1}
+\dreieck{4}{1}{4}
+\dreieck{4}{2}{1}
+\dreieck{4}{3}{4}
+\dreieck{4}{4}{1}
+
+\dreieck{5}{0}{1}
+\dreieck{5}{5}{1}
+
+\dreieck{6}{0}{1}
+\dreieck{6}{1}{1}
+\dreieck{6}{5}{1}
+\dreieck{6}{6}{1}
+
+\dreieck{7}{0}{1}
+\dreieck{7}{1}{2}
+\dreieck{7}{2}{1}
+\dreieck{7}{5}{1}
+\dreieck{7}{6}{2}
+\dreieck{7}{7}{1}
+
+\dreieck{8}{0}{1}
+\dreieck{8}{1}{3}
+\dreieck{8}{2}{3}
+\dreieck{8}{3}{1}
+\dreieck{8}{5}{1}
+\dreieck{8}{6}{3}
+\dreieck{8}{7}{3}
+\dreieck{8}{8}{1}
+
+\dreieck{9}{0}{1}
+\dreieck{9}{1}{4}
+\dreieck{9}{2}{1}
+\dreieck{9}{3}{4}
+\dreieck{9}{4}{1}
+\dreieck{9}{5}{1}
+\dreieck{9}{6}{4}
+\dreieck{9}{7}{1}
+\dreieck{9}{8}{4}
+\dreieck{9}{9}{1}
+
+\dreieck{10}{0}{1}
+\dreieck{10}{5}{2}
+\dreieck{10}{10}{1}
+
+\dreieck{11}{0}{1}
+\dreieck{11}{1}{1}
+\dreieck{11}{5}{2}
+\dreieck{11}{6}{2}
+\dreieck{11}{10}{1}
+\dreieck{11}{11}{1}
+
+\dreieck{12}{0}{1}
+\dreieck{12}{1}{2}
+\dreieck{12}{2}{1}
+\dreieck{12}{5}{2}
+\dreieck{12}{6}{4}
+\dreieck{12}{7}{2}
+\dreieck{12}{10}{1}
+\dreieck{12}{11}{2}
+\dreieck{12}{12}{1}
+
+\dreieck{13}{0}{1}
+\dreieck{13}{1}{3}
+\dreieck{13}{2}{3}
+\dreieck{13}{3}{1}
+\dreieck{13}{5}{2}
+\dreieck{13}{6}{1}
+\dreieck{13}{7}{1}
+\dreieck{13}{8}{2}
+\dreieck{13}{10}{1}
+\dreieck{13}{11}{3}
+\dreieck{13}{12}{3}
+\dreieck{13}{13}{1}
+
+\dreieck{14}{0}{1}
+\dreieck{14}{1}{4}
+\dreieck{14}{2}{1}
+\dreieck{14}{3}{4}
+\dreieck{14}{4}{1}
+\dreieck{14}{5}{2}
+\dreieck{14}{6}{3}
+\dreieck{14}{7}{2}
+\dreieck{14}{8}{3}
+\dreieck{14}{9}{2}
+\dreieck{14}{10}{1}
+\dreieck{14}{11}{4}
+\dreieck{14}{12}{1}
+\dreieck{14}{13}{4}
+\dreieck{14}{14}{1}
+
+\dreieck{15}{0}{1}
+\dreieck{15}{5}{3}
+\dreieck{15}{10}{3}
+\dreieck{15}{15}{1}
+
+\dreieck{16}{0}{1}
+\dreieck{16}{1}{1}
+\dreieck{16}{5}{3}
+\dreieck{16}{6}{3}
+\dreieck{16}{10}{3}
+\dreieck{16}{11}{3}
+\dreieck{16}{15}{1}
+\dreieck{16}{16}{3}
+
+\dreieck{17}{0}{1}
+\dreieck{17}{1}{2}
+\dreieck{17}{2}{1}
+\dreieck{17}{5}{3}
+\dreieck{17}{6}{1}
+\dreieck{17}{7}{3}
+\dreieck{17}{10}{3}
+\dreieck{17}{11}{1}
+\dreieck{17}{12}{3}
+\dreieck{17}{15}{1}
+\dreieck{17}{16}{2}
+\dreieck{17}{17}{1}
+
+\dreieck{18}{0}{1}
+\dreieck{18}{1}{3}
+\dreieck{18}{2}{3}
+\dreieck{18}{3}{1}
+\dreieck{18}{5}{3}
+\dreieck{18}{6}{4}
+\dreieck{18}{7}{4}
+\dreieck{18}{8}{3}
+\dreieck{18}{10}{3}
+\dreieck{18}{11}{4}
+\dreieck{18}{12}{4}
+\dreieck{18}{13}{3}
+\dreieck{18}{15}{1}
+\dreieck{18}{16}{3}
+\dreieck{18}{17}{3}
+\dreieck{18}{18}{1}
+
+\dreieck{19}{0}{1}
+\dreieck{19}{1}{4}
+\dreieck{19}{2}{1}
+\dreieck{19}{3}{4}
+\dreieck{19}{4}{1}
+\dreieck{19}{5}{3}
+\dreieck{19}{6}{2}
+\dreieck{19}{7}{3}
+\dreieck{19}{8}{2}
+\dreieck{19}{9}{3}
+\dreieck{19}{10}{3}
+\dreieck{19}{11}{2}
+\dreieck{19}{12}{3}
+\dreieck{19}{13}{2}
+\dreieck{19}{14}{3}
+\dreieck{19}{15}{1}
+\dreieck{19}{16}{4}
+\dreieck{19}{17}{1}
+\dreieck{19}{18}{4}
+\dreieck{19}{19}{1}
+
+\dreieck{20}{0}{1}
+\dreieck{20}{5}{4}
+\dreieck{20}{10}{1}
+\dreieck{20}{15}{4}
+\dreieck{20}{20}{1}
+
+\dreieck{21}{0}{1}
+\dreieck{21}{1}{1}
+\dreieck{21}{5}{4}
+\dreieck{21}{6}{4}
+\dreieck{21}{10}{1}
+\dreieck{21}{11}{1}
+\dreieck{21}{15}{4}
+\dreieck{21}{16}{4}
+\dreieck{21}{20}{1}
+\dreieck{21}{21}{1}
+
+\dreieck{22}{0}{1}
+\dreieck{22}{1}{2}
+\dreieck{22}{2}{1}
+\dreieck{22}{5}{4}
+\dreieck{22}{6}{3}
+\dreieck{22}{7}{4}
+\dreieck{22}{10}{1}
+\dreieck{22}{11}{2}
+\dreieck{22}{12}{1}
+\dreieck{22}{15}{4}
+\dreieck{22}{16}{3}
+\dreieck{22}{17}{4}
+\dreieck{22}{20}{1}
+\dreieck{22}{21}{2}
+\dreieck{22}{22}{1}
+
+\dreieck{23}{0}{1}
+\dreieck{23}{1}{3}
+\dreieck{23}{2}{3}
+\dreieck{23}{3}{1}
+\dreieck{23}{5}{4}
+\dreieck{23}{6}{2}
+\dreieck{23}{7}{2}
+\dreieck{23}{8}{4}
+\dreieck{23}{10}{1}
+\dreieck{23}{11}{3}
+\dreieck{23}{12}{3}
+\dreieck{23}{13}{1}
+\dreieck{23}{15}{4}
+\dreieck{23}{16}{2}
+\dreieck{23}{17}{2}
+\dreieck{23}{18}{4}
+\dreieck{23}{20}{1}
+\dreieck{23}{21}{3}
+\dreieck{23}{22}{3}
+\dreieck{23}{23}{1}
+
+\dreieck{24}{0}{1}
+\dreieck{24}{1}{4}
+\dreieck{24}{2}{1}
+\dreieck{24}{3}{4}
+\dreieck{24}{4}{1}
+\dreieck{24}{5}{4}
+\dreieck{24}{6}{1}
+\dreieck{24}{7}{4}
+\dreieck{24}{8}{1}
+\dreieck{24}{9}{4}
+\dreieck{24}{10}{1}
+\dreieck{24}{11}{4}
+\dreieck{24}{12}{1}
+\dreieck{24}{13}{4}
+\dreieck{24}{14}{1}
+\dreieck{24}{15}{4}
+\dreieck{24}{16}{1}
+\dreieck{24}{17}{4}
+\dreieck{24}{18}{1}
+\dreieck{24}{19}{4}
+\dreieck{24}{20}{1}
+\dreieck{24}{21}{4}
+\dreieck{24}{22}{1}
+\dreieck{24}{23}{4}
+\dreieck{24}{24}{1}
+
+\dreieck{25}{0}{1}
+\dreieck{25}{25}{1}
+
+\dreieck{26}{0}{1}
+\dreieck{26}{1}{1}
+\dreieck{26}{25}{1}
+\dreieck{26}{26}{1}
+
+\dreieck{27}{0}{1}
+\dreieck{27}{1}{2}
+\dreieck{27}{2}{1}
+\dreieck{27}{25}{1}
+\dreieck{27}{26}{2}
+\dreieck{27}{27}{1}
+
+\dreieck{28}{0}{1}
+\dreieck{28}{1}{3}
+\dreieck{28}{2}{3}
+\dreieck{28}{3}{1}
+\dreieck{28}{25}{1}
+\dreieck{28}{26}{3}
+\dreieck{28}{27}{3}
+\dreieck{28}{28}{1}
+
+\dreieck{29}{0}{1}
+\dreieck{29}{1}{4}
+\dreieck{29}{2}{1}
+\dreieck{29}{3}{4}
+\dreieck{29}{4}{1}
+\dreieck{29}{25}{1}
+\dreieck{29}{26}{4}
+\dreieck{29}{27}{1}
+\dreieck{29}{28}{4}
+\dreieck{29}{29}{1}
+
+\dreieck{30}{0}{1}
+\dreieck{30}{5}{1}
+\dreieck{30}{25}{1}
+\dreieck{30}{30}{1}
+
+\dreieck{31}{0}{1}
+\dreieck{31}{1}{1}
+\dreieck{31}{5}{1}
+\dreieck{31}{6}{1}
+\dreieck{31}{25}{1}
+\dreieck{31}{26}{1}
+\dreieck{31}{30}{1}
+\dreieck{31}{31}{1}
+
+\dreieck{32}{0}{1}
+\dreieck{32}{1}{2}
+\dreieck{32}{2}{1}
+\dreieck{32}{5}{1}
+\dreieck{32}{6}{2}
+\dreieck{32}{7}{1}
+\dreieck{32}{25}{1}
+\dreieck{32}{26}{2}
+\dreieck{32}{27}{1}
+\dreieck{32}{30}{1}
+\dreieck{32}{31}{2}
+\dreieck{32}{32}{1}
+
+\dreieck{33}{0}{1}
+\dreieck{33}{1}{3}
+\dreieck{33}{2}{3}
+\dreieck{33}{3}{1}
+\dreieck{33}{5}{1}
+\dreieck{33}{6}{3}
+\dreieck{33}{7}{3}
+\dreieck{33}{8}{1}
+\dreieck{33}{25}{1}
+\dreieck{33}{26}{3}
+\dreieck{33}{27}{3}
+\dreieck{33}{28}{1}
+\dreieck{33}{30}{1}
+\dreieck{33}{31}{3}
+\dreieck{33}{32}{3}
+\dreieck{33}{33}{1}
+
+\dreieck{34}{0}{1}
+\dreieck{34}{1}{4}
+\dreieck{34}{2}{1}
+\dreieck{34}{3}{4}
+\dreieck{34}{4}{1}
+\dreieck{34}{5}{1}
+\dreieck{34}{6}{4}
+\dreieck{34}{7}{1}
+\dreieck{34}{8}{4}
+\dreieck{34}{9}{1}
+\dreieck{34}{25}{1}
+\dreieck{34}{26}{4}
+\dreieck{34}{27}{1}
+\dreieck{34}{28}{4}
+\dreieck{34}{29}{1}
+\dreieck{34}{30}{1}
+\dreieck{34}{31}{4}
+\dreieck{34}{32}{1}
+\dreieck{34}{33}{4}
+\dreieck{34}{34}{1}
+
+\dreieck{35}{0}{1}
+\dreieck{35}{5}{2}
+\dreieck{35}{10}{1}
+\dreieck{35}{25}{1}
+\dreieck{35}{30}{2}
+\dreieck{35}{35}{1}
+
+\dreieck{36}{0}{1}
+\dreieck{36}{1}{1}
+\dreieck{36}{5}{2}
+\dreieck{36}{6}{2}
+\dreieck{36}{10}{1}
+\dreieck{36}{11}{1}
+\dreieck{36}{25}{1}
+\dreieck{36}{26}{1}
+\dreieck{36}{30}{2}
+\dreieck{36}{31}{2}
+\dreieck{36}{35}{1}
+\dreieck{36}{36}{1}
+
+\def\etikett#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) {$#3$};
+}
+
+\etikett{0}{-2}{n=0}
+\etikett{5}{-2}{n=5}
+\etikett{25}{-2}{n=25}
+
+\def\exponent#1#2#3{
+ \node at ({\xs*(-#1+2*#2)},{-\ys*(#1+0.5)}) [rotate=60] {$#3$};
+}
+
+\exponent{-2}{0}{k=0}
+\exponent{3}{5}{k=5}
+\exponent{23}{25}{k=25}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima b/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima new file mode 100644 index 0000000..9116023 --- /dev/null +++ b/buch/chapters/30-endlichekoerper/rechnungen/rs.maxima @@ -0,0 +1,29 @@ +n: X^12 + 12; +r: 7*X^11 + 4*X^10 + X^9 + 12*X^8 + 2*X^7 + 12*X^6; + +q0: 2*X+10; +q1: 2*X+2; +q2: 2*X+10; + +a0: n; +b0: r; +r0: expand(a0 - q0 * b0); + +a1: b0; +b1: r0; +r1: expand(a1 - q1 * b1); + +a2: b1; +b2: r1; +r2: expand(a2 - q2 * b2); + +K: matrix([1,0],[0,1]); + +K: expand(K . matrix([q0,1],[1,0])); +K: expand(K . matrix([q1,1],[1,0])); +K: expand(K . matrix([q2,1],[1,0])); + +u: 8*X^3+10*X^2+11*X+12; +v: 4*X^2+11*X+8; + +factor(u), modulus:13; diff --git a/buch/chapters/30-endlichekoerper/wurzeln.tex b/buch/chapters/30-endlichekoerper/wurzeln.tex index 02429dc..600336c 100644 --- a/buch/chapters/30-endlichekoerper/wurzeln.tex +++ b/buch/chapters/30-endlichekoerper/wurzeln.tex @@ -731,7 +731,7 @@ dass sf+tm=1. \] Reduzieren wir modulo $m$, wird daraus $af=1$ in $\Bbbk[X]/m\Bbbk[X]$. -Das Polynom $a$, reduziert module $m$, ist also die multiplikative +Das Polynom $a$, reduziert modulo $m$, ist also die multiplikative Inverse von $f$. Bei der praktischen Durchführung des euklidischen Algorithmus ist der |