Fehler-korrigierende Codes
|
|
|
- Adam Fleischer
- vor 10 Jahren
- Abrufe
Transkript
1 Fehler-korrigierende Codes Prof. Dr. Thomas Risse Institut für Informatik & Automation, IIA Fakultät E&I, Hochschule Bremen, HSB 8. April 2013 Nummerierung der Kapitel und Abschnitte in [15] sind beibehalten, damit die Referenzen in Problems und Notes auch auf dieses Dokument und umgekehrt zutreffen. Jedes Kapitel sowie der Anhang von [15] bieten Lösungen zu ausgewählten Problemen. Inhaltsverzeichnis 1 Einführung Kommunikationssysteme Kanal-Kodierung Block-Codes Dekodierung Dekodierer Maximum Likelihood Dekodierer Kapazität des BSC Fehler-Behandlung Fehler-Korrektur Fehler-Detektion Auslöschungsfehler Aufgaben Problem 1.2 on p. 19 to subsection Problem 1.10 on p. 22 to subsection
2 2 lineare Codes Definition von linearen Codes Kodierung linearer Codes Paritätsmatrizen linearer Codes Dekodierung linearer Codes Standard Array Dekodierung Syndrom-Dekodierung Aufgaben Problem 2.8 on p. 37 to subsection Problem 2.12 on p. 39 to subsection Problem 2.16 on p. 40 to subsection Endliche Körper prime fields Polynome Körpererweiterungen Extension Fields Wurzeln, Nullstellen von Polynomen primitive Elemente Charakteristik Splitting Fields Zerfällungskörper Anwendungsbeispiel: Doppelfehler korrigierende Codes Aufgaben Problem 3.9 on p. 73 to subsection Problem 3.23 on p. 77 to subsection Problem 3.24 on p. 78 to subsection Problem 3.26 on p. 79 to subsection Problem 3.31 on p. 83 to subsection Problem 3.32 on p. 83 to subsection Problem 3.35 on p. 85 to subsection Problem 3.42 on p. 88 to subsection
3 4 Schranken Singleton-Schranke Kugelpackungsschranke Die Gilbert-Varshamov-Schranke MacWilliams-Identitäten Asymptotische Schranken Aufgaben Problem 4.2 on p. 119 to subsection Problem 4.13 on p. 123 to subsection Reed-Solomon-Codes u.ä verallgemeinerte Reed-Solomon-Codes Definition Polynomiale Darstellung von grs-codes konventionelle Reed-Solomon-Codes Reed-Solomon-Codes kodieren Ketten-Codes Alternante Codes BCH-Codes Aufgaben Problem 5.4 on p. 165 to subsection Problem 5.5 on p. 165 to subsection Problem 5.8 on p. 167 to subsection Problem 5.30 on p. 176 to subsection RS-Codes dekodieren setting Syndrom berechnen key equations key equations lösen key equations mit formalen Potenzreihen lösen key equations mit Euklid schem Algorithmus lösen Fehlerwerte bestimmen Zusammenfassung: grs-codes dekodieren Der Berlekamp-Massey Algorithmus Lineare Rekurrenzen untere Schranke für die Rekurrenz-Ordnung
4 6.7.3 Berlekamp-Massey-Algorithmus Minimalität der Rekurrenz-Ordnung Eigenschaften des Berlekamp-Massey-Algorithmus Aufgaben Problem 6.1 on p. 204 to subsection Problem 6.16 on p. 214 to subsection Struktur endlicher Körper Minimale Polynome Abzählen der irreduziblen Polynome Isomorphie endlicher Körper primitive Polynome Kreisteilungsnebenklassen Aufgaben Problem 7.1 on p. 232 to subsection 7.1 and Problem 7.4 on p. 233 to subsection 7.1 and Problem 7.7 on p. 234 to subsection Problem 7.10 on p. 235 to subsection Problem 7.11 on p. 236 to subsection Problem 7.14 on p. 238 to subsection Problem 7.15 on p. 239 to subsection zyklische Codes Definition Generator- und Prüf-Polynom Wurzeln eines zyklischen Codes Aufgaben Problem 8.2 on p. 256 to subsection Problem 8.3 on p. 256 to subsection Problem 8.8 on p. 258 to subsection Problem 8.9 on p. 258 to subsection Problem 8.11 on p. 259 to subsection
5 12 Ketten-Codes erweiterte Definition Dekodierung von Ketten-Codes Aufgaben Problem 12.2 on p. 382 to subsection Problem on p. 389 to subsection Appendix Basics in Algebra A to do 156 5
6 1 Einführung 1.1 Kommunikationssysteme Quelle Quell-Kodierung Kanal-Kodierung Kanal Kanal Kanal-Dekodierung Senken-Dekodierung Senke z.h. Finde Beispiele. 1.2 Kanal-Kodierung u Kanal-Kodierung c Kanal y Kanal-Dekodierung ĉ,û Def. Ein probabilistischer Kanal S ist spezifiziert durch (F, Φ, P rob), d.h. durch endliches Input-Alphabet F, endliches Ouput-Alphabet Φ und Satz P rob bedingter Wahrscheinlichkeiten P (y empfangen x übertragen) für x F m und y Φ m. z.h. NB: Fehler-Modell Sei M = {u}, c F n, y Φ n. Ziel ist u = û. Def. R = log F M n heißt Code-Rate. Z.B. Für den gedächtnislosen binären symmetrischen Kanal, BSC gilt F = Φ = {0, 1} und P (y empfangen x übertragen) = { i P (y i empfangen x i übertragen), 1 p falls y = x wobei P (y empfangen x übertragen) = p falls y x. z.h. Auf den q-nären BSC mit F = q verallgemeinern. Bem. Man möchte in F rechnen können! Daher sind sogenannte additive Kanäle wünschenswert, deren Alphabet mindestens eine Abelsche Gruppe, besser ein Körper ist. 1.3 Block-Codes Def. Ein (n, M) Block-Code C über F ist eine Teilmenge C F n mit C = M. Dabei heißt n Code-Länge, M heißt Code-Größe, k = log F M heißt Code- Dimension und R = k n heißt Code-Rate. Die Elemente von C heißen Code-Wörter. Def. Für x, y F n heißt d(x, y) = {i : x i y i } der Hamming 1 -Abstand von x und y. Def. Eine Abbildung d : F n F n R heißt Metrik, wenn d(x, y) 0, d(x, y) = 0 x = y, Symmetrie d(x, y) = d(y, x) und Dreiecksungleichung d(x, y) d(x, z) + d(z, y). z.h. Zeige: der Hamming-Abstand definiert eine Metrik. 1 Richard Wesley Hamming ( ) 6
7 Bem. Falls F eine Abelsche Gruppe ist, so gilt d(x, y) = w(y x), wobei w(x) = {i : x i 0} das Gewicht von x bezeichnet. Def. Sei C ein (n, M) Block-Code über F. d = d(c) = min C c1 c 2 C d(c 1, c 2 ) heißt minimaler (Hamming-) Abstand von C. Man bezeichnet dann C auch als (n, M, d)-code. Z.B. Der binäre Wiederholungscode C = {000, 111} über F = {0, 1} ist ein (3, 2, 3)-Code mit Dimension log 2 2 = 1 und Code-Rate R = 1/3. Z.B. Der binäre parity code C = {000, 011, 101, 110} über F = {0, 1} ist ein (3, 4, 2)-code mit Dimension log 2 4 = 2 und Code-Rate R = 2/ Dekodierung Dekodierer Def. Sei C ein (n, M) Block-Code über F und S ein (F, Φ, P rob)-kanal. Dann heißt D : Φ n C Dekodierer (von C bzgl. S). Die Wahrscheinlichkeit P err = max c C P err (c) = y:d(y) c P (y empfangen c übertragen) heißt Dekodierungsfehlerwahrscheinlichkeit. Dekoder sollten P err minimieren! Z.B. Sei C der binäre (3, 2, 3)-Wiederholungscode C = {000, 111} über F = {0, 1} und S ein BSC mit cross over Wahrscheinlichkeit p. Sei D({c : w(c) 1}) = 000 und D({c : w(c) 2}) = 111. Dann stimmt P err mit der Wahrscheinlichkeit überein, daß mindestens zwei Fehler auftreten. P err = P err (000) = P err (111) = ( ) 3 2 p 2 (1 p) + ( 3 3) p 3 = 3p 2 3p 3 + p 3 = p(2p 1)(1 p) + p, woraus P err < p für p < 1 2 folgt. Der Preis für diese Verbesserung liegt in der kleineren code-rate R = Maximum Likelihood Dekodierer Def. Sei C ein (n, M, d) Block-Code über F und S ein (F, Φ, P rob)-kanal. Dann heißt D MLD : Φ n C Maximum Likelihood Dekodierer (von C bzgl. S), falls D MLD (y) = c derart, daß P (y empfangen c übertragen) für jedes y maximiert. Falls es mehrere Kandidaten c C gibt, mache man D MLD eindeutig. z.h. Recherchiere maximum a posteriori decoder, MapD zusammen mit Bedingungen dafür, daß MLD und MapD zusammenfallen. Z.B. Sei C ein Code über F = {0, 1} und S ein BSC mit cross over Wahrscheinlichkeit p < 1. Dann gilt P (y empfangen c übertragen) = i P (y i empfangen c i übertragen) = p d(y,c) (1 p) n d(y,c) = (1 p) n( p ) d(y,c). 1 p Wenn nun p < 1 p 2, dann ist 1 p < 1, so daß D MLD(y) gerade das Code-Wort liefert, das y in C am nächsten liegt. D MLD realisiert also einen nearest code word decoder. 7
8 z.h. Ein entsprechendes Ergebnis läßt sich für einen q-nären BSC herleiten, wenn nur p < 1 1 q gilt Kapazität des BSC Typischerweise läßt sich P err reduzieren, wenn man kleinere code-raten in Kauf nimmt. Grundsätzlich kann man P err beliebig klein machen bei immer noch positiven code-raten. Def. H : [0, 1] [0, 1] mit H(x) = x log 2 x (1 x) log 2 (1 x) und H(0)+1 = H(1) heißt binäre Entropie-Funktion. Sei S ein BSC mit cross over Wahrscheinlichkeit p. Die Kapazität cap(s) von S ist cap(s) = 1 H(p). Die Kapazität eines Kanals ist die maximale Rate, mit der Information verläßlich über diesen Kanal übertragen werden kann. Satz (Shannon 2 scher Kodierungssatz für BSCs) Sei S ein BSC mit cross over Wahrscheinlichkeit p und sei 0 R < cap(s). Dann gibt es eine (unendliche) Folge von (n i, M i )-Block-Codes über F mit log 2 Mi n i R, so daß für P err der zugehörigen Maximum Likelihood Dekodierer lim i P err = 0 gilt. Satz (Umkehrung des Shannon schen Kodierungssatzes für BSCs) Sei S ein BSC mit cross over Wahrscheinlichkeit p und sei R > cap(s). Betrachte eine beliebige Folge von (n i, M i )-Block-Codes über F mit log 2 Mi n i R und streng monoton wachsenden n i. Dann gilt für jeden Dekoder dieser Codes lim i P err = 1. Bew. Zu Motivation und Plausibilität s. [15] p Fehler-Behandlung Im Folgenden sind alle Kanäle additiv. Es wird sich zeigen, daß unabhängig von den bedingten Wahrscheinlichkeiten des Kanals alle Fehler behebbar sind, solange ihre Anzahl nur geeignet beschränkt bleibt Fehler-Korrektur Satz Sei C ein (n, M, d)-code über F. Dann gibt es einen Dekoder D : F n C, der bis zu d 1 2 Fehler korrigiert unabhängig vom verwendeten Kanal. Bew. Sei D der nearest code word decoder. Sei c das gesendete Code-Wort und y das empfangene Wort. Sei d(y, c) d 1 2. Angenommen, c = D(y) c. Die Definition von D impliziert d(y, c ) d(y, c) d 1 2, so daß d d(c, c ) d(y, c) + d(y, c ) d 1 den Widerspruch liefert. z.h. Zeige denselben Sachverhalt mit einer geometrischen Überlegung. Z.B. Sei C der binäre (n, 2, n)-wiederholungscode C = { , } über F = {0, 1}. Der nearest code word decoder korrigiert bis zu n 1 2 Fehler. 2 Claude Elwood Shannon ( ) 8
9 Die Schranke der vorstehenden Satzes ist minimal, wie das folgende Beispiel zeigt. Z.B. Sei C der binäre (3, 4, 2) parity code. Angenommen y = 001. Das korrekte Code-Wort kann dann 000, 011 oder 101 sein. Dieser Code kann nicht einmal einen Fehler korrigieren. z.h. s. Problem Fehler-Detektion Satz Sei C ein (n, M, d)-code über F. Dann gibt es einen Dekoder D : F n C {ɛ}, wobei ɛ Fehler signalisiert, der bis zu d 1 Fehler (korrekt) detektiert. { y falls y C Bew. Sei D durch D(y) = definiert. Sei c das gesendete Codeɛ falls y C Wort und y das empfangene Wort. Die Detektion scheitert, falls y selbst wieder ein Code-Wort ist, d.h. falls d(y, c) d. Z.B. Der binäre (n, 2 n 1, 2) parity code kann genau einen Fehler (korrekt) detektieren. Der folgende Satz kombiniert Fehler-Korrektur und Fehler-Detektion. Satz Sei C ein (n, M, d)-code über F. Seien τ, σ N mit 2τ + σ d 1. Dann gibt es einen Dekoder D : F n C {ɛ}, der bis zu τ Fehler korrigiert und bis zu τ + σ Fehler detektiert. { c falls c C, d(y, c) τ Bew. Sei D durch D(y) =, d.h. wenn y in einer ɛ sonst Kugel mit Radius τ um ein Code-Wort c liegt, dann D(y) = c, sonst liegt y zwischen allen Kugeln mit Radius τ um Code-Wörter, so daß dann D(y) = ɛ. Angenommen, c ist das gesendete Code-Wort und y das empfangene Wort mit d(y, c) σ + τ. Die Dekodierung würde scheitern, wenn y in einer Kugel mit Radius τ um ein Code-Wort c c läge. Dieser Fall kann aber wegen des Widerspruchs d d(c, c ) d(y, c) + d(y, c ) (τ + σ) + τ d 1 nicht eintreten Auslöschungsfehler Def. Man spricht von einem Auslöschungsfehler, wenn eine Stelle eines Code- Wortes in dem Sinn ausgelöscht wurde, daß der Ort des Fehlers, nicht aber die zugehörige Information bekannt ist. Def. Ein binärer Kanal mit Auslöschung liegt vor, wenn F = {0, 1}, Φ = F { } und mit Wahrscheinlichkeit p eine Stelle eines Code-Wortes unabhängig von der Information an dieser und an den anderen Stellen gelöscht wird. Ein q-närer Kanal mit Auslöschung liegt vor, wenn F = q, Φ = F { } und 1 p falls y = x mit Wahrscheinlichkeit P (y empfangen x gesendet) = p falls y = eine Stelle eines Code-Wortes unabhängig von der Information an dieser und an 0 sonst den anderen Stellen gelöscht wird. 9
10 Allgemein ist ein Kanal mit Auslöschung durch (F, Φ, P rob) spezifiziert mit Φ = F { } und P (y empfangen x gesendet) > 0 nur dann, wenn y j {x j, } für alle j. Satz Sei C ein (n, M, d)-code über F. Der Kanal sei ein Kanal mit Auslöschung. Dann gibt es einen Dekoder D : F n C {ɛ}, der bis zu d 1 Auslöschungen (korrekt) korrigiert. c falls y mit genau einem c C Bew. Sei D durch D(y) = in allen Stellen übereinstimmt definiert. ɛ sonst Sei c das gesendete Code-Wort und y das empfangene Wort mit höchstens d 1 Auslöschungen. Weil verschiedene Code-Wörter sich in mindestens d Stellen unterscheiden, kann es nur genau ein Code-Wort c geben, das in allen nicht ausgelöschten Stellen mit y übereinstimmt. Der folgende Satz kombiniert Fehler-Korrektur, Fehler-Detektion und Korrektur von Auslöschungsfehlern. Satz Sei C ein (n, M, d)-code über F. Sei Φ = F { }. Für ρ N mit 0 ρ d 1 und für τ, σ N gelte 2τ + σ + ρ d 1. Dann gibt es einen Dekoder D : F n C {ɛ}, der bis zu τ Fehler (ohne Auslöschungen) korrigiert, der bis zu Auslöschungen korrigiert und bis zu τ + σ Fehler detektiert. Bew. Sei y das empfangene Wort und J = {j : y j F }, die Indizes der Stellen ohne Auslöschung. Für x Φ n sei x J das Teilwort von x indiziert durch J. Betrachte den Code C J = {c J : c C}. Dann ist d(c J ) d ρ. Verwende auf C J den zugehörigen Dekoder D o auf y J F n ρ an. Falls d(y J, c J ) τ für ein c J C J liefert D o korrekterweise D o (y J ) = c J, was zu genau einem c C führt. Anderenfalls liefert der Dekoder eben ɛ. Der Satz illustriert, daß generell Fehler-Korrektur doppelt so teuer ist wie Fehler- Detektion oder Auslöschungskorrektur. Einführung Probleme Problem 1.2 on p. 19 to subsection 1.3 Sei F = {0, 1} und seien x, y, z F n mit d(x, y) = d(x, z) = d(y, z) = 2t. Die drei Vektoren x, y und z bilden also ein gleichseitiges Dreieck. Zeige: es gibt genau ein v F n mit d(x, v) = d(y, v) = d(z, v) = t. Sei v = (v 1, v 2,..., v n ) durch v i =TMR 3 (x i, y i, z i ) = (x i y i ) (x i z i ) (y i z i ) für i = 1, 2,..., n, der Bit-weisen Majorität von x, y und z definiert. Sei x = (x 1,..., x n ) und o.b.d.a. y = ( x 1,..., x 2t, x 2t+1,..., x n ) mit d(x, y) = 2t und o.b.d.a. z = (x 1,..., x t, x t+1,..., x 3t, x 3t+1,..., x n ) mit d(x, z) = 2t = d(y, z). Dann gilt d(x, v) = d(y, v) = d(z, v) = t. Eindeutigkeit 3 triple modular redundancy/majority voting cp. crc.stanford.edu/crc papers/mitravts002.pdf 10
11 Problem 1.3 on p. 19 to subsection 1.3 Seien A und B m n-matrizen über F. Definiere d(a, B) = rang(a B). Zeige: d ist eine Metrik. Hinweis: rang(a + B) rang(a) + rang(b) Positiv wegen d(a, B) = rang(a B) 0 und d(a, A) = rang(a A) = rang(0) = 0 mit rang(a) = 0 A = 0 symmetrisch wegen d(a, B) = rang(a B) = rang(b A) = d(b, A) Dreiecksungleichung wegen d(a, C) = rang(a C) = rang((a B)+(B C)) rang(a B) + rang(b C) = d(a, B) + d(b, C) Problem 1.4 on p. 19 to subsection 1.3 Jedes Code-Wort eines (n, M, d)-codes C über GF 2 mit ungeradem d werde durch Hinzufügen eines parity bits zu einem Code-Wort des sogenannten erweiterten (n + 1, M, d e )-Codes C e über GF 2 gemacht. Zeige: d e = d + 1. Bem. Für uns ist das allgemeine Ergebnis nicht überraschend, weil wir uns schon mit dem Spezial-Fall der erweiterten Hamming-Codes befaßt haben. Für zwei beliebige, verschiedene Code-Wörter c 1, c 2 C mit c 1 c 2 gilt d(c 1, c 2 ) d(c) = d 2N + 1. Hinzufügen des parity bits erzeugt Code-Wörter (c i ) e C e und zunächst gilt d ( (c 1 ) e, (c 2 ) e ) d, es könnte ja für jedes der beiden Code-Wörter dasselbe parity bit erzeugt werden. Um die Behauptung zu zeigen, dürfen wir uns auf die Betrachtung solcher Paare von Code-Wörtern c 1 und c 2 mit d(c 1, c 2 ) = d beschränken. Weil sich diese in einer ungeraden Anzahl von Stellen unterscheiden, werden jeweils verschiedene parity bits hinzugefügt. Damit unterscheiden sich (c 1 ) e und (c 2 ) e in einer zusätzlichen Stelle und es gilt d ( (c 1 ) e, (c 2 ) e ) = d + 1, also de = d + 1. Problem 1.5 on p. 19 to subsection 1.4 Sei C = {01010, 10101} = {c 1, c 2 } GF 5 2. Code-Wörter werden über einen binären, symmetrischen Kanal mit cross over Wahrscheinlichkeit p = 0.1 übermittelt. Ein nearest code word Dekodierer D dekodiert die empfangenen Wörter. Berechne die Dekodier-Fehler-Wahrscheinlichkeit P Err von D. Eine Tabelle der Form y d(y, c 1 ) d(y, c 2 ) D(y) c c c c 1.. y d(y, c 1 ) d(y, c 2 ) D(y) c c c c 2 liefert etwa D(y) = c 2 d(y, c 2 ) 2 d(y, c 1 ) 3 und damit y:d(y)=c 2 P (y c 1 ) = 5 r=3 y:d(y,c P (y c 1)=r 1) = ( ) 5 3 p 3 (1 p) 2 + ( 5 4) p 4 (1 p) + ( 5 5) p 5 = wie ebenso y:d(y)=c 2 P (y c 1 ) = , so daß P Err = max{ y:d(y) c i P (y c i ) : i = 1, 2} = folgt. 11
12 Problem 1.7 on p. 19 to subsection 1.4 Sei C ein Code über F mit F = q. Für die cross over Wahrscheinlichkeit p gelte p < 1 1/q = q 1 q. Zeige: der nearest code word decoder ist ein maximum likelihood decoder. { 1 p falls y = x Es gilt P (y empfangen x gesendet) = für x, y F = Φ. p/(q 1) falls y x Dann gilt für den Gedächtnis-losen, symmetrischen. q-ary Kanal P (y empfangen x gesendet) = n j=1 P (y j empfangen x j gesendet) = ( p d(y,c)(1 p) q 1) n d(y,c) = (1 p) n( ) p d(y,c). (q 1)(1 p) Nun ist p (q 1)(1 p) < 1 p < (q 1) p(q 1) pq < q 1 p < q 1 q. Also ist P (y empfangen x gesendet) maximal (maximum likelihodd decode) genau dann, wenn d(y, c) minimal (nearest code word decoder). Problem 1.8 on p. 19 to subsection 1.4 Informationen werden über einen Gedächtnis-losen, binären Kanal übertragen, so daß F = {0, 1}, P ( (y 1,..., y m ) (x 1,..., x m ) ) = m j=1 P (y j x j ) mit P (y x) > 0 für alle x F und y Φ gilt. Für jedes y Φ definiere log likelihood ratio µ(y) durch µ(y) = ld P (y 0) P (y 1). Sei nun C ein (n, M)-code über F. Definiere den Decoder D : Φ n C mit D(y) = c derart, daß n j=1 µ(y ( 1)cj j ) mit ( 1) o = 1 und ( 1) 1 = 1 jeweils maximiert wird. Zeige: D ist ein maximum likelihood decoder für C. P (y c) ist maximal P (y c) P j P (yj 0) und ist maximal j ld P 2 (y j c j) c j = 0 eben ld ld P (yj 1) P (y j 0) P (y j 0)P (y j 1) P 2 (y j 0) P (y j 0)P (y j 1) = ld P (yj 0) P (y j 1) gilt. (y c) j P (yj 1) sind maximal j = j ( 1)cj µ(y j ) ist maximal, da für P (yj 0) = ld P (y und für c j 1) j = 1 eben ld P 2 (y j c j) P (y j 0)P (y j 1) P 2 (y j 1) P (y j 0)P (y = j 1) Problem 1.10 on p. 22 to subsection 1.5 Zeige: Für jeden (n, M, d)-code C über F und jeden Dekoder D : F n C existiert ein Code-Wort c C und ein empfangenes Wort y F n mit d(y, c) (d + 1)/2 und D(y) c. Bem. Es gibt also keinen Dekoder, der mehr Fehler korrigieren kann, als der nearest codeword decoder ohnehin korrigiert. Problem 1.12 on p. 22 to subsection 1.5 Informationen werden über einen Gedächtnis-losen, binären Auslöschungskanal mit Eingabe-Alphabet F = {0, 1} und Ausgabe-Alphabet Φ = F {?} bei einer Auslöschungswahrscheinlichkeit p = 0.1 übertragen. Ein Code-Wort des (4, 8, 2) parity codes C wird übertragen und durch den decoder D : Φ 4 C {ɛ} mit D(y) = c falls y in den Einträgen in F mit genau einem c C übereinstimmt, 12
13 D(y) = ɛ sonst. Bestimme die Wahrscheinlichkeit P (D = ɛ). Hängt diese vom übertragenen Code-Wort ab? Es gilt C = {0000, 0011, 0101, 0110, 1001, 1010, 1100, 1111}. Wegen d = 2 kann C bis zu d 1 = 1 Auslöschungen korrigieren, d.h. D erzeugt ɛ bei mehr als einer Auslöschung, d.h. P (D = ɛ) = P (zwei oder mehr Auslöschungen) = 1 P (keine Auslöschung) P (eine Auslöschung) = 1 (1p) 4 4p(1 p) 3 = 1 (1 p) 3 (1+3p) und zwar unabhängig davon, welches Code-Wort gesendet wurde. Problem 1.13 on p. 22 to subsection 1.5 Wiederhole Problem 1.12 für C = {0000, 0111, 1011, 1101} = {c o, c 1, c 2, c 3 }. Für C gilt d = 2, so daß C bis zu eine Auslöschung korrigiert. Wird c o gesendet, so sind 0,?0??,??0? nicht eindeutig korrigierbar. Wird c 1 gesendet, so sind 0,?1??,??1? und 1 nicht eindeutig korrigierbar. Wird c 2 gesendet, so sind 1,?0??,??1? und 1 nicht eindeutig korrigierbar. Wird c 3 gesendet, so sind 1,?1??,??0? und 1 nicht eindeutig korrigierbar. Also gilt P (D = ɛ c o ) = 3p 3 (1 p) + p 4 und P (D = ɛ c 1 ) = P (D = ɛ c 2 ) = P (D = ɛ c 3 ) = 2p 2 (1 p) 2 + 4p 3 (1 p) + p 4. Die Wahrscheinlichkeit P (D = ɛ) hängt also davon ab, ob c o oder ein anders Code-Wort übertragen wird. 13
14 2 lineare Codes 2.1 Definition von linearen Codes Def. GF q oder GF(q) bezeichne den (Galois 4 -) Körper, Galois field, mit q Elementen. Z.B. Für primes q ist GF q gerade Z q = {0, 1, 2,..., q 1} mit Addition und Multiplikation modulo q, vgl. z.b. [12]. Bew. Galois hat gezeigt, daß die Anzahl der Elemente eines endlichen Körpers immer Potenz einer Primzahl ist. Neben GF p für primes p gibt es also noch GF q = GF p l = GF(p l ) für l N. Def. Ein (n, M, d)-code C über F = GF q heißt linear, wenn C ein Untervektorraum von F n ist, d.h. mit Code-Wörtern c 1, c 2 C und Skalaren a 1, a 2 F ist auch die Linearkombination a 1 c 1 + a 2 c 2 C und damit auch ein Code-Wort. Die Dimension k = log F M eines linearen Codes C stimmt überein mit der Dimension des Untervektorraum C von F n. Ein linearer (n, M, d)-code über F wird auch als [n, k, d]-code über F bezeichnet. Die Größe n k heißt Redundanz von C. Jede Basis, d.h. jede maximale Menge von linear unabhängigen Vektoren, eines [n, k, d]-code C über GF q besteht also aus k Vektoren. Daher ist C = M = q k und R = k n. Z.B. Der binäre (3, 4, 2) parity code C = {000, 011, 101, 110} ist ein (linearer) [3, 2, 2]-code mit etwa C = span{011, 101}. Def. Die Generator-Matrix G eines (linearen) [n, k, d]-codes über F ist eine k n-matrix, deren Zeilen aus den Vektoren einer Basis von C bestehen. Offensichtlich gilt rang(g) = k und C = F k G, was den Namen für G rechtfertigt. z.h. Generator-Matrizen sind nicht eindeutig, vgl. Problem 2.2 ( ) ( ) Z.B. Sowohl G = als auch Ĝ = sind Generator Matrizen des [3, 2, 2]-code über GF 2. 1 Bem. G = I. ist eine Generator-Matrix des [n, n 1, 2] parity 1 codes über F. Wegen C = {c : j c j = 0} ist d = 2 offensichtlich. Der Ausdruck even parity trifft verständlicherweise nur im Fall F = GF 2 zu. Z.B. G = ( ) erzeugt den [3, 1, 3] Wiederholungscode über GF 2. G erzeugt natürlich genauso den [3, 1, 3] Wiederholungscode über GF(p l ). Die 1 n-matrix G = ( ) erzeugt den [n, 1, n] Wiederholungscode über GF 2 oder allgemein über GF q. Proposition 2.1 Für jeden linearen Code C gilt d = min c C\{0} w(c). Bew. Mit c 1, c 2 C ist auch c 1 c 2 C. Aus d(c 1, c 2 ) = w(c 1 c 2 ) folgt d = min C c1 c 2 C d(c 1, c 2 ) = min C c1 c 2 C w(c 1 c 2 ) = min c C\{0} w(c). 4 Evariste Galois ( ) 14
15 2.2 Kodierung linearer Codes Kodierung (encoding) per u ug spezifiziert eine eineindeutige Abbildung F k C. Elementare Zeilenoperationen auf G verändern G aber nicht C. Wie bei Gauß kann man so erreichen, daß die k k-identitätsmatrix Untermatrix von G ist. Def. Eine k n-generator-matrix G heißt systematisch, wenn G = (I A) mit k k-identitätsmatrix Untermatrix I und k (n k)-matrix A. Kodierung per u ug = (u ua) erhält also den Informationsvektor u und ergänzt ihn um die redundante parity-information ua. 2.3 Paritätsmatrizen linearer Codes Def. Sei C ein linearer [n, k, d]-code über F. Eine Paritätsmatrix H von C ist eine (n k) n-matrix über F mit c C Hc = 0 für alle c F n. Bem. Also ist C der Kern von H; die Zeilen von G spannen den Kern von H auf und umgekehrt spannen die Zeilen von H den Kern von G auf. I.a.R. gilt rang(h) = n k, so daß i.a.r. die Zeilen von H l.u. sind. Bem. Eine k n-generator-matrix G sei systematisch. Dann ist H = ( A I) eine Paritätsmatrix des durch G erzeugten Codes C und für jedes Informationswort u = (u 1, u 2,..., u k ) F k ergibt sich mit c = ug = u(i A) = (u ua) C ein Code-Wort mit Hc = ( A I)(u ua) = A u + (ua) = 0. Z.B. Die 1 n-matrix H = ( ) ist eine Paritätsmatrix des [n, k, 2] parity codes über einem endlichen Körper F mit k = n 1. 1 Z.B. Die (n 1) n-matrix H =. I. ist eine Paritätsmatrix des 1 [n, 1, n] Wiederholungscodes über einem endlichen Körper F. Def. Sei C ein linearer [n, k, d] Code über F mit Generator-Matrix G. Der lineare [n, n k, d ] Code C = {x F n : xc = 0 für alle c C} = {x F n : xg = 0} heißt der zu C duale Code C. Bem. C hat G als Paritätsmatrix und jede Generator-Matrix von C ist eine Paritätsmatrix von C, s.a. Problem 2.15 auf S. 26. Z.B. Der lineare [n, 1, n] Wiederholungscode C rep und der [n, n 1, 2] parity code C par sind zueinander dual, da für jedes f F offensichtlich (f, f,..., f)c = 0 für alle c = (c 1,..., c n ) C par mit n j=1 c j = 0 und umgekehrt f = (f 1,..., f n ) mit fc = 0 für alle c C par eben f 1 = f 2 =... = f n impliziert. Def. Hamming-Codes sind lineare [2 m 1, 2 m 1 m, 3]-Codes über F = GF 2 mit einer Paritätsmatrix, deren Spalten aus genau allen Vektoren in F m \ {0} bestehen. 15
16 Z.B. Die 3 7-Paritätsmatrix H = spezifiziert für m = g 1 3 den [7, 4, 3] Hamming-Code über GF 2. G = g 2 g g 4 ist eine mögliche zugehörige Generator-Matrix. Weitere Generator-Matrizen erhält man durch zulässige Zeilenoperationen: g 1 + g g 1 g G = g 3 g 1 + g 3 + g 4 = g 1 + g 4 2 g 3, G = g 2 + g 3 + g 4 g 3 + g 4 g g g 4 = I 4 A ) mit A = Der Hamming Code hat also auch eine systematische Generator-Matrix. Z.B. Indem man die Code-Wörter des [7, 4, 3] Hamming-Codes über GF 2 vorne je um ein parity bit erweitert, erhält man den [8, 4, 4] erweiterten Hamming-Code über GF 2 mit Paritätsmatrix H e = Aufgrund des zusätzlichen parity-bits werden so aus Code-Wörtern mit Hamming-Gewicht 3 solche mit Hamming-Gewicht 4. Satz (Theorem 2.2) Sei H Paritätsmatrix eines linearen Codes C {0}. Dann ist der minimale Hamming-Abstand d(c) das größte d N derart, daß jede Menge von d 1 Spalten von H linear unabhängig ist. Bew. Sei H = (h 1,..., h n ) und c = (c 1,..., c n ) C mit w(c) = t > 0. Wegen d(c) = min 0 c C w(c) gilt d t. Sei J = {j : c j 0}. Wie vorausgesetzt, c C impliziert Hc = 0, m.a.w. j J c jh j = 0. Also sind die durch J indizierten Spalten von H linear abhängig. Somit ist bestenfalls jede Menge von t 1 Spalten linear unabhängig, l.u. Also gilt d(c) max{d : jede Menge von d 1 Spalten von H ist l.u.}. Umgekehrt spezifiziert jede Menge von t l.a. Spalten von H mindestens eine nicht-triviale Linearkombination der 0. Die Koeffizienten bilden also ein Code- Wort c C mit w(c) t. Z.B. Example 2.8 Erweiterung der Code-Wörter des [2 m 1, 2 m 1 m, 3] Hamming-Codes über GF 2 um je ein parity bit liefert den [2 m, 2 m 1 m, 4] erweiterten Hamming-Code über GF 2. Eine (m + 1) 2 m -Paritätsmatrix des erweiterten Hamming-Codes erhält man, indem man als Spalten alle die Vektoren von F m+1 wählt, deren erstes Element 1 ist. Man verifiziert, daß dann jede Menge von drei Spalten l.u. ist. Hamming-Codes gibt es auch über anderen Körpern als GF 2 : Z.B. Sei F = GF q und n = qm 1 q 1 = m 1 i=1 qi N für festes 1 < m N. Ein [n, n m, 3] Hamming-Code C über F wird durch eine m n-paritätsmatrix 16
17 H spezifiziert, deren Spalten aus allen Vektoren in F m \ {0} mit erstem nichtverschwindendem Element 1 bestehen. Da in H je zwei Spalten l.u. und drei Spalten l.a. sind, gilt auch für diese Hamming-Codes d(c) = Dekodierung linearer Codes Zur Erinnerung: wenn p < 1 1 p für die cross over Wahrscheinlichkeit p gilt, dann fällt Maximum Likelihood Decoding mit nearest codeword decoding zusammen. Letzteres kann man auf zweierlei Weise spezifizieren: Zum empfangenen Wort y F n finde dasjenige c C, das d(c, y) minimiert. Zum empfangenen Wort y F n finde e F n mit minimalem Gewicht und mit y e C. 2.5 Standard Array Dekodierung Sei C ein linearer [n, k, d] Code über F = GF q. Das standard array von C ist eine q n k q k Matrix mit Elementen in F n. Es wird folgendermaßen erzeugt: Die erste Zeile enthält beginnend mit 0 alle Code-Wörter von C. Jede folgende Zeile beginnt mit einem e F n minimalen Gewichtes, das im standard array bislang noch nicht vorgekommen ist. Die übrigen Einträge sind e + c für c C in der Reihenfolge der ersten Zeile. Z.B. ( Sei C der) lineare [5, 2, 3] Code über GF 2 mit Generator-Matrix G = Das standard array ist etwa Das standard array ist offensichtlich nicht eindeutig: die zweite bis sechste Zeile können permutiert werden. Die vorletzte Zeile kann auch mit den Worten 00101, 11000, oder beginnen. Bem. Jede Zeile des standard arrays bildet eine Nebenklasse (coset) von Wörtern in F n : zwei Wörter y 1, y 2 F n gehören in dieselbe Zeile/Nebenklasse genau dann, wenn y 2 y 1 C. Diese Nebenklassen zerlegen F n in q n k Mengen mit jeweils C = q k vielen Elementen. Das erste Element einer Zeile heißt coset leader. Es hat per Konstruktion minimales Gewicht innerhalb einer Zeile/Nebenklasse, wenngleich wie in den 17
18 letzten beiden Zeilen des Beispiels auch noch andere Elemente in derselben Zeile minimales Gewicht haben können. Sei y F n empfangen. Zur Dekodierung finde die Nebenklasse/Zeile, die y enthält. Ihr coset leader ist e und das dekodierte Code-Wort c = y e ist das oberste Element in der Spalte, die y enthält. Wenn das Gewicht des coset leaders nicht größer als (d 1)/2 ist, dann ist coset leader das einzige Wort mit minimalem Gewicht in der Zeile/Nebenklasse und das standard array Verfahren realisiert einen nearest code word decoder. 2.6 Syndrom-Dekodierung Def. Sei C ein linearer [n, k, d]-codes über F = GF q mit einer (n k) n Paritätsmatrix H. Dann heißt s = Hy Syndrom des empfangenen Wortes y F n. Bem. Wegen c C Hc = 0 stiftet y 1 y 2 y 1 y 2 C Hy 1 = Hy 2 eine Äquivalenzrelation auf F n. Zwei empfangene Wörter gehören in dieselbe Äquivalenzklasse genau dann, wenn ihre Syndrome übereinstimmen. Nearest codeword decoding besteht dann aus zwei Schritten: 1. Berechne das Syndrom s = Hy des empfangenen Wortes y. 2. Bestimme e F n mit minimalem Gewicht und mit s = He. Der zweite Schritt ist grundsätzlich N P-vollständig und damit extrem aufwändig. In Anwendungen behilft man sich mit LUTs, cleveren Algorithmen oder in Einzelfällen mit folgendem Trick. Z.B. Sei C der [2 m, 2 m 1 m, 3] Hamming-Code über F = GF 2 und sei H = (h 1, h 2,..., h 2 m 1) die Paritätsmatrix, deren Spalte h j gerade der Binär- Darstellung von j für j = 1, 2,..., 2 m 1 entspricht. Sei y das empfangene Wort und sei höchstens ein Fehler aufgetreten. Dann gilt y = c + e für ein c C und einen unit Vektor e mit w(e) = 1 sowie s = Hy = He. Nun ist entweder kein Fehler aufgetreten, d.h. e = 0 und y = c oder aber e ist an genau einer Stelle von Null verschieden, d.h. etwa e j = 1, so daß s = Hy = He = h j. Damit muß genau das j-te bit invertiert werden, um den Fehler zu korrigieren. lineare Codes Probleme Problem 2.1 on p. 36 to subsection 2.1 Für i = 1, 2 seien C i lineare [n, k i, d i ]-Codes über F = GF q mit Generator- Matrizen G i. Definiere C 3 = C 1 C 2, C 4 = C 1 C 2, C 5 = C 1 + C 2 := {c 1 + c 2 : c i C i, i = 1, 2} und C 6 = C 1 C 2 := {c 1 c 2 : c i C i, i = 1, 2}. Zeige: 18
19 1. C 3 ist linear entweder C 1 C 2 oder C 2 C 1. Nur der -Teil der Aussage ist zu zeigen. Angenommen, es gäbe c 1 C 1 \ C 2 und c 2 C 2 \ C 1. Da C 3 linear ist, muß c 3 = c 1 + c 2 C 3 gelten, d.h. c 3 C 1 oder c 3 C 2. Falls c 3 C 1, so folgt aus c 1 C 1 der Widerspruch c 2 = c 3 c 1 C 1. Falls c 3 C 2, so folgt aus c 2 C 2 der Widerspruch c 1 = c 3 c 2 C 2. Bem. Lineare Codes zu vereinigen, erzeugt also keine neuen Codes. 2. C 4, C 5 und C 6 sind linear. Der Durchschnitt von Unterräumen ist wieder Unterraum, also ist C 4 linear. Die Summe von Unterräumen ist wieder Unterraum, also ist C 5 linear. Die Konkatenation von Unterräumen ist wieder Unterraum, also ist auch C 6 linear. 3. k 4 > 0 d 4 max{d 1, d 2 }. Für alle zwei verschiedenen Code-Wörter c i C 4 (die es nur gibt, falls k 4 > 0) als Elemente sowohl von C 1 als auch von C 2 gilt sowohl d(c 1, c 2 ) d 1 also auch d(c 1, c 2 ) d 2, also d(c 1, c 2 ) max{d 1, d 2 }. 4. k 5 k 1 + k 2 und zudem k 5 = k 1 + k 2 k 4 = 0 Aus C 5 C 1 C 2 folgt k 5 k 1 + k 2. Der k i -dimensionale Unterraum C i für i = 1, 2, 5 hat jeweils k i -elementige Basen. Aus k 5 = k 1 + k 2 folgt, daß die Basen von C 1 und C 2 l.u. sind. Also gilt C 4 = {0} und damit k 4 = 0. Falls k 4 = 0, d.h. C 4 = {0}, haben C 1 und C 2 keinen Basis-Vektor gemeinsam. Also hat die Vereinigung der beiden k i -elementigen Basen gerade k 1 + k 2 Elemente und spannt damit einen Vektorraum der Dimension k 5 = k 1 + k 2 auf. 5. d 5 min{d 1, d 2 }. Aus d 5 = min (c 1+c 2) (c 1 +c 2 ) d( (c 1 + c 2 ), (c 1 + c 2) ) min (0+c 2) (0+c 2 ) d( (0 + c 2 ), (0 + c 2) ) = d 2 und ebenso d 5 = min (c 1+c 2) (c 1 +c 2 ) d( (c 1 + c 2 ), (c 1 + c 2) ) min (c 1+0) (c 1 +0) d( (c 1 + 0), (c 1 + 0) ) = d 1 folgt zusammen d 5 min{d 1, d 2 }. ( ) G G 6 = ist Generator-Matrix von C 0 G 6 und es folgt k 6 = k 1 + k 2. 2 Mit u ug i = c i gilt u c = (c 1 c 2 ) = ug 6. Also ist G 6 Generator- Matrix von C 6. Aus C 6 = C 1 C 2 = q k1 q k2 = q k1+k2 folgt k 6 = k 1 + k 2. 19
20 7. d 6 = min{d 1, d 2 }. Aus d 6 = min (c 1 c 2) (c 1 c 2 ) d( (c 1 c 2 ), (c 1 c 2) ) min (0 c 2) (0 c 2 ) d( (0 c 2 ), (0 c 2) ) = d 2 und ebenso d 6 = min (c 1 c 2) (c 1 c 2 ) d( (c 1 c 2 ), (c 1 c 2) ) min (c 1 0) (c 1 0) d( (c 1 0), (c 1 0) ) = d 1 folgt zusammen d 6 min{d 1, d 2 }. Problem 2.2 on p. 36 to subsection 2.1 Zeige: die Anzahl der verschiedenen Generator-Matrizen eines linearen [n, k, d]- Codes C über F = GF q ist k 1 i=0 (qk q i ). Lösungshinweis: zeige zunächst, daß m die gesuchte Anzahl gleich der Anzahl der regulären k k-matrizen über F ist. Zeige dann, daß die ersten i Zeilen einer regulären k k-matrix, aufgefaßt als linear unabhängige Vektoren in F k, auf q k q i -Weisen um einen weiteren linear unabhängigen Vektor erweitert werden kann. Bem. Generator-Matrizen sind also nicht eindeutig, wie Problem 2.2 zeigt. Wegen C = F k G = F k TG für jede Generator-Matrix G von C und jede nichtsinguläre, d.h. reguläre oder invertierbare k k Matrix T gibt es genausoviele Generator-Matrizen wie reguläre k k Matrizen T, wobei T genau dann regulär ist, wenn T maximalen Rang und damit k linear unabhängige Zeilen oder Spalten hat. Die Anzahl solcher Matrizen T = (t 1,..., t k ) mit Zeilen t i ist zu bestimmen. Man überzeugt sich, daß es q k q i viele Möglichkeiten gibt, eine Menge von i < k linear unabhängiger Vektoren über F um einen Vektor zu einer Menge von i + 1 linear unabhängiger Vektoren über F zu ergänzen. Für die Wahl von t 1 F k \ {0} hat man q k 1 = q k q 0 Möglichkeiten. Für gewähltes t 1 hat man für die Wahl eines zu t 1 linear unabhängigen t 2 F k \ (F t 1 ) gerade q k q = q k q 1 Möglichkeiten. Für gewählte linear unabhängige t 1 und t 2 hat man für die Wahl eines zu t 1 und t 2 linear unabhängigen t 3 F k \ (F t 1 + F t 2 ) gerade q k q 2 Möglichkeiten. usw. Problem 2.3 on p. 36 to subsection 2.1 Sei C ein linearer [n, k, d]-code über F mit n > k. Für i = 1, 2,..., n bezeichne C i = {(c 1,..., c i 1, c i+1,..., c n ) : (c 1,..., c n ) C} den an der i-ten Koordinate punktierten Code. Zeige 20
21 1. C i ist ein linearer [n 1, k i, d i ]-Code über F mit k i k 1 und d i d 1. Hinweis: Zeige: C i wird aufgespannt durch die Zeilen einer Generator- Matrix von C, deren i-te Spalte entfernt wurde. Sei G eine Generator-Matrix von C. Entfernen der i-te Spalte liefert G i. Offensichtlich gilt C i = F k G i. Somit ist C i ein linearer [n 1, k i, d i ]-Code über F. Entfernen einer Spalte kann die Dimension um höchstens 1 erniedrigen, also k i k 1. Aus d = min 0 c C w(c) folgt d i = min 0 c Ci w(c) d Es gibt mindestens n k Indizes i mit k i = k. Wegen rang(g) = k hat G eine k k Untermatrix G o vom Rang k. Entfernen jeder Spalte von G, die nicht zu G o gehört, liefert die Generator- Matrix eines punktierten Codes mit Dimension k. Es gibt n k solcher Spalten. Also gibt es mindestens n k Indizes i mit k i = k. Problem 2.4 on p. 37 to subsection 2.1 Sei F = GF q. Dann definiert f(x) = f(x 1,..., x k ) = xa = k i=1 a ix i für festes a = (a 1,..., a k ) F k \ {0} eine Abbildung f : F k F. Zeige: jedes Element von F ist das Bild von genau q k 1 Vektoren in F k. Für gegebenes c F gilt f ( 1 a 1 (c k i=2 a ) k ix i ), x 2,..., x k = (c i=2 a ix i ) + k i=2 a ix i = c bei q k 1 Möglichkeiten, die Argumente x 2,..., x n zu wählen. Problem 2.5 on p. 37 to subsection 2.1 Zeige: in jedem linearen Code C über GF 2 heben entweder alle Code-Wörter gerades Hamming-Gewicht oder genau eine Hälfte der Code-Wörter hat gerades Hamming-Gewicht. Hinweis: sei G Generator-Matrix. Wende Problem 2.4 auf die Abbildung f : F k F mit f(u) = ug(1, 1,..., 1) an. Wegen C = {c = ug : u F k } zählt f die Einsen in den Code-Wörtern modulo 2. Mit a = G(1, 1,..., 1) gilt f(u) = ua. Also ist f von der Form der Funktionen in Problem 2.4. Falls nun a = 0 haben alle Code-Wörter gerades Hamming-Gewicht. Falls a 0 ist die 0 Bild unter f von 2 k 1 Informationsvektoren u. Genau diese Hälfte der Code-Wörter hat gerades Hamming-Gewicht. Problem 2.6 on p. 37 to subsection 2.1 Sei C ein [n, k, d]-code über F = GF q und sei T eine q k n-matrix, deren Zeilen aus den Code-Wörtern von C bestehen. Zeige: jedes Element von F kommt in jeder nicht-verschwindenden Spalte von T genau q k 1 -mal vor. Lösungshinweis: verwende Problem 2.4 Sei G = (g 1,..., g n ) eine Generator-Matrix von C. Die Abbildung F k u ug erzeugt alle Code-Wörter von C. Insbesondere erzeugt f j : F k u ug j die j-te Koordinate aller Code-Wörter von C, d.h. wenn u alle Informationswörter in F k durchläuft, so durchläuft ug j die j-te Spalte von T. Solange g j 0, nimmt laut Problem 2.4 die Abbildung f j (u) = ug j jeden Wert in F q k 1 -mal an. 21
22 Problem 2.7 on p. 37 to subsection 2.1 (Plotkin 5 -Schranke) Zeige: für jeden linearen [n, k, d]-code über F = GF q gilt d n (q 1)qk 1. q k 1 Lösungshinweis: zeige unter Verwendung von Problem 2.6, daß das mittlere Hamming-Gewicht der q k 1 Code-Wörter c 0 höchstens n (q 1)qk 1 ist. q k 1 Wenn Code-Wörter durch u ug erzeugt werden, können auf (q 1)q k 1 verschiedene Weisen nicht-verschwindende Code-Wörter erzeugt werden: man variiert etwa u 2,..., u k beliebig und hat dann für u 1 noch q 1 Möglichkeiten, ein nicht-verschwindendes Code-Wort ug zu erzeugen. Für die Hamming- Gewichte gilt w(c) n. Das durchschnittliche Hamming-Gewicht der q k 1 nicht-verschwindenden Code-Vektoren ist damit höchstens n(q 1)qk 1 q k 1. d = d(c) = min 0 c C w(c) = w(c ) = 1 q k 1 1 q k 1 0 c C 0 c C w(c ) (q 1)qk 1 w(c) = n q k Problem 2.8 on p. 37 to subsection 2.1 Sei G eine k n Generator-Matrix eines linearen [n, k, d] Codes C {0} über einem endlichen Körper F. Zeige: d(c) ist das größte natürliche d, so daß jede k (n d + 1)-Untermatrix von G den Rang k hat. Sei G = ( ) k n g i,j und J das Komplement des Trägers eines nicht verschwindenden Code-Wortes c = ug = (c 1,..., c n ) C \ {0}, d.h. J = {j : c j = 0}. i=1,j=1 Dann bilden die Spalten (g i,j ) i von G für j J eine k J Matrix B, deren Zeilen l.a. sind, da sich der Nullvektor ja aus ihren Zeilen linear kombinieren läßt. Der Rang von B ist also kleiner als k. Aus w(c) d(c) folgt n d + 1 < J n d(c), d.h. d 1 > d(c). Was heißt das jetzt? Wenn andererseits die Spalten, indiziert durch eine Menge J, eine k J Untermatrix B von G bilden, deren Zeilen l.a. sind, d.h. ub = 0 für ein u F k. Zudem ist der Rang von B kleiner als k. Für c = (c 1,..., c n ) = ug C \ {0}, wobei c j = 0 zumindest für alle j J gilt, folgt d(c) w(c) n J und Und dann? Problem 2.10 on p. 38 to subsection 2.2 ( ) Sei G = Generator-Matrix des linearen Codes C über F = GF Liste alle Code-Wörter von C auf. {(00)G = (0000), (01)G = (1110), (02)G = (2220), (10)G = (2121), (11)G = (0201), (12)G = (1011), (20)G = (1212), (21)G = (2022), (22)G = (0102)} 5 Morris Plotkin: Binary codes with specified minimum distance; IRE Transactions on Information Theory, 6: ,
23 2. Bestimme eine systematische Generator-Matrix für C. ( ) ( ) ( ) ( ) ( ) = (I A) = Ĝ ist systematische Generator-Matrix für C Berechne d(c). Wegen Proposition 2.1 auf S. 14 ist d(c) = 2. C detektiert also maximal einen Fehler. 4. Sei y = (1111) empfangen. Welche Code-Wörter können nearest codeword decoder dekodieren? d ( y, (1110) ) = d ( y, (1011) ) = 1. Also D(y) = (1110) oder D(y) = (1011). 5. Sei C durch G erzeugt. Welche Informationswörter gehören zu D(y), wo D alle nearest codeword decoder durchläuft? Weisen diese Informationswörter Gemeinsamkeiten auf? Für D 1 (y) = (1110) ist u = (01). Für D 2 (y) = (1011) ist u = (12). 6. Verwende in Nr.5 Ĝ. {(00)Ĝ = (0000), (01)Ĝ = (0102), (02)Ĝ = (0201), (10)Ĝ = (1011), (11)Ĝ = (1110), (12)Ĝ = (1212), (20)Ĝ = (2022), (21)Ĝ = (2121), (22)Ĝ = (2220)}, also gilt wegen d ( y, (1110) ) = d ( y, (1011) ) = 1 diesmal, daß die beiden Informationswörter (10) und (11) im ersten bit übereinstimmen. spezifiziert einen li- Problem 2.11 on p. 38 to subsection Die Paritätsmatrix H = nearen Code C über F = GF Bestimme [n, k, d]. Da H eine (n k) n-matrix ist und da je zwei Spalten von H linear unabhängig sind und da etwa die ersten drei Spalten linear abhängig sind, gilt [n, k, d] = [9, 3, 3]. Der Code C korrigiert also maximal einen Fehler in den empfangenen Wörtern y F Bestimme eine Generator-Matrix von C. Die gesuchte 3 9-Generator-Matrix G erfüllt HG = 0. Jede Zeile g = (g 1,..., g 9 ) von G ist also eine Lösung des unterbestimmten Gleichungssystems Hg = 0. Aus g 1 + g 2 = 0 und g 1 + g 3 = 0 folgt g 1 = g 2 = g 3. Ebenso ergibt sich g 4 = g 5 = g 6 und g 7 = g 8 = g 9 und damit G = Der Code C besteht also darin, jedes bit eines bit-tripels zu verdreifachen. 23
24 3. Bestimme das maximale t derart, daß jedes y F 9 mit maximal t Fehlern durch einen nearest codeword decoder korrekt dekodiert wird. Es gilt t = 1, weil jeder nearest codeword decoder einen Ein-Bit-Fehler korrekt korrigiert und weil für u = (100) ug = ( ) = c C und im Fall, daß etwa die ersten beiden bits kippen, jeder nearest codeword decoder y = ( ) zu c = ( ) und damit zu u = (000) dekodiert. 4. Sei y = ( ) das empfangene Wort. Wie wird y von einem nearest codeword decoder dekodiert? Jeder nearest codeword decoder dekodiert y zu c = ( ), weil d(y, c) = 2 minimal ist, d.h. d(y, c ) > 2 für alle c c C. 5. Wieviele Fehler korrigiert ein nearest codeword decoder in diesem Fall? Der nearest codeword decoder korrigiert hier drei Fehler, einen pro bit- Tripel Problem 2.12 on p. 39 to subsection 2.3 Für i = 1, 2 seien C i zwei [n, k i, d i ]-Codes über F mit Generator-Matrizen G i und Paritätsmatrizen H i. C sei durch C = {(c 1 c 1 + c 2 ) : c i C i } definiert. ( ) G1 G 1. Zeige: C ist ein linearer [2n, k 1 + k 2 ] Code über F und G = 1 0 G 2 ist eine Generator-Matrix für C. C ist offensichtlich linear, weil mit zwei Code-Wörtern auch jede Linearkombination wieder Code-Wort ( ist. Weiter ) gilt C c = (c 1 c 1 + c 2 ) = G1 G (u 1 G 1 u 1 G 1 +u 2 G 2 ) = (u 1, u 2 ) 1 = (u 0 G 1, u 2 )G und k = k 1 +k 2. 2 ( ) H Zeige: H = ist eine Paritätsmatrix für C. H 2 H 2 C c = (c 1 c 1 + c 2 ) mit c i C i c = (c 1 c 1 + c 2 ) mit H i c i = 0 c = (c 1 c 1 + c 2 ) mit H 1 c ( 1 = 0 und ) H ( 2 c 1 H 2 ) c 1 ( H 2 c 2 ) = 0 Hc = H(c 1 c 1 + c 2 ) H1 0 c = 1 H1 c H 2 H 2 c 1 + c = 1 2 H 2 c = Zeige: C ist ein [2n, k, d]-code über F mit k = k 1 +k 2 und d min{2d 1, d 2 }. Die Zeilen von H sind l.u., also 2n k = n k 1 +n k 2, so daß k = k 1 +k 2 folgt. Es gilt d = min { w ( (c 1 c 1 + c 2 ) ) : (c 1, c 2 ) C 1 C 2 \ {(0, 0)} } für den linearen Code C. Für c 2 = 0 folgt d 2d 1 ; für c 1 = 0 folgt d d 2 ; zusammen folgt also d max{2d 1, d 2 }. 4. Sei Φ = F {?}, wo? das Auslöschungssymbol bezeichne. Sei D 1 : Φ n C 1 ein Dekodierer für C 1, der jedes Muster aus τ Fehlern und ρ Auslöschungen korrigiert, solange 2τ + ρ < d 1 gilt. Sei D 2 : F n C 2 ein Dekodierer für C 2, der jedes Muster aus bis zu (d 2 1)/2 Fehlern korrigiert. Konstruiere einen Dekoder D : F 2n C wie folgt: sei y = (y 1 y 2 ) mit y i F n. Sei 24
25 c 2 = D (y 2 y 1 ) C 2 und J = {i : (y 2 y 1 c 2 ) i 0} { der Träger von yj j J (y 2 y 1 ) c 2. Definiere z = (z 1, z 2,..., z n ) durch z j =? j J und c 1 = D 1 (z). Zeige: D korrigiert bis zu (d 1)/2 Fehler mit d = min{2d 1, d 2 }. Problem 2.13 on p. 39 to subsection 2.3 Seien C i zwei [n i, k i, d i ]-Codes über F mit Generator-Matrizen G i und Paritätsmatrizen ( H i für) i = 1, 2. Es gelte k 1 k 2. Dann kann G 2 als Blockmatrix G 2 = mit k 1 n 2 -Matrix G 2,1 und (k 2 k 1 ) n 2 G2,1 -Matrix G 2,2 G 2,2 ( dargestellt werden. ) Der [n 1 + n 2, k, d]-code C habe die Generator-Matrix G1 G G = 2,1. 0 G 2,2 1. Zeige: k = k 2 Die Zeilen von G sind l.u., weil schon die Zeilen von G 2 l.u. sind. 2. Zeige: wenn k 1 = k 2, dann gilt d d 1 + d 2. Gib Beispiele für Codes C 1 und C 2 mit k 1 < k 2, so daß d(c) > d 1 + d 2. Für jedes Code-Wort c C gilt c = (u 1, u 1)G = (u 1 G 1 u 1 G 2,1 + u 1G 2,2 ) mit w(c) = w(u 1 G 1 ) + w(u 1 G 2,1 + u 1G 2,2 ) d 1 + d 2. Sei beispielsweise G 1 = (1, 1) und G 2,1 = (1, 0) sowie G 2,2 = (1, 1). Dann ist C 1 ein [2, 1, 2]-Code und C 2 ein [2, 2, 1]-Code, weil etwa das Code-Wort C 2 c 2 = (10)G 2 = (10) das Gewicht 1 hat. Dagegen hat das Code-Wort C c = (01)G = (0011) das Gewicht 2, so daß d 2 < 3 = d 1 + d 2 folgt. 3. Zeige: es gibt eine k 1 n 1 -Matrix Q 1 mit Q 1 G 1 = I k1. C( 1 hat ) die Dimension k 1. O.B.d.A. sei G 1 = (I k1, A 1 )( und ) damit G 1 = Ik1, so daß für Q 1 = (I k1, 0) eben Q 1 G Ik1 1 = (I k1, 0) = I k1 folgt. A 1 4. Zeige: die n 1 n 1 -Matrix ( H1 Q 1 ) hat Rang n 1. Laut ( ) Nr.3 ( darf H 1 = ( A 1, ) I n1 k 1 ) angenommen werden. Damit hat H1 A = 1 I n1 k 1 offensichtlich n Q 1 I k1 0 1 l.u. Zeilen und n 1 l.u. k1 (n 1 k 1) Spalten und daher den Rang n Zeige: es gibt eine k 1 n 2 -Matrix Q 2 mit Q 2 G 2,1 = I k1 und Q 2 G 2,2 = 0. ( ) ( ) G2,1 I Sei o.b.d.a. G 2 = = (I G k2, A 2 ) = k1 0 k1 (k 2 k 1) A 2,1, 2,2 0 (k2 k 1) k 1 I k2 k 1 A 2,2 eben wie in Nr.3. Für Q 2 = (I k1, 0 k1 (k 2 k 1), 0 k1 (n 2 k 2)) gilt Q 2G 21 = (I k1, 0 k1 (k 2 k 1 ), 0 k1 (n 2 k 2 ))(I k1, 0 k1 (k 2 k 1 ), A 2,1) = I k1 und Q 2G 22 = (I k1, 0 k1 (k 2 k 1 ), 0 k1 (n 2 k 2 ))(0 (k2 k 1 ) k 1, I k2 k 1, A 2,2) = 0 k1 (k 2 k 1 ). A 1 25
26 H Zeige: die (n 1 + n 2 k 2 ) (n 1 + n 2 )-Matrix 0 H 2 ist eine Paritätsmatrix Q 1 Q 2 von C. Sei u F k als u = (u 1 u ) mit u 1 F k1 und u F k2 k1 dargestellt. Dann gilt c C c = ug = (u 1, u )G = (u 1 G 1 ug 2 ) = (u 1 G 1 u 1 G 2,1 + u G 2,2 ) Hc = H(u 1 G 1 u 1 G 2,1 + u G 2,2 ) = ( ) (u1 G H 1 ) H 1 (u 1 G 1 ) (ug 2 ) = 0 + H 2 (ug 2 ) = 0, weil Q 1 (u 1 G 1 ) Q 2 (u 1 G 2,1 + u G 2,2 ) 0 laut Nr.3 und Nr.5 ja Q 1 (u 1 G 1 ) Q 2 (u 1 G 2,1 + u G 2,2 ) = Q 1 G 1 u 1 Q 2 G 2,1u 1 Q 2 G 2,2u = u 1 u 1 0 = 0 gilt. Problem 2.14 on p. 40 to subsection 2.3 Sei C ein [n, k, d]-code über F mit k > 1. Für festes i {1, 2,..., n} bezeichne C (i) = {(c 1,..., c i 1, c i+1,..., c n ) : (c 1,..., c i 1, 0, c i+1,..., c n ) C} den Code, der durch sogenanntes Verkürzen von C in der i-ten Koordinate entsteht. 1. Zeige: C (i) ist ein [n 1, k (i), d (i) ]-Code über F mit k (i) k 1 und d (i) d. C (i) ist ein Unterraum von C, da mit c (i) C (i) und c (i) C (i) zunächst mit (c 1,..., c i 1, 0, c i+1,..., c n ) C und (c 1,..., c i 1, 0, c i+1,..., c n) C auch (ac 1 + bc 1,..., ac i 1 + bc i 1, 0, ac i+1 + bc i+1,..., ac n + bc n) C und so ac (i) + bc (i) C (i) für alle a, b F gilt. Falls c i = 0 für alle c C, so gilt C (i) = C oder eben k (i) = k. Anderenfalls ist k (i) = k 1. Bezeichne w n das auf F n definierte Hamming-Gewicht. Weil {c C : c i = 0} eine Teilmenge von C ist, gilt d (i) = min c (i) C (i) w n 1(c (i) ) = min c C,ci=0 w n (c) min c C w n (c) = d(c) = d. 2. Zeige: Streichen der i-ten Spalte einer Paritätsmatrix H von C liefert eine Paritätsmatrix H (i) von C (i). Hc = H(c 1,..., c i 1, 0, c i+1,..., c n ) = 0 für alle derartige c C gilt genau dann, wenn H (i) (c 1,..., c i 1, c i+1,..., c n ) = H (i) c (i) = 0. Problem 2.15 on p. 40 to subsection 2.3 Zeige: Sei C ein linearer [n, k]-code über F. Dann ist jede Generator-Matrix des linearen [n, n k]-codes C eine Paritätsmatrix von C und es gilt (C ) = C. Sei G eine n k n-generator-matrix von C = F n k G = {x F n : xc = 0 c C}. Dann gilt C x = fg : fg c = 0, f F n k, c C x = fg : f F n k, b i G c = 0 i, c C für irgendeine Basis (b i ) i=1,...,n k von F n k. Spezialisieren auf die kanonische Basis b i = (δ i,j ) j=1,...,n k liefert C x = fg : f F n k, G c = I n k G c = 0 c C, also ist G eine Paritätsmatrix von C. 26
27 Sei G eine Generator-Matrix und H eine Paritätsmatrix von C. Dann ist H Generator-Matrix und G Paritätsmatrix von C. Also ist G Generator-Matrix und H Paritätsmatrix von (C ). Dieser Code muß damit mit C übereinstimmen Problem 2.16 on p. 40 to subsection 2.3 Für m > 1 sei C der [n, n m, 3]-Hamming-Code über F = GF 2 mit n = 2 m Zeige: zu je zwei Spalten h 1 und h 2 einer Paritätsmatrix H von C gibt es genau eine dritte Spalte h mit h = h 1 + h 2. Die Spalten von H durchlaufen alle n = 2 m 1 Elemente von (F m ). Die Summe zweier beliebiger Spalten verschwindet sicher nicht, da die beiden Spalten verschieden sind. Da H jedes Element von (F m ) enthält, gibt es genau eine Spalte h mit h = h 1 + h Zeige: die Anzahl der Code-Wörter c C mit w(c) = 3 ist n(n 1)/6. Setze zwei bits an Bit-Postionen k 1 und k 2. Zu den entsprechenden Spalten h 1 und h 2 einer Paritätsmatrix H gehört die k-te Spalte h mit h = h 1 +h 2. Für c = (δ i,k1 +δ i,k2 +δ i,k ) gilt Hc = 0. Es gibt n(n 1)/2 Möglichkeiten, die ersten beiden bits zu setzen. Die Anzahl der Code-Wörter c mit w(c) = 3 ist damit gerade n(n 1)/6, weil in jedem Tripel von Positionen gesetzter Bits jede Position die berechnete Position sein kann. 3. Zeige: C enthält ein Code-Wort c mit w(c) = n. H ist (n k) n-matrix. Jede Zeile in H enthält genau 2 m 1 Einsen. Multiplikation mit c für c = (1, 1,..., 1) F n liefert 0, also c C. 4. Wieviele Code-Wörter mit Hamming-Gewicht n 1, n 2 bzw. n 3 enthält C? Es gibt kein Code-Wort c mit w(c) = n 1. Dies hätte genau eine Null, etwa in der Position k. Jede Zeile in H hat mit 2 m 1 geradzahlig viele Einsen. Es gibt mindestens eine Zeile mit einer Eins an der k-ten Stelle, so daß das (Skalar-) Produkt dieser Zeile mit c nicht verschwindet. Ein Wort y mit w(y) = n 2 hat genau zwei Nullen in den Positionen k und l mit k < l. Die Spalten in H sind lexikographisch angeordnet, so daß es eine Stelle i gibt, in der sich k-te und l-te Spalte erstmalig unterscheiden. Die i-te Zeile von H sei h i. Dann gilt h i y = 1, weil im Skalarprodukt ungeradzahlig viele Einsen aufaddiert werden: y C. Problem 2.17 on p. 41 to subsection 2.3 (Reed 6 -Muller 7 -Codes erster Ordnung) Sei F = GF q, sei n = q m für ein m N. Der Reed-Muller-Code erster Ordnung ist der [n, m + 1]-Code C RM über F mit (m + 1) n-generator-matrix, deren Spalten aus Vektoren von F m+1 bestehen, deren erstes, nicht verschwindendes Element 1 ist. 6 Irving S. Reed (1923-) 7 David E. Muller ( ) E. Muller 27
28 0. Verifiziere: für q = 2 ist der Reed-Muller-Code erster Ordnung gerade dual zum erweiterten Hamming-Code aus Example 2.8 auf S Die (m + 1) 2 m Paritätsmatrix H e = des erweiterten Hamming-Codes stimmt ja mit der Generator-Matrix des Reed-Muller-Code erster Ordnung überein. 1. Zeige: d(c RM ) = q m 1 (q 1). Zeige: es gibt q(q m 1) Code-Wörter c C RM mit w(c) = q m 1 (q 1). Welches Gewicht haben die restlichen Code- Wörter? Lösungshinweis: Problem 2.4 auf S. 21 Sei G = (g 1,..., g q m) eine Generator-Matrix von C RM. Für u 0 nimmt die lineare Abbildung F m g (0, u 2,..., u m+1 )(1, g) laut Problem 2.4 auf S. 21 jeden Wert in F genau q m 1 -mal an. Weil F c c + u 1 F eine Bijektion ist, ändert das Aufaddieren von u 1 an diesem Umstand nichts. Für {(f, 0) : f F } u F m+1 und c = ug C RM gilt damit w(c) = (q 1)q m 1. Die verbleibenden q Code-Wörter sind von der Form (c, 0,..., 0)G = (c,..., c) =: c F n für c F mit w(c) = n = q m. Zusammen folgt also d(c RM ) = q m 1 (q 1). 2. Zeige: es kann keinen [n, m + 1]-Code C über F mir d(c) > q m 1 (q 1) geben. s.a. Plotkin-Schranke in Problem 2.7 auf S. 22 Die Plotkin-Schranke sichert d(c) n (q 1)qk 1 q k 1 ist aber (q 1)q2m q m+1 1 = qm 1 (q 1), weil einerseits (q 1)q2m q m+1 1 = q m (q 1)q m+1 1 q m+1 1. Nun (q 1)q2m q = m+1 q m 1 (q 1) und weil andererseits (q 1)q2m q m+1 1 qm 1 (q 1) = (q 1) q 1( q 2m m+1 q m 1 (q m+1 1) ) = (q 1)qm 1 q m+1 1 = qm 1 m = 1 m 1 i=0 qi i=0 qi m+1 q 1. Damit gilt d(c) (q 1)q2m q m+1 1 = qm 1 (q 1). 3. Für n = q m ist der verkürzte Reed-Muller-Code erster Ordnung C über F der [n 1, m]-code mit m (n 1) Generator-Matrix G, deren Spalten aus allen nicht-verschwindenden Vektoren in F m gebildet sind. Zeige: C kann durch Verkürzen (s. Problem 2.14 auf S. 26) eines geeigneten Codes gewonnen werden q 1 q 1 Mit G =.... kann G als q 1 q 1 1 q 1 0 q 1 0 q G =... G geschrieben werden. Damit gilt F n 1 C c = 0 (c 2,..., c n ) = (u 2,..., u m+1 )G c = (0, c ) = (0, c 2,..., c n ) = (0, u 2,..., u m+1 )G C RM, so daß C = C (1) RM folgt. 4. Zeige: w(c ) = q m 1 (q 1) für alle 0 c C. 28
29 Für u 0 nimmt die Abbildung F m g ug laut Problem 2.4 auf S. 21 jeden Wert q m 1 -mal an. Also folgt w(c ) = w(ug) = q m 1 (q 1) für alle 0 c C. 5. Zeige: d(c ) nimmt die Plotkin-Schranke an. Wegen Nr.4 gilt d(c ) = q m 1 (q 1) = (q m 1) (q 1)qm 1 q m 1 = n (q 1)qk 1 q k 1. Problem 2.18 on p. 41 to subsection 2.3 (Simplex-Codes, d.h. zu Hamming-Codes duale Codes) Sei F = GF q und sei n = qm 1 q 1 = m 1 i=o qi N für festes 1 < m N und sei C der zum [n, n m]-hamming-code C über F duale Code. 1. Zeige: für jedes 0 c C gilt w(c) = q m 1. Lösungshinweis: Problem 2.17 C ist der [n, n m, 3] Hamming-Code über F. Die m n-paritätsmatrix H von C besteht aus den Spalten-Vektoren von F m, deren leading non zero element 1 ist, d.h. aus q 0 Vektoren (0,..., 0, 1), aus den q 1 Vektoren (0,..., 0, 1, ) usw. und aus den q m 1 Vektoren (1,,..., ). Nun ist H eine Generator-Matrix von C mit C = {uh : u F m }. Dieses H geht aus dem verkürzten Reed-Muller-Code erster Ordnung C mit Generator- Matrix G durch mehrfaches Punktieren hervor: die Generator-Matrix von (... ((C ) 2 ) 2...) 2 geht aus G durch Streichen der 2.,3.,...,q-ten Spalte hervor. Iterieren des Verfahrens liefert einen Code mit Generator-Matrix H. Bei jedem Punktieren erniedrigt sich das Gewicht eines jeden nichtverschwindenden Code-Wortes um 1, so daß die nicht verschwindenden Code-Wörter von C alle das Gewicht q m 1 haben. 2. Verifiziere: C nimmt die Plotkin-Schranke aus Problem 2.7 an, d.h. es gilt d(c) = n(q 1)qk 1 q k 1 für k = n m. d(c) n (q 1)qk 1 q k 1 = qm 1 q 1 (q 1)q k 1 q k 1 Problem 2.19 on p. 41 to subsection 2.3 = q m 1, weil ja k = m gilt. (Binäre Reed-Muller-Codes) Sei F = GF 2, sei 0 < m N und 0 r m für r N und bezeichne S(m, r) = {e F m : w(e) r} die Hamming-Kugel um 0 mit Radius r. Offensichtlich gilt S(m, r) = r ( m ) j=0 j. Sei a, e F. Dann sei a e = 0, falls a = 0 und e = 1, und a e = 1 sonst. Für a = (a o,..., a m 1 ) F m und e = (e o,..., e m 1 ) F m sei a e = m 1 j=o aej j. Sei endlich G RM (m, r) die S(m, r) 2 m -Matrix, deren Elemente mit e S(m, r) als Zeilen-Index und a F m als Spalten-Index indiziert sind, so daß ( GRM (m, r) ) e,a = ae gilt. Sei C RM (m, r) der lineare Code mit Generator-Matrix G RM (m, r). Dieser Code heißt binärer Reed-Muller-Code der Länge 2 m und der Ordnung r. 29
30 1. Wie sehen C RM (m, 0) und C RM (m, 1) aus? Wegen ( S(m, 0) = {0} ist G RM (m, 0) eine 1 2 m -Matrix über F mit GRM (m, 0) ) 0,a = a0 = 1, d.h. C RM (m, 0) ist der [n, 1, n]-wiederholungscode mit n = 2 m. G RM (m, 1) = ( a e) e {0,e 1,...,e, wobei die e 2 m },a F m i = ( δ i,j gerade die i-ten Einheitsvektoren bezeichnen. Offensichtlich besteht die erste )j=1,...,2 m Zeile von G RM (m, 1) aus lauter Einsen. Wegen a ei = 1 a i = 1 für alle i = 1,..., 2 m gilt ( a )i=1,...,2 ei = a für alle a F m, d.h. die Spalten m von G RM (m, 1) sind alle Vektoren der Form (1, a) mit a F m. Somit ist C RM (m, 1) der Reed-Muller-Code erster Ordnung und der Länge n = 2 m über F aus Problem 2.17 auf S Zeige: die Zeilen von G RM (m, r) sind l.u. Lösungshinweis: zeige rang ( G RM (m, m) ) = 2 m, weil G RM eine obere Dreiecksmatrix mit Einsen auf der Hauptdiagonalen wird, wenn man Zeilen und Spalten entsprechend der lexikographischen Ordnung ihrer Indizes anordnet. Es reicht zu zeigen, daß die Spalten von G RM (m, m) l.u. sind, weil dann erst recht die Spalten der Untermatrizen G RM (m, r) l.u. sind. Mit der lexikographischen Anordnung von F m ist die quadratische Matrix G RM (m, m) eine obere Dreiecksmatrix mit Diagonal-Elementen identisch 1. Für jedes e F m gilt nämlich einerseits ( G RM (m, m) ) = e,e ee = 1 und andererseits gibt es für jedes Paar a, e F m mit e > a einen kleinsten Index i mit 1 = e i > a i = 0, d.h. a e = 0 1 = 0. ( ) GRM (m 1, r) G 3. Zeige: G RM (m, r) = RM (m 1, r) für 0 < r < m. 0 G RM (m 1, r 1) Lösungshinweis: S(m, r) = {(0, e) : e S(m 1, r)} {(1, e) : e S(m 1, r 1)} Ebenso gilt F m = {0} F m 1 {1} F m 1. Zeilen und Spalten von G RM (m, r) entsprechend anzuordnen, liefert ) G RM (m, r) = (a e e S(m,r),a F (a m ) (a )e {0} S(m 1,r),a {0} F e e m 1 = ) (a (a )e {1} S(m 1,r 1),a {0} F e e m 1 = = ) (a (a )e S(m 1,r),a F e e m 1 0 ) (a e ( GRM (m 1, r) G RM (m 1, r) ) 0 G RM (m 1, r 1) e S(m 1,r),a F m 1 e S(m 1,r 1),a F m 1 e {0} S(m 1,r),a {1} F m 1 e {1} S(m 1,r 1),a {1} F m 1 4. Zeige: d ( C RM (m, r) ) = 2 m r. Lösungshinweis: wende Problem 2.13 induktiv auf Nr.3 an. Induktion in r: Für r = 0 liegt laut Nr.1 der [n, 1, n]-wiederholungscode mit n = 2 m vor. Damit gilt d = n = 2 m = 2 m r. Wegen Nr.3 in Verbindung mit Problem 2.12 auf S. 24 gilt d ( C RM (m, r) ) 2d ( C RM (m 1, r) )... 2 m r d ( C RM (r, r) ) = 2 m r, weil d ( C RM (r, r) ) = 1 wegen w(c) = w ( e 2 rg RM (r, r) ) = w(e 2 r) = 1. Diese untere Schranke für 30
31 d wird auch angenommen, wie induktiv zunächst C RM (r + 1, r) c (1) := (e 2 r, 0)G RM (r + 1, r) = (e 2 r, e 2 r) mit w(c (1) ) = 2, dann C RM (r + 2, r) c (2) := (c (1), 0)G RM (r + 2, r) = (c (1), c (1) ) mit w(c (2) ) = 4, usw. zeigen. Problem 2.21 on p. 44 to subsection 2.3 (Produkt-Codes und Interleavers) Seien C 1 ein [n 1, k 1, d 1 ]-Code und C 2 ein [n 2, k 2, d 2 ]-Code über demselben Körper F = GF q mit systematischen Generator-Matrizen G 1 und G 2. Definiere die erzeugende Abbildung E : F k1k2 F n1n2 anhand des folgenden Algorithmus (Fig 2.2). Input: word u F k1k2 Output: word c F n1n2 (a) fill in the k 2 k 1 subarray U, row by row, with the content of u. (b) for i = 1, 2,..., k 2 determine the content of the i-th row in the subarray V so that the i-th row in Γ is a codeword of C 1. (c) for j = 1, 2,..., n 2 determine the content of the j-th column in the subarray W so that the j-th column in Γ is a codeword of C 2. (d) read the content of Γ, row by row, into a word c of length n 1 n 2 and output c as a value of E(u). ( ) U V Dieser Algorithmus benützt die Matrix Γ = mit k W 2 k 1 -Matrix U und k 2 (n 1 k 1 )-Matrix V sowie (n 2 k 2 ) n 1 -Matrix W. 1. C 1 code word. n 2. C 1 code word n 2 k 2 U k 1 W n 1 V 1. C2 code word n1. C2 code word Dann definiert C 1 C 2 = {c F n1n2 : c = E(u) für ein u F k1k2 } = E(F k1k2 ) den sogenannten Produkt-Code von C 1 und C Wieso existiert ein V im Schritt (b) des Algorithmus in Fig 2.2? Die beiden Codes C 1 und C 2 sind systematisch, d.h. G 1 = (I k1 A 1 ) und G 2 = (I k2 A 2 ). Für jedes U = (u 1,..., u k2 ) mit Zeilen u j F k1 definiere V = (v 1,..., v k2 ) mit v j = u j A 1. Dann gilt für Γ = (Γ 1,..., Γ n2 ) mit Zeilen Γ i offensichtlich Γ i = u i (I k1 A 1 ) = u i G 1 C 1 für i = 1,..., k Ist V durch U eindeutig bestimmt? C 1 bzw. G 1 = (I k1 A 1 ) ist systematisch. Der erste Teil (mit k 1 Symbolen) eines Code-Wortes, d.h. der Anfang einer Zeile von Γ, bestimmt eindeutig den Rest des Code-Wortes, d.h. die letzten n 1 k 1 Symbole der Zeile. 31
32 3. Zeige: die Zeilen von W sind Code-Wörter von C 1. In jeder Spalte von Γ können die ersten k 2 Symbole (u 1,j,..., u k2,j) als Informationssymbole aufgefaßt werden. Die restlichen Symbole ergeben sich dann aus u j = (u 1,j,..., u k2,j) u j (I k2 A 2 ) = (u j u j A 2 ) für jedes j = 1,..., k 1. In den restlichen n 1 k 1 Spalten verfährt man analog. Es gilt V = UA 1 und für die offensichtliche Partition W = (W 1 W 2 ) nach Konstruktion U A 2 = W1 sowie (UA 1 ) A 2 = V A 2 = W2. Nun ist jede Zeile von W ein Code-Wort von C 1 genau dann, wenn W 1 A 1 = W 2, was wegen W 1 A 1 = (U A 2 ) A 1 = A 2 UA 1 = W 2 auch zutrifft. 4. Zeige: C = C 1 C 2 ist ein [n 1 n 2, k 1 k 2, d 1 d 2 ]-Code über F. Die Code-Länge von C ist n 1 n 2, weil C = E(F k1k2 ) F n1n2. Die Dimension von C ist k 1 k 2, weil als Informationswörter, d.h. als Input in den Algorithmus Fig. 2.1 oder als Argumente von E gerade alle u F k1k2 in Frage kommen. ( ) U C ist linear, weil E linear ist oder sei explizit E(U ) = Γ V = W ( ) U und E(U ) = Γ V = W. Da C 1 und C 2 linear sind, folgt insbesondere E(U + U ) = + U V + V ( ) U W + W = Γ + Γ = E(U ) + E(U ). Per Definition gilt d(c) = min{w ( E(U) ) : U F k1k2 }. Speziell für U = ( δ i,io δ j,jo )i,j sei Γ = E(U). Mit J = {j : Γ i o,j 0} gilt dann w ( (Γ io,j) j ) = J d1. Die Spalten von Γ sind entweder 0 oder für j J identisch (Γ i,j ) i = ( (δ i,io ) k2 i=1 (I k 2 A 2 ) ). Im letzteren Fall gilt w ( ) (Γ i,j ) i d2, so daß d(c) d 1 d 2 folgt. Andererseit sei angenommen, es gäbe U F k1k2 mit w ( E(U) ) < d 1 d 2. Nun hat aber jede von 0 verschiedene Zeile von Γ mindestens d 1 nicht verschwindende Elemente, d.h. es gibt weniger als d 2 derartige Zeilen, was wiederum die Existenz einer von 0 verschiedenen Spalte mit weniger als d 2 nicht verschwindenden Elementen und damit den Widersprunch impliziert. 5. Das Kronecker 8 -Produkt einer m n-matrix A mit einer r s-matrix B ist die mr ns-matrix A B mit Elementen (A B) r(i 1)+i,s(j 1)+j = A i,j B i,j für 1 i m, 1 j n, 1 i r, 1 j s. vgl. MATLABs kron command Sei H 1 eine Paritätsmatrix für C 1 und H 2 eine Paritätsmatrix für C 2. H H Z.B. I n2 H 1 = H 1 und H 2 I n1 = ist eine (n 1 k 1 )n 2 n 1 n 2 -Matrix h (2) 1,1 I n 1 h (2) 1,2 I n 1 h (2) 1,n 2 I n1 h (2) 2,1 I n 1 h (2) 2,2 I n 1 h (2) 2,n 2 I n h (2) n 2 k 2,1 I n 1 h (2) n 2 k 2,2 I n 1 h (2) n 2 k 2,n 2 I n1 ist für 8 Leopold Kronecker ( ) www-history.mcs.st-andrews.ac.uk/biographies/kronecker.html 32
33 H 2 = ( h (2) ) i,j i=1,...,n 2 k 2,j=1,...,n 2 eine (n 2 k 2 )n 1 n 1 n 2 -Matrix. ( ) In2 H Zeige: H = 1 ist eine Paritätsmatrix für C = C H 2 I 1 C 2. n1 ( ) U UA1 c C = C 1 C 2 c = A 2 U A C. Nun ist einerseits jede Zeile c i dieser Matrix c = (c 1,..., c n2 ) ein Code-Wort von C 1 2 UA 1 genau dann, wenn H 1 c 1 = 0, also genau dann, wenn I n2 H 1 c = diag(h 1,..., H 1 )c = 0. Andererseits ist jede Spalte dieser Matrix ein Code-Wort von C 2, d.h. c = (c 1,..., c n1n 2 ) F n1n2 ist ein Vektor über F, so daß (c j+0 n1, c j+1 n1,..., c j+(n2 1) n 1 ) C 2 für jedes j = 1,..., n 1, was zu H 2 I n1 c = 0 äquivalent ist. 6. Ein interleaver ist ein spezieller Produkt-Code C 1 C 2, wobei C 1 gerade der [n 1, n 1, 1]-Code F n1 ist. Ein error burst der Länge l besteht in dem Auftreten von Fehlern, so daß für den Ort i des ersten und den Ort j des letzten aufgetretenen Fehlers j i = l 1 gilt. Schlage einen auf interleavers basierenden Produkt-Code vor, der jeden error burst mit maximaler Länge (d 2 1)/2 n 1 korrigieren kann. Spezifiziere dazu C 2 als den [d 2, 1, d 2 ]-Wiederholungscode. Dann definiert der Produkt-Code C = C 1 C 2 einen [n 1 d 2, n 1, d 2 ]-Code über F. Code- Wörter (u,..., u) von C bestehen aus den d 2 -mal wiederholten Informationswörtern u. Ein error burst der maximalen Länge (d 2 1)/2 n 1 trifft jedes Symbol von u höchstens (d 2 1)/2 -mal. Diese Fehler können aber per Majorität korrigiert werden. 33
34 3 Endliche Körper Eine echte Anwendung winkt erst im Abschnitt 3.8, die im Abschnitt 5.5 verallgemeinert wird. Ansonsten sei auch auf [12] verwiesen. Def. Ein endlicher Körper ist ein Körper mit endlich vielen Elementen. 3.1 prime fields GF p = Z p = {0, 1, 2,..., p 1} für primes p. Addition und Multiplikation modulo p machen aus GF p einen Körper. z.h. Recherchiere den (erweiterten) Algorithmus von Euklid 9, Problem A.16 Der (erweiterte) Algorithmus von Euklid liefert ein konstruktives Verfahren für folgende Behauptung: Satz Sei p prim und a {1, 2,..., p 1}. Dann existieren s, t N mit s a+t p = 1, was die Existenz eines multiplikativen Inversen, nämlich s mod p, von a in GF p zeigt und damit belegt, daß GF p ein endlicher Körper ist. Z.B. In GF 7 gilt 2 4 = 3 5 = 6 6 = 1 1 = 1. Außerdem gilt a 6 = 1 für jedes a GF 7 \ {0} = GF 7. Die multiplikative Gruppe GF 7 von GF 7 ist zyklisch, da jedes Element als Potenz von 3 und von 5 dargestellt werden kann: l l bzw. l l Wegen 2 3 = 4 3 = 6 2 = 1 sind nur die Elemente 3 und 5 Generatoren von GF 7. Def. Sei F ein Körper. Dann bezeichnet 0 das neutrale Element bzgl. der Addition und 1 das neutrale Element bzgl. der Multiplikation. F = F \ {0} ist die multiplikative Gruppe von F. In F bezeichne O(a) die Ordnung von a F, d.h. ebenso die Ordnung der Untergruppe, die von (den Potenzen von) a erzeugt wird. z.h. Recherchiere den Satz von Lagrange 10, Problems A.14, A.15, A.16 Proposition 3.1 Sei F ein endlicher Körper. Dann gilt a F = a für jedes a F. Bew. Zunächst ist offensichtlich 0 F = 0, da F {0, 1}. Der Satz von Lagrange liefert für a F, daß O(a) ein Teiler von F = F 1 ist. A fortiori gilt also a F = a F 1 = 1 und so a F = a für jedes a F. Def. Sei F ein Körper. Ein Element, das F erzeugt, heißt primitiv. Z.B. 3 und 5 sind die primitiven Elemente von GF 7. z.h. Problem Euklid ( ) www-history.mcs.st-andrews.ac.uk/biographies/euclid.html 10 Joseph-Louis Lagrange ( ) www-history.mcs.st-andrews.ac.uk/biographies/lagrange.html 34
35 3.2 Polynome Def. Sei F ein Körper. Ein Polynom (in x) über F ist ein Ausdruck der Form a(x) = a o + a 1 x + + a n x n mit Koeffizienten a j F. Zwei Polynome gelten als identisch genau dann, wenn sie in ihren nicht-verschwindenden Koeffizienten übereinstimmen. Die Menge aller Polynome in x über F wird als F [x] bezeichnet. Alle Koeffizienten des sogenannten Null-Polynoms verschwinden. Der Grad deg(a) eines Polynoms a(x) ist der höchste Index i mit a i 0. Der Grad des Null-Polynoms ist als definiert. Die Menge aller Polynome a in x über F mit deg(a) < n wird als F n [x] bezeichnet. Bem. Sei F ein endlicher Körper und seien a, b F [x] (mit möglicherweise verschiedenem Grad), d.h. a(x) = i a ix i und b(x) = i b ix i. Dann gilt (a ± b)(x) = i (a i ± b i )x i sowie (a b)(x) = i c ix i mit c i = i j=1 a jb i j. Damit ist F [x] abgeschlossen unter Addition und Multiplikation. Es gelten die üblichen Distributionsgesetze. z.h. Problem 3.2 Polynom-Division b(x)/a(x) liefert b(x) = q(x) a(x)+r(x), wo q(x) der Quotient und r(x) der Rest bei Division durch a(x) ist. Dabei gilt deg(r) < deg(a). Wenn nun speziell der Rest r verschwindet, so teilt das Polynom a das Polynom b, formal a(x) b(x). Wegen b(x) = q(x) a(x) ist das Polynom a ein Faktor des Polynoms b. Def. Für a, b, c F [x] gilt b(x) c(x) mod a(x) a(x) ( b(x) c(x) ). gcd(a, b) bezeichnet den größten gemeinsamen Teiler, ggt (greatest common divisor, gcd) von a und b, der nur bis auf skalare Vielfache in F eindeutig bestimmt ist. In diesem Sinn gilt gcd(a, b) = 1 deg ( gcd(a, b) ) = 0. Z.B. Sei F = GF 2 und a, b F [x] mit a(x) = x 4 + x 2 + x + 1 und b(x) = x Um gcd(a, b) zu bestimmen, berechnet der Euklid sche Algorithmus eine Folge von Divisionsresten r 1, r 0, r 1,.... (Die Quotienten sind uninteressant.) Der Algorithmus startet mit r 1 := a und r 0 := b. 1. Schritt r 1 (x) = x 4 + x 2 + x + 1 = x(x 3 + 1) + (x 2 + 1) =: q(x)r 0 (x) + r 1 (x), also r 1 (x) = x Schritt r 0 (x) = x = x(x 2 + 1) + (x + 1) =: q 2 (x)r 1 (x) + r 2 (x), also r 2 (x) = x Schritt r 1 (x) = x = (x + 1)(x + 1) =: q 3 (x)r 2 (x) + r 3 (x), also r 3 (x) = 0 Damit gilt gcd(a, b) = r 2 mit r 2 (x) = x + 1. Bem. Für a, b F [x] \ {0} existieren s, t F [x] mit s a + t b = gcd(a, b). z.h. Problem 3.3 Z.B. Einsetzen in umgekehrter Reihenfolge liefert gcd(a, b)(x) = r 2 (x) = x + 1 = r 0 (x) + q 2 (x)r 1 (x) = (x 3 + 1) + x(x 2 + 1) = r 0 (x) + q 2 (x) ( r 1 (x) + q 1 (x)r 0 (x) ) = b(x) + x ( a(x) + x b(x) ) = x a(x) + (x 2 + 1) b(x) =: s(x) a(x) + t(x) b(x) 35
36 und so die beiden gesuchten Polynome s(x) = x und t(x) = x Def. Ein nicht-konstantes Polynom p F [x] über einem endlichen Körper F heißt irreduzibel über F, wenn aus p = a b für a, b F [x] notwendigerweise deg(a) = 0 oder deg(b) = 0 folgt. Ein Polynom, das nicht irreduzibel ist, heißt reduzibel. Z.B. p(x) = x R[x] ist irreduzibel über R, sonst wäre nämlich p(x) = (x α)(x β) für Nullstellen α, β R, was den Widerspruch 0 < p(α) = (α α)(x β) = 0 impliziert. Z.B. Wie sehen die irreduziblen Polynome über F = GF 2 aus? x und x + 1 sind die irreduziblen Polynome ersten Grades. x 2 = (x 0)(x 0), x 2 + x = x(x 1) und x = (x 1)(x 1) sind alle reduziblen Polynome über F, also ist nur x 2 + x + 1 irreduzibel. Mit a 0, a 1, a 2 F ist a(x) = x 3 + a 2 x 2 + a 1 x + a 0 das generische Polynom dritten Grades über F. Wenn a reduzibel ist, muß es einen Faktor ersten Grades haben, d.h. x a(x), so daß a 0 = 0, oder (x + 1) a(x), so daß a(1) = 1 + a 2 + a 1 + a 0 = 0. Also ist a irreduzibel genau dann, wenn a 0 = 1 und a 2 + a 1 = 1. Die einzigen beiden irreduziblen Polynome sind damit x 3 + x + 1 und x 3 + x Übungshalber bestimme man irreduzible Polynome höheren Grades. z.h. Zeige: {x 4 + x + 1, x 4 + x 2 + 1, x 4 + x 3 + 1, x 4 + x 3 + x 2 + x + 1, x 4 + x 2 + 1} ist die Menge aller irreduziblen Polynome vierten Grades über F = GF 2 Die irreduziblen Polynome über F spielen in F [x] dieselbe Rolle wie die Primzahlen in Z: wie in der Primfaktorzerlegung läßt sich jedes Polynom in F [x] i.w. eindeutig als Produkt von irreduziblen Polynomen darstellen. Lemma 3.2 Sei F ein endlicher Körper und a, b, c F [x] mit c 0 und gcd(a, c) = 1. Dann gilt c a b c b. Bew. Es gibt s, t F [x] mit s a + t c = gcd(a, c) = 1, d.h. s a 1 mod c. Multiplikation mit b liefert s a b b mod c. Unter der Voraussetzung c a b gilt a b 0 mod c und so s a b 0 mod c. Wegen s a 1 mod c muß dann notwendigerweise b 0 mod c gelten. Satz Sei F ein endlicher Körper und p F [x] irreduzibel. Für a, b F [x] mit p a b gilt dann p a oder p b. Bew. Satz (eindeutige Faktorisierung) Die Faktorisierung eines nicht-verschwindenden Polynoms in F [x] \ {0} über einem endlichen Körper F in irreduzible Polynome ist bis auf skalare Vielfache und Reihenfolge eindeutig. Bew. O.B.d.A. sei a monisch, d.h. der höchste Koeffizient von a ist 1. Induktion nach der (kleinsten) Anzahl irreduzibler Faktoren: Induktionsanfang: wenn die Faktorisierung keinen irreduziblen Faktor enthält, ist a(x) = 1 und damit die Faktorisierung eindeutig. Induktionsschritt: angenommen, für a gäbe es zwei verschiedene Faktorisierungen a(x) = n i=1 p i(x) und a(x) = n i=1 q i(x) in irreduzible, monische Polynome 36
37 p i und q i. Der vorstehende Satz sichert, daß p 1 ein q j, etwa q 1 teilt. Aufgrund der Irreduzibilität folgt p 1 = q 1. Damit kann die Induktionsvoraussetzung auf a/p 1 angewandt werden. 3.3 Körpererweiterungen Extension Fields Bem. Sei P F [x] irreduzibel über F. Dann ist F [x]/p = F deg(p ) [x]/p mit üblichen Polynom-Arithmetik modulo P ein Körper, weil jedes nicht-verschwindende Element in F [x]/p ein multiplikatives Inverses hat: Weil P irreduzibel ist, gilt gcd(a, P ) = 1 für jedes a F deg(p ) [x] \ {0}. Wieder existieren Polynome s, t F [x] mit s a+t P = gcd(a, P ) = 1, d.h. s a 1 mod P und das multiplikative Inverse s mod P F [x]/p von a kann mit dem erweiterten Euklid schen Algorithmus berechnet werden. Def. F und Φ seinen endliche Körper. Φ ist eine Körpererweiterung von F, wenn F Teilkörper von Φ ist, d.h. F Φ und die Arithmetik in Φ angewandt auf Elemente von F stimmt mit der Arithmetik in F überein. Eine Körpererweiterung Φ über F ist ein Vektorraum über F. Der Erweiterungsgrad [Φ : F ] ist die Dimension dieses Vektorraums Φ über F. Z.B. Sei F = R und Φ = R[x]/(x 2 + 1). Dann ist Φ Körpererweiterung von R vom Erweiterungsgrad 2. Offensichtlich gilt (a+bx)+(c+dx) = (a+b)+(c+d)x für die Addition in Φ und (a + bx) (c + dx) = ac + (ad + bc)x + bdx 2 = bd(x 2 + 1) + (ad + bc)x + (ac bd) (ac bd) + (ad + bc)x mod (x 2 + 1) für die Multiplikation in Φ. Identifikation von x mit 1 liefert die Isomorphie von Φ und C. Def. Sei F = GF q. Sei P F [x] irreduzibel über F. Dann hat der Körper F [x]/p (x) genau q deg(p ) viele Elemente. Er wird mit GF(q deg(p ) ) oder GF q deg(p ) bezeichnet. Bem. Verschiedene Polynome P F [x] vom selben Grad, die irreduzibel über F sind, spezifizieren isomorphe Körper F [x]/p (x). In diesem Sinn ist GF(q deg(p ) ) eindeutig. Z.B. Sei F = GF 2 und Φ = GF(2 3 ) = F [x]/p (x) für P (x) = (x 3 + x + 1). Potenzieren von etwa ξ = ξ + 0 ξ 2 liefert alle Elemente in Φ \ {0}: Koeffizienten Element Potenz von ξ ξ ξ ξ ξ ξ ξ 2 ξ ξ 2 ξ ξ + ξ 2 ξ ξ + ξ 2 ξ 5 Bem. Offensichtlich gibt es erstens verschiedene Darstellungen der Elemente einer Körpererweiterung Φ von F. Die Elemente von Φ = GF(2 3 ) im vorstehenden Beispiel sind als Polynome in F 3 [x] dargestellt. 37
38 Verwendung eines anderen irreduziblen Polynoms, etwa P (x) = x 3 + x 2 = 1, liefert zweitens eine andere, isomorphe Ausprägung von Φ. Obwohl beide Mengen acht Elemente haben, sind drittens GF(2 3 ) und Z 8 grundverschieden, zumal Z 8 sogenannte Nullteiler hat, nämlich mod 8, und damit kein Körper ist. Bem. Sei Φ = F [x]/p eine Körpererweiterung des Körpers F vom Erweiterungsgrad [Φ : F ]. Dann ist Φ (auch) ein Vektorraum über F. Sei Ω = {ω 1, ω 2,..., ω [Φ:F ] } eine Basis von Φ. Jedes u = (u 1, u 2,..., u [Φ:F ] ) Φ läßt sich dann auch als Linearkombination u = Ωu = i u iω i darstellen. Falls Φ = F [ξ]/p (ξ) eine Körpererweiterung für ein über F irreduzibles Polynom P ist, so ist Ω = {1, ξ, ξ 2,..., ξ deg(p ) } eine bequeme und gebräuchliche Basis. Dann kann man jedes Element u = u 1 + u 2 ξ +..., +u h ξ h 1 Φ durch den Koeffizienten-Vektor von u darstellen, wenn man nur als Element von F h [x] auffaßt. Z.B. Im vorstehenden Beispiel Φ = GF(2 3 ) = F [x]/p (x) für P (x) = (x 3 +x+1) können die Koeffizienten (-Vektoren) mit Polynomen identifiziert werden, z.b. 101 mit 1 + ξ 2. Addition in Φ kann dann einfach als Addition der Koeffzientenvektoren aufgefaßt werden. Um Elemente zu multiplizieren, verwendet man die Polynom-Darstellung, z.b. (101)(011) = (1 + ξ 2 )(ξ + ξ 2 ) = ξ + ξ 2 + ξ 3 + ξ 4 (1 + ξ) mod P = (110), und zum Invertieren den Euklid schen Algorithmus. Verwendung des Logarithmus ist eine Alternative zur Polynom-Multiplikation: (101)(011) = ξ 6 ξ 4 = ξ 10 ξ 10 mod 7 = ξ 3 = (110), weil die von ξ erzeugte multiplikative Gruppe Φ sieben Elemente hat. 3.4 Wurzeln, Nullstellen von Polynomen Def. Sei F ein Körper und Φ eine Körpererweiterung von F. Ein β Φ heißt Wurzel oder Nullstelle eines Polynoms a F [x] genau dann, wenn a(β) = 0 in Φ. Z.B. Sei F = GF 2 und Φ = GF(2 3 ) = F [x]/p (x) für P (x) = (x 3 + x + 1). In Φ sind ξ, ξ 2 und ξ 4 = ξ 2 + ξ die drei Wurzeln von P. Proposition 3.5 Sei F ein Körper und Φ eine Körpererweiterung von F. Sei a F [x] und β Φ. Dann gilt a(β) = 0 (x β) a(x) in Φ[x]. Bew. Sei a(x) = b(x)(x β) + c, wobei deg(c) < 1. Dann gilt a(β) = 0 genau dann, wenn c = 0. Z.B. Im vorstehenden Beispiel ist P (x) = (x 3 +x+1) = (x ξ)(x ξ 2 )(x ξ 4 ), d.h. P ist irreduzibel über GF 2 und reduzibel über GF(2 3 ). Proposition 3.6 Sei F ein endlicher Körper. Dann gilt β F (x β) = x F x. Bew. Wegen x F = x für jedes x F ist jedes x F Wurzel des Polynoms x F x. Daher ist x β Teiler von x F x für jedes β F. Damit gilt β F (x β) = x F x, weil beide Polynome denselben Grad haben und monisch sind. Def. Sei F ein Körper und Φ eine Körpererweiterung von F. Sei β Φ Wurzel eines Polynoms a F [x]. Die Multiplizität von β ist das maximale m N, so daß (x β) a(x). Einfache Wurzeln sind Nullstellen mit der Multiplizität 1. 38
39 Satz (Theorem 3.7) Ein Polynom a über einem endlichen Körper F hat höchstens deg(a) Wurzeln (unter Berücksichtigung ihrer Multiplizität) in jeder Körpererweiterung von F. Bew. sei β i Wurzel von a mit Multiplizität m i in einer Körpererweiterung Φ von F. Dann ist i (x β i) mi ein Polynom vom Grad m = i m i über Φ, das notwendigerweise a in Φ[x] teilt. Daher folgt m deg(a). 3.5 primitive Elemente Z.B. Φ = GF(2 4 ) = F [x]/p 1 für in F = GF 2 irreduzibles P 1 (x) = x 4 + x + 1. Potenz von ξ Element Koeffizienten ξ ξ 1 ξ 0100 ξ 2 ξ ξ 3 ξ ξ ξ 1100 ξ 5 ξ + ξ ξ 6 ξ 2 + ξ ξ ξ + ξ ξ ξ ξ 9 ξ + ξ ξ ξ + ξ ξ 11 ξ + ξ 2 + ξ ξ ξ + ξ 2 + ξ ξ ξ 2 + ξ ξ ξ Also ist ξ primitiv. Ebenso ist Φ = GF(2 4 ) als F [x]/p 2 für in F = GF 2 irreduzibles P 2 (x) = x 4 +x 3 +x 2 +x+1 darstellbar. Allerdings ist in dieser Darstellung ξ nicht primitiv, wie ξ 5 1 mod P 2 (ξ) zeigt. Z.B. Problems 3.17, 3.18 Satz Jeder endliche Körper F enthält ein primitives Element. Daher ist insbesondere die multiplikative Gruppe F zyklisch. z.h. zum Beweis des folgenden Satzes bewältige Problems A.9, A.10 Bew. Sei α F von maximaler multiplikativer Ordnung O(α) in F. Dann ist O(β) ein Faktor von O(α) für jedes β F : sei nämlich β F und r ein primer Teiler von O(β). Dann ist O(β) = r m n und O(α) = r s t, wobei gcd(r, n) = 1 = gcd(r, t). Dann gilt (Problem A.9) O(β n ) = O(β) gcd(o(β),n) = O(β) n = r m und O(α rs O(α) ) = gcd(o(α),r s ) = O(β) r = t s Wegen gcd(r m, t) = 1 gilt O(β n α rs ) = O(β n )O(α rs ) = r m t (Problem A.10). Da α maximale Ordnung hat, gilt r m t = O(β n α rs ) O(α) = r s t, was m s impliziert. Damit ist r m ein Teiler von O(α). Anwendung dieses Arguments auf jeden primen Teiler r von O(β) liefert O(β) O(α). Also ist jedes β F Nullstelle des Polynoms p(x) = x O(α) 1. Mit dem Satz 39
40 des vorangehenden Abschnittes folgt O(α) = deg(p) F = F 1. Da O(α) aber auch ein Teiler von F ist, muß O(α) = F gelten: α ist primitiv und erzeugt F. z.h. Euler 11 -Funktion φ(n) := {i N : 1 i n, gcd(i, n) = 1}, s. Problem A.1 z.h. Problem A.11 Bem. F α sei primitiv. Dann ist α i primitiv gcd(i, F ) = 1 (Problem A.11). Die Anzahl der primitiven Elemente von F = GF(q) ist also gerade φ(q 1). 3.6 Charakteristik Def. Die Charakteristik c(f ) eines Körpers F ist die Ordnung des 1-Elementes in der additiven Gruppe F, falls diese Ordnung endlich ist, sonst per Definition c(f ) = 0. m mal { }} { und mβ = m β = m mal { }} { β + β β Man schreibt m = m 1 = für β F. Die Elemente ±m heißen die ganzen Zahlen von F. Für c(f ) > 0 repräsentieren 0, 1,..., c(f ) 1 alle ganzen Zahlen von F. Z.B. c(gf 7 ) = 7, c(gf(2 2 )) = 2 und c(r) = 0 Satz Für einen Körper F mit c(f ) > 0 ist c(f ) prim. Bew. Angenommen c(f ) = mn. Wegen der Distributivität gilt dann 0 = mn i=1 1 = ( m i=1 1)( n i=1 1), was m i=1 1 = 0 oder n i=1 1 = 0 und damit m c(f ) oder n c(f ) impliziert. Notwendigerweise ist also m = 1 oder n = 1 und somit ist c(f ) prim. Bem. Sei c(f ) = p. Die p ganzen Zahlen in F sind 0, 1,..., p 1. Diese bilden einen Unterkörper von F, isomorph zu GF p, weil m 1+n 1 = m i=1 1+ n i=1 1 = m+n i=1 1 (m+n) mod p i=1 1 = (m + n) 1 und wegen der Distributivität m n = (m 1) (n 1) = ( m i=1 1)( n i=1 1) = m n i=1 1 (mn) mod p i=1 1 = (mn) 1 = mn gilt. Satz Für einen Körper F mit c(f ) > 0 gilt F = p n. Bew. Der Körper F ist insbesondere ein Vektorraum über GF p der Dimension n. Somit ist F = p n. Proposition 3.11 Für einen Körper F mit p = c(f ) > 0 gilt (α+β) p = α p +β p für alle α, β F. Bew. Im binomischen Lehrsatz (α + β) p = p ( p i=0 i) α i β p i verschwinden die Binomial-Koeffizienten ( ) p i = p(p 1) (p i+1) i! für 0 < i < p weil der Zähler ein Vielfaches von p und der Nenner sicher kein Vielfaches von p ist. Satz Für einen Körper F mit p = c(f ) > 0 gilt (α + β) pm = α pm + β pm für alle α, β F und m N. 11 Leonhard Euler ( ) www-history.mcs.st-andrews.ac.uk/biographies/euler.html 40
41 Bew. (α + β) pm = ( (α + β) p) p m 1 = ( α p + β p) p m 1 = ( (α p + β p ) p) p m 2 = ( α p 2 + β p2 ) p) p m 2 =... = α pm + β pm. Satz (Corollary 3.13) Für einen Körper F mit Charakteristik p = c(f ) > 0 definiert f m : x x pm für festes m N einen Automorphismus von F, d.h. einen invertierbaren Isomorphismus von F auf F. Bew. Wegen f m (α + β) = f m (α) + f m (β) und f m (α β) = f m (α) f m (β) ist f m Isomorphismus. Sei F = p n. Dann gilt f m+n = f m und daher ist f n m invers zu f m für m < n. 3.7 Splitting Fields Zerfällungskörper Satz Sei a(x) ein Polynom n-ten Grades über F. Dann existiert ein Erweiterungskörper Φ von F mit [Φ : F ] <, in dem a genau n Wurzeln (inkl. Multiplizität) hat. Bew. Induktion nach n Def. Gegeben F und a(x) F [x] mit n = deg a. Ein Körper Φ mit minimalem Erweiterungsgrad, in dem a genau n Wurzeln hat, heißt Zerfällungskörper von a über F. Def. Gegeben a(x) F [x] mit a(x) = n i=o a ix i. Dann ist die formale Ableitung von a durch a (x) = n i=1 i a ix i 1 definiert. Es gelten die üblichen Regeln der Differentation, s. Problem Lemma Sei 0 a(x) F [x]. Die Wurzeln von a in jedem Erweiterunsgkörper von F sind einfach gcd ( a(x), a (x) ) = 1. Proposition 3.16 Sei F = GF q, 0 < n N und Q(x) = x qn x F [x]. Die Wurzeln von Q in einem Zerfällungskörper von Q über F bilden einen Erweiterungskörper K von F mit Erweiterungsgrad [K : F ] = n. Satz Für jedes prime p und jedes 0 < n N gibt es einen Erweiterungskörper von GF p mit Erweiterungsgrad n. 3.8 Anwendungsbeispiel: Doppelfehler korrigierende Codes Der zu entwerfende Code muß Hamming-Abstand d = 5 haben, damit er Doppelfehler korrigieren kann. Wir starten mit dem [2 m 1, 2 m 1 m, 3] Hamming-Code C über GF 2, also mit n = 2 m 1 Code-Wort-bits, k = 2 m 1 m Informationsbits und d = 3. Die zugehörige Paritätsmatrix ist dann H = (α 1, α 2,..., α 2m 1), wobei die Spalten α j alle Elemente von GF(2 m ) ausmachen. Z.B. Für GF(2 4 ) mit Reduktionspolynom m(x) = x 4 + x + 1 sei α j = ξ j 1 für j = 1, 2,..., 15. H = ist dann eine Paritätsmatrix des [15, 11, 3]-Hamming Codes über GF 2. 41
42 Übrigens gilt rang(h) = 4, weil die Paritätsmatrix H wegen H = (I A) maximal vier l.u. Zeilen wie ebenso maximal vier l.u. Spalten hat. Sei c = (c 1, c 2,..., c n ) F n mit F = GF 2 und n = 2 m 1. Dann ist c C, also ein Code-Wort des [n, n m, 3]-Hamming-Code C Hc = 0 n j=1 c jα j = 0 in GF(2 m ). Aus n j=1 c jα j = 0 folgt durch Quadrieren n j=1 c jαj 2 = 0 wegen c2 i = c i. ( ) α1 α Die Matrix H 2 = 2 α 2m 1 α1 2 α2 2 α2 2 ist also eine 2m n-paritätsmatrix m 1 desselben Codes wie H mit derselben Code-Rate und demselben d. Z.B. ( Im Beispiel des [15, 11, 3]-Hamming Codes mit Paritätsmatrix H ist) H 2 = 1 ξ ξ 2 ξ 3 ξ 4 ξ 5 ξ 6 ξ 7 ξ 8 ξ 9 ξ 10 ξ 11 ξ 12 ξ 13 ξ 14 1 ξ 2 ξ 4 ξ 6 ξ 8 ξ 10 ξ 12 ξ 14 ξ ξ 3 ξ 5 ξ 7 ξ 9 ξ 11 ξ 13 oder H 2 = in binärer Darstel lung. H 2 = (z 1,..., z 8 ) als 8 15 Paritätsmatrix hat übrigens denselben Rang 4 wie H, weil mit z 5 = z 1 + z 3, z 6 = z 3. z 7 = z 2 + z 4 und z 8 = z 4 sich die neuen Zeilen als Linearkombinationen der alten Zeilen darstellen lassen. Roth betrachtet jetzt, was passiert, ( wenn man alle zweiten ) durch dritte Potenzen α1 α ersetzt. Man bekommt H 3 = 2 α 2 m 1 α1 3 α2 3 α2 3, eine 2m n Paritätsmatrix eines linearen [n, k, d]-codes C 3 über F = GF 2 m 1. Z.B. ( Im Beispiel des [15, 11, 3]-Hamming Codes mit Paritätsmatrix H ist nun ) 1 ξ ξ 2 ξ H 3 = 3 ξ 4 ξ 5 ξ 6 ξ 7 ξ 8 ξ 9 ξ 10 ξ 11 ξ 12 ξ 13 ξ 14 1 ξ 3 ξ 6 ξ 9 ξ 12 1 ξ 3 ξ 6 ξ 9 ξ 12 1 ξ 3 ξ 6 ξ 9 ξ oder H 3 = in binärer Dar stellung. Alle Zeilen in H 3 sind übrigens linear unabhängig (Verifikation!). H 3 ist Paritätsmatrix des linearen [15, 7]-Codes C 3 über GF 2. Ziel ist es, zu zeigen, daß d(c 3 ) = 5 gilt, so daß C 3 Doppelfehler korrigiert. Sei c C 3 übertragen( und) y F n empfangen worden. Der Fehler ist e = y c und s1 das Syndrom s = = H s 3 y = H 3 e, wobei s 1, s 3 GF(2 4 ). Angenommen, 3 es sind maximal zwei Fehler aufgetreten, d.h. w(e) 2. Unterscheide die drei Fälle: w(e) = 0 oder e = 0 Dann gilt s 1 = 0 = s 3, was als e = 0 zu dekodieren ist. 42
43 w(e) = 1 Sei e = (δ ij ) j. Dann ist s 3 = s und die Stelle des (einzigen) zu korrigierenden Fehlers ist i mit α i = s 1. w(e) = 2 Sei e = (δ ik ) k +(δ ( jk ) k, d.h. e verschwindet ( ) genau an den Stellen i und s1 j nicht. Es gilt s = = H s 3 e αi + α = j 3 αi 3 +. Wegen s 1 = α i + α j 0 α3 j gilt s3 s 1 αi 2 + α2 j = α3 i +α3 j α i+α j = αi 2 + α iα j + αj 2. Addieren dieser Gleichung mit s2 1 = s3 liefert s 1 + s 2 1 = α i α j. Aus α i α j 0 folgt s 3 s 3 1. Also kann man den Fall w(e) = 2 von den ersten beiden Fällen unterscheiden. Wegen s 1 = α i + α j sind die beiden Unbekannten α i und α j offensichtlich die beiden Lösungen der quadratischen Gleichung x 2 + s 1 x + s 3 /s 1 + s 2 1 = x 2 + (α i + α j )x + α i α j = 0 Man bestimmt die Lösungen auch durch Transformation der quadratischen Gleichung in ein System von m linearen Gleichungen über GF 2, vgl. Problem 3.42, oder durch Einsetzen von nacheinander α 1, α 2,..., α 2 m 1 mit jeweiliger Probe. input: received word y F n output: error word e F n or an error detection indicator ɛ ( ) s1 1. compute syndrome = H s 3 y GF(2 m ) if s 1 = s 3 = 0 return e = 0 3. else if s 3 1 = s 3 then return an error word e with only one non-zero entry at location i, if any, such that α i = s 1 4. else if s 1 0 the return an error word e with two non-zero entries at locations i and j where i and j correspond to the two distinct solutions α i and α j, if any, to the quadratic equation x 2 + s 1 x + s 3 s s 2 1 = 0 over GF(2 m ). 5. otherwise, or if any of the previous steps fails (by not finding the elements α i and α j ), return an error detection indicator ɛ to indicate that at least three errors have occured. Endliche Körper Probleme Problem 3.1 on p. 70 to subsection 3.1 Verifiziere, daß F = GF 11 zyklisch ist und bestimme alle Generatoren, d.h. alle primitiven Elemente dieser Gruppe. 43
44 erzeugt nur die Untergruppe {1} F und ist damit nicht primitiv. Wegen i i ist 2 primitiv Wegen i i ist 3 nicht primitiv Wegen i i ist 4 nicht primitiv Wegen i i ist 5 nicht primitiv Wegen i i ist 6 primitiv Wegen i i ist 7 primitiv Wegen i i ist 8 nicht primitiv Wegen i i ist 9 nicht primitiv i Wegen 10 i ist 10 nicht primitiv Problem 3.2 on p. 70 to subsection 3.2 Sei F ein Körper. Zeige: F [x] ist ein Intergitätsbereich, d.h. ein kommutativer Ring ohne Nullteiler, s.a. Appendix Basics in Modern Algebra, pp F [x] ist die Menge aller Polynome in x mit Koeffizienten in F. Die übliche Addition von Polynomen macht (F [x], +) zu einer kommutativen Gruppe mit neutralem Element 0. Die übliche Multiplikation von Polynomen hat 1 als neutrales Element, ist assoziativ sowie kommutativ und erfüllt das Distributivgesetz. Da das Produkt zweier Polynome nur dann Null ist, wenn mindestens ein Faktor Null ist, ist F [x] Nullteiler-frei. Zusammengenommen ist F [x] also ein Intergitätsbereich. 44
45 Problem 3.3 on p. 71 to subsection 3.2 Sei F ein Körper und seien 0 a(x), b(x) F [x] mit deg a > deg b. Dann kann der Erweiterte Euklid sche Algorithmus wie folgt dargestellt werden: r 1 (x) = a(x); r o (x) = b(x); s 1 (x) = 1; s o (x) = 0; t 1 (x) = 0; t o (x) = 1; for(i = 1; r i 1 (x) 0; i + +) { q i (x) = r i 2 (x)/r i 1 (x); r i (x) = r i 2 (x) q i (x)r i 1 (x); s i (x) = s i 2 (x) q i (x)s i 1 (x); t i (x) = t i 2 (x) q i (x)t i 1 (x); } Sei ν der größte Index i mit r i (x) 0. Zeige per Induktion nach i: 1. s i (x) t i 1 (x) s i 1 (x) t i (x) = ( 1) i+1 für i = 0, 1,..., ν + 1 i = 0: s i t i 1 s i 1 t i = s o t 1 s 1 t o = = 1 = ( 1) 0+1. i i + 1: Aus s i+1 = s i 1 q i+1 s i und t i+1 = t i 1 q i+1 t i folgt s i+1 t i s i t i+1 = (s i 1 q i+1 s i )t i s i (t i 1 q i+1 t i ) = s i 1 t i s i t i 1 = (s i t i 1 s i 1 t i ) = ( 1) i+1 = ( 1) i s i (x) a(x) + t i (x) b(x) = r i (x) für i = 1, 0, 1,..., ν + 1 i = 1: s i a + t i b = s 1 a + t 1 b = 1 a + 0 b = a = r 1. i = 0: s i a + t i b = s o a + t o b = 0 a + 1 b = b = r o. i i + 1: Aus r i+1 = r i 1 q i+1 r i und s i+1 = s i 1 q i+1 s i sowie t i+1 = t i 1 q i+1 t i folgt s i+1 a + t i+1 b = (s i 1 q i+1 s i )a + (t i 1 q i+1 t i )b = s i 1 a q i+1 s i a + t i 1 b q i+1 t i b = r i 1 q i+1 r i = r i deg t i + deg r i 1 = deg a für i = 0, 1,..., ν + 1 i = 0: deg t i + deg r i 1 = deg t o + deg r 1 = 0 + deg a = deg a. i = 1: deg t i + deg r i 1 = deg t 1 + deg r o = deg(t 1 q 1 t o ) + deg b = deg q 1 + deg b = deg(r 1 /r o ) + deg b = deg(a/b) + deg b = deg a deg b + deg b = deg a. i 1, i i + 1: Wegen deg r i < deg r i 1 < deg r i 2 ist laut Induktionsvoraussetzungen in t i+1 = t i 1 q i+1 t i der Grad deg t i 1 = deg a deg r i 2 < deg a deg r i des ersten Summanden t i 1 kleiner als der Grad deg(q i+1 t i ) = deg r i 1 deg r i +deg a deg r i 1 = deg a deg r i des zweiten Summanden q i+1 t i. Also gilt deg t i+1 = deg a deg r i wie behauptet. 4. deg s i + deg r i 1 = deg b für i = 1, 2,..., ν
46 i = 1: deg s 1 + deg r o = deg(s 1 q 1 s o ) + deg b = deg 1 + deg b = deg b. i = 2: deg s 2 = deg(s o q 2 s 1 ) = deg(q 2 s 1 ) = deg r o deg r 1 + deg b deg r o = deg b deg r 1. i 1, i i + 1: Wegen deg r i < deg r i 1 < deg r i 2 ist laut Induktionsvoraussetzungen in s i+1 = s i 1 q i+1 s i der Grad deg s i 1 = deg b deg r i 2 < deg b deg r i des ersten Summanden s i 1 kleiner als der Grad deg(q i+1 s i ) = deg r i 1 deg r i +deg b deg r i 1 = deg b deg r i des zweiten Summanden q i+1 s i. Also gilt deg s i+1 = deg b deg r i wie behauptet. 5. Wenn ein Polynom g sowohl a als auch b teilt, so teilt es auch r i für i = 1, 0, 1,..., ν + 1 i = 1, 0: g a und g b, d.h. g r 1 = a und g r o = b i = 1: Aus r 1 = r 1 q 1 r o = a (a/b)b = a mod b und der generellen Voraussetzung g a und g b folgt a = ug und b = vg, eingesetzt r 1 = ug (a/b)vg = (u (a/b)v)g, also g r 1. i i + 1: Aus r i+1 = r i 1 q i+1 r i = r i 1 (r i 1 /r i )r i, der Voraussetzung g a sowie g b und der Induktionsvoraussetzung g r j für j i folgt r i 1 = ug und r i = vg, eingesetzt r i+1 = (u (r i 1 /r i )v)g, also g r i r ν teilt r i für i = ν 1, ν 2,..., 1 i = ν 1: Wegen r ν+1 = 0 und r ν 0 gilt r ν+1 = 0 = r ν 1 q ν+1 r ν oder r ν 1 = q ν+1 r ν, d.h. r ν t ν 1. i i 1: Es gilt r i+1 = r i 1 q i+1 r i oder eben r i 1 = r i+1 +q i+1 r i. Mit der Induktionsvoraussetzung r ν r ν 1, r ν r ν 2,..., r ν r i+1 und r ν r i teilt r ν jeden Summanden der rechten Seite und damit auch r i 1. Der erweiterte Euklid sche Algorithmus berechnet also r ν = gcd(a, b). Problem 3.4 on p. 72 to subsection 3.2 Seien r, s N \ {0}. Zeige: für die beiden Polynome x r 1, x s 1 F [x] über einem jeden Körper F gilt (x r 1) (x s 1) r s. : Unter der Annahme (x r 1) (x s 1) oder eben µ(x)(x r 1) = x s 1 mit s r < r würde aus (x r 1)µ(x) = s j=r µ j rx j s r i=o µ ix i = x s 1 per Koeffizientenvergleich zugleich µ = (1, 0,..., 0, 1) und (x r 1)µ(x) = x s +x r x s r 1 x s 1 folgen. Also gilt s r r, d.h. (x r 1)µ(x) = s j=s r+1 µ j rx j + s r j=r µ j rx j s r i=r µ ix i r 1 i=o µ ix i = x s 1. Koeffizientenvergleich impliziert µ o = 1, µ 1 = µ 2 =... = µ r 1 = 0 und µ s 2r+1 = µ s 2r+2 =... = µ s r 1 = 0, µ s r = 1 sowie µ l r = µ l für l = r, r + 1,..., s r. Also folgt µ o = 1 = µ r = µ 2r =... = µ (s r)/r r, µ 1 = 0 = µ r+1 = µ 2r+1 =... = µ (s r 1)/r r+1, usw. usf. bis µ r 1 = 0 = µ 2r 1 = µ 3r 1 =... = µ (s 2r+1)/r r+r 1. Insgesamt ist also µ = (µ o, µ 1,..., µ s r ) F s r+1 nur in Vielfachen von r von Null verschieden, nämlich 1, was impliziert, daß s Vielfaches von r ist, d.h. r s. 46
47 : aus r s und so s = vr für geeignetes v N folgt für M(x) = v 1 i=o xir F [x] eben (x r 1)M(x) = v 1 i=o x(i+1)r v 1 i=o xir = x vr 1 = x s 1 und damit (x r 1) (x s 1). Problem 3.5 on p. 72 to subsection 3.2 Seien r, s N\{0} und t = gcd(r, s). Problem 3.4 wird wie folgt verallgemeinert: für zwei Polynome x r 1 F [x] und x s 1 F [x] über jedem Körper F gilt gcd(x r 1, x s 1) = x t Zeige: (x t 1) (x r 1) und (x t 1) (x s 1) t r und t s, also (x t 1) (x r 1) und (x t 1) (x s 1) mit Problem 3.4. Sei g(x) F [x] mit g(x) (x r 1) und g(x) (x s 1) über F gegeben. 2. Zeige: das Polynom x hat endliche multiplikative Ordnung im Ring R = F [x]/g(x). g(x) (x r 1) impliziert x r 1 = µ(x) g(x), d.h. x r = 1 mod g(x) oder eben O(x) r in R und ist damit endlich. 3. Zeige: sei e = O(x) in R. Zeige: e r und e s (woraus dann e t folgt!) Lösungshinweis: Nr.1 von Problem A.9 Mit Nr.2 gilt e r und e s, also e t. 4. Zeige: g(x) (x e 1) (woraus dann g(x) (x t 1) folgt!) e = O(x) ist minimal mit x e = 1 mod g(x), d.h. x e 1 = 0 mod g(x) oder eben g(x) (x e 1). Wegen Nr.3 gilt e t, was mit Problem 3.4 (x e 1) (x t 1) impliziert. Insgesamt gilt also g(x) (x e 1) (x t 1). 5. Zeige: gcd(x r 1, x s 1) = x t 1 = x gcd(r,s) 1 Laut Definition von g(x) = gcd(x r 1, x s 1) gilt g(x) (x r 1) und g(x) < (x s 1), was mit Nr.4 einerseits g(x) (x t 1) impliziert. Mit Nr.1 gilt (x t 1) (x r 1) und (x t 1) (x s 1), was andererseits (x t 1) g(x) impliziert. Zusammen folgt g(x) = x t 1. Problem 3.6 on p. 72 to subsection 3.3 Sei F = GF 2 und Φ = GF(2 3 ) dargestellt durch F [ξ]/(ξ 3 + ξ 2 + 1). Man drücke jedes Element von Φ \ {0} als Potenz von ξ aus. i ξ i 1 ξ ξ 2 ξ ξ 2 + ξ + 1 ξ + 1 ξ 2 + ξ 47
48 Problem 3.7 on p. 72 to subsection 3.3 Sei F = GF 2 und sei Φ = GF(2 3 ) = F [ξ]/(ξ 3 + ξ + 1). Jedes u Φ läßt sich durch u = (u o, u 1, u 2 ) = u o + u 1 ξ + u 2 ξ 2 = (1, ξ, ξ 2 )(u o, u 1, u 2 ) = (1, ξ, ξ 2 )u darstellen. Sei nun f : Φ Φ durch u ξ 2 u spezifiziert. Verifiziere durch Bestimmung einer 3 3-Matrix A mit f(u) = f ( (1, ξ, ξ 2 )u ) = (1, ξ, ξ 2 )Au, daß es sich bei f um eine (lineare) Matrix-Transformation handelt. Die Abbildung f ist linear. Also ist f durch seine Werte auf den Elementen einer Basis eindeutig bestimmt. Mit der Basis {1, ξ, ξ 2 } gilt f(1) = a 11 1+a 21 ξ+a 31 ξ 2, f(ξ) = a 12 + a 22 ξ + a 32 ξ 2 und f(ξ 2 ) = a 13 + a 23 ξ + a 33 ξ 2 für konstante a i,j F. Daher gilt f(u) = f((1, ξ, ξ 2 )u) = u o f(1) + u 1 f(ξ) + u 2 f(ξ 2 ) = u o (a 11 + a 21 ξ + a 31 ξ 2 ) + u 1 (a 12 + a 22 ξ + a 32 ξ 2 ) + u 2 (a 13 + a 23 ξ + a 33 ξ 2 ) = 1 (a 11 u o + a 12 u 1 + a 13 u 2 ) + ξ (a 21 u o + a 22 u 1 + a 23 u 2 ) + ξ 2 (a 31 u o + a 32 u 1 + a 33 u 2 ) = 1 a 1 u + ξ a 2 u + ξ 2 a 3 u = (1, ξ, ξ 2 )Au, wenn A = (a 1, a 2, a 3 ) die Zeilen a 1, a 2 und a 3 hat. Wegen f(1) = ξ 2 1 = ξ 2, f(ξ) = ξ 2 ξ = ξ 3 = ξ +1 und f(ξ 2 ) = ξ 2 ξ 2 = ξ 4 = ξ 2 +ξ gilt A = Problem 3.8 on p. 73 to subsection 3.3 Sei F = GF 2 und Φ = GF(2 2 ) dargestellt als F [ξ]/(ξ 2 + ξ + 1). 1. für u o, u 1, v o, v 1 F zeige, daß in Φ für das Produkt (u o +u 1 ξ)(v o +v 1 ξ) = (u o v o + u 1 v 1 ) + (u o v 1 + u 1 v o + u 1 v 1 )ξ Φ gilt. Das Produkt kann also mit drei Additionen und vier Multiplikationen in F ermittelt werden. Wegen ξ 2 = ξ + 1 liefert Ausmultiplizieren (u o + u 1 ξ)(v o + v 1 ξ) = u o v o + (u o v 1 +u 1 v o )ξ +u 1 v 1 (ξ +1) = (u o v o +u 1 v 1 )+(u o v 1 +u 1 v o +u 1 v 1 )ξ. Dafür sind zunächst vier Multiplikationen in F und danach drei Additionen in F auszuführen. 2. Zeige: das Produkt zweier Elemente in Φ kann auch mit vier Additionen und drei Multiplikationen in F berechnet werden. Berechne zunächst u o v o, u 1 v 1 und (u o +u 1 )(v o +v 1 ) mit drei Multiplikationen und zwei Additionen. Das Produkt ergibt sich dann mit zwei weiteren Additionen aus u o v o + u 1 v 1 sowie u o v 1 + u 1 v o + u 1 v 1 = (u o + u 1 )(v o + v 1 ) u o v o. 3. Zeige: das Quadrat eines Elementes aus Φ kann mit einer Addition in F berechnet werden. Wegen u i F gilt (u o + u 1 ξ) 2 = u 2 o + u 2 1ξ 2 = u 2 o + u 2 1(ξ + 1) = (u 2 o + u 2 1) + u 2 1ξ = (u o + u 1 ) + u 1 ξ. 4. Zeige: die Abbildung f : Φ Φ mit f(x) = ξx 2 kann nur durch Umstellen, also ohne arithmetische Operationen berechnet werden. f(u o + u 1 ξ) = ( (u 2 o + u 2 1) + u 2 1ξ ) ξ = (u o + u 1 )ξ + u 1 (ξ + 1) = u 1 + u o ξ. 48
49 3.8.1 Problem 3.9 on p. 73 to subsection 3.3 Sei a(x) = n i=o a ix i ein monisches (a n = 1) Polynom über F. Die sogenannte companion matrix C a von a ist die n n-matrix a o a 1 C a = a 2 = a n 1 0 I n 1 a 1. Zeige: mit a(x) = det(xi C a ) ist a(x) das charakteristische Polynom von C a. x 0 0 a o 1 x 0 a 1 Wir zeigen a 2 = cx n 1 + n 2 i=o a ix i per Induktion c nach n. Für n = 0 gilt im Induktionsanfang x a o 1 c = cx1 + a o. Im Induktionsschritt liefert die Entwicklung nach der letzten Zeile gerade x a o x 0 0 a o x x 0 0 a 1 1 x 0 a 1 1 x a a = c = x a n a n x c c x a n 2 x n 2 + n 3 i=o a ix i + cx n 1 nach Induktionsvoraussetzung. Also folgt für c = x + a n 1 insgesamt det(xi C a ) = (x + a n 1 )x n 1 + n 2 i=o a ix i = a(x). 2. Seien u = (u o,..., u n 1 bzw. v = (v o, v 1,..., v n 1 ) die zu u(x) = n 1 i=o u ix i F n [x] bzw. v(x) = n 1 i=o v ix i F n [x] gehörenden Koeffizienten-Vektoren. Zeige: v(x) x u(x) mod a(x) v = C a u. Da deg(v) = n 1 und deg(x u) = deg(a) = n, ist v(x) x u(x) mod a(x) oder v(x) x u(x) = µ(x)a(x) für einen geeigneten Skalar µ per Koeffizientenvergleich äquivalent zu v o = µa o, v 1 u o = µa 1,..., v n 1 u n 2 = µa n 1 und u n 1 = µa n = µ. Dieses System von linearen Gleichungen ist äquivalent zu v = C a u. 3. In Figure 3.3 stellen quadratische Kästchen delay-units dar, die ein Element von F speichern können. Kreise mit + symbolisieren Addition in F und solche mit a i eben Multiplikation mit a i in F. 49
50 u o + u u n 1 a o a 1 a 2 a n 1 Das Schieberegister operiert getaktet. Initial sei u in den delay-units geladen. Zeige: nach l ticks ist der Inhalt der delay-units gerade C l au, d.h. das Schieberegister hat x l u(x) mod a(x) berechnet. Nach einem tick steht im nullten delay unit a o u n 1, im ersten u o a 1 u n 1, usw. und im n 1-ten u n 2 a n 1 u n 1, damit also gerade C a u. Jeder Zustandsübergang nach Ablauf eines ticks besteht also in der Multiplikation der delay units mit C a. Nach l ticks speichern die delay units also gerade C l au und berechnen wegen Nr.2 damit x l u(x) mod a(x) Sei b(x) = i b ix i F [x] und sei ψ b : F n [x] F n [x] durch ψ b (u) = (b u) mod a spezifiziert. Zeige: ψ b ist eine lineare Transformation, die durch u b(c a )u mit b(c a ) = i b ic i a dargestellt werden kann. Wegen ψ b (u 1 +u 2 ) = (b (u 1 +u 2 )) mod a = (b u 1 ) mod a+(b u 2 ) mod a = ψ b (u 1 )+ψ b (u 2 ) und ψ b (cu) = (b cu) mod a = c ( (b u) mod a ) ist ψ b linear. Die Darstellung u b(c a )u transformiert die Koeffizienten-Vektoren und ist als Matrix-Transformation ebenso linear. Die beiden Darstellungen sind gleichwertig, wenn sie auf allen Basis-Vektoren gleichwertig sind. 5. Zeige: die Menge {b(c a ) : b(x) F n [x]} von Matrizen zusammen mit Matrizen-Addition und Multiplikation ist ein Ring R, der zu F [x]/a(x) isomorph ist. Wenn zudem a(x) irreduzibel ist, so ist R ein Körper. Lösungshinweis: a(c a ) = 0 (Satz von Cayley-Hamilton) 6. Zeige: a(x) ist irreduzibel über F b(c a ) ist regulär für jedes 0 b(x) F n [x]. Problem 3.10 on p. 74 to subsection 3.3 Sei P (x) = x 2 + x + β irreduzibel über F = GF q und Φ = F [ξ]/p (ξ). Zeige: das multiplikative Inverse von u o + u 1 ξ Φ ist u o u 1 u 1ξ u 2 o uou1+u2 1 β. Sei zur Abkürzung d = u 2 o u o u 1 + u 2 1β gesetzt. (u o + u 1 ξ) 1 d (u o u 1 u 1 ξ) = 1 d (u2 o u o u 1 u 2 1ξ u 2 1ξ 2 ) = 1 d( u 2 o u o u 1 u 2 1ξ+u 2 1(ξ+β) ) = 1 d( u 2 o u o u 1 +u 2 1β) = 1. Problem 3.11 on p. 74 to subsection 3.4 Sei Φ ein Erweiterungskörper von F = GF q. Betrachte Q(x) = x q x Φ[x]. Zeige: Die Nullstellen/Wurzeln von Q in Φ sind genau die Elemente von F. Sei u u. Falls u = 0 ist u eine Nullstelle von Q. Sei jetzt u F. Die von u in F erzeugte Untergruppe {u 0, u 1,..., u O(u) 1 } von F hat O(u) Elemente. 50
51 Laut Problem A.14 Nr.4 ist dann O(u) ein Teiler von F = q 1, also etwa lo(u) = q 1. Aus u O(u) = 1 folgt also 1 = 1 l = (u O(u) ) l = u q 1 und damit u q = u. Mit Q(u) = 0 ist also u Nullstelle von Q. Insgesamt sind so q verschiedene Nullstellen von Q identifiziert. Da laut Theorem 3.7 auf S. 39 das Polynom Q vom Grad q höchstens q Nullstellen hat, stellen die Elemente von u schon alle Nullstellen dar. Problem 3.12 on p. 75 to subsection 3.4 Sei F ein Körper mit Erweiterungskörper Φ und h = [Φ : F ] <. Für β Φ sei m N minimal, so daß β o, β,..., β m linear abhängig über F sind. 1. Zeige: m h Da m minimal ist, sind die m Vektoren 1, β, β 2,..., β m 1 unabhängig, was m h = [Φ : F ] impliziert. in Φ linear 2. Sei a(x) F [x] \ {0}. Zeige: a(β) = 0 impliziert deg(a) m. Mit deg(a) < m und a(β) = deg a i=o a iβ i = 0 wären weniger als die ersten m Potenzen von β linear abhängig. 3. Zeige: es gibt genau ein monisches Polynom M β (x) F [x] mit deg(m β ) = m und M β (β) = 0. β o, β,..., β m sind linear abhängig über F, d.h. es gibt M i F, so daß M β (β) = m i=o M iβ i = 0, wobei o.b.d.a. M m = 1 angenommen werden darf. Sei N(x) ein weiteres solches monisches Polynom, deg(n) = m und N(β) = 0. Wegen ( M β N ) (β) = 0 und deg(m β N) < m folgt der Widerspruch zur Mimimalität von m. 4. Zeige: M β ist irreduzibel über F. Angenommen M β (x) = a(x) b(x) für a(x), b(x) F [x], also M β (β) = a(β) b(β) = 0 und damit a(β) = 0 oder b(β) = 0. Sei o.b.d.a. a(β) = 0. Mit Nr.2 folgt dann deg(a) = m und deg(b) = 0. M β ist also irreduzibel. 5. Sei a(x) F [x] \ {0}. Zeige: a(β) = 0 impliziert M β (x) a(x). Sei a(x) = µ(x) M β (x) + b(x) wobei deg(b) < deg(m β ) = m. Dann gilt a(β) = 0 = µ(β) M β (β)+b(β) = b(β). Nr.2 impliziert b(x) 0 und damit M β (x) a(x). 6. Sei F = GF 2 und Φ = F [ξ]/(ξ 3 + ξ + 1). Bestimme M ξ 3(x). Lösungshinweis: Stelle ξ o, ξ 3, ξ 6, ξ 9 jeweils als Linearkombination der Basisvektoren 1, ξ und ξ 2 dar. ξ 2 ξ 1 β o = β 1 = ξ 3 = ξ zeigt, daß β o, β 1 und β 2 linear unabhängig β 2 = ξ 6 = ξ β 3 = ξ 9 = ξ und daß β o, β 2 und β 3 linear abhängig sind. Damit gilt M ξ 3(x) = x 3 + x
52 Problem 3.13 on p. 75 to subsection 3.4 (Vandermonde 12 -Matrizen) Seien β 1,..., β r F im Körper F paarweise verschieden. Zeige: Für X = β 1 β 2 β r β1 2 β2 2 βr 2 gilt det(x) = 1 i<j r (β j β i )..... β1 r 1 β2 r 1 βr r 1 Lösungshinweis: sei z eine Unbekannte. Ersetzen von β r durch z liefert die Matrix X(z). Zeige, daß das Polynom b(z) = det ( X(z) ) durch z β i für i = 1, 2,..., r 1 ist und daß der Koeffizient von z r 1 in b(z) gerade det( ˆX) ist, wo ˆX die (r 1) (r 1) Untermatrix links oben in X ist. Zeige durch Infuktion nach r, daß b(z) = ( r 1 i=1 (z β i) ) 1 i<j<r (β j β i ) und folgere det(x)b(β r ) Der Beweis erfolgt mit vollständiger Induktion. Sei z eine Unbekannte und betrachte X(z) = β1 2 β2 2 βr 1 2 z 2 = (s β 1 β 2 β r 1 z 1,..., s r ). Dann ist das.... β1 r 1 β2 r 1 βr 1 r 1 z r 1 Polynom b(z) = det ( X(z) ) mit grad(b) = r 1 erstens für jedes 1 i < r durch z β i teilbar, weil det(x) = det(s 1,..., s r ) = det(s 1,..., s r s i ) mit s r s i = (z k βi k) k = ( (z β i ) k 1 j=0 zk j β j ) i. Bei der Entwicklung nach k der letzten Spalte kann also der Faktor z β i ausgeklammert werden. Zweitens ist der Koeffizient von z r 1 gerade die Determinante der (r 1) (r 1)- Untermatrix ˆX von X, die man durch Streichen der letzten Zeile und der letzten Spalte von X gewinnt. Für b(z) gilt somit b(z) = det( ˆX) r 1 i=1 (z β i) und ˆX ist wieder eine Vandermonde-Matrix. Zusammen gilt also det(x) = b(β r ) = det( ˆX) r 1 i=1 (β r β i ). Iterierte Anwendung desselben Argumentes auf ˆX liefert die Behauptung. Problem 3.14 on p. 76 to subsection 3.4 (eindeutige Interpolation) Seien β 1,..., β r F paarweise verschieden. Sei v = (v 1,..., v r ) F r gegeben. 1. Zeige: es gibt genau ein (interpolierendes) Polynom u(x) F r [x] und u(β j ) = v j für j = 1,..., r. Lösungshinweis: vermittels Problem 3.13 zeige, daß das System linearer Gleichungen r 1 i=o u iβj i = v j für j = 1,..., r genau eine Lösung in den r Unbekannten u o, u 1,..., u r 1 hat. Sei u(x) = u o + u 1 x + + u r 1 x r 1. Aus u(β j ) = v j für j = 1,..., r folgt r 1 i=o u iβj i = v j für j = 1,..., r. Die unbekannten Koeffizienten u = (u o,..., u r 1 ) F r sind Lösungen des Systems linearer Gleichungen 12 A. T. Vandermonde ( ) www-history.mcs.st-andrews.ac.uk/biographies/vandermonde.html 52
53 1 1 1 β 1 β 2 β r ub = v mit Koeffizienten-Matrix B =.... Da β1 r 1 β2 r 1 βr r 1 die β j paarweise verschieden sind, ist die Vandermonde-Matrix B wegen det(b) 0 regulär. Damit ist das Gleichungssystem eindeutig lösbar. 2. Zeige: das Paolynom u(x) F r [x] aus Nr.1 stimmt mit dem Polynom v(x) := r j=1 v x β m j 1 m r,m j β j β m überein. Lösungshinweis: Verifiziere v(β j ) = v j. Wegen β i β m 1 m r,m j β j β m = δ i,j gilt für das Lagrange 13 -Polynom v(β i ) = v i für i = 1, 2,..., r. Also stimmen die beiden Polynome u, v F r [x] in r Punkten überein und sind damit identisch. Problem 3.15 on p. 76 to subsection 3.5 Sei F = GF q und f eine Funktion f : F F. Zeige: es gibt genau ein Polynom u(x) F q [x] mit f(β) = u(β) für alle β F. Lösungshinweis: siehe Problem 3.14 x γ β γ Mit u(x) = β F f(β) γ,γ β gilt offensichtlich f(β) = u(β) für alle β F. Das Polynom u(x) ist eindeutig, weil es ja für alle Elemente von F spezifiziert ist. Problem 3.16 on p. 76 to subsection 3.5 Sei a(x) F [x] und β Element eines Erweiterungskörpers von F. Definiere b(x) = a(x + β). 1. Zeige: β ist m-fache Nullstelle von a(x) 0 ist m-fache Nullstelle von b(x). β ist m-fache Nullstelle von a(x) m maximal mit (x β) m a(x) m maximal mit a(x) = µ(x)(x β) m für geeignetes Polynom µ(x) m maximal mit b(x) = a(x + β) = µ(x + β)x m = ν(x)x m 0 ist m-fache Nullstelle von b(x). 2. Sei b(x) = i b ix i. Zeige: β ist m-fache Nullstelle von a(x) b o = b 1 =... = b m 1 = 0 und b m 0. Wegen Nr.1 gilt β ist m-fache Nullstelle von a(x) m maximal mit b(x) = a(x + β) = µ(x)x m = i µ ix i+m b o = b 1 =... = b m 1 = 0 und b m 0 per Koeffizientenvergleich. 13 Joseph-Louis Lagrange ( ) www-history.mcs.st-andrews.ac.uk/biographies/lagrange.html 53
54 Problem 3.17 on p. 77 to subsection 3.5 Sei F = GF 2 und Φ = GF(2 4 ) sei durch F [x]/(x 4 + x 3 + 1) dargestellt. Zeige: Φ = Φ \ {0} wird von x erzeugt. i x i 1 x x 2 x 3 x x 3 + x + 1 x 3 + x 2 + x + 1 x 2 + x + 1 i x i 1 x x 2 x 3 x x 3 + x + 1 x 3 + x 2 + x + 1 x 2 + x + 1 i x i x 3 + x 2 + x x x 3 + x x 3 + x x + 1 x 2 + x x 3 + x 2 Problem 3.18 on p. 77 to subsection 3.5 Sei F = GF 2 und Φ = GF(2 4 ) sei durch F [x]/(x 4 + x 3 + x 2 + x + 1) dargestellt. Zeige: Φ = Φ \ {0} wird von x + 1 erzeugt. Lösungshinweis: für m = 3 und m = 5 zeige (ξ + 1) m 1 in Φ. i (x + 1) i 1 x + 1 x x 3 + x 2 + x + 1 x 3 + x 2 + x x 3 + x x 3 i (x + 1) i x 2 + x + 1 x x 2 x 3 + x 2 x 3 + x + 1 x x 2 + x x 3 + x Problem 3.19 on p. 77 to subsection 3.5 Sei 1 < m N. Zeige: alle Elemente in GF(2 m ) \ {0, 1} sind primitiv 2 m 1 ist prim (eine sogenannte Mersenne 14 -Primzahl). GF(2 m ) ist zyklisch mit GF(2 m ) = 2 m 1. Nach Problem A.11 hat GF(2 m ) gerade φ(2 m 1) viele Generatoren. Alle Elemente in GF(2 m ) \ {0, 1} sind primitiv φ(2 m 1) = 2 m 2 2 m 1 ist prim. Problem 3.20 on p. 77 to subsection 3.5 Sei F = GF q mit q = p m, p > 2 prim. Sei α primitiv in F. Zeige: α (q 1)/2 = 1. Lösungshinweis: α (q 1)/2 ist eine Nullstelle von x 2 1 in F. Für primitives α ist α q 1 = 1 und damit ( α (q 1)/2) 2 = 1. Also ist α (q 1)/2 eine Nullstelle von x 2 1 in F. Wegen x 2 1 = (x α (q 1)/2 )(x + α (q 1)/2 ) = (x 1)(x + 1) muß entweder α (q 1)/2 = 1 oder α (q 1)/2 = 1 gelten. Da α primitiv ist, ist aber nur α (q 1)/2 = 1 möglich. 14 Marin Mersenne ( ) www-history.mcs.st-andrews.ac.uk/biographies/mersenne.html 54
55 Problem 3.21 on p. 77 to subsection 3.5 Sei F = GF q und sei {α 1, α 2,..., α q 1 } = GF q. Zeige q 1 j=1 α j = 1. Lösungshinweis: Sei α primitiv in F. Zeige q 1 j=1 α j = α (q 2)(q 1)/2. Unterscheide gerade und ungerade q. Sei α primitiv in F. Dann gilt q 1 j=1 α j = q 2 j=1 αj = α q 2 i=0 i = α (q 2)(q 1)/2. Sei q ungerade. Mit Problem 3.20 folgt dann α (q 2)(q 1)/2 = ( α (q 1)/2) q 2 = ( 1) q 2 = 1, weil q 2 eben ungerade ist. Für gerades q gilt andererseits α (q 2)(q 1)/2 = ( α q 1) (q 2)/2 = 1 (q 2)/2 = 1 = ( 1) q 1 = 1, weil q 1 ungerade ist. In diesem Fall, q gerade, ist also 1 = 1. Problem 3.22 on p. 77 to subsection 3.5 Seien α 1,..., α q die Elemente von F = GF q und sei r N mit 1 r < q 1. Zeige: q j=1 αr j = 0, wobei 0o := 1. Lösungshinweis: für r = 0 wende Problem A.16 auf die additive Gruppe F an. Für 0 < r < q 1 sei α primitiv in F. Zeige q j=1 αr j = q 2 i=0 αir = α(q 1)r 1 α r 1. Der Fall r = 0 ist durch A.16 angewandt auf die additive Gruppe (F, +) erledigt. Sei weiter 0 < r < q 1 und sei α F primitiv, d.h. die Potenzen von α erzeugen ganz F. Also gilt q j=1 αr j = q j=1,α j 0 αr j = q 2 i=o (αr ) i = α (q 1)r 1 α r 1 = 0, weil mit (α r 1) q 2 i=o (αr ) i = q 2 i=o (αr ) i+1 q 2 i=o (αr ) i = q 1 i=1 (αr ) i q 2 i=o (αr ) i = (α r ) q 1 1 einerseits q 2 i=o (αr ) i = α(q 1)r 1 α r 1 und gilt weil andererseits α ein Generator von F ist, was O(α) = F = q 1 und damit α (q 1)r 1 = (α q 1 ) r 1 = 1 r 1 = 0 impliziert Problem 3.23 on p. 77 to subsection 3.6 (Quadratische Residuen) Sei F = GF q mit q = p m und p > 2 prim. Ein β F heißt quadratisches Residuum, wenn β = α 2 für ein 0 α F gilt. Ein β F ist also ein quadratisches Residuum, wenn das Polynom x 2 β Nullstellen in F hat. Ein quadratisches Nicht-Residuum ist ein Element, das nicht quadratisches Residuum ist. 1. Liste jeweils alle quadratischen Residuen in GF 7 und GF 13 auf. Die quadratischen Residuen in GF 7 sind 1, 2 und 4, weil 1 2 = 6 2 = 1, 3 2 = 4 2 = 2 und 2 2 = 5 2 = 4 gilt. Die quadratischen Residuen in GF 13 sind 1, 3, 4, 9, 10 und 12, weil 1 2 = 12 2 = 1, 4 2 = 9 2 = 3, 2 2 = 11 2 = 4, 3 2 = 10 2 = 9, 6 2 = 7 2 = 10 und 5 2 = 8 2 = 12 gilt. 2. Zeige: in F gibt es genau (q 1)/2 quadratische Residuen. Lösungshinweis: ein Element ist ein quadratisches Residuum genau dann, wenn es gerade Potenz eines primitiven Elementes ist. Sei α primitiv in F, d.h. F = {α o, α,..., α q 2 }. Da q 1 gerade ist, gibt es genau (q 1)/2 geradzahlige Potenzen von α. 55
56 3. Zeige: quadratische Residuen sind Nullstellen von x (q 1)/2 1 in F. Quadratische Nicht-Residuen sind Nullstellen von x (q 1)/2 + 1 in F. β F ist quadratisches Residuum β = α 2i für ein primitives α F β (q 1)/2 1 = (α 2i ) (q 1)/2 1 = (α q 1 ) i 1 = 0. γ F ist quadratisches Nicht-Residuum γ = α 2i+1 für ein primitives α F γ (q 1)/2 + 1 = (α 2i+1 ) (q 1)/2 + 1 = (α q 1 ) i α (q 1)/2 + 1 = 1( 1) + 1 = 0 wegen Problem Zeige: 1 ist quadratisches Residuum in F q = 1 mod 4. Lösungshinweis: verwende Nr.3 oder Problem ist quadratisches Residuum in F 1 ist Nullstelle von x (q 1)/2 1 in F ( 1) (q 1)/2 = 1 (q 1)/2 ist gerade q 1 = 0 mod 4 q = 1 mod Sei q = 1 mod 4 und sei α quadratisches Nicht-Residuum in F. Zeige: die Menge Γ = {α+β : β ist quadratisches Residuum in F } enthält genau (q 1)/4 quadratische Residuen in F. Lösungshinweis: das Problem ist äquivalent zur Bestimmung der Anzahl der Lösungen (x, y) F F von α + x 2 = y 2 oder ebenso auch α = (y x)(y + x). Sei z = x + y und daher umgekehrt x = 1 2 (z α/z) und y = 1 2 (z + α/z). Wenn nun z alle Elemente von F durchläuft, dann gewinnt man mit y = 1 2 (z + α/z) jedes y zweimal und die zugehörigen z sind gerade die Nullstellen von z 2 2yz + α. Offensichtlich sind die quadratischen Residuen γ in Γ von der Form γ = y 2 = α + x 2 und damit gerade die Lösungen der Gleichung α + x 2 = y 2 oder eben α = (y x)(y + x). Für solche Lösungen und für z = y + x gilt nun z α/z = y + x (y x)(y + x)/(y + x) = 2x und z + α/z = y + x + (y x)(y + x)/(y + x) = 2y. Durchläuft nun z ganz F, dann duchlaufen x = 1 2 (z α/z) und y = 1 2 (z + α/z) alle Lösungen. Allerdings wird auf diese Weise jedes y zweimal erzeugt, weil wegen y = 1 2 (z o + α/z o ) = 1 2( α/zo + α/(α/z o ) ) ein solches y sowohl von z o als auch von α/z o erzeugt wird m.a.w. z o und α/z o sind die beiden verschiedenen Lösungen von z 2 2yz + α = 0 verschieden, weil sonst α mit z o = α/z o quadratisches Residuum wäre. Wenn z nun F durchläuft, erzeugt es (q 1)/2 mal ein quadratisches Residuum x und zugehörige quadratische Residuen y, die aber paarig zusammenfallen. Also gibt es (q 1)/4 quadratische Residuen in Γ. 6. Sei q = 1 mod 4 und α quadratisches Residuum in F. Zeige: die Menge Γ = {α+β : β ist quadratisches Residuum in F } enthält genau (q 5)/4 quadratische Residuen. 7. Sei q = 3 mod 4 und α F. Zeige: die Menge Γ = {α+β : β ist quadratisches Residuum in F } enthält genau (q 3)/4 quadratische Residuen Problem 3.24 on p. 78 to subsection 3.6 (Quadratische Polynome über Körpern mit ungerader Charakteristik) Sei F = GF q mit q = p m und p > 2 prim. Sei P (x) = x 2 + αx + β F [x]. 56
57 1. Finde notwendige und hinreichende Bedingungen dafür, daß P über F irreduzibel ist. Lösungshinweis: verwende die Diskriminante und Problem P ist irreduzibel α 2 4β ist quadratisches Nicht-Residuum. : Angenommen γ 2 = α 2 4β. Dann läßt sich P zu ( x (α + γ))( x (α γ)) = x 2 + αx (α2 γ 2 ) = x 2 + αx + β faktorisieren im Widerspruch zur Irreduzibilität von P. : Angenommen P (x) = (x + γ 1 )(x + γ 2 ) = x 2 + (γ 1 + γ 2 )x + γ 1 γ 2. Mit α = γ 1 + γ 2 und β = γ 1 γ 2 folgt α 2 4β = γ γ 1 γ 2 + γ 2 2 4γ 1 γ 2 = (γ 1 γ 2 ) 2 im Widerspruch zur Voraussetzung, daß α 2 4β quadratisches Nicht-Residuum ist. 2. Halte α fest und bestimme die Anzahl aller irreduziblen P für variables β. 3. Halte β fest und bestimme die Anzahl aller irreduziblen P für variables α. Problem 3.25 on p. 78 to subsection 3.6 (Multiplikative Charaktere) Sei Φ = GF q. Ein multiplikativer Charakter ist eine Abbildung ψ : Φ C mit ψ(β γ) = ψ(β) ψ(γ) für alle β, γ Φ. 1. Sei ω eine (q 1)-te Einheitswurzel, nämlich ω = e 2πi/(q 1) mit i = 1. Sei α primitiv in Φ. Definiere ψ l (α j ) = ω jl für alle j = 0, 1,..., q 2 und festes l {0, 1,..., q 2}. Zeige: ψ l ist multiplikativer Charakter. ψ l (α j α k ) = ψ l (α j+k ) = ω (j+k)l = ω jl ω kl = ψ l (α j ) ψ l (α k ). 2. Zeige: ψ(1) = 1 für jeden multiplikativen Charakter. Aus ψ(β) = ψ(1 β) = ψ(1)ψ(β) folgt ψ(1) = Zeige: ( ψ(β) ) q 1 = 1 für jeden multiplikativen Charakter ψ und jedes β Φ. ( ψ(β) ) q 1 = ψ ( β q 1 ) = ψ(1) = 1 4. Zeige: ein multiplikativer Charakter ψ ist eindeutig durch ψ(α) für primitives α bestimmt. Weil sich jedes β Φ eindeutig als β = α j darstellen läßt, gilt ψ(β) = ( ψ(α) ) j. 5. Zeige: jeder multiplikative Charakter ist von der Form ψ l aus Nr.1. Aus Nr.4 mit ψ(β) = ( ψ(α) ) j und Nr.3 mit ψ(α) = ω l für geeignetes l folgt ψ = ψ l. 6. Zeige: multiplikative Charaktere sind orthogonal, d.h. β Φ ψ l (β)ψ l (β) = (q 1)δ l,l wo z das zu z konjugiert komplexe Element in C bezeichnet. 57
58 Für l = l ist ψ l (β)ψl (β) = ψ l(β) 2 = 1 und daher β Φ 1 = q 1, während für l l 0 eben β Φ ψ l(β)ψ l (β) = q 2 j=o ψ l(α j )ψl (αj ) = q 2 j=o ωjl ω jl = q 2( ) j=o ω l l j (ω l l ) q 1 1 = = 0 gilt. ω l l 1 7. Sei ψ nicht-trivialer multiplikativer Charakter. Durch ψ(0) = 0 ist ψ auf ganz Φ definiert. Zeige: für festes γ Φ gilt { ψ(β)ψ q 1 falls γ = 0 (β + γ) = 1 falls γ 0. β Φ Lösungshinweis: weil ψ multiplikativer Charakter ist und ψ(β) Einheitswurzeln sind, gilt ψ(β)ψ (β+γ) = ψ(β)ψ ( β(γ/β+1) ) = ψ(β) 2 ψ (γ/β+ 1) = ψ (γ/β + 1). Also bleibt β Φ ψ (γ/β + 1) zu berechnen. Falls γ = 0, so ist β Φ ψ(β)ψ (β + γ) = β Φ ψ (1) = q 1. Falls dagegen γ 0, so durchläuft γ/β + 1 für β Φ alle Elemente in Φ \ {1}. Also gilt β Φ ψ (γ/β + 1) = ψ (0) + α Φ \{1} ψ (α) = α Φ ψ (α) ψ (1) = 0 1 = Problem 3.26 on p. 79 to subsection 3.6 (Legendre 15 -Symbol) Sei p > 2 prim. a Z heißt quadratisches Residuum bzw. Nicht-Residuum modulo p genau dann, wenn a kein Vielfaches von p und wenn a quadratisches Residuum bzw. Nicht-Residuum in F = GF p ist. Für a Z definiere das Legendre Symbol ( a 1 falls a quadratisches Residuum modulo p ist p ) = 0 falls p a. Die Abbildung 1 sonst ψ : F {±1} mit ψ(a) = ( a p ) ist der in Problem 3.25 definierte multiplikative Charakter ψ (p 1)/2 von F, der auch der quadratische Charakter von F heißt. 1. Zeige ( ab p ) = ( a p ) ( b p ) für alle a, b Z 2. Zeige das Euler-Kriterium: wenn a kein Vielfaches von p ist, gilt ( a p ) = a (p 1)/2 mod p Hinweis: Problem 3.23 Nr.3 3. Legendre Folge Sei x = (x o, x 1,...) durch x i = Zeige p 1 i=o x i = 1. { 1 1 ( i p ) = 1 sonst definiert. 4. Mit R x (τ) = p 1 i=o x ix i+τ definiere { die Autokorrelationsfunktion von x. p τ = 0 Für p = 3 mod 4 zeige R x (τ) = und für p = 1 mod 4 zeige 1 sonst p τ = 0 R x (τ) = 3 τ ist ein quadratisches Residuum modulo p. 1 sonst Hinweis: Problem 3.23 Nr4 und Problem 3.25 Nr.7 15 Adrien-Marie Legendre ( ) www-history.mcs.st-andrews.ac.uk/biographies/legendre.html 58
59 Problem 3.27 on p. 81 to subsection 3.6 (Fourier 16 -Transformation) Sei F = GF q und 0 < n N mit n (q 1). Sei α F mit O(α) = n und sei X = ( α ij) n 1 die Vandermonde-Matrix i,j= X = ( α ij) 1 α α 2 α n 1 n 1 i,j=0 = 1 α 2 α 4 α 2(n 1) α n 1 α 2(n 1) α (n 1)(n 1) Für y F n heißt Y = ( ) n 1 Y j j=0 = Xy = X( ) n 1 y j j=0 F n die Fourier- Transformierte des Spaltenvektors y = (y o,..., y n 1 ). Vektoren wie y, Y F n haben wie üblich Darstellungen als Polynome y(x) = n 1 j=0 y jx j bzw. Y (x) = n 1 j=0 Y jx j. 0. Zeige: ein α F mit O(α) = n existiert. F ist nämlich zyklisch, d.h. es gibt β F mit < β >= F und somit O(β) = q 1 = nr. Für α = β r gilt also α n = β nr = β q 1 = 1. Zugleich gibt es kein n < n mit α n = 1, weil sonst β n r = 1 im Widerspruch zu O(β) = nr stünde. ( 1. Zeige: X 1 = ) 1 n α ij n 1. Dabei bezeichnet 1 i,j=0 n das multiplikative Inverse n { }} { von F in F. ( ) XX 1 = 1 n 1 i,j n l=0 αil α lj = 1 n 1 n l=0 αl(i j) = 1 n = δ i,j. { n 1 α n(i j) 1 α i j falls i = j falls i j 2. Zeige: y j = 0 α j ist eine Nullstelle von Y (x). y j = 0 impliziert Y (α j ) = n 1 k=0 Y kα jk = n 1 n 1 k=0 l=0,l j αkl y l α jk = n 1 l=0,l j y n 1 l k=0 αk(l j) = n 1 l=0,l j y l 1 αn(l j) = 0 1 α l j Umgekehrt impliziert 0 = Y (α j ) = n 1 k=0 Y kα jk = n 1 l=0 y lnδ l,j = ny j also y j = Seien y = ( ) n 1 y j j=0 F n bzw. z = ( ) n 1 z j j=0 F n auch als Polynome y(x) = n 1 j=0 y jx j bzw. z(x) = n 1 j=0 z jx j dargestellt. Seien Y = Xy bzw. Z = Xz die Fourier-Transformierten von y bzw. z. Sei c(x) = n 1 j=0 c jx j = y(x)z(x) mod (x n 1) F [x]/(x n 1), die sogenannte (zyklische) Faltung von y bzw. z, mit der Fourier-Transformierten C. Zeige: C = YZ. Zunächst ist c k = n 1 l=0 y (k l) mod nz l zu zeigen. Der Umstand c(x) = y(x)z(x) mod (x n 1) impliziert die Existenz von µ(x) = n 2 k=0 µ kx k mit y(x) z(x) = ( ) 2n 2 k=0 w kx k = µ(x) x n 1 + ( ) n 1 k=0 c kx k = µ(x) x n 1 + c(x) 16 Jean Baptiste Joseph Fourier ( ) www-history.mcs.st-andrews.ac.uk/biographies/fourier.html 59
60 und w k = { k min(k,n 1) l=max(k (n 1)),0 y l=0 k lz l = y k lz l falls k n 1 n 1 l=k (n 1) y k lz l falls k > n 1. Koeffizientenvergleich für k > n 1 liefert w k = µ k n und für k n 1 eben w k = c k µ k oder c k = w k + µ k = w k + w n+k = k l=0 y k lz l + n 1 l=k+1 y n+k lz l = n 1 l=0 y (k l) mod nz l. Mit Nr.1 gilt dann nämlich c k = n 1 n 1 y (k l) mod n z l = l=0 = 1 n j=0 = 1 n j=0 n 1 n 1 α kj Z j und damit C = Xc = YZ. l=0 n 1 1 y (k l) mod n n l=0 j=0 α lj Z j ((k l) mod n)j y (k l) mod n α n 1 n 1 n 1 α kj Z j y l α lj = 1 n α kj Z j Y j l=0 j=0 Problem 3.28 on p. 81 to subsection 3.6 (Diskreter Logarithmus in Prim-Körpern) Sei F = GF p = Z p mit p > 2 prim und α primitiv in F. Der diskrete Logarithmus zur Basis α log α : F {0, 1,..., p 2} sei durch log α (α i ) = i für i = 0, 1,..., p 2 definiert. Zeige log α (x) = u(x) mit u(x) = 1 p 2 j=1 x j 1 α j { nβ n β 1 β(βn 1) F p 1 [x]. Hinweis: für u(x) = p 2 j=o u jx j und für die Vandermonde-Matrix X = ( α ij) p 2 i,j=o verifiziere X(u o, u 1,..., u p 2 ) = (0, 1,..., p 2). Mit Problem 3.27 Nr.1 folgere u i = p 2 j=1 jα ij und zeige n 1 i=o iβi = (β 1) 2 falls β n(n 1) falls β = 1 Wende auf n = p 1 und β = α j an. Wieso ist (p 1)(p 2)/2 = 1? Die p 1 Gleichungen u(α i ) = p 2 j=o u jα ij = i für i = 0, 1,..., p 2 lassen sich als Vektor-Gleichung X(u o, u 1,..., u p 2 ) = (0, 1,..., p 2) darstellen. Wegen Problem 3.27 Nr.1 gilt (u o, u 1,..., u p 2 ) = X 1 (0, 1,..., p 2) = ( ) 1 p 1 α ij p 2 (0, 1,..., p i,j=o 2) = ( α ij) p 2 (0, 1,..., p i,j=o 2) wegen 1 p 1 = 1 in F und daher u i = p 2 j=1 jα ij für i = 0, 1,..., p 2. Für β = 1 gilt n 1 i=o iβi = n 1 i=o i = 1 2 (n 1)n, während für β 1 im Induktionsanfang 1 1 i=o iβi = 0 = nβ n β 1 β(βn 1) (β 1) 2 (n+1)β n+1 β 1 β(βn+1 1) (β 1) 2 β β 1 β(β 1) (β 1) 2 und im Induktionsschritt n i=o iβi = + nβ n = nβn+1 β 1 β(βn 1) (β 1) = (n+1)βn+1 2 β 1 βn+1 (β 1)) (β 1) β(βn 1) 2 (β 1) = 2 gilt, so daß die allgemeine Gleichung gezeigt ist. Für n = p 1 und β = α j gilt u i = p 2 j=o jα ij = (p 1)(α i ) p 1 α i 1 0 = 1 α i 1 = 1 1 α für i = 1, 2,..., p 2 und u i o = p 2 j=o j = 1 2 (p 1)(p 2) = p 2 2 = 1, weil in F eben p 1 = 1 und p 2 = 2 gilt. s. Bemerkung p.82! 60
61 Problem 3.29 on p. 82 to subsection 3.6 Seien a, n N teilerfremd und sei p(x) = (x a) n = n ( n k=0 k) x k ( a) n k Z[x]. Zeige: n ist prim n teilt die Koeffizienten ( n i) ( a) n i von x i in p für i = 1, 2,..., n 1. Hinweis: : mit Proposition 3.11 : Sei n = p k m mit p prim und gcd(p, m) = 1. Zeige: p k teilt nicht ( n p) ( a) n p. : wie in Proposition 3.11 auf S. 40 gilt für primes n, daß ( n i) für i = 1,..., n 1 jeweils Vielfaches von n ist, weil mit n(n 1) (n i + 1) der Zähler sicher ein Vielfaches von n und mit i(i 1) 2 1 der Nenner sicher kein Vielfaches von n ist. Also teilt n die Koeffizienten ( n i) ( a) n i von x i in p für i = 1, 2,..., n 1. : Angenommen n ist nicht prim. Sei p k ein Primfaktor von n = p k m. Da ja gcd(n, a) = 1, ist p k kein Teiler von a und damit auch keiner von Potenzen von a. Aber p k ist auch kein Teiler von ( ) n p = p k 1 m(p k m 1) (p k m p+1), weil es noch (p 1 )! nicht einmal Teiler der Faktoren im Zähler ist. Problem 3.30 on p. 82 to subsection 3.6 Sei Φ ein Erweiterungskörper von F = GF q. Zeige: wenn α Φ Wurzel von a F [x] ist, dann ist für jedes r N auch α qr Wurzel von a. Sei a(x) = i N o c i x i mit c i F. Aus a(α) = i N o c i α i = 0 folgt mit Proposition 3.1 auf S. 34 und mit Proposition 3.11 auf S. 40 a(α qr ) = i N o c i (α qr ) i = i N o (c i α i ) qr = ( i N o c i α i) q r = 0 qr = Problem 3.31 on p. 83 to subsection 3.6 (Spur eines Elementes) Sei F = GF q und Φ = GF(q m ). Das trace polynomial T Φ:F über Φ bzgl. F ist durch T Φ:F (x) = x + x q + x q x qm 1, die Spur eines Elementes β Φ bzgl. F durch T Φ:F (β) definiert. 1. Zeige: ( T Φ:F (β) ) q = TΦ:F (β q ) = T Φ:F (β) für alle β Φ. Die von β Φ erzeugte Untergruppe {β o, β 1, β 2,...} von Φ hat O(β) Elemente. Wegen des Satzes von Lagrange (Problem A.14 Nr.4) ist O(β) ein Teiler von Φ = q m 1, d.h. lo(β) = q m 1 und es gilt β = β 1 = β 1 l = β (β O(β)) l = β β lo(β) = β β qm 1 = β qm. Für T Φ:F (x) = m 1 i=0 xqi gilt also T Φ:F (β q ) = m 1 i=0 (βq ) qi = m i=1 βqi = m 1 i=1 βqi + β qm = β qo + m 1 i=1 βqi = m 1 i=o = T βqi Φ:F (β). Φ = GF(q m ) hat die Charakteristik q. Also gilt wegen Proposition 3.11 auf S. 40 ( T Φ:F (β) ) q ( m 1 ) q m 1 = i=o = βqi i=o ) q = m (βqi i=1 = βqi m 1 i=o βqi = T Φ:F (β). 2. Zeige: T Φ:F (β) F für alle β Φ. s.a. Problem 3.11 Wegen Nr.1 gilt ( T Φ:F (β) ) q TΦ:F (β) = 0. Also ist T Φ:F (β) eine Nullstelle des Polynoms Q(x) = x q x über Φ. Laut Problem 3.11 auf S. 50 liegen aber alle Nullstellen von Q in F. 61
62 3. Zeige: die durch x T Φ:F (x) definierte Abbildung Φ F ist linear über F, d.h. für alle β, γ Φ und alle b, c F gilt T Φ:F (b β + c γ) = b T Φ:F (β) + c T Φ:F (γ). Wegen Proposition 3.11 auf S. 40 gilt T Φ:F (b β + c γ)= m 1 i=o (b β + c γ)qi = m 1 i=o (b β)qi + m 1 i=o (c γ)qi = m 1 i=o bqi β qi + m 1 i=o cqi γ qi = b T Φ:F (β) + c T Φ:F (γ) weil in F wie oben b qi = b gilt. 4. Zeige: jede lineare Abbildung Φ F kann in der Form x T Φ:F (µx) für ein µ Φ geschrieben werden. Lösungshinweis: counting Φ ist auch ein Vektorraum der Dimension m über F. Jede lineare Abbildung Φ F ist daher eindeutig durch ihre Werte in den m Vektoren einer Basis von Φ bestimmt. Damit gibt es einerseits genau F m = q m viele dieser Abbildungen. Andererseits spezifiziert x T Φ:F (µx) für ein µ Φ eine solche Abbildung, weil laut Nr.3 auch T Φ:F ( µ(b β + c γ) ) = T Φ:F (b µ β + c µ γ)) = b T Φ:F (µ β) + c T Φ:F (µ γ)) gilt. Auf diese Weise werden also soviele lineare Abbildungen Φ F spezifiziert, wie es Elemente µ Φ gibt, nämlich Φ = q m viele, und damit alle solche Abbildungen. 5. Zeige: Wenn β alle Elemente von Φ durchläuft, dann nimmt T Φ:F (β) jeden Wert in F genau q m 1 -mal an. s.a. Problem 2.4 auf S. 21 Sei (β i ) i=1,...,m eine Basis von Φ. Jedes β Φ läßt sich als Linearkombination der β i darstellen. Damit stellt sich T Φ:F (β) = T Φ:F ( m i=1 b iβ i ) = m i=1 b it Φ:F (β i ) = (b 1,..., b m ) ( T Φ:F (β 1 ),..., T Φ:F (β m ) ) als eine lineare Abbildung f der Form f(x 1,..., x m ) = f(x) = xa für festes a F m heraus. Solche linearen Abbildungen nehmen laut Problem 2.4 auf S. 21 jeden Wert b F genau q m 1 -mal an. 6. Zeige: T Φ:F (x) b = β Φ mit T Φ:F (β)=b(x β) für jedes b F. Das monische Polynom T Φ:F (x) b in x hat den Grad q m 1. Das Produkt der Linearfaktoren auf der rechten Seite ist monisch und hat wegen Nr.5 ebenfalls den Grad q m 1. Die rechte Seite ist laut Proposition 3.5 auf S. 38 Teiler von T Φ:F (x) b. Also sind die beiden Polynome identisch. 7. Zeige: x qm x = b F (T Φ:F (x) b). Beide Polynome ls(x) = x qm x und rs(x) = b F (T Φ:F (x) b) sind monisch und vom Grad q m. Mit Nr.6 ist weiter rs(x) = b F (T Φ:F (x) b) = b F β Φ mit T Φ:F (β)=b (x β) = β Φ (x β). Wegen O(β) qm 1 = GF(q m ) gilt lo(β) = q m 1 und β qm = β β qm 1 = β (β O(β)) l = β 1 = β für jedes β Φ, so daß jedes β Φ Nullstelle von ls ist. Also ist rs Teiler von ls mit grad(ls) = grad(rs). Also stimmen die Polynome bis auf einen skalaren Faktor überein. Da die beide Polynome zudem monisch sind, sind sie identisch. 8. Unter welcher notwendigen und hinreichenden Bedingung in m gilt T Φ:F (b) = 0 für alle b F? 62
63 Vermutung T Φ:F (b) = 0 für alle b F q m Sei q Teiler von m, also etwa m = vq für v N. Grundsätzlich gilt b qw = b für jedes b F und jedes w N, weil in F ja O(b) = O (b) ein Teiler von F = q 1 ist, d.h. l O(b) = q 1 für ein l N, so daß aus b qw = b q qw 1 = ( b b q 1) q w 1 = ( ) b (b O(b) q w 1 ( ) ) l = b 1 l q w 1 = b q w 1 per Induktion die Behauptung folgt. Weiter gilt dann T Φ:F (b) = mb = (vq)b = v(qb) = 0, weil diesmal in (F, +) eben O(b) = O + (b) ein Teiler von F = q ist, d.h. l + O(b) = q für ein l + N, so daß v(qb) = v(l + O(b)b) = (vl + )(O(b)b) = (vl + )0 = 0 folgt. Sei umgekehrt T Φ:F (b) = 0 für alle b F. 9. Sei F = GF 2 und sei Φ = GF(2 2 ) = F [ξ]/m(ξ) mit m(ξ) = ξ 4 + ξ + 1. Für welche β Φ gilt T Φ:F (β) = x + x 2 + x 4 + x 8 = 1? β 0 1 x x + 1 x 2 x x 2 + x x 2 + x + 1 β x 2 x x + 1 x x 2 + x + 1 x 2 + x β x + 1 x x x 2 x 2 + x x 2 + x + 1 β x x 2 x x + 1 x 2 + x + 1 x 2 + x T Φ:F (β) Wegen Nr.5 muß T Φ:F (β) = 1 für die übrigen β gelten vgl. Tabellenrest. β x 3 x x 3 + x x 3 + x + 1 x 3 + x 2 x 3 + x x 3 + x 2 + x x 3 + x 2 + x + 1 β 2 x 3 + x 2 x 3 + x x 3 x x 3 + x 2 + x + 1 x 3 + x 2 + x x 3 + x + 1 x 3 + x β 4 x 3 + x 2 + x + 1 x 3 + x 2 + x x 3 + x 2 x 3 + x x 3 + x x 3 + x + 1 x x 3 β 8 x 3 + x x 3 + x + 1 x 3 + x 2 + x + 1 x 3 + x 2 + x x 3 x x 3 + x x 3 + x 2 TΦ:F (β) Problem 3.32 on p. 83 to subsection 3.6 (linearisierte Polynome) Sei F = GF q und Φ = GF(q n ). Ein bzgl. F linearisiertes Polynom ist ein Polynom a(x) über Φ der Form a(x) = t i=0 a ix qi für t N o. 1. Sei a ein bzgl. F linearisiertes Polynom. Zeige: die Abbildung A : Φ Φ mit A(x) = a(x) ist linear über F. Wegen Proposition 3.11 auf S. 40 gilt A(x + y) = t i=0 a i(x + y) qi = t i=0 a ) i( x q i + y qi t = i=0 a ix qi + t i=0 a iy qi = A(x) + A(y) für x, y Φ. Weiter gilt wegen Proposition 3.1 auf S. 34 A(cx) = t i=0 a i(cx) qi = t i=0 a ic qi x qi = t i=0 a icx qi = c t i=0 a ix qi = c A(x) für jedes c F. 2. Zeige durch Abzählen, daß jede lineare Transformation A : Φ Φ als Abbildung x a(x) für ein linearisiertes Polynom a mit grad(a) q n 1 dargestellt werden kann. Ein linearisiertes Polynom a mit grad(a) q n 1 hat n Koeffizienten in Φ. Es gibt also (q n ) n = q n2 verschiedene (Identitätssatz) derartige linearisierte Polynome, die q n2 verschiedene über F lineare Transformationen A : Φ Φ spezifizieren. Nun ist eine lineare Transformation A : Φ Φ eindeutig durch ihre Werte auf den n Vektoren einer Basis von Φ bestimmt. Es gibt also (q n ) n = q n2 derartige lineare Transformationen, die offensichtlich alle durch linearisierte Polynome erzeugt werden. 63
64 3. Sei a ein linearisiertes Polynom von Grad q t mit 0 t < n und Ω = (a 1, a 2,..., a n ) eine Basis von Φ über F. Sei A eine Matrix-Darstellung der Abbildung A : Φ Φ mit A(x) = a(x), d.h. A(u) = A(Ωu) = ΩAu. Zeige rang(a) n t. Hinweis: Bestimme eine obere Schranke für die Größe des rechten Kerns von A. Problem 3.33 on p. 84 to subsection 3.6 Sei F = GF q und Φ = GF(q m ) und β 1, β 2,..., β m Φ sowie B = ( ) β qi m 1,m j i=0,j=1. Zeige: B ist nicht singulär genau dann, wenn β 1, β 2,..., β m l.u. über F sind. Hinweis: : (a o, a 1,..., a m 1 )B = 0 β 1, β 2,..., β m sind Wurzeln des Polynoms a(x) = m 1 i=o a ix qi. Zeige mit Problem 3.32, daß mit β 1, β 2,..., β m auch alle Linearkombinationen Wurzeln von a sind. Also a(x) = 0, falls β 1, β 2,..., β m l.u. über F sind. : Sei (c 1, c 2,..., c m ) F m. Zeige m j=1 c jβ j = 0 m j=1 c jβ qi j = 0 für jedes i N o. : Angenommen, eine Linearkombination der Zeilen von B liefert den Zeilen- Vektor 0, d.h. (a o, a 1,..., a m 1 )B = 0. Dann ist a(x) = m 1 i=o a ix qi ein linearisiertes Polynom mit Wurzeln β 1, β 2,..., β m. Wegen Problem 3.32 Nr.2 gilt a( c i β i ) = c i a(β i ) = 0. Wenn nun β 1, β 2,..., β m l.u. sind, so folgt a(x) = 0 auf ganz Φ, d.h. (a o, a 1,..., a m 1 ) = 0, die Zeilen von B sind l.u. und B ist nicht singulär. : Angenommen, eine Linearkombination m j=1 c jβ j von β 1, β 2,..., β m verschwindet. Da die c i F gilt mit Proposition 3.1 auf S. 34 c qi = c. Mit Proposition 3.11 auf S. 40 folgt 0 = 0 qi = ( m j=1 c ) q i m jβ j = j=1 (c jβ j ) qi = m j=1 c jβ qi j für alle i N o, insbesondere für i = 0, 1,..., m 1. Da B nicht singulär ist, kann eine Linearkombination B(c 1, c 2,..., c m ) = 0 der Spalten von B nur dann verschwinden, wenn (c 1, c 2,..., c m ) = 0. Also sind β 1, β 2,..., β m l.u. Problem 3.34 on p. 84 to subsection 3.6 Sei F = GF q und U linearer Unterraum von Φ = GF(q n ) über F. Zeige, daß a(x) = γ U (x γ) ein bzgl. F linearisiertes Polynom ist. Hinweis: Sei β 1, β 2,..., β m eine Basis von U über F. Zeige mit Problem 3.33, daß das System m linearer Gleichungen β qm j + m 1 i=o a iβ qi j = 0 für j = 1, 2,..., m genau eine Lösung (a o, a 1,..., a m 1 ) Φ m hat. Zeige a(x) = x qm + m 1 i=o a ix qi. Die β 1, β 2,..., β m sind l.u. Also ist B = ( ) β qi m 1,m j laut Problem 3.33 nicht i=0,j=1 singulär, so daß (a o, a 1,..., a m 1 )B = (β qm 1, βqm 2,..., βqm m ) genau eine Lösung hat. Einerseits hat a laut Konstruktion den Grad q n und verschwindet auf ganz U, d.h. a hat genau q n Nullstellen. Andererseits hat das Polynom b(x) = x qm + m 1 i=o a ix qi ebenfalls den Grad q n und verschwindet laut Konstruktion in jedem Basis-Vektor. Wie in Problem 3.33 verschwindet b zudem in jeder Linearkombination der Basis-Vektoren. Damit haben a und b denselben Grad und dieselben Nullstellen, so daß sie übereinstimmen. 64
65 3.8.7 Problem 3.35 on p. 85 to subsection 3.6 (Duale Basis) Sei F = GF q und Φ = GF(q n ). Sei Ω = (β 1, β 2,..., β n ) eine Basis von Φ über F. Die zu Ω duale Basis (λ 1, λ 2,..., λ n ) über F ist eine Basis von Φ über F mit T Φ:F (λ i β j ) = δ i,j für 1 i, j n. 1. Zeige: Eine duale Basis existiert und ist eindeutig. Hinweis: Zeige, daß das System von n linearen Gleichungen n j=1 λ jβ qi j = δ i,0 für 0 i < n eine eindeutige Lösung (λ 1, λ 2,..., λ n ) hat und daß die Matrix Λ = ( ) λ qj i Rechts-Inverse und damit auch i=1,2,...,n,j=0,1,...,n 1 Links-Inverse von B = ( ) β qi j i=0,1,...,n 1,j=1,2,...,n ist. Erstens sind die Basis-Vektoren β 1, β 2,..., β n l.u. Mit Problem 3.33 ist damit die Koeffizienten-Matrix des Systems n j=1 λ jβ qi j = δ i,0 für 0 i < n von n linearen Gleichungen nicht singulär. Also ist das Gleichungssystem eindeutig lösbar. Zweitens gilt (BΛ) i,j = ( n ) k=1 βqi k λqj k =? i,j Aus BΛ = I = ΛB folgt drittens T Φ:F (λ i β j ) = n 1 k=0 (λ iβ j ) qk = δ i,j = n 1 i β qk j = δ i,j. k=0 λqk 2. Sei γ Φ und u = (u 1, u 2,..., u n ) F n mit γ = n i=1 u iβ i = Ωu. Zeige u i = T Φ:F (γλ i ) für i = 1, 2,..., n. Wegen der Linearität von T Φ:F gilt T Φ:F (γλ i ) = T Φ:F ( λi n j=1 u jβ j ) = T Φ:F ( n j=1 u jλ i β j ) = n j=1 u j T Φ:F ( λi β j ) = n j=1 u jδ i,j = u i Problem 3.36 on p. 85 to subsection 3.6 (additive Charaktere) Sei F = GF p und Φ = GF(p m ) für primes p. Ein additiver Charakter von Φ ist eine Abbildung 0 χ : Φ C mit χ(β + γ) = χ(β)χ(γ) für alle β, γ Φ. 1. Sei ω eine p-te Einheitswurzel in C, µ Φ und χ µ : Φ C mit χ µ (β) = ω T Φ:F (µβ) für alle β Φ definiert. Zeige: χ µ ist ein additiver Charakter. χ µ ist wohldefiniert, weil T Φ:F (µβ) F = ( GF p ) N o für alle µ, β Φ, vgl. Problem 3.31 Nr.2. Wegen χ(β+γ) = ω T Φ:F µ(β+γ) = ω T Φ:F (µβ)+t Φ:F (µγ) = ω T Φ:F (µβ) ω T Φ:F (µγ) = χ µ (β)χ µ (γ) ist χ µ ein additiver Charakter. 2. Zeige: χ(0) = 1 für jeden additiven Charakter χ von Φ. Aus χ(0) = χ(0 + 0) = χ(0)χ(0) und der Forderung χ 0 folgt χ(0) = χ sei additiver Charakter. Zeige: χ p (β) = 1 für alle β Φ. p mal { }} { F und Φ haben beide die Charakteristik p, d.h. p1 = = 0, so daß χ p (β) = χ(pβ) = χ(0) = 1 für alle β Φ folgt. 65
66 4. Sei Ω = (α 1, α 2,..., α m ) eine Basis von Φ über F und χ ein additiver Charakter von Φ. Zeige: χ(ωu) = m j=1 χuj (α j ) für alle Spalten-Vektoren u = (u 1, u 2,..., u m ) F m. Ein additiver Charakter ist also durch seine Werte in den Vektoren einer Basis vollständig bestimmt. χ(ωu) = χ ( m j=1 u ) m jα j = j=1 χ(u jα j ) = m j=1 χuj (α j ) 5. Sei ω C eine p-te Einheitswurzel, χ ein additiver Charakter von Φ und Ω = (α 1,..., α m ) eine Basis von Φ über F. Zeige: es gibt einen Zeilen- Vektor v F m mit χ(ωu) = ω vu für alle Spaltenvektoren u F m. Wegen Nr.3 ist χ(α j ) für jedes j = 1, 2,..., m eine p-te Einheitswurzel. Die zyklische Gruppe der p-ten Einheitswurzeln werde von ω erzeugt. Es gibt also v j N mit χ(α j ) = ω vj für j = 1, 2,..., m. Mit Nr.4 folgt χ(ωu) = m j=1 χuj (α j ) = m j=1 ωvjuj = ω vu für alle u F m. 6. Zeige: die Abbildungen χ µ aus Nr.1 umfassen alle additiven Charaktere von Φ. Hinweis: Nr.3 und Nr.4 von Problem 3.31 Da nach Nr.4 ein additiver Charakter vollständig durch seine Werte auf den m Vektoren einer Basis von Φ bestimmt ist und die Werte p-te Einheitswurzeln sind, gibt es genau p m additive Charaktere. Nach Nr.1 ist χ µ für jedes der p m verschiedenen µ Φ ein additiver Charakter, so daß alle additiven Charaktere als χ µ dargestellt werden können. 7. Zeige: die Menge der additiven Charaktere ist orthogonal, d.h. für beliebige µ 1, µ 2 Φ gilt β Φ χ µ 1 (β)χ µ 2 (β) = p m δ µ1,µ 2, wobei z die zu z konjugiert komplexe Zahl bezeichne. Folgere β Φ χ(β) = 0 für jedes χ χ o. Für µ 1 = µ = µ 2 gilt β Φ χ µ(β)χ µ(β) = β Φ χ µ(β) 2 = β Φ 1 = Φ = p m. Für µ 1 µ 2 gilt laut Nr.5 zunächst χ µ1 (Ωu) = ω v1u und χ µ2 (Ωu) = ω v2u für alle u F m mit v 1 v 2 und p-ter Einheitswurzel ω = e iϕ. Für v = (v 1,..., v m ) = v 1 v 2 0 gilt so β Φ χ µ 1 (β)χ µ 2 (β) = u F m ei(v1u)ϕ e i(v2u)ϕ = u F m ωvu = m u 1,...,u m F j=1 = ωvjuj m u 2,...,u m F u 1 F j=1 = m ( ) ωvjuj u 2,...,u m F j=2 ωvjuj u 1 F. ωv1u1 Falls v 1 0, so durchläuft mit u 1 F auch v 1 u 1 alle Elemente von F = GF p = {0, 1,..., p 1}, so daß u 1 F = p 1 ωv1u1 l=0 ωl = 1 ωp 1 ω = 0 folgt. Iterieren des Argumentes liefert die Behauptung. Sei speziell µ 2 = 0, d.h. χ µ2 (β) = χ o (β) = 1 für alle β Φ. Dann folgt β Φ χ(β) = β Φ χ(β)χ o(β) = 0 für jedes χ χ o. 8. Sei χ χ o additiver Charakter. Zeige: β Φ χ(β)χ (γβ) = p m δ γ,1 für jedes γ Φ. Der Fall γ = 1 ist in Nr.7 abgehandelt. Sei also γ 1. Mit χ ist auch χ (β) = χ(γβ) wegen χ (β 1 + β 2 ) = χ ( γ(β 1 + β 2 ) ) = χ(γβ 1 ) χ(γβ 2 ) = χ (β 1 ) χ (β 2 ) ein additiver Charakter. Mit Nr.7 und wegen χ χ folgt β Φ χ(β)χ (γβ) = β Φ χ(β)(χ ) (β) = 0. Problem 3.37 on p. 86 to subsection 3.6 Sei F = GF p und Φ = GF(p m ) für primes p. Sei T (x) das trace polynomial über Φ bzgl. F. Sei α ein primitives Element in Φ und ω eine p-te Einheitswurzel in 66
67 C. Betrachte die Folge x = (x i ) i No mit x i = ω T (αi). 1. Zeige p m 2 i=o x i = 1. Hinweis: Problem 3.36 Nr.7 Laut Problem 3.36 Nr.1 gilt x i = χ 1 (α i ). Primitivität von α impliziert Φ =< α >= {α i : i = 0, 1,..., p m 2}. Wegen Problem 3.36 Nr.7 gilt p m 2 i=o x i = p m 2 i=o χ 1 (α i ) = β Φ χ 1(β) = β Φ χ 1(β) 1 = Definiere die Autokorrelationsfunktion R x (τ) = p m 2 i=o x i x i+τ von x, wobei z die zu z{ konjugiert komplexe Zahl bezeichne. p Zeige R x (τ)= m 1 falls τ = 0 1 falls τ 0 =pm δ τ,0 1. Hinweis: Problem 3.36 Nr.7 Wie in Nr.1 gilt x i = χ 1 (α i ) und x i+τ = χ 1 (α i+τ ) = χ 1 (γα i ) mit γ = α τ. Also gilt R x (τ) = p m 2 i=o x i x i+τ = p m 2 i=o χ 1 (α i )χ 1(γα i ) = β Φ χ 1(β)χ 1(γβ) = β Φ χ 1(β)χ 1(γβ) χ 1 (0)χ 1(0) = p m δ γ,1 1 wegen Problem 3.36 Nr.7. Problem 3.38 on p. 87 to subsection 3.7 Seien a, b F [x] und c F. Für die formale Ableitung a (x) = ( n i=o a ix i) = n i=1 i a ix i 1 = n 1 j=o (j+1)a j+1x j zeige Linearität, Produkt- und Ketten-Regel: 1. ( a(x) + b(x) ) = a (x) + b (x) ( ) ( ) a(x) + b(x) = i No (ai + bi)xi = n i N i (ai + bi)xi 1 = n i=1 i aixi 1 + n i=1 i bixi 1 = a (x) + b (x) wenn man a i = 0 für alle i > grad(a) und b j = 0 für j > grad(b) alle setzt. 2. ( c a(x) ) = c a (x) ( c a(x) ) = ( n i=o c a ix i) = n i=1 i c a ix i 1 = c n i N i a ix i 1 = c a (x) 3. ( a(x) b(x) ) = a (x) b(x) + a(x) b (x) ( ( ( )( ) a(x) b(x)) ) ( ) = a ix i b ix i = x k a ib j i N o i N o k N o i+j=k = k x k 1 a ib j = (l + 1)x l a ib j k N i+j=k l N o i+j=l+1 = (j+1)a j+1b i + a i(j+1)b j+1 k N o x k j+i=k = a (x) b(x) + a(x) b (x) k N o x k i+j=k Insbesondere gilt ( a n (x) ) = na n 1 (x) a (x), weil per Induktion in n eben (a 1 ) = a und ( a n) = ( a a n 1 ) = a a n 1 + a(n 1)a n 2 a = n a n 1 a. 4. ( a ( b(x) )) ( = a b(x) ) b (x) Sei a(x) = n i=o a ix i. Mit Nr.3 gilt ( a ( b(x) )) n i=1 a iib i 1 (x)b (x) = a ( b(x) ) b (x). = ( n i=o a ib i (x) ) = 67
68 Problem 3.39 on p. 87 to subsection 3.7 Sei a F [x] und sei β Element eines Erweiterungskörpers von F. 1. Zeige: β ist mehrfache Wurzel von a a(β) = a (β) = 0 : β ist mehrfache Wurzel von a, d.h. a(x) = (x β) m b(x) für b F [x] und m 2. Dann folgt a(β) = 0 und a (x) = m(x β) m 1 b(x)+(x β) m b (x) = (x β) m 1( m b(x) + (x β)b (x) ) mit a (β) = 0. : Aus a(β) = 0 folgt mit Proposition 3.5 auf S. 38 a(x) = (x β)b(x) und daher a (x) = b(x) + (x β)b (x). Aus a (β) = 0 und daher b(β) = 0 folgt ebenso b(x) = (x β)c(x) und daher a(x) = (x β) 2 c(x), so daß β eine Wurzel von a mit Multiplizität mindestens 2 ist. 2. Zeige anhand eines Beispiels, daß es Polynome a mit Wurzel β mit Multiplizität kleiner als 3 gibt, für die dennoch a(β) = a (β) = a (β) = 0 gilt. Hinweis: verwende F mit Charakteristik 2. Sei F = GF 2 und Φ = GF (2 3 ) = GF 2 [x]/(x 3 + x + 1). Das Polynom a(x) = x 3 + x 2 = x 2 (x + 1) hat in 0 eine doppelte Nullstelle mit a(0) = 0, während a (x) = x 2 mit a (0) = 0 und a (x) = 0 mit a (0) = 0 gilt. Problem 3.40 on p. 87 to subsection 3.7 Sei a(x) = n i=o a ix i F [x]. Die l-te Hasse 17 -Ableitung, auch die l-te Hyper- Ableitung ist durch a [l] (x) = n ( i i=l l) ai x i l F [x] definiert. 0. Es gilt offensichtlich a [0] (x) = n ( i i=o 0) ai x i 0 = a(x) sowie (x β) [l] (x) = ) ai x i l mit a o = β und a 1 = 1, so daß (x β) [0] (x) = x β, 1 ( i i=l l (x β) [1] (x) = 1 und (x β) [l] (x) = 0 für l > 1 folgt. 1. Verifiziere a (x) = a [1] (x) Für l = 1 gilt a [1] (x) = n ( i ) i=1 1 ai x i 1 = n i=1 i a ix i 1 = a (x). 2. Zeige Linearität und Produkt-Regel für die Hasse-Ableitung: (a) ( a(x) + b(x) ) [l] (x) = a [l] (x) + b [l] (x) ( [l](x) a(x)+b(x)) = n ( i ) i=l (ai +b l i )x i l = n ( i ) i=l ai x l i l + n ( i i=l l) bi x i l = a [l] (x) + b [l] (x), solange beide Polynome vom Grad n sind. Sonst setze n = max{deg a, deg b} und a i = 0 für i > deg a sowie b j = 0 für j > deg b. (b) (c a) [l] (x) = c a [l] (x) (c a) [l] (x) = n ( i ) i=l l c ai x i l = c n ( i i=l l) ai x i l = c a [l] (x) (c) ( a(x) b(x) ) [l] (x) = l m=o a[m] (x) b [l m] (x) 17 Helmut Hasse ( ) www-history.mcs.st-andrews.ac.uk/biographies/hasse.html 68
69 Sei c(x) = a(x)b(x) = d k=o c kx k mit Grad d = deg a + deg b und Koeffizienten c k = i+j=k a ib j. Dann gilt lm=o a[m] (x) b [l m] (x) = ( deg a ( i m) ai x i m)( deg b ( j ) bj x j l+m) = l m=o = l m=o i=o deg a i=o deg b ( i j j=o m)( ) j=o l m ai b j x i+j l l m = l d ( i j m=o k=l xk l i+j=k m)( l m) ai b j = d k=l xk l i+j=k a l ( i )( j ) ib j m=o m l m = d k=l xk l i+j=k a l ( i )( j ) ib j m=o m l m = d k=l xk l i+j=k a ( i+j ) d ib j l = k=l xk l( ) k l i+j=k a ib j = d ( k k=l l) ck x k l = ( a(x) b(x) ) [l] (x). 3. Zeige ( (x β) i) [l] ( = i ) l (x β) i l für festes β, i N o und ( i l) := 0 falls i < l. Per Induktion in i gilt zunächst ( (x β) o) [0] ( = 0 ) 0 1x o = ( 0 0) (x β) o und wegen Nr.0 und Nr.2 c) eben ( (x β) i+1) [l] = ( (x β)(x β) i) [l] = l m=o (x β)[m]( (x β) i) [l m] ( ) = (x β) (x β) i [l] ( ) + (x β) i [l 1] = (x β) ( ) i l (x β) i l + ( ) i l 1 (x β) i l+1 = (( ) ( i l + i l 1)) (x β) i+1 l = ) (x β) i+1 l. ( i+1 l 4. Sei b(x) = n i=o b ix i F [x] und β Element eines Erweiterungsgkörpers von F. Zeige ( b(x β) ) [l] (x) = n i=l ( i l) bi (x β) i l = b [l] (x β). Die erste Gleichung entsteht aus der Definition der l-ten Hasse-Ableitung, indem man die Unbekannte x durch x β ersetzt. Die zweite Gleichung ist gerade die Definition der l-ten Hasse-Ableitung, ausgewertet in x β. Mit a(x) = b(x β) = n i=o b i(x β) i = n i=o b i ( i i j=o j) x j ( β) i j = n j=o a jx j und a j = n ( i i=j j ) bi ( β) i j gilt ( b(x β) ) [l] = ( a(x) ) [l] und ( ) [l](x) n ( a(x) = j j=l l) aj x j l = n ( j n ( i ) j=l l) i=j j bi ( β) i j x j l = n i=l b i ( j i ) i j=l l)( j ( β) i j x j l = n i=l b i l ( k+l )( i ) i k=o l k+l ( β) i k+l x k = n i=l b i ) i l ) i( l k=o ( β) i+l k x k = n ( i i=l l) bi (x β) i l. ( i l k 5. Sei β Element eines Erweiterungsgkörpers von F. Zeige: β ist eine Wurzel von a mit der Multiplizität m genau dann, wenn m das kleinste l mit a [l] (β) 0 ist. Hinweis: definiere b(x) = a(x + β) und verwende Nr.4 sowie Problem 3.16 auf S. 53. Laut Problem 3.16 gilt: β ist eine Wurzel von a mit der Multiplizität m 0 ist eine Wurzel von b(x) = a(x + β) mit der Multiplizität m b(x) = deg b i=o b ix i = deg b i=m b ix i mit b m 0 b [l] (x) x=0 = deg b ( i ) i=l l bi x i l = b l = 0 für l = 0, 1,... m 1 und b m 0 ( ) x=0 [l](x) a(x) = ( b(x β) ) [l] x=0 (x) = b x=β [l] (x) x=0 = b l = 0 für l = 0, 1,... m 1 und b m 0 mit Nr.4. Problem 3.41 on p. 88 to subsection 3.7 Sei 0 α F mit multiplikativer Ordnung n. 69
70 1. Zeige: F ist ein Zerfällungskörper des Polynoms a(x) = x n 1 über F. Bestimme alle Wurzeln von a inkl. ihrer Multiplizität. Wegen a(α i ) = (α i ) n 1 = (α n ) i 1 = 1 i 1 = 0 hat a genau n einfache Nullstellen α i, i = 0, 1,..., n Zeige n 1 i=1 (x α)i = n 1 i=0 xi und folgere n 1 i=1 (1 αi ) = n. Hinweis: (1 x)(1 + x x n 1 ) = x n 1 Zum einen ist n 1 i=1 (x α)i ein Polynom (n 1)-ten Grades mit den n 1 verschiedenen (einfachen) Nullstellen α, α 2,..., α n 1, zum anderen ist n 1 i=0 xi = (1 x n )/(1 x) ein Polynom (n 1)-ten Grades mit denselben n 1 verschiedenen (einfachen) Nullstellen α, α 2,..., α n 1. Also sind die beiden Polynome identisch Problem 3.42 on p. 88 to subsection 3.8 (quadratische Polynome über Körpern F mit c(f ) = 2) Sei F = GF 2 und Φ = GF(2 m ). Für β Φ spezifiziere P β (x) = x 2 + x + β. T Φ:F (x) = x + x 2 + x x 2m 1 ist das trace polynomial über Φ bzgl. F. 1. Kann P β (x) mehrfache Nullstellen in Φ haben? Wegen Theorem 3.7 auf S. 39 hat P β höchstens zwei Nullstellen. Hätte P β also eine doppelte Nullstelle γ, müßte P β (x) = (x γ) 2 im Widerspruch zu P β (x) = x 2 + γ 2 x 2 + x + β gelten. 2. Zeige: P β (x) hat Nullstellen in Φ nur dann, wenn T Φ:F (β) = 0. Lösungshinweis: für γ Φ berechne T Φ:F ( Pβ (γ) ). Falls γ eine Nullstelle von P β ist, gilt 0 = T Φ:F (0) = T Φ:F (P β (γ)) = T Φ:F (γ 2 ) + T Φ:F (γ) + T Φ:F (β) = T Φ:F (γ) + T Φ:F (γ) + T Φ:F (β) = T Φ:F (β) wegen Problem 3.31, Nr Zeige: Wenn P o (x) in allen x Φ ausgewertet wird, dann nimmt P o jeden Wert γ Φ höchstens zweimal an. Was gilt im Übrigen für T Φ:F (γ) mit P o (β) = γ? Wegen P o (x) = γ P γ (x) = 0 P γ (x) = 0 sind die Argumente x mit P o (x) = γ Nullstellen von P γ. Davon gibt es laut Theorem 3.7 auf S. 39 höchstens zwei. T Φ:F (γ) = T Φ:F (P o (β)) = T Φ:F (β 2 ) + T Φ:F (β) = T Φ:F (β) + T Φ:F (β) = 0 gilt wegen Problem 3.31, Nr Zeige: Wenn T Φ:F (β) = 0, dann hat P β zwei verschiedene Nullstellen. Lösungshinweis: verwende Nr.3 5. Sei α Φ \ {0}. Zeige: Das Polynom x 2 + αx + β ist irreduzibel über Φ genau dann, wenn T Φ:F (β/α 2 ) = 1. Wieviele Nullstellen hat speziell x 2 + β? Lösungshinweis: x 2 + αx + β = α 2 P β/α 2(x/α) Zunächst gilt x 2 +αx+β = α 2( (x/α) 2 +(x/α)+β/α 2) = α 2 P β/α 2(x/α). 70
71 Laut Corollory 3.13 auf S. 41 ist x x 2 ein Automorphismus von Φ und damit insbesondere eine lineare Abbildung. Also ist auch x x 2 + αx linear, so daß die Gleichung x 2 + αx = β in einen Satz von m linearen Gleichungen überführt werden kann, deren Lösungen falls existent Lösungen der quadratischen Gleichung x 2 + αx + β = 0 sind. Problem 3.43 on p. 89 to subsection 3.8 Verifiziere, daß der in Fig 3.1 auf S. 43 dargestellte Algorithmus einen Fehler detektiert und somit das Symbol ɛ ausgibt, wenn das Syndrom s 1 = 0 und s 3 0 erfüllt. Der Algorithmus unterscheidet zunächst die drei Fälle s 1 = 0 = s 3 (kein Fehler) s 1 0, s 3 0 und s 3 1 = s 3 (ein Fehler) s 1 0, s 3 0 und s 3 1 s 3 (zwei Fehler) Also bleibt der Fall s 1 = 0 s 3, in dem der Algorithmus ɛ ausgibt. 71
72 4 Schranken Welche Schranken gibt es für die beiden Kenngrößen minimaler Hamming- Abstand und Code-Rate und wie hängen beide Kenngrößen zusammen? und was passiert für n? 4.1 Singleton-Schranke Satz (Singleton 18 )-Schranke) Für jeden (n, M, d)-code C F n über einem Alphabet F mit q = F Zeichen gilt d n + 1 log q M. Bew. Sei l = log q M 1. Dann gilt q l < M = C. Also existieren mindestens zwei Code-Wörter, die in etwa ihren ersten l Koordinaten übereinstimmen. Damit ist d n l und so d n + 1 log q M. Bem. Für lineare [n, k, d]-codes gilt also d n k + 1. Mit Theorem2.2 auf S. 16 ergibt sich diese Schranke hier ebenso aus der Paritätswie aus der Generator-Matrix: jede Paritätsmatrix H hat den Rang n k und damit n k +1 linear abhängige Spalten. Damit sind aber höchstens jede Menge von n k Spalten linear unabhängig und damit bestenfalls d 1 = n + k. Jeder lineare [n, k, d]-code hat eine systematische Generator-Matrix G = (I A). Das Hamming-Gewicht jeder Zeile von G und damit das eines jeden Code- Wortes ist also maximal n k + 1, so daß d n k + 1 folgt. Def. Ein (n, M, d)-code C F n über einem Alphabet F mit q = F heißt maximum distance separable oder MDS-Code, wenn d = n + 1 log q M. Z.B. Beispiele für MDS-Codes sind der [n, n, 1]-Code C = F n, der [n, n 1, 2]- parity Code und der [n, 1, n]-wiederholungscode. Der [7, 4, 3] Hamming-Code dagegen ist nicht MDS. Def. Seien α 1, α 2,..., α n F = GF q paarweise verschieden. Der (normalisierte, verallgemeinerte) Reed 19 -Solomon 20 -Code über F ist ein linearer [n, k, d] α 1 α 2 α n Code 21 mit Paritätsmatrix H RS = α1 2 α2 2 αn α1 n k 1 α2 n k 1 αn n k 1 Proposition 4.2 Jeder [n, k, d]-reed-solomon-code über GF q ist ein MDS- Code, d.h. d = n + 1 k. 18 Richard Collom Singleton (1964): Maximum distance q-nary codes; IEEE Trans. Inform. Theory Irving S. Reed (1923-) 20 Gustave Solomon ( ) jewish-american-computer-scientists/gustave-solomon.html 21 Irving S. Reed, Gustav Solomon: Polynomial codes over certain finite fields; SIAM Journal on Applied Mathematics, 8(2): ,
73 Bew. Jede (n k) (n k)-untermatrix B von H RS ist eine Vandermonde 22 -Matrix der Form B = β1 2 β2 2 βn k 2 mit paarweise β 1 β 2 β n... β1 n k 1 β2 n k 1 β n k 1 n k verschiedenen β 1, β 2,..., β n k. Wegen det(b) = i<j (β j β i ) 0 ist jede solche Untermatrix nicht-singulär. Also ist jede Menge von n k Spalten von H RS linear unabhängig, so daß mit Theorem 2.2 auf S. 16 d n k + 1 folgt. 4.2 Kugelpackungsschranke Def. Sei F ein Alphabet mit F = q. Dann ist V q (n, t) = t i=0 ( n i) (q 1) i die Anzahl der Wörter in der Kugel vom Radius t um irgendein Wort in F n, auch das sogenannte Volumen solcher Kugeln, s. Problem 4.5 Satz (Kugelpackungsschranke) Für jeden (n, M, d)-code über F mit F = q gilt M V q (n, (d 1)/2 ) q n. Bew. Kugeln mit Radius t = (d 1)/2 um verschiedene Code-Wörter c C F n sind disjunkt. Ihre Vereinigung liegt in F n. Für M V q (n, (d 1)/2 ), die Summe der Volumina dieser Kugeln gilt also M V q (n, (d 1)/2 ) q n. Z.B. Für einen linearen [n, k, d]-code gilt V q (n, (d 1)/2 ) q n k und speziell ) 2 n k für q = 2. (d 1)/2 i=0 ( n i Def. Ein (n, M, d)-code über F mit F = q heißt perfekt genau dann, wenn M V q (n, (d 1)/2 ) = q n gilt. z.h. Die minimale Distanz perfekter Codes ist ungerade. s. Problem 4.6 Z.B. Der [n, 1, n]-wiederholungscode über GF 2 für ungerades n ist perfekt, weil V 2 (n, (n 1)/2) = (n 1)/2 ( n ) i=0 i = 1 n ( n 2 i=0 i) = 2 n 1 gilt. Z.B. Der [n, n m, 3]-Hamming-Code über F = GF q mit n = (q m 1)/(q 1) ist perfekt, weil aus V q (n, 1) = 1 + n(q 1) = 1 + (q m 1) = q m = q n k eben M V q (n, 1) = q n m q m = q n folgt. 4.3 Die Gilbert-Varshamov-Schranke Die Singleton- und die Kugelpackungsschranke sind notwendige Bedingungen für Codes, die Gilbert-Varshamov-Schranke dagegen stellt eine hinreichende Bedingung dar. Satz (Gilbert 23 -Varshamov 24 -Schranke) Sei F = GF q und seien 0 < n, k, d N derart, daß V q (n 1, d 2) = d 2 ( n 1 ) i=0 i (q 1) i < q n k. Dann existiert ein [n, k]-code über F, dessen Minimal-Distanz mindestens d beträgt. 22 A.T. Vandermonde ( ) www-history.mcs.st-andrews.ac.uk/biographies/vandermonde.html 23 Edgar Nelson Gilbert (1923-): A comparison of signalling alphabets, Bell System Technical Journal 31, (1952) 24 R. R. Varshamov: Estimate of the number of signals in error correcting codes, Dokl. Acad. Nauk SSSR 117, , (1957) 73
74 Bew. Man konstruiert schrittweise eine (n k) n Paritätsmatrix H über F, in der beliebige d 1 Spalten linear unabhängig sind, indem man mit der (n k) (n k) Einheitsmatrix startet und dann in jedem Schritt eine Spalte hinzufügt. Angenommen, in diesem Prozess seien schon l 1 Spalten ausgewählt, d.h. H = (h 1, h 1,..., h l 1 ). Der nächste Spalten-Vektor h l ist so zu wählen, daß er nicht als Linearkombination einer jeden Menge von d 2 Spalten von H dargestellt werden kann. Gleichbedeutend sind genau die Spalten der Form (h 1, h 1,..., h l 1 )x für ein x F l 1 mit Hamming-Gewicht w(x) d 2 auszulassen. Das sind gerade V q (l 1, d 2) viele. Um solche Spalten in den einzelnen Schritten vermeiden zu können, muß V q (l 1, d 2) < q n k für l n gelten, was die Voraussetzung sichert. 4.4 MacWilliams-Identitäten 4.5 Asymptotische Schranken Def. Ein (n, M, d)-code C über F mit F = q. Dann heißt δ = d n relative minimale Distanz von C und R = 1 n log q M heißt Code-Rate von C. Asmptotische Schranken sind Schranken für n. Schranken Probleme Problem 4.1 on p. 119 to subsection 4.1 Sei C ein linearer [n, k, d] Code über F mit Generator-Matrix G. 1. Zeige: C ist MDS jede Menge von k Spalten einer Generator-Matrix von C ist linear unabhängig. Hinweis: Problem 2.8 auf S. 22 C ist MDS d = n k + 1 mit Problem 2.8 auf S. 22 hat jede k (n d + 1) = k k-untermatrix von G den Rang k jede Menge von k Spalten von G ist l.u. 74
75 2. Sei k < n. Zeige: C ist MDS der duale [n, n k, d ] Code C von C ist MDS. Nach Nr.1 ist C MDS jede Menge von k Spalten einer Generator- Matrix G von C ist l.u. Nun ist G wegen Problem 2.15 auf S. 26 zugleich Paritätsmatrix von C. Wegen Theorem 2.2 auf S. 16 gilt d = k + 1 = n (n k) + 1 = n k + 1, also ist C MDS Problem 4.2 on p. 119 to subsection 4.1 Sei C ein linearer [n, k, d] Code über F mit systematischer Generator-Matrix G = (I k A) mit k (n k)-matrix A. Zeige: C ist MDS genau dann, wenn jede quadratische Unter-Matrix von A nicht singulär ist. Mit Problem 4.1 gilt C ist MDS je k Spalten von G sind l.u. jede k k Untermatrix B von G ist nicht singulär. Dann ist erst recht jede quadratische Untermatrix von A nicht singulär. Problem 4.5 on p. 120 to subsection 4.2 Sei n N und F ein Alphabet mit F = q. Sei S = {y F n : d(x, y) t} F n die Kugel mit Radius t um ein x F n. Zeige: V q (n, t) = S = t ( n i=0 i) (q 1) i. Lösungshinweis: wieviele Wörter in F n unterscheiden sich von x in genau den Koordinaten, indiziert duch J für eine gegebene Teilmenge J {1, 2,..., n}? S = {y F n : d(x, y) t} = t i=0 S i mit S i = {y F n : d(x, y) = i}. Nun gilt S i = ( ) n i (q 1) i, weil sich ein y S i in genau ( n i) verschiedenen Index- Mengen J {1, 2,..., n} mit J = i von x S o unterscheiden kann. Und für jede Position j J gibt es genau q 1 Möglichkeiten für y, sich von x zu unterscheiden. Übrigens macht das Argument keinen Gebrauch vom speziellen x. Daher ist das Volumen V q (n, t) von S unabhängig vom Mittelpunkt x. Problem 4.6 on p. 120 to subsection 4.2 Zeige: die minimale Distanz eines perfekten Codes ist ungerade. Für einen perfekten (n, M, d)-code C mit d = d(c) = min ci C d(c 1, c 2 ) gilt M V q (n, (d 1)/2 ) = q n. Die disjunkte Vereinigung der Kugeln mit Radius (d 1)/2 um Code-Wörter deckt also ganz F n ab. Das Minimum für d(c) werde in c i C angenommen, d.h. d(c 1, c 2 ) = d(c). Für J = {i : (c 1 ) i (c 2 ) i } gilt J = d(c). Angenommen, d = 2δ ist gerade. Dann gilt (d 1)/2 = δ 1. Außerdem läßt sich J = J 1 J 2 mit J = 2δ in zwei gleichgroße Teilmengen J 1 und J 2 (c 1 ) i falls i J 1 mit J i = δ zerlegen. Sei y F n durch (y) i = (c 2 ) i falls i J 2 ( ) (c 1 ) i == (c2 ) i falls i J spezifiziert. Dann gilt d(y, c i ) = δ. Außerdem liegt y in keiner Kugel S δ 1 (c) mit Radius δ 1 um ein Code-Wort c C. Für y S δ 1 (c o ) würde nämlich sonst d(c o, c 2 ) d(c o, y) + d(y, c 2 ) δ 1 + δ < d gelten. Insgesamt gilt 75
76 also y c C S δ 1(c), was den Widerspruch c C S δ 1(c) < F n = q n zur Perfektheit von C impliziert. Problem 4.8 on p. 121 to subsection 4.2 Sei C der [n, n m, 3] Hamming-Code über F = GF q mit n = qm 1 q 1. (Die Spalten einer m n-paritätsmatrix von C bestehen aus den Vektoren in F m \ {0}, deren führendes, nicht verschwindende Element 1 ist.) Für i = 0, 1,..., n sei W i = {c C : w(c) = i}. 1. Sei D der nearest codeword decoder für C. Sei c C mit w(c) = t. Bestimme in folgenden drei Fällen die Anzahl der Wörter y F n mit w(y) = i und D(y) = c. Hinweis: C ist perfekt mit d = 3, d.h. jedes y F n liegt in genau einer der disjunkten Kugeln um Code-Wörter c C mit Radius 1 = d 1 2. Zudem gilt D(y) = c d(y, c) = w(y c) 1. (a) i = t 1 w(y) = t 1 und d(y, c) = 1 bedeutet, daß y in genau einer der Koordinaten verschwindet, in denen c von Null verschieden ist. Also gilt {y F n : w(y) = t 1, D(y) = c} = t. (b) i = t + 1 w(y) = t + 1 und d(y, c) = 1 bedeutet, daß y in genau einer der Koordinaten von Null verschieden ist, in denen c verschwindet. Also gilt {y F n : w(y) = t + 1, D(y) = c} = (n t)(q 1). (c) i = t w(y) = t und d(y, c) 1 bedeutet, entweder d(y, c) = 0 mit y = c oder d(y, c) = 1. Im zweiten Fall ist y in genau einer der Koordinaten von Null und von c verschieden, in denen c nicht verschwindet. Also gilt {y F n : w(y) = t, D(y) = c} = 1 + t(q 2). ( ) 2. Zeige: (i + 1)W i+1 + i(q 2) + 1 W i + (n i + 1)(q 1)W i 1 = ( ) n i (q 1) i für 0 < i < n und W o = 1 und W 1 = 0. Das einzige Code-Wort vom Gewicht 0 ist 0, also W o = 1. Es gibt kein c C mit w(c) = 1, weil sonst d(c, 0) = w(c) = 1 < d = 3 gälte, also W( 1 = 0. Für 0 < i < n gilt mit Nr.1 allgemein n i) (q 1) i = {y F n : w(y) = i} = {y F n : w(y) = i, D(y) = c, w(c) = i + 1} {y F n : w(y) = i, D(y) = c, w(c) = i} {y F n : w(y) = i, D(y) = c, w(c) = i 1} = {y F n : w(y) = i, D(y) = c, w(c) = i + 1} + {y F n : w(y) = i, D(y) = c, w(c) = i} + {y F n : w(y) ( = i, D(y) ) = c, w(c) = i 1} = (i + 1)W i+1 + i(q 2) + 1 W i + (n i + 1)(q 1)W i 1 3. Zeige: W 3 = 1 6n(n 1)(q 1)2 ( Mit W o = 1 und W 1 = 0 gilt für i = 1 in Nr.2 eben 2W 2 +0+n(q 1)W o = n ) 1) (q 1), was W2 = 0 impliziert. Für i = 2 in Nr.2 folgt 3W = (q 1) 2, was W 3 = 1 6 n(n 1)(q 1)2 impliziert. ( n 2 76
77 4.5.2 Problem 4.13 on p. 123 to subsection 4.2 Sei C ein (n, M, d)-code über F mit F = q. Dann bezeichnet d(y, C grs ) = min{d(y, c} : c C} den Hamming-Abstand eines Wortes y F n von C. Sei r = max{d(y, C grs ) : y F n } der Überdeckungsradius, covering radius von C. 1. Bestimme den Überdeckungsradius des Wiederholungscodes und denjenigen des Hamming-Codes über F. Für den (n, q, n)-wiederholungscode C über F = {f 1,..., f q } gilt C = {(f,..., f) F n : f F }. Sei n > q und y f = (f 1,..., f q, f,..., f) F n. Dann ist d(y f, C) = q 1 maximal. Der Überdeckungsradius ist also r = q 1. Sei C der [n, n m, 3]-Hamming-Code über F mit n = (q m 1)/(q 1). Dann gilt r = 1 und wegen M V q (n, (d 1)/2 ) = q n m( 1 + n(q 1) ) = q n m q m = q n ist C perfekt. 2. Zeige: M V q (n, r) q n V q (n, r) ist Anzahl der Wörter in einer Kugel etwa um irgendein Code- Wort mit Überdeckungsradius r. Der Überdeckungsradius ist nun gerade so definiert, daß jedes y F n in einer Kugel um mindestens ein Code- Wort mit Überdeckungsradius r liegt, d.h. M solche Kugeln überdecken ganz F n, was M V q (n, r) q n impliziert. 3. Zeige: r (d 1)/2; Zeige: N o r = (d 1)/2 C ist perfekt. Angenommen r < (d 1)/2. Dann folgt aus der Kugelpackungsschranke M V q (n, r) < M V q (n, (d 1)/2 ) q n im Widerspruch zu Nr.2. : N o r = (d 1)/2 = (d 1)/2) impliziert q n M V q (n, r) = M V q (n, (d 1)/2) ) q n und damit die Perfektheit von C. : Ein perfekter (n, M, d) Code C hat laut Problem 4.6 ungerades d mit M V q (n, (d 1)/2) = q n. Also existiert zu jedem y F n ein c C mit d(y, C) d(y, c) (d 1)/2, was r (d 1)/2 impliziert. Zusammen mit r (d 1)/2 folgt r = (d 1)/2. 4. Zeige: für [n, k, d]-codes über F gilt r n k. Wegen M = q k und Nr.2 gilt V q (n, r) q n k 5. Sei C ein [n, k, d]-code über F. Zeige: r ist das Maximum der Gewichte der coset leaders von C in F. 6. Sei C ein linearer [n, k, d]-code über F = GF q und H eine (n k) n- Paritätsmatrix von C. Zeige: r ist die kleinste natürliche Zahl, so daß jeder Vektor in F n k als Linearkombination von r Spalten von H darstellbar ist. 7. Ein (n, M, d)-code heißt maximal, wenn Hinzufügen irgendeines neuen Code-Wortes zu C die minimale Distanz reduziert. Zeige: für maximales C gilt r < d. 8. Sei C ein linearer [n, k, d]-code über F und H eine (n k) n-paritätsmatrix von C. lengthening von C bedeutet, H eine weitere Spalte hinzuzufügen. 77
78 Zeige: wenn jedes lengthening zu d 1 linear abhängigen Spalten in H führt und damit die minimale Distanz von C unter d fällt, so gilt r < d 1. 78
79 5 Reed-Solomon-Codes u.ä. (Generalisierte) Reed-Solomon-Codes, grs-codes, sind weitverbreitet im Einsatz, weil sie maximum distance separabel, also MDS-Codes und weil sie als lineare Codes leicht zu kodieren sind. Daß grs-codes auch effizient zu dekodieren sind, werden Kapitel 6 und Kapitel 9 zeigen. 5.1 verallgemeinerte Reed-Solomon-Codes Definition Def. Sei F = GF q, seien die sogenannten code locators α 1,..., α n F \ {0} paarweise verschieden und die sogenannten Spalten-Multiplizierer v 1,..., v n F \ {0}. Ein verallgemeinerter Reed-Solomon-Code, grs ist ein linearer [n, k, d]- Code C mit Paritätsmatrix H grs = = α 1 α 2 α n α1 2 α2 2 αn 2. α n k 1 1 α n k αn n k 1 v 1 v 2 v n v 1α 1 v 2α 2 v nα n v 1α1 2 v 2α2 2 v nαn 2.. v 1α n k 1 1 v 2α n k 1 2 v nαn n k 1 diag(v 1,..., v n) Diese Paritätsmatrix H grs heißt kanonische Paritätsmatrix von C. Bem. Die code locators α 1,..., α n F \{0} sind paarweise verschieden. Wegen F = q muß also n < q gelten. z.h. Verschiedene code locators können denselben verallgemeinerten Reed- Solomon-Code erzeugen, siehe Problem 5.4. Satz Jeder grs-code ist MDS, d.h. d = n k + 1. Bew. z.h. zum Beweis s. Proposition 4.2 auf S. 72 und verallgemeinere. Proposition 5.2 Der zu einem [n, k] grs-code C grs duale Code C = {x F n : xg = 0} ist ein [n, n k] grs-code. Beide Codes können mit denselben code locators spezifiziert werden. Bew. Sei C grs ein [n, k] grs-code mit kanonischer Paritätsmatrix H grs. Spezifiziere die k n-generator-matrix α 1 α 2 α n G grs = α1 2 α2 2 αn 2 diag(v 1,..., v n)... α1 k 1 α2 k 1 αn k 1. 79
80 mit v j F. Ziel ist, die Existenz von geeigneten v j F mit G grsh grs = 0 zu beweisen. Dann erzeugt nämlich G grs einen zu C grs dualen grs-code CgRS mit denselben code locators und nur anderen Spalten-Multiplizierern. G grs H grs = 0 bedeutet, daß das Skalarprodukt n j=1 c jc j αi+l j der i-ten Zeile von G grs mit der l-ten Zeile von H grs für alle i = 0, 1,..., k 1 und l = 0, 1,..., n k 1 verschwindet. Der Exponent i+l von α j variiert zwischen 0 und n 2. Also gilt G grs H grs = 0 n j=1 c jc j αr j = 0 für alle r = 0, 1,..., n 2, d.h α 1 α 2 α n α1 2 α2 2 αn 2... α1 n 2 α2 n 2 αn n 2 v 1 v 2 diag(v 1,..., v n ). = 0 Die Lösungen (v 1, v 2,..., v n) dieses Systems linearer Gleichungen sind die nichtverschwindenden Code-Wörter eines [n, 1, n]-grs-codes über F. Diese Code- Wörter haben alle das Hamming-Gewicht n, d.h. alle v j 0, was noch zu zeigen war. v n Def. Ein grs-code mit n = q 1 heißt primitiv. Die code locators machen dann alle Elemente von F \ {0} aus. Ein grs-code, dessen Spalten-Multiplizierer alle 1 sind, heißt normalisiert. Ein grs-code mit v j = α j für alle j = 1, 2,..., n heißt grs-code im engeren Sinn. Wenn man zuläßt, daß genau einer der code locators verschwindet, heißt der entstehende grs-code einfach erweitert. Der längste solche Code hat die Code- Länge n = q und ist damit einfach erweitert und primitiv. code locators eines grs-code C im engeren Sinn dürfen nicht verschwinden, weil dann ein v j und damit die j-te Spalte der Paritätsmatrix verschwindet, was mit c = (δ i,j ) i C und eben w(c) = 1 eben d(c) = 1 zur Folge hätte. Z.B. Seien v 1,..., v n die Spalten-Multiplizierer eines primitiven (also n = q 1) grs-codes C über F = GF q. Verifiziere: der zu C duale Code C hat die Spalten-Multiplizierer α j /v j. Sei dazu α ein primitives Element von F. Ersetze v j = α j/v j im Beweis von Proposition 5.2 auf S. 79. Für jedes 0 r n 2 gilt dann n j=1 v jv j αr j = n j=1 αr+1 j = n j=1 α(j 1)(r+1) = αn(r+1) 1 α r+1 1 = 0 wegen α n = α q 1 = 0 laut Problem Speziell ist also der zu einem normalisierten, primitiven grs-code duale Code ein primitiver grs-code im engeren Sinn Polynomiale Darstellung von grs-codes Sei C ein [n, k, d]-grs-code mit Generator-Matrix G grs = α 1 α 2 α n α1 2 α2 2 αn 2... α1 k 1 α2 k 1 αn k 1 80 diag(v 1,..., v n)
81 Informationswörter u = (u o, u 1,..., u k 1 ) werden nun zu Code-Wörtern ug grs kodiert. Faßt man u F k als Polynom u(x) = u o +u 1 x+...+u k 1 x k 1 F k [x] auf, so läßt sich ug grs als ( v 1u(α 1 ),..., v nu(α n ) ) schreiben. Kodieren heißt also Auswerten von u(x) in den code locators und Skalieren der Werte mit den Spalten-Multiplizierern. Bem. Man sieht hier erneut, daß grs-codes MDS sind: ein u(x) F k [x] \ {0} hat höchstens k 1 verschiedene Nullstellen in F. Also hat ein beliebiges Code-Wort ug grs = ( v 1 u(α 1 ),..., v n u(α n ) ) höchstens k 1 verschwindende Elemente. Damit ist das minimale Gewicht der von Null verschiedenen Code- Wörter nicht kleiner als k 1, was mit Proposition 2.1 auf S. 14 gerade d n (k 1) impliziert. Sei d = 2t + 1 für ein t N und somit n = k + 2t. Die Aufgabe, ein y F n bei maximal t = (d 1)/2 Fehlern zu korrigieren, läßt sich so stellen: rekonstruiere u aus dem empfangenen, mit maximal t Fehlern behafteten Wort y = ( v 1 u(α 1 ),..., v n u(α n ) ). Falls t = 0, so entspricht dies dem klassischen Interpolationsproblem, (genau) ein Polynom in F k [x] aus k Daten-Punkten zu gewinnen. Für t > 0 gilt es, ein Polynom in F k [x] aus k + 2t Daten-Punkten zu rekonstruieren, wenn maximal t dieser Daten-Punkte falsch sind. 5.2 konventionelle Reed-Solomon-Codes Def. Ein grs-code über F = GF q mit n (q 1), α j = α j 1 und v j = α b(j 1) für j = 1, 2,..., n und festes b N heißt konventionell. Die kanonische Paritätsmatrix eines konventionellen RS-codes ist dann die (d 1) n = (n k) n-matrix 1 α b α b(n 1) 1 α b+1 α (b+1)(n 1) H RS = 1 α b+2 α (b+2)(n 1)... 1 α b+d 2 α (b+d 2)(n 1) Wenn man ein Code-Wort c = (c o, c 1,..., c n 1 ) F n wieder als Polynom c(x) = c o + c 1 x c n 1 x n 1 F n [x] auffaßt, gilt c C H RS c = 0, speziell hier also c(α b ) = c(α b+1 ) =... = c(α b+d 2 ) = 0. Die Elemente α b, α b+1,..., α b+d 2 heißen Nullstellen oder Wurzeln von c. Damit ist c C H RS c = 0 c(α l ) = 0 für l = b, b + 1,..., b + d 2. Die Elemente α b, α b+1,..., α b+d 2 heißen auch die Wurzeln von C. Daher gilt: c C genau dann, wenn die Wurzeln von c die Wurzeln von C sind. g(x) = (x α b )(x α b+1 ) (x α b+d 2 ) heißt das Generator-Polynom von C. Offensichtlich gilt c C g(x) c(x), so daß C = {u(x)g(x) : u(x) F k [x]} folgt. 5.3 Reed-Solomon-Codes kodieren Statt vermittels der allgemein gültigen Erzeugung F k u ug C RS mit Generator-Matrix G können RS-Codes auch durch F k [x] u(x) u(x)g(x) 81
82 C RS mit monischem Generator-Polynom g(x) F n k+1 [x] erzeugt werden. Diese Erzeugung kann mit Hilfe der (nicht-systematischen) Generator-Matrix G = g o g 1 g n k 0 g o g 1 g n k mit g n k = 1 geschrieben werden. 0 g o g 1 g n k u(x) u(x)g(x) wird durch ein lineares Filter mit n k Verzögerungsgliedern und n k + 1 Multiplizierern mit den festen Koeffizienten g j des Generator- Polynoms implementiert. u o u 1... u k 1... g n k g n k 1 g n k 2... g 1 g o + c o c 1... c n 1 Es gibt weitere, alternative Implementierungen. u o, u 1,..., u k g o g 1 g 2 g n k 1 1 A... A B c o, c 1,..., c n 1 B In den ersten k Schritten stehen beide Schalter in Position A, danach in den verbleibenden n k Schritten in Position B. Der Inhalt der n k delay units nach dem l-ten clock tick ist x n k l i=1 u k ix l i mod g(x) für l = 1, 2,..., k, s. Problem Danach produzieren die Multiplizierer nur noch 0, so daß die delay units nacheinander ausgelesen werden. 5.4 Ketten-Codes grs-codes unterliegen der Einschränkung n q 1 = F. Diese Einschränkung umgehen sogenannte Ketten-Codes, die grs-codes als Bausteine verwenden. 82
83 Def. Sei C in ein linearer [n, k, d]-code über F = GF q und sei C out ein linearer [N, K, D]-Code über Φ = GF(q k ). (Der Erweiterungsgrad [Φ : F ], d.h. die Dimension von Φ als Vektorraum über F, hier also [Φ : F ] = k, muß mit der Dimension von C in übereinstimmen.) Ein Ketten-Code C con mit innerem Code C in und äußerem Code C out ist wie folgt definiert: spezifiziere eine über F lineare Bijektion E in : Φ C in etwa durch Auszeichnen einer Basis Ω = (ω 1,..., ω k ) für Φ über F und durch eine Generator-Matrix G in, so daß dann E in (Ωu ) = ug in für alle u F k die gewünschte Abbildung spezifiziert. Dann gilt C con = { ( E in (z 1 ) E in (z 2 )... E in (z N ) ) F nn : (z 1 z 2... z N ) C out } F nn. Die Code-Wörter von C con werden also in zwei Schritten erzeugt: Ein Informationswort u wird zunächst zu einem Code-Wort (z 1,..., z N ) C out F N kodiert und dann Element-weise zu einer Folge ( E in (z 1 ) E in (z 2 )... E in (z N ) ) von Code-Wörtern von C in transformiert. Bem. Die Bezeichnungen inner und outer sind also vom Kanal aus gesehen gewählt. Z.B. Sei C in der [7, 3, 4]-simplex-Code über F = GF 2, nämlich der zum [7, 4, 3]- Hamming-Code über F = GF 2 duale Code (s.a. Problem 2.18). Dann ist G in = eine Generator-Matrix von C in Sei weiter Φ = F [ξ]/(ξ 3 +ξ+1) und C out der [6, 2, 5]-gRS-Code über Φ = GF(2 3 ). Der Erweiterungsgrad ( [Φ : F ] stimmt also ) mit der Dimension von C in überein! Dann ist G grs = ξ ξ 2 ξ 3 ξ 4 ξ 5 ξ 6 kanonische Generator-Matrix von C out. Definiere C con als den Ketten-Code über F mit C in als innerem und mit C out als äußerem Code. Die Abbildung E in ist dann durch Vorgabe der Basis Ω = (1, ξ, ξ 2 ) und der Generator-Matrix G in definiert. Um Code-Wörter von C con zu erzeugen, wird nun ein Informationswort zunächst in ein Code-Wort (z 1,..., z 6 ) von C out kodiert, d.h. beispielsweise u = (ξ, 1) (z 1,..., z 6 ) = (ξ, 1)G grs = (0, ξ + ξ 2, ξ + ξ 3, ξ + ξ 4, ξ + ξ 5, ξ + ξ 6 ) Um E in (z j ) zu berechnen, löse z j = Ωu 3 j, um die eindeutige Darstellung in F zu ermitteln. u 1 = (000), u 2 = (011), u 3 = (100), u 4 = (001), u 5 = (101), u 6 = (111) Berechnung der Unterblöcke E in (z j ) = u j G in liefert } {{ } E in (0) } {{ } } {{ } } {{ } } {{ } } {{ } E in (ξ + ξ 2 ) E in (ξ + ξ 3 ) E in (ξ + ξ 4 ) E in (ξ + ξ 5 ) E in (ξ + ξ 6 ) 83
84 die konkateniert gerade ein Code-Wort von C con der Länge 7 6 = 42 über F bilden. Bem. Offensichtlich ist C con ein linearer (vgl. Problem 5.17) Code über F mit Code-Länge nn, mit derselben Anzahl von Code-Wörtern wie C out und mit der Dimension log q C con = log q C out = kk. Um d(c con ) zu bestimmen, nimmt man wahr, daß jedes nicht-verschwindende Code-Wort ( E in (z 1 ), E in (z 2 ),..., E in (z N ) ) mindestens D nicht-verschwindende Unterblöcke E in (z j ) aufweist, von denen jeder ein Hamming-Gewicht von mindestens d hat. Damit ist C con ein [nn, kk, dd]-code. Um D zu maximieren, wählt man für C out typischerweise einen grs-code mit N q k. (N = q k für z.b. einfach-erweiterte, primitive grs-codes) Auch bei fest vorgegebenem q kann man also beliebig lange Code-Wörter bekommen. Ein Spezialfall ergibt sich, wenn man als C in den [n, n, 1]-Code mit der n n- Identität als Generator-Matrix wählt. Dann bildet E in die z 1,..., z N eines Code- Wortes von C out auf ihre entsprechenden Vektor-Darstellungen u 1,..., u N in F n bzgl. einer Basis von Φ = GF(q n ) über F = GF q ab. Durch Konkatenation ergibt sich dann das Code-Wort (u 1,..., u N ) C con. 5.5 Alternante Codes Def. Sei F = GF q und C grs ein [N, K, D]-gRS-Code über Φ = GF(q m ). C alt = C grs F N heißt dann alternanter Code. C alt ist ein [n, k, d]-code über F mit n = N und d D, falls k > 0. D = d(c grs ) heißt designed minimum distance von C alt. C alt erbt Eigenschaften wie primitiv, normalisiert oder im engeren Sinn vom darunter liegenden C grs. Ein (einfach) erweiterter alternanter Code C alt ist entsprechend Schnitt eines (einfach) erweiterten [N, K]-gRS-Codes mit F N. Bem. Sei H = ( H i,j )i=1,...,d 1,j=1,...,N = H grs Paritätsmatrix des unterliegenden grs-codes C grs. Es gilt nun F N c = (c 1,..., c n ) C alt Hc = 0 oder n j=1 H i,jc j = 0 für i = 1,..., D 1. Sei nun Ω = (ω 1,..., ω m ) eine Basis von Φ über F. Jedes H i,j läßt sich durch H i,j = Ωh i,j mit einem geeigneten Gewichtsvektor h i,j als Linearkombination dieser Basis darstellen, d.h. F N c = (c 1,..., c n ) C alt n j=1 H i,jc j = n j=1 Ωh i,jc j = Ω ( n j=1 h ) i,jc j = 0 für i = 1,..., D 1. Da ja die Elemente von Ω l.u. sind, ist die Bedingung äquivalent zu n j=1 h i,jc j = 0 für i = 1,..., D 1. Mit der Definition H alt = (h i,1,..., h i,n ) kann die Bedingung als H alt c = 0 mit der m n-paritätsmatrix h 1,1 h 1,2 h 1,n h 2,1 h 2,2 h 2,n H alt =... h D 1,1 h D 1,2 h D 1,n geschrieben werden: H alt entsteht aus H grs, indem man jedes Element durch den Spaltenvektor seines Gewichtsvektors bzgl. Ω ersetzt. Die Redundanz von C alt ist durch die Zeilen-Anzahl von H alt beschränkt, so daß n k (D 1)m oder eben k n (D 1)m folgt. 84
85 Z.B. Sei F = GF 2 und Φ = F [ξ]/(ξ 4 + ξ + 1). Φ ξ ist primitives Element. Sei C grs der primitive, konventionelle [N, K, D] = [15, 11, 5]-gRS-Code über Φ mit code locators α j = ξ j 1 und Spalten-Multiplizierern v j = ξ 3(j 1) mit ( ) 1 ξ 3 ξ 6 ξ 9 ξ 12 1 ξ 3 ξ 6 ξ 9 ξ 12 1 ξ 3 ξ 6 ξ 9 ξ 12 H grs = 1 ξ 4 ξ 8 ξ 12 ξ ξ 5 ξ 9 ξ 13 ξ 2 ξ 6 ξ 10 ξ 14 ξ 3 ξ 7 ξ 11 als kanonischer Paritätsmatrix. Sei C alt = C grs F 15. Die Paritätsmatrix H alt = hat (D 1)m = 2 4 = 8 Zeilen, so daß die Dimension von C alt mindestens k = 15 8 = 7 beträgt. Sicherlich gilt d(c alt ) 3. Mehr noch, mit Problem 5.25 gilt d(c alt ) = 5, s.a. Beispiel 3.11 im Abschnitt 3.8 auf S. 41. Bem. Man startet mit der Körper-Größe q, der Code-Länge n sowie der gewünschten minimalen Hamming Distanz D. Dann muß man m und einen [n, n D + 1, D]-gRS-Code über GF(q m ) geeignet wählen. Wegen n k (D 1)m soll m so klein als möglich sein. Wegen n q m ist m = log q n. Drei weitere Beispiele zeigen, daß man in Spezialfällen noch besser fahren kann. Z.B. Sei F = GF 2 und die designed minimum distance D ungerade. Ziel ist, aus einem [n, n D + 1, D]-gRS-Code C grs im engeren Sinn (d.h. v j = α j ) über Φ = GF(2 m ) einen alternanten [n, k, d]-code C alt im engeren Sinn mit d D zu konstruieren. Sei H grs kanonische Paritätsmatrix von C grs. Es gilt c C alt H grs c = 0 und c F m n j=1 c jαj i = 0 für i = 1, 2,..., D 1. Wegen n c j αj i = 0 j=1 n j=1 c 2 jα 2i j = 0 n j=1 c j α 2i j = 0 sind die Gleichungen für gerades i redundant, weil sie von den Gleichungen für ungerades i impliziert werden. Also gilt c C alt n j=1 c jαj i = 0 für i = 1, 3, 5,..., D 2. Eine Paritätsmatrix H alt von C alt gewinnt man, indem man jedes Element der Matrix α 1 α 2 α n α1 3 α2 3 α 3 n α1 5 α2 5 αn α1 D 2 α2 D 2 αn D 2 durch seine Darstellung als Spalten-Vektor in F m bzgl. einer festen Basis von Φ über F ersetzt. Hier gilt n k 1 2 (D 1)m oder eben k n 1 2 (D 1)m. 85
86 Das Beispiel 3.11 des Doppelfehler korrigierenden Codes im Abschnitt 3.8 auf S. 41 zeigt dies für D = 5. Z.B. Sei F = GF 2 und die designed minimum distance D gerade. Ziel ist, aus einem normalisierten [n, n D + 1, D]-gRS-Code C grs (d.h. v j = 1) über Φ = GF(2 m ) einen alternanten, normalisierten [n, k, d]-code C alt mit d D zu konstruieren. Eine Paritätsmatrix H alt von C alt gewinnt man, indem man wie im vorstehenden Beispiel jedes Element der Matrix α 1 α 2 α n α1 3 α2 3 α1 5 α2 5 αn 3 αn α1 D 2 α2 D 2 αn D 2 durch seine Darstellung als Spalten-Vektor in F m ersetzt. Dann bilden die ersten m Zeilen von H alt eine Untermatrix vom Rang 1. Also ist der Rang von H alt nicht größer als (D/2 1)m+1, so daß n k (D/2 1)m+1 für jeden binären, normalisierten alternanten Code mit gerader designed minimum distance D gilt. 5.6 BCH-Codes Def. Bose-Chaudhuri-Hocquenghem-Codes, kurz BCH-Codes, sind alternante Codes, deren unterliegende grs-codes konventionell sind. Sei F = GF q und C RS ein [N, K, D]-RS-Code über Φ = GF(q m ). C alt = C RS F N heißt dann BCH-Code. Bem. Für konventionelle RS-Codes gilt notwendigerweise N (q m 1). Dies impliziert gcd(n, q) = 1. Wenn umgekehrt gcd(n, q) = 1 gilt, dann gehört q oder besser q mod N zu (Z N, ) und das kleinste, mögliche m ist gerade die Ordnung von q in dieser Gruppe. Bem. Sei F = GF q und 0 < n N mit gcd(n, q) = 1. Sei weiter 0 < m minimal mit n (q m 1) und zudem α (GF(q m ), ) mit O(α) = n. Seien weiterhin b, D N mit 0 < D n. Dann gilt C BCH = {c(x) = c o + c 1 x c n 1 x n 1 F [x] : c(α l ) = 0 für l = b, b + 1,..., b + D 2}. Die Liste (α b, α b+1,..., α b+d 2 ) heißt dann die konsekutive Folge von Wurzeln von C BCH. Wie bei alternanten Codes heißt D die designed minimum distance von C BCH. Z.B. Sei ein BCH-Code mit n = 85 über F = GF 2 zu konstruieren, der drei Fehler korrigieren kann. Zunächst ist das minimale m mit n = 85 (2 m 1) zu bestimmen, nämlich m = 8. Man wählt b = 1, damit man sich den Vorteil von Codes im engeren Sinn (vgl. Example 5.5) zu Nutze machen kann. Wegen D = 7 ist die Redundanz n k (D 1)m/2 = 24 (vgl. Example 5.6). Der entstehende BCH-Code ist ein [85, 61, 7]-Code über F. Sei nun α ( GF(2 8 ), ) ein Element der Ordnung 85. Dann erhält man eine Paritätsmatrix für 86
87 C BCH, indem man die Elemente der Matrix 1 α α j α 83 α 84 1 α 3 α 3j α 79 α 82 1 α 5 α 5j α 75 α 80 durch Spalten-Vektoren in F 8 darstellt. Reed-Solomon-Codes u.ä. Probleme Problem 5.4 on p. 165 to subsection 5.1 Sei C grs ein [n, k]-grs-code über F mit code locators α 1,..., α n und Spalten- Multiplizierern v 1,..., v n. 1. Zeige: C grs und C grs mit code locators α j = µα j + ν und Spalten-Multiplizierern v j = ηv j für alle j = 1,..., n sind für feste µ, ν, η F mit µ, η 0 identisch. Und falls n < F, kann man ν so wählen, daß keiner der code locators α j verschwindet. Lösungshinweis: zeige, daß jede Zeile einer kanonischen Paritätsmatrix von C grs als Linearkombination von Zeilen einer kanonischen Paritätsmatrix von C grs geschrieben werden kann. Die Transformation v j = ηv j ausschließlich der Spalten-Multiplizierer v j bedeutet H grs = ηh grs und ändert daher nichts am durch die Paritätsmatrix spezifizierten Code. Die Transformation α j = µα j + ν der code locators α j ändert dann nichts am durch die Paritätsmatrix spezifizierten Code, wenn jede Zeile der kanonischen Paritätsmatrix H grs = (h o,..., h n k ) mit h i = (α i 1,..., α n) i sich als Linearkombination von Zeilen der kanonischen Paritätsmatrix H grs = (h o,..., h n k ) mit h i = (α1, i..., αn) i darstellen läßt. Tatsächlich gilt h i = i ( i j=0 j) µ j ν i j h j und wegen α j = (α j ν)/µ auch umgekehrt h i = µ i i ( i j=0 j) ( ν) i j h j. Sei n < F. Angenommen, 0 {α j : j = 1,..., n} = {µα j + ν : j = 1,..., n} für jedes ν F. Zu jedem ν F gibt es also ein 1 j ν n mit µα jν + ν = 0. Weil es aber F viele ν und nur n < F viele α j gibt, muß es ν 1 ν 2 mit identischen zugehörigen Indices j ν1 = j ν = j ν2, d.h. mit µα jν + ν 1 = 0 und µα jν + ν 2 = 0 geben, was zum Widerspruch ν 1 = µα jν = ν 2 führt. 2. Zeige: C grs und C grs mit code locators α j = α 1 j und geeigneten Spalten- Multiplizierern sind identisch. Die kanonische Paritätsmatrix ist H grs = ( ) αj i n k 1 n diag(v i=0,j=1 1,..., v n ), so daß c C grs H grs c = 0 n 0, 1,..., n k 1 n j=1 c jα i j j=1 c jαj i = 0 für i = = 0 für c j = c j α n k 1 und i = n k 1, n k 2,..., 1, 0 H grs c = 0 mit H grs = ( α i j c C grs. j ) n k 1 n i=0,j=1 diag(ṽ 1,..., ṽ n ) 87
88 3. Zeige: C grs und C grs mit code locators α j = µαj+ν σα j+τ und geeigneten Spalten-Multiplizierern sind für feste µ, ν, σ, τ F mit µτ νσ identisch Problem 5.5 on p. 165 to subsection 5.1 Sei C grs ein verallgemeinerter [n, k, d] RS-Code über F mit 1 < k < n. 1. Zeige: C grs ist ein echter Teil-Code eines verallgemeinerten [n, k + 1, d 1] RS-Codes C grs über F. C grs habe die kanonische Paritätsmatrix H grs. Streichen der letzten Zeile von H grs liefert H grs, kanonische Paritätsmatrix von C grs = {c F n : H grs c = 0} C grs. Nach Konstruktion ist C grs ein verallgemeinerter [n, k, d ] RS-Code über F mit k = k + 1 und d = n k + 1 = d 1. Angenommen, C grs = C grs. Dann müßte die letzte Zeile von H grs l.a. von den übrigen Zeilen sein, was im Widerspruch zu Theorem 2.2 auf S. 16 steht. 2. Sei d(y, C grs ) = min{d(y, c} : c C grs } der Hamming-Abstand eines Wortes y F n von C grs. Zeige: es gibt ein y F n mit d(y, C grs ) d Sei r der Überdeckungsradius, covering radius, d.h. r = max{d(y, C grs ) : y F n }. Zeige: r = d 1 (vgl. Problem 4.13) Lösungshinweis: Zeige, daß der Überdeckungsradius r eines jedes MDS- Codes kleiner als sein minimaler Abstand d sein muß. Problem 5.6 on p. 166 to subsection 5.1 Seien α 1,..., α n F paarweise verschieden. Definiere eine n n-vandermonde α 1 α 2 α n Matrix X =. Für l = 1, 2,..., n definiere Polynome b l (x) = b l,o + b l,1 x b l,n 1 x n 1 vom Grad n 1 durch b l (x) =... α1 n 1 α2 n 1 αn n 1 x α j 1 j n,j l α l α j mit b l (α j ) = δ l,j. Sei schließlich B = ( ) b l,j die n n-matrix der Koeffizienten der Polynome b l (x). 1. Zeige B = X 1. (BX) l,j = n 1 i=o b l,iα i j = b l(α j ) = δ l,j, d.h. BX = I. 2. Sei Ψ(x) = n j=1 (x α j) F [x] und Ψ seine formale Ableitung (vgl. Problem 3.7 auf S. 48 und Problem 3.38 auf S. 67). Ψ(x) Zeige b l (x) = Ψ (α l )(x α l ) für 1 l n und folgere b l,n 1 = 1 Ψ (α l ) für 1 l n. Wegen Ψ (x) = n α j ), so daß i=1 Ψ(x) Ψ (α l )(x α l ) = 1 j n,j i (x α j) gilt Ψ (α l ) = 1 j n,j l (α l n j=1 (x αj) (x α l ) 1 j n,j l (α l α = x α j j) 1 j n,j l α l α j = 88
89 b l (x) für 1 l n folgt. Ausmultiplizieren von b l (x) = 1 j n,j l von x n 1 als b l,n 1 = 1 j n,j l x α j α l α j 1 α l α j = 1 Ψ (α l ) liefert den Koeffizienten für 1 l n. Problem 5.7 on p. 167 to subsection 5.1 Sei C grs ein normalisierter [n, k, d] verallgemeinerter RS-Code über F mit code locators α 1,..., α n F. Seien H grs = ( ) αj i d 2 n i=0,j=1 bzw. G grs = ( v j αi j ) k 1 n i=0,j=1 zugehörige Paritäts- bzw. Generator-Matrizen. Die Matrizen B und X seien wie in Problem 5.6 spezifiziert. 1. Zeige: die v j können als v j = 1 Ψ (α = 1 j) 1 m n,m j α j α m gewählt werden. Ist diese Wahl eindeutig? Lösungshinweis: Sei ˆX die (n 1) n-matrix, die aus den ersten n 1 Zeilen von X besteht. Laut Proposition 5.2 auf S. 79 erfüllen die Spalten- Multiplizierer die Gleichung ˆX(v 1, v 2,..., v n) = 0. Multipliziere nun ˆX mit der letzten Spalte von B. Wie im Beweis von Proposition 5.2 auf S. 79 sind die v j einerseits Lösungen von ˆX(v 1, v 2,..., v n) = 0. Wegen XB = I gilt andererseits ˆX(b 1,n 1, b 2,n 1,..., b n,n 1 ) = 0, wobei für diese Lösung v j = b j,n 1 = 1 Ψ (α gilt. j) Die Lösungen sind nicht eindeutig, weil jedes skalare Vielfache des Lösungsvektors wieder Lösung ist. 2. Bestimme die letzten k Spalten der (d 1) n-matrix H grs B. H grs ist eine (n k 1) n-matrix und besteht gerade aus den ersten n k 1 Zeilen von X. Wegen XB = I folgt wie in Nr. 1, daß die letzten k Spalten von H grs B Null-Spalten sind. 3. Zeige: die letzten k Zeilen in B bilden eine Generator-Matrix für C grs. Die Matrix G bestehe aus den letzten k Zeilen von B. Wegen Nr. 2 gilt H grs G = 0. Also ist G eine Generator-Matrix von C grs. 4. C grs sei nun nicht notwendig normalisiert und habe Spalten-Multiplizierer v 1,..., v n. Zeige: die v j können als v j = 1 v jψ (α j) gewählt werden. Wie im Beweis von Proposition 5.2 auf S. 79 sind die v j Lösungen von ˆX diag(v 1,..., v n ) (v 1,..., v n) = ˆX(v 1 v 1,..., v n v n) = 0, d.h. aus den Lösungen für den normalisierten Code ergeben sich die Lösungen für den allgemeinen Fall zu v j = 1 v jψ (α = 1 1 j) v j 1 m n,m j α j α m für 1 j n Problem 5.8 on p. 167 to subsection 5.1 (systematische Generator-Matrizen von grs-codes) Sei C grs ein [n, k] verallgemeinerter RS-Code über F mit kanonischer Generator- Matrix G grs = ( ) v j k 1 n αi j. Sei (I A) eine systematische Generator-Matrix i=0,j=1 für C grs mit k k-identitätsmatrix I und k (n k)-matrix A = (a i,j ). 89
90 1. Zeige mit Hilfe von Problem 5.6: a i,j = v j+k v i 1 s k,s i α j+k α s α i α s für i = 1,..., k und j = 1,..., n k. 2. Sei η i = v i 1 s k,s i (α i α s ) für i = 1,..., k und η j = v j k s=1 (α j α s ) für j = k + 1,..., n definiert. Zeige: a i,j = η j+k/η i α j+k α i für i = 1,..., k und j = 1,..., n k. η j+k /η i α j+k α i = v j+k v i = v j+k v i 1 α j+k α i 1 s k,s i 1 s k (α j+k α s ) 1 s k,s i α j+k α s α i α s = a i,j wegen Nr.1 1 α i α s 3. Sei C grs ein doppelt-erweiterter [n+1, k] verallgemeinerter RS-Gode, dessen Generator-Matrix durch Anfügen der -Spalte η n+1 (0, 0,..., 0, 1) aus G grs entsteht (vgl. Problem 5.2). Zeige, daß eine systematische Generator-Matrix G grs von C grs durch (I B) gegeben ist, wo B durch Anfügen der Spalte η n+1 (η1 1, η 1 2,..., η 1) aus A entsteht. k Problem 5.11 on p. 169 to subsection 5.1 Sei C grs ein [n, k] verallgemeinerter RS-Code über F = GF q mit (verschiedenen) nicht-verschwindenden code locators α 1,..., α n und Spalten-Multiplizierern v 1,..., v n. Sei weiterhin f(x) = f o + f 1 x f n k x n k ein Polynom über F vom Grad n k. 1. Zeige: für jeden Satz von Koeffizienten f 1,..., f n k gibt es ein f o F, so daß f(α j ) 0 für alle j = 1, 2,..., n. Für g(x) = f 1 x f n k x n k = f(x) f o und G = {g(α j ) : j = 1, 2,..., n} gilt G n < q = F. Sei also etwa f o F \ G, d.h. g(α j ) f o und damit f(α j ) = g(α j ) + f o 0 für j = 1, 2,..., n. Daher darf im Folgenden f(α j ) 0 für j = 1, 2,..., n angenommen werden, so daß die Funktionen ϑ j (x) = f(x) f(αj) f(α j) (x α j) für alle j = 1, 2,..., n auf F wohldefiniert sind. 2. Zeige ϑ j (x) = 1 f(α j) f(x) f(α j) x α j = 1 n k x α j = n k i=1 i 1 l=o f ix l α i 1 l j n k 1 l=o x l n k i=l+1 f iα i l 1 j für jedes j = 1, 2,..., n. i=1 f i(x i α i j ) = 1 = n k 1 l=o x α j n k i=1 f i(x α j ) i 1 x l n k i=l+1 f iα i 1 l j. 3. Zeige (x α j )ϑ j (x) 1 mod f(x) für jedes j = 1, 2,..., n. l=o xl α i 1 l j Aus ϑ j (x) = f(x) f(αj) f(α j) (x α folgt (x α j) j)ϑ j (x) 1 = 1 f(α j) f(x), also (x α j )ϑ j (x) 1 mod f(x). 90
91 4. Zeige F n (c 1,..., c n ) = c C grs n j=1 c jv j f(α j )ϑ j (x) = 0. Lösungshinweis: Sei H grs die kanonische Paritätsmatrix von C grs. Dann f n k f n k 1 f n k 0 0 ist auch H = H grs =: T H grs f 2 f 3 f n k 0 f 1 f 2 f n k 1 f n k eine Paritätsmatrix für C grs. Setze die j-te Spalte von H mit den Koeffizienten von ϑ j (x) in Beziehung. T ist regulär. Damit gilt c C grs H grs c = 0 Hc = 0. Für j = 1, 2,..., n lautet die j-te Spalte von H nun f n k v j α 0 j f n k 1 v j αj 0 + f n kv j α 1 j H.,j =. f 1 v j αj 0 + f 2v j αj f n kv j α n k 1 j 0 m=0 f n k mα 0 m j 1 m=0 = v j f n k mα 1 m j. n k 1 m=0 f n k m α n k 1 m j n k i=l+1 f iα i (l+1) j mit l = n k 1 n k = v j i=l+1 f iα i (l+1) j mit l = n k 2. n k i=l+1 f iα i (l+1) j mit l = 0 In jeder Zeile der j-ten Spalte steht also der nach Nr.1 zu x l gehörende Koeffizient von ϑ j (x). Wenn man jedes Element der j-ten Spalte als Koeffizienten des entsprechenden Monoms in x auffaßt, entsteht das Polynom ϑ j (x). Für die Vektor-Gleichung Hc = n j=1 c jh.,j = 0 gilt Hc = 0 n j=1 c n k jv j i=l+1 f iα i (l+1) j = 0 für l = 0, 1,..., n k 1 n k i=l+1 f iα i (l+1) j n j=1 c jv j f(α j ) 1 f(α j) = 0 für l = 0, 1,..., n k 1, was per Koeffizientenvergleich äquivalent zu n j=1 c jv j f(α j )ϑ j (x) = 0 ist. 5. Zeige F n (c 1,..., c n ) = c C grs n c jv jf(α j) j=1 x α j 0 mod f(x), 1 wobei x α j das multiplikative Inverse von (x α j ) in F [x]/f(x) bezeichne. Lösungshinweis: siehe Nr.3 und Nr.4. Wegen Nr.3 und deg θ j = n k 1 ist θ j (x) selbst das modulo f(x) Inverse von x α j. Mit Nr.4 folgt also F n (c 1,..., c n ) = c C grs n j=1 c jv j f(α j )ϑ j (x) = 0 n j=1 c jv j f(α j )/(x α j ) 0 mod f(x). 6. Für die Spalten-Multiplizierer gelte v j = 1/f(α j ) für jedes j = 1, 2,..., n. Zeige F n (c 1,..., c n ) = c C grs f(x) g(x) für das Polynom g(x) = n j=1 c j 1 m n,m j (x α j). F n (c 1,..., c n ) = c C grs n j=1 n j=1 c j 1 m n,m j (x α j) 0 mod f(x). 91 c j x α j 0 mod f(x)
92 7. Sei v j = ( f(α j ) 1 m n,m j (α j α m ) ) 1 für j = 1, 2,..., n. Jedem Wort c = (c 1,..., c n ) F n werde das interpolierende Polynom λ c (x) = n j=1 c x α m j 1 m n,m j α j α m mit λ c (α j ) = c j für j = 1, 2,..., n zugeordnet. Zeige c C grs f(x) λ c (x). Mit Nr.5 gilt c C grs n c jv jf(α j) j=1 x α j ein Polynom µ(x) mit n c jv j j=1 (x α j) 1 m n,m j 0 mod f(x) es gibt (αj αm) = µ(x)f(x), so daß insgesamt c C grs λ c (x) = n j=1 c jv j 1 m n,m j µ(x)f(x) n m=1 (x α m) f(x) λ c (x) folgt. Problem 5.12 on p. 171 to subsection 5.2 x α m α j α m = Sei C grs ein normalisierter [n, k, 3]-gRS-Code über F mit code locators α 1,....α n und mit kanonischer Paritätsmatrix H grs. 1. Ein empfangenes ( ) Wort y F n sei genau an der Position i fehlerhaft. Sei H grs y So =. Zeige: α S i = S 1 /S o und e i = S o. 1 ( ) ( ) ( ) 1 1 Mit H grs y = H grs e = e α 1 α ei So = = ist n α i e i S 1 α i = S 1 /S o und e i = S o. 2. Das empfangene Wort y F n enthalte an den beiden Positionen i und j zwei Erasure-Fehler. An diesen Stellen werde y i = 0 = y j gesetzt. Zeige: c i = S1 αjso α j α i und c j = S1 αiso α i α j Wegen y i = 0 = c i + e i und ( y j = 0 = c j + ) e j gilt ( e i = c i und ) e j = ( c ) j. 1 1 Aus H grs y = H grs e = e α 1 α ei + e = j So = n α i e i + α j e j folgt e i = S1 αjso α i α j und daher c i = S1 αjso α j α i. S 1 Problem 5.13 on p. 171 to subsection 5.2 Sei C grs ein normalisierter [n, k, 4]-gRS-Code über F mit code locators α 1,....α n und mit kanonischer Paritätsmatrix H grs. Ein empfangenes Wort y F n weise genau an der Position i einen Erasure-Fehler auf und sei genau an der Position j fehlerhaft. Wieder sei y i = 0 gesetzt. Sei H grs y = (S o, S 1, S 2 ) das Syndrom zu y. 1. Zeige: α j = S2 αis1 S 1 α is o. 1 1 e i + e j Mit H grs y = H grs e = α 1 α n e = α i e i + α j e j = α αn 2 αi 2e i + αj 2e j S o S 1 folgt S2 αis1 S 1 α is o S 2 = (α2 i ei+α2 j ej) (α2 i ei+αiαjej) (α ie i+α je j) (α ie i+α ie j) = αj(αj αi)ej (α j α i)e j = α j. 92
93 2. Zeige: für den Fehler-Wert e j = y j c j gilt e j = S1 αiso α j α i = (S1 αiso)2 S 2 2α is 1+α 2 i So. S 1 α is o α j α i = (αiei+αjej) (αiei+αiej) α j α i = αjej αiej α ( ) j α i 2 (α ie i+α je j) (α ie i+α ie j) (α 2 i ei+α2 j ej) 2α2 i ei 2αiαjej+(α2 i ei+α2 i ej) = (α j α i) 2 e 2 j = e j und (α 2 j 2αiαj+α2 i )ej = e j. (S 1 α is o) 2 S 2 2α is 1+α 2 i So = Problem 5.14 on p. 172 to subsection 5.2 Sei C RS ein normalisierter [9, 6]-RS-Code über F = GF(2 6 ), der durch ein Element α F mit multiplikativer Ordnung 9 spezifiziert sei. 1. Bestimme alle Wurzeln von C RS, ausgedrückt als Potenzen von α. Zunächst ist der [n = 9, k = 6, d = n k + 1 = 4]-RS-Code normalisiert, d.h. b = 0 und v j = 1. Damit sind 1, α, α d 2 = α 2 die Wurzeln von C RS. 2. Die code locators sind α j = α j 1, die Spalten-Multiplizierer sind v j = für j = 1, 2,..., n. Dann ist H RS = 1 α α 2 α 8 die kanonische 1 α 2 α 4 α 8 2 Paritätsmatrix. 3. Die kanonische Generator-Matrix erfüllt G RS H RS = 0, wobei G dieselben code locators und geeignete Spalten-Multiplizierer hat. Im Fall von RS- Codes ist jedoch das Generator-Polynom g(x) = d 2 i=o (x αb+i ), hier also g(x) = (x 1)(x α)(x α 2 ) = (x + 1)(x + α)(x + α 2 ) = α 3 + (α + α 2 + α 3 ) + (1 + α + α 2 )x 2 + x 3 und damit ist die 6 9-Matrix α 3 α + α 2 + α α + α α 3 α + α 2 + α α + α G RS = 0 0 α 3 α + α 2 + α α + α α 3 α + α 2 + α α + α α 3 α + α 2 + α α + α α 3 α + α 2 + α α + α 2 1 die k n-generator-matrix. 4. c = (1, α 3, α 3, 1, α 3, α 3, 1, α 3, α 3 ) = (1, α 3, α 6, 1, α 3, α 6, 1, α 3, α 6 ) ist ein Code-Wort, weil die Wurzeln des Codes auch Wurzeln des zu c gehörenden Polynoms c(x) = 1+α 3 x+α 6 x 2 +x 3 +α 3 x 4 +α 6 x 5 +x 6 +α 3 x 7 +α 6 x 8 sind: c(1) = 1 + α 3 x + α 6 = 2 i=0 (α3 ) i = ( (α 3 ) 3 1 ) /(α 3 1) = 0, c(α) = 1 + α 4 + α 8 + α 3 + α 7 + α 11 + α 6 + α 10 + α 14 = 1 + α 4 + α 8 + α 3 + α 7 + α 2 + α 6 + α + α 5 = 8 i=0 αi = (α 9 1)/(α 1) = 0 und c(α 2 ) = 1 + α 5 + α 10 + α 6 + α 11 + α 16 + α 12 + α 17 + α 22 = 1 + α 5 + α + α 6 + α 2 + α 7 + α 3 + α 8 + α 4 = 8 i=0 αi = (α 9 1)/(α 1) = 0. Problem 5.15 on p. 172 to subsection 5.2 Sei C RS ein normalisierter [17, 15]-RS-Code über F = GF(2 m ), der durch ein Element α F mit multiplikativer Ordnung 17 spezifiziert sei. 93
94 1. Bestimme das kleinst-mögliche m. Während 17 31, und gilt 17 (2 m 1) für m = Schreibe das Generator-Polynom von C RS als Funktion von α. Zunächst ist der [n = 17, k = 15, d = n k + 1 = 3]-Code normalisiert, d.h. b = 0 und v j = 1. Damit sind 1, α d 2 = α die Wurzeln von C RS und g(x) = (x 1)(x α) ist das Generator-Polynom für C RS. Problem 5.17 on p. 172 to subsection 5.4 Sei C in ein linearer [n, k, d]-code über F = GF q, sei Φ = GF(q k ). Ein Ketten- Code C con wird durch eine über F lineare Bijektion E in : Φ C in und einen linearen äußeren Code C out über Φ spezifiziert. Zeige: C con ist linear über F. C con ist linear über F, weil mit zwei Code-Wörtern c = (c 1,..., c N ) C con und c = (c 1,..., c N ) C con auch deren Linear-Kombinationen ac + bc = a(c 1,..., c N ) + b(c 1,..., c N ) = a ( E in (z 1 ),..., E in (c N ) ) + b ( E in (z 1),..., E in (z N )) = ( ae in (z 1 ) + be in (z 1),..., ae in (z N ) + be in (z N )) = ( E in (az 1 + bz 1),..., E in (az N + bz N )) C con für alle a, b F wieder Code-Wörter sind. Problem 5.23 on p. 174 to subsection 5.5 Sei C ein linearer [n, k, d]-code über F = GF q mit d 2. Zeige: es existiert ein [n, n 1, 2]-gRS-Code C grs über Φ = GF(q n k ) mit C = C grs F n. Bem. Jeder lineare Code kann als alternanter Code C = C grs F n aufgefaßt werden. Die (n k) n-matrix H sei eine Paritätsmatrix von C. Ein [n, n 1, 2]-gRS- Code C grs hat die Paritätsmatrix H grs = (α o 1, α o 2,..., α o n)diag(v 1,..., v n ) = (v 1,..., v n ) mit paarweise verschiedenen code locators α j 0 und Spalten-Multiplizierern v j 0. Wähle nun die Spalten-Multiplizierer so, daß die Darstellung von v j in F n k gerade der j-ten Spalte von H entspricht. Dann gilt c C F n Hc = 0 H grs c = 0 und c F n c C grs F n. Problem 5.24 on p. 174 to subsection 5.5 Sei C grs ein [N, N 1, 2] grs-code im engeren Sinn über Φ = GF(2 m ) und C alt = C grs F N ein alternanter Code über F = GF 2. Zeige: es gibt einen [N, N 2, 3]-gRS-Code C grs im engeren Sinn über Φ mit C alt C grs C grs. Der grs-code C grs im engeren Sinn (d.h. v j = α j ) hat die kanonische Paritätsmatrix H grs = (1, 1,..., 1)diag(α 1,..., α N ) = (α 1,..., α N ) mit N < 2 m. Eine m N-Paritätsmatrix H alt für C alt erhält man, indem man jedes Element von H grs durch den entsprechenden Spalten-Vektor in F m ersetzt. 94
95 Sei C grs der [N, N 2, 3]-gRS-Code im engeren Sinn mit denselben code locators wie C grs und mit kanonischer Paritätsmatrix ( ) ( ) H α1 α grs = diag(α α 1 α 2 α 1,..., α N ) = 2 α N N α1 2 α2 2 αn 2. Aus c C alt H grs c = 0 und c F N N j=1 c jα j = 0 folgt wie in Example 5.5 auf S. 85 auch hier N j=1 c jαj 2 = 0, d.h. c C alt c C grs bzw. C alt C grs und weil H grs Untermatrix von H grs ist, folgt auch C grs C grs. Problem 5.25 on p. 174 to subsection 5.5 Sei F = GF 2 und C grs der primitive [N, K, D] = [15, 13, 3]-gRS-Code über Φ = GF(2 4 ) = F [ξ]/(ξ 4 + ξ + 1) mit code locators α j = ξ j 1 und Spalten-Multiplizierern v j = ξ 3(j 1) aus Beispiel 5.4. C grs hat die kanonischer Paritätsmatrix ( ) ( ) H grs = ξ 0 ξ 1 ξ 14 diag(ξ 0, ξ 3,..., ξ 3 14 h1 ) = h 2 ( ) ξ = 0 ξ 3 ξ 6 ξ 9 ξ 12 ξ 15 ξ 18 ξ 21 ξ 24 ξ 27 ξ 30 ξ 33 ξ 36 ξ 39 ξ 42 ξ 0 ξ 4 ξ 8 ξ 12 ξ 16 ξ 20 ξ 24 ξ 28 ξ 32 ξ 36 ξ 40 ξ 44 ξ 48 ξ 52 ξ 56 ( ) ξ = 0 ξ 3 ξ 6 ξ 9 ξ 12 ξ 0 ξ 3 ξ 6 ξ 9 ξ 12 ξ 0 ξ 3 ξ 6 ξ 9 ξ 12 ξ 0 ξ 4 ξ 8 ξ 12 ξ 1 ξ 5 ξ 9 ξ 13 ξ 2 ξ 6 ξ 10 ξ 14 ξ 3 ξ 7 ξ 11. Sei weiter C alt der zugehörige alternante Code C grs F 15. Zeige: C grs ist darstellbar als C grs F 15 für einen primitiven [N, K, D ] = [15, 11, 5]-gRS-Code im engeren Sinn über Φ mit code locators α j = ξ j 1. Lösungshinweis: für jedes Wort (c o, c 1,..., c 14 ) F 15 gilt 14 l=0 c lξ 4l = 0 14 l=0 c lξ 8l = 0 14 l=0 c lξ l = 0 14 l=0 c lξ 2l = 0 Bem. Verschiedene verallgemeinerte Reed-Solomon-Code können also denselben alternanten Code erzeugen. Über F gilt (α + β) 2 = α 2 + β 2 für alle α, β Φ und somit 14 l=0 c lξ l = 0 14 l=0 c lξ 2l = 0 14 l=0 c lξ 4l = 0 14 l=0 c lξ 8l = 0 14 l=0 c lξ l = 0, weil α i = α i mod 15 für alle α Φ und i N. Sei C grs der wegen N = 15 = Φ 1 primitive [N, K, D ] = [15, 11, 5]-gRS-Code über Φ mit code locators α j = ξ j 1. Für die Spalten-Multiplizierer gelte v j = α j für j = 1,..., 15. Damit ist C grs ein grs-code im engeren Sinn mit kanonischer Paritätsmatrix H grs = ( α i 1 ) 4,15 j i=1,j=1 diag(α 1,..., α 15 ) = ( ) αj i 4,15 i=1,j=1 = α 1 α 2 α 15 ξ 0 ξ 1 ξ 14 ( ) ( ) α1 2 α2 2 α15 2 α 1 3 α2 3 α15 3 = ξ 0 ξ 2 ξ 2 14 ξ ξ 0 ξ 3 ξ 3 14 = 0 ξ 1 ξ 14 h ξ 0 ξ 3 ξ 3 14 = 1 h, weil α1 4 α2 4 α15 4 ξ 0 ξ 4 ξ l=0 c lξ l = 0 laut Vorbemerkung 14 l=0 c lξ 2l = 0 als auch 14 l=0 c lξ 4l = 0 impliziert. Die zweite und vierte Zeile von H grs sind also redundant. Für jedes c = (c o, c 1,..., c 14 ) F 15 gilt nun unter erneuter Verwendung der Vorbemerkung 14 c C alt = C grs F 15 j=o c jξ 3j 14 = 0 14 j=o c jξ 4j = 0 j=o c jξ j = 0 14 j=o c jξ 3j = 0 C grs F 15 = C alt c. 95
96 5.6.4 Problem 5.30 on p. 176 to subsection 5.6 Sei C RS ein normalisierter [21, 17] RS-Code über einem Erweiterungskörper Φ = GF(2 m ) von F = GF 2. Sei C BCH = C RS F 21 der [21, k, d]-bch-code über F. 1. Bestimme die kleinste Körpererweiterung Φ = GF(2 m ) von F. Das minimale m mit 21 = N (q m 1) = (2 m 1) ist m = 6, weil N = = (2 6 1) und weil sowie Zeige: k 8 Wegen d(c RS ) = n k + 1 = = 5 gilt k n (d(c RS ) 1)m = Zeige: D 6 96
97 6 RS-Codes dekodieren Dekodierung von grs-codes beruht auf den sogenannten key equations, deren Lösungen sowohl die Stellen von Fehlern als auch die Korrekturen liefern. 6.1 setting Sei C grs ein [n, k, d]-grs-code über F mit kanonischer Paritätsmatrix α 1 α 2 α n H grs = α1 2 α2 2 αn 2 diag(v 1,..., v n )... α1 d 2 α2 d 2 αn d 2 mit paarweise verschiedenen code locators 0 α i F und Spalten-Multiplizierern 0 v i F. Sei c C grs gesendet und y = (y 1,..., y n ) F n empfangen. Das Fehler-Wort ist dann e = (e 1,..., e n ) = y c. Sei J = {j : e j 0} die Menge der Positionen, in denen Fehler aufgetreten sind. Im Folgenden sei J (d 1)/2 angenommen. 6.2 Syndrom berechnen Das Syndrom von y ist (S o,..., S d 2 ) = H grs y mit S l = n y j v j αj l für l = 0,..., d 2. (6.1) j=1 Z.B. Im Fall von RS-Codes gilt α j = α j 1 und v j = (α j ) b = (α b ) j 1 für ein α mit O(α) = n und ein b N. Dann läßt sich S l = n j=1 y jv j α (j 1)(b+l) auch als Auswertung des Polynoms y(x) = y 1 + y 2 x y n x n 1 in den Argumenten x = α b+l für l = 0,..., d 2 auffassen. Def. S(x) = d 2 l=o S lx l ist das Syndrom-Polynom. Bem. Wegen H grs y = H grs e gilt S l = n j=1 e jv j αj l = j J e jv j αj l für l = 0,..., d 2. Daher gilt für das Syndrom-Polynom zunächst S(x) = d 2 l=o x l j J e j v j α l j = j J d 2 e j v j (α j x) l. (6.2) Nun liegt das Polynom 1 α j x im Ring F [x]/x d 1 aller Polynome modulo x d 1 und hat dort (1 α j x) 1 = d 2 l=o (α jx) l als Inverses, da (1 α j x) d 2 l=o (α jx) l = 1 (α j x) d 1 1 mod x d 1. Dann beschreibt S(x) j J l=o e j v j /(1 α j x) mod x d 1 (6.3) die Beziehung zwischen Syndrom-Polynom und Fehler-Wort e. 97
98 6.3 key equations Def. Das Polynom Λ(x) = j J(1 α j x) heißt Fehlerort- oder Error-Locator-Polynom, ELP und das Polynom Γ(x) = e j v j (1 α m x) j J j m J heißt Fehlerwert- oder Error-Evaluator-Polynom, EEP. Bem. Wegen Λ(ακ 1 ) = 0 κ J sind die Nullstellen des ELP genau die Positionen der Fehler. Für κ J gilt zudem Γ(ακ 1 ) = e κ v κ κ m J (1 α mx) 0. ELP und EEP haben also verschiedene Nullstellen, was gcd ( Λ(x), Γ(x) ) = 1 (6.4) impliziert. Speziell aus Γ(x) = 0 folgt Λ(x) = 1, was den Fall, daß kein Fehler aufgetreten ist, d.h. S(x) = 0, wiedergibt. Offensichtlich gilt weiter deg(γ) < J = deg(λ) (d 1)/2. (6.5) Letztlich gilt Γ(x) = Λ(x) j J e jv j /(1 α j x), so daß Λ(x)S(x) Γ(x) mod x d 1 (6.6) folgt. Die Gleichungen (6.4), (6.5) und (6.6) heißen key equations. Bem. Zu dekodieren heißt, die key equations zu lösen. Man untersucht dann etwa durch Ausprobieren (besser: Chien 25 search), welche der Werte α1 1,..., α 1 n Nullstellen des ELP sind, und hat damit die Fehlerorte, d.h. J bestimmt key equations lösen Die key equations zu lösen, ist äquivalent damit, Systeme linearer Gleichungen zu lösen. (Es gibt effizientere Verfahren.) Sei zur Abkürzung τ = (d 1)/2 gesetzt. Wegen (6.5) gilt Λ(x) = τ Λ m x m und Γ(x) = m=0 τ 1 m=0 Γ m x m 25 R. T. Chien: Cyclic Decoding Procedure for the Bose-Chaudhuri-Hocquenghem Codes; IEEE Transactions on Information Theory, Vol. IT-10, pp , October search 98
99 wobei sich die Koeffizienten Λ m und Γ m aus (6.6) als Lösungen des folgenden Systems linearer Gleichungen in λ m und γ m bestimmen lassen: S o γ o S 1 S o γ 1. λ o S τ 1 S τ 2... S o 0 λ 1. S τ S τ 1... S 1 S o. = γ τ 1 0 (6.7) S τ+1 S τ... S 2 S 1 λ τ S d 2 S d 3... S d τ 1 S d τ 2 0 Man löst zunächst das System aus den unteren d τ 1 linearen Gleichungen in λ m und berechnet dann die γ m. Wenn umgekehrt λ m und γ m Lösungen von (6.7) sind, dann erfüllen die beiden Polynome λ(x) = τ m=0 λ mx m und γ(x) = τ 1 m=0 γ mx m die (6.5) entsprechenden Anforderungen deg(γ) < J = deg(λ) (d 1)/2. (6.8) an den Grad sowie die der Gleichung (6.6) entsprechende Gleichung λ(x)s(x) γ(x) mod x d 1 (6.9) Der folgende Satz belegt, daß diese Lösungen λ(x) und γ(x) prinzipiell eindeutig sind und bis auf skalare Vielfache den gesuchten ELP und EEP entsprechen. Satz λ(x) und γ(x) genügen (6.8). Dann gilt (i). Die Polynome λ(x) und γ(x) erfüllen (6.9) genau dann, wenn es ein c(x) F [x] mit λ(x) = c(x)λ(x) und γ(x) = c(x)γ(x) gibt. (ii). Lösungen λ(x) und γ(x) von (6.9) mit (6.8) derart, daß λ(x) minimalen Grad hat, sind bis auf ein skalares Vielfaches eindeutig und es gilt dann λ(x) = cλ(x) und γ(x) = cγ(x) für ein 0 c F. (iii). Die obige Lösung ist die einzige Lösung mit gcd ( Λ(x), Γ(x) ) = 1. Bew. ad (i): Da Λ(0) = 1, hat das ELP ein Inverses Λ 1 im Ring F [x]/x d 1, so daß aus (6.6) S(x) Γ(x)Λ 1 (x) mod x d 1 folgt. Die Polynome λ(x) und γ(x) erfüllen (6.9) genau dann, wenn λ(x) ( Γ(x)Λ 1 (x) ) γ(x) mod x d 1 oder gleichermaßen λ(x)λ(x) Γ(x)γ(x) mod x d 1 gilt. Wegen (6.5) und (6.8) gilt deg(λγ) < d 1 und deg(γγ) < d 1. Daher ist die Kongruenz eine Identität und λ(x) und γ(x) erfüllen (6.9) genau dann, wenn λ(x)λ(x) = Γ(x)γ(x) (6.10) Mit (6.4) und Lemma 3.2 auf S. 36 folgt Λ(x) λ(x). Zusammen gilt also λ(x) = c(x)λ(x) und γ(x) = c(x)γ(x) für ein c(x) F [x]. (ii) und (iii) folgen aus (i). 99
100 Bem. Um die key equations zu lösen, löst man das System (6.7) von d τ 1 linearen Gleichungen etwa per Gauß und gewinnt so ein nicht-triviales Polynom λ(x) kleinsten Grades, das bis auf ein skalares Vielfaches mit ELP übereinstimmt. Ausprobieren oder Chien search liefert dann J. Lösen des zweiten Systems S l = j J e jv j αj l für l = 0,..., d 2 von d 1 linearen Gleichungen in e j liefert die Fehlerwerte. Bis zu τ Fehler sind so korrigiert key equations mit formalen Potenzreihen lösen Def. Sei F [[x]] die Menge der (formalen) Potenzreihen a(x) = i=0 a ix i über F. Summe und Produkt von Potenzreihen machen aus F [[x]] einen Nullteilerfreien kommutativen Ring. Bem. a(x)= i=0 a ix i F [[x]] hat genau dann ein Inverses b(x)= i=0 b ix i F [[x]] mit a(x) b(x) = 1, nämlich b o = 1/a o und b i = 1 i a o j=1 a jb i j, wenn a(0) 0. (vgl. Problem 6.6) Z.B. Für ein β F sei a(x) = i=0 (βx)i F [[x]]. a hat dann das Inverse b(x) = 1 βx, vgl. Problem 6.7. Bem. Zu einem Fehler-Wort e definiere mit E l = j J e jv j αj l und damit das infinite Syndrom E(x) = l=0 E lx l F [[x]]. Zunächst gilt E l = S l für jedes l = 0, 1,..., d 2 und deshalb S(x) E(x) mod x d 1 (6.11) Ähnlich wie in (6.2) gilt hier E(x) = x l e j v j αj l = e j v j j x) l=o j J j J l=o(α l = e j v j /(1 α j x) (6.12) j J Da ELP in F [[x]] invertierbar ist, folgt E(x) = Γ(x)/Λ(x). Um einen grs-code zu dekodieren, muß man also nur das Syndrom S als formale Potenzreihe auffassen, die in F [[x]] als gekürzter so daß (6.4) erfüllt ist Quotient Γ(x)/Λ(x) geschrieben werden kann, wobei die Grade von Γ(x) und Λ(x) durch (6.5) beschränkt sind. 6.4 key equations mit Euklid schem Algorithmus lösen Man kann die key equations mit dem erweiterten Euklid schen Algorithmus lösen, der gcd(a, b) für gegebene Polynome a(x) und b(x) über F mit a(x) 0 und deg a > deg b berechnet. r 1 (x) = a(x); r o (x) = b(x); s 1 (x) = 1; s o (x) = 0; t 1 (x) = 0; t o (x) = 1; for(i = 1; r i 1 (x) 0; i + +){ q i (x) = r i 2 (x)/r i 1 (x); r i (x) = r i 2 (x) q i (x)r i 1 (x); s i (x) = s i 2 (x) q i (x)s i 1 (x); t i (x) = t i 2 (x) q i (x)t i 1 (x); } 100
101 Problem 3.3 zeigt, daß r ν (x) = gcd(a, b)(x) für ν = max{i : r i (x) 0} gilt. Lemma Im erweiterten Euklid schen Algorithmus gilt: (i) s i (x)a(x) + t i (x)b(x) = r i (x) (ii) deg t i + deg r i 1 = deg a jeweils für i = 1, 0,..., ν + 1. Bew. s. Problem 3.3, Nr. 2 und Nr. 3 Proposition Mit den Bezeichnungen des erweiterten Euklid schen Algorithmus seien r(x) und t(x) nicht verschwindende, teilerfremde Polynome über F mit deg t + deg r = deg a und t(x)b(x) r(x) mod a(x). Dann gibt es einen Index h {0, 1,..., ν + 1} und eine Konstante c F, so daß t(x) = c t h (x) und r(x) = c r h (x) gilt. Bew. Weil deg r i streng fallend ist und weil deg r < deg a = deg r 1, gibt es einen Index h mit deg r h deg r < deg r h 1. Das vorstehende Lemma liefert s h (x)a(x) + t h (x)b(x) = r h (x). Aufgrund der Kongruenz-Bedingung an a, b, r und t existiert ein Polynom s mit t(x)b(x) r(x) = s(x)a(x) oder eben s(x)a(x)+ t(x)b(x) = r(x). Subtraktion des t h -fachen der letzten vom t-fachen der ersten Gleichung liefert s h (x)t(x)a(x) + t h (x)t(x)b(x) = r h (x)t(x) s(x)t ( h (x)a(x) + t(x)t h (x)b(x) = r(x)t h (x) sh (x)t(x) s(x)t h (x) ) a(x) = r h (x)t(x) r(x)t h (x) ( ) Die Anforderungen an die Grade der Polynome führen zu deg t + deg r h deg t + deg r < deg a und mit dem vorstehenden Lemma zu deg t h + deg r = deg a deg r h 1 + deg r < deg a. Also ist der Grad der rechten Seite der Gleichungsdifferenz (*) kleiner als deg a. Die linke Seite ist allerdings ein Vielfaches von a, was zusammen r h (x)t(x) = r(x)t h (x) impliziert. Mit (ii) des vorstehenden Lemmas gilt deg t h > 0, so daß beide Seiten der Gleichung nicht Null sind. Wegen gcd(t, r) = 1 und r h t r = t h ist r ein Teiler von r h. Aus deg r h deg r folgt r(x) = c r h (x) für ein c F sowie in obige Gleichung eingesetzt auch t(x) = c t h (x). Die key equations in Λ(x) und Γ(x) lassen sich nun wie folgt lösen. Mit der Initialisierung a(x) = x d 1 und b(x) = S(x) liefert der Euklid sche Algorithmus Λ(x) = c t h (x) und Γ(x) = c r h (x), wobei die Konstante c so zu wählen ist, daß λ(0) = 1 gilt. Wie soll aber der Index h bestimmt werden, wenn doch die Polynome r und t unbekannt sind? Proposition Für die Polynome r(x) und t(x) der vorstehenden Proposition gelte zusätzlich deg t 1 2 deg a und deg r < 1 2 deg a. Dann ist h {0, 1,..., ν+1} der einzige Index im Euklid schen Algorithmus mit deg r h < 1 2 deg a deg r h 1. Bew. Für Indizes i < h wäre der Grad von c r i (x) zu groß. Für i > h würde wegen des vorstehenden Lemmas deg t i deg t h+1 = deg a deg r h > 1 2 deg a gelten, so daß der Grad von c t i (x) zu groß wäre. 6.5 Fehlerwerte bestimmen Die (formale) Ableitung von Λ(x) ist Λ (x) = j J ( α j) j m J (1 α mx). Für jedes κ J gilt also Λ (ακ 1 ) = ( α κ ) κ m J (1 α mακ 1 ). Da für jedes 101
102 κ J zugleich Γ(ακ 1 ) = e κ v κ κ m J (1 α mακ 1 Werte laut Forney 26 s Algorithmus aus e κ = ακ v κ ) gilt, lassen sich die Fehler- Γ(α 1 κ ) Λ (α 1 κ 6.6 Zusammenfassung: grs-codes dekodieren Input: received word (y 1,..., y n ) F n Output: error word (e 1,..., e n ) F n ) berechnen. 1. Syndrome computation: compute the polynomial S(x) = d 2 l=o S lx l where S l = n j=1 y jv j αj l for l = 0, 1,..., d Solving the key equations: apply Euclid s algorithm to a(x) x d 1 and b(x) S(x) to produce Λ(x) t h (x) and Γ(x) r h (x), where h is the smallest index i for which deg r i < 1 2 (d 1). 3. Forney s algorithm: { compute for j = 1, 2,..., n the error locations and αj v j if Λ(α 1 j ) = 0 values by e j = Γ(α 1 j Λ (α 1 j ) 0 sonst 6.7 Der Berlekamp-Massey Algorithmus Die key equation löst auch der Berlekamp-Massey Algorithmus. 26 G. David Forney memberdata/forneyd 102
103 6.7.1 Lineare Rekurrenzen Sei b(x) = deg(b) i=o b i x i F [x] und N N. (Da im Folgenden die Koeffizienten b i für i N unerheblich sein werden, kann man ebenso annehmen, daß b(x) F [[x]] eine formale Potenz-Reihe ist.) Def. Eine N-Rekurrenz von b(x) über F ist ein geordnetes Paar ( σ(x), ω(x) ) von Polynomen über F mit σ(0) = 1 und b(x)σ(x) = ω(x) mod x N. Dabei ist ord(σ, ω) = max{deg σ, 1 + deg ω} die Rekurrenz-Ordnung von ( σ(x), ω(x) ). Proposition 6.6 Sei b(x) F [x] und sei (σ, ω) eine N-Rekurrenz von b(x) über F mit minimaler Ordnung ord(σ, ω). Dann gilt (i) gcd(σ, ω) = 1 (ii) Wenn ord(σ, ω) N/2, dann ist (σ, ω) eindeutig, d.h. die Rekurrenz- Ordnung jeder anderen N-Rekurrenz von b(x) über F ist echt größer als ord(σ, ω). Bew. s. Problem 6.15 Sei ( σ(x), ω(x) ) eine N-Rekurrenz von b(x) über F und L = ord(σ, ω). Dann lassen sich σ und ω etwa durch σ(x) = 1 + L j=1 λ jx j, d.h. λ o = 1 und ω(x) = L 1 j=o γ jx j darstellen. Aus b(x)σ(x) ω(x) = i i=o( j=o λ ) jb i j γ i x i = µ(x)x N folgt per Koeffizientenvergleich λ o b o γ o = 0, d.h. b o = γ o, λ o b 1 + λ 1 b o γ 1 = 0, d.h. b 1 = γ 1 λ 1 b o, λ o b 2 + λ 1 b 1 + λ 2 b o γ 2 = 0, d.h. b 2 = γ 2 λ 1 b 1 λ 2 b o und allgemein b i = γ i i j=1 λ jb i j für 0 i < L sowie b i = i j=1 λ jb i j für L i < N. Das folgend dargestellte L-tap linear feedback shift register, LFSR berechnet solche b i. Das LFSR besteht aus L delay units, die ein Element von F speichern können, mit 0 initialisiert sind und von einer gemeinsamen clock gesteuert werden. Während der clock ticks 0, 1,..., L 1 befindet sich der Schalter in Position A, so daß die Koeffizienten von ω(x) mit γ o beginnend, eingelesen werden. Ab clock tick L steht der Schalter auf Position B, so daß am Adder konstant 0 anliegt. In jedem clock tick werden die delay unit Inhalte ausgelesen, mit λ i gewichtet und aufsummiert. Von γ i oder von 0 wird diese Summe subtrahiert. Die Differenz bildet das neue b i und wird in das erste dalay unit eingespeist. γ i A + b i 1 b i 2 b i 3... b i L+1 b i L b i 0 B 1 λ 1 λ 2 λ 3... λ L 1 λ L + 103
104 Wenn nun ein grs-codewort dekodiert werden soll, sei S(x) = d 2 l=o S lx l das Syndrom-Polynom mit Koeffizienten S l = n j=1 y jv j αj l, Λ(x) = j J (1 α jx) das Error Locator Polynom, ELP, und Γ(x) = j J e jv j j m J (1 α mx) das Error Evaluator Polynom, EEP. Angenommen, es sind maximal d 1 2 Fehler aufgetreten. Dann ist ( Λ(x), Γ(x) ) eine (d 1)-Rekurrenz von S(x) mit ord(λ, Γ) 1 2 (d 1). Sei wieder E(x) = Γ(x)/Λ(x). Wegen Λ(x)E(x) Γ(x) = 0 x N und so Λ(x)E(x) = Γ(x) mod x N ist also ( Λ(x), Γ(x) ) auch eine N-Rekurrenz von E(x) für jedes N 0. Die Idee ist nun die folgende: für gegebenes Polynom b(x) und 0 < N N berechnet ein Algorithmus iterativ i-rekurrenzen ( σ i (x), ω i (x) ) von b(x) für i = 0, 1,..., N derart, daß für jedes i die Rekurrenz-Ordnung ord(σ i, ω i ) minimal ist. Wenn der Algorithmus nun für N = d 1 und b(x) = S(x) gestartet wird, stoppt er mit einer (d 1)-Rekurrenz ( σ d 1 (x), ω d 1 (x) ) von S(x) mit ord(σ d 1, ω d 1 ) ord(λ, Γ) 1 2 (d 1) und gcd(σ d 1, ω d 1 ) = 1 Damit lösen die Polynome σ d 1 (x) und ω d 1 (x) die key equation und stimmen damit mit ELP bzw. EEP überein. Die Nullstellen des ELPs entsprechen den Fehler-Stellen und Lösen eines linearen Gleichungssystems liefert die Komponenten des Fehler-Vektors e untere Schranke für die Rekurrenz-Ordnung Zur Vorbereitung des Berlekamp-Massey-Algorithmus sei eine rekursive untere (lower) Schranke für die Rekurrenz-Ordnung von i-rekurrenzen eines Polynoms b(x) über F etabliert. Lemma 6.7 Sei b(x) F [x] und sei L i die kleinste Rekurrenz-Ordnung von i-rekurrenzen von b(x) über F. Dann ist L o = 0 und für i 0 gilt L i+1 L i. Wenn darüber hinaus eine i-rekurrenz von b mit Rekurrenz-Ordnung L i keine (i + 1)-Rekurrenz von b(x) ist, so gilt L i+1 max{l i, i + 1 L i }. Bew. Wegen 1 b(x) = 0 mod x o ist (1, 0) eine 0-Rekurrenz von b(x) mit Ordnung max{0, 1+deg 0} = max{0, } = 0 = L o. Da jede (i+1)-rekurrenz erst recht eine i-rekurrenz ist, gilt L i = min{ord(σ i, ω i ) : (σ i, ω i ) ist i-rekurrenz} min{ord(σ i+1, ω i+1 ) : (σ i+1, ω i+1 ) ist (i + 1)-Rekurrenz} = L i+1. Sei nun L i+1 < i+1 L i und sei (σ, ω) eine i-rekurrenz von b mit ord(σ, ω) = L i, die keine (i + 1)-Rekurrenz von b ist. Der Widerspruch entsteht dadurch, daß wir nun zeigen werden, daß (σ, ω) doch eine (i + 1)-Rekurrenz von b ist. Sei (ˆσ, ˆω) eine (i + 1)-Rekurrenz und a fortiori eine i-rekurrenz von b mit ord(ˆσ, ˆω) = L i+1. Die multiplikativen Inversen von σ und ˆσ existieren in F [x]/x i, so daß b(x) = σ 1 (x)ω(x) = ˆσ 1 (x)ˆω(x) mod x i, d.h. ˆσ(x)ω(x) = σ(x)ˆω(x) mod x i gilt. Aus max{deg σ, 1 + deg ω} + max{deg ˆσ, 1 + deg ˆω} = L i + L i+1 < i folgt sowohl deg σ + deg ˆω < i als auch deg ˆσ + deg ω < i. Also kann die Kongruenz zur Identität ˆσ(x)ω(x) = σ(x)ˆω(x) verschärft werden. Wegen gcd(σ, ω) = 1 = gcd(ˆσ, ˆω) folgt damit (σ, ω) = (ˆσ, ˆω) im Widerspruch zur Annahme, daß (σ, ω) keine (i + 1)-Rekurrenz ist. 104
105 6.7.3 Berlekamp-Massey-Algorithmus Der Berlekamp 27 -Massey 28 -Algorithmus berechnet eine N-Rekurrenz von b(x) für gegebenes N und b(x) F [x]. Input: Polynom b(x) F [x], 0 < N N Output: Paar von Polynomen ( σ N (x), ω N (x) ) über F σ 1 (x) = 0; σ o (x) = 1; ω 1 (x) = x 1 ; ω o (x) = 0; µ = 1; δ 1 = 1; for(i = 0; i < N; i + +){ δ i = Koeffizient von x i in σ i (x)b(x); σ i+1 (x) = σ i (x) (δ i /δ µ )x i µ σ µ (x); ω i+1 (x) = ω i (x) (δ i /δ µ )x i µ ω µ (x); if δ i 0 && 2 ord(σ i, ω i ) 1 then µ = i; } Def. Für ein Polynom b(x) F [x] bezeichnet der umgekehrte Grad, reverse degree rdeg(b) das maximale t N, so daß x t b(x), falls es solche t gibt, und sonst. Lemma 6.8 (σ i, ω i ) ist eine i-rekurrenz von b(x) = deg(b) i=rdeg(b) b ix i für i = 0, 1,..., N. Bew. Wir treffen folgende Fallunterscheidung: 0 i < rdeg(b) Initial ist (σ o, ω o ) = (1, 0) eine 0-Rekurrenz von b(x). Für i < rdeg(b) verschwinden alle Koeffizienten δ i von x i in σ i (x)b(x) = b(x), so daß (σ i+1, ω i+1 ) = (σ o, ω o ) = (1, 0) eine i-rekurrenz von b(x) ist. i = rdeg(b) Erstmalig ist δ i = b i 0. Wegen µ = 1 und ( σ 1 (x), ω 1 (x) ) = (0, x 1 ) setzt der Algorithmus σ i+1 (x) = 1 (δ i /1)x i+1 0 = 1 und ω i+1 (x) = 0 (δ i /1)x i+1 ( x 1 ) = b i x i. ( σ i+1 (x), ω i+1 (x) ) = (1, b i x i ) ist wegen 1 b(x) b i x i = x i+1 j b j+i+1x j eine (i + 1)-Rekurrenz von b(x). Zuletzt setzt der Algorithmus noch µ = i. rdeg(b) < i < N per Induktion nach i > rdeg(b). Wegen des vorangehenden Falls für i = rdeg(b) ist ( σ i+1 (x), ω i+1 (x) ) eine (i + 1)-Rekurrenz für b(x) mit deg(ω i+1 ) < i + 1. Damit ist der Induktionsanfang gemacht. Die Induktionsvoraussetzung im Induktionsschritt ist σ i (x)b(x) = ω i (x) mod x i und σ µ (x)b(x) = ω µ (x) mod x µ und damit per Multiplikation mit (δ i /δ µ )x i µ auch (δ i /δ µ )x i µ σ µ (x)b(x) = (δ i /δ µ )x i µ ω µ (x) mod x µ. 27 Elwyn R. Berlekamp: Nonbinary BCH Decoding; IEEE Trans. Inform. Theory. Vol. IT- 14:242, James L. Massey: Shift-Register Synthesis and BCH Decoding; IEEE Trans. Inform. Theory. Vol. IT-15, Nr. 1, 1969,
106 Subtraktion der Kongruenzen liefert modulo x i σ i+1 (x)b(x) = σ i (x)b(x) (δ i /δ µ )x i µ σ µ (x)b(x) = ω i (x) (δ i /δ µ )x i µ ω µ (x) = ω i+1 (x) mod x i Der Koeffizient zu x i in σ i (x)b(x) ist δ i und der Koeffizient zu x i in (δ i /δ µ )x i µ σ µ (x)b(x) ist ebenfalls δ i, weil δ µ der Koeffizient zu x µ in σ µ (x)b(x) ist. Also verschwindet der Koeffizient zu x i in σ i+1 (x)b(x). Wegen deg ω i+1 = max{deg ω i, i µ + deg ω µ } < i < i + 1 verschwindet der Koeffizient zu x i auch in ω i+1 (x). Mit σ i+1 (x)b(x) = ω i+1 (x) mod x i+1 ist daher ( σ i+1 (x), ω i+1 (x) ) eine (i + 1)-Rekurrenz für b(x) Minimalität der Rekurrenz-Ordnung Das folgende Lemma etabliert rekursive obere (upper) Schranken für ord(σ i, ω i ) im Berlekamp-Massey-Algorithmus. Lemma 6.9 Sei U i = ord(σ i, ω i ) für i = 0, 1,..., N. Mit U o = ord(σ o, ω o ) = ord(1, 0) = 0 gilt U i+1 max{u i, i + 1 U i } für 0 i < N. Falls speziell δ i = 0, falls also ( σ i (x), ω i (x) ) eine (i + 1)-Rekurrenz von b(x) ist, dann gilt sogar U i+1 = U i. Bew. Wir treffen wie in Lemma 6.8 folgende Fallunterscheidung: 0 i < rdeg(b) U i+1 = ord(σ i+1, ω i+1 ) = ord(σ o, ω o ) = ord(1, 0) = 0, d.h. U i+1 = 0 i + 1 = max{u i, i + 1 U i }. Zugleich verschwinden alle δ i, so daß auch U i+1 = 0 = U i gilt. i = rdeg(b) Es gilt (erstmalig) δ i = b i 0 und U i+1 = ord(σ i+1, ω i+1 ) = ord(1, b i x i ) = max{0, 1 + i 0} = max{u i, i + 1 U i }. rdeg(b) < i < N per Induktion nach i > rdeg(b). Die Berechnung der (i + 1)- Rekurrenz ( σ i+1 (x), ω i+1 (x) ) im Berlekamp-Massey-Algorithmus liefert sofort U i+1 = U i falls δ i = 0 und U i+1 = max{deg σ i+1, 1 + deg ω i+1 } = max{deg σ i, i µ + deg σ µ, 1 + deg ω i, 1 + i µ + deg ω µ } = max { max{deg σ i, 1 + deg ω i }, i µ + max{deg σ µ, 1 + deg ω µ } } = max{u i, i µ + U µ } sonst. Zu zeigen bleibt also i µ + U µ i + 1 U i oder gleichermaßen U i µ + 1 U µ. Grundsätzlich gilt µ < i im Algorithmus. In der (letzten) Iteration für µ gilt 2U µ < µ und U µ+1 max{u µ, µ + 1 U µ } = µ + 1 U µ laut Induktionsvoraussetzung. In jeder der (folgenden) Iterationen µ < j < i gilt nun entweder δ i = 0 mit der Folge U j+1 = U j oder δ j 0 und 2U j > j mit der Folge max{u j, j + 1 U j } = U j. Wegen der Induktionsvoraussetzung U j+1 U j für µ < j < i gilt also U j+1 U j gilt was zu zeigen war. U i U i 1... U µ+2 U µ+1 µ + 1 U µ Proposition 6.10 Mit den{ Bezeichnungen von Lemma 6.7 und 6.9 gilt L i = U i max{ui, i + 1 U für 0 i N und U i+1 = i } falls δ i 0 für 0 i < N. U i falls δ i = 0 Bew. L o = 0 = U o etabliert den Induktionsanfang. Im Induktionsschritt unterscheiden wir zwei Fälle: 106
107 1. eine i-rekurrenz von b(x) mit (minimaler) Rekurrenz-Ordnung L i ist keine (i + 1)-Rekurrenz. Mit Lemma 6.7 gilt dann L i+1 max{l i, i + 1 L i } = max{u i, i + 1 U i } aufgrund der Induktionsvoraussetzung. Lemma 6.9 liefert max{u i, i+1 U i } U i+1 L i wegen der Minimalität und Lemma 6.8. Also gilt L i+1 = U i jede i-rekurrenz von b(x) mit (minimaler) Rekurrenz-Ordnung L i ist auch (i + 1)-Rekurrenz. Dann muß notwendigerweise δ i verschwinden. Lemma warum? 6.7 liefert L i+1 L i = U i = U i+1 laut Induktionsvoraussetzung und Lemma 6.9. Da wegen der Minimalität U i+1 L i+1 gilt, folgt insgesamt L i+1 = U i+1. Bem. Konsequenz ist U i+1 > U i δ i 0 U i < i + 1 U i δ i 0 2U i i, d.h. die Rekurrenz-Ordnung nimmt genau dann zu, wenn die Bedingung des if-statements im Berlekamp-Massey-Algorithmus erfüllt ist Eigenschaften des Berlekamp-Massey-Algorithmus Satz Angewandt auf b(x) F [x] und 0 < N N produziert der Berlekamp- Massey-Algorithmus die N-Rekurrenz von b(x) über F mit der kleinsten möglichen Rekurrenz-Ordnung aller N-Rekurrenzen von b(x). Bem. Angewandt auf b(x) = S(x) und N = d 1 produziert der Algorithmus also ( σ d 1 (x), ω d 1 (x) ) = ( Λ(x), Γ(x) ). Bem. Wenn man binäre, alternante Codes dekodiert, ist das EEP überflüssig; Proposition 6.10 zeigt, wie man U i = ord(σ i, ω i ) gewinnt, ohne ω i explizit zu berechnen. Bem. Die Anzahl der ausgeführten Operationen auf F im Berlekamp-Massey- Algorithmus ist proportional zu J d, wobei J die Menge der Fehler-Stellen ist. Z.B. Sei F = GF 2 und Φ = GF(2 3 ) = F [x]/(1 + ξ + ξ 3 ), d.h. q = 8 und ξ ist primitiv (die Binär-Vektoren entsprechen den Koeffizienten von aufsteigenden Potenzen von ξ): 0 ξ 0 ξ 1 ξ 2 ξ 3 ξ 4 ξ 5 ξ ξ ξ ξ ξ + ξ ξ + ξ ξ Sei C RS Φ 7 ein primitiver, konventioneller [n = q 1 = 7, k = 3, d]-rs-code (code locators sind 1, ξ,..., ξ 6 und es gilt d = n k + 1 = 5) über Φ für b = 0 mit Generator-Polynom g(x) = (x ξ b )(x ξ b+1 ) (x ξ b+d 2 ) = (x 1)(x ξ)(x ξ 2 )(x ξ 3 ) Φ[x], so daß C RS = {u(x)g(x) : u(x) Φ k [x] = Φ 3 [x]} folgt. Der Code C RS Φ 7 umfaßt also M = Φ 3 = 8 3 = 512 viele Code-Wörter. Ein Code-Wort besteht aus 7 Symbolen in Φ und hat damit 7 3 = 21 bits. g(x) = (x 2 (1 + ξ)x + ξ)(x 2 (ξ 2 + ξ 3 )x + ξ 5 ) = (x 2 + ξ 3 x + ξ)(x 2 + ξ 5 x + ξ 5 ) = (x 4 + ξ 5 x 3 + ξ 5 x 2 ) + (ξ 3 x 3 + ξ 8 x 2 + ξ 8 x) + (ξx 2 + ξ 6 x + ξ 6 ) = x 4 + (ξ 5 + ξ 3 )x 3 + ξ 5 x 2 + (ξ + ξ 6 )x + ξ 6 = x 4 + ξ 2 x 3 + ξ 5 x 2 + ξ 5 x + ξ 6 Das Informationswort u = (1, ξ, ξ 2 ) oder u(x) = 1+ξx+ξ 2 x 2 wird zu u(x)g(x) = (x 4 + ξ 2 x 3 + ξ 5 x 2 + ξ 5 x + ξ 6 ) + (ξx 5 + ξ 3 x 4 + ξ 6 x 3 + ξ 6 x 2 + ξ 7 x) + (ξ 2 x 6 + ξ 4 x
108 ξ 7 x 4 + ξ 7 x 3 + ξ 8 x 2 ) = ξ 6 + (ξ 5 + ξ 7 )x + (ξ 5 + ξ 6 + ξ 8 )x 2 + (ξ 2 + ξ 6 + ξ 7 )x 3 + (1 + ξ 3 + ξ 7 )x 4 + (ξ + ξ 4 )x 5 + ξ 2 x 6 = ξ 6 + ξ 4 x + 0x 2 + 0x 3 + ξ 3 x 4 + ξ 2 x 5 + ξ 2 x 6 oder zu c = (ξ 6, ξ 4, 0, 0, ξ 3, ξ 2, ξ 2 ) kodiert. Natürlich läßt sich das Encoding effizient per LFSR erledigen. Sei y = c + e = c + (0, 0, 0, ξ, ξ 2, 0, 0) = (ξ 6, ξ 4, 0, ξ, ξ 5, ξ 2, ξ 2 ) das mit zwei Fehlern versehene, empfangene Wort. Mit d = 5 ist das zugehörige Syndrom 1 ξ 0 ξ 0 ξ 6 + ξ ξ + ξ 5 + ξ 2 + ξ 2 S=H RS y = 1 ξ 1 ξ 6 1 ξ 2 ξ 2 6 y = ξ 6 + ξ ξ 4 + ξ ξ ξ 6 + ξ ξ 6 + ξ = 1 ξ 3 ξ 3 6 ξ ξ 3 + ξ 3 + ξ 3 + ξ 6 oder S(x) = ξ 4 + ξ 3 x + ξx 2 + ξx 3. Der Input in den Berlekamp-Massey-Algorithmus ist b(x) = S(x) und N = d 1 = 4. i = 1 Initialisierung: σ 1 (x) = 0 und σ o (x) = 1 sowie ω 1 (x) = x 1 und ω o (x) = 0, zudem µ = 1 und δ 1 = 1 i = 0 δ o ist Koeffizient zu x o in σ o (x)s(x) = S(x) = ξ , also δ o = ξ 4. σ 1 (x) := σ o (x) (δ o /δ µ )x 0 µ σ µ (x) = 1 + (ξ 4 /1)x 1 0 = 1 ω 1 (x) := ω o (x) (δ o /δ µ )x 0 µ ω µ (x) = 0 + (ξ 4 /1)x 1 x 1 = ξ 4 Wegen δ o 0 und 2ord(σ o, ω o ) = ord(1, 0) = 0 0 = i ist µ := 0. Kein vorzeitiger Abbruch, weil 0 = i (d 1)/2 + ord(σ i, ω i ) = nicht erfüllt ist. i = 1 δ 1 ist Koeffizient zu x 1 in σ 1 (x)s(x) = S(x) = ξ 4 + ξ 3 x..., also δ 1 = ξ 3. σ 2 (x) := σ 1 (x) (δ 1 /δ µ )x 1 µ σ µ (x) = 1 + (ξ 3 /ξ 4 )x 1 1 = 1 + ξ 6 x ω 2 (x) := ω 1 (x) (δ 1 /δ µ )x 1 µ ω µ (x) = ξ 4 + (ξ 3 /ξ 4 )x 1 0 = ξ 4 Wegen δ 1 0 und 2ord(σ 1, ω 1 ) = ord(1, ξ 4 ) = 1 1 = i ist µ := 1. Kein vorzeitiger Abbruch, weil 1 = i (d 1)/2 + ord(σ i, ω i ) = nicht erfüllt ist. i = 2 δ 2 ist Koeffizient zu x 2 in σ 2 (x)s(x) = (1 + ξ 6 x)s(x) = (1 + ξ 6 x) (ξ 4 + ξ 3 x + ξx 2 + ξx 3 ) =... + (ξ + ξ 9 )x =... + ξ 4 x , also δ 2 = ξ 4. σ 3 (x) := σ 2 (x) (δ 2 /δ µ )x 2 µ σ µ (x) = 1 + ξ 6 x + (ξ 4 /ξ 3 )x 1 1 = 1 + ξ 5 x ω 3 (x) := ω 2 (x) (δ 2 /δ µ )x 2 µ ω µ (x) = ξ 4 + (ξ 4 /ξ 3 )x 1 ξ 4 = ξ 4 + ξ 5 x Wegen δ 2 0 und 2ord(σ 2, ω 2 ) = ord(1 + ξ 6 x, ξ 4 ) = 1 2 = i ist µ := 2 zu setzen. Kein vorzeitiger Abbruch, weil 2 = i (d 1)/2 + ord(σ i, ω i ) = nicht erfüllt ist. i = 3 δ 3 ist Koeffizient zu x 3 in σ 3 (x)s(x) = (1 + ξ 5 x)s(x) = (1 + ξ 5 x) (ξ 4 + ξ 3 x + ξx 2 + ξx 3 ) =... + (ξ + ξ 6 )x =... + ξ 5 x , also δ 3 = ξ 5. σ 4(x) := σ 3(x) (δ 3/δ µ)x 3 µ σ µ(x) = 1+ξ 5 x+(ξ 5 /ξ 4 )x 1 (1+ξ 6 x) = 1+ξ 6 x+x 2 ξ 4 ξ 3 ξ ξ ω 4 (x) := ω 3 (x) (δ 3 /δ µ )x 3 µ ω µ (x) = ξ 4 + ξ 5 x + (ξ 5 /ξ 4 )x 1 ξ 4 = ξ 4 108
109 Also gilt ( Λ(x), Γ(x) ) = ( σ 4 (x), ω 4 (x) ). Etwa durch Ausprobieren ergibt sich ξ i ξ 0 ξ 1 ξ 2 ξ 3 ξ 4 ξ 5 ξ 6 σ 4 (ξ i ) ξ 6 ξ 2 ξ ξ 2 1, d.h. Λ(x) = σ 4 (x) verschwindet ausschließlich in ξ 3 = (ξ 4 ) 1 und ξ 4 = (ξ 3 ) 1, so daß sich genau die beiden Fehlerstellen 3 und 4 ergeben. Die Werte des EEP und damit e = (e o, e 1,..., e n 1 ) ergeben sich durch Lösen eines linearen Gleichungssystems oder direkt etwa durch Forney 29 s Algorithmus zu e j = αj v j Γ(α 1 j falls Λ(α 1 j ) = 0 Λ (α 1 j ) 0 falls Λ(α 1 j ) 0 für j = 1,..., n, code locators α j und Spalten-Multiplizierern v j, hier mit α j = ξ j 1 und v j = 1 sowie Λ (x) = σ 4(x) = (1 + ξ 6 x + x 2 ) = ξ 6 und Γ(x) = ω 4 (x) = ξ 4 also zu e 3 = ξ 3 ξ4 ξ 6 e = (0, 0, 0, ξ, ξ 2, 0, 0). = ξ und e 4 = ξ 4 ξ4 ξ 6 = ξ 2, insgesamt also Wenn weniger als zwei Fehler aufgetreten wären, hätte vorzeitiger Abbruch Iterationen sparen können. RS-Codes dekodieren Probleme Problem 6.1 on p. 204 to subsection 6.2 Sei H grs kanonische Paritätsmatrix eines [n, k, d]-grs-codes C grs über F = GF q mit 0 < k n 2. Für e F n bezeichne S = (S o, S 1,..., S d 2 ) = H grs e das Syndrom von e. 1. Sei w(e) = t. Zeige: der längste 0-run in S hat eine Länge kleiner als t, d.h. zu jedem 0 i < d t gibt es ein j mit i j < i + t mit S j Die Schranke in Nr.1 ist scharf, d.h. für jedes t mit 0 < t d und jedes i mit 0 i d t gibt es ein e F n mit w(e) = t und S j = 0 für i j < i + t Drücke die Elemente des Syndroms eines Wortes e F n mit w(e) = 1 allein durch S o und S 1 aus. Problem 6.2 on p. 205 to subsection 6.3 Sei F = GF 2 und C RS ein normalisierter, primitiver [15, 11]-Code über Φ = F [ξ]/(ξ 4 +ξ+1) mit kanonischer Paritätsmatrix H RS = ( ξ ij) i=0,...,3,j=0,...,14. Ein Wort y = (y i) i=1,...,15 = (ξ, ξ, ξ 2, ξ 2, ξ 4, ξ 5, ξ 6, ξ 7, ξ 8, ξ 9, ξ 10, ξ 11, ξ 12, ξ 13, ξ 14 ) Φ 15 sei empfangen worden. 29 Georg David Forney * memberdata/forneyd 109
110 1. Berechne das Syndrom von y. (Verwende die Tabelle im Beispiel auf S. 39) j=1 yj j=5 15 H RS y j=1 = ξj 1 y ξj 1 j 15 j=1 ξ2(j 1) y j = ξ 0 ξ + ξ 1 ξ + ξ 2 ξ 2 + ξ 3 ξ j=5 ξj 1 ξ j 1 ξ 0 ξ + ξ 2 ξ + ξ 4 ξ 2 + ξ 6 ξ j=1 ξ2(j 1) ξ j 1 15 j=1 ξ3(j 1) y j ξ 0 ξ + ξ 3 ξ + ξ 6 ξ 2 + ξ 9 ξ j=5 ξ3(j 1) ξ j ξ + ξ 2 + ξ 3 ξ 12 S o = 1 + ξ 3 ξ 2 + ξ 3 = ξ 14 ξ 6 = S 1 S 2 0. Übrigens ist C RS ein [15, 11, d]- ξ ξ S 3 RS-Code mit d = n k + 1 = 5, der bis zu zwei Fehler korrigieren kann. 2. Bestimme das ELP Λ und das EEP Γ des Fehler-Wortes e unter der Annahme, daß maximal zwei Fehler aufgetreten sind. Für τ = (d 1)/2 = 2 hat hier das Gleichungssystem (6.7) die Gestalt S o 0 0 ξ S 1 S o 0 λ γ o S 2 S 1 S o λ 1 = ξ 14 ξ 12 0 λ o o ξ λ 6 ξ 14 ξ 12 λ 1 = γ 1 0 S 3 S 2 S 2 1 ξ ξ 6 ξ 14 λ 2 0 ( ) ξ 6 ξ Das untere Gleichungssystem 14 ξ 12 ξ ξ 6 ξ 14 λ = 0 ist äquivalent zu ( ) ( ) 1 ξ 8 ξ 6 1 ξ 8 ξ 1 ξ 5 ξ 13 λ = 0 und nach Elimination zu 6 0 ξ 4 λ = 0 und 1 λ o ξ 12 hat die Lösungsgesamtheit λ = λ 1 = λ 2 ξ 11 für alle λ 2 Φ. Da λ 2 1 der konstante Term des ELPs 1 ist, folgt Λ(x) = 1 + ξ 14 x + ξ 3 x 2 mit x 0 1 ξ ξ 2 ξ 3 ξ 4 ξ 5 ξ 6 ξ 7 ξ 8 ξ 9 ξ 10 ξ 11 ξ 12 ξ 13 ξ 14 Λ(x) 1 0 ξ 5 ξ 3 ξ 12 ξ 10 ξ 12 ξ 5 ξ 14 ξ 14 ξ 3 ξ ξ 10 ξ 11. Aus Λ(1) = Λ(1 1 ) = Λ(α 1 1 ) = 0 und Λ(ξ12 ) = Λ((ξ 3 ) 1 ) = Λ(α 1 4 ) = 0 folgt J = {1, 4}. Aus dem oberen Gleichungsystem ergibt sich γ o = S o λ o = S o = ξ 12 und γ 1 = S 1 λ o + S o λ 1 = ξ 14 + ξ 12 ξ 14 = ξ 10. Um die e 1 und e 4 zu bestimmen, löst man etwa das Gleichungssystem (6.1) S l = j J e jαj l für l = 0, 1, 2, 3 = d 2 mit vier (!) Gleichungen in den beiden Unbekannten e 1 und e 4. Für l = 0 folgt S o = ξ 12 = e 1 α1 o + e 4 α4 o = e 1 + e 4 und für l = 1 folgt S 1 = ξ 14 = e 1 α1 1 + e 4 α4 1 = e 1 + ξ 3 e 4 mit Lösung e 1 = ξ 4 und e 4 = ξ 6. Diese Lösung befriedigt auch die beiden restlichen Gleichungen, nämlich S 2 = ξ 6 = e 1 α1 2 + e 4 α4 2 und S 3 = ξ = e 1 α1 3 + e 4 α4. 3 Alternativ berechnet man Λ Euklid und Γ Euklid vermittels des erweiterten Euklid schen Algorithmus, indem man den Algorithmus mit r 1 = a(x) = x d 1 = x 4 und r o = b(x) = S(x) = ξx 3 + ξ 6 x 2 + ξ 14 x + ξ 12 sowie mit den Standard-Vorgaben s 1 = 1, s o = 0, t 1 = 0 und t o = 1 initialisiert. Für i = 1 ergibt sich q 1 = r 1 /r o = ξ 14 x + ξ 4 und r 1 = ξ 9 x 2 + ξ 5 x + ξ sowie s 1 = s 1 q 1 s o = 1 und t 1 = t 1 q 1 t o = q 1. Für i = 2 ergibt sich q 2 = r o /r 1 = ξ 7 x + ξ 10 und r 2 = ξ 13 x + 1 sowie t 2 = t o q 2 t 1 = 1 + (ξ 7 x + ξ 10 )(ξ 14 x + ξ 4 ). Wegen deg(r 2 ) < 1 2 (d 1) = 2 terminiert der Algorithmus hier und gibt 110
111 Λ Euklid (x) = t 2 (x) = ξ 6 x 2 + ξ 2 x + ξ 3 und Γ Euklid (x) = ξ 13 x + 1 zurück. Wie oben sind α1 1 und α4 1 Nullstellen des ELPs und daher J = {1, 4}. Für das Fehler-Wort e ergibt sich dann mit der Formel von Forney e 1 = α1 Γ(α 1 1 ) v = 1 Λ (α 1 1 ) Γ(1)/Λ (1) = (ξ )/ξ 2 = ξ 4 sowie e 4 = α4 Γ(α 1 4 ) v = 4 Λ (α 1 4 ) ξ 3 Γ(ξ 12 )/Λ (ξ 12 ) = ξ 3 (ξ )/ξ 2 = ξ 6. Für c = y e = (c i ) i=1,...,15 mit c 1 = y 1 + e 1 = ξ + ξ 4 = 1, c 4 = y 4 + e 4 = ξ 2 + ξ 6 = ξ 3 und c j = y j = ξ j 1 sonst gilt also c j = ξ j 1 für alle j = 1,..., 15 und daher ist Probe-halber 15 j=1 ξ0(j 1) ξ j 1 15 c C RS H RS c j=1 = ξ1(j 1) ξ j 1 15 j=1 ξ2(j 1) ξ j 1 = 15 j=1 ξ3(j 1) ξ j 1 15 j=1 ξj 1 15 j=1 ξ2(j 1) 15 j=1 ξ3(j 1) 15 j=1 ξ4(j 1) = 0 weil ja 15 j=1 ξi(j 1) = 14 j=o (ξi ) j = 1 (ξi ) 15 1 ξ = 1 (ξ15 ) i i 1 ξ = 0 für i N gilt. i Problem 6.5 on p. 206 to subsection 6.3 Sei F ein Körper. Zeige: F [[x]] ist ein Integritätsbereich. Mit a, b F [[x]], d.h. a(x) = i=0 a ix i und b(x) = i=0 b ix i für Koeffizienten a i, b i F sind auch die Summe ( a + b ) (x) = ( ) i=0 (a i + b i )x i und das Produkt a b (x) = i=0 c ix i mit c i = j+k=i a jb k wieder formale Potenzreihen, also a + b F [[x]] und ab F [[x]]. Man prüft Assoziativität und Distributivität von Additon und Multiplikation. Offensichtlich sind Addition und Multiplikation kommutativ. Das Polynom identisch 0 bzw. 1 ist das neutrale Element bzgl. der Addition bzw. der Multiplikation. Damit ist F [[x]] kommutativer Ring mit Eins. Es bleibt zu zeigen, daß F [[x]] Integritätsbereich ist, d.h. keine Nullteiler aufweist. Für a, b F [[x]] gelte also c(x) = ( ab ) (x) = i=0 c ix i = 0 mit c i = j+k=i a jb k. Angenommen, a und b sind nicht (zugleich) beide 0, d.h. es gibt minimale Indizes j und k mit a j 0 und b k 0. Für i = j + k gilt dann c i = j+k=i a jb k = i l=0 a lb i l = i l=j a lb j+k l = a j b k 0 im Widerspruch zur Annahme. Problem 6.6 on p. 206 to subsection 6.3 Sei F ein endlicher Körper. 1. Zeige: a(x) F [[x]] ist invertierbar x a, d.h. a o 0 Wenn a(x) F [[x]] invertierbar ist, dann existiert b(x) F [[x]] mit ( ab ) (x) = 1 und insbesondere ( ab ) (0) = ao b o = 1, was nur für a o 0 möglich ist. Die umgekehrte Implikation folgt aus Nr Zeige: wenn a F [[x]] invertierbar ist, dann ist das Inverse b = a 1 eindeutig bestimmt und es gilt b(x) = i=0 b ix i mit b o = 1/a o und b i = 1 i a o j=1 a jb i j für i
112 Für das definierte b F [[x]] und c = ab gilt c o = a o b o = 1, c 1 = a o b 1 + a 1 b o = a o ( 1 a o a 1 b o ) + a 1 b o = 0 und eben allgemein c i = i j=0 a jb i j = a o b i + i j=1 a 1 i jb i j = a o a o j=1 a jb i j + i j=1 a jb i j = 0 für i 1. Problem 6.7 on p. 206 to subsection 6.3 Sei F ein Körper und β F. Zeige: (1 βx) 1 = i=o (βx)i F [[x]]. (1 βx) i=o (βx)i = i=o (βx)i i=1 (βx)i = (βx) o = 1 in F [[x]]. Problem 6.14 on p. 214 to subsection 6.7 Sei 0 < L N und σ(x) = 1 + L j=1 λ jx j = L j=o λ jx j F L+1 [x] mit λ o = Sei a(x) = i=o a ix i F [[x]] mit a i = L j=1 λ ja i j = 0 für jedes i L oder gleichbedeutend i j=o λ ja i j = 0 für jedes i L. Zeige: es gibt genau ein ω(x) F L [x] mit a(x) = ω(x)/σ(x) in F [[x]] (sodaß wegen σ(x)a(x) ω(x) = 0 x N eben ( σ(x), ω(x) ) eine N-Rekurrenz von a(x) für jedes 0 < N N ist). Sei ω(x) := i=o γ ix i = a(x)σ(x) = i=o xi i j=o λ ja i j F [[x]]. Die lineare Rekurrenz liefert ω(x) F L [x] und Koeffizientenvergleich die Eindeutigkeit. 2. Zeige umgekehrt: für jedes Polynom ω(x) F L [x] erfüllt die formale Potenz-Reihe a(x) = ω(x)/σ(x) die lineare Rekurrenz aus Nr.1. Koeffizientenvergleich für ω(x) = a(x)σ(x), also für zwei Polynome in F L [x] liefert die lineare Rekurrenz. 3. Sei F endlicher Körper. Zeige: es gibt F L verschiedene Folgen (a i ) i=o, die die lineare Rekurrenz aus Nr.1 erfüllen. Die ersten L Elemente von (a i ) i=o können beliebig gewählt werden. Die lineare Rekurrenz legt dann alle weiteren Elemente fest. Also gibt es F L verschiedene Folgen (a i ) i=o. Problem 6.15 on p. 214 to subsection 6.7 (kleinste Rekurrenz-Ordnung) Sei b(x) F [x] und sei ( σ(x), ω(x) ) eine N-Rekurrenz von b(x) mit minimaler Rekurrenz-Ordnung ord(σ, ω). 1. Zeige: gcd(σ, ω) = 1 ( σ(x), ω(x) ) ist eine N-Rekurrenz von b(x), d.h. σ(x)b(x) = ω(x) mod x N oder σ(x)b(x) ω(x) = 0 mod x N oder σ(x)b(x) ω(x) = µ(x)x N. Angenommen, gcd(σ, ω) 1, d.h. etwa σ(x) = g(x)ˆσ(x) und ω(x) = g(x)ˆω(x) mit der Folge g(x) (ˆσ(x)b(x) ˆω(x) ) = µ(x)x N. Sei o.b.d.a. g(x) irreduzibel: laut Proposition 3.3 teilt g(x) also µ(x) oder x N. Da letzteres nicht möglich ist (g müßte dann x Ni für N > N 1 > N 2... > 0 112
113 teilen), folgt (ˆσ(x)b(x) ˆω(x) ) = ˆµ(x)x N. Damit ist (ˆσ(x), ˆω(x) ) eine N-Rekurrenz von b(x) mit Rekurrenz-Ordnung kleiner als ord(σ, ω) im Widerspruch zur Minimalität von ord(σ, ω). 2. Zeige: wenn ord(σ, ω) N/2, dann ist ( σ(x), ω(x) ) eindeutig bestimmt. Lösungshinweis: siehe Beweis von Proposition 6.1 Angenommen, σ i (x)b(x) = ω i (x) mod x N mit ord(σ i, ω i ) N/2 für i = 1, 2. Wegen σ i (0) = 1 existiert σ 1 i (x) F [x]/x N. Damit gilt b(x) = ω i (x)σ 1 i (x) + µ i (x)σ 1 i (x)x N und daher (ω 1 σ 2 ω 2 σ 1 )(x) = µ(x)x N oder eben ω 1 σ 2 ω 2 σ 1 = 0, weil deg(ω 1 σ 2 ω 2 σ 1 ) = max{deg(ω 1 ) + deg(σ 2 ), deg(ω 2 ) + deg(σ 1 )} < N. Aus ω 1 σ 2 = ω 2 σ 1 und gcd(σ i, ω i ) = 1 folgt mit Lemma 3.2 auf S. 36 σ 1 σ 2 und σ 2 σ 1 sowie ω 1 ω 2 und ω 2 ω 1, also σ 1 = σ 2 sowie ω 1 = ω Problem 6.16 on p. 214 to subsection 6.7 (Minimale Rekurrenzen von unendlichen Folgen) Seien σ(x), ω(x) F [x] mit gcd(σ, ω) = 1. Betrachte die formale Potenz-Reihe a(x) := ω(x)/σ(x) F [[x]]. 1. Zeige: es gibt ein eindeutig bestimmtes Paar von Polynomen t(x), r(x) F [x] mit (i) gcd(t, r) = 1 (ii) ( t(x), r(x) ) ist eine N-Rekurrenz von a(x) über F für jedes N 0. Wegen gcd(σ, ω) = 1 existieren per erweitertem Eulklid schen Algorithmus zwei Polynome t(x), r(x) F [x] mit t(x)ω(x) r(x)σ(x) = 1. (i)? (ii) ( t(x), r(x) ) ist eine N-Rekurrenz von a(x) über F für jedes N N genau dann, wenn t(x)a(x) = t(x) ω(x) σ(x) = 1+r(x)σ(x) σ(x)? =?r(x) mod x N Im Folgenden sei das Paar t(x), r(x) F [x] mit den Eigenschaften der Nr.1 fest. 2. Zeige: für jedes N N > 2ord(t, r) ist das Paar ( t(x), r(x) ) eine N- Rekurrenz von a(x) mit der kleinst-möglichen Rekurrenz-Ordnung. 3. Zeige: a(x) ist periodisch genau dann, wenn der Exponent von t endlich ist und deg r < deg t gilt (s.a. Problem 6.8 und 6.9). Was ist dann die Periode von a(x)? 4. Zeige: wenn F ein endlicher Körper ist und wenn deg r < deg t gîlt, dann ist a(x) notwendigerweise periodisch. 113
114 7 Struktur endlicher Körper 7.1 Minimale Polynome Im Folgenden sei generell F = GF q und Φ = GF(q n ). Φ ist also Erweiterungskörper von F mit Erweiterungsgrad n = [Φ : F ]. Def. α und β heißen konjugiert, α β es gibt r N mit β = α qr. Bem. Man darf in der Definition o.b.d.a. r < n annehmen: sei nämlich r = cn + d mit d = r mod n. Dann gilt α qcn = α qn α q(c 1)n = α q(c 1)n =... = α q0 n = α und daher α qr = α qcn+d = ( α qcn ) q r. Satz Konjugiert zu sein, ist eine Äquivalenz-Relation. Bew. ist reflexiv, weil α = α q0 ; ist symmetrisch, weil aus β = α qr eben β qn r = ( ) q n r α qr = α q n = α folgt; ist transitiv, weil aus β = α qr und γ = β qs eben γ = folgt. Die Äquivalenz-Klassen heißen Konjugenz-Klassen und zerlegen Φ disjunkt. α C α = {β α : β Φ} ist die Konjugenz-Klasse von α. Satz C α = {α, α q, α q2,..., α qm 1 } wobei m N minimal mit α qm = α. Bew. Offensichtlich sind alle gelisteten Elemente konjugiert zu α. Bleibt zu zeigen, daß sie alle verschieden sind. Angenommen α qi = α qj für 0 < i < j < n. Dann ergibt sich der Widerspruch zur Minimalität von m aus α qm j+i = α qm j+j = α qm = α. Def. Sei m α = C α. M α (x) = γ C α (x γ) = m 1 i=o (x ) definiert das αqi Minimal-Polynom von α bzgl. F. Offensichtlich gilt deg M α = m α und M α = M β für jedes β C α. Z.B. Sei F = GF 2 und Φ = F [ξ]/(ξ 3 + ξ + 1) mit Φ = 7. Die Konjugenz- Klassen sind C 0 = {0}, C 1 = {1}, C ξ = {ξ, ξ 2, ξ 4 } (weil ξ 8 = ξ 8 mod 7 = ξ) und C ξ 3 = {ξ 3, ξ 6, ξ 5 } mit ξ 12 = ξ 12 mod 7 = ξ 5. Die Minimal-Polynome sind M 0 (x) = x, M 1 (x) = x 1, M ξ (x) = (x ξ)(x ξ 2 )(x ξ 4 ) = x 3 + x + 1 = M ξ 2(x) = M ξ 4(x) und M ξ 3(x) = (x ξ 3 )(x ξ 6 )(x ξ 5 ) = x 3 + x = M ξ 6(x) = M ξ 5(x). Bemerke, daß alle Koeffizienten der Minimal-Polynome in F liegen. Proposition 7.3 M α (x) F [x] für jedes α Φ. Bew. q ist eine Potenz der Charakteristik von Φ. Also gilt Mα(x) q = ( M α (x) ) q = γ C α (x γ) q = γ C α (x q γ q ) = M α (x q ), weil mit γ auch γ q ganz C α durchläuft und umgekehrt. Sei nun M α (x) = m i=o a ix i mit m = m α = C α. Dann gilt Mα(x) q = ( m i=o a ix i) q m = i=o aq i xiq = m i=o a ix iq = M α (x q ), was a q i a i = 0 für jedes 0 i m und damit laut Problem 3.11 auf S. 50 a i F impliziert. Proposition 7.4 Für α Φ und b(x) F [x] mit b(α) = 0 gilt M α (x) b(x). Bew. Da mit α laut Problem 3.30 auf S. 61 auch jedes konjugierte Element α qr Nullstelle von b ist, muß M α (x) = γ C α (x γ) Teiler von b(x) sein. 114
115 Bem. So ist auch der Name Minimal-Polynom gerechtfertigt: M α (x) F [x] \ {0} ist das monische Polynom kleinsten Grades mit Nullstelle α, s.a. Problem 3.12 auf S. 51. Satz Für jedes α ist M α (x) irreduzibel über F. Bew. Da α Wurzel von M α (x) ist, muß es Wurzel eines irreduziblen Faktors a(x) F [x] sein. Wegen des vorigens Satzes gilt M α (x) a(x), also ist M α skalares Vielfaches des irreduziblen a(x). Z.B. C = R[x]/(x 2 + 1) ist Erweiterungskörper von R mit Erweiterungsgrad 2. Sei i = 1 C. z = a + ib a ib = z sind zueinander konjugiert. Es gilt C z = {z} falls z R und C z = {z, z } falls z C \ R. Das Minimal-Polynom M z (x) = (x z)(x z ) = x 2 2ax + (a 2 + b 2 ) ist irreduzibel über R. Lemma Für jedes α und s N gilt α qs = α C α = m α s. Bew. Sei m = m α und s = cm + d mit d = s mod m. Wegen α qcm = α qm α q(c 1)m = α q(c 1)m =... = α gilt α qs = α qcm+d = α qd. Die Definition von m = m α impliziert dann α qs = α d = 0. Proposition 7.7 Für jedes α gilt C α = m α n = [Φ : F ]. Bew. Für α Φ gilt α qn = α, so daß mit dem vorstehenden Lemma m α n folgt. Sei Q(x) = x qn x F [x]. Da jedes α Φ Nullstelle von Q ist, gilt Q(x) = (x α). α Φ Proposition 7.8 Es gilt Q(x) = M M α(x) α(x), wenn die Faktoren alle verschiedenen Minimal-Polynome ausmachen. Bew. Q(x) = x qn x = α Φ (x α) = C α γ C α (x γ), wo C α alle verschiedenen und disjunkten Äquivalenzklassen durchläuft. Z.B. Sei F = GF 2 und Φ = F [ξ]/(ξ 3 +ξ +1). Dann gilt x 8 x = x (x 1) (x ξ)(x ξ 2 )(x ξ 4 ) (x ξ 3 )(x ξ 6 )(x ξ 5 ) = M 0 (x) M 1 (x) M ξ (x) M ξ 3(x) = x(x 1)(x 3 + x + 1)(x 3 + x 2 + 1). Proposition 7.9 Die Minimal-Polynome der Elemente in Φ sind gerade die monischen, irreduziblen Polynome über F, deren Grade n teilen. Bew. Einerseits ist das Minimal-Polynom M α (x) = γ C α (x γ) eines jedes α Φ irreduzibel und wegen m α n teilt sein Grad n. Andererseits Satz 7.10 Es gilt Q(x) = x qn x F [x] läßt sich darstellen als Q(x) = a(x) a(x), wo a(x) alle monischen, irreduziblen Polynome über F durchläuft, deren Grade n teilen. Z.B. Sei F = GF 2. Dann ergeben sich folgende irreduzible Faktorisierungen von x 2n x F [x] für n = 1, 2, 3, 4: x 21 x = x(x 1) x 22 x = x(x 1)(x 2 + x + 1) x 23 x = x(x 1)(x 3 + x + 1)(x 3 + x 2 + 1) und x 24 x = x(x 1)(x 2 + x + 1)(x 4 + x + 1)(x 4 + x 3 + 1)(x 4 + x 3 + x 2 + x + 1) Z.B. Sei F = GF 2, P 1 (x) = x 4 + x + 1 und Φ = F [x]/p 1 (x). Dann sind die Konjugenz-Klassen C 0 = {0}, C 1 = {1}, C ξ = {ξ, ξ 2, ξ 4, ξ 8 }, C ξ 3 = {ξ 3, ξ 6, ξ 12, ξ 9 } 115
116 (weil ξ 24 = ξ 24 mod 15 = ξ 9 ), C ξ 5 = {ξ 5, ξ 10 } (weil ξ 20 = ξ 20 mod 15 = ξ 5 ) und C ξ 7 = {ξ 7, ξ 14, ξ 13, ξ 11 } (weil ξ 28 = ξ 28 mod 15 = x 13 und ξ 56 = ξ 56 mod 15 = ξ 11 ). Die Konjugenz-Klassen der Kardinalität 1 gehören zu den Elementen von F mit Minimal-Polynomen M 0 (x) = x und M 1 (x) = x 1. Die einzige Konjugenz-Klasse mit zwei Elementen ist C ξ 5 = {ξ 5, ξ 10 } mit Minimal-Polynom M ξ 5(x) = M ξ 10(x) = x 2 + x + 1, weil dieses Polynom das einzige irreduzible Polynom zweiten Grades über F ist. Das Polynom x(x 1)(x ξ 5 )(x ξ 10 ) = x(x 1)(x 2 + x + 1) = x 4 x hat die Wurzeln F C ξ 5, die damit wegen Proposition 3.16 auf S. 41 einen Körper F K = GF(2 2 ) Φ bilden. Jede der verbleibenden Konjugenz-Klassen C ξ, C ξ 3 und C ξ 7 hat vier Elemente. Erstens ist ξ Wurzel des irreduziblen Polynoms P 1 (x), so daß P 1 (x) Minimal- Polynom der Elemente von C ξ ist. Weil zweitens ξ 14 = ξ 1 C ξ 7 Wurzel des irreduziblen Polynoms P 2 (x) = x 4 + x ist, ist P 2 (x) Minimal-Polynom der Elemente von C ξ 7. Da drittens P 3 (x) = x 4 + x 3 + x 2 + x + 1 das einzige verbleibende irreduzible Polynom vierten Grades ist, ist es das Minimal-Polynom der Elemente von C ξ 3. Wegen x(x 1)(x ξ 5 )(x ξ 10 ) = x(x 1)(x 2 +x+1) = x 4 x bildet K = F C ξ 5 die Menge der Wurzeln von x 4 x. Wegen (des Beweises von) Proposition 3.16 auf S.41 ist damit K ein Körper, K = GF(2 2 ). F = GF 2 = C o C 1 ist Unterkörper von K = F C ξ 5 = GF(2 2 ). K ist Unterkörper von Φ = F [ξ]/p 1 (ξ) = GF(2 3 ), während C ξ, C ξ 3, C ξ 7 Φ \ K jeweils genau vier Elemente haben. 7.2 Abzählen der irreduziblen Polynome Sei die Möbius 30 -Funktion µ : Z + { 1, 0, 1} durch µ(n) = µ ( s ) für n = 1 j=1 pej j = ( 1) 1 s falls e j = 1 für j = 1, 2,..., n definiert. 0 sonst Satz (Möbius Inversionsformel) Seien h, H : Z + R. Dann gilt H(n) = m n h(m) n Z+ h(n) = m n µ(m)h(n/m) n Z+ Bew. s. A.2 auf S. 147 Satz Sei I(n, q) die Anzahl der irreduziblen Polynome n-ten Grades über F = GF q. Dann gilt I(n, q) = 1 n m n µ(m)qn/m. Bew. Für Q(x) = x qn x gilt wegen Theorem 7.10 auf S. 115 q n = deg(q) = deg ( a(x) a(x)) = a(x) deg(a) = m n m I(m, q), wo in Produkt und Summe a(x) alle monischen, irreduziblen Polynome über F durchläuft, deren Grade n teilen. Aus q n = m n m I(m, q) folgt mit der Möbius schen Inversionsformel angewandt auf h(n) = n I(n, q) und H(n) = q n die Behauptung. 30 August Ferdinand Möbius ( ) www-history.mcs.st-andrews.ac.uk/biographies/mobius.html 116
117 Z.B. Einige Werte von I(n, q) für q = 2 sind also n I(n, 2) a(x) 1 1 µ(1) 2 1 ( ) = 2 x, x µ(1) 4 + µ(2) 2 2 ( ) = 1 x 2 + x µ(1) 8 + µ(3) 2 3 ( = 2 ) x 3 + x + 1, x 3 + x µ(1)16 + µ(2)4 + µ(4)2 = 3 x 4 + x + 1, x 4 + x 3 + 1, x 4 + x 3 + x 2 + x Isomorphie endlicher Körper Satz Alle Körper derselben Größe sind isomorph. Bew. Seien Φ und K Körper derselben Größe p n mit derselben Charakteristik p. Beide Körper enthalten F = GF p und können als Erweiterungskörper über F aufgefaßt werden mit [Φ : F ] = n = [K : F ]. Sei nun a(x) F [x] vom Grad n monisch und irreduzibel. Wegen Proposition 7.9 auf S.115 ist a(x) Minimal- Polynom eines Elementes α Φ wie auch Minimal-Polynom eines Elementes β K. Wegen Problem 7.6 gilt Φ = {u(α) : u F n [x]} und K = {u(β) : u F n [x]} und die Abbildung ψ : K Φ mit ψ ( u(β) ) = u(α) ist ein Isomorphismus: ψ ist nämlich offensichtlich additive und bijektiv. ψ ist aber auch multiplikativ. Seien u(x), v(x) F n [x] und sei r = (uv) mod a F n [x]. Als Minimal-Polynom verschwindet a in α bzw. in β. Wegen a(α) = 0 in Φ und a(β) = 0 in K gilt also ψ ( u(β)v(β) ) = ψ ( r(β) ) = r(α) = u(α)v(α) = ψ ( u(β) ) ψ ( v(β) ). 7.4 primitive Polynome Sei F = GF q und a(x) F [x] mit gcd ( a(x), x ) = 1. Wie in Problem 6.9 definiert man Def. Der Exponent exp a(x) von a ist das minimale e N mit a(x) (x e 1). Der Exponent stimmt also überein mit der multiplikativen Ordnung von x in F [x]/a(x). Proposition 7.14 Sei a(x) irreduzibel über F = GF q, a(x) sei kein skalares Vielfaches von x. Dann stimmt der Exponent von a(x) überein mit der multiplikativen Ordnung einer jeden Wurzel von a in jedem Erweiterungskörper von F. Insbesondere haben also alle Wurzeln von a(x) dieselbe multiplikative Ordnung. Bew. Sei o.b.d.a. a monisch mit Wurzel α Φ, wo Φ ein Erweiterunsgkörper von F ist. Wegen Proposition 7.9 auf S.115 ist a Minimal-Polynom eines Elementes α Φ. Wegen Proposition 7.4 auf S.114 gilt nun α e = 1 a(x) (x e 1). Satz α Φ habe die multiplikative Ordnung e in Φ, einem Erweiterungskörper von F = GF q. Der Grad des Minimal-Polynoms von α bzgl. F ist das minimale m N mit e (q m 1). Bew. Der Grad des Minimal-Polynoms von α bzgl. F ist das minimale m N mit α qm = α oder ebenso mit α qm 1 = 1, was äquivalent zu e (q m 1) ist. Zusammen ergibt sich: 117
118 Satz Sei x a(x) F [x] monisch, irreduzibel und vom Grad m mit e = exp a(x). Der Grad von a ist dann das minimale m N mit e (q m 1). Z.B. Sei F = GF 2 und Φ = F [ξ]/a(ξ) mit a(x) = x 4 + x + 1 und exp a(x) = 15. Aus exp a = e (2 4 1) = 15 folgt e {1, 3, 5, 15} und a(x) (x e 1) impliziert e {5, 15}. Weil (x 5 1) mod a(x) = x 2 gilt, ist nur e = 15 möglich. C α M α (x) O(α) Bem. {0} x {1} x {ξ, ξ 2, ξ 4, ξ 8 } x 4 + x vgl. a(x) {ξ 3, ξ 6, ξ 12, ξ 9 } x 4 + x 3 + x 2 + x M ξ 3(x)(x 1) = x 5 1 {ξ 5, ξ 10 } x 2 + x M ξ 5(x)(x 1) = x 3 1 {ξ 7, ξ 14, ξ 13, ξ 11 } x 4 + x wie für a(x) Elemente derselben Konjugenz-Klasse haben dasselbe Minimal-Polynom und daher dieselbe multiplikative Ordnung. Def. Sei F = GF q und a(x) F [x] irreduzibel vom Grad n. Das Polynom a heißt primitiv genau dann, wenn exp a = q n 1 gilt. Satz Die monischen, primitiven Polynome vom Grad n über GF q sind genau die Minimal-Polynome primitiver Elemente in GF(q n ). Bew. Sei α Φ = GF(q n ) mit deg(m α ) = m. Wegen Proposition 7.14 auf S.117 ist α primitiv genau dann, wenn exp M α = q n 1 gilt. Die Anzahl der primitiven Elemente in GF(q n ) ist φ(q n 1), wo φ die Euler- Funktion bezeichnet. Da mit α Φ wegen Problem 7.7 Nr.4 auf S.123 auch jedes der n konjugierten Elemente α qi für i = 0, 1, 2,..., n 1 primitiv ist und da alle diese Elemente dasselbe Minimal-Polynom haben, gilt Satz Für die Anzahl P(n, q) der monischen, primitiven Polynome vom Grad n über GF q gilt P(n, q) = 1 n φ(qn 1). Z.B. n P(n, 2) primitive Polynome vom Grad n 1 1 φ(1) = 1 x φ(3) = 1 x2 + x φ(7) = 2 x3 + x + 1, x 3 + x φ(15) = 2 x4 + x + 1, x 4 + x Kreisteilungsnebenklassen Sei F = GF q und betrachte x e 1 F [x] mit gcd(e, q) = 1. Proposition 7.19 Sei F = GF q und e N mit gcd(e, q) = 1. Dann gilt (i) Die Wurzeln von x e 1 in jedem Erweiterungskörper von F sind einfach. (ii) Der Zerfällungskörper von x e 1 über F ist GF(q m ), wobei m N minimal mit e (q m 1) ist. Bew. (i) Wegen gcd(e, q) = 1 gilt (x e 1) = ex e 1 0. Wegen (x e 1) mod (ex e 1 ) = 1 gilt gcd(x e 1, ex e 1 ) = 1. Also sind nach Lemma 3.15 auf S.41 alle Wurzeln von x e 1 einfach. (ii) Das Polynom x e 1 hat e (einfache) Wurzeln in GF(q r ) (x e 1) (x qr x) wegen Proposition 3.6 auf S.38 (x e 1) (x qr 1 1) e (q r 1) wegen Problem 3.4 auf S
119 Proposition 7.20 Sei F = GF q und e N mit gcd(e, q) = 1 und sei m N minimal mit e (q m 1). Dann gilt x e 1 = M M α(x) α(x), wobei M α (x) alle verschiedenen Minimal-Polynome zu α GF(q m ) durchläuft mit O(α) e Bew. Die Wurzeln von x e 1 in Φ = GF(q m ) sind einfach. Sie stimmen daher überein mit den e Elementen in Φ, deren multiplikative Ordnung e teilt. Da mit α auch α q eine Wurzel ist, ist die Menge der Wurzeln von x e 1 disjunkte Vereinigung i C α i von Konjugenz-Klassen mit ausgewählten Repräsentanten α i, d.h. x e 1 = i γ C αi (x γ) = i M α i (x). Wegen α e 1 = 0 ist die multiplikative Ordnung einer jeden Wurzel α ein Teiler von e. Def. Sei F = GF q und e N mit gcd(e, q) = 1 und sei m N minimal mit e (q m 1). Sei weiter α Φ = GF(q m ) mit O(α) = e. Sei α Φ eine Wurzel von x e 1, also γ C α (x γ) = M α (x) (x e 1). Angenommen, eine weitere Wurzel β mit β e 1 = 0 liege nicht in C α, was den Widerspruch M α (x) (x β d.h. Die Menge {s, sq, sq 2,..., sq t 1 } der Exponenten jeweils modulo e heißt Kreisteilungsnebenklasse modulo e über F. Z.B. Sei F = GF 2. Der Zerfällungskörper von a(x) = x 15 1 F [x] ist laut Proposition 7.19 auf S.118 wegen 15 (2 4 1) eben Φ = GF(2 4 ). Sei α Φ primitives Element, d.h. O(α) = 15. Wegen α 15 = 1 ist α Wurzel von a(x). Die Menge der Wurzeln von a zerfällt in folgende Kreisteilungsnebenklassen: Konjugenz-Klasse C α Nebenklasse O(β), β C α {1} {0} 1 {α, α 2, α 4, α 8 } {1, 2, 4, 8} 15 {α 3, α 6, α 12, α 9 } {3, 6, 12, 9} 5 {α 5, α 10 } {5, 10} 3 {α 7, α 14, α 13, α 11 } {7, 14, 13, 11} 15 Z.B. Sei F = GF 2. Der Zerfällungskörper von a(x) = x 21 1 F [x] ist laut Proposition 7.19 auf S.118 wegen 21 (2 6 1) = 63 eben Φ = GF(2 6 ). Sei α Φ mit O(α) = 21. Wegen α 21 = 1 ist α Wurzel von a(x). Die Menge der Wurzeln von a zerfällt in folgende Kreisteilungsnebenklassen: Konjugenz-Klasse C α Nebenklasse O(β), β C α {1} {0} 1 {α, α 2, α 4, α 8, α 16, α 11 } {1, 2, 4, 8, 16, 11} 21 {α 3, α 6, α 12 } {3, 6, 12} 7 {α 5, α 10, α 20, α 19, α 17, α 13 } {5, 10, 20, 19, 17, 13} 21 {α 7, α 14 } {7, 14} 8 {α 9, α 18, α 15 } {9, 18, 15} 7 M 1 (x) = x 1 ist das einzige irreduzible Polynom ersten Grades. Da x 2 + x + 1 das einzige irreduzible Polynom zweiten Grades über F ist, gilt M α 7(x) = x 2 + x + 1 = M α 14. Die einzigen beiden irreduziblen Polynome dritten Grades über F sind x 3 + x + 1 und x 3 + x Eines von beiden ist M α 3(x), das andere ist M α 9(x). Wegen Proposition 7.20 auf S.119 gilt x 21 1 = i M α i (x) = M 1 (x) M α (x) M α 3(x) M α 3(x) M α 5(x) M α 7(x) M α 9(x) und so M α (x) M α 5(x) = x 21 1 M 1(x) M α 3 (x) M α 3 (x) M α 7 (x) M α 9 (x) = x12 + x 11 + x 9 + x 8 + x 6 + x 4 + x 3 + x + 1. Mit Problem 7.3 auf S.120 und Problem 7.13 auf S.125 gilt also x 21 1 = (x + 1)(x 2 + x + 1)(x 3 + x + 1)(x 3 + x 2 + 1) (x 6 + x 4 + x 2 + x + 1)(x 6 + x 5 + x 4 + x 2 + 1). 119
120 Struktur endlicher Körper Probleme Problem 7.1 on p. 232 to subsection 7.1 and 7.2 Sei α primitives Element in GF(q m ) und s N. 1. Zeige: für 1 s q m/2 gilt deg(m α s) = m, wo das Minimal-Polynom M α s(x) bzgl. GF q gebildet wird. Lösungshinweis: sei (s o, s 1,..., s m 1 ) die Darstellung von s = m 1 j=o s jq j im Stellenwertsystem zur Basis q. Verifiziere, daß die Darstellung von (sq i ) mod (q m 1) in diesem Stellenwert-System aus der Darstellung von s durch i-faches zyklisches rechts-schieben hervorgeht. Zeige: für 1 s q m/2 sind diese zyklischen rechts-schiebungen für 0 i < m paarweise verschieden. Iteriere sq = m 1 j=o s jq j+1 = s m 1 q m + m 2 j=o s jq j+1 = m 2 j=1 s j 1q j + s m 1 + s m 1 (q m 1) = ( m 1 j=o s (j 1) mod mq j) mod (q m 1). paarweise verschieden? Die Ordnung von α in GF(q m ) teilt q m 1, so daß α s = α m 1 j=o sjqj = m 1 j=o αsjqj und (α s ) qi = α sqi = α m 1 j=o s (j 1) mod m qj = m 1 j=o αs (j 1) mod m qj gilt. Also sind alle α sqi verschieden und M α s(x) = m 1 j=o (x αsqj ) hat m verschiedene, einfache Wurzeln und damit den Grad m. 2. Bestimme den Grad des Minimal-Polynoms von α s bzgl. GF q für s = q m/2 + 1 und gerades m. Problem 7.2 on p. 232 to subsection 7.1 and 7.2 Sei a(x) ein monisches, irreduzibles Polynom über dem endlichen Körper F. Zeige: a(x) ist das minimale Polynom von ξ im Erweiterungskörper Φ = F [ξ]/a(ξ). Mit F = GF q gilt Φ = GF(q m ) mit m = deg a. In Φ gilt a(ξ) = 0. Wegen Proposition 7.4 auf S. 114 gilt dann M ξ (x) a(x). Da a irreduzibel und monisch ist, folgt eben a(x) = M ξ (x). Problem 7.3 on p. 233 to subsection 7.1 and 7.2 Sei α Φ, wo Φ ein Erweiterungskörper von F = GF q ist. 1. Zeige: C α = C 1/α Wegen α qm = α α qm = α 1 ist das kleinste positive m mit dieser Eigenschaft für α und α 1 identisch. 2. Sei M α (x) = m i=0 a ix i das Minimal-Polynom von α. Zeige: M 1/α (x) = 1 m a o i=0 a m ix i. (Bis auf Skalierung gewinnt man das Minimalpolynom M 1/α (x) aus M α (x) durch Umkehren der Reihenfolge der Koeffizienten.) M α (x) und M 1/α (x) sind monisch. Insbesondere gilt also a m = 1. Betrachte M(x) := 1 a o x m M α (1/x) = 1 a o x m m i=0 a ix i = 1 m a o i=0 a ix m i = 120
121 1 a o m i=0 a m ix i. Da M(x) monisch ist und deg(m) = m und M(α qj ) = 1 a o α qj m M α (α qj ) = 0 gelten, stimmen M(x) und M 1/α überein Problem 7.4 on p. 233 to subsection 7.1 and 7.2 Sei F = GF q und L(x) = x q ax für a F mit multiplikativer Ordnung n = O(a). Sei Φ der Zerfällungskörper von L über F. 1. L habe eine Wurzel in F. Was sagt das über a? was über Φ? Wegen b q = b impliziert 0 = L(b) = b q ab = (1 a)b für a, b F eben a = 1. Wegen L(x) = x q x sind alle q Elemente von F Nullstellen und damit gilt Φ = F. Proposition 3.16 auf S. 41 liefert [Φ : F ] = 1 und damit ebenso Φ = F. 2. Sei β Φ eine Wurzel von L. Zeige β qr = a r β für jedes r N. L(β) = β q aβ = 0 impliziert β q = aβ und so β qr = aβ qr 1 =... = a r β. 3. Bestimme die Grade der irreduziblen Faktoren von L über F. Wieviele irreduzible Faktoren eines bestimmten Grades gibt es? Hinweis: bestimme mit Nr.2 die Größe der Konjugenz-Klassen einer jeden Wurzel von L in Φ. Sei L(β) = 0 = β q aβ für β Φ. Nach Nr.2 gilt C β = {β qr : r = 0, 1,..., m β 1} = {a r β : r = 0, 1,..., m β 1}, was m β = O(a) = n impliziert. Alle Konjugenz-Klassen haben also n Elemente und es gilt M β (x) = n 1 i=o (x ai β). 4. Zeige: b (q 1)/n = a hat (q 1)/n verschiedene Lösungen b F. Hinweis: sei a=γ s(q 1)/n mit primitivem γ F und s N mit gcd(s, n)= 1. Drücke dann b durch γ, s und n aus. Lagrange impliziert n = O(a) (q 1) = F, d.h. q 1 = vn für v N. Da γ F primitiv ist, gilt q 1 = O(γ) und a = γ m und 1 = a n = γ mn, zusammen q 1 = vn mn, was v m oder m = sv für ein s N impliziert. Also folgt a=γ m =γ sv =γ s(q 1)/n. Kürzen von s n garantiert gcd(s, n) = 1. Sei b i = γ s+in für i = 0, 1,..., (q 1)/n 1 = v 1. Wegen b (q 1)/n i = γ (s+in)(q 1)/n = γ s(q 1)/n (γ q 1 ) i = a ist jedes b i eine Lösung. Zudem gilt b i b j für i j. Angenommen b i = b j, d.h. γ s+in = γ s+jn, was mit γ (i j)n = 1 für 0 < i j < v den Widerspruch zur Primitivität von γ zur Folge hat. 5. Sei b F mit b (q 1)/n = a. Zeige x n b teilt L(x) = x q ax = x(x q 1 a). Aus n = O(a) (q 1) = F folgt wieder q 1 = vn für ein v N und b v = a und es gilt (x n b) v 1 i=o x(v 1 i)n b i = v 1 i=o x(v i)n b i v 1 i=o x(v 1 i)n b i+1 = x vn + v 1 i=1 x(v i)n b i v 2 i=o x(v 1 i)n b i+1 b v = x q 1 a, d.h. (x n b) (x q 1 a) x(x q 1 a) = L(x). 6. Welche irreduziblen Faktoren hat L(x) = x q ax über F? Hinweis: zeige, daß jedes Polynom x n b der Nr.5 Minimal-Polynom einer Wurzel von L(x) in Φ ist. nicht verschwindende Wurzel? 121
122 Für β 0 gelte mit Nr.5 L(β) = 0 = (β n b) v 1 i=o β(v 1 i)n b i = (β n b)β (v 1)n v 1 i=o β in b i = (β n b)β (v 1)n 1 b v /β nv 1 b/β = (β vn b)β (v 1)n = n mit a = b (q 1)/n und es gilt M β (x) L(x) Proposition 7.4 auf S.114. Umgekehrt Problem 7.5 on p. 233 to subsection 7.1 and 7.2 Sei K = GF(2 3 ) und Φ eine Erweiterungskörper von K mit [Φ : K] = 2, d.h. Φ = 64 und Φ = 63 = 7 9. Sei β Φ mit multiplikativer Ordnung 9 (in Φ ). 1. Zerlege {1, β, β 2,..., β 8 } in Konjugenz-Klassen bzgl. K. (β 1 ) 8 = β 8 mod 9 = β 8 β 1 β 8 (β 3 ) 8 = β 24 mod 9 = β 6 β 3 β 6 (β 2 ) 8 = β 16 mod 9 = β 7 β 2 β 7 (β 4 ) 8 = β 32 mod 9 = β 5 β 4 β 5 so daß C 1 = {1}, C β = {β, β 8 }, C β 2 = {β 2, β 7 }, C β 3 = {β 3, β 6 } und C β 4 = {β 4, β 5 } folgt. Insbesondere gilt M o (x) = x, M 1 (x) = x 1 sowie M β 1(x) = M β 8(x) = (x β 1 )(x β 8 ) = x 2 (β + β 8 )x + 1, M β 2(x) = M β 7(x) = (x β 2 )(x β 7 ) = x 2 (β 2 + β 7 )x + β 5, M β 3(x) = M β 6(x) = (x β 3 )(x β 6 ) = x 2 (β 3 + β 6 )x + 1, M β 4(x) = M β 5(x) = (x β 4 )(x β 5 ) = x 2 (β 4 + β 5 )x + β 2 2. Für jedes β i bestimme deg(m β i) bzgl. K. Laut Nr.1 gilt deg M o = 1 und deg M 1 = 1. Alle anderen Minimal- Polynome M β i, i 0 haben den Grad Bestimme die konstanten Koeffizienten M β i(0) der Minimal-Polynome M β i(x). i M β i(0) 1 1 β 5 1 β 2 β 2 1 β Zeige β i + β i K für i = 0, 1,..., 8. Mit β i = β 9 i und Proposition 7.3 auf S. 114 gilt M β i(x) K[x]. Insbesondere liegen also die Koeffizienten β i + β i zu x 1 in K. 5. Bestimme γ = β 3 + β 3. Hinweis: Zeige γ liegt in einem echten Teilkörper von K. Wegen γ 2 = β 6 +2β 9 +β 12 = β 6 +β 3 = γ ist γ Wurzel von Q(x) = x 2 x. Mit Problem 3.11 auf S. 50 folgt γ GF 2, also γ = β 3 + β 6 = Identifiziere diejenigen Minimal-Polynome M β i(x) mit Koeffizienten in GF 2. Wegen Nr.1 und Nr.5 gilt M 1 (x), M β 3(x) GF 2 [x]. Dies sind die einzigen Minimal-Polynome in GF 2 [x], weil mit M β i(x) GF 2 [x] insbesondere auch die konstanten Koeffizienten in GF 2 liegen. Dies würde β 2 = 1 oder β 5 = 1 bedeuten, was im Widerspruch zu O(β) = 9 steht. 122
123 Problem 7.6 on p. 234 to subsection 7.3 Sei F = GF q und Φ = GF(q n ) und α Φ mit deg(m α ) = n. Das Minimal- Polynom M α (x) von α bzgl. F hat also den Grad n. Definiere ϕ : F n [x] Φ durch ϕ ( u(x) ) = u(α) wo F n [x] = {p F [x] : deg p < n}. Zeige: ϕ ist bijektiv. ϕ ist injektiv: angenommen ϕ(u 1 ) = u 1 (α) = u 2 (α) = ϕ(u 2 ) für u 1 u 2. Dann gilt ϕ(u 2 u 1 ) = (u 2 u 1 )(α) = 0. Mit Proposition 7.4 auf S. 114 folgt M α (u 2 u 1 ) im Widerspruch zu deg(u 2 u 1 ) < n = deg(m α ). ϕ ist surjektiv: wegen Theorem 7.13 ist Φ isomorph zu F [ξ]/m α (ξ). Dieser Körper kann gerade mit F n [α] = {u(α) : u F n [x]} identifiziert werden Problem 7.7 on p. 234 to subsection 7.3 Sei p prim und seien Φ und K Erweiterungskörper von F = GF p mit [Φ : F ] = n = [K : F ]. 1. Sei ψ : K Φ ein Isomorphismus. Zeige: für jedes α K ist das Minimal- Polynom M α (x) bzgl. F identisch dem Minimal-Polynom M ψ(α) (x) von ψ(α) Ψ bzgl. F. Mit der Konjugenz-Klasse C α = {α, α p, α p2,..., α pmα 1 } von α K ist C ψ(α) = {ψ(α), ψ p (α), ψ p2 (α),..., ψ pmα 1 (α)} = ψ(c α ) Konjugenz- Klasse von ψ(α) Φ. Daher gilt einerseits M α (x) = γ C α (x γ) F [x] und andererseits M ψ(α) (x) = γ ψ(c (x γ) = ( ) α) γ C α x ψ(γ) F [x]. 2. Zeige: jeder Isomorphismus ψ : K Φ ist eindeutig durch ψ(β) bestimmt, wo β K nicht zu einem echten Teilkörper von K gehört. 3. Zeige: es gibt genau n verschiedene Isomorphismen ψ : K Φ. 4. Zeige: die Automorphismen ψ : Φ Φ sind gerade die Frobenius-Automorphismen f m : x x pm Problem 7.10 on p. 235 to subsection 7.4 Sei F = GF 2 und Φ ein Erweiterungskörper von F. Sei α Φ mit multiplikativer Ordnung 3(4 m + 1). 1. Zeige 3(4 m + 1) (2 4m 1). Offensichtlich gilt in 2 4m 1 = (2 2m 1)(2 2m +1) = (2 m 1)(2 m +1)(4 m +1) entweder 3 (2 m 1) oder 3 (2 m + 1). Zusammen folgt 3(4 m + 1) (2 4m 1). 2. Bestimme das minimale l N mit 3(4 m + 1) (2 l 1). Hinweis: l ist die multiplikative Ordnung von 2 in Z 3(4m +1). Wegen Nr.1 gilt {l N : 3(4 m + 1) (2 l 1)} = und das Minimum existiert. Weiter gilt 3(4 m + 1) (2 l 1) 2 l 1 = v3(4 m + 1) 2 l = 1 mod 3(4 m + 1) O(2) l. Wegen der Minimalität von l gilt l = O(2) in Z 3(4m +1). Damit gilt aber auch l = O(2) Z 3(4 m +1) = 3(4m + 1) 1 = 3 4 m
124 3. Wie groß ist Φ mindestens? 4. Wie groß ist die Konjugenz-Klasse C α von α bzgl. F? 5. Wie groß ist die multiplikative Ordnung von α 3 in Φ? 6. Wie groß ist die Konjugenz-Klasse C α 3 von α 3 bzgl. F? 7. Liegen α und α 3 in derselben Konjugenz-Klasse? 8. Liegen α 3 und α 3 in derselben Konjugenz-Klasse? 9. Zeige: α und α 1 liegen nicht in derselben Konjugenz-Klasse. Hinweis: zeige α 1 = α 2l für ein l < 4m impliziert 3(4 m + 1) (2 l + 1), was 2m l und damit den Widerspruch l 4m zur Folge hat. Aus α 1 = α 2l für ein l < 4m folgt α 2l +1 = 1 und damit O(α) = 3(4 m + 1) (2 l + 1) Problem 7.11 on p. 236 to subsection 7.4 Zeige: für n N ist U n (x) = x 2 3n + x 3n + 1 GF 2 [x] irreduzibel über F = GF Zeige: U(x) ( x 3n+1 1 ) Aus U n (x) ( x 3n + 1 ) = ( x 2 3n + x 3n + 1 )( x 3n + 1 ) folgt U n (x) ( x 3n+1 1 ). = x 3 3n + x 2 3n + x 2 3n + x 3n + x 3n + 1 = x 3n Sei z n = 2 3n. Zeige per Induktion: 3 n+1 (z n + 1) und 3 n+2 (z n + 1). Lösungshinweis: z n+1 +1 = (z n +1)(z 2 n z n +1) und (z 2 n z n +1) = 3 mod 9. Offensichtlich gilt (z n + 1)(zn 2 z n + 1) = ( 2 3n + 1 )( 2 2 3n 2 3n + 1 ) = 2 3 3n 2 2 3n + 2 3n n 2 3n + 1 = 2 3n = z n Zunächst gilt a = b mod 9 a = 9v + b a 3 = (9v) 3 + 3(9v) 2 b + 3(9v)b 2 + b 3 a 3 = b 3 mod 9. Wegen z 1 = 8 = 8 mod 9 und z n+1 = zn 3 = 8 3 mod 9 = 512 mod 9 = 8 mod 9 gilt z n = 8 mod 9 für jedes n N. Wegen z1 2 z 1 = 64 8 = 56 = 2 mod 9 und unter der Induktionsvoraussetzung zn 2 z n = 2 mod 9 gilt zunächst (zn 2 z n ) 3 = 2 3 mod 9 = 8 mod 9 mit (zn 2 z n ) 3 = zn 6 3zn 5 + 3zn 4 zn 3 = zn+1 2 3z n+1 (zn 2 z n ) z n+1, was zn+1 2 z n+1 = (8 + n+1 (zn 2 z n )) mod 9 = ( ) mod 9 = 56 mod 9 = 2 mod 9 und damit die Behauptung impliziert. Für n = 0 gilt nun 3 = ( ) = (2 + 1) = 3 und 9 = Aus der Induktionsvoraussetzung 3 n+1 (z n +1) und 3 (zn 2 z n +1) folgt einerseits 3 3 n+1 = 3 n+2 (z n + 1)(zn 2 z n + 1) = (z n+1 + 1). Sei andererseits angenommen 3 n+3 (z n+1 + 1) = (z n + 1)(zn 2 z n + 1). Die Induktionsvoraussetzung garantiert 3 n+1 (z n + 1) und 3 n+2 (z n + 1). Also folgt 9 (zn 2 z n + 1) im Widerspruch zu (zn 2 z n + 1) = 3 mod
125 3. Mit Nr.2 zeige: 3 n+1 ( 2 2 3n 1 ) = z 2 n 1 und 3 n+1 ( 2 3n 1 ) = z n 1 sowie 3 n+1 ( 2 3n 1 1 ) = z 2 n 1 1. Die Aussage 3 n+1 (z n + 1) von Nr.2 impliziert 3 n+1 (z n + 1)(z n 1) = (zn 2 1) = ( 2 2 3n 1 ) für n N sowie z n mod 3 n+1, so daß z n 1 2 mod 3 n+1 und daher 3 n+1 (z n 1) = ( 2 3n 1 ) folgt. Für n > 0 impliziert Nr.2 mit 3 n (z n 1 + 1) und 3 n+1 (z n 1 + 1) eben z n = µ3 n = (3µ + r)3 n mit µ, µ N und r {1, 2} und z n 1 1 = (3µ + r)3 n 2. Damit gilt für das Produkt zn = (z n 1 + 1)(z n 1 1) = (3µ + r)3 2n 2µ 3 n+1 2r3 n = µ 3 n+1 2r3 n 0 mod 3 n+1, weil erstens 2n n + 1 für n > 0 und weil zweitens 2r 0 mod 3 gilt, also 3 n+1 ( 2 3n 1 1 ) = zn Zeige: m = min{0 < l N : 3 n+1 (2 l 1)} = 2 3 n Lösungshinweis: verwende Nr.3 und den Hinweis im Problem 7.10 Nr.2: m ist die multiplikative Ordnung von 2 (?) im Ring Z 3 n+1. Wegen Nr.3 gilt m 2 3 n. 5. Sei α eine Wurzel von U n im Zerfällungskörper von U n über F. Zeige: O(α) = 3 n+1. Hinweis: gälte O(α) 3 n, dann wäre U n (α) = Sei α wie in Nr.5 charakterisiert. Zeige, daß die Konjugenz-Klasse von α genau 2 2 3n viele Elemente des Zerfällungskörpers enthält. Folgere, daß U n (x) das minimale Polynom von α ist. Problem 7.13 on p. 238 to subsection 7.5 Sei F = GF 2 und a(x) = 6 i=o a ix i F [x]. Es gelte ( 6 i=o a ix i)( 6 i=o a 6 ix i) = 1 + x + x 3 + x 4 + x 6 + x 8 + x 9 + x 11 + x 12. Zeige: a(x) = 1 + x + x 2 + x 4 + x 6 oder a(x) = 1 + x 2 + x 4 + x 5 + x 6. Offensichtlich gilt ( 6 i=o a ix i)( 6 i=o a 6 ix i) = a o a 6 + (a o a 5 + a 1 a 6 )x + (a 0 a 4 + a 1 a 5 + a 2 a 6 )x (a 6 a 2 + a 5 a 1 + a 4 a o )x 10 + (a 6 a 1 + a 5 a o )x 11 + a 6 a o x 12. Koeffizienten-Vergleich liefert zu x 0 und x 12 : a o a 6 = 1 a o = a 6 = 1. x 1 und x 11 : a o a 5 + a 1 a 6 = a 1 + a 5 = 1 a 1 a 5 = 0 x 2 und x 10 : a o a 4 + a 1 a 5 + a 2 a 6 = a 4 + a 2 = 0 a 2 = a 4 x 3 und x 9 : a o a 3 + a 1 a 4 + a 2 a 5 + a 3 a 6 = a 3 + a 2 (a 1 + a 5 ) + a 3 = 2a 3 + a 2 = 1 a 2 = 1 = a 4 x 4 und x 8 : a o a 2 + a 1 a 3 + a 2 a 4 + a 3 a 5 + a 4 a 6 = 1 + a 1 a a 3 a = 1 a 3 (a 1 + a 5 ) = a 3 = 0 Notwendigerweise gilt also a o = 1, a 2 = 1, a 3 = 0, a 4 = 1 und a 6 = 1. Entweder gilt a 1 = 1, was a 5 = 0 und damit a(x) = 1 + x + x 2 + x 4 + x 6 impliziert; oder es gilt a 1 = 0, was a 5 = 1 und damit a(x) = 1 + x 2 + x 4 + x 5 + x 6 impliziert. 125
126 7.5.6 Problem 7.14 on p. 238 to subsection 7.5 Sei F = GF 2 und P n (x) = x n 1 F [x]. Untersuche für n = 7, n = 11 und n = 17, also jeweils gcd(n, 2) = 1 folgende Fragestellungen: 1. Bestimme den Zerfällungskörper Φ von P n über F. Laut Proposition 7.19 auf S. 118 gilt Φ = GF(2 m ), wobei m N minimal mit n (2 m 1). Für n = 7 gilt wegen n = 7 (2 3 1) = 7 eben Φ = GF(2 3 ). Für n = 11 gilt wegen n = 11 (2 10 1) = 1023 = eben Φ = GF(2 10 ). Für n = 17 gilt wegen n = 17 (2 8 1) = 255 = eben Φ = GF(2 8 ). 2. Bestimme die Anzahl verschiedener Wurzeln von P n in Φ. Laut Proposition 7.20 auf S. 119 sind die Wurzeln von P n (x) = x n 1 = M α(x) M α(x) in Φ gerade die Wurzeln der Mininimal-Polynome M α (x) zu α Φ mit O(α) n. Für n = 7 gilt Φ = GF(2 3 ). Wegen O(1) = 1 und O(ξ j ) = 7 für j = 1, 2,..., 6 ist jedes der sieben Elemente von Φ einfache Wurzel von P 7. Für n = 11 gilt Φ = GF(2 10 ). n = 11 hat die Teiler 1 und 11. Für n = 17 gilt Φ = GF(2 8 ). 3. Bestimme die multiplikative Ordnung der Wurzeln von P n (x) in Φ und die Anzahl der Wurzeln einer bestimmten Ordnung. n = 7 n = 11 n = Sei α Φ mit multiplikativer Ordnung n. Bestimme die Konjugierten zu α in Φ bzgl. F = GF 2. Drücke die Konjugierten als α i für 0 i < n aus. n = 7 n = 11 n = Sei α Φ mit multiplikativer Ordnung n. Bestimme die Konjugierten zu α 3 in Φ bzgl. F = GF 2. n = 7 n = 11 n = Entscheide, ob B n (x) = n 1 j=o xj = Pn(x) x 1 n = 7 n = 11 n = 17 irreduzibel über F = GF 2 ist. 126
127 7.5.7 Problem 7.15 on p. 239 to subsection 7.5 Sei F = GF q und B n (x) = n 1 j=o xj F [x]. 1. Zeige: für zusammengesetztes n ist B n (x) reduzibel. Hinweis: Problem 7.8 Nr.1 Sei n = st für 1 < s, t N. Aus (x s 1)V (x) = (x s 1) t 1 i=o xis = x st 1 = x n 1 und damit B n (x) = xn 1 x 1 = (xs 1)V (x) x 1 = V (x)b s (x) folgt, daß B n (x) reduzibel ist. 2. Sei p prim. Zeige: B p (x) ist irreduzibel über F q mod p ist primitiv in GF p. Hinweis: Problem
128 8 zyklische Codes Die zusätzliche Eigenschaft Zyklizität erlaubt schnelle, simple Implementierungen und weitergehende Analyse der Parameter. Prominente Beispiele sind konventionelle RS-Codes und BCH-Codes. 8.1 Definition Ein linearer [n.k]-code C über F heißt zyklisch genau dann, wenn mit jedem (c o, c 1,..., c n 1 ) C auch jedes durch zyklischen shift erzeugte Wort (c n 1, c o, c 1,..., c n 2 ) C ein Code-Wort ist. Wie üblich werde (c o, c 1,..., c n 1 ) F n mit c(x) = c o + c 1 x c n 1 x n 1 F n [x] identifiziert. Der zyklische shift von c(x) ist dann c n 1 +c o x+c 1 x c n 2 x n 2 = x c(x) c n 1 (x n 1) = x c(x) mod (x n 1). Ein linearer Code C ist also zyklisch genau dann, wenn c(x) C auch x c(x) mod (x n 1) C impliziert. Wegen der Linearität gilt also c(x) C i u ix i c(x) mod (x n 1) C für u i F, m.a.w. c(x) C u(x)c(x) mod (x n 1) C für u(x) F [x]. Der Code C ist also ein Ideal im Ring F [x]/(x n 1). Z.B. Der [n, n 1, 2] parity-code C hat die n 1 n-generator-matrix G = (I e), wobei e F n 1 den aus lauter Einsen bestehenden Spaltenvektor bezeichnet, d.h. C c = ug = (u 1, u 2,..., u n 1, n 1 i=1 u i) oder eben c = (c 1, c 2,..., c n ) C n i=1 c i = 0. Damit sind parity-codes zyklisch. Z.B. [n, 1, n]-wiederholungscodes mit 1 n-generator-matrix G = (1, 1,..., 1) sind offensichtlich zyklisch. Z.B. Jeder konventionelle RS-Code über F = GF q ist zyklisch. Seien nämlich 0 < b, n N mit n (q 1) und sei α primitiv in F. Für i, j = 1, 2,..., n seien code locators α i = α i, Spalten-Multiplizierer v j = α b(j 1) = αj b und damit der [n, k, d = n k + 1]-RS-Code C RS mit H RS = ( v j α j 1 ) i=1,...,n k i spezifiziert, j=1,...,n m.a.w. c = (c o,..., c n 1 ) C RS für c(x) = n 1 i=o c ix i und für jedes l = b, b + 1,..., b + d 2 gilt c(α l ) = 0. Für das zyklisch verschobene Code- Wort c(x) = x c(x) mod (x n 1) = x c(x) c n 1 (x n 1) gilt c(α l ) = α l c(α l ) c n 1 (α ln 1) = α l c(α l ) = 0 und damit c C RS. Z.B. Da BCH-Codes alternante konventionelle RS-Codes sind, sind mit RS- Codes auch BCH-Codes zyklisch. Z.B. Wann sind Hamming-Codes über F = GF q zyklisch? Sei 1 < m N und n = (q m 1)/(q 1). Sei α GF(q m ) und mit multiplikativer Ordnung n. Sei C BCH ein BCH-Code der Länge n über F, dessen m n-paritätsmatrix H entsteht, indem jedes Element in (1, α,..., α n 1 ) durch seine Darstellung in F m bzgl. irgendeiner Basis über F ersetzt wird. Für d = 3 müssen je zwei Spalten von H linear unabhängig über F sein, d.h. α i uα j für alle 0 i < j n 1 und alle u F. Das ist genau dann erfüllt, wenn α l F für l = 1, 2,..., n 1. Man erinnere: α l F (α l ) q 1 = 1 n l(q 1). Nun ist d(c BCH ) = 3 genau dann, wenn n eben kein Teiler von l(q 1) für l = 1, 2,..., n 1 ist, d.h. genau dann, wenn gcd(n, q 1) = 1 gilt. In diesem Fall ist C BCH ein [n, k n m, d 3]-Code über F, nämlich der [n, n m, 3]- Hamming-Code über F. 128
129 8.2 Generator- und Prüf-Polynom Proposition 8.1 Sei C ein zyklischer [n, k]-code über F mit k > 0. Dann gibt es ein eindeutig bestimmtes, monisches (Generator-) Polynom g(x) F [x] mit c(x) C g(x) c(x). Bew. Wenn ein solches g(x) existiert, dann gilt g(x) C wegen g(x) g(x). Außerdem ist es eindeutig, weil es alle monischen Code-Wörter teilt. Sei nun g(x) 0 das monische Code-Wort in C mit minimalem Grad. Für jedes u(x) F [x] gilt u(x)g(x) mod (x n 1) C. Speziell für u(x) F n deg g [x] folgt u(x)g(x) C wegen deg(ug) < n = deg(x n 1). Also sind alle polynomialen Vielfachen von g(x) Code-Wörter von C. Sei umgekehrt c(x) C und c(x) = u(x)g(x)+r(x) mit deg r < deg g. Wegen der Linearität von C ist mit c, ug C auch r = c ug C. Aus der Minimimalität von deg g folgt r = 0, d.h. g(x) c(x). Def. Das Polynom g(x) aus Proposition 8.1 heißt Generator-Polynom. Bem. Für einen zyklischen [n, k]-code C über F gilt laut Proposition 8.1 C = {u(x)g(x) : u(x) F n deg g [x]}. Also ist dann deg g = n k und g o g 1... g n k g o g 1... g n k 0 G = g o g 1... g n k ist eine Generator-Matrix zum Generator-Polynom g(x) = n k i=o g ix i, weil die Koeffizienten von u(x)g(x) mit ug = (u o g o, u o g 1 + u 1 g o,..., u k 2 g n k + u k 1 g n k 1, u k 1 g n k ) übereinstimmen. Dabei ist G von der Form g o... g n k 0 g o g n k g o g n k oder je nachdem, ob k n klein oder groß ist g o... g n k Z.B. Im Fall von RS-Codes ist g(x) = d 2 i=o (x αb+i ) das (einzige, monische) Generator-Polynom. Bem. Zyklische Codes können mit den beiden Varianten von LFSRs effizient kodiert werden. Proposition Sei g(x) Generator-Polynom eines zyklischen [n, k]-codes C über F. Dann gilt g(x) (x n 1). Bew. Sei x n 1 = h(x)g(x)+r(x) mit deg r < deg g, also r(x) = h(x)g(x) mod (x n 1). Mit g(x) C ist also auch r(x) C. Da aber das Code-Wort r keinen kleineren Grad als g haben kann, folgt r = 0. Bem. Es gilt auch die Umkehrung: F [x] g(x) (x n 1) impliziert C = {u(x)g(x) : u(x) F n deg g [x]} ist zyklisch, vgl. Problem 8.1 auf S Def. Sei C ein zyklischer [n, k]-code mit Generator-Polynom g(x). Das monische Polynom h(x) = (x n 1)/g(x) heißt Prüf-Polynom von C. 129
130 Proposition Sei g(x) Generator-Polynom eines Sei C zyklischer [n, k]-code über F mit Prüf-Polynom h(x) = k i=o h ix i. Dann ist die (n k) k-matrix h k h k 1... h o h k h k 1... h o 0 H = h k h k 1... h o eine Paritätsmatrix für C. Bew. Zunächst in rang(h) = n k. Sei G die zu g(x) gehörende Generator- Matrix. Wir zeigen GH = 0. Das Element (GH ) i,j für i = 0, 1,..., k 1 und j = 0, 1,..., n k 1 ist (GH ) i,j = n 1 l=o g l ih k+j l. Dabei ist g j = 0 für j > n k und h j = 0 für j > k. Also ist (GH ) i,j gerade der Koeffizient zu x k+j i im Polynom g(x)h(x) = x n 1. Für obige i und j gilt nun 1 k +j i n 1, so daß die entsprechenden Koeffizienten in g(x)h(x) verschwinden. Folgerung Sei C zyklischer [n, k]-code über F mit Prüf-Polynom h(x) = k j=o h jx j. Dann ist der duale Code C ein zyklischer [n, n k]-code über F mit Generator-Polynom g (x) = 1 h o k j=o h k jx j = 1 h o x k h(x 1 ). Bew. H ist Generator-Matrix von C mit monischem Generator-Polynom g (x). Z.B. Sei F = GF 2 und g(x) = x 3 + x + 1 F [x]. Dann gilt deg g = 3 = 7 4 = n k und g(x) (x 7 1) wegen x 7 1 = g(x)h(x) mit h(x) = x 4 + x 2 + x + 1. Also ist g(x) das monische Generator-Polynom eines zyklischen [7, 4]-Codes C über F mit Generator- und Paritätsmatrizen G = und H = Da die Spalten von H alle Elemente in F 3 \ 0 ausmachen, ist C ein [7, 4, 3]- Hamming-Code. 8.3 Wurzeln eines zyklischen Codes Def. Sei a(x) F [x] mit F = GF q und gcd ( a(x), x ) = 1. Dann heißt das kleinste 0 < e N mit a(x) (x e 1) Exponent exp(a) von a. Der Exponent stimmt mit der multiplikativen Ordnung von x im Ring F [x]/a(x) überein. Damit folgt Proposition 8.5 Sei a(x) F [x] mit F = GF q und gcd ( a(x), x ) = 1. Dann gilt a(x) (x l 1) exp(a) l. Sei nun C ein zyklischer [n, k] Code über F = GF q mit Generator-Polynom g(x). Dann gilt g(x) (x n 1). Damit folgt gcd ( g(x), x ) = 1 und mit der vorstehenden Proposition exp(g) n. Angenommen e = exp(g) < n. Wegen g(x) (x e 1) gilt x e 1 C, so daß 130
131 d(c) 2 folgt, was C uninteressant macht. Im folgenden sei also exp(g) = n und zusätzlich gcd(n, q) = 1 angenommen. Proposition 8.6 Sei a(x) F [x] mit F = GF q und gcd ( a(x), x ) = 1. Für e = exp(a) gelte gcd(e, q) = 1. Dann gilt (i). Die Wurzeln von a in jedem Erweiterungskörper sind einfach. (ii). Der Zerfällungskörper von a über F ist GF(q m ), wobei 0 < m N minimal mit e (q m 1) ist. Bew. ad (i): Mit Proposition 7.19 auf S. 118 sind die Wurzeln von x e 1 in jedem Erweiterungskörper von F einfach. Dasselbe muß damit auch für die Wurzeln des Teilers a(x) von (x e 1) gelten. ad (ii): a(x) hat deg(a) einfache Wurzeln in GF(q m ) a(x) (x qm x), was wegen gcd ( a(x), x ) = 1 äquivalent ist zu a(x) (x qm 1 1). Mit obiger Proposition 8.5 gilt das genau dann, wenn e (q m 1). Sei C ein zyklischer [n, k] Code über F = GF q mit Generator-Polynom g(x). Die Wurzeln von C sind die Wurzeln von g im Zerfällungskörper Φ = GF(q m ) von g über F. Wenn nun gcd(n, q) = 1, dann hat g(x) laut obiger Proposition 8.6 n k verschiedene Wurzeln β 1,..., β n k Φ, d.h. g(x) = n k l=1 (x β l). Weiter sind mit einer Wurzel β Φ von g auch alle Konjugierten von β Wurzeln. Man kann also die Menge {β 1,..., β n k } Φ der Wurzeln von C in disjunkte Konjugenz-Klassen zerlegen, d.h. {β 1,..., β n k } = t i=1 C γ i. Damit ist g(x) = t i=1 M γ i (x), wobei M γi (x) das Minimal-Polynom eines jeden Elementes in C γi ist. Offensichtlich gilt n k = deg(g) = t i=1 deg(m γ i ) tm. Für c(x) F n [x] gilt c(x) C M γi (x) c(x) für alle i = 1,..., t c(γ i ) = 0 für alle i = 1,..., t. So kann man zu einer tm n Paritätsmatrix für 1 γ 1 γ γ n γ 2 γ γ n 1 2 C kommen, indem man in.. jedes Element durch den... 1 γ t γt 2... γt n 1 Spalten-Vektor in F m von Koeffizienten bzgl. einer Basis von Φ über F ersetzt. zyklische Codes Probleme Problem 8.1 on p. 256 to subsection 8.2 Zeige: für g(x) F [x] mit g(x) (x n 1) ist {u(x)g(x) : u(x) F n deg g [x]} ein zyklischer Code C. Wie sieht sein Generator-Polynom aus? C ist linearer Unterraum von F n [x]. Also bleibt zu zeigen, daß mit c(x) = u(x)g(x) auch das verschobene Wort c(x) = x c(x) mod (x n 1) ein Code- Wort ist. Sei o.b.d.a. g(x) monisch und sei µ(x)g(x) = x n 1 für ein notwendigerweise monisches Polynom µ(x) F n deg g+1 [x]. Der Koeffizient c n 1 = u n deg g 1 zu x n 1 von c(x) = u(x)g(x) ist zugleich der Koeffizient zu x n von x c(x) = x u(x)g(x) und identisch mit dem Koeffizienten c n 1 zu x n von c n 1 (x n 1). Das verschobene Wort c(x) ist nun c(x) = x u(x)g(x) c n 1 (x n 1) = 131
132 ( x u(x) cn 1 µ(x) ) g(x) =: ũ(x)g(x). Der Faktor ũ(x) F n deg g+1 [x] liegt aber in F n deg g [x], weil sein Koeffizient u n deg g 1 c n 1 zu x n deg g verschwindet. Damit ist c(x) C. Wegen Proposition 8.1 ist das monische Polynom g(x) Generator-Polynom von C Problem 8.2 on p. 256 to subsection 8.2 Sei C ein zyklischer [n, k > 0]-Code über F mit Generator-Matrix G. Zeige: jede Folge von k aufeinander folgenden Spalten von G ist linear unabhängig. Folgere, daß C auch eine systematische Generator-Matrix hat. Sei g(x) = n k i=o g ix i das eindeutige Generator-Polynom von C. Dann ist die g o g 1... g n k g o g 1... g n k 0 k n-matrix G = eine Generator- g o g 1... g n k Matrix von C. Die ersten k Spalten von G bilden also eine reguläre Matrix, die per Gauß- Jordan durch zulässige Zeilen-Operationen in I k überführen. Diese Zeilen-Operationen überführen G in die Form (I k A) eines systematischen Codes Problem 8.3 on p. 256 to subsection 8.2 Seien C 1 und C 2 zyklische Codes der Länge n über F mit jeweiligen Generator- Polynomen g 1 und g 2. Zeige: C 3, C 4 und C 5 sind zyklische Codes der Länge n über F und bestimme die jeweiligen Generator-Polynome. 1. C 3 = C 1 C 2 Wenn für jedes c i C i auch das verschobene Wort c i wieder Code- Wort ist, d.h. c i C i, dann gilt diese Implikation erst recht für c C 3 = C 1 C 2. Laut Proposition 8.1 gilt c i (x) C i g i (x) c i (x). Das Generator-Polynom von C 3 ist das kleinste gemeinsame Vielfache (least common multiplier) g 3 (x) = lcm ( g 1 (x), g 2 (x) ) von g 1 (x) und g 2 (x) g mit g 1 g 2 = gcd(g 1, g 2 )lcm(g 1, g 2 ), d.h. g 2 1 gcd(g 1,g 2) = lcm(g 1, g 2 ) und g g 1 2 gcd(g = lcm(g 1,g 2) 1, g 2 ), also g i (x) g(x), weil einerseits c(x) C 3 c(x) C i g i (x) c(x) c(x) = µ i ν i gcd(g 1, g 2 ), also insbesondere µ 1 ν 1 = µ 2 ν 2, was etwa µ 1 ν 1 /ν 2 = µ 2 und wegen gcd(ν 1, ν 2 ) = 1 damit c(x) = µ 2 ν 2 gcd(g 1, g 2 ) = (µ 1 /ν 2 )ν 1 ν 2 gcd(g 1, g 2 ) = (µ 1 /ν 2 ) g1(x)g2(x) gcd(g 1,g 2) = (µ 1 /ν 2 )lcm(g 1, g 2 ) und somit g 3 (x) = lcm(g 1, g 2 ) c(x) impliziert, und andererseits g 3 (x) c(x) g 1 (x) c(x) und g 3 (x) c(x) g 2 (x) c(x) zusammen c(x) C 3 implizieren. 2. C 4 = C 1 + C 2 = {c 1 + c 2 : c 1 C 1 und c 2 C 2 } Wenn für jedes c i C i auch das verschobene Wort c i wieder Code-Wort ist, d.h. c i C i, dann gilt diese Implikation auch für c 1 + c 2 C 4. Wegen c(x) C 4 c(x) = u 1 (x)g 1 (x) + u 2 (x)g 2 (x) = u 1 (x)ν 1 (x)g(x) + 132
133 u 2 (x)ν 2 (x)g(x) = u(x)g 4 (x) mit u(x) = u 1 (x)ν 1 (x) + u 2 (x)ν 2 (x) ist g 4 = gcd(g 1, g 2 ) das Generator-Polynom von C C 5 = {c(x) F n [x] : c(x) = g 2 (x)c 1 (x) mod (x n 1) für ein c 1 (x) C 1 } Hinweis: untersuche zunächst den Fall gcd(g 1, g 2 ) = 1. Da C 1 und C 2 zyklisch sind, gilt g 1 (x) (x n 1) und g 2 (x) (x n 1). Sei zunächst gcd(g 1, g 2 ) = 1 angenommen. Für g 5 = g 1 g 2 gilt g 5 (x) (x n 1), d.h. w(x)g 5 (x) = x n 1 für ein Polynom w(x). Also ist g 5 (x) Generator- Polynom eines zyklischen Codes C. Es gilt C 5 = C, weil einerseits c(x) C 5 c(x) = (u 1 g 1 g 2 )(x) mod (x n 1) (c u 1 g 1 g 2 )(x) = v(x)(x n 1) = (vwg 5 )(x) c(x) = ( u 1 (x) + v(x)w(x) ) g 5 (x) g 5 (x) c(x) und weil andererseits c(x) = u(x)g 5 (x) = u(x)g 5 (x) mod (x n 1) c(x) C 5 gilt. Sei nun allgemein g = gcd(g 1, g 2 ) und g 5 = g1g2 g = lcm(g 1, g 2 ). Aus g i (x) (x n 1) folgt wie in Nr.1 g 5 (x) (x n 1), d.h. w(x)g 5 (x) = x n 1. Also ist g 5 (x) Generator-Polynoms eines zyklischen Codes C. Es gilt C = C 5, weil einerseits c(x) C 5 c(x) = (u 1 g 1 g 2 )(x) mod (x n 1) c(x) (u 1 g 1 g 2 )(x) = v(x)(x n 1) = (vwg 5 )(x) c = ( u 1 gcd(g 1, g 2 ) + vw ) g 5 g 5 (x) c(x) und andererseits c(x) C c = ug 5 = u(x)g 5 (x) mod (x n 1) Problem 8.5 on p. 257 to subsection 8.2 Sei C ein [n, k, d = n k + 1] RS-Code über F = GF q mit Generator-Polynom g(x) = (x α b )(x α b+1 ) (x α b+d 2 ) für ein α F der multiplikativen Ordnung n und ein b N. 1. Zeige: die Koeffizienten von x o, x 1,..., x n k in g sind alle von Null verschieden. Hinweis: das Produkt nicht ausmultiplizieren! Man verfährt wie in Proposition 7.3 auf S Wegen q = p m für primes p gilt c(f ) = p n = p log p n = O(α). g n (x) = d 2 i=o (x αb+i ) n = d 2 i=o (xn (α b+i ) n ) = d 2 i=0 (xn α b+i ) = g(x n ). Mit g(x) = n k i=o g ix i folgt einerseits g n (x) = ( n k i=o g ix i) n = n k i=o gn i (xi ) n = n k i=o gn i xin und andererseits g(x n ) = n k i=o g ix in. Also gilt insgesamt n k i=o gn i xin = n k i=o g ix in. Koeffizientenvergleich liefert gi n = g i und mit Problem 3.11 auf S. 50 eben g i F für alle i. 2. Für d > 1 zeige: der zu C duale Code C ist ein [n, d 1, k + 1] RS-Code über F mit Generator-Polynom g (x) = (x α 1 b )(x α 2 b ) (x α k b ). Zu g gehört das Paritätspolynom h(x) = xn 1 x g(x) = n 1 (x α b )(x α b+1 ) (x α b+d 2 ) x = n 1 mit d 1 = n k und h(0) = 1 d 2 i=0 (x αb+i ) ( 1) d 1 d 2. Es gilt i=0 αb+i x n 1 = n 1 i=0 (x αi ). Da g genau n k Linear-Faktoren hat, gilt g (x) = xk h(x 1 ) h(0) = = xk (x n 1) h(0) g(x 1 ) = ( 1)n k x k (x n 1)x n k d 2 d 2 i=0 ( 1 x αb+i ) n 1 i=0 (x α i ) d 2 i=0 (x α b i ) x n 1 ( ) = d 2 i=0 ( α b i )x( 1 x αb+i ) i=0 αb+i = (x α 0 )(x α 1 ) (x α (b 1) ) (x α (b+d 1 ) (x α n 1 ) 133
134 = (x α b b )(x α b 1 b ) (x α 1 b ) (x α k b ) (x α 1 ) k = (x α i b ) i=1 Problem 8.6 on p. 257 to subsection 8.2 (Zyklische Codes mit Code-Länge q über GF q ) Sei F = GF q mit Charakteristik p und C ein zyklischer [n, k] Code über F. 1. Zeige: g(x) = (x 1) q k ist das Generator-Polynom von C. (Also gibt es genau einen zyklischen Code der Länge q über F.) Wegen q = p m und Proposition 3.11 auf S. 40 gilt x q 1 = (x 1) q. Für jedes monische Generator-Polynom g(x) von C gilt deg(g) = q k und g(x) (x q 1) = (x 1) q. Damit folgt notwendigerweise g(x) = (x 1) q k. 2. Zeige (x 1) q i 1 c i (x) = q 1 j=0 ji x j für i = 0, 1,..., p 1 und 0 0 = 1. Hinweis: Verifiziere zunächst c i (x) = x c i 1 (x) für i > 0. Die Behauptung ergibt sich dann per Induktion. Für i > 0 gilt x c i 1 (x) = x q 1 j=1 ji 1 jx j 1 = q 1 j=1 ji x j = q 1 j=0 ji x j = c i (x), weil ja 0 i = 0 für i > 0. Es gilt c o (x) = q 1 j=0 j0 x j = q 1 j=0 xj = x q 1 x 1 = (x 1)q x 1 = (x 1) q 1 im Induktionsanfang. Für den Induktionsschritt sei (x 1) q i 1 c i (x). Dann ist (x 1) q i 2 c i+1 (x) = xc i (x) zu zeigen, wobei laut Induktionsvoraussetzung c i (x) = v(x) (x 1) q i 1 für ein v(x) F [x] gilt. Daher folgt x c i (x) = x( v (x) (x 1) q i 1 + v(x) (q i 1) (x 1) q i 2) = ( v (x) (x 1) + v(x) (q i 1) ) (x 1) q i 2, also (x 1) q i 2 c i+1 (x) p 1 3. Für p = q ist G = (p 1) 2 eine Generator k 1 2 k 1 (p 1) k 1 Matrix von C. Damit ist C ein einfach-erweiterter grs-code. C c(x) ug = (u o, u 1..., u k 1 )G mit ug = (k 1 = i=o k 1 0 i u o, i=o k 1 1 i u i, i=o k 1 2 i u i,..., i=o (q 1) i u i ) k 1 k 1 u i (0 i, 1 i, 2 i,..., (q 1) i ) u i c i (x) i=o Mit Nr.2 gilt g(x) = (x 1) p k (x 1) p i 1 c i (x) insbesondere für i = 0, 1,..., k 1, so daß C c(x) ug g(x) c(x) für p k viele u(x) gilt. Also ist G eine Generator-Matrix von C. 4. Für q = p m p = c(gf q ) zeige: C ist MDS k {1, q 1, q}. Hinweis: Für entweder q p k q q p zeige (xq/p 1) p 1 C oder für k < q p oder q q p < k zeige: (xq/p 1) C oder (x q/p 1) C. i=o 134
135 : s.a. Roth p.94 examples of MDS-Codes k = 1: F (1,..., 1) der einzige eindimensionale zyklische Unterraum von F n = F q. Daher ist C der Wiederholungscode über F und somit MDS. Alternativ ist g(x) = q 1 i=o xi wegen (x 1)g(x) = x q 1 Generator-Polynom des zyklischen [q, 1] Codes mit Generator-Matrix G = (1,..., 1), die den Wiederholungscode über F erzeugt. k = q 1: Laut Nr.1 gilt g(x) = x 1 mit zugehöriger Generator-Matrix G = Wegen h(x) = xn 1 g(x) = q 1 i=o xi ist H = (1,..., 1) eine zugehörige Paritätsmatrix. C ist also der Paritätscode über F und damit MDS. k = q: Laut Nr.1 gilt g(x) = 1, so daß C = F q mit G = I q folgt. Wegen 1 = d(c) = n k + 1 = 1 ist C ein MDS Code. : Es gilt g(x) = (x 1) q k, c(x) := (x q/p 1) p 1 GF p [x] GF q [x] mit q = p m p, also m 2, und c(x) = (x q/p 1) p 1 = p 1 i=o (xq/p ) i. Laut Hinweis unterscheide xq 1 x q/p 1 = m xp 1 = x pm 1 1 q p k q q p : Für q p q k q q p = (p 1) q p sei q k = s q p + r mit 1 s p 1 und 0 r < q p. Aus xq/p 1 (x 1) r = xq/p 1 (x 1) q/p (x 1) q/p r = x q/p 1 x q/p 1 (x 1)q/p r = (x 1) q/p r folgt (x 1) r (x q/p 1) und so g(x) = (x 1) q k = (x 1) sq/p (x 1) r = ( (x 1) q/p) s (x 1) r = (x q/p 1) s (x 1) r (x q/p 1) p 1 = c(x). Wegen c(x) C gilt also d(c) w ( c(x) ) = p im Widerspruch zur Voraussetzung d(c) = q k + 1 für den MDS Code C mit p p m 1 = q p < q k + 1 = d(c). k < q p oder q q p < k: Zeige (xq/p 1) C oder (x q/p 1) C. Das zu g(x) = (x 1) q k gehörende Paritätspolynom ist h(x) = xq 1 g(x) = x q 1 (x 1) (x 1) k = (x 1) k, so daß g (x) = xk h(x 1 ) q h(0) (1 x) k ( 1) k = x k (x 1 1) k ( 1) k = = (x 1) k folgt. Wie im ersten Fall der Fallunterscheidung ergibt sich g(x) c(x) oder g (x) c(x) für c(x) = x q/p 1. Aus c(x) C oder c(x) C folgt d(c) 2 oder d(c ) 2. Für einen MDS Code C mit d(c) = q k +1 bzw. d(c ) = q (q k)+1 (vgl. Problem 4.1) impliziert 1 = d(c) eben k = q, 2 = d(c) eben k = q 1 bzw. 2 = d(c ) = k + 1 eben k = 1. Problem 8.7 on p. 258 to subsection 8.3 Sei C 1 ein zyklischer [15, 15 r] Code über F = GF 2 und C 2 ein zyklischer [17, 17 r] Code über F mit derselben Redundanz r wie C 1. Für welche r existieren solche Code-Paare? 1. Bestimme den Zerfällungskörper Φ von x 17 1 über F. 135
136 Laut Proposition 7.19 auf S. 118 ist Φ = GF(2 m ), wo m minimal mit 17 (2 m 1) ist, nämlich m = 8 mit 2 m 1 = 255 = Sei α 1 eine Wurzel von x 17 1 in Φ. Bestimme die Konjugierten von α sowie das Minimal-Polynom M α (x). Sei α Φ mit α 17 = 1. Dann ist C α = {α, α 2, α 4, α 8, α 16, α 32 = α 15, α 30 = α 13, α 26 = α 9 } mit α 18 = α die Nebenklasse von α mit C α = 8 = m α = deg ( M α (x) ) mit M α (x) = γ C α (x γ). 3. Bestimme die Grade der irreduziblen Faktoren von x 17 1 über F und bestimme wieviele irreduzible Faktoren von bestimmtem Grad existieren. Laut Proposition 7.8 auf S. 115 gilt x 17 1 = M α M α (x), wobei sich das Produkt über alle verschiedenen Minimal-Polynome erstreckt. Nun ist C α 3 = {α 3, α 6, α 12, α 24 = α 7, α 14, α 28 = α 11, α 22 = α 5, α 10 } mit α 20 = α 3 und C α 3 = 8, also m α 3 = deg ( M α 3(x) ). Zusammen folgt mit M α o(x) = x 1 also x 17 1 = M α o(x) M α (x) M α 3(x), d.h. x 17 1 hat einen irreduziblen Faktor ersten Grades und zwei irreduzible Faktoren achten Grades. 4. Zeige: für r = 9 gilt P r = {(C 1, C 2 ) : C 1 und C 2 wie oben spezifiziert}. Laut Beispiel 7.4 gilt x 15 1 = (x 1)(x 2 +x+1)(x 4 +x+1)(x 4 +x 3 +1)(x 4 + x 3 + x 2 + x + 1) =: M 1 (x) M 2 (x) M 3 (x) M 4 (x) M 5 (x). Also erzeugt jedes der Polynome g 11 (x) = M 1 (x) M 3 (x) M 4 (x), g 12 (x) = M 1 (x) M 3 (x) M 5 (x) und g 13 (x) = M 1 (x) M 4 (x) M 5 (x) mit dem Grad 9 = 15 6 jeweils einen zyklischen [15, 15 9] = [15, 6] Code C 1. Mit Nr.3 erzeugt jedes der beiden Polynome g 21 (x) = M α o(x) M α (x) und g 22 (x) = M α o(x) M α 3(x) vom Grad 9 = 17 8 jeweils einen zyklischen [17, 17 9] = [17, 8] Code C 2. Zusammen gilt P 9 = 3 2 = Bestimme P r für alle (zulässigen) r. r = 0: P 0 = {(C 1, C 2 )} = {(F 15, F 17 )} mit g 1 (x) = 1 = g 2 (x). r = 1: P 1 = {(C 1, C 2 )} mit g 1 (x) = x15 1 x 1 = M 2 (x) M 3 (x) M 4 (x) M 5 (x) und g 2 (x) = x17 1 x 1 = M α(x) M α 3(x). 2 r 7: P r =, weil es kein g 2 (x) vom Grad 17 k 2 = 17 (17 r) = r mit g 2 (x) (x 17 1) gibt. r = 8: Es gibt drei zyklische [15, 15 r] = [15, 7] Codes C 1, weil es genau drei verschiedene Generator-Polynome g 1 (x) vom Grad 15 7 = 8 gibt. Es gibt zwei zyklische [17, 17 r] = [17, 9] Codes C 2, weil es genau zwei verschiedene Generator-Polynome g 2 (x) vom Grad 17 9 = 8 gibt. Zusammen gilt P 8 = 3 2 = 6. r = 9: Laut Nr.4 gilt P 9 = 3 2 = r 15: P r =, weil es kein g 2 (x) vom Grad 17 k 2 = 17 (17 r) = r mit g 2 (x) (x 17 1) gibt. 136
137 8.3.3 Problem 8.8 on p. 258 to subsection 8.3 Sei C ein zyklischer [85, 81, d] Code über F = GF(2 2 ) mit Generator-Polynom g(x). Sei Φ der Zerfällungskörper von g über F. 1. Zeige: g ist entweder irreduzibel über F oder Produkt von zwei über F irreduziblen Poynomen zweiten Grades. Mit Proposition 7.9 auf S. 115 gilt Φ = GF(4 m ), wobei m minimal mit 5 17 = 85 (4 m 1) = 255 = Sei α Φ mit O(α) = 85. Dann gilt C α = {α, α 4, α 16, α 64 } mit α 256 = α. Weiter gilt C α 17 = {α 17, α 68 } mit α 4 68 = α 17 sowie C α 34 = {α 34, α 136 = α 51 } mit α 4 51 = α 34. Nun gibt es kein Minimal-Polynom M α (x) dritten Grades. Sonst müßte nämlich C α = {α, α 4, α 16 } mit α 64 = α oder eben α 63 = 1 gelten, was unmöglich ist, da 63 kein Teiler von 85 ist. Also kann ein Generator- Polynom g(x) vierten Grades nur selber irreduzibel (es gibt viele irreduzible Polynome vierten Grades) oder Produkt von M α 17(x) und M α 34(x) sein. 2. Für jeden der beiden Fälle der Nr.1 bestimme die möglichen Werte der multiplikativen Ordnungen der Wurzeln von g(x) in Φ. Im ersten Fall besteht die Menge der Wurzeln aus einer Konjugenz-Klasse, etwa C α = {α, α 4, α 16, α 64 } mit O(α) = O(α 4 ) = O(α 16 ) = O(α 64 ) = 85. Im zweiten Fall besteht die Menge der Wurzeln aus C α 17 C α 34 = {α 17, α 68 } {α 34, α 51 } mit O(α 17 ) = O(α 68 ) = O(α 34 ) = O(α 51 ) = In welchen Fällen der Nr.1 ist x C? x 5 +1 C g(x) (x 5 +1), wobei deg(g) = 4. Aus x 5 +1 = v(x) g(x) = v(x) ( x 4 + c 3 x 3 + c 2 x 2 + c 1 x + 1 ) folgt v(x) = x + 1, d.h. g(x) = x5 1 x 1 = x 4 +x 3 +x 2 +x+1 = M α 17(x) M α 34(x) =(x α 17 )(x α 68 )(x α 34 )(x α 51 ) Übereinstimmung beim Vergleich der Koeffizienten zu x 0 : 1 = α 17 α 68 α 34 α 51 = α = α ( )17 = α = 1 x 1 : 1 = α α α α = α (1+4+2)17 + α (1+4+3)17 + α (1+2+3)17 + α (4+2+3)17 = α α α α 9 17 = α i=o α17i = α 6 17 α α 17 1 = α10 17 α 6 17 α 17 1 = 1 α17 α 17 1 = 1 x 2 : 1 = α 17 α 68 +α 17 α 34 +α 17 α 51 +α 68 α 34 +α 68 α 51 +α 34 α 51 = α (1+4)17 + α (1+2)17 + α (1+3)17 + α (4+2)17 + α (4+3)17 + α (2+3)17 = α α α α α α 5 17 = 1+α i=0 α17i = 1+α 3 17 α α 17 1 = 1 x 3 : 1 = α 17 + α 68 + α 34 + α 51 = α 17 3 i=o α17i = α 17 α68 +1 α = α85 +α 17 α = 1 x 4 : beide Polynome sind monisch. 4. Identifiziere Φ für den Fall d = 3. x C impliziert d(c) 2, so daß für d = 3 das Generator-Polynom g(x) gerade aus einem der Minimal-Polynome vierten Grades besteht, z.b. M α (x) = (x α)(x α 4 )(x α 16 )(x α 64 ) oder M α 2(x) = (x α 2 )(x α 8 )(x α 32 )(x α 43 ) oder M α 3(x) = (x α 3 )(x α 12 )(x α 48 )(x α 22 ) usw. Vermutung: die zugehörigen Zerfällungskörper sind identisch. (see LidlNiederreiter, pp34) 137
138 5. Bestimme die multiplikative Ordnung der Wurzeln von g(x) in Φ für den Fall d = 3. Wenn Φ für jedes M(x) vierten Grades identisch ist, so sind wahrscheinlich auch die Ordnungen der Wurzeln identisch, also etwa O(α) = 85, O(α 4 ) =??, O(α 16 ) =??, O(α 64 ) =?? Problem 8.9 on p. 258 to subsection 8.4 Sei α Φ = GF(2 m ) primitiv, d.h. O(α) = 2 m 1. Sei C BCH ein zyklischer, primitiver (n = 2 m 1) BCH-Code im engeren Sinn (b = 1) über ( F = GF 2. Eine zugehörige ) Paritätsmatrix entsteht, wenn jedes Element in 1 α α 2 α n 1 1 α 3 α 6 α 3(n 1) durch einen Spalten-Vektor aus F m repräsentiert wird. Sei endlich C RS ein [N = n, K, D] RS-Code über Φ mit C BCH = C RS F m. 1. Zeige: α 2, α 4 und α 6 sind Wurzeln von C BCH. Das Generator-Polynom von C BCH ist g(x) = (x α)(x α 2 )(x α 3 ). Also ist insbesondere α 2 eine Wurzel von C BCH. Wegen g(x) = x 3 +c 2 x 2 + c 1 x+c o F [x] gilt g 2 (x) = x 6 +c 2 x 4 +c 1 x 2 +c o = g(x 2 ). Also sind wegen 0 = g 2 (α 2 ) = g(α 4 ) und 0 = g 2 (α 3 ) = g(α 6 ) auch α 4 und α 6 Wurzeln von C BCH. 2. Angenommen, D = 5 und α 3 ist Wurzel von C RS. Bestimme unter diesen Bedingungen eine Paritätsmatrix für C RS. 3. Angenommen, D = 4 und α 3 ist Wurzel von C RS. Bestimme unter diesen Bedingungen eine Paritätsmatrix für C RS. Ist die Lösung eindeutig? 4. Bestimme die maximale Dimension von RS-Codes C RS über Φ mit C BCH = C RS F m Problem 8.11 on p. 259 to subsection 8.4 Sei F = GF(2 2 ) und Φ = GF(2 8 ). 1. Sei α Φ mit O(α) = 17. Bestimme C α bzgl. F. C α = {α, α 4, α 16, α 64 = α 13 } mit α 256 = α 52 = α und C α = 4 = m α. 2. Bestimme den Zerfällungskörper von x 17 1 über F. Laut Proposition 7.19 auf S. 118 ist GF(4 m ) der Zerfällungskörper von x 17 1 über F, wobei m minimal mit 17 (4 m 1) = 255 = ist. 3. Bestimme die Grade der irreduziblen Faktoren von x 17 1 und die Anzahl der irreduziblen Faktoren bestimmten Grades. Neben C 1 = {1} mit C 1 = 1 = m 1 gilt C α 2 = {α 2, α 8, α 32 = α 15, α 60 = α 9 } mit α 36 = α 2 und C α 2 = 4 = m α 2, C α 3 = {α 3, α 12, α 48 = α 14, α 56 = α 5 } mit α 20 = α 3 und C α 3 = 4 = m α 3 und C α 6 = {α 6, α 24 = α 7, α 28 = α 11, α 44 = α 10 } mit α 40 = α 6 und C α 6 = 4 = m α 6. Es gibt also insgesamt den einen irreduziblen Faktor 138
139 M 1 (x) ersten Grades und die vier irreduziblen Faktoren M α (x), M α 2(x), M α 3(x) und M α 6(x) jeweils vierten Grades. 4. Sei g(x) = 17 k i=o g ix i Generator-Polynom des zyklischen [17, k] Code C über F. Zeige: g i = g 17 k i für i = 0, 1,..., 17 k. Ausmultiplizieren liefert M 1 (x) = x 1 sowie M α (x) = x 4 (α + α 4 + α 13 + α 16 )x 3 + (α 3 + α 5 + α 12 + α 14 )x 2 (α + α 4 + α 13 + α 16 )x + 1, M α 2(x) = x 4 (α 2 + α 8 + α 9 + α 15 )x 3 + (α 6 + α 10 )x 2 (α 2 + α 8 + α 9 + α 15 )x + 1, M α 3(x) = x 4 (α 3 + α 5 + α 12 + α 14 )x 3 + (α 2 + α 8 + α 9 + α 15 )x 2 (α 3 + α 5 + α 12 + α 14 )x + 1, M α 6(x) = x 4 (α 6 + α 7 + α 10 + α 11 )x 3 + (α + α 4 + α 13 + α 16 )x 2 (α 6 + α 7 + α 10 + α 11 )x + 1. Die fünf Minimal-Polynome sind augenscheinlich in der geforderten Weise symmetrisch. Mit symmetrischen Polynomen g(x) = x deg g + g 1 x deg g g 2 x 2 +g 1 x+1 und h(x) = x deg h +h 1 x deg h h 2 x 2 +h 1 x+1 ist aber auch das Produkt (gh)(x) = x deg g+deg h + (g 1 + h 1 )x deg g+deg h (g 2 + g 1 h 1 + h 2 )x 2 + (g 1 + h 1 )x + 1 symmetrisch. Ein Generator- Polynom g ist als Produkt von symmetrischen Minimal-Polynomen also symmetrisch. Sei nun C BCH ein [17, k, D] BCH-Code über F mit designed minimum distance D = 7 und maximaler Dimension k. C BCH ist ein alternanter Code mit unterliegendem RS-Code und gcd(n, q) = gcd(17, 4) = 1, vgl. Abschnitt Drücke die Wurzeln von C BCH als Potenzen eines Elementes α Φ mit O(α) = 17 aus und bestimme die Dimension von C BCH. Sei g(x) das Generator-Polynom von C BCH. Laut Proposition 8.6 auf S. 131 gilt g(x) (x 17 1) = 17 k i=1 (x β i) = t j=1 M γ j (x) mit Wurzeln β i Φ und Minimal-Polynomen M γj (x). 6. Sei C RS ein RS-Code der Länge 17 über Φ mit maximaler Dimension, so daß C BCH = C RS F 17. Bestimme die Dimension und die möglichen Mengen von Wurzeln von C RS, ausgedrückt als Potenzen von α. 139
140 12 Ketten-Codes Ketten-Codes haben wie sich zeigen wird hinsichtlich ihrer Korrektur-Leistung günstige asymptotische Eigenschaften, während der Aufwand für Kodierung und Dekodierung nur polynomial in der Code-Länge n wächst erweiterte Definition Gegenüber Abschnitt 5.4 erweiterte Definition: Def. Sei F ein endliches Alphabet, Φ eine endliche Menge und C in ein (n, Φ, d)- Code über F, der sogenannte innere Code. Sei C out ein (N, M, D) Code über Φ, der sogenannte äußere Code, und sei E in : Φ C in eine Bijektion. Der Code C con = (E in, C out ) = { ( E in (z 1 ) E in (z 2 )... E in (z N ) ) F nn : (z 1, z 2,..., z N ) C out } über F heißt Ketten-Code. C con ist ein (nn, M, dd) Code über F, s. Problem 12.1 Bem. Für die Ketten-Codes aus Abschnitt 5.4 gilt: F ist ein Körper, Φ ist ein Erweiterungskörper von F, E in ist linear über F (was impliziert, daß C in ein linearer [n, k, d]-code mit k = [Φ : F ] ist) und C out ist ein linearer [N, K, D] Code über Φ. Solche Ketten-Codes C con heißen linear verkettet. C con ist linearer [nn, kk, dd] Code. Um die Korrektur-Leistung zu maximieren, verwendet man für die äußeren Codes typischerweise MDS-Codes, z.b. erweiterte verallgemeinerte RS-Codes, falls denn nur N Φ Dekodierung von Ketten-Codes Ketten-Codes Probleme Problem 12.1 on p. 381 to subsection 12.1 Der Ketten-Code C con = { ( E in (z 1 ) E in (z 2 )... E in (z N ) ) F nn : (z 1, z 2,..., z N ) C out } über F sei durch einen äußeren (N, M, D)-Code C out über Φ und eine Bijektion E in : Φ C in auf einen inneren (n, Φ, d) Code über F spezifiziert. Zeige: C con ist ein (nn, M, dd) Code über F. Laut Konstruktion liegen die Code-Wörter von C con in F nn, d.h. C con ist ein Code der Länge nn über F. Ebenso hat C con genauso viele Code-Wörter wie C out, d.h. C con hat die Code-Größe M. Sei c = ( E in (w 1 ) E in (w 2 )... E in (w N ) ) C con, d.h. w = (w 1, w 2,..., w N ) C out mit E in (w i ) C in für i = 1, 2,..., N sowie c = ( E in (w 1) E in (w 2)... E in (w N )) C con, d.h. w = (w 1, w 2,..., w N ) C out mit E in (w i ) C in für i = 1, 2,..., N. Da E in bijektiv ist, gilt c c w w, so daß d Ccon = min d(c, c ) Ccon c c Ccon min d (( E in (w 1) E in (w 2)... E in (w N ) C out w w C out dd ) )), (E in (w 1 ) E in (w 2 )... E in (w N ) 140
141 folgt Problem 12.2 on p. 382 to subsection 12.1 (Generator- und Paritätsmatrix von linear konkatenierten Ketten-Codes) Sei C in ein (innerer) linearer [n, k] Code über F = GF q, sei Ω = (ω 1,..., ω k ) eine Basis von Φ = GF(q k ) über F, sei G in eine k n Generator-Matrix von C in und definiere einen linear-konkatenierten Code C con über F durch einen (äußeren) linearen [N, K] Code C out über Φ und eine Bijektion E in : Φ C in mit E in (Ωx) = x G in. Für α Φ sei L(α) die k k-matrix über F, die die Abbildung φ α : Φ Φ mit φ α (x) = αx repräsentiert, d.h. φ α (Ωx) = ΩL(α)x für jeden Spalten-Vektor x F k. Sei letztlich Q eine k n Matrix über F mit G in Q = I k. 1. Sei G out = ( ) g i,j eine K N Generator-Matrix von Cout über Φ. Zeige: L (g 1,1)G in L (g 1,2)G in L (g 1,N )G in L (g 2,1)G in L (g 2,2)G in L (g 2,N )G in G con =.... =L (G out )G in. L (g K,1)G in L (g K,2)G in L (g K,N )G in L ist linear in α, d.h. L(Ωx) = L(Ω)x und ebenso G con = L (G out )G in. 2. Wieso existiert Q? Ist Q eindeutig? Sei o.b.d.a. G in = (I k A k (n k) ). Für Q = (I k 0 k (n k) ) gilt dann ( ) G in Q I = (I k A k k (n k) = I k. Ist Q eindeutig? 0 (n k) k 3. Sei H in eine (n k) n Paritätsmatrix von C in über F und sei H out = ( ) h i,j eine (N K) N Paritätsmatrix von C out über Φ. Zeige: eine (nn kk) nn Paritätsmatrix H con von C con ist durch H con = H in H in H in L(h 1,1 )Q L(h 1,2 )Q L(h 1,N )Q gegeben. L(h 2,1 )Q L(h 2,2 )Q L(h 2,N )Q... L(h N K,1 )Q L(h N K,2 )Q L(h N K,N )Q H con besteht im oberen Teil aus N Zeilen von Block-Matrizen mit jeweils n k Zeilen, im unteren Teil aus N K Zeilen von Block-Matrizen mit jeweils k Zeilen, insgesamt also aus N(n k) + (N K)k = nn kn + kn kk = nn kk Zeilen. H con hat N Spalten von Block- ( Matrizen mit jeweils n Spalten, insgesamt also nn Spalten. Nun gilt Hcon Gcon) I,J = H ing in L(g J,I) = 0L(g J,I ) = 0 für I = 1, 2,..., N und ( Hcon G con)n+i,j = N l=1 L(h I,l)QG in L(g J,l) = N l=1 L(h I,l)L(g J,l ) = 0 für I = 1, 2,..., N K, wenn (. ) die Matrix in der I-ten Zeile und I,J der J-ten Spalte einer Matrix bestehend aus Block-Matrizen bezeichnet. 141
142 4. Sei P (x) = ein monisches Polynom vom Grad k über F und sei C P die k k companion Matrix Sei Φ repräsentiert durch F (ξ) P (ξ) Problem on p. 389 to subsection 12.4 Sei F = GF q, Φ = GF(q m ) und seien α 1,..., α n Φ paarweise verschieden. Seien D N mit m(d 1) < n und f Φ[x] mit deg(f) = D 1 und f(α j ) 0 für alle j = 1, 2,..., n gegeben. C grs (f) sei der [N = n, K, D] grs-code über Φ mit code locators α 1,..., α n und Spalten-Multiplizierern v j = 1/f(α j ). Der zugehörige alternante Code C alt (f) = C grs (f) F n heißt Goppa 31 -Code. Sei schließlich Γ = Γ(n, m, D) = {C alt (f) : f ist monisches, irreduzibles Polynom mit grad(f) = D 1} 1. Zeige: die Code-Rate von Goppa-Codes ist mindestens R = 1 m(d 1)/n. R = K N N = 1 m(d 1)/n, weil Goppa-Codes verallgemeinerte RS-Codes und damit MDS sind. N (D 1)m 2. Sind für verschiedene monische, irreduzible Polynome f und g notwendigerweise auch C alt (f) und C alt (g) verschieden? Lösungshinweis: Sei D = 2, q > n > m > 1 und α 1,..., α n F = GF q sowie β Φ \ F = GF(q m ) \ F. Betrachte die beiden monischen, irreduziblen Polynome f(x) = x + β und g(x) = x + β q. 1 Da D = 2, ist H alt(f) = (1,..., 1)diag( α,..., 1 1+β α ) = ( 1 n+β α,..., ) 1 1+β α n+β und H alt(g) = ( ) 1 1 α 1+β,..., q α n+β. q Z.B. Die Parameter 1 < m = 2 < n = 3 < q = 2 2 liefern das kleinste Beispiel: F = GF(2 2 ) sei dargestellt als F = GF 2 [ξ]/(ξ 2 + ξ + 1) (es gibt kein anderes irreduzibles quadratisches Polynom über GF 2 ) mit i ξ i 1 ξ ξ LSB immer rechts und Φ = GF(q 2 ) = GF(2 4 ) = GF 2 [χ]/(χ 4 + χ + 1) (es gibt mit χ 4 + χ und χ 4 + χ 3 + χ 2 + χ + 1 genau zwei weitere irreduzible Polynome vierten Grades über GF 2 ) mit i χ i 1 χ χ 2 χ 3 χ+1 χ 2 +χ χ 3 +χ 2 χ 3 +χ+1 χ i χ i χ 3 +χ χ 2 +χ+1 χ 3 +χ 2 +χ χ 3 +χ 2 +χ+1 χ 3 +χ 2 +1 χ bzw. hier besser als Φ = GF(2 4 ) = F [χ]/(χ 2 + ξχ + 1), wobei χ 2 + ξχ + 1 F [χ] irreduzibel ist, weil χ 2 + ξχ + 1 = (χ + a)(χ + b) = χ 2 + (a + b)χ + ab auf das Gleichungssystem a + b = ξ und ab = 1, also a + a 1 = ξ führt, 31 Valery Denisovich Goppa (1939-) Goppa 142
143 das wegen = 0 ξ, ξ + ξ 2 = 1 ξ und ξ 2 + ξ = 1 ξ keine Lösung a F hat. In dieser Darstellung wird Φ etwa von χ + 1 erzeugt: i (χ+1) i χ ξχ ξ + χ (1+ξ) + χ ξ ξ + ξχ (1+ξ)χ (1+ξ) + ξχ i (χ+1) i 1 + ξχ 1+ξ (1+ξ) + (1+ξ)χ χ 1 + (1+ξ)χ ξ + (1+ξ)χ Mit F = GF 2 [ξ]/(ξ 2 + ξ + 1) gibt es Körper-Isomorphismen τ : Φ = GF 2 [χ]/(χ 4 + χ + 1) F [χ]/(χ 2 + ξχ + 1) = Ψ Wegen 0 = τ(χ 4 + χ + 1) = ( τ(χ) ) 4 + τ(χ) + 1 ist τ(χ) eine der vier Nullstellen von P (X) = X 4 + X + 1 in Ψ. Auswerten in Ψ liefert X X 4 + X (χ+1) = 1 (χ+1) 1 (χ+1) 4 + (χ+1) + 1 = (χ + ξ+1) + χ = ξ+1 (χ+1) 2 (χ+1) 8 + (χ+1) = (ξχ + ξ+1) + ξχ + 1 = ξ (χ+1) 3 (χ+1) 12 + (χ+1) = χ + (χ + ξ) + 1 = ξ+1 (χ+1) 4 (χ+1) 16 + (χ+1) = (χ+1) + (χ + ξ+1) + 1 = ξ+1 (χ+1) 5 (χ+1) 20 + (χ+1) = (χ+1) 5 + (χ+1) = 1 (χ+1) 6 (χ+1) 24 + (χ+1) = (χ+1) 9 + (χ+1) = (ξχ + 1) + (ξχ + ξ) + 1 = ξ (χ+1) 7 (χ+1) 28 + (χ+1) = (χ+1) 13 + (χ+1) = ((ξ+1)χ + 1) + (ξ+1)χ + 1 = 0 (χ+1) 8 (χ+1) 32 + (χ+1) = (χ+1) 2 + (χ+1) = ξχ + (ξχ + ξ+1) + 1 = ξ (χ+1) 9 (χ+1) 36 + (χ+1) = (χ+1) 6 + (χ+1) = (ξχ + ξ) + (ξχ + 1) + 1 = ξ (χ+1) 10 (χ+1) 40 + (χ+1) = (χ+1) 10 + (χ+1) = 1 (χ+1) 11 (χ+1) 44 + (χ+1) = (χ+1) 14 + (χ+1) = ((ξ+1)χ + ξ) + ((ξ+1)χ + ξ+1) + 1 = 0 (χ+1) 12 (χ+1) 48 + (χ+1) = (χ+1) 3 + (χ+1) = (χ + ξ) + χ + 1 = ξ+1 (χ+1) 13 (χ+1) 52 + (χ+1) = (χ+1) 7 + (χ+1) = (ξ+1)χ + ((ξ+1)χ + 1) + 1 = 0 (χ+1) 14 (χ+1) 56 + (χ+1) = (χ+1) 11 + (χ+1) = ((ξ+1)χ + ξ+1) + ((ξ+1)χ + ξ) + 1 = 0 Als eine mögliche Konsistenz-Prüfung verifiziert man, daß das Polynom P (X) jeden Wert in F genau viermal annimmt, vgl. [15] Problem?.?. Es gibt also vier Isomorphismen τ 1 mit τ 1 (χ) = (χ + 1) 7 = (ξ + 1)χ und τ 2 mit τ 2 (χ) = (χ + 1) 11 = (ξ + 1)χ + ξ + 1 und τ 3 mit τ 3 (χ) = (χ + 1) 13 = (ξ + 1)χ + 1 und τ 4 mit τ 4 (χ) = (χ + 1) 14 = (ξ + 1)χ + ξ. Weil mit τ(χ) auch die Werte τ(χ i ) = ( τ(χ) ) i auf den anderen Basis-Vektoren χ i vorgegeben sind, ist jeder dieser Isomorphismen 32 damit eindeutig bestimmt. Die Isomorphismen τ lassen sich darstellen als Matrix-Transformationen τ : GF 4 2 GF 4 2 mit τ ( (b 3, b 2, b 1, b 0 ) ) = (b 3, b 2, b 1, b 0 )M τ, wobei M τ aus den Zeilen-Vektoren τ(χ 3 ), τ(χ 2 ), τ(χ 1 ) und τ(χ 0 ) = (0, 0, 0, 1) besteht M τ1 = M τ2 = M 1 τ 1 = M 1 τ 2 = Die Forderung τ(χ 4 + χ + 1) = 0 berücksichtigt die Struktur von Φ. Die Arithmetik bei der Auswertung von τ(χ 4 + χ + 1) berücksichtigt die Struktur von Ψ. 143
144 M τ3 = M τ4 = M 1 τ 3 = M 1 τ 4 = Die so definierten Matrix-Transformationen sind Körper-Isomorphismen: sie sind bijektiv, weil die Transformationsmatrizen invertierbar sind; sie sind als Matrix-Transformationen linear über GF 2 ; sie sind multiplikativ, weil per Konstruktion τ(χ i ) = ( τ(χ) ) i und damit allgemein τ(ab) = τ(χ i χ j ) = τ(χ i+j ) = ( τ(χ) ) i+j = ( τ(χ) ) i ( τ(χ) ) j = τ(a)τ(b) für alle a, b Φ gilt. Wegen τ(a 1 ) = ( τ(a) ) 1 kann man sich grundsätzlich aussuchen, in welcher Darstellung des Körpers mit 16 Elementen man invertieren möchte, beispielsweise in Φ, d.h. in ( GF 2 [χ]/(χ 4 + χ + 1) ) =< χ > i χ i χ i χ i χ i 15 i in Ψ, d.h. in ( F [χ]/(χ 2 + ξχ + 1) ) =< χ + 1 > i (χ + 1) i (χ + 1) i (χ + 1) i (χ + 1) i 15 i Etwa für β = χ Φ \ F gilt dann f(x) = x + χ = f 1 x + f o und g(x) = x + χ 4 = x + (ξ + χ) = g 1 x + g o. Seien etwa α i = ξ i 1 für i = 1, 2, 3 die code locators ausschließlich in F. Dann gilt f(α i ) 0 g(α i ) und mit Problem 5.11 ϑ f j (x) = 1 f(x) f(ξ j 1 ) 1 f(ξ j 1 ) x ξ j 1 = mod f(x) x ξj 1 = 1 deg f 1 deg f f(ξ j 1 x l ) l=0 i=l+1 f i α i l 1 j = f 1 f(ξ j 1 ) = 1 ξ j 1 + χ 144
145 und damit ϑ f 1 (x) = 1 1+χ = (χ + 1) 1 = (χ + 1) 14 = ξ + (1 + ξ)χ, ϑ f 2 (x) = 1 ξ+χ = (χ + 1) 3 = (χ + 1) 12 = χ und ϑ f 3 (x) = 1 ξ 2 +χ = (χ + 1) 4 = (χ + 1) 11 = (1 + ξ) + (1 + ξ)χ mit bzw. C alt(f) = {(c 1, c 2, c 3 ) F 3 : 3 i=1 = {(c 1, c 2, c 3 ) GF(2 2 ) 3 : c i 0 mod f(x)} x ξi 1 3 i=1 c i ϑ f i (x) = 0} ϑ g j (x) = 1 g(x) g(ξ j 1 ) 1 g(ξ j 1 ) x ξ j 1 = mod g(x) x ξj 1 = 1 deg g 1 deg g g(ξ j 1 x l ) l=0 i=l+1 g i α i l 1 j = g 1 g(ξ j 1 ) = 1 ξ j 1 +ξ + χ und damit ϑ g 1 (x) = 1 1+ξ+χ = (χ + 1) 4 = (χ + 1) 11 = (1 + ξ) + (1 + ξ)χ, ϑ g 2 (x) = 1 ξ+ξ+χ = (χ + 1) 12 = (χ + 1) 3 = ξ + χ und ϑ g 3 (x) = 1 ξ 2 +ξ+χ = (χ + 1) 1 = (χ + 1) 14 = ξ + (1 + ξ)χ mit C alt(g) = {(c 1, c 2, c 3 ) F 3 : 3 i=1 = {(c 1, c 2, c 3 ) GF(2 2 ) 3 : c i 0 mod g(x)} x ξi 1 3 i=1 c i ϑ g i (x) = 0} Mit c C alt(f) 3 i=1 c iϑ f i (x) = 0 ( (ξ + 1)χ + ξ ) c 1 + χc 2 + ( (ξ +1)χ + (ξ +1) ) c 3 = 0 (ξ+1)c 1 + c 2 + (ξ+1)c 3 = 0 ξc 1 + (ξ+1)c 3 = 0 c 1 + c 2 = 0 ξc 1 + (ξ+1)c 3 = 0 folgt für etwa c 1 = 1 eben c 2 = 1 und c 3 = ξ+1, d.h. C alt(f) = F (1, 1, ξ+1). C alt(f) ist also der etwa von (1, 1, ξ+1) aufgespannte eindimensionale Unterraum von F 3. c C alt(g) 3 i=1 c iϑ g i (x) = 0 ( (ξ +1)χ + (ξ +1) ) c 1 + (χ + ξ)c 2 + ( (ξ + 1)χ + ξ ) c 3 = 0 (ξ+1)c 1 + c 2 + (ξ+1)c 3 = 0 (ξ+1)c 1 + ξc 2 + ξc 3 = 0 (ξ+1)c 1 + c 2 + (ξ+1)c 3 = 0 (ξ+1)c 2 + c 3 = 0. Dieses Gleichungssystem ist für etwa c 1 = 1 äquivalent zu c 2 + (ξ+1)c 3 = ξ+1 (ξ+1)c 2 + ξc 3 = ξ. Also folgt (ξ+1)c 2 + c 3 = 0 (ξ+1)c 2 + c 3 = 0 c 3 = ξ 2 = ξ+1 und c 2 = 1 und damit insgesamt C alt(f) = C alt(g). 3. Zeige: Γ qm(d 1) D 1 q n(1 R) Da wegen Problem 5.4 Nr.1 zwei verallgemeinerte RS-Codes, deren Spalten-Multiplizierer sich nur um ein skalares Vielfaches unterscheiden, identisch sind, darf o.b.d.a. angenommen werden, daß die Polynome f monisch sind. Mit Φ = q m gibt es (q m ) D 1 monische Polynome von Grad D 1 über Φ. 145
146 Die zweite Ungleichung folgt mit Nr Sei 0 c F n. Zeige: {C Γ : c C} (n 1)/(D 1) Lösungshinweis: laut Problem 5.11 gilt Φ n (c 1, c 2,..., c n ) C grs (f) f(x) n j=1 c j i=1,2,...,n,i j (x α i) 5. Sei 0 < d N. Zeige: Wenn q m(d 1) q m(d 1)/2 (D 1) (n 1) ( V q (n, d 1) 1 ) dann gibt es C Γ mit d(c) d. Setze das Ergebnis zur Gilbert- Varshamov-Schranke in Beziehung. Lösungshinweis: Problem 12.10, Nr.6 146
147 15 Appendix 15.1 Basics in Algebra Problem A.1 on p. 522 Die Funktion φ : Z + Z + mit φ(n) = {i {1, 2,..., n} : gcd(i, n) = 1} heißt Euler 33 -Funktion. 1. Zeige: φ(p e ) = p e 1 (p 1) für jedes prime p und e N. Zu p e sind 1, 2,..., p 1 und p + 1, p + 2,..., 2p 1 usw usf und p e 1 + 1, p e 1 +2,..., p e 1 teilerfremd, also n/p = p e 1 viele Mengen mit jeweils p 1 Elementen, so daß φ(p e ) = p e 1 (p 1) folgt. 2. Sei s j=1 pej j die Primfaktorzerlegung von n in paarweise verschiedene p j. Zeige: φ(n) = n s (1 1/p). j=1 (1 1/p j) = n p n,p prim Wegen Nr.3, Nr.1 gilt φ ( s j=1 pej j s j=1 pej j (1 1/p j) = n s j=1 (1 1/p j). ) = s j=1 φ(pej j ) = s j=1 pej 1 j (p j 1) = 3. Seien m, n N mit gcd(n, m) = 1. Zeige: φ(mn) = φ(m)φ(n) Seien A = {i {1, 2,..., m} : gcd(i, m) = 1}, B = {j {1, 2,..., n} : gcd(i, n) = 1} und C = {k {1, 2,..., mn} : gcd(k, mn) = 1} die Mengen mit φ(m) = A, φ(n) = B und φ(mn) = C. Dann stiftet der Chinesische Restsatz eine Bijektion A B C: zu (i, j) A B gibt es nämlich genau ein k C mit k i mod m und k j mod n, wobei k modulo mn eindeutig bestimmt ist. Also gilt φ(m)φ(n) = A B = C = φ(mn). 4. Zeige: φ(n/m) = {i {1, 2,..., n} : gcd(i, n) = m} für jedes m n. Die Abbildung ψ m : D ψ := {i {1, 2,..., n/m} : gcd(i, n/m) = 1} {j {1, 2,..., n} : gcd(j, n) = m} = B ψ mit ψ m (x) = m x ist wegen gcd(i, n/m) = gcd(m i, n) = m bijektiv, was φ(n/m) = D ψ = B ψ zur Folge hat. 5. Zeige: m n φ(m) = m n φ(n/m) = n. Da mit m auch n/m ein Teiler von n und mit n/m auch m ein Teiler von n ist, gilt m n φ(m) = m n φ(n/m). Für jedes i {1, 2,..., n} folgt aus gcd(i, n) = m schließlich m n und gcd(i/m, n/m) = 1, d.h. daß jedes solche i in genau einer der Mengen mit Kardinalität φ(n/m) als i/ gcd(i, n) repräsentiert ist. Also gilt m n φ(n/m) = n. Problem A.2 on p. 523 Die Möbius 34 -Funktion µ : Z + { 1, 0, 1} ist wie folgt definiert. Sei n = s j=1 pej j die Primfaktor-Zerlegung von n. Dann gilt µ(n) = µ ( s ) j=1 pej j = 1 für n = 1 ( 1) s falls e j = 1 für j = 1, 2,..., n. 0 sonst 33 Leonhard Euler ( ) www-history.mcs.st-andrews.ac.uk/biographies/euler.html 34 August Ferdinand Möbius ( ) www-history.mcs.st-andrews.ac.uk/biographies/mobius.html 147
148 1. (Möbius Inversionsformel) Seien h, H : Z + R. Dann gilt H(n) = m n h(m) n Z+ h(n) = m n µ(m)h(n/m) n Z+ Hinweis: zeige zunächst { 1, n = 1 m n µ(m) = 0, n > 1 = δ n,1. Sei n = s j=1 pej j und m = s j=1 pfj j. Wenn m Teiler von n ist, gilt f j e j für alle j = 1, 2,..., s. So gilt m n µ(m) = f µ( s ) 1,f 2,...,f s {0,1} = s k=o j=1 pfj j f j1 =f j2 =...=f jk =1 µ( k i=1 pfj i j i ) = s k=o ( s k) ( 1) k = (1 1) s = 0. : m n µ(m)h( n m )= m n µ(m) m h(m )= n m m n,m µ(m)h(m ) n m impliziert wegen {(m, m ) : m n, m n m } = {(m, m ) : m n, m n m } gerade µ(m)h(m ) = m n,m n µ(m)h(m ) = m m n h(m ) m n µ(m) m m n,m n m = m n h(m )δ n m,1 = m n h(m )δ m,n = h(n). : m n h(m) = m n m m µ(m )H( m m ) = m n,m m µ(m )H( m m ) = m n,m m µ( m m )H(m ) impliziert wegen {( m m, m ) : m n, m m} = {(m, m ) : m n, m n m } in diesem Fall eben m n,m m µ( m m )H(m ) = m n,m n µ(m )H(m ) = m m n H(m) m m n µ(m ) = m n H(m)δ m n,1 = m n H(m)δ m,n = H(n). 2. Zeige φ(n) n = m n µ(m) m. Hinweis Problem A.1 Nr.5 Laut Problem A.1 Nr.5 gilt H(n) = n = m n φ(m), was nach Nr.1 äquivalent ist zu h(n) = φ(n) = m n µ(m)h(n/m) = m n µ(m) n m und damit zu φ(n) n = m n Problem A.3 on p. 524 µ(m) m. (erweiterter Euklid scher Algorithmus) Der folgende Algorithmus berechnet gcd(a, b) für a, b N. r 1 = a; r o = b; s 1 = 1; s o = 0; t 1 = 0; t o = 1; for(i = 1; r i 1 0; i + +){ q i = r i 2 /r i 1 ; r i = r i 2 q i r i 1 ; s i = s i 2 q i s i 1 ; t i = t i 2 q i t i 1 ; } Sei ν der größte Index i, so daß r i 0. Zeige die folgenden Eigenschaften wo angezeigt, vermittels vollständiger Induktion. 1. s i a + t i b = r i für jedes i = 1, 0, 1,..., ν + 1 Induktionsanfang: Offensichtlich gilt s 1 a + t 1 b = 1 a + 0 b = a = r 1 für i = 1 sowie s o a + t o b = 0 a + 1 b = b = r o für i = 0. Induktionsschritt: sei s i 2 a + t i 2 b = r i 2 und s i 1 a + t i 1 b = r i 1 vorausgesetzt. Mit q i = r i 2 /r i 1 gilt dann s i a + t i b = (s i 2 q i s i 1 )a + (t i 2 q i t i 1 )b = s i 2 a + t i 2 b q i (s i 1 a + t i 1 b) = r i 2 q i r i 1 = r i. 148
149 2. Wenn ein c sowohl a als auch b teilt, dann teilt c auch r i für jedes i = 1, 0, 1,..., ν + 1 Induktionsanfang: Unter der generellen Voraussetzung, daß c sowohl a als auch b teilt, teilt c eben r 1 = a sowie r o = b. Induktionsschritt: c teile r i 2 und r i 1. Wegen r i = r i 2 q i r i 1 teilt c dann auch r i. 3. r ν teilt r i für jedes i = ν 1, ν 2,..., 0, 1 0 = r ν+1 = r ν 1 q ν+1 r ν r ν r ν 1 r ν = r ν 2 q ν r ν 1 r ν r ν 2 wegen r ν r ν 1 r ν 1 = r ν 3 q ν 1 r ν 2 r ν r ν 3 wegen r ν r ν 1, r ν 2 : : r 2 = r o q 2 r 1 r ν r o wegen r ν r ν 1, r ν 2,..., r 1 r 1 = r 1 q 1 r o r ν r 1 wegen r ν r ν 1, r ν 2,..., r 1, r o 4. r ν = gcd(a, b) Wegen Nr.3 ist r ν Teiler von r 1 = a und von r o = b und damit von gcd(a, b). Wegen Nr.2 teilt jeder gemeinsame Teiler von a und b insbesondere r ν, so daß r ν = gcd(a, b) folgt. Problem A.4 on p. 524 Zeige: Z n = ({0, 1, 2,..., n 1}, +) mit der Addition modulo n ist eine zyklische Gruppe. Z n ist unter der Addition abgeschlossen: a + b Z n für alle a, b Z n. Da die Addition in Z assoziativ und kommutativ ist, ist auch die Addition modulo n in Z n assoziativ und kommutativ. Neutrales Element ist die 0. Es gilt 0 = 0 und für 0 a Z n ist a = n a, weil a + ( a) = a + n a = n = 0 in Z n. Z n ist zyklisch, weil das Element 1 Z n ganz Z n erzeugt. Problem A.5 on p. 524 Zeige: Das neutrale Element 1 einer Gruppe (G, ) ist eindeutig. Angenommen, in G gibt es zwei neutrale Elemente e 1 und e 2 mit e i a = a e i = a für alle a G und i = 1, 2. Dann gilt e 1 e 2 = e 2, weil e 1 neutral ist, und e 1 e 2 = e 1, weil e 2 neutral ist, zusammen gilt also e 1 = e 1 e 2 = e 2. Problem A.6 on p. 524 Zeige: Das zu a G inverse Element a 1 in einer Gruppe (G, ) ist eindeutig. Angenommen, in G gibt es zu a zwei inverse Elemente b 1 und b 2 mit a b i = b i a = 1. Dann gilt b 1 = b 1 1 = b 1 (a b 2 ) = (b 1 a) b 2 = 1 b 2 = b
150 Problem A.7 on p. 524 Zeige: für jedes a G gilt (a n ) 1 = (a 1 ) n für alle n N. (a n ) 1 = (a n ) 1 1 = (a n ) 1 a a 1 = (a n ) 1 a 1 a 1 = (a n ) 1 a 2 1 (a 1 ) 2 =... = (a n ) 1 a n (a 1 ) n( (a n ) 1 a n) (a 1 ) n = 1 (a 1 ) n = (a 1 ) n Problem A.8 on p. 524 Zeige: jedes Element a einer endlichen Gruppe (G, ) hat endliche Ordnung. Angenommen, a n 1 für alle n N, wo 1 das neutrale Element bezeichne. Da nicht alle a n G verschieden sein können G hat schließlich selbst nur endlich viele Elemente muß es n, m N geben mit a n = a m. Sei o.b.d.a. m < n. Dann gilt mit Problem A.8 a n m = a n (a 1 ) m = a m (a m ) 1 = 1. Also ist M = {l N : a l = 1}. Die Menge M hat damit ein kleinstes Element, nämlich die endliche (!) Ordnung von a. Problem A.9 on p. 524 Sei a ein Element endlicher Ordnung in (G, ). 1. Zeige: für jedes 0 < l N gilt a l = 1 O(a) l Zunächst gilt l mal O(a) mal O(a) mal O(a) mal l mod O(a) mal a l { }} { { }} { { }} { { }} { { }} { = a a... a = a a... a a a... a a a... a a a... a a l mod O(a). Also folgt a l = 1 a l mod O(a) = 1 l mod O(a) 0 O(a) l. 2. Zeige: für jedes 0 < n N gilt O(a n ) = O(a)/ gcd(o(a), n) Wegen Nr.1 gilt (a n ) O(an) = a no(an) = 1 O(a) (no(a n )). Weiter ist < a n > Untergruppe von < a > und daher gilt O(a n ) O(a), d.h. O(a) = v O(a n ) für ein v N. Aus v O(a) und O(a) = v O(a n ) (no(a n )) folgt v n, zusammen also v gcd(n, O(a)) =: g. Angenommen v < g. Dann gilt 1 = a no(an) = a ( n/v v+n mod v)o(an) = a n/v vo(an) a (n mod v)o(an) = a (n mod v)o(an). Wegen Nr.1 gilt nun O(a) = v O(a n ) ( (n mod v)o(a n ) ), was den Widerspruch v (n mod v) impliziert. Problem A.10 on p. 525 Sei m = O(a) und n = O(b) für Elemente a und b einer kommutativen Gruppe (G, ) mit gcd(m, n) = 1. Zeige: O(a b) = mn. Lösungshinweis: Zeige e = O(a b) (nm). Nimm dann e < mn an. Sei p Primteiler etwa von n. Zeige nun (a b) mn/p = 1 = b mn/p. Wegen der Kommutativität gilt (a b) mn = a mn b mn = 1 1 = 1. Mit Problem A.9 ist also e = O(a b) ein Teiler von mn. Angenommen e < mn. Wegen e (mn) und der Primfaktorzerlegungen von m und n gilt e (mn/p) für einen Primteiler von etwa n. Mit A.9 gilt daher 1 = (a b) mn/p = (a m ) n/p b mn/p = b mn/p und erneut mit A.9 also n = O(b) (mn/p), was wegen gcd(m, n) = 1 jedoch den Widerspruch n (n/p) impliziert. 150
151 Problem A.11 on p. 525 Sei G zyklische Gruppe mit Generator a. Sei G = n = O(a) und 1 < m n. Zeige: die Elemente der Ordnung m in G sind genau a i mit i {j {1, 2,..., n} : gcd(j, n) = n/m}. Folgere, daß es genau φ(m) Elemente der Ordnung m in G gibt, d.h. genau φ(n) Generatoren. Zunmächst hat a i mit gcd(i, n) = n/m die Ordnung m, weil mit Problem A.9 O(a i ) = O(a)/ gcd(i, n) = = m gilt. Sei umgekehrt b ein Element der n n/m Ordnung m. Da a ein Generator von G ist, gilt b = a i und wieder mit Problem A.9 m = O(a i ) = O(a)/ gcd(i, O(a)) = n/ gcd(i, n) und so gcd(i, n) = n/m. Mit Problem A.1 Nr.4 ist {j {1, 2,..., n} : gcd(j, n) = n/m} = φ(m) die Anzahl der Elemente mit Ordnung m. Generatoren in G sind Elemente a i mit Ordnung n, d.h. mit gcd(i, n) = 1. Mit Problem A.1 Nr.1 gibt es genau φ(n) solche Elemente. Problem A.12 on p. 525 Sei G eine Gruppe und H G. Zeige: H ist eine Untergruppe von G genau dann, wenn a, b H auch a b 1 H impliziert. Wenn H Untergruppe von G ist, dann ist mit b H auch b 1 H und mit a H daher auch a b 1 H. Wenn umgekehrt H abgeschlossen unter der Bildung von Produkten der Form a b 1, dann folgt für a = b eben 1 H, 1 b 1 = b 1 H sowie a b = a (b 1 ) 1 H für alle a, b H. Also ist H Untergruppe von G. Problem A.13 on p. 525 Sei die endliche Teilmenge = H einer Gruppe G abgeschlossen unter den Gruppen-Operationen von G. Zeige: H ist eine Untergruppe von G. Wenn H abgeschlossen unter den Gruppen-Operationen von G ist, sind insbesondere die Voraussetzungen von Problem A.12 erfüllt. Also ist H eine Untergruppe von G. Problem A.14 on p. 525 Sei H eine Untergruppe von (G, +), hier additiv geschrieben. 1. Zeige: die Kongruenz modulo H ist reflexiv, symmetrisch sowie transitiv und somit eine Äquivalenz-Relation. Zwei Elemente a, b G heißen kongruent, a b, genau dann, wenn a b H. Jedes Element ist wegen a a = 1 H kongruent zu sich selbst, d.h. a a; also ist die Relation reflexiv. Da mit a b H auch (a b) = b a H gilt, folgt a b b a; also ist die Relation symmetrisch. Aus a b, d.h. a b H und b c, d.h. b c H folgt a c = (a b) + (b c) H, d.h. a c; also ist die Relation transitiv. 151
152 2. Zeige: die Äquivalenz-Klassen bzgl. zu a G sind die Nebenklassen a + H in G. Die Äquivalenz-Klassen bzgl. zu a G ist die Menge der zu a kongruenten Elemente in G, d.h. {b G : b a} = {b G : b a H} = {a + b a G : b a H} = {a + c G : c H} = a + H. 3. Zeige: wenn H endlich ist, dann haben alle Nebenklassen dieselbe Anzahl von Elementen. Sei a G beliebig. Dann gilt H = a + H, weil f : H a + H mit f(h) = a + h eine Bijektion definiert: f ist offensichtlich surjektiv. Und a + h 1 = a + h 2 impliziert h 1 = h 2, also ist f auch injektiv. 4. Zeige: (Satz von Lagrange 35 ) Für endliches G ist H Teiler von G. G ist Vereinigung der Nebenklassen, d.h. G = a G a + H. Da die Äquivalenz-Klassen disjunkt sind, kann man geeignete (a i ) i=1,...,l auswählen, so daß G = l i=1 a i + H disjunkte Vereinigung bestimmter Nebenklassen ist und damit G = l H gilt. H ist also ein Teiler von G. Problem A.15 on p. 525 Sei H eine normale Untergruppe von G, d.h. aha 1 H für alle a G und alle h H. Zeige: die Menge der Nebenklassen Ha für a G mit der Multiplikation Ha Hb = Hab bildet eine Gruppe. Übrigens heißt diese Gruppe Faktor- oder Quotienten-Gruppe und wird mit G/H bezeichnet. Bem. a b ab 1 H spezifiziert eine Äquivalenz-Relation auf G: erstens mit Reflexivität a a für alle a G, weil aa 1 = 1 H, zweitens mit Symmetrie a b b a, weil mit ab 1 H eben auch (ab 1 ) 1 = ba 1 H, und drittens mit Transitivität a b und b c impliziert a c, weil mit ab 1, bc 1 H eben ac 1 = ab 1 bc 1 H, also a c gilt. Wegen der Assoziativität ist das Produkt zweier Nebenklassen in diesem Sinn wieder eine Nebenklasse: G/H ist also unter der Multiplikation abgeschlossen. Diese Multiplikation ist wegen (Ha Hb) Hc = (Hab) Hc = H(ab)c = Ha(bc) = Ha (Hbc) = Ha (Hb Hc) assoziativ. Die Nebenklasse H = H1 ist offensichtlich das Einselement dieser Gruppe. Wegen Ha Ha 1 = Haa 1 = H1 = Ha 1 a = Ha 1 Ha enthält G/H mit jeder Nebenklasse auch deren Inverses. Problem A.16 on p. 525 Sei G eine Gruppe und a G ein Element endlicher Ordnung. 1. Zeige H = {a i : i = 0, 1,..., O(a) 1} bildet eine Untergruppe von G. Laut Problem A.13 ist nur zu zeigen, daß b c H und b 1 H für alle b, c H, was wegen b c = a i a j = a i+j a (i+j) mod O(a) H und b b 1 = a i a O(a) i = a io(a) i = a O(a) = 1 für alle b, c H erfüllt ist. 35 Joseph-Louis Lagrange ( ) www-history.mcs.st-andrews.ac.uk/biographies/lagrange.html 152
153 2. Zeige: Falls G endliche Gruppe ist, so ist O(a) ein Teiler von G. Die von a erzeugte Untergruppe H hat O(a) Elemente. Wegen des Satzes von Lagrange, Problem A.14 Nr.4 ist dann O(a) = H ein Teiler von G. Problem A.17 on p. 526 Sei n N. 1. Zeige: H = {b {1, 2,..., n} : gcd(b, n) = 1} zusammen mit der Multiplikation modulo n ist eine kommutative Gruppe. s.a. Lösungshinweis auf A.3 Nr.1 Zwei Elemente b 1, b 2 H haben keine nicht-trivialen Teiler mit n gemeinsam. Dann hat auch (b 1 b 2 ) mod n keine nicht-trivialen Teiler mit n gemeinsam. (Wenn keiner der Prim-Faktoren von b i ein Primfaktor von n ist, so gilt dies auch für das Produkt (b 1 b 2 ) mod n.) Also folgt b 1 b 2 H. Sei nun 0 b H. Der erweiterte Euklid sche Algorithmus gerantiert die Existenz von s, t Z mit sb + tn = gcd(b, n) = 1. Modulo n gilt dann auch b 1 b + tn = 1 für b 1 = s mod n {0, 1,..., n 1}. Bleibt also gcd(b 1, n) = 1 und damit b 1 H zu zeigen. Angenommen 1 < g := gcd(b 1, n) und b 1 = v b g sowie n = v n g. Mit b b 1 = 1 mod n gilt somit b v b g = v v n g + 1 und daher der Widerspruch Z b v b v v n = 1/g Z. 2. (Euler 36 -Fermat 37 ) Sei a Z mit gcd(a, n) = 1. Zeige: n (a φ(n) 1). Laut Nr.1 gilt H = φ(n), was a φ(n) = 1 in H für a H impliziert, d.h. a φ(n) = 1 mod n oder eben a φ(n) 1 = 0 mod n und damit n (a φ(n) 1). 3. (Fermat) Sei n prim und a Z. Zeige: n (a n a). Man darf 0 a < n annehmen: sei nämlich a = vn + a mod n. Dann gilt (a n a) mod n = ( n ( n k=o k) (vn) k (a mod n) n k (vn + a mod n) ) mod n = ( (a mod n) n (a mod n) ) mod n, d.h. n (a n a) ist äquivalent zu n ( (a mod n) n (a mod n) ). Für 0 a < n und primes n gilt gcd(a, n) = 1 sowie nach Problem A.1 Nr.1 φ(n) = n 1, was laut Nr.2 n (a φ(n) 1) = (a n 1 1) a(a n 1 1) = a n a impliziert. Problem A.18 on p. 526 Zeige: 0 a = a 0 = 0 für alle Elemente a in einem Ring R. Wegen der Distributivität gilt 0 a = (0 + 0) a = 0 a + 0 a. Subtraktion des Elementes 0 a auf beiden Seiten liefert 0 a = Leonhard Euler ( ) www-history.mcs.st-andrews.ac.uk/biographies/euler.html 37 www-history.mcs.st-andrews.ac.uk/biographies/fermat.html 153
154 Problem A.19 on p. 526 Sei (Z, +, ) die Menge der ganzen Zahlen mit der üblichen Addition und Multiplikation. 1. Verifiziere: Z ist ein Integritätsbereich, d.h. ein Nullteiler-freier kommutativer Ring. (Z, +) ist eine kommutative Gruppe, die Multiplikation ist assoziativ und kommutativ und es gelten die Distributiv-Gesetze. Z ist Nullteiler-frei und damit insgesamt ein Integritätsbereich. 2. Zeige: mz ist für jedes m N ein Ideal in Z. Ist mz ein Ring mit Eins? mz ist ein Unterring von Z. Da beliebige ganzzahlige Vielfache von m wieder in mz liegen, ist mz ein Ideal. Allerdings hat mz kein Einselement, falls m 1. Problem A.20 on p. 526 Die Menge R der m m-matrizen über R mit der üblichen Matrix-Addition und Matrix-Multiplikation ist ein Ring mit Einselement. (R, +) ist eine kommutative Gruppe, die Multiplikation ist assoziativ und es gelten die Distributiv-Gesetze. Das Einselement ist die m m Einheitsmatrix. R ist nicht Nullteiler-frei, da etwa für m = 2 Matrizen A 0 und B 0 mit AB = 0 existieren, beispielsweise A = ( ) und B = ( ). Problem A.21 on p. 526 Sei Z n = {0, 1,..., n 1} für festes n N versehen mit der Addition und Multiplikation modulo n. 1. Zeige: Z n ist ein kommutativer Ring mit Eins. (Z n, +) ist eine kommutative Gruppe, die Multiplikation ist assoziativ und kommutativ und es gelten die Distributiv-Gesetze. 1 ist das Einselement. Z n ist damit ein Ring mit Eins. 2. Zeige: Wenn n prim ist, dann ist Z n ein Körper. (Z n, ) = (Z n \ {0}, ) bildet eine Gruppe, weil Z n unter der Multiplikation modulo n abgeschlossen ist. Da n als prim vorausgesetzt ist, gilt gcd(a, n) = 1 für jedes a Z n. Zu a und n liefert der Euklid sche Algorithmus daher s und t mit sa + tn = gcd(a, n) = 1. Das inverse Element a 1 modulo n zu a ist also gerade s. 154
155 Literatur [1] Anton Betten, Harald Fripertinger, Adalbert Kerber, Alfred Wassermann, Karl-Heinz Zimmermann: Codierungstheorie: Konstruktion und Anwendung linearer Codes; Springer, 1998 [2] Norman L. Biggs: Codes An Introduction to Information Communication and Cryptography; Springer 2008 [3] Johannes Blömer: Algorithmische Codierungstheorie Skript SS2007; Uni Paderborn wwwcs.uni-paderborn.de/cs/ag-bloemer/lehre/ac2 SS2007/ material/skript.pdf [4] Wilfried Dankmeier: Codierung; Vieweg 2001 [5] Gerard van der Geer: Error-Correcting Codes and Curves over Finite Fields; in Björn Enquist, Wilfried Schmid: Mathematics Unlimited 2001 and Beyond; Springer 2001, pp [6] Carry W. Huffmann, V. Pless: Fundamentals of Error Correcting Codes; Cambridge University Press, [7] Shu Lin, Daniel J. Costello: Error Control Coding Fundamentals and Applications; Prentice-Hall 2004 [8] Jacobus H. van Lint: Introduction to Coding Theory; Springer 1999 [9] Robert Morelos-Zaragoza: The Art of Error Correcting Coding; Wiley 2006; s.a. The ECC Page [10] W. Wesley Peterson, E. J. Weldon: Error-Correcting Codes; MIT Press 1972 [11] Michael Purser: Introduction To Error Correcting Codes; Artech House Computer science/csin Information theory/ Purser M. Introduction to error-correcting codes (1995)(T)(133s) CsIn.djvu# [12] Thomas Risse: Puzzles Kryptographie, Kompression, Kodierung u.a.; [13] Thomas Risse: Fehler fertuschen mit Fehler-korrigierenden Codes; IIA-Kolloquium, 21. Oktober im Jahr der Mathematik [14] Thomas Risse: Fehler-korrigierende Codes in der Mathematik-Ausbildung; Jahrestagung der Deutschen Mathematiker Vereinigung, DMV, Erlangen [15] Ron M. Roth: Introduction to Coding Theory; Cambridge University Press 2006, corrigenda [16] Atri Rudra: Error Correcting Codes Combinatorics, Algorithms and Applications; [17] Martin Werner: Information und Codierung; Vieweg
156 A to do S.8 Satz 1.7 2τ + σ + ρ d 1 Abschnitt 3.7 Beweise S Alternante Codes S Key Equations S Solving the key equations by Euclid Proposition 7.9 andererseits S cyclic codes 156
Einführung in die Kodierungstheorie
Einführung in die Kodierungstheorie Einführung Vorgehen Beispiele Definitionen (Code, Codewort, Alphabet, Länge) Hamming-Distanz Definitionen (Äquivalenz, Coderate, ) Singleton-Schranke Lineare Codes Hamming-Gewicht
4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140
4 Woche Decodierung; Maximale, Perfekte und Optimale Codes 4 Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140 Szenario für fehlerkorrigierende Codes Definition (n, M)-Code Sei C {0, 1}
Theoretische Grundlagen der Informatik WS 09/10
Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3
Einführung in die Algebra
Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv
Kapitel 15. Lösung linearer Gleichungssysteme
Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren
Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.
Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Kurzweil Florian Franzmann André Diehl Kompiliert am 10. April 2006 um 18:33
Musterlösungen zur Linearen Algebra II Blatt 5
Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische
Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum
Fachschaft Mathematik und Informatik (FIM) LA I VORKURS Herbstsemester 2015 gehalten von Harald Baum 2. September 2015 Inhaltsverzeichnis 1. Stichpunkte zur Linearen Algebra I 2. Körper 3. Vektorräume
Primzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
Algorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
Lineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der
50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.
Zusätze zum Gelben Rechenbuch LU-Zerlegung Peter Furlan Verlag Martina Furlan Inhaltsverzeichnis Definitionen 2 (Allgemeine) LU-Zerlegung 2 3 Vereinfachte LU-Zerlegung 3 4 Lösung eines linearen Gleichungssystems
3 Der Hamming-Code. Hamming-Codes
3 Der Hamming-Code Hamming-Codes Ein binärer Code C heißt ein Hamming-Code Ha s, wenn seine Kontrollmatrix H als Spalten alle Elemente in Z 2 s je einmal hat. Die Parameter eines n-k-hamming-codes sind:
5 Eigenwerte und die Jordansche Normalform
Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n
Lineare Gleichungssysteme I (Matrixgleichungen)
Lineare Gleichungssysteme I (Matrigleichungen) Eine lineare Gleichung mit einer Variable hat bei Zahlen a, b, die Form a b. Falls hierbei der Kehrwert von a gebildet werden darf (a 0), kann eindeutig aufgelöst
13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.
13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen. Sie heißt linear, wenn sie die Form y (n) + a n 1 y (n 1)
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden [email protected] WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur
Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Wie die zyklischen BCH-Codes zur Mehrbitfehler-Korrektur eignen sich auch die sehr verwandten Reed-Solomon-Codes (= RS-Codes) zur Mehrbitfehler-Korrektur.
Informationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra
Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)
Lineare Gleichungssysteme
Lineare Gleichungssysteme Sei K ein Körper, a ij K für 1 i m, 1 j n. Weiters seien b 1,..., b m K. Dann heißt a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2... a m1
Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.
Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren
Grundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19
Lineare Codes Dipl.-Inform. Wolfgang Globke Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19 Codes Ein Code ist eine eindeutige Zuordnung von Zeichen
Expander Graphen und Ihre Anwendungen
Expander Graphen und Ihre Anwendungen Alireza Sarveniazi Mathematisches Institut Universität Göttingen 21.04.2006 Alireza Sarveniazi (Universität Göttingen) Expander Graphen und Ihre Anwendungen 21.04.2006
1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland
OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben
Übungen zum Ferienkurs Lineare Algebra WS 14/15
Übungen zum Ferienkurs Lineare Algebra WS 14/15 Linearkombinationen, Basen, Lineare Abbildungen 2.1 Lineare Unabhängigkeit Sind die folgenden Vektoren linear unabhängig? (a) 1, 2, 3 im Q Vektorraum R (b)
Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b
Aufgabe 1: Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. (a) Nehmen Sie lineares Wachstum gemäß z(t) = at + b an, wobei z die Einwohnerzahl ist und
Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen
Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:
Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist.
Matrizennorm Es seien r,s N Mit M r,s (R bezeichnen wir die Menge der reellen r s- Matrizen (also der linearen Abbildungen R s R r, und setze M s (R := M s,s (R (also die Menge der linearen Abbildungen
Bestimmung einer ersten
Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,
Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme
Übung Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme Diese Übung beschäftigt sich mit Grundbegriffen der linearen Algebra. Im Speziellen werden lineare Abbildungen, sowie
Erinnerung/Zusammenfassung zu Abbildungsmatrizen
Erinnerung/Zusammenfassung zu Abbildungsmatrizen Thomas Coutandin ([email protected]) 7. November 2 Abbildungsmatrizen Im Folgenden betrachten wir stets endlich dimensionale K-Vektorräume (K irgend
Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
2 Die Darstellung linearer Abbildungen durch Matrizen
2 Die Darstellung linearer Abbildungen durch Matrizen V und V seien Vektorräume über einem Körper K. Hom K (V, V ) bezeichnet die Menge der K linearen Abbildungen von V nach V. Wir machen Hom K (V, V )
Gleichungen Lösen. Ein graphischer Blick auf Gleichungen
Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term
1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
Frohe Weihnachten und ein gutes neues Jahr!
Frohe Weihnachten und ein gutes neues Jahr! Die mit dem Stern * gekennzeichneten Übungen sind nicht verpflichtend, aber sie liefern zusätzliche Punkte. Unten wird immer mit I das reelle Intervall [0, 1]
u + v = v + u. u + (v + w) = (u + v) + w. 0 V + v = v + 0 V = v v + u = u + v = 0 V. t (u + v) = t u + t v, (t + s) u = t u + s u.
Universität Stuttgart Fachbereich Mathematik Prof. Dr. C. Hesse PD Dr. P. H. Lesky Dipl. Math. D. Zimmermann Msc. J. Köllner FAQ 3 Höhere Mathematik I 4..03 el, kyb, mecha, phys Vektorräume Vektorräume
6 Fehlerkorrigierende Codes
R. Reischuk, ITCS 35 6 Fehlerkorrigierende Codes Wir betrachten im folgenden nur Blockcodes, da sich bei diesen das Decodieren und auch die Analyse der Fehlertoleranz-Eigenschaften einfacher gestaltet.
Zeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?
Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen können zwei Ebenen (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Wie heiÿt
Anmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1
Abiturprüfung Mathematik (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe Für jedes t f t () + t R ist die Funktion f t gegeben durch = mit R. Das Schaubild von f t heißt K t.. (6 Punkte)
4 Vorlesung: 21.11. 2005 Matrix und Determinante
4 Vorlesung: 2111 2005 Matrix und Determinante 41 Matrix und Determinante Zur Lösung von m Gleichungen mit n Unbekannten kann man alle Parameter der Gleichungen in einem rechteckigen Zahlenschema, einer
Mathematik für Informatiker II. Beispiellösungen zur Probeklausur. Aufgabe 1. Aufgabe 2 (5+5 Punkte) Christoph Eisinger Sommersemester 2011
Mathematik für Informatiker II Christoph Eisinger Sommersemester 211 Beispiellösungen zur Probeklausur Aufgabe 1 Gegeben sind die Polynome f, g, h K[x]. Zu zeigen: Es gibt genau dann Polynome h 1 und h
Erstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
Die reellen Lösungen der kubischen Gleichung
Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................
1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes
1 Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche: Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 5/ 44 Unser Modell Shannon
Eigenwerte und Eigenvektoren von Matrizen
Eigenwerte und Eigenvektoren von Matrizen Das Eigenwertproblem Sei A eine quadratische Matrix vom Typ m,m. Die Aufgabe, eine Zahl λ und einen dazugehörigen Vektor x zu finden, damit Ax = λx ist, nennt
Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
Grundlagen der Technischen Informatik. 2. Übung
Grundlagen der Technischen Informatik 2. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit Organisatorisches Übungsblätter zuhause vorbereiten! In der Übung an der Tafel vorrechnen! Bei
3.3 Eigenwerte und Eigenräume, Diagonalisierung
3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.
TECHNISCHE UNIVERSITÄT MÜNCHEN
TECHISCHE UIVERSITÄT MÜCHE Zentrum Mathematik PRF. R.R. JÜRGE RICHTER-GEBERT, VAESSA KRUMMECK, MICHAEL PRÄHFER Höhere Mathematik für Informatiker I (Wintersemester 003/004) Aufgabenblatt 1 (4. ktober 003)
Einführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt
- 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +
Universität Bonn, Institut für Angewandte Mathematik. WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW
Universität Bonn, Institut für Angewandte Mathematik Dr. Antje Kiesel WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW 08.03.2013 Matrikelnummer Platz Name Vorname 1 2 3 4 5 6
Lösungen zum 3. Aufgabenblatt
SS, Lineare Algebra Die Lösungen wurden erstellt von: Isabel Voigt, Vanessa Lamm und Matthias Rehder Hinweis: Eine Liste der zur Bearbeitung verwendeten Literatur ist unter www.mathematiwelt.com aufrufbar.
7 Die Determinante einer Matrix
7 Die Determinante einer Matrix ( ) a11 a Die Determinante einer 2 2 Matrix A = 12 ist erklärt als a 21 a 22 det A := a 11 a 22 a 12 a 21 Es ist S 2 = { id, τ}, τ = (1, 2) und sign (id) = 1, sign (τ) =
Plotten von Linien ( nach Jack Bresenham, 1962 )
Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels
Codierungstheorie Rudolf Scharlau, SoSe 2006 9
Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets
Lineare Gleichungssysteme
Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder
Definition 3.1: Ein Differentialgleichungssystem 1. Ordnung
Kapitel 3 Dynamische Systeme Definition 31: Ein Differentialgleichungssystem 1 Ordnung = f(t, y) ; y R N ; f : R R N R N heißt namisches System auf dem Phasenraum R N Der Parameter t wird die Zeit genannt
ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN
ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN CHRISTIAN HARTFELDT. Zweiter Mittelwertsatz Der Mittelwertsatz Satz VI.3.4) lässt sich verallgemeinern zu Satz.. Seien f, g : [a, b] R auf [a,
1.9 Eigenwerte und Eigenvektoren
.9. EIGENWERTE UND EIGENVEKTOREN 0.9 Eigenwerte und Eigenvektoren Alles in diesem Abschnitt bezieht sich auf quadratische reelle oder komplexe n n-matrizen. Statt E n (n n-einheitsmatrix) wird kurz E geschrieben..
8. Quadratische Reste. Reziprozitätsgesetz
O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung
Übungsklausur. Bitte wählen Sie fünf Aufgaben aus! Aufgabe 1. Übungsklausur zu Mathematik I für BWL und VWL (WS 2008/09) PD Dr.
Übungsklausur zu Mathematik I für BWL und VWL (WS 2008/09) PD Dr. Gert Zöller Übungsklausur Hilfsmittel: Taschenrechner, Formblatt mit Formeln. Lösungswege sind stets anzugeben. Die alleinige Angabe eines
Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier [email protected]
Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier [email protected] 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik
Zusatztutorium, 25.01.2013
Zusatztutorium, 25.01.2013 David Müßig muessig[at]mi.fu-berlin.de http://page.mi.fu-berlin.de/def/tutorium/ WiSe 12/13 1 Der Homomorphiesatz Der Homomorphiesatz scheint für viele eine Art rotes Tuch zu
9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83
9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x
6.2 Scan-Konvertierung (Scan Conversion)
6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster
Der Zwei-Quadrate-Satz von Fermat
Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat
Lineare Algebra und analytische Geometrie II (Unterrichtsfach)
MATHEMATISCHES INSTITUT DER UNIVERSITÄT MÜNCHEN Prof. Dr. D. Rost SS 0 Blatt.06.0 Übungen zur Vorlesung Lineare Algebra und analytische Geometrie II (Unterrichtsfach) Abgabe: Dienstag, 0. Juli 0, bis 4:00
Höhere Mathematik 3. Apl. Prof. Dr. Norbert Knarr. Wintersemester 2015/16. FB Mathematik
Höhere Mathematik 3 Apl. Prof. Dr. Norbert Knarr FB Mathematik Wintersemester 2015/16 4. Homogene lineare Dierentialgleichungen 4.1. Grundbegrie 4.1.1. Denition. Es sei J R ein Intervall und a 0 ; : :
Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema
Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x
Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3
Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen
Kap. 8: Speziell gewählte Kurven
Stefan Lucks 8: Spezielle Kurven 82 Verschl. mit Elliptischen Kurven Kap. 8: Speziell gewählte Kurven Zur Erinnerung: Für beliebige El. Kurven kann man den Algorithmus von Schoof benutzen, um die Anzahl
Beweisbar sichere Verschlüsselung
Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit [email protected] 6
Konzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über
Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion
15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
Absolute Stetigkeit von Maßen
Absolute Stetigkeit von Maßen Definition. Seien µ und ν Maße auf (X, Ω). Dann heißt ν absolut stetig bezüglich µ (kurz ν µ ), wenn für alle A Ω mit µ(a) = 0 auch gilt dass ν(a) = 0. Lemma. Sei ν ein endliches
Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)
Lösungsmethoden gewöhnlicher Dierentialgleichungen Dgl) Allgemeine und partikuläre Lösung einer gewöhnlichen Dierentialgleichung Eine Dierentialgleichung ist eine Gleichung! Zum Unterschied von den gewöhnlichen
Tag der Mathematik 2012
Gruppenwettbewerb Einzelwettbewerb Mathematische Hürden Aufgaben mit en und Bepunktung Allgemeine Hinweise: Als Hilfsmittel dürfen nur Schreibzeug, Geodreieck und Zirkel benutzt werden. Taschenrechner
Kompetitive Analysen von Online-Algorithmen
Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen
Grundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
0, v 6 = 2 2. 1, v 4 = 1. 2. span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 )
Aufgabe 65. Ganz schön span(n)end. Gegeben sei folgende Menge M von 6 Vektoren v, v,..., v 6 R 4 aus Aufgabe P 6: M = v =, v =, v =, v 4 =, v 5 =, v 6 = Welche der folgenden Aussagen sind wahr? span(v,
4. Übungsblatt Matrikelnr.: 6423043
Lineare Algebra I 1. Name: Bleeck, Christian 4. Übungsblatt Matrikelnr.: 6423043 Abgabe: 15.11.06 12 Uhr (Kasten D1 320) Übungsgruppe: 03 Patrick Schützdeller 2. Name: Niemann, Philipp Matrikelnr.: 6388613
1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
Lineare Differentialgleichungen erster Ordnung erkennen
Lineare Differentialgleichungen erster Ordnung In diesem Kapitel... Erkennen, wie Differentialgleichungen erster Ordnung aussehen en für Differentialgleichungen erster Ordnung und ohne -Terme finden Die
Das Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
