Fakultät Elektrotechnik und Informationstechnik – Institut für Nachrichtentechnik – Lehrstuhl Theoretische Nachrichtentechnik Prof. Eduard Jorswieck, Anne Wolf 18.11.2008 3. Übung zur Vorlesung Codierungstheorie / Fehlerreduktionssysteme Am Ende des Dokuments befinden sich eine Übersicht zu einigen algebraischen Strukturen sowie einige Kommentare zu Prim- und Erweiterungskörpern, die evtl. bei der Bearbeitung der Aufgaben hilfreich sein könnten. Aufgabe 10: a) Existieren die folgenden Körper: F5 , F10 , F15 , F25 ? b) Gegeben sei die Menge A = {a, b, c, d} und die folgende Additions- und Multiplikationstabelle von A. Ist hA, +, ·i ein Ring? Ist hA, +, ·i ein Körper? a a b c d + a b c d b b a d c c c d a b d d c b a a a a a a · a b c d b a b b d c a c d b d a d c c c) Welche algebraische Struktur ist hR ∪{∞}, mini? d) Berechnen Sie die Summe und das Produkt der folgenden Matrizen über den Semiringen hR, +, ·i und hR ∪{∞}, min, +i. 1 0 1 211 123 und 1 0 2 011 320 Hinweis: Benutzen Sie die herkömmlichen Rechenregeln für Matrizenoperationen und die erste angegebene Verknüpfung als Addition sowie die zweite Verknüpfung als Multiplikation. e) Gegeben seien die folgenden vierelementigen Mengen zusammen mit ihren Additions- und Multiplikationstabellen. Begründen Sie, warum im ersten Fall kein Körper, aber in den anderen beiden Fällen ein Körper vorliegt. Was fällt Ihnen beim Vergleich der beiden Körper auf? (1) + 0 1 2 3 0 0 1 2 3 1 1 2 3 0 2 2 3 0 1 3 3 0 1 2 · 0 1 2 3 0 0 0 0 0 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1 (2) + 0 1 2 3 0 0 1 2 3 1 1 0 3 2 2 2 3 0 1 3 3 2 1 0 · 0 1 2 3 0 0 0 0 0 1 0 1 2 3 2 0 2 3 1 3 0 3 1 2 (3) + 0 1 α α+1 0 0 1 α α+1 1 1 0 α+1 α α α α+1 0 1 α+1 α+1 α 1 0 · 0 1 α α+1 0 0 0 0 0 1 0 1 α α+1 α 0 α α+1 1 α+1 0 α+1 1 α Aufgabe 11: a) Finden Sie (durch Probieren) ein primitives Element in F7 . b) Zeigen Sie (mit möglichst wenig Aufwand), dass die Polynome ... • x2 + 1 reduzibel über F2 , • x2 + x reduzibel über F2 und F3 , • x2 + x + 1 irreduzibel über F2 , • x3 + x + 1 irreduzibel über F2 aber reduzibel über F3 , • x2 + 1 nicht primitiv über F2 , • x2 + x + 1 primitiv über F2 , • x4 + x3 + x2 + x + 1 nicht primitiv über F2 (obwohl irreduzibel über F2 ), • x2 + x + 2 primitiv über F3 (ist irreduzibel über F3 ) sind. Aufgabe 12: a) Konstruieren Sie F9 , und stellen Sie dessen Elemente als Polynome und als Potenzen eines primitiven Elementes α dar. Verwenden Sie dazu p(x) = x2 + x + 2 als primitives Polynom über F3 vom Grad 2. b) Berechnen Sie folgende Ausdrücke und stellen Sie die Ergebnisse als Potenzen von α dar: • α + α6 , • α4 · α6 , • − α3 und • (α3 )−1 . c) Ergänzen Sie die folgenden Additions- und Multiplikationstabellen für F9 . (Die Polynome a1 x + a0 sind in ternärer Kurzschreibweise a1 a0 dargestellt.) + 00 01 02 10 11 12 20 21 22 00 00 01 02 10 11 12 20 21 22 01 01 02 00 11 12 10 21 22 · 00 01 02 10 11 12 20 21 22 00 00 00 00 00 00 00 00 00 00 01 00 01 02 10 11 12 20 21 02 02 00 12 10 11 22 20 21 02 00 02 20 22 21 10 12 11 10 10 11 12 20 22 00 01 02 10 00 10 20 21 11 12 22 02 11 11 12 10 21 22 20 01 02 12 12 10 11 22 20 21 02 20 20 21 22 00 02 10 11 01 11 00 11 22 01 12 20 02 10 12 00 12 21 11 20 02 22 10 20 00 20 10 12 22 21 11 21 21 22 20 01 02 00 11 12 10 21 00 21 12 22 10 01 11 02 20 22 22 20 21 02 00 12 10 11 22 00 22 11 02 21 01 20 12 d) Was sind die neutralen Elemente bezüglich der beiden Operationen? e) Bestimmen Sie die inversen Elemente a′ zu a = 2x+2 bezüglich der Addition und der Multiplikation. Zeigen Sie für beide Fälle, dass a ◦ a′ = e = a′ ◦ a erfüllt ist. Übersicht zu einigen algebraischen Strukturen A ... nichtleere Menge ◦ ... zweistellige Operation (Verknüpfung) auf A, d.h. Abbildung ◦ : A × A → A, (a, b) 7→ a ◦ b, wobei folgende Schreibweise vereinbart wird: a ◦ b := ◦(a, b) algebraische Strukturen mit einer Verknüpfung Eigenschaften algebraische Strukturen mit zwei Verknüpfungen Halbgruppe Monoid Gruppe Abelsche Gruppe (müssen jeweils für alle Elemente a, b, c ∈ A gelten) Halbring / Semiring Ring Körper + · + · + · Abgeschlossenheit a◦b∈A x x x x x x Assoziativität (a ◦ b) ◦ c = a ◦ (b ◦ c) x x x x x x Existenz des neutralen Elements a◦e=a=e◦a (x) (x) x (x) x x Existenz der inversen Elemente a ◦ a′ = e = a′ ◦ a x x x Kommutativität a◦b=b◦a x x x Distributivität a · (b + c) = a · b + a · c (b + c) · a = b · a + c · a x x x Anmerkung: In der Literatur sind verschiedene Definitionen für Halbringe und Ringe zu finden. Manchmal wird die Existenz des neutralen Elements bezüglich der Multiplikation (bei Halbringen auch bezüglich der Addition) nicht vorausgesetzt, manchmal ist sie aber auch erforderlich. Für Ringe, die ein neutrales Element bezüglich der Multiplikation besitzen, existiert auch die Bezeichnung Ring mit Eins oder unitärer Ring. Die im Rahmen der Lehrveranstaltung Codierungstheorie / Fehlerreduktionssysteme verwendete Definition für Ring sieht vor, dass ein neutrales Element bezüglich der Multiplikation vorhanden sein soll. Daher soll Ring im Folgenden auch so verstanden werden. Hinweis: Die Forderung nach inversen Elementen bezüglich der Multiplikation in einem Körper bezieht sich nicht auf das neutrale Element der Addition. Man sagt auch: hA, +i und hA\{0}, ·i müssen abelsche Gruppen sein, wobei 0 das neutrale Element der Addition bezeichnet. Außerdem müssen die Distributivgesetze gelten. Der Text auf den folgenden Seiten ist als Ergänzung zu den Darstellungen in der Vorlesung zu verstehen. Er ersetzt keine Definitionen und Beweise, sondern versucht, den behandelten Stoff nochmals anders aufzuarbeiten bzw. zu strukturieren, Kommentare und Hinweise zu geben, Zusammenhänge zu erläutern, um das ganze Themengebiet etwas zu veranschaulichen bzw. mit Leben zu erfüllen. Rechnen mit Polynomen in Körpern Irreduzible Polynome sind auch nur Primzahlen“! ” Ein Polynom p(x) vom Grad m mit Koeffizienten aus Fp heißt irreduzibel (über einem Körper Fp ), wenn es sich (in diesem Körper) nicht weiter zerlegen lässt, d.h. das Polynom kann nicht als Produkt von zwei Polynomen mit Koeffizienten aus Fp geschrieben werden, die einen Grad größer 0 und kleiner m besitzen. Der Nachweis der Irreduzibilität erfolgt, indem man eine Polynomdivision im Körper Fp (d.h. für alle Koeffizienten gilt mod p) mit allen möglichen Polynomen durchführt. Praktisch kann man dabei folgende Vereinfachungen vornehmen: • Überprüfung, ob sich Linearfaktoren abspalten lassen (Nullstellensuche durch Einsetzen der Elemente aus Fp ) m • Polynomdivision nur mit Polynomen bis zum Grad m 2 (ein Polynom mit Grad größer 2 erfordert als Partner“ bei der Multiplikation ein Polynom mit Grad kleiner m 2 , wenn das Produkt den ” Grad m haben soll) • Polynomdivision nur mit irreduziblen Polynomen Anmerkung: Die irreduziblen Polynome kann man sich als Primzahlen vorstellen. Der Test auf Irreduzibilität entspricht dem Versuch der Primzahlzerlegung einer Zahl bzw. dem Test, ob diese Zahl eine Primzahl ist. Primitive Polynome Ein über Fp irreduzibles Polynom p(x) vom Grad m heißt primitiv, wenn es in Fp • xn − 1 für n = pm − 1 (ohne Rest) teilt, aber • xn − 1 für n < pm − 1 und n ∈ N nicht teilt. Der Nachweis erfolgt durch die Ausführung der Polynomdivisionen für die verschiedenen Potenzen. einige Aussagen: • Für jeden Körper Fp und jede Zahl m ∈ N existiert mindestens ein primitives Polynom p(x) mit grad p(x) = m. • Jedes primitive Polynom ist irreduzibel, aber nicht jedes irreduzible Polynom ist primitiv. Kochrezepte“ für Prim- und Erweiterungskörper ” Was erwarten wir von dem Primkörper Fp ? • p verschiedene Elemente • zwei geeignete Operationen (nennen wir sie Addition“ und Multiplikation“), die so definiert ” ” sind, dass sie alle von einem Körper geforderten Eigenschaften (siehe Tabelle Übersicht zu ” einigen algebraischen Strukturen“) aufweisen Wie konstruieren wir den Primkörper Fp ? Wir gehen von einer unendlichen (aber abzählbaren) Menge aus, nämlich der Menge der ganzen Zahlen Z. Wir wählen eine Primzahl p ∈ Z. Wir klassifizieren alle Elemente in Z gemäß ihrer Reste bei der Division durch p, d.h. alle Zahlen mit gleichem Rest (bei Division durch p) landen im gleichen Topf“. ” Wir haben also jetzt p Töpfe“, denen wir als Namen“ (oder Repräsentanten) jeweils die betragsmäßig ” ” kleinste Zahl darin zuordnen, d.h. wir beschriften“ unsere Töpfe“ mit den Zahlen 0, 1, . . . , p−1. Damit ” ” haben wir mit unseren Töpfen“ nun die gewünschte Menge mit p verschiedenen Elementen. ” Die beiden geeigneten Operationen, die die Körpereigenschaften zusammen mit dieser Menge erfüllen, können wir durch entsprechend konstruierte Additions- und Multiplikationstabellen angeben. Für die praktische Berechnung können wir auf das Arbeiten mit den beiden Operationstabellen verzichten, wenn wir sie durch einfache Rechenregeln vollständig charakterisieren können. In diesem Fall können wir das: Die beiden Operationen sind nämlich genau die Addition und die Multiplikation mod p. ... ... ... ... ... ... = ... Anmerkung: Wir haben jetzt einen Körper mit p Elementen beschrieben. Alle anders aussehenden Körper mit p Elementen lassen sich auf diesen Körper zurückführen. Durch entsprechende Umbenennung der Elemente (und evtl. Umsortierung der Zeilen und Spalten der Operationstabellen) können wir den einen Körper aus dem anderen erhalten. Man sagt, die Körper sind isomorph zueinander. Man kann also sagen: Es gibt beliebig viele Darstellungen für einen Primkörper mit p Elementen, aber am schönsten rechnet es sich mit dem oben beschriebenen! Was erwarten wir von dem Erweiterungskörper Fpm ? – Fast das gleiche wie von Fp ! • pm verschiedene Elemente • zwei geeignete Operationen ( Addition“ und Multiplikation“), die so definiert sind, dass sie alle ” ” von einem Körper geforderten Eigenschaften aufweisen Wie konstruieren wir den Erweiterungskörper Fpm ? – Fast genau so wie Fp ! Leider lässt sich der Erweiterungskörper nicht einfach aus Z mit der Division durch pm und den Operationen mod pm erzeugen. Das demonstriert Fall (1) in Aufgabe 10 e), wo die Additions- und Multiplikationstabelle mod pm für den Fall p = 2 und m = 2 (also mod 4) dargestellt sind. Wir können bei der Erstellung des Erweiterungskörper Fpm aber das gleiche Prinzip anwenden wie bei der Erzeugung des Primkörpers Fp : Wir gehen wieder von einer unendlichen (aber abzählbaren) Menge aus, wählen diesmal aber die Menge aller Polynome mit Koeffizienten aus Fp und nennen diese Menge Fp [x]. Wir wählen wieder eine Primzahl“, nämlich ein in Fp irreduzibles (und am besten ” auch primitives) Polynom p(x) ∈ Fp [x] vom Grad m. Wir wollen auch wieder die unendliche Anzahl von Elementen unserer Grundmenge Fp [x] auf eine endliche Anzahl Töpfe“ aufteilen. Dazu sortieren ” (oder klassifizieren) wir die Polynome gemäß ihrem Rest bei der Division durch p(x). Die Polynome haben nur Koeffizienten aus Fp , die Polynomdivision erfolgt (wie beim Test auf Irreduzibilität eines Polynoms) für die Koeffizienten in Fp , d.h. man rechnet bei den Koeffizienten mod p. Alle Polynome gleichen Rests landen im gleichen Topf“. Als Beschriftung“ für die Töpfe“ wählen wir jeweils das ” ” ” Polynom kleinsten Grades in jedem Topf“, weil dieses Polynom jeweils alle anderen in diesem Topf“ ” ” repräsentiert. Wir erhalten also pm Töpfe“, die als Bezeichnung alle möglichen Reste bei Division ” durch ein Polynom vom Grad m tragen: das sind (analog zum Primkörper) genau alle Polynome vom Grad kleiner m. Damit haben wir nun die gewünschte Menge mit pm verschiedenen Elementen. Wie beim Primkörper können wir die beiden geeigneten Operationen ( Addition“ und Multiplika” ” tion“), die die Körpereigenschaften zusammen mit der Menge der Restpolynome erfüllen, durch entsprechend konstruierte Additions- und Multiplikationstabellen angeben. Für die praktische Berechnung wünschen wir uns allerdings wieder einfache Rechenregeln, die die beiden Operationstabellen ersetzen. Die Addition für den Erweiterungskörper können wir einfach als die komponentenweise Addition der Polynome darstellen, wobei für die Koeffizienten aus Fp wiederum die Addition mod p verwendet wird. Bei der Multiplikation für den Erweiterungskörper ist etwas Vorsicht angebracht: Wir verwenden die Multiplikation der Polynome miteinander (für die Koeffizienten aus Fp gilt wieder die Multiplikation mod p), die (so definiert) allerdings zu Ergebnissen führen kann, die aufgrund ihres höheren Grades nicht in der Menge unseres Erweiterungskörpers liegen. Diese Multiplikationsergebnisse müssen also noch dem richtigen Topf“ zugeordnet werden. Dies geschieht (analog zum Primkörper und dem ” Rechnen mod p) durch die Klassifizierung mod p(x), d.h. durch die Bestimmung des Restes bei Polynomdivision durch p(x). Das Rechnen in Erweiterungskörpern geht noch etwas einfacher, aber dazu kommen wir später, denn wir brauchen dafür ein primitives Element in diesem Körper. Anmerkung: Wir haben jetzt einen Körper mit pm Elementen beschrieben. Alle anders aussehenden Körper mit pm Elementen sind isomorph zu diesem und lassen sich (durch Umbenennung der Elemente, ...) auf diesen Körper zurückführen. Die Fälle (2) und (3) in Aufgabe 10 e) verdeutlichen diesen Sachverhalt für den Fall p = 2 und m = 2: (3) ist der Erweiterungskörper F4 = F22 , der mit dem Polynom p(x) = x2 + x + 1 erzeugt worden ist, in Polynomdarstellung; (2) ist eine andere Repräsentation dieses Erweiterungskörpers (ausgedrückt mit den Zahlen 0, 1, 2, 3), in der man allerdings auf die Operationstabellen angewiesen ist, da die Rechenregeln nicht offensichtlich sind. Man kann also wieder sagen: Es gibt beliebig viele Darstellungen für einen Primkörper mit pm Elementen, aber am schönsten rechnet es sich mit dem eben beschriebenen! einige Aussagen: • Für ein beliebiges Polynom p(x) ist die aus den Polynomen Fp [x] mod p(x) gebildete Menge zusammen mit der Polynomaddition und -multplikation mod p(x) ein Ring. • Wenn p(x) irreduzibel über Fp ist, dann ist die aus den Polynomen Fp [x] mod p(x) gebildete Menge zusammen mit der Polynomaddition und -multplikation mod p(x) genau ein Körper. primitive Elemente in Prim- und Erweiterungskörpern Mit Hilfe des primitiven Elements α eines Primkörpers Fp kann man alle p − 1 Elemente (außer 0) von Fp erzeugen, denn αj durchläuft für j = 0, . . . , p − 2 alle Elemente des Primkörpers. In einem Erweiterungskörper gilt sinngemäß das gleiche: Das primitive Element α ∈ Fpm erzeugt mit αj und j = 0, . . . , pm − 2 alle pm − 1 Elemente (außer 0) des Erweiterungskörpers. Man vereinbart außerdem α−∞ = 0. einige Aussagen: • Jeder Körper hat mindestens ein primitives Element. • Im Erweiterungskörper Fpm ist α eine Nullstelle des primitiven Polynoms p(x), d.h. p(α) = 0 mod p(x). (Und weil uns das künftig beim Rechnen hilft, am besten immer ein primitives Polynom zur Erzeugung des Erweiterungskörpers verwenden!) Rechnen mit primitiven Elementen im Prim- und Erweiterungskörper Mit einem primitiven Polynom p(x) und p(α) = 0 mod p(x) können wir die Erzeugung von Fpm und das Rechnen im Erweiterungskörper etwas vereinfachen: Man kann damit Potenzen vom Grad größer oder gleich m runtertransformieren“, d.h. durch entsprechende Ausdrücke kleineren Grades ersetzen. ” Es gilt p(α) = αm + pm−1 · αm−1 + . . . + p1 · α + p0 = 0 mod p(x) αm = −pm−1 · αm−1 − . . . − p1 · α − p0 mod p(x) mit pi ∈ Fp und −pi als inversen Elementen zu pi bezüglich der Addition in Fp für i = 1, . . . m − 1. Um die folgende Aussage etwas kompakter zu formulieren, schreiben wir Fq und setzen q = p für den Primkörper sowie q = pm für den Erweiterungskörper. Wegen α0 = αq−1 = 1 gilt: αi = αi mod(q−1) αi · αj = αi+j mod(q−1) Rechnen mit Töpfen“ – ein Beispiel ” p(x) = x3 + x + 1 ist ein irreduzibles Polynom über F2 . Wir wollen damit den Erweiterungskörper F8 = F23 konstruieren, d.h. p = 2 und m = 3. Es gilt: p(α) = 0 = α3 + α + 1 α3 = −α − 1 = α + 1 (mit Koeffizienten aus F2 rechnen wir mod 2). Für die Elemente des Erweiterungskörpers F23 erhält man folgende Schreibweisen: Exponent j Potenz αj −∞ α−∞ 0 =0 0 0 0 0 1 2 3 4 5 6 α0 α2 α3 α4 α5 α6 1 α α2 α3 α4 α5 α6 =α+1 = α · α3 = α · α4 = α · α5 =1 =α = α2 = α3 = α2 + α = α2 + α + 1 = α2 + 1 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 0 1 1 7 α7 α7 = α · α6 =1 0 0 1 α1 Polynom α2 = α · (α + 1) = α · (α2 + α) = α · (α2 + α + 1) = α3 + α2 = α3 + α2 + α = α · (α2 + 1) = α3 + α Zyklus wiederholt sich Binär α 1 Die folgenden Aussagen gelten für die Tabellendarstellung unter Vernachlässigung der letzten Zeile, die nur demonstrieren soll, dass αj die Elemente des Erweiterungskörpers (ohne 0) zyklisch durchläuft. Die 23 = 8 Elemente des Erweiterungskörpers sind • • • • in in in in der der der der dargestellt. ersten Spalte über die Exponenten des primitiven Elements α, zweiten Spalte als Potenzen des primitiven Elements α, dritten Spalte in Polynomschreibweise (Umformung mittels α3 = α + 1) und vierten Spalte in der binären Kurzschreibweise für die Polynome