Springer-Lehrbuch
Hans Kurzweil
Endliche Körper Verstehen, Rechnen, Anwenden
Zweite, überarbeitete Auflage
123
Prof. Dr. Hans Kurzweil Mathematisches Institut Friedrich-Alexander-Universität Bismarckstraße 1 1/2 91054 Erlangen
[email protected]
ISBN 978-3-540-79597-1
e-ISBN 978-3-540-79598-8
DOI 10.1007/978-3-540-79598-8 Springer-Lehrbuch ISSN 0937-7433 Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. Mathematics Subject Classification (2000): 11T06, 11T30, 11T71 © 2008, 2007 Springer-Verlag Berlin Heidelberg Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten waren und daher von jedermann benutzt werden dürften. Satz und Herstellung: le-tex publishing services oHG, Leipzig Umschlaggestaltung: WMXDesign GmbH, Heidelberg Gedruckt auf säurefreiem Papier 987654321 springer.de
Vorwort zur zweiten Auflage Ich freue mich, dass die zweite Auflage schon ein Jahr nach dem Erscheinen der erste Auflage m¨ oglich wurde. Dies gab mir die Gelegenheit, einige Fehler zu korrigieren und den Text in Teilen umzuformulieren. Dabei habe ich Anregungen gerne aufgegriffen und hoffe, dass Studierende und mathematisch Interessierte nun noch besser endliche K¨ orper verstehen und anwenden k¨onnen. Von Kollegen erfuhr ich, dass sie dieses Buch auch als Leitfaden f¨ ur eine elementare Einf¨ uhrung in die Algebra verwenden. Die Grundbegriffe der Algebra dienen hier n¨ amlich einem klaren und greifbaren Ziel: Die Bestimmung der endlichen K¨ orper. Ich w¨ urde mich sehr freuen, wenn Mathematiker wie Anwender“ gleicher” maßen mit dem vorliegenden Buch ihre Freude an diesem aktuellen mathematischen Thema entdecken w¨ urden. Erlangen, Juli 2008
Hans Kurzweil
Einleitung Ein endlicher K¨ orper F ist ein Zahlbereich mit nur endlich vielen Zahlen, in dem die vier Grundrechnungsarten ausgef¨ uhrt werden k¨onnen, man kann addieren, substrahieren, multiplizieren und dividieren. Dabei ist die Anzahl |F| der Elemente immer eine Primzahlpotenz pn . Man nennt F auch Galoisfeld, und schreibt F = GF (pn ) nach Evariste Galois (1811–1832), der zum ersten Mal solche Zahlbereiche angegeben hat.1 Bekanntlich hat eine komplexe Zahl (∈ C) die Form a0 + a1 i mit
a0 , a1 ∈ R , 1 + i2 = 0 ;
hier ist i die imagin¨ are Enheit, i2 = −1 . Ausgehend von dieser Darstellung ucke der Form definiert Galois GF (pn ) als die Menge aller Ausdr¨ a0 + a1 i + a2 i2 + · · · + an−1 in−1 . Hier sind die Koeffizienten a0 , a1 , . . . , an−1 ganze Zahlen, die modulo einer Primzahl p gerechnet werden, und die imagin¨ are“ Zahl i ∈ F gen¨ ugt einer ” Gleichung b0 + b1 i + · · · + bn−1 in−1 + in = 0 . Dabei ist diese Relation minimal, d. h. sie gilt f¨ ur keine kleinere nat¨ urliche Zahl m anstelle von n; Galois spricht von einer irreduziblen Kongruenz. Diese exotischen Zahlen waren lange Zeit nur aus innermathematischen Gr¨ unden von Interesse, ganz im Gegensatz zu den komplexen Zahlen, die von Anfang an via Differential- und Integralrechnung in Anwendungen der Mathematik unentbehrlich waren. Die innermathematische Sicht bettet die Theorie der endlichen K¨ orper als Spezialfall in die sogenannte Erweiterungstheorie von K¨ orpern ein, so dass in Lehrb¨ uchern der Algebra endliche K¨orper nur auf ganz wenigen Seiten abgehandelt werden, und zwar mit einer dem allgemeinen Fall angemessenen Maschinerie“, welche aber den direkten Zugang ” f¨ ur den Nicht-Fachmann erschwert. Mit dem Aufkommen der digitalen Datenverarbeitung hat sich die Situation ge¨ andert. Der Computer ist ein diskretes Werkzeug, d. h. er kann endlich viele Zeichen in einer endlichen Zeit bearbeiten; er kann mit diesen Zeichen exakt 1 E. Galois: Sur la th´ eorie des nombres, Bulletin des sciences math´ematiques de F´erussac XIII, 1830, § 218
VIII
Einleitung
rechnen, wenn sie mit den Elementen eines Galoisfelds GF (pn ) identifiziert werden k¨ onnen. Zum Beispiel besteht GF (2) aus den bits 0, 1 und GF (28 ) aus Bytes – acht bits definieren ein Byte. Ich skizziere ein typisches Beispiel aus der Nachrichten¨ ubertragung. Es liegt ein Alphabet“ mit 28 = 256 Zeichen (Buchstaben) vor, welche als Bytes ” interpretiert werden, die Zeichen sind also die Elemente von GF (28 ). Eine Information a sei ein Wort mit 231 Zeichen und diese Information wird durch Hinzuf¨ ugen von 24 Zeichen (Redundanz) in ein Codewort x der L¨ange ¨ ver¨andere 255 (= 28 −1) codiert. In einem fehlerbehafteten Ubertragungskanal sich x infolge von technischen St¨ orungen, der Empf¨anger erh¨alt statt x ein gest¨ ortes Wort x ˜ mit ebenfalls 255 Buchstaben; dabei ist vorausgesetzt, dass Stellen von x unterscheidet. Der Empf¨anger sich x ˜ in h¨ ochstens 12 = 255−231 2 decodiert nun x ˜, berechnet also aus x ˜ das Codewort x und dann die Information a. Dazu muss blitzschnell ein lineares Gleichungssystem u ¨ ber dem K¨orper ost werden, bestehend aus 13 Gleichungen in 12 Unbekannten. GF (28 ) gel¨ Dies leistet ein Chip, welcher in jedem Handy, Computer oder CD-Player installiert ist. Im letzten Kapitel rechne ich dazu zwei Beispiele. Anstatt den achst den K¨orper GF (7) und dann großen K¨ orper GF (28 ) nehme ich zun¨ den K¨ orper GF (23 ), denn in ihnen kann noch per Hand gerechnet werden. Eigentlich k¨ onnen diese Beispiele schon ab Kap. 1 bzw. Kap. 2 gelesen werden, wenn man den erweiterten Euklidische Algorithmus (Kap. 4) sowie die diskrete Fouriertransformation (Kap. 7) u ¨bernimmt. Nat¨ urlich gibt es nun Monographien speziell u ¨ ber endliche K¨orper, z. B. [3], [4]. Diese gehen weit u ¨ber den vorliegenden Text hinaus, und sind in ihrem mathematischen Niveau einem mathematisch nicht sehr geschulten Leser nicht ohne weiteres zug¨ anglich. Dieses Buch entstand aus einer einsemestrigen Vorlesung f¨ ur den neu eingerichteten Studiengang Informations- und Kommunikationstechnologie in Erlangen. Es setzt eine gewisse Vertrautheit mit den Grundbegriffen der linearen Algebra voraus, wie sie z. B. in jeder Vorlesung Ingenieurmathematik erkl¨ art werden. Nat¨ urlich sind endliche K¨ orper abstrakte Gebilde, die exakte Definitionen und den Einsatz der mathematischen Sprache (Mengen, Abbildungen, . . . ) erfordern. Ich habe mich bem¨ uht, den formalen Apparat nur als Mittel zum Zweck erscheinen zu lassen. Zum Beispiel habe ich den f¨ ur den Unge¨ ubten schwierigen Begriff der Faktorbildung vermieden, weil in dem hier betrachteten Kontext immer nat¨ urliche Repr¨asentantensysteme existieren. In Kap. 1 erkl¨ are ich den Ring Z der ganzen Zahlen, sowie den Ring Z modulo n, n ∈ N, welchen ich mit Zn bezeichne. Ist hier n = p Primzahl, so ist Zp ein K¨ orper mit p Elementen, Zp = GF (p). In Kap. 2 definiere ich sorgf¨altig
Einleitung
IX
den Polynomring F[X] u orper F, sowie den Ring F[X] modulo ¨ ber einem K¨ einem Polynom N ∈ F[X], den ich mit FN bezeichne. Ist hier N Primelement, also irreduzibles Polynom in F[X], so ist FN K¨orper. Im Fall F = Zp erh¨ alt man so den endlichen K¨ orper GF (pn ), n = grad N . Damit sind in Kap. 2 bis auf Isomorphie schon alle endlichen K¨orper definiert, ihre Existenz, also die Existenz von N , und die Eindeutigkeit kl¨aren wir allerdings erst in Kap. 10. Am Ende von Kap. 2 diskutiere ich die Beispiele GF (22 ), uckkomme. Das GF (23 ), GF (24 ) und GF (32 ), auf die ich immer wieder zur¨ ul entwickle ich in Kap. 8. den K¨ orpern GF (pn ) zugrundliegende Rechenkalk¨ Dieses kann gleich nach Kap. 2 gelesen werden, wenn man mehr theoretische Sachverhalte aus den Kapiteln 3–6 u ¨bernimmt. Die Teilbarkeitslehre im Polynomring F[X] ist v¨ ollig analog zu der im Ring Z. Sie bedarf allerdings in dem abstrakten Gebilde F[X] einer genauen Begr¨ undung; diese wird in den Kapiteln 3–5 gegeben. In den Kapiteln 6, 7 kl¨aren wir die Struktur einer zyklischen Gruppe und beweisen den fundamentalen Satz, dass die multiplikative Gruppe eines endlichen K¨orpers eine zyklische Gruppe ist. Dieser Satz und die Rechnungen im letzten Kapitel sind der Anlass, am Schluss von Kap. 7 auch die diskrete Fouriertransformation vorzustellen. In Kap. 9 f¨ uhre ich den Begriff des Minimalpolynoms ein und betrachte endliche K¨ orper als Erweiterungsk¨orper von Zp , bereite somit die theoretischen S¨atze in Kap. 10 vor, also den Existenz- und Eindeutigkeitssatz. Mit den Ergeb¨ nissen aus Kap. 10 erhalten wir in Kap. 11 einen Uberblick u ¨ ber s¨amtliche irreduziblen Polynome in Zp [X], welche ja letztendlich die endlichen K¨orper definieren. So haben wir in Kap. 2 angefangen und so steht es auch bei Galois. Im gesamten Text finden sich viele konkrete Beispiele und nach jedem Kapi¨ tel stelle ich ein paar Ubungsaufgaben, die in der Regel das Vorhergehende anhand konkreter Rechnungen u ¨ben. Ich betone, dass der Text auch eine elementare Einf¨ uhrung in die Algebra bietet. Anders als in manchen College-Einf¨ uhrungen“ dienen hier die Grund” begriffe der Algebra – Gruppen, Vektorr¨aume, Ringe, K¨orper, Polynome – einem klaren Ziel, n¨ amlich endliche K¨ orper zu erkl¨aren. F¨ ur die Fertigstellung des Manuskripts bedanke ich mich bei Frau Irmgard Moch und Herrn dott. Raffaello Caserta. Die Zahl der Ungenauigkeiten und Fehler, die mein Freund und Kollege Hans G¨ unter Weidner durch geduldiges und genaues Lesen aufsp¨ urte, war eindrucksvoll!
Inhaltsverzeichnis 1
Der Ring der ganzen Zahlen . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
Der Polynomring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3
Die Teilbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4
Der erweiterte Euklidische Algorithmus . . . . . . . . . . . . .
55
5
Nullstellen von Polynomen . . . . . . . . . . . . . . . . . . . . . . . . . .
65
6
Zyklische Gruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
7
Die multiplikative Gruppe und die diskrete Fouriertransformation . . . . . . . . . . . . . .
93
8
Das Rechnen in endlichen K¨ orpern . . . . . . . . . . . . . . . . . . 103
9
Erweiterungsk¨ orper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
10
Existenz und Eindeutigkeit von endlichen K¨ orpern
135
11
Irreduzible Polynome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
145
12
Reed–Solomon Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
175
Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
177
Notation |M | N N0 Z min{a, b} Zn nZ R C i GF (pn ) dim V n N P(n) a +n b, a ·n b a +N b, a ·N b F[X] grad A Fn [X] Fn FN A|B ggT(A, B) kgV(A, B) A a o(a) dz (a) EF F(v) Mv Dm char E Pn Aπ Ki
Anzahl der Elemente in der endlichen Menge M Menge der nat¨ urlichen Zahlen ohne die 0 Menge der nat¨ urlichen Zahlen mit der 0 Menge der ganzen Zahlen das Minimum der Zahlen a, b = {0, 1, · · · n − 1} = {i · n | i ∈ Z} Menge der reellen Zahlen Menge der komplexen Zahlen imagin¨ are Einheit in C endlicher K¨ orper mit pn Elementen Dimension eines Vektorraums V Restabbildung modulo n, Seite 7 Restabbildung modulo N , Seite 27 Menge der Primteiler von n, Seite 11 Addition und Multiplikation modulo n, Seite 8 Addition und Multiplikation modulo N , Seite 28 Polynomring, Seite 18 Grad eines Polynoms A, Seite 21 Menge der Polynome vom Grad < n, Seite 22 Menge aller n-Tupel u ¨ ber dem K¨orper F, Seite 23 Der Ring F[X] modulo N , Seite 28 A teilt B, Seite 41 gr¨ oßter gemeinsame Teiler von A, B, Seite 47 kleinstes gemeinsames Vielfaches von A, B, Seite 43 Ableitung des Polynoms A, Seite 71 zyklische Gruppe, Seite 83 Ordnung von a, Seite 86 diskreter Logarithmus vo a (zur Basis z), Seite 107 Seite 123 Seite 125 Minimalpolynom von v, Seite 126 Seite 142 Charakteristik des K¨ orpers E, Seite 138 Seite 140 Seite 150 Kreisteilungsklasse, Seite 90
Kapitel 1 Der Ring der ganzen Zahlen
1
1
1 Der Ring der ganzen Zahlen Letztendlich wird die Addition und Multiplikation in endlichen K¨orpern auf die Addition und Multiplikation von ganzen Zahlen zur¨ uckgef¨ uhrt. Deswegen m¨ ussen wir die an sich selbstverst¨ andlichen Rechenoperationen in Z genauer analysieren. In der Menge N = {1, 2, 3, . . .} der nat¨ urlichen Zahlen ist eine Gleichung a+x =b nur dann l¨ osbar, wenn a < b . In der Menge Z = N ∪ {0} ∪ (−N) der ganzen Zahlen ist sie jedoch immer l¨ osbar, x = b − a. Dies ist eine der grundlegenden Eigenschaften der Addition in Z; ingesamt wird die Addition und Multiplikation in Z durch f¨ unf Gesetze geregelt: R1 Addition und Multiplikation sind assoziativ:
(a + b) + c = a + (b + c) und
(a · b) · c = a · (b · c)
R2 Addition und Multiplikation sind kommutativ:
a+b=b+a
und a · b = b · a
R3 Es existiert ein neutrales Element bez. der Addition (= 0, Nullelement) und ein neutrales Element bez. der Multiplikation (= 1, Einselement):
0+a=a
und 1 · a = a
Es ist 0 = 1. R4 Die Gleichung a + x = b besitzt eine eindeutige L¨ osung x in Z. R5 Es gilt das Distributivgesetz:
a · (b + c) = a · b + a · c Wir definieren: Eine Menge R = {a, b, c, . . .} heißt Ring, wenn je zwei Elementen a, b ∈ R eine Summe a + b ∈ R und ein Produkt a · b ∈ R zugeordnet ist, so dass die Gesetze R1 bis R5 gelten; in R4 ist Z durch R zu ersetzen. Eigentlich spricht man von einem kommutativen Ring, denn in R2 fordern wir, dass die Multiplikation kommutativ ist, wir betrachten hier nur solche Ringe.
4
1. Der Ring der ganzen Zahlen
Aus R1 bis R5 ergeben sich weitere Regeln, die im Ring Z an sich selbstverst¨ andlich sind. Da wir gleich noch andere Ringe betrachten, formulieren wir allgemein. Sei R Ring. Bez¨ uglich der Addition ist R eine abelsche Gruppe, man nennt sie die additive Gruppe = R(+) von R. Dies bedeutet, dass die Addition assoziativ und kommutativ ist (R1 und R2), ein neutrales Element 0 ∈ R existiert (R3) und die Gleichung a + x = b in R eindeutig l¨osbar ist (R4). In Kapitel 6 behandeln wir Gruppen in einem allgemeineren Rahmen. Insbesondere besitzt die Gleichung a + x = 0 genau eine L¨osung, sie wird mit −a bezeichnet. Also ist a + (−a) = 0
− (−a) = a .
und
Zur Abk¨ urzung setzt man a − b := a + (−b) . Es ist a + (b − a) = (a − a) + b = 0 + b = b , also ist x = b − a die L¨ osung von a + x = b. Anders verh¨ alt sich die Multiplikation. Eine Gleichung a · x = b muss in R nicht l¨ osbar sein, auch wenn a = 0. Existiert zu a = 0 ein b = 0 mit a · b = 0, so heißt a Nullteiler von R. Mit R∗ bezeichnen wir die Menge aller von 0 verschiedenen Elemente von R. Besitzt R keinen Nullteiler, gilt also a, b ∈ R∗ ⇒ a · b ∈ R∗ , so heißt R nullteilerfrei; offensichtlich ist der Ring Z nullteilerfrei. Multipliziert man a ∈ R mit sich selber, so erh¨alt man die Potenzen ai , i ∈ N0 . Man setzt a0 := 1 , a1 := a , a2 := a · a und !
a3 := a · a2 = a · (a · a) = (a · a) · a = a2 · a , man beachte das Assoziativgesetz! Deshalb l¨asst man die Klammern weg und schreibt a3 = a · a · a. Genauso behandelt man die h¨oheren Potenzen: ai := a · ai−1 = a · a ·· · · · a . i
1. Der Ring der ganzen Zahlen
5
Daraus ergeben sich die Potenzgesetze : ai+j = ai · aj
und (ai )j = ai·j ,
i, j ≥ 0 .
Eine Diskussion der Potenzgesetze, insbesondere deren additive Variante findet sich in Kap. 6. Das Distributivgesetz R5 verklammert die Addition und Multiplikation. Aus ihm folgen die zwei Regeln 0·a=0
und (−a) · b = −(a · b) .
Zum Beweis von 0 · a = 0 l¨ osen wir die Geichung 0 · a + x = 0 · a. Nach R3 hat sie die L¨ osung x = 0; andererseits ist auch 0 · a L¨osung, denn 0 · a + 0 · a = (0 + 0) · a = 0 · a , mit R4 folgt 0 = 0 · a. Zum Beweis der zweiten Regel schreiben wir 0 = 0 · b = (a + (−a)) · b = a · b + (−a) · b , wegen 0 = a · b − (a · b) folgt die Behauptung wieder mit R4. Zum Beispiel ergibt sich nun (−a)(−b) = −(a(−b)) = −(−ab) = ab . Aus dem Distributivgesetz folgt die K¨ urzregel , die wir gesondert formulieren:
In einem nullteilerfreien Ring kann gek¨ urzt werden, d. h. es gilt: a·b=a·c,
1.1
a = 0 ⇒ b = c .
Beweis a · b = a · c impliziert
0 = a · b − a · c = a · (b − c) . Wegen a = 0 folgt b − c = 0, d. h. b = c.
Wir fassen zusammen: Die Menge Z der ganzen Zahlen bildet bez¨ uglich der Addition und Multiplikation einen nullteilerfreien Ring.
1.2
6
1. Der Ring der ganzen Zahlen
Sei n ∈ N. Die Menge aller Vielfachen von n in Z bezeichnen wir mit nZ, also ist n Z = {n · i | i ∈ Z} . Es ist nZ = {0}, wenn n = 0, und nZ = Z, wenn n = 1. Zum Beispiel ist 2Z die Menge aller geraden Zahlen. Die Teilmenge Zn := {0, 1, . . . , n − 1} von Z spielt im Folgenden eine wichtige Rolle; es ist |Zn | = n. Eine Teilmenge von Z der Form r + nZ := {r + n · f | f ∈ Z} ,
r ∈ Zn ,
heißt Restklasse modulo n, sie besteht aus den Zahlen in Z, die geteilt durch n den Rest r haben. Ein fundamentales Gesetz in Z besagt, dass jede Zahl a ∈ Z in genau einer dieser n Restklasse modulo n liegt.1 Dies bedeutet:
1.3
Division mit Rest: Zu a ∈ Z existieren eindeutig bestimmte Zahlen f ∈ Z und r ∈ Zn , so dass a = n · f + r.
Wir malen“ die Restklassen modulo 7: ” 0 –6 –1
7
1
6
8
9
5
2
–2
–5 3
–4
1
Dies problematisieren wir hier nicht.
4 –3
1. Der Ring der ganzen Zahlen
7
Seien a, n, r wie in 1.3. Wir nennen r den Rest modulo n und schreiben r = n (a) . Zum Beispiel ist 5 (12) = 2 und 5 (−12) = 3, denn 12 = 2 · 5 + 2 und −12 = (−3) · 5 + 3. Es ist 5 (4) = 4, denn 4 = 0 · 5 + 4. Wir fassen n als (Rest-)Abbildung auf, ordnen also jedem a ∈ Z den Rest r = n (a) ∈ Zn zu. Man schreibt n : Z → Zn
mit a → n (a) .
a) n (a) = a ⇔ a ∈ Zn
1.4
b) n (a) = 0 ⇔ a ∈ nZ c) n (a) = n (b) ⇔ a − b ∈ nZ d) n (a + b) = n (n (a) + n (b) ) e) n (a · b) = n (n (a) · n (b) ) Beweis Die ersten drei Aussagen ergeben sich unmittelbar aus der Definition
ur den Beweis von d), e) sei von n . F¨ a=f ·n+r ,
r = n (a) ,
b=g·n+s,
s = n (b) .
Dann ist a + b = (f + g) · n + (r + s) , a · b = (f · g · n + f · s + g · r) · n + r · s , also (a + b) − (r + s) ∈ nZ und a · b − r · s ∈ nZ. Mit c) folgt die Behauptung.
Wir machen ein Beispiel zu d) und e), sei n = 7. Es ist 7 (11 + 13) = 7 (24) = 3 7 (11 · 13) = 7 (143) = 3 und nach d), e) 7 (11 + 13) = 7 (7 (11) + 7 (13)) = 7 (4 + 6) = 7 (10) = 3 7 (11 · 13) = 7 (7 (11) · 7 (13)) = 7 (4 · 6) = 7 (24) = 3 .
8
1. Der Ring der ganzen Zahlen
Gilt n (a) = n (b) f¨ ur zwei Zahlen a, b ∈ Z, so heißt a kongruent b modulo n, man schreibt gerne a ≡ b (mod n). Sei n ≥ 2. Die Menge Zn machen wir zu einem Ring, indem wir auf ihr eine ur a, b ∈ Zn sei Addition +n und Multiplikation ·n modulo n erkl¨aren. F¨ a +n b := n (a + b) a ·n b := n (a · b) . Wir zeigen, dass die Abbildung n : Z → Zn die Ringstruktur von Z auf Zn u agt, so dass Zn bez¨ uglich der Addition +n und der Multiplikation ·n ¨ bertr¨ ein Ring wird. ur a, b ∈ Zn ist Dazu schreiben wir k¨ urzer anstatt n . F¨ a +n b = (a + b) = (b + a) = b +n a a +n 0 = (a + 0) = (a) = a a ·n b = (a · b) = (b · a) = b ·n a a ·n 1 = (a · 1) = (a) = a . Also gelten R2 und R3. Um R4 nachzuweisen, l¨osen wir die Gleichung a +n x = b in Zn . Im Fall a ≤ b ist x = b − a ∈ Zn L¨osung, denn a +n (b − a) = (a + b − a) = (b) = b , und im Fall a > b ist x = n + b − a ∈ Zn eine L¨osung, denn a +n (n + b − a) = (a + n + b − a) = (b + n) = (b) = b . Man u allen x die einzige L¨osung ist. ¨ berzeuge sich, dass in beiden F¨ Es bleibt noch das Assoziativ- und Distributivgesetz nachzuweisen. Seien a, b, c ∈ Zn , nach 1.4.a ist a = (a) ,
b = (b) ,
c = (c) .
Mit 1.4.d folgt a +n (b +n c) = (a) +n (b + c) = ((a) + (b + c)) = (a + (b + c)) und genauso (a +n b) +n c = ((a + b) + c). Die Addition in Zn ist also assoziativ, weil sie in Z assoziativ ist. Analog ergibt sich mit 1.4.e a ·n (b ·n c) = (a) ·n (b · c) = ((a) · (b · c)) = (a · (b · c))
1. Der Ring der ganzen Zahlen
9
und genauso (a ·n b) ·n c = ((a · b) · c). Also ist auch die Multiplikation ¨ assoziativ, denn sie ist es in Z. Ahnlich folgt das Distributivgesetz: a ·n (b +n c) = (a) ·n (b + c) = ((a) · (b + c)) = (a · (b + c)) = (a · b + a · c) = ((a · b) + (a · c)) = (a ·n b + a ·n c) = (a ·n b) +n (a ·n c) . Wir fassen zusammen: Satz Sei n > 1. Bez¨ uglich der Addition und Multiplikation modulo n ist Zn
ein Ring mit Nullelement 0 ∈ Zn und Einselement 1 ∈ Zn .
1.5
Nachdem Zn Ring ist, k¨ onnen wir formulieren: Die Restabbildung n ist vertr¨ aglich mit der Addition und Multiplikation in den Ringen Z und Zn , d. h. es gilt2 n (a + b) = n (a) +n n (b) n (a · b) = n (a) ·n n (b) . Insbesondere ist n (−a) = −n (a) und
n (a − b) = n (a) −n n (b) .
Beweis Infolge der Definition der Addition und Multiplikation in Zn sind die
ersten Behauptungen klar. Wir begr¨ unden nur die zwei letzten. Es ist 0 = n (0) = n (a − a) = n (a + (−a)) = n (a) +n n (−a) , d. h. im Ring Zn gilt n (−a) = −n (a). Es folgt n (a − b) = n (a + (−b)) = n (a) +n (−n (b)) = n (a) −n n (b) .
2
Man spricht von einem Ring-Homomorphismus.
1.6
10
1. Der Ring der ganzen Zahlen
Als Beispiele notieren wir die Additions- und Multiplikationstafeln der Ringe Z2 , Z3 , Z4 und Z5 +2
0
1
·2
0
1
0 1
0 1
1 0
0 1
0 0
0 1
+3
0
1
2
0 1 2
0 1 2
1 2 0
2 0 1
+4
0
1
2
3
0 1 2 3
0 1 2 3
1 2 3 0
2 3 0 1
3 0 1 2
+5
0
1
2
3
4
0 1 2 3 4
0 1 2 3 4
1 2 3 4 0
2 3 4 0 1
3 4 0 1 2
4 0 1 2 3
·3
1
2
1 2
1 2
2 1
·4
1
2
3
1 2 3
1 2 3
2 0 2
3 2 1
·5
1
2
3
4
1 2 3 4
1 2 3 4
2 4 1 3
3 1 4 2
4 3 2 1
Wir definieren: Sei F ein Ring. Dann heißt F K¨ orper, wenn im Ring F neben R1 bis R5 noch folgende zwei Gesetze gelten: K1 a, b ∈ F∗ ⇒ a · b ∈ F∗ (d. h. F ist nullteilerfrei) K2 Die Gleichung a · x = b (a, b ∈ F∗ ) besitzt genau eine L¨ osung x in F∗ .
Insbesondere ist dann die Gleichung a · x = 1 eindeutig l¨osbar, man schreibt x = a−1 =
1 . a
Daraus ergibt sich auch die L¨ osung von a · x = b zu x = a−1 · b, denn a · (a−1 · b) = (a · a−1 ) · b = 1 · b = b .
1. Der Ring der ganzen Zahlen
11
Man schreibt a · b−1 =
a . b
Da die Multiplikation im Ring F assoziativ ist und F ein Einselement besitzt, besagen die zwei Gesetze K1, K2, dass F∗ bez¨ uglich der Multiplikation eine abelsche Gruppe ist (siehe Kap. 6, Seite 79). Diese Gruppe heißt die multiplikative Gruppe des K¨ orpers F, sie wird mit F∗ notiert. Wir zeigen nun, dass der Ring Zn genau dann ein K¨orper ist, wenn n eine Primzahl ist. Dabei nennt man eine Zahl p ∈ N, p > 1, Primzahl, wenn sie unzerlegbar ist, also 1 und p die einzigen Teiler von p in N sind (in Z kommen die Teiler −1 und −p hinzu). F¨ ur a ∈ Z, a = 0, sei P(a) die Menge der Primzahlen, die a teilen; z. B. ist P(12) = P(−12) = {2, 3}. Die f¨ ur uns wichtigste Eigenschaft von Primzahlen ist: PRIM
P(a · b) = P(a) ∪ P(b)
(Vereinigungsmenge)
Diese an sich selbstverst¨ andliche Beziehung bedeutet, dass eine Primzahl, die a · b teilt, schon a oder b teilt. Dies ergibt sich aus der eindeutigen Primfaktorzerlegung der Zahlen a, b und a · b. Wir erkl¨ aren dies genauer in Kap. 3. Sei n ∈ N, n ≥ 2. Ist n keine Primzahl, so existieren a, b in Zn , a = 0 = b, mit n = a · b, d. h. a ·n b = n (n) = 0 , der Ring Zn ist also nicht nullteilerfrei. Genauer gilt: Der Ring Zn ist genau dann nullteilerfrei, wenn n eine Primzahl ist. Beweis Sei n Primzahl. Wir nehmen an, dass Zn nicht nullteilerfrei ist, dann
existieren a, b = 0 in Zn mit
a ·n b = 0 ,
d. h. n (a · b) = 0 .
Also ist n Teiler von a · b und wegen PRIM auch Teiler von a oder b im Widerspruch zu a, b < n. Dies beweist 1.7.
1.7
12
1.8
1. Der Ring der ganzen Zahlen
Satz Genau dann ist der Ring Zn ein K¨ orper, wenn n eine Primzahl ist.
Beweis Ist F := Zn K¨ orper, gilt also K1, so ist n nach 1.7 eine Primzahl. Sei
p Primzahl und F := Zp . Wir behaupten, dass K1 und K2 in F∗ = {1, 2, . . . , p − 1} gelten. K1 ist 1.7. F¨ ur K2 ist zu zeigen, dass die Gleichung a ·p x = b f¨ ur osung besitzt. Dazu bilden wir die Menge a, b ∈ F∗ genau eine L¨ M = {a ·p x | x ∈ F∗ } . Es ist M ⊆ F∗ . Seien x, y ∈ F∗ mit a ·p x = a ·p y. Da F nullteilerfrei ist (1.7), k¨ onnen wir die K¨ urzregel 1.1 anwenden und erhalten x = y. Die Teilmenge M alt daher genau so viel Elemente wie F∗ ; es folgt der endlichen Menge F∗ enth¨ ∗ M = F . Also existiert genau ein x ∈ F∗ mit a ·p x = b.
Im Anschluss an diesen Beweis machen wir eine kleine Rechnung im K¨orper F : = Zp . Sei a ∈ F∗ . Dann ist (s. o) F∗ = {a ·n x | x ∈ F∗ } . Das Produkt aller (p − 1) Elemente 1, 2, . . . , p − 1 von F∗ , welches wir mit b bezeichnen, ist also bis auf Reihenfolge gleich dem Produkt der (p − 1) Elemente a ·p x , x ∈ F∗ , das wir mit c bezeichnen. Stellt man im Produkt c die Faktoren a an den Anfang, so folgt c = ap−1 ·p b, und damit ap−1 ·p b = b . K¨ urzt man durch b, so erh¨ alt man im K¨ orper F die Relation ap−1 = 1 .
1. Der Ring der ganzen Zahlen
13
Wir schreiben diese etwas anders und erhalten den Satz von Fermat Sei a = 0 eine Zahl in Z, welche nicht durch die Primzahl p
teilbar ist. Dann ist p (ap−1 ) = 1.3
¨ Ein Beispiel findet sich in einer Ubungsaufgaben am Schluss des Kapitels. Es sei bemerkt, dass dieser Satz die mathematische Grundlage f¨ ur das RSA– Kryptographiesystem ist. Ein endlicher K¨ orper F heißt Galoisfeld, man schreibt F = GF (q), wenn er q Elemente besitzt. Also ist Zp = GF (p). Wir werden in Kap. 10 sehen, dass q immer eine Primzahlpotenz pn ist; bei fest gew¨ahltem p ist also Zp das kleinste Galoisfeld. Ausblick 1 Das abstrakte Argument im Beweis von 1.8 erkl¨ art nicht, wie das
inverse Element a−1 aus a konkret berechnet werden kann. Folgendes Beispiel zeigt, dass dies f¨ ur kleines n nicht allzu schwierig ist; wir nehmen Z13 und setzen = 13 . a = 2, 2 · 7 = 14, (14) = 1 ⇒ a−1 = 7 a = 3, 3 · 5 = 15, (15) = 2, 3 ·13 5 ·13 7 = 2 ·13 7 = 1 ⇒ a−1 = 5 ·13 7 = 9 a = 4, 4 · 4 = 16, (16) = 3, 4 ·13 4 ·13 9 = 3 ·13 9 = 1 ⇒ a−1 = 4 ·13 9 = 10 u. s. w. Nat¨ urlich wird eine solche Rekursion“ f¨ ur gr¨ oßeres p immer l¨anger. Schneller ” kommt der erweiterte Euklidische Algorithmus ans Ziel; diesen stellen wir in Kap. 4 vor. Ausblick 2 In Kapitel 3 behandeln wir die Teilbarkeit im Ring Z genauer.
Dies erm¨ oglicht einen konstruktiven Beweis von 1.8, siehe Seite 50. Ausblick 3 Sei p Primzahl. Durch Ausprobieren findet man im K¨ orper Zp ein
Element z, so dass jedes a ∈ Zp , a = 0, eine Potenz von z ist. Ein solches Element z heißt primitives Element des K¨ orpers Zp . In Z5 ist z. B. z = 2 primitiv, denn z1 = 2 ,
z2 = 4 ,
z3 = 3 ,
z4 = 1 ,
aber 4 kein primitives Element, denn 4 ·5 4 = 1. In Kap. 6 werden wir zeigen, dass mit z auch jede Potenz z i primitiv ist, sofern die Zahl i teilerfremd zu p − 1 ist (6.11 auf Seite 88). 3¨
Ublicherweise schreibt man ap−1 ≡ 1 (mod p).
1.9
14
1. Der Ring der ganzen Zahlen
Mit Hilfe eines primitiven Elements z kann die Multiplikation in einem endlichen K¨ orper sehr u ¨ bersichtlich organisiert werden, siehe Kap. 8. Ein relativ tiefliegender Satz besagt, dass in jedem endlichen K¨orper ein primitives Element existiert. Diesen Satz beweisen wir in Kap. 7, siehe 7.2 auf Seite 95.
Vorschlag Wir rechnen im letzten Kapitel 12 zwei Beispiele in einem Reed–
Solomon Code, das erste im K¨ orper GF (7) = Z7 und das zweite im K¨orper 3 GF (2 ). Wir empfehlen dem Leser, schon jetzt die ersten Seiten dieses Kapitels zu lesen, um sich von der Relevanz endlicher K¨orper in der Praxis der Nachrichten¨ ubertragung zu u ¨ berzeugen.
¨ Ubungen
1. Wieviele Nullteiler besitzt der Ring Z8 und wieviele der Ring Z13 ? 2. Berechne die Additions- und die Multiplikationstafel des Rings Z7 . 3. F¨ ur welche Elemente a des Rings Z6 existiert ein b ∈ Z6 mit a ·6 b = 1? 4. Gibt es einen K¨ orper mit 31 Elementen? 5. Bestimme alle inversen Elemente a−1 , a = 0, im K¨orper Z13 . 6. Bestimme ein primitives Element im K¨ orper Z7 und im K¨orper Z11 . 7. L¨ ose u orper Zp folgende lineare Gleichungssysteme: ¨ ber dem K¨ p = 2 und x1 +2 x2 +2 x3 = 1 x1 +2 x2 = 0 x2 +2 x3 = 1 , p = 3 und 2 ·3 x1 +3 x2 +3 2 ·3 x3 = 2 x1 +3 x2 +3 2 ·3 x3 = 0 x1 +3 2 ·3 x2 = 0 . 8. Bestimme die Zahl 43 (2057642).
Kapitel 2 Der Polynomring
2
2
2 Der Polynomring Im vorigen Kapitel haben wir den endlichen K¨orper Zp gebildet, p Primzahl. Die Elemente eines beliebigen endlichen K¨orpers k¨onnen als Polynome u orper Zp aufgefasst werden. Um dies zu erkl¨aren, bedarf es einer ¨ber dem K¨ sorgf¨ altigen Darstellung des Polynombegriffs. orper F; wir schreiben die MulAnstatt Zp nehmen wir einen (beliebigen) K¨ tiplikation in F ohne Punkt, ab oder λμ oder μa sind also Produkte von Elementen a, b, λ, μ ∈ F in F. Ein Polynom (¨ uber F) A = A(X) = a0 + a1 X + a2 X 2 + · · · + an X n ,
ai ∈ F ,
fassen wir als eine Rechenvorschrift auf, in der man f¨ ur die Variable X Zahlen μ ∈ F einsetzen kann: A(μ) : = a0 + a1 μ + a2 μ2 + · · · + an μn n = ai μi (∈ F) i=0 0
1
Wegen μ = 1, μ = μ setzt man X 0 = 1, X 1 = X und schreibt A=
n i=0
ai X i =
ai X i =
ai X i
i
mit der Verabredung, dass nur endlich viele Koeffizienten ai , i ∈ N0 , von 0 verschieden sind. Sei λ ∈ F und B = bi X i ein weiteres Polynom. Aus den Rechenregeln, die im K¨ orper F gelten, ergeben sich folgende Beziehungen: λA(μ) = λa0 + (λa1 )μ + (λa2 )μ2 + · · · A(μ) + B(μ) = (a0 + b0 ) + (a1 + b1 )μ + (a2 + b2 )μ2 + · · · A(μ)B(μ) = a0 b0 + (a0 b1 + a1 b0 )μ + (a0 b2 + a1 b1 + a2 b0 )μ2 + · · · Demzufolge definiert man Polynome, n¨ amlich das skalare Vielfache λA, die Summe A + B und das Produkt A · B auf folgende Weise
18
2. Der Polynomring
λA :=
(λai )X i
i
A + B := (ai + bi )X i A · B :=
i
ci X i , mit ci = a0 bi + a1 bi−1 + · · · + ai−1 b1 + ai b0 .
i
Setzt man in der Definition des Produkts A = X n , B = X m so folgt:
2.1
X n · X m = X n+m
Wir werden sehen, dass diese Relation die Multiplikation von Polynomen steuert. Nach Definition von λA, A + B, A · B gelten folgende Einsetzungsregeln, die wir st¨ andig benutzen – meistens ohne besonderen Hinweis. (λA)(μ) = λ(A(μ)) (A + B)(μ) = A(μ) + B(μ) (A · B)(μ) = A(μ)B(μ)
Bemerkung Die Polynome haben wir als Rechenvorschriften“ eingef¨ uhrt und
” diese Objekte sogleich addiert und multipliziert. Identifiziert man ein Poly nom A = ai X i mit der Folge (ai )i∈N0 , so sind die Polynome diejenigen Folgen u ur die ein n ∈ N existiert, so dass an+j = 0 f¨ ur alle j ∈ N. ¨ ber F, f¨ Die Addition und die skalare Multiplikation mit λ ∈ F von solchen Folgen geschieht komponentenweise, analog wie im Vektorraum Fn , nicht aber die Multiplikation!
Mit F[X] bezeichnen wir die Menge aller Polynome (¨ uber F). Wir erl¨autern zun¨ achst die algebraische Struktur von F[X] bez¨ uglich der skalaren Multiplikation, der Summe und des Produkts und machen dann Beispiele. Seien A = i ai X i , B = i bi X i , C = i ci X i Polynome. Aus dem Assoziativgesetz und dem Kommutativgesetz in F(+) folgen die entsprechenden Gesetze in F[X]: A + (B + C) = (A + B) + C A+B =B+A
2. Der Polynomring
19
Sind die Koeffizienten ai = 0 f¨ ur alle i > 0, so hat A die Form A = a0 X 0 = a0 , man spricht von einem konstanten Polynom und identifiziert A mit dem Skalar a0 ∈ F. Im Fall a0 = 0 ist A das Null-Polynom A = 0 und im Fall a0 = 1 ist A das Eins-Polynom A = 1. Setzt man −A =
−ai X i = (−1)A ,
i
so ist A + (−A) = A − A = 0 und A + (B − A) = A − A + B = B . Dies besagt, dass F[X] bez¨ uglich der Addition eine abelsche Gruppe ist. Die Addition und skalare Multiplikation machen F[X] zu einem Vektorraum u orper F (kurz F-Vektorraum), d. h. es gilt: ¨ber dem K¨ V1 Bez¨ uglich der Addition ist F[X] eine abelsche Gruppe (mit dem Nullpolynom als neutralem Element). V2 λ(A + B) = λA + λB V3 (λ + μ)A = λA + μA V4 (λμ)A = λ(μA) V5 λA = A f¨ ur λ = 1 ∈ F
Der Leser mache sich dies an Hand von Beispielen klar. Da jedes A = ai X i ∈ F[X] in eindeutiger Weise eine Linearkombination i der Monome X , i ∈ N0 , ist, bilden diese eine Basis des Vektorraums F[X]. Wir behaupten weiter, dass die definierte Multiplikation F[X] zu einem Ring macht, mit Einselement 1 = X 0 . Das Assoziativ-, Kommutativ- und das Distributivgesetz bez¨ uglich der Multiplikation sind etwas umst¨andlich zu verifizieren; bequem kann man die dazu erforderliche Rechnung in F begr¨ unden: Es ist bi μi , C(μ) = ci μi . A(μ) = ai μi , B(μ) =
20
2. Der Polynomring
In F gilt A(μ) (B(μ)C(μ)) = (A(μ)B(μ)) C(μ) A(μ)B(μ) = B(μ)A(μ) A(μ) (B(μ) + C(μ)) = A(μ)B(μ) + A(μ)C(μ) Man setze die obigen Summen ein, multipliziere sie distributiv in F aus und ordne die entstehenden Summen nach Potenzen von μ. Ersetzt man in dieser Rechnung μ durch die Variable X, so erh¨ alt man das Gew¨ unschte. ¨ Uberdies ist die Multiplikation vertr¨ aglich mit der skalaren Multiplikation im Vektorraum F[X], d. h. es ist λ(A · B) = (λA) · B = A · (λB) . In konkreten Rechnungen ist es oft g¨ unstig ein Polynom A = a0 + a1 X + a2 X 2 + · · · + an X n mit der (umgedrehten) Folge seiner Koeffizienten zu identifizieren: A = an an−1 . . . a1 a0 . Wir rechnen ein Beispiel und nehmen dazu den K¨orper F = Z2 = {0, 1}, hier ist 1 + 1 = 1 +2 1 = 0. Seien A = 1 + X + X3 ,
B = X2 + X3 + X4 ,
also ist A = 1011 ,
B = 11100 .
Die Addition rechnet man wie in der Schule – allerdings modulo 2: +
1
1 1
0 1
1 0
1 0
1
0
1
1
1
Also ist A+B = 10111, d. h. (wir drehen wieder um) A+B = 1+X +X 2 +X 4 . Das Produkt A · B multiplizieren wir distributiv aus und ordnen – unter Beachtung von 2.1 – nach den Potenzen von X:
2. Der Polynomring
21
A · B = (X 3 + X + 1) · (X 4 + X 3 + X 2 ) = (X 3 + X + 1) · X 4 + (X 3 + X + 1) · X 3 + (X 3 + X + 1) · X 2 = (X 7 + X 5 + X 4 ) + (X 6 + X 4 + X 3 ) + (X 5 + X 3 + X 2 ) = X 7 + X 6 + (1 +2 1)X 5 + (1 +2 1)X 4 + (1 +2 1)X 3 + X 2 = X7 + X6 + X2 . Auch dies schematisieren wir und bekommen: (1
0
1
1)
1
0 1
1 0 1
1 1 0 0
1
1
0
0
·
(1
1
1
1 1 0 0 0
1 0 0 1
0 0 0
0 0
0
0)
Also ist A · B = 11000100. Die ganzen Zahlen sind der Gr¨ oße nach geordnet; analoges gilt nicht f¨ ur Polynome. Jedoch liefert der Grad eines Polynoms eine (gr¨obere) Gr¨oßeneinteilung in F[X]. Ist A=
n
ai X i ,
an = 0 ,
i=0
so heißt n der Grad (n = grad A) und an der Leitkoeffizient von A. Das Polynom A heißt normiert, wenn an = 1. Multipliziert man A mit dem Skalar λ = a−1 n , so ist der Leitkoeffizient von λA gleich 1, also A normiert, man spricht von einer Normierung. Ist A = 0 das Nullpolynom, so sei grad A := −1 gesetzt.1 Man hat folgende Regeln: 1. grad λA = grad A, wenn λ = 0. 2. grad (A + B) ≤ max {grad A, grad B}. Dabei gilt die Gleichheit, wenn entweder grad A = grad B oder grad A = grad B und an = −bn . 3. grad A · B = grad A + grad B, wenn A = 0 = B.
1
¨ Ofters wird in diesem Fall auch grad A = −∞ gesetzt.
22
2. Der Polynomring
Der Leser mache sich diese anhand von Beispielen klar. Wir verwenden diese wichtigen Gradregeln im Folgenden meistens ohne besonderen Hinweis. Nach Definition gilt: A = 0 ⇔ grad A ≥ 0 . Deswegen folgt aus der dritten Gradregel, dass der Ring F[X] nullteilerfrei ist. Wir fassen zusammen: 2.2
Satz
a) Bez¨ uglich der in F[X] erkl¨ arten Addition und skalaren Multiplikation ist F[X] ein F-Vektorraum. b) Bez¨ uglich der in F[X] erkl¨ arten Addition und Multiplikation ist F[X] ein nullteilerfreier Ring. c) Die Polynome vom Grad ≤ 0, also die konstanten Polynome, k¨onnen mit den Elementen aus F identifiziert werden. Sie addieren und multiplizieren sich wie in F; in diesem Sinn ist F Unterring des Rings F[X]. Sei n ∈ N. Mit Fn [X] bezeichnen wir die Menge aller Polynome A vom Grad ≤ n − 1. Ein solches Polynom hat die Form A = a0 + a1 X + · · · + an−2 X n−2 + an−1 X n−1 ; dabei sind die Koeffizienten ai , i = 0, . . . , n − 1, beliebige Zahlen aus F. Ist hier F endlicher K¨ orper und ist q die Anzahl der Elemente von F, also q = |F| < ∞ , ur die n so gibt es q M¨oglichkeiten f¨ ur den Koeffizient ai und dies jeweils f¨ Indizes i = 0, 1, . . . , n − 1. Es folgt: 2.3
Sei F endlicher K¨ orper mit q Elementen. Dann enth¨alt Fn [X] genau q n Polynome. F¨ ur den Augenblick sei U = Fn [X]. Nach den Gradregeln, die in F[X] gelten, ist U = Fn [X] Unterraum des Vektorraumes F[X], d. h. es gilt: U1 A, B ∈ U ⇒ A + B ∈ U U2 A ∈ U, λ ∈ F ⇒ λA ∈ U
2. Der Polynomring
23
Dies bedeutet, dass U bez¨ uglich der im Vektorraum F[X] erkl¨arten Addition und skalaren Multiplikation wieder ein F-Vektorraum ist. Die Monome 1, X, . . . , X n−1 bilden eine Basis des Vektorraums Fn [X], d. h. jedes A ∈ Fn [X] ist in eindeutiger Weise eine Linearkombination dieser Monome. Die Abbildung, die jedem Polynom A ∈ Fn [X] seine Koeffizienten zuordnet, bezeichnen wir mit γ, also ist γ : Fn [X] → Fn
mit
A=
n−1
ai X i → (a0 , . . . , an−1 ) .
i=0
Offenbar entspricht so jedem n-Tupel genau ein Polynom und jedem Polynom in F[X] genau ein n-Tupel. Also ist γ eine bijektive Abbildung. Nun ist Fn ebenfalls F-Vektorraum, die Addition und skalare Multiplikation erfolgt komponentenweise, das heißt: (a0 , a1 , . . . , an−1 ) + (b0 , b1 , . . . , bn−1 ) = (a0 + b0 , a1 + b1 , . . . , an−1 + bn−1 ) λ(a0 , a1 , . . . , an−1 ) = (λa0 , λa1 , . . . , λan−1 ) Es folgt γ (λA + μB) = λ γ(A) + μ γ(B) . Die Abbildung γ ist also nicht nur bijektiv, sondern auch linear, man sagt: Die Koeffizientenabbildung γ ist ein Isomorphismus des Vektorraums Fn [X] auf den Vektorraum Fn . Dabei wird die Basis 1, X, . . . , X n−1 von Fn [X] auf die kanonische Basis (1, 0, . . . 0), (0, 1, 0, . . . , 0), . . . , (0, . . . , 0, 1) des Vektorraums Fn abgebildet. Im Fall n = 1 besteht Fn [X] aus den konstanten Polynomen, diese haben wir in 2.2.c mit den Elementen des K¨ orpers F identifiziert. Also ist F1 [X] = F . Im Fall n > 1 ist Fn [X] zwar abgeschlossen bzgl. der Addition, aber nicht abgeschlossen bzgl. der Multiplikation. Zum Beispiel liegt das Produkt X n−1 · X n−1 nicht in Fn [X]. Von entscheidender Bedeutung ist, dass – wie im Ring Z – auch im Ring F[X] eine Division mit Rest existiert.
2.4
24
2. Der Polynomring
Im Folgenden seien A, N ∈ F[X] zwei Polynome. Immer sei n = grad N ≥ 0 . Wir teilen A durch N und machen zun¨ achst zwei Beispiele. Beispiel 1 Sei F = Z5 (siehe 1.8). In F schreiben wir
Beispiel gilt in F
a b
f¨ ur a ·5 b−1 , b = 0, zum
2 = 4 = −1 , 3 denn 5 (3 · 4) = 2 und 4 +5 1 = 0. Seien A = 2X 4 + X 2 + X + 1 ,
N = 3X 2 + 4X ∈ F[X] .
Die Division A : N besteht aus drei Schritten. 1) Wir bilden 2 R1 = A − X 2 · N = A − 4X 2 · N = 2X 4 + X 2 + X + 1 − 2X 4 − X 3 3 = 4X 3 + X 2 + X + 1 . Also ist A = 4X 2 · N + R1 und grad R1 < grad A. 2) Wir bilden 4 R2 = R1 − X · N = R1 + 2X · N = 4X 3 + X 2 + X + 1 + X 3 + 3X 2 3 = 4X 2 + X + 1 . Also ist
A = 4X 2 · N + R1 = 4X 2 · N + 3X · N + R2 = (4X 2 + 3X) · N + R2
und grad R2 < grad R1 . 3) Wir bilden 4 R3 = R2 − N = R2 + 2N = 4X 2 + X + 1 + X 2 + 3X 3 = 4X + 1 . Also ist A = (4X 2 + 3X) · N + R2 = (4X 2 + 3X) · N + 3N + 4X + 1 = (4X 2 + 3X + 3) · N + R3
2. Der Polynomring
25
und grad R3 < grad R2 . Insgesamt folgt A = F · N + R mit F = (4X 2 + 3X + 3) ,
R = R3 = 4X + 1 ,
grad R < grad N .
Bequemer rechnet man mit folgendem Schema: (2X 4 + X 2 + X + 1) : (3X 2 + 4X) = 4X 2 + 3X + 3 − (2X 4 + X 3 ) − X3 + X2 + X + 1 − (−X 3 + 2X 2 ) − X2 + X + 1 −(−X 2 + 2X) −X +1 ¨ Ahnlich wie vorher identifizieren wir ein Polynom A ∈ Fn [X] mit seinem umgedrehten Koeffiziententupel an−1 an−2 · · · a1 a0 . Unsere Polynome A, N liegen in Fn [X], n = 5, und haben daher die Form A = 20111 ,
N = 00340 .
Obige Rechnung lautet nun:2 20111 : 00340 = 433 −21000 04111 −04200 00411 −00420 00041 Beispiel 2 Sei F = Z2 = {0, 1} und seien
A = X 4 + X + 1 = 10011 , N = X 2 + X + 1 = 00111 . Wegen 1 +2 1 = 0 ist 1 = −1 in F. Die Addition und Subtraktion fallen also in F zusammen. Die Multiplikationen sind Verschiebungen, man spricht von shifts. Die Division von A durch N liest sich deshalb so:
2
wie in der Schule
26
2. Der Polynomring
10011 : 00111 = 110 11100 01111 01110 00001 00000 00001 Also ist N = F · A + R mit
F = X2 + X ,
R=1.
Das allgemeine Verfahren beschreiben wir in Form eines Computerprogramms. Um es sp¨ ater flexibel zitieren zu k¨ onnen, nehmen wir Polynome K, L anstatt A, N .
2.5
DIV (K, L) START R := K F := 0 λ := Leitkoeffizient von L n := grad L WHILE grad R ≥ n DO m := grad R μ := Leitkoeffizient von R R := R − μλ X m−n L F := F + μλ X m−n OD
Sind R, F wie am Schluss der WHILE-Schleife, so ist grad R < n und K = F · L + R . Wir ersetzen K, L wieder durch A, N und formulieren: 2.6
Division mit Rest Seien N, A ∈ F[X], sei n = grad N ≥ 0. Dann existieren
eindeutig bestimmte Polynome F, R ∈ F[X] mit A = F · N + R und
grad R < n .
2. Der Polynomring
27
Beweis Angesichts 2.5 ist nur noch die Eindeutigkeit von F, R zu zeigen. Sei
auch A = F · N + R ,
grad R < n .
Dann gilt: 0 = A − A = (F · N + R) − (F · N + R ) = (F − F ) · N + (R − R ) . Also ist (F − F ) · N = −(R − R ) ∈ Fn [X] . Im Falle F − F = 0 folgt der Widerspruch grad (F − F ) · N ≥ n. Deshalb ist F = F ; daraus folgt R = R .
Wir nennen R in 2.6 den Rest modulo N von A und schreiben R = N (A) . Ist A = F · N + R wie eben und λ ∈ F ein Skalar = 0, so ist A = (λ−1 F ) · (λN ) + R , d. h. λN (A) = N (A) . Bei der Ermittlung des Restes k¨ onnen wir also von vonherein annehmen, dass N normiert ist. Im Folgenden habe deswegen N die Form N = d0 + d1 X + · · · + dn−1 X n−1 + X n ,
di ∈ F .
Zum Beispiel gilt nun f¨ ur A = X n A = F · N + (−d0 − d1 X . . . − dn−1 X n−1 )
mit F = 1 .
Es folgt: N (X n ) = X n − N = −d0 − d1 X − · · · − dn−1 X n−1
Auf diese Relation kommen wir immer wieder zur¨ uck. Wir fassen N als (Rest-)Abbildung auf: N : F[X] → Fn [X] mit A → N (A) . Analog zu 1.4 gilt:
2.7
28
2.8
2. Der Polynomring
a) N (A) = A ⇔ A ∈ Fn [X] b) N (A) = 0 ⇔ A = F · N , F ∈ F[X] c) N (A) = N (B) ⇔ A − B = F · N , F ∈ F[X] d) N (λA + μB) = λN (A) + μN (B) e) N (A · B) = N (N (A) · N (B))
Beweis Außer d) ergeben sich die Behauptungen genau wie in 1.4. Die Ausur sage d) bedeutet, dass N : F[X] → Fn [X] eine lineare Abbildung ist. F¨ den Beweis sei
A= F ·N +R,
B =G·N +S ,
R = N (A) ,
S = N (B) .
Dann ist λA + μB = (λF + μG) · N + (λR + μS) . Mit R, S liegt auch λR + μS in Fn [X]. Also folgt aus der Eindeutigkeit des Restes (2.6) die Behauptung λR + μS = N (λA + μB).
Ist N (A) = N (B), so heißt A kongruent zu B modulo N , man schreibt gerne A ≡ B (mod N ). Wir haben in Kapitel 1 die Menge Zn via der Restabbildung n : Z → Zn zu einem Ring gemacht. Genauso machen wir via N die Menge Fn [X] zu einem Ring; dabei sei n = grad N > 0. F¨ ur A, B ∈ Fn [X] sei A +N B := A + B A ·N B := N (A · B) gesetzt. Anders als in Zn ist hier die Addition nichts Neues, denn mit A, B liegt auch A + B in Fn [X], d. h. A + B = N (A + B). Genauso wie 1.5 und 1.6 folgt:
2.9
Satz Mit dieser Addition und Multiplikation ist die Menge Fn [X] ein Ring.
Diesen Ring bezeichnen wir mit FN .
aglich mit der Addition und Multiplikation in Die Restabbildung N ist vertr¨ ur A, B ∈ F[X] gilt: den Ringen F[X] und FN , d. h. f¨ N (A + B) = N (A) +N N (B)
und N (A · B) = N (A) ·N N (B)
2. Der Polynomring
29
Die Polynome vom Grad ≤ 0, also die konstanten Polynome, haben wir mit dem K¨ orper F identifiziert (siehe 2.2.c). Ist B ein solches, also B = λ ∈ F und A ∈ FN , so folgt B ·N A = N (λA) = λA . Dies bedeutet: Der K¨ orper F ist Unterring des Rings FN und FN ist bez. der Addition und der Multiplikation A → λA, λ ∈ F, der Vektorraum Fn [X]. Also ist FN = F im Fall n = 1. Als Beispiel machen wir eine kleine Rechnung im Ring FN . Sei N wie vor 2.7 und B := d1 + d2 X + · · · + dn−1 X n−2 + X n−1 ∈ FN . Dann ist X · B = N − d0 , also X ·N B = −d0 . Im Fall d0 = 0 ist daher X Nullteiler im Ring FN , und im Fall d0 = 0 ist das Element − d10 B im Ring FN ein zu X inverses Element. Nat¨ urlich gilt hier ein zu 1.8 (auf Seite 12) analoger Satz: Genau dann ist der orper, wenn N ein unzerlegbares (irreduzibles) Polynom ist. Dies Ring FN K¨ zeigen wir im n¨ achsten Kapitel. Ist F = GF (q) endlicher K¨ orper, so gilt nach 2.3 |FN | = q n . Wir werden in Kap. 10 sehen, dass jeder endliche K¨orper von der Form FN , F = Zp , ist, wobei N ein irreduzibles Polynom ist. Die Elemente von FN sind die Polynome A vom Grad < n, die Multiplikatiussten wir auch die Potenzen Ai , on haben wir mit ·N notiert. Eigentlich m¨ gebildet im Ring FN , anders schreiben als die Potenzen Ai , gebildet im Ring F[X]. Zum Beispiel ist X n = X n − N im Ring FN (nach 2.7). Um dieses Dilemma aufzul¨ osen, notieren wir nun die Elemente des Rings FN mit kleinen Buchstaben a, b, . . .; Produkt und Summe in FN schreiben wir in
2.10
30
2. Der Polynomring
diesem Fall einfach als a + b und ab. Also ist a = A = a0 + a1 X + a2 X 2 + · · · + an−1 X n−1 b = B = b0 + b1 X + b2 X 2 + · · · + bn−1 X n−1 und a+b=A+B ,
ab = A ·N B = N (A · B) .
Insbesondere ist nun x das Polynom X und xi das Polynom X i , wenn i < n. Ist N wie in 2.7, so folgt xn = −(d0 + d1 x + · · · + dn−1 xn−1 ) . In dieser Schreibweise formulieren wir noch einmal: 2.11
Proposition Sei N = d0 + d1 X + · · · + dn−1 X n−1 + X n .
a) Der Ring FN ist auch F-Vektorraum und 1, x, . . . , xn−1 ist eine Basis dieses Vektorraums. Elemente a, b ∈ FN haben daher die Form: a = a0 + a1 x + a2 x2 + · · · + an−1 xn−1 , 2
b = b0 + b1 x + b2 x + · · · + bn−1 x
n−1
,
ai ∈ F bi ∈ F
c)
a + b = (a0 + b0 ) + (a1 + b1 )x + · · · + (an−1 + bn−1 )xn−1 ab = ci xi , mit ci = a0 bi + a1 bi−1 + · · · + ai−1 b1 + ai b0
d)
xn = −(d0 + d1 x + . . . + dn−1 xn−1 )
b)
i
Die Multiplikation in FN wird durch das Polynom N geregelt. Anstatt aber ugt Produkte A·B durch N zu teilen, um N (A·B) = A·N B zu erhalten, gen¨ schon eine wiederholte Anwendung der Relation d) in 2.11. Um n¨amlich die Koeffizienten von ab bez¨ uglich der Basis 1, x, . . . , xn−1 zu bestimmen, reicht uglich es nach c) aus, die Koeffizienten aller vorkommenden Potenzen xi bez¨ i dieser Basis zu bestimmen. F¨ ur i < n ist dies klar, denn x ist Basisvektor, das Koeffiziententupel ist (0, . . . , 0, 1, 0, . . . , 0) mit der 1 an der i-ten Stelle. Die Koeffizienten von xn stehen in d). Die Koeffizienten von xn+1 ergeben sich durch xn+1 = xxn = x(−d0 − d1 x − · · · − dn−1 xn−1 ) = (−d0 x − d1 x2 − · · · − dn−2 xn−1 ) + dn−1 xn ; man setze f¨ ur xn wieder die Relation d) ein und fasse zusammen. Analog verfahre man mit h¨ oheren Potenzen – gleich erkl¨aren wir dies anhand von
2. Der Polynomring
31
Beispielen. Den dahinter stehenden Kalk¨ ul erkl¨aren wir in Kapitel 8, siehe etwa 8.11 auf Seite 114. Nat¨ urlich kann man anstatt 1, x, . . . , xn−1 auch andere Basen von FN heranziehen, dies ist ein Hauptthema in Kap. 8. Wir stellen nun mehrere Beispiele zusammen; dabei beziehen wir uns immer auf Proposition 2.11. In den ersten f¨ unf Beispielen ist n = 2, also FN = {a0 + a1 x | a0 , a1 ∈ F} . Die Addition in FN ist komponentenweise (a0 + a1 x) + (b0 + b1 x) = (a0 + b0 ) + (a1 + b1 )x , sie ist unabh¨ angig von N . Sei N = d0 + d1 X + X 2 . Nach 2.11.d ist x2 = −d0 − d1 x . Die Zahlen d0 , d1 bestimmen die Multiplikation: (a0 + a1 x)(b0 + b1 x) = a0 b0 + (a0 b1 + a1 b0 )x + a1 b1 x2 = a0 b0 + (a0 b1 + a1 b0 )x − a1 b1 (d0 + d1 x) = (a0 b0 − a1 b1 d0 ) + (a0 b1 + a1 b0 − a1 b1 d1 )x . Beispiel 1 Sei F = R der K¨ orper der reellen Zahlen und
N = 1 + X 2 ∈ R[X] ,
d. h.
d0 = 1 ,
d1 = 0 .
Also ist FN = {a0 + a1 x | a0 , a1 ∈ R} und
x2 = −1 .
Die Multiplikation ist (a0 + a1 x)(b0 + b1 x) = (a0 b0 − a1 b1 ) + (a0 b1 + a1 b0 )x . Setzt man i = x, so ist i2 = −1 und FN = {a0 + i a1 | a0 , a1 ∈ R} .
32
2. Der Polynomring
Die Addition und Multiplikation zeigt, dass FN der K¨orper C der komplexen Zahlen ist.
In den n¨ achsten vier Beispielen ist F = Z2 = {0, 1}; in F ist 1 = −1, die ur Addition f¨ allt also mit der Subtraktion zusammen. Schreibt man a0 a1 f¨ a0 + a1 x, so ist FN = {00, 10, 01, 11} , dabei ist 00 das Null- und 10 das Einselement. Die Addition ist, wie gesagt, komponentenweise; z. B. ist 11 + 10 = 01. Man erh¨alt folgende Additionstafel: +N
00
10
01
11
00 10 01 11
00 10 01 11
10 00 11 01
01 11 00 10
11 01 10 00
Die Polynome N ∈ F[X] , F = Z2 = {0, 1}, vom Grad 2 sind X2 ,
1 + X2 ,
X + X2 ,
1 + X + X2 .
Beispiel 2 N = X 2 , also d0 = d1 = 0. Hier ist x2 = 0, also x Nullteiler in FN .
orper. Die Multiplikation ist Deshalb ist FN kein K¨
(a0 + a1 x)(b0 + b1 x) = a0 b0 + (a0 b1 + a1 b0 )x , und die Multiplikationstafel ist: ·N
01
11
01 11
00 01
01 10
Die trivialen Multiplikationen mit 0 = 00 und 1 = 10 ∈ F sind hier nicht aufgef¨ uhrt. Beispiel 3 N = 1 + X 2 , also d0 = 1, d1 = 0. Hier ist x2 = 1. Es folgt
(1 + x)(1 + x) = 1 + (1 +2 1)x + x2 = 1 + x2 = 1 +2 1 = 0 . orper. Also ist 1 + x Nullteiler und FN kein K¨
2. Der Polynomring
33
Beispiel 4 N = X + X 2 , also d0 = 0, d1 = 1. Hier ist x2 = x. Es folgt
0 = (1 + 1)x = x + x = x2 + x = x(x + 1) . Also ist x Nullteiler und FN kein K¨ orper. Beispiel 5 N = 1 + X + X 2 , also d0 = d1 = 1 (= −1). Hier ist x2 = x + 1. Die
Multiplikation ist (a0 + a1 x)(b0 + b1 x) = (a0 b0 + a1 b1 ) + (a0 b1 + a1 b0 + a1 b1 )x . Die Multiplikationstafel ·N
01
11
01 11
11 10
10 01
zeigt, dass jedes Element = 0 ein Inverses besitzt. Also ist FN K¨orper, d. h. ¨ ist FN = GF (4). Ubrigens x2 = 1 + x und
x3 = x x2 = x(1 + x) = x + x2 = x + x + 1 = 1 ,
also jedes Element = 0 von FN Potenz von x. Beispiel 6 Es sei weiter F = Z2 , aber nun n = 3 und
N = 1 + X + X3 ,
d. h. d0 = d1 = 1, d2 = 0 .
ur a0 + a1 x + a2 x ∈ FN , so ist Schreibt man a0 a1 a2 f¨ FN = { 000 , 100 , 010 , 001 , 110 , 011 , 111 , 101 } , dabei ist 000 die 0 und 100 die 1 im Ring FN . Die Additionstafel ist: +N
000
100
010
001
110
011
111
101
000 100 010 001 110 011 111 101
000 100 010 001 110 011 111 101
100 000 110 101 010 111 011 001
010 110 000 001 100 001 101 111
001 101 011 000 111 001 110 100
110 010 100 111 000 101 001 011
011 111 001 010 101 000 100 110
111 011 101 110 001 100 000 010
101 001 111 100 011 110 010 000
34
2. Der Polynomring
Es ist 1 = x0 = 100 ,
x = 010 ,
x2 = 001 ,
x3 = 1 + x = 110
und x4 = xx3 = x(1 + x) = x + x2 = 011 . Die Multiplikation hat daher die Form (a0 + a1 x + a2 x2 )(b0 + b1 x + b2 x2 ) = a0 b0 + (a0 b1 + a1 b0 )x + (a0 b2 + a1 b1 + a2 b0 )x2 + (a1 b2 + a2 b1 )x3 + a2 b2 x4 = a0 b0 + (a0 b1 + a1 b0 )x + (a0 b2 + a1 b1 + a2 b0 )x2 + (a1 b2 + a2 b1 )(x + 1) + a2 b2 (x + x2 ) = (a0 b0 + a1 b2 + a2 b1 ) + (a0 b1 + a1 b0 + a1 b2 + a2 b1 + a2 b2 )x + (a0 b2 + a1 b1 + a2 b0 + a2 b2 )x2 . In Kap. 8 werden wir eine solche Regel u ¨bersichtlicher in Matrixform schreiben, siehe 8.11 auf Seite 114. Hier rechnen wir noch auf eine andere Weise und bilden zun¨achst weitere Potenzen von x: x5 = xx4 = x(x + x2 ) = x2 + x3 = x2 + 1 + x = 111 , x6 = xx5 = x(1 + x + x2 ) = x + x2 + x3 = x + x2 + x + 1 = 1 + x2 = 101 , x7 = xx6 = x(1 + x2 ) = x + x3 = x + 1 + x = 1 = x0 = 100 , x8 = xx7 = x , x9 = x2 x7 = x2 , usw. Es folgt (FN )∗ = {1 = x0 , x, x2 , x3 , x4 , x5 , x6 } . Die Multiplikation wird nun durch die Potenzgesetze geregelt. Zum Beispiel ist (011)(111) = x4 x5 = x9 = x7 x2 = x2 = 001 , (101)(110) = x6 x5 = x11 = x7 x4 = x4 = 011 , ur 0 ≤ i ≤ 6 und (x5 )−1 = x2 , denn x5 x2 = x7 = 1. Allgemeiner ist f¨ xi x7−i = x7 = 1 ,
d. h. (xi )−1 = x7−i .
2. Der Polynomring
35
Deswegen ist FN K¨ orper = GF (8). Die Multiplikationstafel ist: x0 x1 x2 x3 x4 x5 x6
·N
x0 = 100 x1 = 010 x2 = 001 x3 = 110 x4 = 011 x5 = 111 x6 = 101
= 100 = 010 = 001 = 110 = 011 = 111 = 101
x0 x1 x2 x3 x4 x5 x6
= 100 = 010 = 001 = 110 = 011 = 111 = 101
x1 x2 x3 x4 x5 x6 x0
= 010 = 001 = 110 = 011 = 111 = 101 = 100
x2 x3 x4 x5 x6 x0 x1
x3 x4 x5 x6 x0 x1 x2
= 001 = 110 = 011 = 111 = 101 = 100 = 010
= 110 = 011 = 111 = 101 = 100 = 010 = 001
x4 x5 x6 x0 x1 x2 x3
= 011 = 111 = 101 = 100 = 010 = 001 = 110
x5 x6 x0 x1 x2 x3 x4
= 111 = 101 = 100 = 010 = 001 = 110 = 011
x6 x0 x1 x2 x3 x4 x5
= 101 = 100 = 010 = 001 = 110 = 011 = 111
Es ist evident, dass in diesem Beispiel, und ebenso in Beispiel 5, die multiplikative Gruppe des K¨ orpers FN eine zyklische Struktur besitzt, man spricht von einer zyklischen Gruppe. In Kap. 7 werden wir zeigen, dass die multipliorpers E immer eine zyklische Gruppe ist. kative Gruppe E∗ eines endlichen K¨ Es findet sich also immer ein Element z ∈ E∗ , so dass E∗ aus den Potenzen von z besteht; ein solches z heißt primitives Element des K¨orpers E. In den Beispielen 5 und 6 ist z = x primitives Element von E = FN . Mit folgenden Beispielen belegen wir, dass x nicht immer primitives Element ist. Beispiel 7 Es sei weiter F = Z2 , aber nun n = 4 und
N = 1 + X + X2 + X3 + X4 ,
d.h d0 = d1 = d2 = d3 = 1 .
Wir werden in Kap. 5 zeigen (5.7 auf Seite 70), dass N ein unzerlegbares (= orper mit 24 = 16 Elementen, d.h irreduzibles) Polynom ist, also ist FN ein K¨ 4 FN = GF (16) (siehe 2.3). Es ist x = 1 + x + x2 + x3 und x5 = xx4 = x + x2 + x3 + x4 = x + x2 + x3 + (1 + x + x2 + x3 ) = 1 . Es folgt x6 = x, x7 = x2 , u. s. w. Die verschiedenen Potenzen von x sind also 1, x, x2 , x3 , x4 . Daher ist x kein primitives Element von FN . Beispiel 8 Wir nehmen nun den K¨ orper F = Z3 = {0, 1, 2}, das Polynom sei
wie“ in Beispiel 1 und 2, also ” N = 1 + X2 ,
d0 = 1 ,
d1 = 0 .
ur a0 + a1 x ∈ F, so ist Schreibt man wie vorher a0 a1 f¨ FN = {00, 10, 20, 01, 02, 11, 21, 12, 22} und |FN | = 9 .
36
2. Der Polynomring
Es ist x2 = −1 = 2 ,
x4 = (x2 )2 = (−1)2 = 1 .
Also ist x kein primitives Element. Wir setzen z = 1 + x und berechnen die Potenzen von z: z 2 = 1 + 2x + x2 = 2x ,
z 3 = 2x(1 + x) = 2x + 2x2 = 1 + 2x ,
z 4 = (1 + x)(1 + 2x) = 1 + 2x2 = 1 + 1 = 2 . In F ist 2 = −1, also folgt z 5 = z 4 z = −z ,
z 6 = z 4 z 2 = −z 2 ,
z 7 = z 4 z 3 = −z 3 ,
z 8 = z 4 z 4 = (−1)(−1) = 1 . Insgesamt ist (FN )∗ = {1, z, z 2, z 3 , z 4 , z 5 , z 6 , z 7 , } . ur 1 ≤ i ≤ 7 Wegen z 8 = 1 ist f¨ z i z 8−i = z 8 = 1 . Also ist FN K¨orper = GF (9).
Auf diese Beispiele kommen wir immer wieder zur¨ uck, vieles kann an ihnen verdeutlicht werden. Besonders in Kapitel 8 wird der in in diesen Beispielen angedeutete Rechenkalk¨ ul ausgebaut; dieses Kapitel kann eigentlich jetzt schon gelesen werden, in den dazwischenliegenden Kapitel ist die Theorie von etwas gr¨oßerem Gewicht. ¨ Ubungen
1. Sei F = Z7 und N = X 3 + 3X + 1. (a) Bestimme die Zahlen λ ∈ F mit N (λ) = 0, d. h. die Nullstellen von N in F. (b) Sei A = 3X 5 + X 2 + 4X + 5 ∈ F[X]. Bestimme F, R ∈ F[X] mit A =F ·N +R ,
grad R ≤ 2 .
2. Sei F = Z11 und N = X 11 + X 3 + 8 ∈ F[X]. Wieviel Elemente besitzt der Ring FN ?
2. Der Polynomring
37
3. Bestimme die Additions- und Multiplikationstafel des Rings FN in folgenden F¨ allen (a) F = Z3 und N = X 2 + 1 ∈ F[X] (b) F = Z2 und N = X 3 + X 2 + 1 ∈ F[X] 4. Sei FN wie in Beispiel 7. Bestimme ein primitives Element des K¨orpers FN . ¨ F l¨ ose das lineare Gleichungssystem 5. Sei F = Z5 . Uber a0 a0 a0
+ + +
a1 2a1 3a1
+ + +
a2 4a2 4a2
= = =
2 1 0
in den Variablen a0 , a1 , a2 . Zeige weiter: Ist (a0 , a1 , a2 ) L¨osung und A = a0 + a1 X + a2 X 2 ∈ F[X] , so ist A(1) = 2, A(2) = 1, A(3) = 0.
Kapitel 3 Die Teilbarkeit
3
3
3 Die Teilbarkeit Wie im vorigen Kapitel ist F[X] der Polynomring u ¨ber dem K¨orper F. Die Teilbarkeitslehre in diesem Ring ist weitgehend analog zu der in Z. Wir werden diese Analogie nicht dauernd verbalisieren und formulieren haupts¨achlich im Polynomring. Die Argumente bleiben richtig, wenn man ein Polynom A ∈ F[X] durch eine Zahl a ∈ Z und grad A durch den Betrag |a| ersetzt.1 Sei R Ring. Ein Element a ∈ R heißt Einheit von R, wenn ein b ∈ R existiert mit a·b = 1. Einheiten sind also die Elemente von R∗ , welche in R ein Inverses besitzen. Ist der Ring R K¨ orper, so ist jedes Element a = 0 Einheit. Die Einheiten des Rings Z sind die Zahlen 1 und −1. Die Einheiten im Ring F[X] sind die Polynome vom Grad 0, denn aus A·B = 1 folgt 0 = grad 1 = grad A · B = grad A + grad B , also grad A = grad B = 0. Die Polynome vom Grad ≤ 0 haben wir mit den Elementen des K¨ orpers F identifiziert; damit ist die Menge der Einheiten von F[X] die mulitplikative Gruppe F∗ . Zu jeder Zahl a ∈ Z, a = 0, existiert eine Einheit e ∈ {1, −1} mit a · e ∈ N. Zu jedem Polynom A ∈ F[X], A = 0, existiert ein λ ∈ F∗ , so dass λA ein normiertes Polynom ist. Die normierten Polynome in F[X] u ur¨ bernehmen deshalb die Rolle der nat¨ lichen Zahlen in Z. Im Folgenden sind A, B Polynome = 0 aus F[X]. Wir empfehlen dem Leser das Folgende an konkreten Beispielen in Z nachzustellen, anstatt A, B nehme man also Zahlen a, b ∈ Z . Gilt B =F ·A,
F ∈ F[X] ,
so heißt A Teiler von B und B Vielfaches von A; wir schreiben A|B
und F =
B . A
Ist hier grad F = 0 oder grad A = 0, sind also F oder A Einheiten, so heißt A trivialer Teiler von B; man spricht von einer trivialen Zerlegung von B, weil 1 Diese Verwandschaft der Ringe Z und F[X] wird in der Algebra durch den Oberbegriff Euklidischer Ring beschrieben.
42
3. Die Teilbarkeit
eine solche immer existiert: B=
1 · (λB) , λ
λ = 0 .
Zum Beispiel ist X2 + 1 =
1 (3X 2 + 3) 3
eine triviale Zerlegung in R[X] und X 2 + 1 = (X + i) · (X − i) eine nicht triviale Zerlegung in C[X]. Ist B nichttrivialer Teiler von A, so ist 1 ≤ grad B < grad A . Offensichtliche Teilerbeziehungen, wie etwa A|B
und
A|C
⇒
A | (B + C) ,
verwenden wir ohne besonderen Hinweis. Der Leser mache sich solche an Beispielen klar. Die Polynome A, B heißen teilerfremd, wenn sie keinen gemeinsamen Teiler vom Grad ≥ 1 besitzen. Ein Polynom vom Grad ≥ 1 heißt irreduzibel (oder unzerlegbar), wenn es nur triviale Teiler besitzt. Wir werden sehen, dass die normierten irreduziblen Polynome den Primzahlen in N entsprechen. Zum Beispiel sind Polynome vom Grad 1 immer irreduzibel; wir werden viele weitere irreduzible Polynome kennenlernen. Sei P ∈ F[X] irreduzibel. Ein Polynom A ∈ F[X] ist dann entweder ein Vielfaches von P oder es ist teilerfremd zu P . Sei A ∈ F[X], grad A ≥ 1. Mit P(A) bezeichnen wir die Menge der normierten irreduziblen Teiler von A. Wir k¨ ummern uns zun¨ achst um den Beweis von 1.8 (auf Seite 12), der auf der Primzahleigenschaft PRIM (Seite 11) beruht. Um diese im Polynomring zu beweisen, f¨ uhren wir den Begriff des kleinsten gemeinsamen Vielfaches ein. Sei V die Menge der Polynome V ∈ F[X], welche von von den Polynomen A und B geteilt werden, also gemeinsame Vielfachen von A, B sind. F¨ ur ein solches V ist grad V ≥ max {grad A, grad B} .
3. Die Teilbarkeit
43
Es existiert also ein K ∈ V von kleinstm¨ oglichem Grad, d. h. grad K ≤ grad V
f¨ ur alle
V ∈V .
Ein solches K heißt ein kleinstes gemeinsames Vielfaches von A, B.
Lemma
3.1
a) Ein kleinstes gemeinsames Vielfache K von A, B teilt jedes gemeinsame Vielfache V von A, B. b) Zwei kleinste Vielfache von A, B unterscheiden sich nur um einen Skalarfaktor.
Beweis Nach 2.6 teilen wir V durch K
V =F ·K +R ,
grad R < grad K .
Da die Polynome A, B Teiler von V und K sind, sind sie auch Teiler von R, sofern R = 0. Aus der Minimalit¨ at von K folgt R = 0, und dies beweist a). Seien K und L zwei kleinste gemeinsame Vielfache von A, B. Nach a) ist L Vielfaches von K und K Vielfaches von L: L = P ·K
und K = Q · L
Es folgt L = P · Q · L. Man k¨ urze durch L und erh¨alt P · Q = 1. Also sind P, Q Skalare, dies beweist b).
Bemerkung Das Minimalit¨ atsargument im Beweis von a) wird uns noch ¨ofters
begegnen. Unter Verwendung des in der Algebra fundamentalen Begriffs Ideal wird meistens ein gemeinsamer Beweis formuliert.
Ist K ein kleinstes gemeinsames Vielfaches von A, B, so schreibt man K = kgV(A, B), obwohl es nur bis auf eine Skalarmultiplikation eindeutig ist. Normiert man es allerdings, so wird es eindeutig. Wir verzichten auf eine solche Normierung, weil es sich so bequemer formulieren l¨aßt.
Kriterium Sei V ein gemeinsames Vielfaches von A, B. Genau dann gilt V =
kgV(A, B), wenn die Polynome
V A
und
V B
zueinander teilerfremd sind.
3.2
44
3. Die Teilbarkeit
Beweis Wie vorher sei K = kgV(A, B). Wir zeigen zun¨ achst, daß
K A
und
K B
zueinander teilerfremd sind. Sei F gemeinsamer Faktor, also K =F ·P A
und
K =F ·Q. B
Es folgt K = A · F · P = B · F · Q. K¨ urzt man durch F , so erh¨alt man in A · P = B · Q ein gemeinsames Vielfaches von A, B. Die Minimalit¨at von K erzwingt grad F = 0; also ist F ein Skalar, wie behauptet. Seien umgekehrt
V A
und
V B
zueinander teilerfremd. Nach 3.1.a existiert F mit
V = F ·K = F · Es folgt
3.3
V A
=F·
K A
und
V B
=F ·
K B.
K K ·A=F · ·B . A B Also ist F ein Skalar und V = K.
Seien A, B teilerfremd. Dann ist kgV(A, B) = A · B. Beweis Das Polynom V = A · B ist gemeinsames Vielfaches von A, B. Außerdem sind VA = B und VB = A teilerfremd; die Behauptung folgt daher aus dem Kriterium 3.2.
3.4
Lemma Das Polynom N sei ein Teiler des Produkts A · B. Sind die Polynome
A und N teilerfremd, so ist N Teiler von B.
Beweis A · B sowie A · N sind gemeinsame Vielfache von A und N . Da A und N nach Vorraussetzung teilerfremd sind, ist kgV(A, N ) = A · N (3.3). Mit 3.1 folgt
A · B = F · kgV(A, N ) = F · A · N . K¨ urzt man durch A, so ist B = F · N , wie behauptet.
Ist N in 3.4 ein irreduzibles Polynom, liegt es also in P(A · B), aber nicht in P(A), so ist N ∈ P(B). Also folgt aus 3.4 die schon auf Seite 11 formulierte Eigenschaft: PRIM
P(A · B) = P(A) ∪ P(B)
(grad A , grad B ≥ 1)
3. Die Teilbarkeit
45
Aus PRIM ergibt sich die eindeutige Primfaktorzerlegung eines Polynoms (einer ganzen Zahl), diese stellen wir am Ende des Kapitels vor. Sei N ∈ F[X] vom Grad n ≥ 1. Im vorigen Kapitel haben wir den Ring FN gebildet, es ist FN = Fn [X] und die Multiplikation ist modulo N . Wir stellen zun¨ achst fest: Sei 0 = A ∈ FN . Genau dann ist ein A im Ring FN eine Einheit, wenn A kein Nullteiler ist.
Beweis Sei A Nullteiler und zugleich Einheit. Es existieren also B, C = 0
in FN mit A ·N B = 0 und C ·N A = 1. Es folgt B = (C ·N A) ·N B = C ·N (A ·N B) = 0 , ein Widerspruch. Eine Einheit ist also kein Nullteiler. Sei umgekehrt A = 0 kein Nullteiler. Wir zeigen, dass A Einheit ist und argumentieren dazu wie im Beweis von 1.8. Wir bilden die Menge M = {P ·N A | P ∈ FN } . Es ist P ·N A = Q ·N A ⇔ P ·N A − Q ·N A = 0 ⇔ (P − Q) ·N A = 0 . Dies ist nur m¨ oglich, wenn P − Q = 0, d. h. P = Q. Also enth¨alt M genauso viele Elemente wie FN . Wir zeigen M = FN ; dann existiert genau ein P mit P ·N A = 1, d. h. A ist Einheit. Sei zun¨ achst F endlicher K¨ orper. Dann ist FN eine endliche Menge (2.3), also M = FN . Im Allgemeinen (also auch f¨ ur nicht endliche K¨ orper) ist das Argument etwas subtiler.2 Die Abbildung ϕ : FN → FN
mit
P → P ·N A .
ist nach dem vorigen injektiv; sie ist auch linear, denn ϕ(λP + μQ) = (λP + μQ) ·N A = λ(P ·N A) + μ(Q ·N A) = λ ϕ(P ) + μ ϕ(Q) . Ein zentraler Satz der Linearen Algebra besagt, dass eine injektive lineare Abbildung eines endlich dimensionalen Vektorraums auf sich bijektiv ist (sie2
Wir ben¨ otigen diesen Fall nicht, argumentieren daher etwas knapper.
3.5
46
3. Die Teilbarkeit
he z. B. [1], Seite 63). Da FN = Fn [X] ein Vektorraum der Dimension n ist, folgt, dass ϕ bijektiv ist, also M = Fn . Unser Hauptergebniss formulieren wir auch im Ring Zn : 3.6
Satz
a) Ein Polynom A = 0 in FN ist genau dann eine Einheit im Ring FN , wenn die Polynome A und N zueinander teilerfremd sind. b) Eine Zahl a in Zn ist genau dann eine Einheit im Ring Zn , wenn die Zahlen a und n zueinander teilerfremd sind.
Beweis Wir beweisen a), der Beweis von b) ist v¨ ollig analog. Nach 3.5 gen¨ ugt es zu zeigen, dass A genau dann Nullteiler ist, wenn die Polynome A und N nicht teilerfremd sind, also einen gemeinsamen Faktor F, grad F ≥ 1 besitzen.
Sei F ein solcher Faktor. Dann existieren Polynome P, Q mit A = F · P und N = F · Q. Also ist A·Q=P ·F ·Q=P ·N , d. h. A ·N Q = 0. Daher ist A Nullteiler. Sei umgekehrt A Nullteiler, es existiert also B ∈ FN , B = 0, mit A ·N B = 0, d. h. N ist Teiler von A · B. Sind A und N teilerfremd, so k¨onnen wir 3.4 anwenden. Danach ist N Teiler von B. Insbesondere folgt grad B ≥ grad N im Widerspruch zu B ∈ FN . Also sind A und N nicht teilerfremd. Ist N nicht irreduzibel, so existieren Nullteiler im Ring FN . Ist dagegen N irreduzibel, so ist jedes Polynom A = 0, in FN teilerfremd zu N . Nach 3.6 besitzt es daher im Ring FN ein Inverses. Dies bedeutet: 3.7
Korollar Genau dann ist der Ring FN K¨ orper, wenn N ein irreduzibles Polynom ist. Ist hier F endlicher K¨ orper, etwa F = GF (q), so ist FN = GF (q n ) (man beachte 2.3 auf Seite 22).
Bevor wir mit dem eigentlichen Thema dieses Kapitels fortfahren, machen wir eine Bemerkung zu 3.6.b, die sp¨ ater eine Rolle spielt.
3. Die Teilbarkeit
47
Mit φ(n) bezeichnet man die Anzahl der zu n ∈ N teilerfremden Zahlen zwischen 1 und n, also die Anzahl der Einheiten im Ring Zn (3.6); man spricht von der Eulerschen φ–Funktion. Zum Beispiel ist φ(12) = 4. Hier stellen wir nur fest: Sei p Primzahl und e ∈ N. Dann ist φ(pe ) = pe−1 · (p − 1).
3.8
Beweis Eine ganze Zahl i, 1 ≤ i ≤ pe , welche nicht teilerfremd zu pe ist, wird
von p geteilt, hat also die Form i = p · j , 1 ≤ j ≤ pe−1 . Die Anzahl dieser Zahlen i ist daher pe−1 . Somit folgt φ(pe ) = pe − pe−1 = pe−1 · (p − 1) ,
wie behauptet.
In Kapitel 7 steht eine Rekursionsformel f¨ ur φ(n), wenn n keine Primzahlpotenz ist (7.6 auf Seite 99). Wir werden sehen, dass Korollar 3.7 alle endlichen K¨orper beschreibt. Sein Beweis, d. h. der Beweis von 3.6, ist nicht konstruktiv, weil dabei nicht klar wird, wie das zu A inverse Element A−1 zu berechnen ist; dazu vergleiche Ausblick 1 auf Seite 13. Deswegen entwickeln wir im Folgenden einen alternativen Beweis von 3.5. Zentral ist hier der Begriff des gr¨oßten gemeinsamen Teilers = ggT, welcher dual zu dem Begriff des kgV ist. Wie vorher seien A, B Polynome = 0 in F[X]; es sei T die Menge der gemeinsamen Teiler T von A und B. F¨ ur ein solches T ist grad T ≤ min {grad A, grad B} . Es existiert also ein G ∈ T von gr¨ oßtm¨ oglichem Grad, d. h. grad G ≥ grad T
f¨ ur alle
T ∈T .
Ein solches G heißt ein gr¨oßter gemeinsamer Teiler von A, B; wir schreiben schon jetzt G = ggT(A, B), obwohl die Eindeutigkeit von G noch nicht klar ist. Zun¨ achst erzwingt die Maximalit¨ at von G = ggT(A, B), dass die Polynome A B und teilerfremd sind. Da weiter G Teiler der Polynome A, B sowie A · B G G ist, k¨ onnen wir die Polynome A B A·B = ·B = ·A G G G
48
3. Die Teilbarkeit
bilden. Also ist A·B G ein gemeinsames Vielfaches von A, B. Somit folgt aus dem Kriterium 3.2: 3.9
Satz
kgV(A, B) =
A·B ggT(A, B)
und ggT(A, B) =
A·B kgV(A, B)
Da das kgV nach 3.1.b bis auf skalare Multiplikation eindeutig ist, gilt dies nun auch f¨ ur den ggT. Sind die Polynome A, B teilerfremd, so ist ggT(A, B) ein Skalar, also bis auf eine Normierung = 1; man schreibt ggT(A, B) = 1. Analog zu 3.1.a gilt:
3.10
Ein gemeinsamer Teiler T von A und B teilt den ggT(A, B).
Beweis Wie vorher folgt, dass
A·B T
ein gemeinsames Vielfaches von A, B ist. Nach 3.1 existiert ein Faktor F mit A·B A·B 3.9 = F · kgV(A, B) = F · . T ggT(A, B) Es folgt ggT(A, B) = F · T .
Der ggT kann mit einer Primfaktorzerlegung der Polynome A, B oder wesentlich schneller mit dem Euklidischen Algorithmus (= EA) berechnet werden; beides stellen wir am Ende des Kapitels vor. Im Hinblick auf den angek¨ undigten konstruktiven Beweis von 3.7 nehmen wir anstatt A, B zwei Polynome A, N = 0; dabei sei grad A ≤ grad N =: n vorausgesetzt; Im Falle grad A > n vertausche man die Rollen von A, N . Wir teilen N durch A (2.6) und erhalten N = F · A + R mit
3.11
grad R < grad A .
Im Fall R = 0 ist ggT(N, A) = ggT(A, R) und im Fall R = 0 ist ggT(N, A) = A.
3. Die Teilbarkeit
49
Beweis Der Fall R = 0 ist klar. Sei R = 0. Jeder gemeinsame Teiler von N und A ist auch gemeinsamer Teiler von A und R, und jeder gemeinsame Teiler von A und R ist auch gemeinsamer Teiler von N und A.
Dies ist der Ausgangspunkt des Euklidischen Algorithmus, den wir gleich vorstellen. Zun¨ achst betrachten wir aber 3.11 als Induktionsverankerung f¨ ur folgenden Satz. Satz Es existieren Polynome C, D ∈ F[X], so dass
3.12
ggT(A, B) = C · N + D · A .
Beweis Sei G = ggT(N, A); die Situation sei wie in 3.11. Also ist
N = F · A + R. Im Fall R = 0 ist G = R und G= 0·N +1·A , setze C = 0, D = 1. Sei R = 0. Aufgrund unserer Annahme grad N ≥ grad A ist grad A + grad R < grad N + grad A . Per Induktion nach der Zahl grad N + grad A k¨onnen wir also annehmen, dass die Behauptung richtig ist, wenn man A, R anstelle von N, A setzt. Also existieren D1 , C1 mit ggT(A, R) = C1 · A + D1 · R . Nach 3.11 ist G = ggT(A, R). Wegen R = N − F · A folgt G = C1 · A + D1 · (N − F · A) = C1 · A + D1 · N − D1 · F · A = D1 · N + (C1 − D1 · F ) · A . Setze C = D1 und D = C1 − D1 · F .
Der erweiterte Euklidische Algorithmus (= eEA), den wir im n¨achsten Kapitel vorstellen, berechnet die Polynome C und D in 3.12, und zwar bestimmt er D so, dass grad D < n (4.5 auf Seite 60). Wir formulieren nun 3.12 im Ring FN :
50
3.13
3. Die Teilbarkeit
Sei A ∈ FN , A = 0, und A teilerfremd zu N . a) Es existieren C, D ∈ F[X], so dass 1 =C ·N +D·A. b) Es ist 1 = N (D) ·N A, also ist A Einheit im Ring FN 3 und N (D) das zu A inverse Element.
Beweis a) folgt aus 3.12 und b) ergibt sich mit 2.8.d so:
1 = N (1) = N (C · N + D · A) = N (C · N ) + N (D · A) = N (D · A) = N (N (D) · N (A)) = N (D) ·N A
Der angek¨ undigte konstruktive Beweis von 3.7 ist nun ganz kurz: Ist N irreduzibel, so ist jedes Element A ∈ Fn [X], A = 0, teilerfremd zu N , besitzt also nach 3.13.b ein Inverses – und dieses berechnet der eEA. Zun¨ achst aber stellen wir den Euklidischen Algorithmus (= EA) vor. Er berechnet G = ggT(N, A) und besteht aus einer Reihe von Divisionen. Die erste hat die Form N = F ·A+R1 , grad R1 < grad A. Ist hier R1 = 0, so ist G = A, siehe 3.11. Andernfalls teilt der EA in der zweiten Division A durch R1 und erh¨ alt einen Rest R2 , grad R2 < grad R1 . Nach 3.11 ist G = ggT(R1 , R2 ), sofern R2 = 0. So fortfahrend dividiert der EA solange, bis der Rest infolge der st¨ andigen Graderniedrigung = 0 wird. Als Computerprogramm hat der EA folgende Form. Das Programm DIV(K, L) (siehe 2.5 auf Seite 26) ist Unterprogramm; es teilt K durch L und liefert den Rest R.
3
Dies steht schon in 3.6.
3. Die Teilbarkeit
51
START K := N und L := A DO DIV(K,L) WHILE R = 0 DO K := L und L := R DIV(K,L) OD
Nach 3.11 ist in jeder WHILE-Schleife G = ggT(K, L). In der letzten Schleife ist der Rest = 0, also L = G = ggT(N, A), siehe 3.11. Man beachte, dass in der vorletzten Schleife schon L = G als Rest erscheint. Wir rechnen ein Beispiel, der Einfachheit halber im Ring Z. Es sei n = 633 ,
a = 270 .
Der EA besteht hier aus f¨ unf Divisionen: 633 = 2 · 270 + 93 270 = 2 · 93 + 84 93 = 1 · 84 + 9 84 = 9 · 9 + 3 9=3·3+0 Also ist ggT(633, 270) = 3. Im n¨ achsten Kapitel behandeln wir den erweiterten Euklidischen Algorithmus, dort rechnen wir ein Beispiel mit Polynomen. Im Hintergrund der Teilbarkeitslehre in den Ringen F[X] und Z steht die Primfaktorzerlegung eines normierten Polynoms A, grad A ≥ 1 (bzw. einer Zahl a ∈ N, a > 1), die wir nun ansprechen. Wir behaupten zun¨ achst, dass A ein Produkt von endlich vielen irreduziblen, normierten Polynomen ist, d. h. P(A) ist eine endliche Menge und A hat die Form A= P aP , aP ∈ N . (∗) P ∈P(A)
Dies ist richtig, wenn A irreduzibel ist; in diesem Fall ist P(A) = {A}. Ist A nicht irreduzibel, so existieren nichttriviale Teiler B, C von A mit A = B · C,
3.14
52
3. Die Teilbarkeit
also ist grad B, grad C < grad A. Per Induktion nach grad A k¨onnen wir B= P bP , C = P cP P ∈P(B)
P ∈P(C)
annehmen. Dabei sind P(B) und P(C) endliche Mengen. Beachtet man PRIM, also P(A) = P(B) ∪ P(C) , so folgt (∗). Wir behaupten weiter, dass die Exponenten aP in (∗) eindeutig durch A festgelegt sind. Sei auch P aP , aP ∈ N , A= P ∈P(A)
und etwa R ∈ P(A) mit aR = aR . Wir schreiben ⎛ ⎞ ⎛ A = RaR ⎝ P aP ⎠ = RaR ⎝ P ∈P(A)\{R}
⎞ P
aP
⎠ .
P ∈P(A)\{R}
Ist etwa aR > aR , so k¨ onnen wir diese Gleichung durch RaR k¨ urzen (1.1 auf Seite 5). Es folgt RaR RaR
teilt
P aP =: Q .
P ∈P(A)\{R}
Wegen aR > aR ist auch R Teiler von Q. Dies widerspricht der Eigenschaft PRIM, denn verm¨ oge einer wiederholten Anwendung von PRIM folgt, dass R nicht in P(Q) liegt. Die Primfaktorzerlegung in (∗) ist also eindeutig. Um das Rechnen mit dem Produkt in (∗) zu vereinfachen, bezeichnen wir die Menge aller normierten irreduziblen Polynome in F[X] mit P und schreiben P aP , aP ∈ N0 , A= P ∈P
im Fall aP = 0 ist P
aP
= 1. Also ist aP ≥ 1 ⇔ P ∈ P(A) .
Sei nun B ein weiteres Polynom vom Grad ≥ 1 mit der Primfaktorzerlegung P bP , bP ∈ N0 . B= P ∈P
3. Die Teilbarkeit
53
Dann ist: A·B =
P aP +bP
P ∈P
ggT(A, B) =
P min {aP ,bP }
P ∈P
kgV(A, B) =
P max {aP ,bP }
P ∈P
Die Berechnung des ggT und kgV mit diesen Primfaktorzerlegungen von A, B ist im Vergleich zum EA sehr zeitaufwendig und deswegen fast nicht praktikabel. ¨ Ubungen
1. In Z sei a = 1980, b = 64974. Berechne den ggT(a, b) und das kgV(a, b) (a) mit einer Primfaktorzerlegung. (b) mit dem Euklidischen Algorithmus. 2. Sei N ∈ F[X] und A ∈ FN . Existiert zu A im Ring FN ein inverses Element A−1 , wenn: (a) F = Z2 , N = 1 + X + X 6 und A = 1 + X + X 2 + X 3 + X 4 (b) F = Z3 , N = 1 + X + 2X 2 + X 3 und A = 2 + X 2
Kapitel 4 Der erweiterte Euklidische Algorithmus
4
4
4 Der erweiterte Euklidische Algorithmus Sei F K¨ orper und seien A, N Polynome = 0 aus F[X]. Der erweiterte Euklidische Algorithmus (= eEA) berechnet – wie der EA – den ggT(N, A) und gleichzeitig Polynome C, D mit ggT(N, A) = C · N + D · A , siehe 3.12 auf Seite 49. Ist hier N irreduzibel und grad A < grad N , so ist grad D < n und D im Ring FN das zu A inverse Element (3.13.b auf Seite 50). Zugleich mit den Polynomen C, D berechnet der eEA im n¨achsten Schritt Polynome P, Q mit P ·N = Q·A
und ggT(P, Q) = 1 .
Nach dem Kriterium 3.2 auf Seite 43 ist dann P · N = kgV(A, N ) . Die Bestimmung dieser Polynome P, Q ist f¨ ur das Funktionieren eines ReedSolomon Codes wichtig. Dies erkl¨ aren wir im letzten Kapitel. Ist grad A > grad N , so teile man A durch N und ersetze A durch den dabei auftretenden Rest, siehe 3.11. Daher sei im Folgenden grad A < n ,
n = grad N .
Wir formulieren den eEA in Form eines Computerprogramms, dabei ist die Division DIV(K,L) Unterprogramm (siehe 2.5 auf Seite 26), es liefert den Rest R und den Faktor F . START R0 := N , R1 := A D−1 := 0, D0 := 1 C−1 := 1 , C0 := 0 i:=1 WHILE Ri = 0 DO K := Ri−1 , L := Ri DIV(K,L) Ri+1 := R , Fi := F Di := Fi · Di−1 + Di−2 Ci := Fi · Ci−1 + Ci−2 i:=i+1 OD
4.1
58
4. Der erweiterte Euklidische Algorithmus
Die Division in der i-ten WHILE-Schleife bezeichnen wir mit Di . Ist also e die Gesamtzahl der WHILE-Schleifen, so sind D1 , . . . , De s¨amtliche Divisionen. Die erste Division D1 hat die Form R0 = F1 · R1 + R2
d.h.
N =F ·A+R .
In der letzten Division De ist der Rest Re+1 = 0, sie hat also die Form Re−1 = Fe · Re ,
(1)
G = Re ,
vergleiche 3.11. Im Fall e ≥ 2 hat die vorletzte Division die Form Re−2 = Fe−1 · Re−1 + G .
(2)
Nach Voraussetzung ist grad R1 = grad A ≤ n − 1. Da der Grad des Restes Ri+1 in jeder Division Di sinkt, folgt (beachte Re = G):
4.2
grad Ri ≤ n − i
und grad G ≤ n − e
d. h. e ≤ n − grad G
ur die PoDer eEA enth¨ alt drei Rekursionen, n¨ amlich f¨ ur den Rest Ri und f¨ lynome Ci , Di . Im Folgenden ist eine Matrixschreibweise dieser Rekursionen g¨ unstig. In Di ist Ri−1 = Fi · Ri + Ri+1 , also Ri = 0 · Ri−1 + 1 · Ri , Ri+1 = Ri−1 + (−Fi ) · Ri . Danach hat Di die Form
Ri 0 (3) = Ri+1 1
1 −Fi
Ri−1 Ri
.
In der (i+1)-ten WHILE-Schleife ist (4)
Ci+1 = Fi+1 · Ci + Ci−1
und Di+1 = Fi+1 · Di + Di−1 .
In Matrixschreibweise haben diese Gleichungen die Form
Di 0 1 Ci−1 Di−1 Ci = . (5) Ci+1 Di+1 Ci Di 1 Fi+1 Wir zeigen:
4.3
Ci · N = Di · A + (−1)i+1 Ri+1 ,
i = 0, 1, . . . , e
4. Der erweiterte Euklidische Algorithmus
59
Beweis Infolge der Festsetzung von D0 = 1, C0 = 0 und R1 = A ist die
Behauptungs f¨ ur i = 0 richtig. Wegen D1 = F1 , C1 = 1 gilt sie auch f¨ ur ur i − 1 i = 1, denn C1 · N = D1 · A + R2 . Sei i > 1 und die Behauptung f¨ und i bereits bewiesen. Also ist
(−1)i Ri (−1)i+1 Ri+1
=
Ci−1 Ci
−Di−1 −Di
N A
.
ur i + 1 anstatt i. Es ist Ci+1 = Fi+1 · Ci + Ci−1 Wir zeigen die Behauptung f¨ und Di+1 = Fi+1 · Di + Di−1 . Mit (3), (4) und (5) folgt
Ri+1 0 1 Ri = Ri+2 Ri+1 1 −Fi+1
0 1 (−1)i (−Di−1 ) (−1)i Ci−1 N = (−1)i+1 (−Di ) 1 −Fi+1 (−1)i+1 Ci A
(−1)i+1 (−Di ) N (−1)i+1 Ci = , i+2 (−1)i+2 (−Di+1 ) (−1) Ci+1 A hier ist es hilfreich die F¨ alle (−1)i = 1 und (−1)i = −1 zu unterscheiden. Also ist Ri+2 = (−1)i+2 · Ci+1 · N − (−1)i+2 · Di+1 · A ,
dies ist die Behauptung f¨ ur i + 1. grad Di = n − grad Ri ,
i = 0, 1, . . . , e
Beweis Wegen D0 = 1, R0 = N ist dies f¨ ur i = 0 richtig. Sei i = 1. Es ist
D1 = F1 und N = D1 · R1 + R2 . Wegen grad R2 < grad R1 folgt
n = grad N = grad (D1 · R1 + R2 ) = grad D1 + grad R1 , dies ist die Behauptung f¨ ur i = 1. Sei i > 1 und sei grad Di = n − grad Ri ,
grad Di−1 = n − grad Ri−1
bereits bewiesen. Wir zeigen die Behauptung f¨ ur i + 1 anstatt i. Es ist Fi+1 · Ri+1 = Ri − Ri+2 ,
Di+1 = Fi+1 · Di + Di−1 .
4.4
60
4. Der erweiterte Euklidische Algorithmus
Aus grad Ri+2 < grad Ri und grad Di−1 = n − grad Ri−1 < n − grad Ri = grad Di folgt grad Ri = grad Fi+1 + grad Ri+1 ,
grad Di+1 = grad Fi+1 + grad Di .
Insgesamt erh¨ alt man n − grad Ri+1 = n − (grad Ri − grad Fi+1 ) = n − grad Ri + grad Fi+1 = grad Di + grad Fi+1
= grad Di+1 . Nach 4.3 und (2) gilt in der Division De−1 Ce−1 · N = De−1 · A + (−1)e G . Wir setzen C = (−1)e Ce−1
und
D = (−1)e+1 De−1 .
Mit 4.3 folgt:
4.5
Satz ggT(A, N ) = C · N + D · A ,
grad D < n .
Wir setzen P = Ce
und Q = De .
Wegen Re+1 = 0 folgt aus 4.3 P ·N = Q·A . Dieses Polynom ist ein gemeinsames Vielfaches von A und N , also grad (P · N ) ≥ grad kgV(N, A) = grad A + n − grad G , (siehe 3.9 auf Seite 48). Andererseits gilt nach 4.4 und (1) grad (Q · A) = grad A + grad Q = grad A + n − grad G .
4. Der erweiterte Euklidische Algorithmus
61
Es folgt: Satz kgV(A, N ) = A · Q = P · N .
4.6
Alles bis jetzt Behauptete ist auch im Ring Z richtig. Der Beweis von 4.6 beruht allerdings auf Gradabsch¨ atzungen, die sich nicht auf den Ring Z u ¨ bertragen lassen. Der Vollst¨ andigkeit halber geben wir nun f¨ ur 4.6 einen anderen Beweis – ohne Gradabsch¨ atzungen, der ohne weiteres auch in Z funktioniert; das Argument ist etwas subtiler. Wir behaupten zun¨achst:
det
Ci Ci+1
Di Di+1
4.7
= ±1 .
Beweis Im Fall i = 0 ist dies richtig, denn
det
C0 C1
Sei f¨ ur i ≥ 1 bereits
D0 D1
det
= det
Ci−1 Ci
Di−1 Di
0 1
1 F1
= −1 .
= ±1
bewiesen. Wir nehmen in der Rekursion (5) die Determinante und erhalten
Ci Di 0 1 Ci−1 Di−1 det = det Ci+1 Di+1 Ci Di 1 Fi+1
0 1 Ci−1 Di−1 = det det 1 Fi+1 Ci Di = ±1 .
Daraus folgt:
Die Polynome Ci , Di sind teilerfremd.
4.8
62
4. Der erweiterte Euklidische Algorithmus
Beweis Andernfalls existiert ein gemeinsamer T Teiler grad T ≥ 1. Wegen
det
Ci Ci+1
Di Di+1
= Ci · Di+1 − Di · Ci+1
ist dann T auch ein Teiler dieser Determinante im Widerspruch zu 4.8.
Insbesondere sind die Polynome P = Ce und Q = De teilerfremd. Wie schon anfangs des Kapitels ausgef¨ uhrt, folgt daraus 4.6. Wir rechnen zwei Beispiele, zun¨ achst eines im Ring Z. Es seien n = 633 und a = 270 wie auf Seite 51. START
c−1 = 1 c0 = 0
d−1 = 0 d0 = 1
D1
633 = 2 · 270 + 93
c1 = 1
d1 = 2
D2
270 = 2 · 93 + 84
c2 = 2 · 1 + 0 = 2
d2 = 2 · 2 + 1 = 5
D3
93 = 1 · 84 + 9
c3 = 1 · 2 + 1 = 3
d3 = 1 · 5 + 2 = 7
D4
84 = 9 · 9 + 3
c4 = 9 · 3 + 2 = 29
d4 = 9 · 7 + 5 = 68
c5 = 3 · 29 + 3 = 90
d3 = 3 · 68 + 7 = 211
D5
9=3 · 3
Also ist ggT(633, 270) = 3 = 68 · 270 + (−29) · 633 und kgV(633, 270) = 90 · 633 = 211 · 270 . Wir rechnen nun ein Beispiel in F[X], F = Z2 . Es seien N = 1 + X2 + X5 ,
A = 1 + X3 + X4 .
Wie immer, wenn wir mit Polynomen rechnen, repr¨asentieren wir sie mit den umgedrehten Koeffiziententupeln, also ist N = 100101 , START:
A = 11001 .
C−1 = 1, D−1 = 0, C0 = 0, D0 = 1
4. Der erweiterte Euklidische Algorithmus
D1
63
100101 : 11001 = 11 (= F1 ) 110010 10111 11001 1110 (= R2 ) , C1 = 1 , D1 = 11
D2
11001 : 1110 = 10 (= F2 ) 11100 101 (= R3 ) , C2 = 10 , D2 = (10)(11)+1 = 110+1 = 111
D3
1110 : 101 = 11 (= F3 ) 1010 100 101 1 (= R4 ) C3 = (11)(10) + 1 = 110 + 1 = 111 D3 = (111)(11) + 11 = (1110 + 0111) + 11 = 1001 + 11 = 1010
Also ist ggT(N, A) = 1 und C3 · N + D3 · A = 1 . Nach 3.13.b ist D3 = X 3 + X ¨ ist FN K¨orper = GF (25 ), das zu A inverse Element im Ring FN . Ubrigens ¨ denn das Polynom N ist irreduzibel (Ubungsaufgabe 1.b auf Seite 75). Die gemachten Rechnungen zeigen, dass u ¨ ber F = Z2 der eEA sehr einfach l¨ auft – er besteht aus shifts und Additionen modulo 2. ¨ Ubungen
1. Sei F = Z2 . In F[X] sei A = 1 + X + X2 + X3 + X4
und B = 1 + X + X 3 .
Berechne den ggT(A, B) und das kgV(A, B). 2. Sei n = 625 und a = 62. Bestimme im Ring Zn ein Element b mit a·n b = 1. 3. Sei F = Z3 und N = X 3 + 2X + 2. Zeige, dass das Element A = X 2 im Ring FN ein inverses Element B besitzt, bestimme B.
Kapitel 5 Nullstellen von Polynomen
5
5
5 Nullstellen von Polynomen Bis jetzt haben wir Polynome als Elemente des Polynomrings F[X] betrachtet, hier schauen wir auf ihre Nullstellen. Satz Sei A ∈ F[X] und λ ∈ F eine Nullstelle von A, d. h. A(λ) = 0. Dann
5.1
existiert ein F ∈ F[X], so dass A = (X − λ) · F . Beweis Im Fall grad A ≤ 0 ist A = 0, da A(λ) = 0; setze F = 0. Sei
grad A ≥ 1. Wir teilen A durch X − λ, A = F · (X − λ) + R ,
grad R < 1 ,
und zeigen R = 0. Dazu setzen wir λ in A ein und erhalten 0 = A(λ) = F (λ)(λ − λ) + R(λ) = R(λ) . Wegen grad R < 1 ist R = 0.
Sei λ Nullstelle von A, also A = (X − λ) · F . Ist μ = λ eine weitere Nullstelle von A, so ist 0 = A(μ) = (μ − λ)F (μ) , es folgt F (μ) = 0. Nach 5.1 hat F die Form F = (X − μ) · E, E ∈ F[X]. Insgesamt ist A = (X − λ) · (X − μ) · E. Iteriert man dieses Argument, so erh¨ alt man das Korollar Seien λ1 . . . λm verschiedene Nullstellen von A. Dann existiert ein
F ∈ F[X], so dass A = (X − λ1 ) · · · (X − λm ) · F .
5.2
Der Faktor (X − λ1 ) · (X − λ2 ) · · · (X − λm ) von A hat Grad m. Somit folgt weiter: Korollar Ein Polynom vom Grad n, n ≥ 0, hat h¨ ochstens n Nullstellen.
5.3
68
5. Nullstellen von Polynomen
Ein Polynom vom Grad 1, also ein lineares Polynom A = aX + b ,
a, b ∈ F ,
a = 0,
hat immer die Nullstelle λ = − ab . Aus 5.1 folgt:
5.4
Sei A ∈ F[X] ein Polynom vom Grad ≥ 2. Besitzt A in F eine Nullstelle, so ist A nicht irreduzibel in F[X].
Die umgekehrte Aussage gilt nur f¨ ur kleine Grade:
5.5
Sei A ∈ F[X], grad A ∈ {2, 3}. Besitzt A keine Nullstelle in F, so ist A irreduzibel.
Beweis Andernfalls besitzt A einen echten Teiler F . Dann hat F oder
A F
den Grad 1, besitzt also eine Nullstelle λ in F. Es folgt A(λ) = 0 entgegen der Voraussetzung.
Wir betrachten z. B. das Polynom A = X 2 + 1 ∈ F[X] . Existiert in F ein λ mit λ2 = −1, ist also −1 Quadrat in F, so sind λ und −λ die Nullstellen von A und A = (X + λ) · (X − λ) . Existiert kein solches λ in F, so ist A in F[X] irreduzibel. In F = Z2 ist 1 = −1, also −1 = 12 . Es folgt A = (X + 1) · (X + 1). In F = Z3 ist 12 = 22 = 1, und 2 = −1. Also ist −1 kein Quadrat und A irreduzibel. In F = Z5 ist 22 = 4 = −1. Also ist A = (X − 2) · (X − 3). In F = R ist −1 kein Quadrat. Also ist A irreduzibel. In F = C ist die imagin¨ are Einheit i eine Quadratwurzel von −1. Also ist A = (X − i) · (X + i) .
5. Nullstellen von Polynomen
69
Man sagt, ein Polynom A ∈ F[X] zerf¨ allt in Linearfaktoren, wenn es Produkt von linearen Polynomen ist; bis auf eine Normierung hat dann A in F[X] die Form A = (X − λ1 ) · (X − λ2 ) · · · (X − λn ) ,
n = grad A ;
dabei sind λ1 , . . . , λn die (nicht notwendig verschiedenen) Nullstellen von A. Existiert eine solche Zerlegung, so ist sie die Primfaktorzerlegung (Seite 51) von A im Ring F[X], denn lineare Polynome sind irreduzibel. Beispielsweise gilt: Sei n ∈ N und seien λ1 , λ2 , . . . , λn verschiedene Zahlen aus F. Es gelte λni = 1 f¨ ur i = 1, 2, . . . , n. Dann ist X n − 1 = (X − λ1 ) · (X − λ2 ) · · · (X − λn ) . n Beweis Die Relation λn i = 1 bedeutet, dass λi Nullstelle des Polynoms X −1
ist. Da die λi nach Voraussetzung verschieden sind, folgt die Behauptung mit 5.2. Der Fundamentalsatz der Algebra1 besagt, dass jedes Polynom vom Grad ≥ 1 in C[X] eine Nullstelle in C hat. Nach 5.1 sind also die irreduziblen Polynome in C[X] genau die Polynome vom Grad 1, und nach 5.2 zerf¨allt jedes Polynom in Linearfaktoren (in C[X]). ¨ Daraus folgt mit etwas Uberlegung, dass die nicht linearen irreduziblen Polynome in R[X] Grad 2 haben. Ist allerdings F endlicher K¨ orper, so existiert f¨ ur jedes n ∈ N ein irreduzibles Polynom vom Grad n in F[X]; dies zeigen wir allerdings erst in Kapitel 10 ¨ (10.6 auf Seite 141). Ubrigens gilt dasselbe, wenn F = Q der K¨orper der rationalen Zahlen ist. In vielen K¨ orpern F ist es im Allgemeinen sehr rechenaufw¨andig zu entscheiden, ob ein gegebenes Polynom irreduzibel ist. In einem endlichen K¨orper existieren allerdings gute Algorithmen, siehe etwa [4], Kapitel 4. Im Vergleich dazu ist es viel m¨ uhsamer zu entscheiden, ob eine große Zahl n ∈ N Primzahl ist. 1 Dieser ist vergleichsweise tiefliegend, er wird z. B. im Kalk¨ ul der Funktionentheorie bewiesen.
5.6
70
5.7
5. Nullstellen von Polynomen
Sei F = Z2 . Die irreduziblen Polynome aus F[X] vom Grad ≤ 3 sind X,
1 + X,
1 + X + X 2,
1 + X + X 3,
1 + X2 + X3
und die vom Grad 4 sind 1 + X + X 4,
1 + X 3 + X 4,
1 + X + X2 + X3 + X4 .
Beweis Polynome vom Grad 1 sind nach Definition irreduzibel. Die restlichen Polynome vom Grad ≤ 3 sind nach dem Kriterium 5.5 irreduzibel. Es gibt 24 ¨ Polynome in F[X] vom Grad ≤ 3, siehe 2.3. Eine leichte Uberpr¨ ufung dieser Polynome anhand von 5.5 zeigt, dass die Liste vollst¨andig ist.
Wir kommen nun zum Grad 4. Sei etwa A = 1 + X + X4 , wir zeigen, dass N irreduzibel ist. Zun¨ achst besitzt A nach 5.1 keinen Teiler vom Grad 1, denn A(0) = 1 = A(1). Ist A nicht irreduzibel, so existiert daher ein Teiler P von A mit grad P = 2, der keine Nullstelle in F besitzt. Nach 5.5 ist P irreduzibel und nach dem schon bewiesenen ist P = X 2 + X + 1. Wir haben aber in Beispiel 2 auf Seite 25 gezeigt, dass X 2 + X + 1 kein Teiler von A ist. Also ist A irreduzibel. V¨ ollig analog beweist man dies in den F¨ allen A = 1 + X + X3 + X4
und N = 1 + X + X 2 + X 3 + X 4 .
Nun gibt es noch weitere f¨ unf Polynome vom Grad 4. Diese werden, wenn sie keine Nullstelle in F besitzen, von dem irreduziblen Polynom 1 + X + X 2 geteilt, sind also nicht irreduzibel; wir unterdr¨ ucken die dazugeh¨orenden Rechnungen.
Nat¨ urlich ist eine solche Argumentation unbefriedigend. In Kap. 11 betrachten wir die Sache von einem allgemeineren Standpunkt (F ist endlich), siehe Seite 153 und auch Satz 11.10; es gibt u ur die Anzahl ¨brigens eine Formel f¨ der irreduziblen Polynome vom Grad n, siehe etwa [4], Seite 87, oder [3], Seite 19. Sei weiter p = 2 und F = Z2 . Wir markieren ein Polynom aus F[X] vom Grad n mit seinem Koeffiziententupel ∈ Fn+1 , also ist X = 01, 1 + X = 11, 1 + X + X 3 = 1101 .
5. Nullstellen von Polynomen
71
Folgende Liste enth¨ alt f¨ ur n ∈ {5, . . . , 11} jeweils ein irreduzibles Polynom A ∈ F[X] vom Grad n: 101001 , 1100001 , 11000001 , 110110001 , 1100000001 , 10010000001 , 101000000001 ¨ Ubrigens gibt es 186 irreduzible Polynome vom Grad 11 (es ist F = Z2 ); solche Listen findet man etwa in [4], S. 377, oder auch im Internet. Sei F wieder irgendein K¨ orper und sei λ Nullstelle von A ∈ F[X], also A = (X − λ) · F . Ist hier F (λ) = 0, also (X − λ) kein Faktor von F und somit (X − λ)2 keiner von A, so heißt λ einfache Nullstelle von A; andernfalls heißt λ mehrfache Nullstelle. Wir entwickeln nun im Hinblick auf Kap. 10 ein Kriterium, ob eine einfache Nullstelle vorliegt. Dies kann entschieden werden, wenn man die Ableitung A des Polynoms A heranzieht. orper F bilden wir die Zahl Sei i ∈ N0 . Im K¨ i := 1 + · · · + 1 ,
1 ∈ F;
i
dabei ist 0 = 0 ∈ F, 1 = 1 ∈ F. In F = Z2 ist zum Beispiel 2 = 0. Offenbar gilt in F i + j = i + j. In Kap. 10 bezeichnen wir i mit ψ(i) und erl¨ autern den dazugeh¨origen Formalismus genauer. Wir definieren eine lineare Abbildung δ : F[X] → F[X]
(Derivation) ,
indem wir sie zun¨achst auf der Basis X i , i ∈ N0 , des Vektorraums F[X] erkl¨ aren. ⎧ 0 i=0 ⎨ f¨ ur δ(X i ) := , ⎩ i−1 i∈N iX und dann linear fortsetzen: F¨ ur A = i ai X i ∈ F[X] sei ai δ(X i ) = ai i X i−1 = a1 + 2 a2 X + 3 a3 X 2 + · · · . δ(A) := i≥0
i≥1
72
5. Nullstellen von Polynomen
Man schreibt A = δ(A) und nennt A die Ableitung von A. Nach Definition ist δ : F[X] → F[X] eine lineare Abbildung, d. h. es gilt (λA + μB) = λA + μB . Vor allem gilt die Produktregel:
5.8
(A · B) = A · B + A · B
Beweis Sei zun¨ achst A = X i , B = X j . Dann ist nach Definition
j X i · X j−1 = (i + j) X (i+j)−1 A · B + A · B = i X i−1 · X j + = (i + j) X (i+j)−1 = (A · B) . Sei nun A = A1 + A2 , B = B1 + B2 und es gelte bereits (Ai · Bj ) = Ai · Bj + Ai · Bj
f¨ ur
i, j ∈ {1, 2} .
Aus der Linearit¨ at von δ folgt: (AB) = ((A1 + A2 ) · (B1 + B2 )) = (A1 · B1 + A1 · B2 + A2 · B1 + A2 · B2 ) = (A1 · B1 ) + (A1 · B2 ) + (A2 · B1 ) + (A2 · B2 ) = A1 · B1 + A1 · B1 + A1 · B2 + A1 · B2 + A2 · B1 + A2 · B1 + A2 · B2 + A2 · B2 = (A1 + A2 ) · (B1 + B2 ) + (A1 + A2 ) · (B1 + B2 ) = (A1 + A2 ) · B + A · (B1 + B2 ) = A · B + A · B . Weil jedes Polynom Summe von Polynomen der Form ai X i ist, ergibt sich die Produktregel, indem man obiges Argument iteriert, man beachte die Linearit¨ at von δ.
5.9
Satz Sei A = 0 aus F[X] und λ Nullstelle von A. Dann ist λ genau dann eine einfache Nullstelle von A, wenn A (λ) = 0 gilt.
Beweis Nach 5.1 hat A die Form A = (X − λ) · F . Aus der K¨ urzregel folgt:
(X − λ)2 | A ⇔ (X − λ) | F ⇔ F (λ) = 0 .
5. Nullstellen von Polynomen
73
Nach der Produktregel 5.8 ist A = (X − λ) · F + (X − λ) · F = F + (X − λ) · F , also A (λ) = F (λ). Daraus folgt A (λ) = 0 ⇔ F (λ) = 0, also die Behauptung.
Als Beispiel betrachten wir das Polynom A = X 4 + 1 ∈ F[X] . 4 = 1+1+1+1 = 0 folgt A = 4X = 0, Sei F = Z2 . Es ist A(1) = 0 und wegen also A (1) = 0. Daher ist 1 mehrfache Nullstelle; in der Tat best¨atigt man durch eine kleine Rechnung (vergleiche 8.6 auf Seite 109) A = (X − 1)4 . Wir f¨ ugen noch eine kleine Anwendung von 5.9 hinzu, die gern in der Praxis benutzt wird; wir verwenden sie im letzten Kapitel. Seien A, B, C ∈ F[X] und C = A·B . Dann ist A(λ)B(λ) = C(λ) f¨ ur λ ∈ F und A(λ) =
C(λ) , B(λ)
sofern B(λ) = 0. Im Fall B(λ) = 0 gilt eine Beziehung, die analog zu der Regel von de l’Hospital im Fall F = R ist.
Sei λ eine einfache Nullstelle von B. Dann ist A(λ) =
C (λ) . B (λ)
5.10
Beweis Wir bilden die Ableitung von C gem¨ aß 5.8:
C = A · B + A · B , C (λ) = A (λ)B(λ) + A(λ)B (λ) . Wegen B(λ) = 0 folgt die Behauptung.
74
5. Nullstellen von Polynomen
Meistens ist es eine m¨ uhevolle Aufgabe, die Nullstellen eines Polynoms A = a0 + a1 X + a2 X 2 + · · · + an X n zu bestimmen, sofern grad A > 2. Im Fall F = R gibt es daf¨ ur einige Verfahren, sie funktionieren meistens nur n¨ aherungsweise. Liegt ein endlicher K¨orper F vor, so gibt es – sofern A nicht von vornherein ein Produkt von echten Teilern ist – eigentlich nur die brutale Methode, alle Zahlen A(λ), λ ∈ F, zu bestimmen. Um A(λ) = a0 + a1 λ + a2 λ2 + · · · + an λn zu berechnen, bedient man sich in der Praxis folgender Rekursion, Hornerschema genannt.
5.11
Definiere sukzessive Zahlen h0 , h1 , . . . , hn ∈ F auf folgende Weise: h0 = an und f¨ ur i ≥ 1 hi = λhi−1 + an−i . Dann ist A(λ) = hn .
Beweis Wir zeigen dies im Fall n = 3, der allgemeine Fall ist analog.
h 0 = a3 h1 = λh0 + a2 = λa3 + a2 h2 = λh1 + a1 = λ(λa3 + a2 ) + a1 = λ2 a3 + λa2 + a1 h3 = λh2 + a0 = λ3 a3 + λ2 a2 + λa1 + a0
Wir rechnen ein Beispiel und nehmen dazu den K¨orper mit acht Elementen, den wir auf Seite 35 vorgestellt haben; anders als dort bezeichnen wir ihn mit F. Also ist F = {000 , 100 , 010 , 001 , 110 , 011 , 111 , 101} . Wir beziehen uns auf die Multiplikationstafel auf Seite 35. Sei A = 110 + 111 X + 010 X 2 + 011 X 3 , λ = 110 . Um A(λ) direkt auszurechnen, sind zun¨ achst die Potenzen λ2 , λ3 zu berechnen und hierauf drei Multiplikationen und drei Additionen auszuf¨ uhren.
5. Nullstellen von Polynomen
75
Das Hornerschema lautet: h0 = 011 h1 = (110)(011) + 010 = 100 + 010 = 110 h2 = (110)(110) + 111 = 101 + 111 = 010 h3 = (110)(010) + 110 = 011 + 110 = 101 = A(λ) Dies sind ebenfalls drei Multiplikationen und drei Additionen, die Potenzen von λ m¨ ussen aber nicht berechnet werden! Weitere Rechnungen mit dem Hornerschema finden sich im letzten Kapitel. ¨ Ubungen
1. Sei A ∈ F[X]. Zeige, dass A in F[X] irreduzibel ist, in folgenden F¨allen: (a) F = Z2 und A = 1 + X + X 2 + X 3 + X 4 (b) F = Z2 und A = 1 + X 2 + X 5 (c) F = Z5 und A = X 3 + 2X + 1 (d) F = Q und A = X 3 − 2 (e) F = R und A = X 2 + 2X + 30 2. Sei F = Z3 . Zeige, dass das Polynom X 9 + 2 ∈ F[X] in Linearfaktoren zerf¨ allt. 3. Sei F = Z5 und A = X 3 + 2X + 2. Dann ist A(1) = 0. Bestimme in F[X] die Faktorisierung A = (X − 1) · F . 4. Sei F = Z5 . In F[X] ist B = X 2 − 3X + 2 Teiler von N = X 25 − X (Beweis?), also ist N = B · A, A ∈ F[X]. Bestimme A(2) ohne A explizit zu berechnen.
Kapitel 6 Zyklische Gruppen
6
6
6 Zyklische Gruppen Wir zeigen im n¨ achsten Kapitel, dass die multiplikative Gruppe F∗ eines endlichen K¨ orpers eine zyklische Gruppe ist, in diesem Kapitel bereiten wir dies vor. Zugleich bestimmen wir die Struktur einer zyklischen Gruppe und gewinnen damit wesentliche Strukturaussagen f¨ ur endliche K¨orper. Wir definieren: Eine Gruppe G ist eine nicht leere Menge G = {a, b, c, . . .} , in der je zwei Elementen a, b ∈ G in eindeutiger Weise ein Element ab ∈ G zugeordnet ist (man nennt ab das Produkt von a, b), so dass folgende zwei Gesetze gelten: G1 Das Produkt ist assoziativ:
a (bc) = (ab) c . G2 Es existiert ein Einselement 1 ∈ G und es existiert zu a ∈ G ein inverses Element a−1 ∈ G:
1 a = a = a 1 und a a−1 = 1 = a−1 a . Die Gruppe G heißt abelsch, wenn außerdem die Multiplikation kommutativ ist, d. h. in G ist ab = ba . Wir haben die Gruppe G multiplikativ geschrieben. Eine abelsche Gruppe schreibt man auch gerne additiv, diese Notation erkl¨aren wir nach 6.1. ¨ Als erstes Beispiel einer Gruppe w¨ ahlen wir entgegen der Uberschrift dieses Kapitels eine nichtzyklische Gruppe. Es sei G die Menge der Einheiten im Ring Z8 . Nach 3.6.b auf Seite 46 ist G = {1, 3, 5, 7} . Wir definieren das Produkt ab in G durch ab := a ·8 b (= 8 (a · b)) , dabei ist a · b das Produkt der Zahlen a, b in Z. Man erh¨alt folgende Multiplikationstafel:
80
6. Zyklische Gruppen
·8
1
3
5
7
1 3 5 7
1 3 5 7
3 1 7 5
5 7 1 3
7 5 3 1
Man u ¨ berzeuge sich anhand der Tafel, dass G eine (abelsche) Gruppe ist. Dies ist nat¨ urlich auch so klar, denn eine Einheit besitzt per Definition ein Inverses. Allgemein bilden die Einheiten eines Rings immer eine abelsche Gruppe, man spricht von der Einheitengruppe des Rings. Sei G Gruppe. Sind b, c inverse Elemente von a, gilt also ab = ba = 1 = ac, so folgt b = b(ac) = (ba)c = (ab)c = c , das zu a inverse Element a−1 ist also eindeutig. Wegen aa−1 = 1 ist (a−1 )−1 = a. ¨ Ahnlich sorgf¨ altig muß alles, was wir im Folgenden f¨ ur die Gruppe G beweisen, aus den Regeln G1, G2 hergeleitet werden. Insbesondere bedeuten sie, dass in G eine Gleichung ax = b immer durch ost wird: x = a−1 b gel¨ ax = a(a−1 b) = (aa−1 )b = 1 b = b . Wir bilden die Potenzen von a ∈ G. Man setzt a0 := 1, a1 := a, a2 := aa und so fortfahrend f¨ ur i ∈ N ai := aai−1 . Zum Beispiel ist infolge der Assoziativit¨ at a3 = aa2 = a(aa) = (aa)a = a2 a . Man verzichtet daher auf die Klammern und schreibt a3 = aaa. Analoges gilt f¨ ur h¨ ohere Potenzen: ai = aa . . . a . i
6. Zyklische Gruppen
81
Nun folgt beispielsweise a3 (a−1 )3 = (aaa)(a−1 a−1 a−1 ) = (aa)(aa−1 )(a−1 a−1 ) = (aa)(a−1 a−1 ) = a(aa−1 )a−1 = aa−1 =1, also ist (a3 )−1 = (a−1 )3 . Genauso ergibt sich allgemeiner (ai )−1 = (a−1 )i . Deswegen setzt man f¨ ur i ∈ N a−i := (ai )−1 . ur jede positive und negative ganze Zahl i erkl¨art. Damit ist die Potenz ai f¨ Das Rechnen mit den Potenzen regeln die Potenzgesetze, welche unmittelbar aus der Definition von ai und einer wiederholten Anwendung des Assoziativgesetz folgen. F¨ ur i, j ∈ Z ist: ai+j = ai aj
und
(ai )j = ai · j
In einer additiv geschriebenen Gruppe schreibt man a + b anstatt ab. Das Einselement wird dann mit 0 bezeichnet (Nullelement) und das zu a inverse Element mit −a. Man setzt a − b := a + (−b) . Die Potenzen sind die Vielfachen von a, sie werden mit ia bezeichnet. Dabei ist 0a = 0 ∈ G und f¨ ur i ∈ N ia := a + · · · + a ,
(−i)a := −(ia) .
i
Die Potenzgesetze“ lauten nun ” (i + j)a = ia + ja
und
i(ja) = (i · j)a .
In der additiven Gruppe G = Z(+) von Z ist ia = i · a das Produkt der Zahlen i, a und die Regeln (i + j) · a = i · a + j · a , sind hier selbstverst¨ andlich, siehe Kap. 1.
i · (j · a) = (i · j) · a
6.1
82
6. Zyklische Gruppen
Etwas anders ist der Sachverhalt in der additiven Gruppe Zn (+) des Rings Zn . Zum Beispiel ist 2a = a +n a = n (a + a) = n (2 · a) ; ur a = 2: im Fall n = 2 ist also 2a = 0. In der Gruppe Z3 (+) gilt etwa f¨ (−5)a = −(2 +3 2 +3 2 +3 2 +3 2) = −3 (10) = −1 = 2 = 3 ((−5) · 2) = 3 (−5) ·3 2 Dies ist auch allgemein richtig:
6.2
In der Gruppe Zn (+) gilt f¨ ur i ∈ Z: ia = n (i · a) = n (i) .n a
Sei G eine wieder multiplikativ geschriebene Gruppe. Eine Teilmenge U von G heißt Untergruppe, wenn U bez. der in G erkl¨arten Verkn¨ upfung wieder Gruppe ist. Zum Beispiel sind U = {1} und U = G Untergruppen, man spricht von den trivialen Untergruppen.
6.3
Eine nicht leere Teilmenge U von G ist genau dann eine Untergruppe von G, wenn mit a, b ∈ U auch ab−1 in U liegt. Beweis Sei U Untergruppe und seien a, b ∈ U . Dann liegt auch b−1 in U , also
auch das Produkt ab−1 . Sei umgekehrt U eine Untermenge mit der angegebenen Eigenschaft. Mit a liegt dann auch aa−1 = 1 in U , also auch 1a−1 = a−1 und a(b−1 )−1 = ab. Außerdem gelten das Assoziativ- und Kommutativgesetz in U , denn sie gelten in der Gruppe G. F¨ ur a ∈ G sei a = {ai | i ∈ Z} die Menge der Potenzen von a. Ist G additiv geschrieben, so ist a = {ia | i ∈ Z} .
6. Zyklische Gruppen
83
Im Fall G = Z(+) besteht a aus den Vielfachen i · a der Zahl a, hier bevorzugen wir die Schreibweise von Kap. 1, a = aZ = {a · i | i ∈ Z} . a ist Untergruppe von G.
6.4
Beweis Nach 6.1 ist (ai )(aj )−1 = ai−j ∈ a, die Behauptung folgt daher aus
6.3.
Die Gruppe G heißt zyklische Gruppe, wenn ein z ∈ G existiert, so dass G = z. Das Element z heißt dann primitives Element (oder Erzeuger) von G; mit z ist z. B. auch z −1 primitives Element. Wegen z i z j = z i+j = z j+i = z j z i ist eine zyklische Gruppe abelsch. Die Gruppen G = Z(+) und G = Zn (+) sind zyklische Gruppen, denn jedes Element in ihnen ist ein Vielfaches von z = 1. Die primitiven Elemente von Z(+) sind 1 und −1; die primitiven Elemente von Zn (+) bestimmen wir in 6.11. Sei U Untergruppe der zyklischen Gruppe G = z. Da mit einem Element z i ∈ U auch das inverse Element z −i in U liegt, enth¨alt U Elemente z n mit n ∈ N, sofern U = {1}. Satz Sei U eine Untergruppe = {1} der zyklischen Gruppe G = z und sei n ∈ N die kleinste Zahl mit z n ∈ U . Dann ist U = z n . Insbesondere ist eine Untergruppe einer zyklischen Gruppe wieder eine zyklische Gruppe.
Beweis Mit z n liegen auch die Potenzen von z n in U , d. h.
z n ⊆ U . F¨ ur den Beweis der umgekehrten Inklusion sei z i , i = 0, in U . Wir teilen i durch n und erhalten i = f ·n+r ,
f ∈Z,
r ∈ Zn .
Da U Untergruppe ist, folgt mit den Potenzgesetzen (6.1) z r = z i−f ·n = z i (z n )−f ∈ U .
6.5
84
6. Zyklische Gruppen
Die minimale Wahl von n erzwingt r = 0, d. h. z r = 1. Es folgt z i = (z n )−f ∈ z n ,
also die umgekehrte Inklusion.
Bemerkung Ist G die zyklische Gruppe Z(+), so zeigt die additive Variante des obigen Beweises (z = 1), dass die Untergruppen von Z(+) von der Form nZ sind.
Eine Gruppe G heißt endliche Gruppe, wenn G nur endlich viele Elemente besitzt; ihre Anzahl = |G| ist die Ordnung von G. Auf Seite 79 haben wir eine Gruppe der Ordnung 4 vorgestellt. Die Gruppe Zn (+) ist eine endliche Gruppe der Ordnung n und F∗ ist endliche Gruppe, wenn F endlicher K¨ orper ist. Als konkretes Beispiel f¨ ur eine solche Gruppe F∗ betrachten wir die multiplikative Gruppe G des K¨ orpers F = Z13 (siehe 1.8); also ist G = {1, 2, . . . , 11, 12} und die Multiplikation ist modulo 13, d. h. ab = 13 (a · b) . Dabei ist a · b das Produkt der beiden Zahlen a, b in Z. Wir nehmen z = 2 und bilden die Potenzen z i : i
0
1
2
3
4
5
6
7
8
9
10
11
12
i
1
2
4
8
3
6
12
11
9
5
10
7
1
z
Jedes Element von G ist Potenz von z, d. h. G ist eine zyklische Gruppe mit z als primitivem Element. Wegen z 12 = 1 ist z 13 = z 12 z = z, z 14 = z 12 z 2 = z 2 u.s.w. Zum Beispiel ist nun z 7 z 8 = z 7+8 = z 15 = z 12 z 3 = z 3 . F¨ ur alle a ∈ G bestimmen wir die zyklische Untergruppe a von G; es ist a = z m mit m ∈ Z12 .
6. Zyklische Gruppen
85
m
z m
0 1 2 3 4 5 6 7 8 9 10 11
{1} G (s.o.) {1, z 2 , z 4 , z 6 , z 8 , z 10 } {1, z 3 , z 6 , z 9 } {1, z 4 , z 8 } {1, z 5 , z 10 , z 3 , z 8 , z, z 6, z 11 , z 4 , z 9 , z 2 , z 7 } {1, z 6} {1, z 7 , z 2 , z 9 , z 4 , z 11 , z 6 , z, z 8, z 3 , z 10 , z 5 } {1, z 8 , z 4 } {1, z 9 , z 6 , z 3 } {1, z 10 , z 8 , z 6 , z 4 , z 2 } 11 10 9 8 7 6 5 4 3 2 {1, z , z , z , z , z , z , z , z , z , z , z}
6.6
Mit z sind also auch z 5 = 6, z 7 = 11, z 11 = 7 primitive Elemente von G = F∗ , F = Z13 . Anhand dieses Beispiels m¨ oge sich der Leser die folgenden S¨atze verdeutlichen. Satz Sei U eine Untergruppe der endlichen Gruppe G. Dann ist die Ordnung
von U ein Teiler der Ordnung von G.
Beweis F¨ ur jedes a ∈ G bilden wir die Teilmenge1
a U : = {au | u ∈ U } ⊆ G ; sei U die Menge dieser Teilmengen. Da a = a 1 in aU liegt, u ¨berdecken die Teilmengen aus U ganz G. Wir zeigen, dass Teilmengen aU , bU ∈ U mit aU = bU kein Element gemeinsam haben. Sei etwa au1 = bu2 ein gemeinsames Element. Dann liegt −1 −1 au = (au1 ) u−1 1 u = bu2 (u1 u) = b(u2 u1 u)
in bU , denn U ist Untergruppe. Es folgt aU ⊆ bU und umgekehrt genauso bU ⊆ aU , d. h. aU = bU . Die Teilmengen aus U partitionieren also die
1
Man spricht von einer Nebenklasse von U in G.
6.7
86
6. Zyklische Gruppen
Menge G. Sie haben auch alle gleichviele Element, denn es ist |U | = |aU | . Insgesamt folgt |G| = |U | · |U| ,
dies ist die Behauptung.
Bemerkung Satz 6.7 ist der zentrale Ausgangspunkt in der Theorie der endlichen Gruppen. Er heißt Satz von Lagrange, und die Zahl
|G| = |U| |U | ist der Index von U in G.
Im Folgenden ist G eine multiplikativ geschriebene endliche Gruppe, es sei onnen in der endlichen Gruppe G nicht alle a ∈ G. Die Potenzen ai , i ∈ Z, k¨ verschieden sein, es existieren daher k = l in Z mit ak = al , d. h. an = 1
n=k−l .
f¨ ur
Wir k¨ onnen k > l annehmen, dann liegt n in N. Die kleinste Zahl n ∈ N mit an = 1 heißt die Ordnung des Elements a, man schreibt n = o(a). Ist zum Beispiel G = z = {1, z, z 2, . . . , z 11 }
mit z = 2
die zyklische Gruppe der Ordnung 12 wie in 6.6, so ist a = zi
1
2
4
8
3
6
12
11
9
5
10
7
o(a)
1
12
6
4
3
12
2
12
3
4
6
12
Das Beispiel auf Seite 79 ist eine Gruppe G der Ordnung 4, in der jedes Element = 1 die Ordnung 2 hat, es handelt sich also um eine nichtzyklische Gruppe.
6.8
Sei a ∈ G und n = o(a). Dann gilt f¨ ur i ∈ Z: a) ai = ar ,
r = n (i) ∈ Zn
b) a = 1 ⇔ i ∈ nZ i
6. Zyklische Gruppen
87
Beweis a) Wir teilen i durch n und erhalten
i=f ·n+r ,
r = n (i) .
Mit den Potenzgesetzen (6.1) folgt ai = af ·n+r = (an )f ar = ar . b) Sei ai = 1, dann ist ar = 1 und die Minimalit¨at von n = o(a) ergibt r = 0. Ist umgekehrt i = n · j ∈ nZ, so folgt ai = an·j = (an )j = 1.
Bemerkung Ein Beispiel liefert der Satz von Fermat, 1.9 auf Seite 13. Im ur a = 0, die Ordnung von a in der multiplikativen K¨ orper Zp ist ap−1 = 1 f¨ ∗ Gruppe Zp ist daher Teiler von p− 1 (6.8.b). Wir werden im n¨achsten Kapitel zeigen, dass ein a ∈ Z∗p existiert, dessen Ordnung genau p − 1 ist.
Folgender Satz beschreibt die Situation in 6.8 genauer: Satz Sei G eine endliche Gruppe, sei a ∈ G und n = o(a). Dann gilt:
a) a ist eine Unterguppe der Ordnung n von G, genauer ist a = {1, a, a2 , . . . , an−1 } = {ai | i ∈ Zn } . b) F¨ ur i, j ∈ Zn gilt ai aj = an (i·j) = ai+n j
und (ai )j = an (i·j) = ai ·n j .
c) Die Zahl n ist Teiler von |G|. Beweis a) Nach 6.8.a ist a ⊆ {aj | j ∈ Zn }. Seien i ≤ j aus Zn mit ai = aj .
Dann ist 1 = (aj )(ai )−1 = aj−i . Die Minimalit¨ at von n = o(a) erzwingt j − i = 0, d. h. j = i. Also sind die Elemente 1, a, . . . , an−1 verschieden. Dies beweist a = {1, a, a2 , . . . , an−1 } und n = | a |.
6.9
88
6. Zyklische Gruppen
Die Behauptung b) folgt wegen ai aj = ai+j und (ai )j = ai·j aus 6.8.a, und c) folgt mit a) aus dem Satz von Lagrange 6.7. 2
Im Folgenden ist G nun immer eine zyklische Gruppe der Ordnung n und z ein primitives Element von G. Nach 6.9 ist: G = z = {1, z, z 2, . . . , z n−1 } = {z i | i ∈ Zn } z i z j = z n (i+j) = z i+n j . Die Abbildung α : Zn → G mit
i → z i
ist daher bijektiv und es ist α(i) α(j) = α(i +n j) , sie ist also vertr¨ aglich mit der Multiplikation in G und der Addition in Zn (+); man spricht von einem Isomorphismus. Wir formulieren:
6.10
Eine endliche zyklische Gruppe der Ordnung n ist isomorph zur Gruppe Zn (+).
Bemerkung Eine analoge Aussage gilt f¨ ur eine nicht endliche, also unendliche zyklische Gruppe. Der Leser m¨ oge sich u ¨ berlegen, dass eine solche zur Gruppe Z(+) isomorph ist.
Wir argumentieren weiter in G = z, anstatt in Zn (+).
6.11
Satz Sei G = z eine zyklische Gruppe der Ordnung n. Genau dann ist eine
Potenz z i primitives Element von G, wenn i teilerfremd zu n ist.
Beweis Die Potenz z i , i ∈ Zn , ist primitiv genau dann, wenn
i z = z = z 1 ,
2 Ist G eine abelsche Gruppe, so liefert der Beweis von 1.9 auf Seite 13 (Satz von Fermat) ebenfalls einen Beweis von c), ohne 6.7.
6. Zyklische Gruppen
89
und nach 6.9.b ist dies genau dann der Fall, wenn ein j ∈ Zn existiert mit i ·n j = 1. Auf diese Weise entsprechen die primitiven Elemente z i den Einheiten i im Ring Zn . Diese sind nach 3.6 (Seite 46) die zu n teilerfremden Zahlen aus Zn . Ist n eine Primzahl, so sind die Zahlen 1, 2, . . . , n − 1 teilerfremd zu n. Daher folgt aus 6.11: In einer zyklischen Gruppe von Primzahlordnung ist jedes Element = 1 primitives Element.
6.12
Die Anzahl der zu n ∈ N teilerfremden Zahlen in Zn haben wir mit φ(n) bezeichnet; siehe 3.8 auf Seite 47 und 7.6 auf Seite 99. Nach 6.11 ist φ(n) auch die Anzahl der primitiven Elemente in einer zyklischen Gruppe der Ordnung n. Wir bestimmen noch die Untergruppen einer zyklischen Gruppe. Bez¨ uglich einer unendlichen zyklische Gruppe sei auf die zwei Bemerkungen auf den Seiten 84 und 88 verwiesen. Satz Sei G = z eine zyklische Gruppe der Ordnung n und U eine Untergruppe von G der Ordnung k > 1. Nach 6.7 ist k Teiler von n, sei m = nk . Dann ist
6.13
U = z m = {1, z m, z 2·m , . . . , z (k−1)·m } . Beweis Sei ∈ N die kleinste Zahl mit z ∈ U . Aus 6.5 (Seite 83) folgt
U = z . Wir teilen n durch und erhalten n = f ·+r, r ∈ Z . Aus den Potenzgesetzen folgt z r = z n (z )−f = (z )−f ∈ U . Die minimale Wahl von erzingt r = 0, also n = · k. Es folgt = m und die Behauptung.
Korollar Sei G eine zyklische Gruppe der Ordnung n. Dann ist die Anzahl
der Untergruppen von G gleich der Anzahl der Teiler von n in N.
6.14
90
6. Zyklische Gruppen
Wir betrachten nun eine speziellere Situation. In Kap. 11 kommen die Kreisteilungsklassen ins Spiel, dies bereiten wir hier vor. Wie vorher ist G = z = {1, z, z 2, . . . , z n−1 } = {z i | i ∈ Zn } eine zyklische Gruppe der Ordnung n. Weiter sei p eine zu n teilerfremde Zahl ater in Kap. 11 wird p Primzahl < n sein. Nach 3.6.b auf Seite 46 in Zn , sp¨ ist p Einheit im Ring Zn . Wir betrachten die Abbildung β : G → G, die jedem a ∈ G die Potenz ap zuordnet, und interessieren uns f¨ ur die Teilmenge von G, welche durch eine wiederholte Anwendung der Abbildung β auf ein Element a ∈ G ensteht. Eine solche Teilmeng nennt man eine Bahn (unter der Operation von β), wir bezeichnen sie mit Ba . Also ist j
Ba = {β j (a) | j ∈ N0 } = {ap | j ∈ N0 } . Sei a = z i , i ∈ Zn . Nach 6.2 ist β(z i ) = z p ·n i = z n (p · i)
und
j
β j (z i ) = z n (p
· i)
.
Anstatt in der zyklischen Gruppe G = z argumentieren wir nun in der zyklischen Gruppe Zn (+), eigentlich im Ring Zn . Wir nehmen die Exponenten der Elemente aus Ba , d. h. wir bilden Ki = {n (pj · i) | j ∈ N0 } ⊆ Zn .
6.15
Sei a = z i , i ∈ Zn . Dann ist Ba = {aj | j ∈ Ki }.
Eine solche Menge Ki , i ∈ Zn , heißt Kreisteilungsklasse (zu n, p), weil sie eine zyklische Struktur hat. Sei zum Beispiel n = 15, p = 2. Es ist K0 = {0}. Wir bilden K1 = {1, 2, 4, 8, . . .}. Nun ist 2 ·15 8 = 15 (16) = 1; also schließt sich K1 zu einem Kreis, es ist K1 = {1, 2, 4, 8} . Genauso folgt K3 = {3, 6, 12, 9} (denn 2 ·15 9 = 15 (18) = 3) und K5 = {5, 10} ,
K7 = {7, 14, 13, 11} .
6. Zyklische Gruppen
91
Man beachte, dass jede Zahl in Z15 in genau einer dieser Kreisteilungsklassen vorkommt. Da die Kreisteilungsklasse Ki in der endlichen Menge Zn liegt, k¨onnen die Zahlen n (pj · i), j ∈ N0 , nicht alle verschieden sein. Daher existiert eine kleinste Zahl e ∈ N, so dass n (pe · i) ∈ {i, n (p · i), . . . , n (pe−1 · i)} . n (pe · i) = i.
6.16
Beweis Sei n (pe · i) = i angenommen und sei k = n (pe−1 · i). Dann ist
ur ein j ∈ {1, . . . , e − 1} . p ·n k = n (pe · i) = n (pj · i) f¨ Sei = n (pj−1 · i), also p ·n = n (pj · i) = p ·n k . Wir k¨ onnen diese Gleichung durch p k¨ urzen, weil p nach Voraussetzung eine Einheit im Ring Zn ist (3.6.b). Es folgt k = , im Widerspruch zur minimalen Wahl von e. Aus 6.16 folgt |Ki | = e und K = Ki f¨ ur alle ∈ Ki . Die Menge der verschiedenen Kreisklassen Ki partioniert also die Menge Zn , d. h. Jede Zahl aus Zn liegt genau in einer Kreisteilungsklasse und jedes Element aus G liegt in genau einer Bahn.
¨ Ubungen
Sei G die multiplikative Gruppe des K¨ orpers Z17 . 1) Zeige, dass G eine zyklische Gruppe ist. Bestimme ein primitives Element von G. 2) Wieviel primitive Elemente besitzt G? 3) Bestimme s¨ amtliche primitiven Elemente von G. 4) Bestimme alle Untergruppen von G. 5) Bestimme die Kreisteilungsklassen zu n = 26, p = 3.
6.17
92
6. Zyklische Gruppen
6) Berechne die Multiplikationstafel der Einheitengruppe des Rings Z9 , und zeige, dass diese Gruppe zyklisch ist. 7) Sei G eine endliche zyklische Gruppe und seien U und W Untergruppen von G. Dann gilt U ⊆ W ⇔ |U | teilt |W | .
Kapitel 7 Die multiplikative Gruppe und die diskrete Fouriertransformation
7
7
7 Die multiplikative Gruppe und die diskrete Fouriertransformation Wir zeigen zun¨ achst, dass die multiplikative Gruppe eines endlichen K¨orpers F eine zyklische Gruppe ist. Liegt der K¨ orper F konkret vor, so l¨asst sich dies nat¨ urlich aus der Multiplikationstafel ablesen; dies haben wir an den Beispielen in Kapitel 2 (Seite 34) oder am Beispiel F = Z13 (Seite 85) schon gesehen. Danach stellen wir die diskrete Fouriertransformation vor, die auf der zykliupft in direkter Weise ein Polynom schen Struktur von F∗ beruht. Sie verkn¨ mit seinem Wertebereich, und dies spielt in der Praxis eine wichtige Rolle, siehe Kapitel 12. Im Mittelpunkt des Kapitels steht ein Satz u ¨ ber endliche Gruppen, den wir vorab formulieren. Im Folgenden sei G eine multiplikativ geschriebene endliche und abelsche Gruppe. Da G nur endlich viele Elemente besitzt, existiert ein Element z ∈ G von maximaler Ordnung, d. h. es ist o(a) ≤ o(z) f¨ ur alle a ∈ G . Diese Zahl o(z) heißt der Exponent der Gruppe G. Ist G zyklisch, so ist er gleich der Ordnung von G. Eine Gruppe G der Ordnung 4 und vom Exponent 2 haben wir auf Seite 79 vorgestellt. Satz Sei G eine endliche, abelsche Gruppe und z ∈ G von maximaler Ord-
7.1
nung. Dann teilt die Ordnung jedes Elements von G die Ordnung von z.1
Vor dem Beweis formulieren und beweisen wir die Folgerung, auf die es uns ankommt. Satz Sei F K¨ orper und G eine endliche Untergruppe der multiplikativen Gruppe F∗ . Dann ist G eine zyklische Gruppe. Insbesondere ist die multiplikative Gruppe eines endlichen K¨ orpers eine zyklische Gruppe.
Beweis Sei z wie in 7.1 und m = o(z). Nach 7.1 ist m ein Vielfaches von o(a)
f¨ ur jedes a ∈ G. Es folgt am = 1 (6.8.b auf Seite 86), d. h. alle a ∈ G sind 1
F¨ ur nichtabelsche Gruppen ist dieser Satz falsch.
7.2
96
7. Die multiplikative Gruppe und die diskrete Fouriertransformation
Nullstellen des Polynoms A = X m −1. Da A nach 5.3 h¨ochstens m Nullstellen besitzt, folgt |G| ≤ m. Andererseits ist z ⊆ G und 6.9
| z | = o(z) = m . Daher ist G = z zyklisch.
Im Folgenden ist G immer eine endliche, abelsche Gruppe. Den Beweis von 7.1 f¨ uhren wir nun wie L¨ uneburg in [5], Seite 25; dazu formulieren wir zun¨achst zwei Hilfss¨ atze. Es seien a, b ∈ G und n := o(a) ,
7.3
m := o(b) .
Sind die Zahlen n, m teilerfremd, so ist o(ab) = n · m.
Beweis Sei c = ab und k = o(c). Da die Multiplikation in G kommutativ ist,
ist c2 = (ab)2 = (ab)(ab) = a(ba)b = a(ab)b = (aa)(bb) = a2 b2 . ur i ∈ N. Also ist (i = n · m) Genauso folgt allgemeiner ci = ai bi f¨ cn·m = an·m bn·m = (an )m (bm )n = 1 . Deswegen ist k Teiler von n · m (6.8.b). Aus 1 = (ab)k = ak bk folgt ak = b−k und ak·m = b−k·m = (bm )−k = 1 , so dass n ein Teiler von k · m ist (6.8.a). Da n, m teilerfremd sind, ist n Teiler von k (vergleiche 3.4 auf Seite 44). Genauso folgt, dass m Teiler von k ist. Dann ist auch n · m Teiler von k. Es folgt die Behauptung k = n · m.
7.4
In G existiert ein Element c mit o(c) = kgV(n, m).
Beweis Sind n, m teilerfremd, so kann c = ab gesetzt werden (7.3). Seien n, m
Potenzen einer Primzahl p, etwa n = pnp , m = pmp . Dann ist kgV(n, m) = pkp
mit kp = max {np , mp } .
Im Fall kp = np kann c = a und im Fall kp = mp kann c = b gesetzt werden.
7. Die multiplikative Gruppe und die diskrete Fouriertransformation
97
Den allgemeinen Fall l¨ osen wir verm¨ oge einer Primfaktorzerlegung (Seite 51) von n und m. Diese haben die Form n= pnp , m = p mp , p
p
dabei wird nur u ¨ber endlich viele Faktoren multipliziert, denn p durchl¨auft nur die Primteiler von n bzw. m. Dann ist kgV(n, m) = pkp mit kp = max {np , mp } . p
Hier durchl¨ auft p alle Primteiler von n und m. Im Fall kp = np sei n cp = ai mit i = np , p dann ist o(cp ) = pnp , siehe 6.13 auf Seite 89. Im Fall kp = mp sei m cp = bi mit i = mp , p dann ist o(cp ) = pmp . Sei c=
cp .
p
Die Ordnungen der Faktoren cp sind Primzahlpotenzen, die zueinander teilerfremd sind, da die jeweiligen Primzahlen p verschieden sind. Deswegen ergibt eine wiederholte Anwendung von 7.3 o(cp ) . o(c) = p
Es folgt in o(c) =
pkp = kgV(n, m)
p
die Behauptung.
Beweis von 7.1 Sei z ∈ G von maximaler Ordnung und a ∈ G. Nach 7.3
(setze b = z) existiert ein c ∈ G mit o(c) = kgV(o(a), o(z)) . Es ist also o(c) ≥ o(z). Da z von maximaler Ordnung ist, folgt kgV(o(a), o(z)) = o(z) . Dies bedeutet, dass o(a) Teiler von o(z) ist.
98
7. Die multiplikative Gruppe und die diskrete Fouriertransformation
Wir nehmen 7.3 zum Anlass, eine Rekursion der Eulerschen φ-Funktion herzuleiten (siehe Seite 47). Wir stellen zun¨ achst fest:
7.5
Seien n, m teilerfremde Zahlen und G = z eine zyklische Gruppe der Ordnung n · m. Sei weiter U = z m
und W = z n .
U ist also eine Untergruppe der Ordnung n, und W eine der Ordnung m von G (siehe 6.13). Dann existiert zu jedem c ∈ G genau ein a ∈ U und genau ein b ∈ W , so dass c = ab.2 In diesem Fall ist o(c) = o(a) · o(b) . Beweis Ist a ∈ U ∩ W , so ist o(a) Teiler von n und m. Da n, m teilerfremd sind, folgt o(a) = 1, d. h. a = 1 und
U ∩ W = {1} .
(1) Wir bilden nun die Menge
H = {ab | a ∈ U, b ∈ W }
(⊆ G)
und zeigen H = G. Seien a1 b1 und a2 b2 zwei Produkte in H und sei a1 b1 = a2 b2 . Dann ist (a2 )−1 a1 = b2 (b1 )−1 ∈ U ∩ W , also wegen (1) (a2 )−1 a1 = b2 (b1 )−1 = 1
d. h. a1 = a2 , b1 = b2 .
Die Produkte in H fallen also verschieden aus. Es folgt |H| = |U | · |W | = m · n = |G| und damit H = G. Wie behauptet, existiert daher zu jedem c ∈ G genau ein a ∈ U und genau ein b ∈ W , so dass c = ab. Die Ordnung von a ist Teiler von n und die Ordnung von b ist Teiler von m. Da n, m teilerfremd sind, k¨ onnen wir 7.3 anwenden. Es folgt die zweite Behauptung.
2
Man nennt G das direkte Produkt von U, W und schreibt G = U × W .
7. Die multiplikative Gruppe und die diskrete Fouriertransformation
99
Bemerkung Die additive Version von 7.5 ist unter dem Namen Chinesischer Restsatz bekannt, sie lautet: Seien n, m teilerfremd, sei i1 ∈ Zn und i2 ∈ Zm . Dann existiert genau ein j ∈ Zn·m mit
n (j) = i1
und
m (j) = i2 .
Der Beweis von 7.5 ist allerdings nicht konstruktiv, er liefert nur die Existenz von j. Folgendes Rezept zeigt, wie man j berechnen kann: Die Zahlen n, m sind teilerfremd, also ist 1 = ggT(n, m). Der erweiterte Euklidische Algorithmus (siehe Kapitel 4 und auch 3.12 auf Seite 49) berechnet Zahlen c, d mit 1= c·n+d·m. Dann ist m (c · n) = 1 = n (d · m). Der Leser u ¨ berzeuge sich nun, dass j : = i2 · c · n + i1 · d · m die gew¨ unschte Eigenschaft hat.
Satz Seien n, m zueinander teilerfremde Zahlen. Dann ist
φ(n · m) = φ(n) · φ(m) .
Beweis Die Situation sei wie in 7.5. Nach 6.11 auf Seite 88 gen¨ ugt es die primitiven Elemente in G zu z¨ ahlen. Nach 7.5 hat ein Element c = ab ∈ G genau dann die Ordnung n · m, wenn a die Ordnung n und b die Ordnung m hat. Also ist c genau dann primitiv in G, wenn a primitiv in U und b primitiv in W ist; dies ist die Behauptung.
Zyklische Untergruppen von F∗ sind die Grundlage der sogenannten diskreten Fouriertransformation, die wir im Folgenden vorstellen. Sei F K¨ orper und G wie in 7.2, also eine endliche Untergruppe der multiplikativen Gruppe F∗ . Es sei |G| = m und z primitives Element von G, also ist G = {1, z, . . . , z m−1 } ,
zm = 1 .
Nach 5.6 (Seite 69) ist G die Menge der Nullstellen des Polynoms X m − 1 ∈ F[X] .
7.6
100
7. Die multiplikative Gruppe und die diskrete Fouriertransformation
Dieses hat Grad m, besitzt also keine weiteren Nullstellen. Es folgt G = {a ∈ F | am = 1} . Deswegen heißt G die Gruppe der m-ten Einheitswurzeln in F, und jedes primitive Element von G heißt primitive m-te Einheitswurzel. Ist F = C der K¨ orper der komplexen Zahlen, so ist z : = cos
2π 2π + i sin m m
eine primitive m-te Einheitswurzel. Zum Beispiel ist die imagin¨are Einheit i eine primitive 4-te Einheitswurzel und G = {1, i, −1, −i} die Gruppe der 4-ten Einheitswurzeln. orper, so kann G = F∗ gesetzt werden, hier ist Ist F = GF (pn ) endlicher K¨ n m = p − 1. Ist etwa F = Z5 , so ist m = 4 und G = {1, 2, 4, 3} . Wir empfehlen dem Leser das Folgende f¨ ur m = 4 in C und in Z5 nachzustellen. Im K¨ orper R der reellen Zahlen existiert G nur f¨ ur m = 2, hier ist G = {±1}, dieser Fall ist uninteressant. In dieser Gruppe G der m-ten Einheitswurzeln leiten wir nun eine Beziehung her, die in der Elektrotechnik unter dem Namen diskrete Fouriertransformation bekannt ist. Wir wenden sie im letzten Kapitel 12 an; dort rechnen wir eine Decodierung im Rahmen eines Reed–Solomon Codes. Dabei spielt das m-fache Vielfache von 1 ∈ F eine Rolle. Diese Zahl in F bezeichnen wir mit m, m = 1 + ··· + 1 . m
Im Fall F = C ist m = m. Sei F = GF (pn ) endlicher K¨orper und G = F∗ . Im Fall F = GF (p) ist m = p − 1 = −1 ∈ F ; dies gilt auch im Fall F = GF (pn ), siehe Kap. 10, etwa 10.1 auf Seite 139. In dem f¨ ur die Praxis relevanten Fall F = GF (2n ) ist also immer m =1.
7. Die multiplikative Gruppe und die diskrete Fouriertransformation
101
Eigentlich ben¨ otigen wir nur, dass m = 0, und dies setzen wir nun voraus. Ohne Beweis f¨ ugen wir hinzu, dass dies in jedem K¨orper F gilt (m ist die Ordnung einer endlichen Untergruppe von F∗ ). Gegeben seien nun m beliebige Elemente b0 , b1 , . . . , bm−1 ∈ F . Wir bestimmen ein Polynom A = a0 + a1 X + · · · + am−1 X m−1 ∈ Fm [X] , so dass A(z j ) = bj ,
j = 0, 1, · · · , m − 1 .
Um dieses Interpolationspolynom A, also seine Koeffizienten ai zu berechnen bilden wir das Polynom B=m −1 (b0 + b1 X + · · · + bm−1 X m−1 ) ∈ Fm [X] , und behaupten: Satz ai = B(z −i ) ,
i = 0, 1, . . . , m − 1.
7.7
Beweis Sei a ∈ G. Wir zeigen zun¨ achst m−1
ai =
i=0
⎧ ⎨ m ⎩
a=1 ( )
falls 0
a = 1
Zum Beweis bezeichnen wir diese Summe mit s und multiplizieren sie mit a as = a(1 + a + · · · + am−1 ) = a + a2 + · · · + am−1 + am = s , urzen wir durch s, erhalten a = 1 und s = m, denn am = 1. Im Fall s = 0 k¨ es folgt ( ). Mit den angegebenen Koeffizienten ai bilden wir das Polynom A. Die Behauptung A(z j ) = bj lautet dann j )= m bj = mA(z
m−1 i=0
ma i (z j )i =
m−1 i=0
−i j·i mB(z )z .
102
7. Die multiplikative Gruppe und die diskrete Fouriertransformation
Die rechte Summe nennen wir S, setzen B ein (dann k¨ urzt sich m heraus) und formen um: m−1 m−1 m−1 m−1 −i k j·i −i·k j·i S= bk (z ) z = bk z z i=0
=
m−1 k=0
k=0
bk
m−1
k=0
i=0
z (j−k)·i
i=0
Sei a = z j−k in ( ). Danach ist die innere Summe nur dann = 0, wenn a = 1, d. h. j − k = 0 und j = k, in diesem Fall ist sie gleich m. Es folgt S=m bj ,
dies ist die Behauptung.
Das mit den Koeffizienten ai = B(z −i ) gebildete Polynom A heißt die Fouriertransformierte von B. Im letzten Kapitel rechnen wir in einem Reed–Solomon Code; die diskrete Fouriertransformation ist dort von zentraler Bedeutung. Dieses Kapitel kann jetzt vollst¨ andig durchgearbeitet werden, es bietet eine Menge von konkreten ¨ Rechnungen zum Uben. ¨ Ubungen
1) Bestimme φ(63) (Eulersche φ-Funktion). 2) Sei F = GF (210 ). Bestimme die Anzahl der primitiven Elemente in der multiplikativen Gruppe F∗ . 3) Sei G die multiplikative Gruppe des K¨ orpers Z13 . Bestimme zwei Untergruppen U1 , U2 von G, so dass (vergleiche Fußnote auf Seite 98) G = U1 × U2 ,
|U1 | = 1 = |U2 | .
4) Sei F = Z7 . Bestimme nach Satz 7.7 ein Polynom A ∈ F7 [X] mit A(i) = i +7 1
f¨ ur
i = 1, 2, . . . , 6 .
Kapitel 8 Das Rechnen in endlichen K¨ orpern
8
8
8 Das Rechnen in endlichen K¨ orpern Im Folgenden sei p ∈ N Primzahl, dann ist F := Zp K¨ orper (1.8). Weiter sei N ∈ F[X] ein normiertes, irreduzibles Polynom vom Grad n > 1. Also ist nach 3.7 (Seite 46) auch E := FN endlicher K¨ orper mit pn Elementen, E = GF (pn ). Wir werden in Kap. 10 beweisen, dass jeder endliche K¨orper von dieser Form ist. Es bedeutet daher keinen Verlust der Allgemeinheit, wenn wir in diesem Kapitel zeigen, wie man in E rechnet. Unsere Beispiele sind im K¨ orper GF (8) bzw. GF (16) (siehe Seite 34) per Hand gerechnet. Konkrete Rechnungen in gr¨ oßeren K¨orpern kann eigentlich nur der Computer ausf¨ uhren. Dazu existieren mehrere Programmpakete, etwa in mathematica oder maple. Am bequemsten rechnet es sich – meiner Erfahrung nach – im Programmpaket gap, dieses kann kostenlos u ¨ber www.gap-system.org geladen werden. Wir k¨ ummern uns hier nicht um die Existenz des irreduziblen Polynoms N vom Grad n, also von E; in der Praxis liegt ein solches Polynom vor. Vorab sei darauf hingewiesen, dass die Multiplikation in E nat¨ urlich von der speziellen Gestalt von N , d. h. von den Koeffizienten d0 , d1 , , . . . , , dn−1 abh¨angt (2.11 auf Seite 30). Da es i. A. viele irreduzible Polynome vom Grad n gibt (siehe Kap. 4, etwa 5.7 auf Seite 70), w¨ ahlt man nat¨ urlich ein f¨ ur die Multiplikation g¨ unstiges“ N , z. B. ein solches, in dem die Koeffizienten di m¨oglichst oft = 0 ” sind. Die Menge der Polynome vom Grad ≤ 0 haben wir mit dem K¨orper F identifiziert. Damit ist F Teilk¨orper von E bzw. E ist Erweiterungsk¨orper von F. Wir notieren in der Terminologie, die wir in Proposition 2.11 (Seite 30) eingef¨ uhrt haben. Die Elemente von E bezeichnen wir also mit a, b, c, . . ., vergessen aber nicht, dass a, b, c, . . . Polynome A, B, C, . . . aus Fn [X] sind; dabei ist x das Polynom X. F¨ ur a, b ∈ E ist a + b = A + B die Summe der Polynome A, B und ab = A ·N B = N (A · B) , dabei ist A · B das Produkt der Polynome A, B im Ring F[X].
106
8. Das Rechnen in endlichen K¨ orpern
Insbesondere ist E = Fn [X] Vektorraum u ¨ ber dem K¨orper F; diesen Vektorraum bezeichnen wir nun mit EF . Dabei ist die skalare Multiplikation λa, λ ∈ F, a ∈ EF , das Produkt der Elemente λ, a in E. Es ist dim EF = dim Fn [X] = n = grad N die Dimension von EF . Elemente v (0) , v (1) , . . . , v (n−1) von E bilden eine Basis des Vektorraums EF , wenn jedes a ∈ E eine eindeutige Linearkombination a = a0 v (0) + a1 v (1) + · · · + an−1 v (n−1) ,
ai ∈ F ,
uglich ist. Zum Beispiel ist 1, x, . . . , xn−1 eine solche Basis, siehe 2.11. Bez¨ einer festgew¨ ahlten Basis v (0) , . . . , v (n−1) identifizieren wir a gerne mit dem n-Tupel (a0 , . . . , an−1 ) ∈ Fn , wir schreiben in diesem Fall a = (a0 , . . . , an−1 ) . Die Summe a + b und das Produkt λa, λ ∈ F, wird dann im Vektorraum Fn gebildet. Beachtet man F = Zp , so folgt:
8.1
a + b = (a0 +p b0 , . . . , an−1 +p bn−1 )
¨ Ahnlich einfach gestaltet sich die Multiplikation in E. Im Folgenden sei m : = pn − 1 . Nach 7.2 gilt:
8.2
Die multiplikative Gruppe E∗ ist eine zyklische Gruppe der Ordnung m. Ein Element z ∈ E heißt primitiv im K¨ orper E, wenn jedes Element aus E∗ eine Potenz von z ist, also z ein primitives Element der zyklischen Gruppe E∗ ist. Das irreduzible Polynom N heißt primitiv, wenn x ein primitives Element von E = FN ist1 . In den Beispielen 5 und 6 (auf Seite 33), ist N ein primitives Polynom, nicht aber in den folgenden Beispielen 7 und 8.
1
In 11.1 steht eine a ¨quivalente Definition.
8. Das Rechnen in endlichen K¨ orpern
107
Zyklische Gruppen haben wir in Kapitel 6 behandelt. Mit 6.9, 6.11 und 6.12 folgt: Sei z primitives Element von E. Dann gilt:
8.3
a) E∗ = {z i | i ∈ Zm } b) z i z j = z i+m j f¨ ur i, j ∈ Zm c) Ein Element a = z i von E ist genau dann primitiv in E, wenn die Zahlen i, m ∈ Z zueinander teilerfremd sind. d) Ist m eine Primzahl, so ist jedes Element = 0, 1 von E primitiv.
Sei z ∈ E primitiv. Nach 8.3.a existiert zu a ∈ E∗ genau ein i ∈ Zm mit a = z i , man nennt i den diskreten Logarithmus von a (zur Basis z), wir schreiben i = dz (a) . Da der Logarithmus f¨ ur a = 0 nicht definiert ist, verwendet man das Symbol −∞ und setzt dz (0) := −∞ mit den Vereinbarungen i +m (−∞) := −∞ und a−∞ := 0
(∈ E) .
Wegen 8.3.b k¨ onnen wir nun f¨ ur a, b ∈ E formulieren: dz (ab) = dz (a) +m dz (b)
Damit ist die Multiplikation auf die Addition in Z modulo m zur¨ uckgef¨ uhrt. Ist zum Beispiel a = z i , i ∈ Zm , so ist a−1 = z m−i , denn z i z m−i = z m = 1. Ohne R¨ uckgriff auf die zyklische Struktur von E∗ l¨asst sich das zu a ∈ E inverse Element a−1 auch mit dem erweiterten Euklidischen Algorithmus maschinengerecht“ berechnen, dies haben wir in Kap. 4 auf Seite 62 erkl¨art. ” Der Logarithmus ist zwar multiplikativ, aber nicht additiv, d. h. es ist u ¨ berhaupt nicht klar, welcher Potenz z k die Summe zweier Potenzen z i + z j entspricht. Um dieses Dilemma zu mildern – man kann es nicht aufl¨osen – existieren verschiedene Verfahren, die auf eine geschickte Tabellierung der Summen z i + z j bzw. der Produkte z i z j hinauslaufen.
8.4
108
8. Das Rechnen in endlichen K¨ orpern
Es ist (z i + z j ) = z i (1 + z j−i ), also z i + z j = z i (1 + z k ) ,
k := j −m i .
Nach 8.4 bedeutet dies f¨ ur a = z i , b = z j dz (a + b) = dz (a) +m dz (1 + ba−1 ) . Setzt man f¨ ur c ∈ E Lz (c) = dz (1 + c) (Zech-Logarithmus) , so folgt
8.5
dz (a + b) = dz (a) +m Lz (ba−1 )
Nach einer Tabellierung der Zahlen Lz (c) kann daher auch die Addition in der zyklischen Gruppe E∗ gerechnet werden. Als Beispiel tabellieren wir so den K¨ orper E = GF (8), den wir auf Seite 34 vorgestellt haben. Hier ist p=2,
F = Z2 ,
n=3,
N = 1 + X + X 3 ∈ F[X] .
Nach 8.3.d ist jedes Element = 0, 1 von E primitiv, denn m = 8 − 1 = 7 ist Primzahl, insbesondere ist das Polynom N primitiv. Wir nehmen z=x. Mit der Multiplikationstafel auf Seite 34 erhalten wir folgende Tabelle: a = zi
dz (a) = i
Lz (a) = dz (1 + a)
000 100 010 001 110 011 111 101
−∞ 0 1 2 3 4 5 6
0 −∞ 3 6 1 5 4 2
Sei etwa a = 111 und b = 011 .
8. Das Rechnen in endlichen K¨ orpern
109
Mit Hilfe der Tabelle berechnen wir ab sowie a + b, es ist dz (a) = 5 ,
dz (b) = 4
dz (ab) = 5 +7 4 = 2 d. h. ab = 001. Mit 8.5 folgt: dz (ba−1 ) = dz (b) −7 dz (a) = 4 −7 5 = 6 Lz (ba−1 ) = 2 dz (a + b) = dz (a) +7 Lz (ba−1 ) = 5 +7 2 = 0 urlich auch mit 8.1 klar, 111 + 011 = 100. d. h. a + b = z 0 = 100; dies ist nat¨ In einem besonders f¨ ur die Theorie wichtigen Spezialfall der Multiplikation, n¨ amlich der Potenzierung mit der Zahl p, ist die Addition vertr¨aglich mit der Multiplikation: Satz (a + b)p = ap + bp f¨ ur alle a, b ∈ E.
8.6
Beweis Man beachte im Folgenden, dass F = Zp Teilk¨ orper von E ist, der
alle Vielfachen 1 + · · · + 1 von 1 ∈ E enth¨ alt.
Im Fall p = 2 ist z. B. 1 + 1 = 1 +2 1 = 0 in E; es folgt (a + b)2 = a2 + b2 + ab + ab = a2 + b2 + (1 +2 1)ab = a2 + b2 . Sei die Primzahl p beliebig, und seien zun¨ achst a, b Zahlen aus Z. Multipliziert alt man man die Potenz (a + b)p in Z aus, so erh¨ p
p
p
(a + b) = a + b +
p−1 i=1
p i p−i , ab i
dies ist die Binomialformel und die Zahlen
p p(p − 1) . . . (p − i + 1) = i i!
∈Z
sind die Binomialkoeffizienten. Ist hier 1 ≤ i ≤ p − 1, so ist p kein Teiler von i!, wohl aber Teiler von pi · i!. Also ist die Primzahl p Teiler von pi ; vergleiche Eigenschaft PRIM auf Seite 11. Es folgt
p =0. p i
110
8. Das Rechnen in endlichen K¨ orpern
Seien nun a, b ∈ E. Multipliziert man die Potenz (a + b)p genauso in E aus, so folgt unter Beachtung von 1.6
n p p p p (a + b) = a + b + ai bp−1 = ap + bp . p i i=1
Die Potenzierung mit p kann iteriert werden. Verm¨oge einer wiederholten Anwendung von 8.6 folgt i
i
i
i∈N.
(a + b)p = ap + bp , Z. B. ist 2
2
2
(a + b)p = ((a + b)p )p = (ap + bp )p = ap + bp . Trivialerweise gilt auch i
i
i
(a b)p = ap bp .
8.7
n
F¨ ur alle a ∈ E gilt ap = a und f¨ ur alle a ∈ F gilt ap = a. Beweis Dies ist richtig f¨ ur a = 0. Sei a = 0. Die zyklische Gruppe E∗ hat
Ordnung m = pn − 1, also ist n
1 = ap
−1
n
= ap a−1 ,
n
ur a ∈ F ergibt sich genauso, denn F∗ d. h. ap = a. Die Behauptung ap = a f¨ ist eine zyklische Gruppe der Ordnung p − 1.
Wir formulieren extra: 8.8
i
Die Abbildung a → ap ist eine lineare Abbildung des Vektorraums EF . Beweis Auf die Additivit¨ at haben wir schon hingewiesen. Sei λ ∈ F, also i i i i λp = λ (8.7). Es folgt (λa)p = (λ)p ap = λap .
Eine Basis v (0) , . . . , v (n−1) von EF heißt Normalbasis, wenn gilt: i
(v (0) )p = v (i)
f¨ ur
i = 1, . . . , n − 1 .
8. Das Rechnen in endlichen K¨ orpern
111
Dann ist (v (i−1) )p = v (i) , i = 0, und nach 8.7 n−1
(v (n−1) )p = ((v (0) )p
n
)p = (v (0) )p = v (0) .
Die Potenzierung mit p vertauscht also eine Normalbasis zyklisch. Es ist von vornherein keineswegs klar, ob immer eine solche Basis existiert. Ein etwas tiefer liegender Satz (siehe [4], S. 57) bejaht dies; der Kern des Arguments steckt im Beweis von Satz 7.1. Wir demonstrieren hier nur den Rechenvorteil einer Normalbasis. Sei v (0) , . . . , v (n−1) Normalbasis und a = a0 v (0) + a1 v (1) + · · · + an−1 v (n−1) ,
ai ∈ F .
Mit 8.8, 8.7 folgt ap = a0 (v (0) )p + · · · + an−1 (v (n−1) )p = a0 v (1) + · · · + an−2 v (n−1) + an−1 v (0) . Also gilt:
Ist a = (a0 , a1 , . . . , an−2 , an−1 ) bez¨ uglich einer Normalbasis, so ist
8.9
ap = (an−1 , a0 , . . . , an−2 )
die zyklische Vertauschung.
Dies beschreibt den Rechenvorteil einer Normalbasis. Auch die Berechnung asst sich so vereinfachen, insbesondere im Fall einer beliebigen Potenz ai l¨ p = 2. Sei etwa i = 13. Dann ist: 13 = 23 + 22 + 20 a
13
=a
23
a
22
(bin¨ are Entwicklung)
a
Z¨ ahlt man die in 8.9 angesprochenen zyklischen Vertauschungen nicht – sie fallen dem Rechner leicht – so sind anstatt zw¨olf nur drei Multiplikationen erforderlich! Eine sch¨ one Darstellung dieser Rechenvorteile findet man in dem Buch [3] auf den Seiten 95–100. Wir bestimmen nun eine Normalbasis in dem vorher tabellierten K¨orper E = GF (8), hier ist p = 2 und dim EF = 3. Anstatt z schreiben wir wieder x. Es
112
8. Das Rechnen in endlichen K¨ orpern
ist x = 010 ,
x2 = 001 ,
x4 = 011 ,
also x4 = x + x2 . Die Potenzen x, x2 , x4 bilden daher keine Basis, erst recht keine Normalbasis. Sei v = x5 . Wir zeigen, dass v, v 2 , v 4 eine Basis, also eine Normalbasis ist. Nach der Tabelle ist v = 111 ,
v 2 = x10 = x3 = 110 ,
v 4 = x20 = x6 = 101 .
Schreibt man diese Tripel in die Spalten einer Matrix u ¨ ber F = Z2 , bildet also ⎛ ⎞ 1 1 1 ⎝ 1 1 0 ⎠ , 1 0 1 so ist ihr Rang = 3. Dies bedeutet, dass v, v 2 , v 4 linear unabh¨angig sind, sie bilden also eine Basis, d. h. eine Normalbasis von EF . F¨ ur sp¨ ater halten wir fest:
8.10
v 3 = 1 + v 2 f¨ ur v = x5 Beweis Es ist v 3 = x15 = x = 010, v 2 = x10 = x3 = 110 und
1 + v 2 = 100 + 110 = 010 = x = v 3
Sei f¨ ur den Augenblick p = 2. Dann ist die Addition in E die komponentenweise Addition modulo 2 (siehe 8.1), diese ist in der hardware eines Chips leicht zu organisieren. Die Multiplikation via einer der in 8.4 angesprochenen Tabellen f¨ uhrt auf die Addition in Z modulo m und diese ist f¨ ur die hardware problematisch – nicht allerdings, wenn man per Hand bzw. u ¨ber die software rechnet. Deshalb gehen wir nun von der Addition in E aus, genauer von der Addition uhren die Multiplikation in E auf diese zur¨ uck. Dabei geht nur in Zp , und f¨ ein, dass E = FN Ring ist, die zyklische Struktur von E∗ spielt dabei keine Rolle.
8. Das Rechnen in endlichen K¨ orpern
113
Sei v (0) , v (1) , . . . , v (n−1) Basis von EF . Wir bilden in E die Produkte v (i) v (j) und mit diesen die Matrix ⎛ ⎞ v (0) v (1) ... v (0) v (n−1) v (0) v (0) ⎜ ⎟ .. .. .. n×n S := ⎝ . ⎠∈E . . . (n−1) (0) (n−1) (1) (n−1) (n−1) v v v ... v v v In dieser Matrix ist die Multiplikation der Basis und, da jedes Element von E Linearkombination der Basis ist, auch die von E gespeichert. Wir nennen S die Strukturmatrix von E bez. der Basis v (0) , v (1) , . . . , v (n−1) . Konkret rechnet man: ab = (a0 v (0) + · · · + an−1 v (n−1) ) (b0 v (0) + · · · + bn−1 v (n−1) ) n−1 n−1 (i) (0) (i) (n−1) ai v v ai v v b0 + · · · + bn−1 = i=0
i=0
⎛
⎞
b0 b1 .. .
⎜ ⎜ = (a0 , a1 , . . . , an−1 ) S ⎜ ⎝
⎟ ⎟ ⎟ ⎠
(Matrixprodukt)
bn−1 Die Produkte v (i) v (j) sind ebenfalls Linearkombinationen der Basis (i,j) v (0) , . . . , v (n−1) . Seien die Skalare μk ∈ F definiert durch (i) (j)
v v
=
n−1
(i,j) (k)
μk
v
.
k=0 (i,j)
Wir fassen die n3 Skalare (Strukturkonstanten) μk in n Matrizen S0 , . . . , Sn−1 zusammen: ⎛ ⎞ (0,0) (0,n−1) μk ... μk ⎜ ⎟ .. .. ⎟ ∈ Fn×n . Sk := ⎜ . . ⎝ ⎠ (n−1,0) (n−1,n−1) . . . μk μk Diese Matrizen sind die Komponenten der Strukturmatrix S. Ist nun (ab)k ∈ F die k-te Koordinate von ab bez. der Basis v (0) , . . . , v (n−1) , d. h. ab =
n−1
(ab)k v (k) ,
k=0
so folgt (man mache sich dies am folgenden Beispiel klar):
114
8. Das Rechnen in endlichen K¨ orpern
⎛
8.11
⎜ ⎜ (ab)k = (a0 , a1 , . . . , an−1 ) Sk ⎜ ⎝
b0 b1 .. .
⎞ ⎟ ⎟ ⎟ ⎠
bn−1 Wir haben hier E mit Fn identifiziert. Dabei ist die Addition wie die im Vektorraum Fn , siehe 8.1, die Multiplikation in Fn wird durch die Strukturmatrix bzw. deren Komponenten geregelt. Im n¨ achsten Kapitel (auf Seite 133) zeigen wir, wie die Strukturmatrix besser organisiert werden kann, wenn ein Zwischenk¨orper D vorliegt, F ⊂ D ⊂ E. Als Beispiel betrachten wir wieder den K¨ orper GF (8) und zeigen, wie via 8.11 die Arithmetik in GF (8) auf die 0, 1-Arithmetik in F2 = {0, 1} zur¨ uckgef¨ uhrt wird. Bez¨ uglich der Basis 1, x, x2 haben wir auf Seite 34 die 8.11 entsprechende Multiplikationsregel schon formuliert – ohne Matrixschreibweise. Jetzt nehmen wir als Basis die vorher angegebene Normalbasis, also ist v (0) = v = x5 ,
v (1) = v 2 ,
v (2) = v 4 .
Die Potenzen von v schreiben wir als Koordinatentripel bez. der Basis v, v 2 , v 4 . Zun¨ achst ist v = 100 ,
v 2 = 010 ,
v 4 = 001 .
Weiter ist v 3 = 1 + v 2 , siehe 8.10, und v 7 = 1, siehe 8.2. Mit 8.6 folgt: v 5 = v 2 v 3 = v 2 (1 + v 2 ) = v 2 + v 4 v 6 = (v 3 )2 = 1 + v 4 v 7 = vv 6 = v + v 5 = v + v 2 + v 4 (= 1 ∈ E) v8 = v Bez¨ uglich der Basis v, v 2 , v 4 ist also v 5 = 011 ,
v 7 = 111 ,
v 3 = 101 ,
v 6 = 110 ,
Die Strukturmatrix ist daher ⎞ ⎛ ⎛ 2 010 v v3 v5 S = ⎝ v 3 v 4 v 6 ⎠ = ⎝ 101 v5 v6 v 011
101 001 110
v 8 = 100 .
⎞ 011 110 ⎠ . 100
8. Das Rechnen in endlichen K¨ orpern
115
Die Komponenten von S sind ⎛ ⎛ ⎞ 0 1 0 1 S1 = ⎝ 1 0 1 ⎠ , S2 = ⎝ 0 0 1 1 1
0 0 1
⎞ 1 1 ⎠ , 0
⎛
0 S3 = ⎝ 1 1
1 1 0
⎞ 1 0 ⎠ . 0
Beispielsweise sei wie auf Seite 109 a = 1 + x + x2 ,
b = x + x2 .
Es ist 1 = v + v 2 + v 4 = 111 x = (x5 )3 = v 3 = 1 + v 2 = v + v 4 = 101 x2 = (x5 )6 = v 6 = 110 . Also ist bez. der Basis v, v 2 , v 4 a = 100 und
b = 011 .
Die Addition ist klar, a + b = 111 = v + v 2 + v 4
(= 1 ∈ E) .
Die Multiplikation regeln nach 8.11 die Komponenten Si der Strukturmatrix: ⎛ ⎞⎛ ⎞ ⎛ ⎞ 0 1 0 0 0 (ab)0 = (100) ⎝ 1 0 1 ⎠ ⎝ 1 ⎠ = (010) ⎝ 1 ⎠ = 1 0 1 1 1 1 ⎛ ⎞⎛ ⎞ ⎛ ⎞ 1 0 1 0 0 (ab)1 = (100) ⎝ 0 0 1 ⎠ ⎝ 1 ⎠ = (101) ⎝ 1 ⎠ = 1 1 1 0 1 1 ⎛ ⎞⎛ ⎞ ⎛ ⎞ 0 1 1 0 0 (ab)2 = (100) ⎝ 1 1 0 ⎠ ⎝ 1 ⎠ = (011) ⎝ 1 ⎠ = 0 1 0 0 1 1 Dies heißt ab = 110 = v + v 2
(= x5 + x10 = x5 + x3 = x2 ) .
Wir kommen nun wieder auf die allgemeine Situation zur¨ uck und erkl¨aren eine weitere Darstellung von E, in der die Elemente a ∈ E als Matritzen Fa ∈ Fn×n interpretiert werden, so dass die Addition und Multiplikation in E die Matrixaddition und Matrixmultiplikation ist, d. h. es ist Fa+b = Fa + Fb ,
Fab = Fa Fb .
116
8. Das Rechnen in endlichen K¨ orpern
Sei a ∈ E. Um die Matrix Fa zu definieren betrachten wir die Abbildung ϕa : E → E
mit v → av .
Im Fall ϕa = ϕb ist av = bv; mit v = 1 folgt ϕa = ϕb ⇔ a = b . Wegen ϕa (v + w) = a(v + w) = av + aw = ϕa (v) + ϕa (w) , λ∈F,
ϕa (λv) = a(λv) = λ(av) ,
ist ϕa eine lineare Abbildung. Sei v (0) , v (1) , . . . , v (n−1) Basis von EF und ϕa (v (j) ) = av (j) = λ0j v (0) + λ1j v (1) + · · · + λn−1,j v (n−1) , Dann ist
⎛ ⎜ Fa := ⎝
λ00 .. .
...
λ0,n−1
λn−1,0
...
λn−1,n−1
λij ∈ F .
⎞ ⎟ n×n ⎠∈F
die Matrix, die zur linearen Abbildung ϕa bez. der Basis v (0) , . . . , v (n−1) geh¨ ort, d. h. f¨ ur v = v0 v (0) + · · · + vn−1 v (n−1) ∈ E ist ⎛
v0 .. .
⎜ ϕa (v) = Fa ⎝
⎞ ⎟ ⎠ .
vn−1 Auf der rechten Seite steht ein Matrixprodukt, auf der linken Seite der (transponierte) Koordinatenvektor von ϕa (v) bez. der gew¨ahlten Basis; wir schreiben ϕa (v) = Fa v. Es folgt Fa = Fb ⇔ a = b . F¨ ur die Matrixaddition und Matrixmultiplikation gelten das Distributiv- und das Assoziativgesetz. Also ist f¨ ur alle v ∈ E Fa+b v = (a + b)v = av + bv = Fa v + Fb v = (Fa + Fb )v Fab v = (ab)v = a(bv) = Fa (Fb v) = (Fa Fb )v . Es folgt Fa+b = Fa + Fb und Fab = Fa Fb .
8. Das Rechnen in endlichen K¨ orpern
117
Wir k¨ onnen also feststellen: Bez¨ uglich der Matrixaddition und Matrixmultiplikation kann der K¨orper E mit := {Fa | a ∈ E} E identifiziert werden, man spricht von einem zu E isomorphen K¨orper.
8.12
Beispielsweise nehmen wir die Basis 1, x, . . . , xn−1 , also ist v (i) = xi . In diesem Fall heißt die Matrix Fx die Begleitmatrix des Polynoms N . Sei N = d0 + d1 X + . . . + dn−1 X n + X n . Dann ist ⎛
0 1 0 .. .
⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ 0 0
0 0 1 .. .
0 0 0 .. .
... ... ...
0 0 0 .. .
−d0 −d1 −d2 .. .
0 0
0 0
... ...
0 1
−dn−2 −dn−1
8.13
⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
die Begleitmatrix von N .
Beweis F¨ ur i < n − 1 ist
x v (i) = xxi = xi+1 = v (i+1) , also ist die i-te Spalte von Fx wie behauptet. Nach Proposition 2.11.d (Seite 30) ist n−1 n−1 di xi = − di v (i) , x v (n−1) = xxn−1 = xn = − i=0
also ist auch die letzte Spalte wie behauptet.
i=0
Ist x primitives Element von E, also N ein primitives Polynom, so besteht E aus der Nullmatrix und den Potenzen von Fx .
118
8. Das Rechnen in endlichen K¨ orpern
Wir rechnen ein Beispiel in E = GF (8) = FN , dabei ist N = 1 + X + X 3 . Also ist ⎛ ⎞ 0 0 1 F := Fx = ⎝ 1 0 1 ⎠ 0 1 0 die Begleitmatrix von x. Da x primitiv ist (8.3.d), bilden die Potenzen von (8.12). Der F zusammen mit der Nullmatrix den zu E isomorphen K¨orper E K¨ orper E besteht aus der Nullmatrix, der Einheitsmatrix, der Matrix F und den Potenzen: ⎛ ⎛ ⎞ ⎞ 0 1 0 1 0 1 F2 = ⎝ 0 1 1 ⎠ , F3 = ⎝ 1 1 1 ⎠ ⎛
1
0
1
⎛
0
1
1
⎞ 0 1 1 1 1 1 F4 = ⎝ 1 1 0 ⎠ , F5 = ⎝ 1 0 0 ⎠ 1 1 1 1 1 0 ⎛ ⎛ ⎞ ⎞ 1 1 0 1 0 0 F6 = ⎝ 0 0 1 ⎠ , F7 = ⎝ 0 1 0 ⎠ . 1 0 0 0 0 1 Zum Beispiel ist nun ⎛ 1 0 F3 + F4 = ⎝ 1 1 0 1
⎞
⎞ ⎛ 1 0 ⎠ ⎝ + 1 1 1 1
1 1 1
⎞ ⎛ 1 1 ⎠ ⎝ = 0 0 1 1
1 0 0
⎞ 0 1 ⎠ = F6 0
F3 · F4 = F7 = F0 .
¨ Ubungen
1) Sei F = GF (q). Wieviel primitive Elemente besitzt F in den F¨allen q = 32, q = 16 und q = 27? 2) In einem K¨orper E = GF (16) berechne eine zu der auf Seite 108 analoge Tabelle. 3) Sei F = Z3 und N = X 2 + X + 2 ∈ F[X]. Dann ist N irreduzibel, also orper. Zeige: E = FN = GF (9) K¨ a) N ist ein primitives Polynom. b) Bestimme die Begleitmatrix Fx und ihre Potenzen, siehe 8.12 und 8.13. c) Bez¨ uglich der Basis 1, x, von EF bestimme die Strukturmatrix S und berechne einige Produkte ab mittels 8.11.
8. Das Rechnen in endlichen K¨ orpern
119
die Menge aller Matrizen 4) Sei C
a −b ∈ R2×2 . b a bez¨ Zeige, dass C uglich der Matrixaddition und Matrixmultiplikation ein zu C isomorpher K¨ orper ist. 5) In dem auf Seite 34 tabellierten K¨ orper E = GF (8) bestimme alle Normalbasen. Wieviel Basen existieren insgesamt?
Kapitel 9 Erweiterungsk¨ orper
9
9
9 Erweiterungsk¨ orper Sind F = Zp und E = FN wie im vorigen Kapitel, so ist E Erweiterungsk¨orper des K¨ orpers F, oder andersherum F ist Teilk¨orper von E. Wir betrachten hier eine etwas allgemeinere Situation, um im n¨ achsten Kapitel die Existenz und Eindeutigkeit von endlichen K¨ orpern beweisen zu k¨onnen. Am Ende des Kapitels zeigen wir, im Anschluss an das vorige Kapitel, wie durch die Existenz eines Zwischenk¨orpers D, F ⊂ D ⊂ E die Multiplikation in E besser organisiert werden kann. Im Folgenden sei E K¨ orper und F ⊆ E Teilk¨orper von E, d. h. die Addition und Multiplikation im K¨ orper F ist die Addition und Multiplikation, die in E erkl¨ art ist. Betrachtet man f¨ ur den Augenblick nur die Produkte λa, λ ∈ F, a ∈ E, in E, so besagen die Rechengesetze in E (a, b ∈ E, λ, μ ∈ F): V1 E ist bez. der Addition eine abelsche Gruppe. V2 λ(a + b) = λa + λb V3 (λ + μ)a = λa + μa V4 λ(μa) = (λμ)a V5 1a = a (1 ∈ F)
Diese Regeln haben wir schon auf Seite 19 formuliert, sie definieren einen F-Vektorraum. Also ist der K¨ orper E Vektorraum u ¨ber dem Teilk¨orper F; wir bezeichnen diesen Vektorraum mit EF . Ist E = FN wie im vorigen Kapitel, so ist EF = Fn [X]. Ist D Teilk¨ orper von E, der F enth¨ alt, also Zwischenk¨orper, so k¨onnen auch die Vektorr¨ aume DF und ED gebildet werden. Dabei ist DF Unterraum von EF , denn D ist abgeschlossen bez. der Addition und Multiplikation in E. Ist z. B. D = F, so ist dim DF = 1. Wir setzen im Folgenden immer voraus, dass EF ein endlich-dimensionaler Vektorraum ist; sei n = dim EF . Also existiert Basis v (0) , v (1) , . . . , v (n−1) ∈ E, so dass jedes a in eindeutiger Weise eine Linearkombination ist: a = a0 v (0) + a1 v (1) + · · · + an−1 v (n−1) , ai ∈ F .
124
9. Erweiterungsk¨ orper
Identifiziert man a mit dem Koordinatentupel (a0 , a1 , . . . , an−1 ) ∈ Fn , so ist EF der Vektorraum Fn . Ist hier F endlicher K¨ orper, etwa F = GF (q), d. h. |F| = q, so ist |E| = q n , n d. h. E = GF (q ), vergleiche 2.3 auf Seite 22. Das klassische Beispiel ist der K¨ orper R der reellen Zahlen, der Teilk¨orper des K¨ orpers C der komplexen Zahlen ist, F = R, E = C. Hier bildet 1 ∈ R √ und i = −1 ∈ C eine Basis von CR , denn jede komplexe Zahl a hat die Form a = a1 + a2 i, ai ∈ R. Identifiziert man a mit (a1 , a2 ) ∈ R2 , so ist CR der R-Vektorraum R2 (Gaußsche Zahlenebene). Zur Illustration des Folgenden nehmen wir den K¨orper GF (16), den wir in Beispiel 7 auf Seite 35 vorgestellt haben; hier ist F = Z2
und N = 1 + X + X 2 + X 3 + X 4 ∈ F[X] ,
siehe auch 5.7. Also ist E := FN Erweiterungsk¨orper von F und E = GF (16). Wie schon fr¨ uher formulieren wir in der Schreibweise von Proposition 2.11. Danach ist 1, x, x2 , x3 Basis von EF und jedes a ∈ E hat die Darstellung a = a0 + a1 x + a2 x2 + a3 x3 ,
ai ∈ F .
Es ist x5 = 1, also ist 5 die Ordnung von x in der multiplikativen Gruppe E∗ . Wir setzen v : = x2 + x3 ∈ E D : = {a0 + a1 v | a0 , a1 ∈ F} = {0, 1, v, 1 + v} ⊆ E , und stellen fest: 9.1
a) b)
v2 = 1 + v D ist Teilk¨ orper von E und 1, v ist Basis von DF .
Beweis a) Mit 8.6 folgt
v 2 = (x2 + x3 )2 = x4 + x6 = (1 + x + x2 + x3 ) + x = 1 + v . b) Mit a, b ∈ D liegt auch a + b in D, denn a +2 a = 0 f¨ ur alle a ∈ D. Die Relation a) besagt, dass auch alle Produkte ab in D liegen. Außerdem
9. Erweiterungsk¨ orper
125
ist v(1 + v) = v + v 2 = v + v + 1 = 1, die Elemente v, v + 1 sind also zueinander invers. Damit ist D K¨ orper. Wegen v ∈ / F sind die Elemente 1, v linear unabh¨ angig in DF , sie bilden daher eine Basis von DF .
Die allgemeine Situation, die wir nun betrachten, ist analog. Wie vorher sei E Erweiterungsk¨ orper von F und n = dim EF . Sei v ∈ E. Wir bezeichnen mit F(v) die Menge aller Elemente a ∈ E der Form a = a0 + a1 v + a2 v 2 + · · · + ak v k ,
ai ∈ F ,
k ∈ N0 .
Demnach ist F(v) = {A(v) | A ∈ F[X] } . Die Einsetzungsregeln besagen: A(v) + B(v) = (A + B)(v) λA(v) = (λA)(v) ,
λ∈F,
(AB)(v) = A(v)B(v) . Daraus folgt, dass F(v) bez. der in E erkl¨ arten Addition und Multiplikation ein Ring ist. Der K¨ orper F liegt in F(v), denn F = {A(v) | grad A ≤ 0} . Insbesondere ist F(v) Unterraum des Vektorraums EF . Das f¨ ur das Folgende typische Beispiel beschreibt Proposition 2.11 auf Seite 30. Sei dort N irreduzibel. Dann ist E = FN Erweiterungsk¨orper von F und E = F(v)
f¨ ur
v=x.
Außerdem ist 1, v, v 2 , . . . , v n−1 Basis von EF , n = grad N . Wir zeigen allgemein, dass der Ring F(v) K¨ orper, also Teilk¨orper von E ist. Dazu betrachten wir die Menge aller A ∈ F[X], die v als Nullstelle haben, diese Teilmenge von F[X] bezeichnen wir mit Nv . Zum Beispiel liegt das Nullpolynom im Nv . In Nv gibt es von 0 verschiedene Polynome. Beweis Wegen dim EF = n sind die n + 1 Elemente 1, v, v 2 , . . . , v n im Vek-
angig. Es existieren also Koeffizienten ai ∈ F, nicht torraum EF linear abh¨
9.2
126
9. Erweiterungsk¨ orper
alle = 0, so dass a0 + a1 v + a2 v 2 + · · · + an v n = 0 . Dann ist A = a0 + a1 X + · · · + an X n in Nv und A = 0.
9.3
Satz Unter den Polynomen = 0 von Nv sei M ein Polynom von minimalem
Grad. Dann ist Nv = {F · M | F ∈ F[X]} .
Beweis Es ist (F · M )(v) = F (v)M (v) = 0; mit M liegen also auch die 0 aus Nv . Wir teilen A durch M und Vielfachen F · M in Nv . Sei A = erhalten
A=F ·M +R,
grad R < grad M .
Es ist 0 = A(v) = F (v)M (v) + R(v); wegen M (v) = 0 folgt R(v) = 0. Die Minimalit¨at von M erzwingt nun R = 0. Also ist A = F · M , wie behauptet.
Bemerkung Das Minimalit¨ atsargument in diesem Beweis findet sich schon im Beweis von 3.1 (Seite 43), siehe die dortige Bemerkung.
Wir k¨ onnen annehmen, dass das minimale Polynom M in 9.3 normiert ist. Sei M1 neben M ein weiteres normiertes Polynom in Nv von minimalem Grad. Nach 9.3 ist dann M Teiler von M1 und umgekehrt M1 Teiler von M , das Polynom M1 ist also ein skalares Vielfaches von M . Da beide Polynome normiert sind, folgt M = M1 . Das so eindeutig bestimmte Polynom M heißt Minimalpolynom von v; wir schreiben M = Mv . Im Fall grad Mv = 0 ist Mv = 1 im Widerspruch zu Mv (v) = 0. Daher ist grad Mv ≥ 1. Ist v ∈ F, so liegt das Polynom X − v in Nv ; in diesem Fall ist Mv = X − v. 9.4
Sei M ∈ F[X], M = 0, normiert und M (v) = 0. Genau dann gilt M = Mv , wenn M irreduzibel ist.
9. Erweiterungsk¨ orper
127
Beweis Sei M = Mv . Ist M nicht irreduzibel, so ist M ein Produkt M = A·B
von Polynomen A, B ∈ F[X] von kleinerem Grad. In E gilt dann 0 = M (v) = A(v)B(v) .
Da der K¨ orper E nullteilerfrei ist, folgt A(v) = 0 oder B(v) = 0 entgegen der Minimalit¨ at von M = Mv . Also ist M irreduzibel. Sei umgekehrt M irreduzibel. Nach 9.3 existiert F ∈ F[X] mit M = F · Mv . Es folgt grad F = 0, sogar M = Mv , da M und Mv normiert sind. Im vorigen Beispiel E = GF (16) sei v wie in 9.1 und M = 1+X +X 2 ∈ F[X], F = Z2 ; es ist M (v) = 0. Da M nach 5.7 irreduzibel ist, ist M = Mv . Ein allgemeines Beispiel liefert die Erweiterung E = FN , dabei sei N ∈ F[X] irreduzibel und normiert; die Situation sei wie in Proposition 2.11 auf Seite 30.
N ist das Minimalpolynom von x.
9.5
Beweis Da N irreduzibel ist, gen¨ ugt es nach 9.4 zu zeigen, dass N (x) = 0. Doch dies besagt 2.11.d. auf Seite 30.
Wir betrachten nun wieder allgemein die Erweiterung F ⊆ E, dim EF = n. Sei v ∈ E und M = Mv ,
m = grad M .
ur den Augenblick sei Zu M geh¨ ort die Restabbildung M : F[X] → Fm [X]. F¨ A0 := M (A) ,
A ∈ F[X] .
a) A(v) = A0 (v), d. h.
9.6
F(v) = {A(v) | A ∈ Fm [X] } . b) Die Elemente 1, v, v 2 , . . . , v m−1 bilden eine Basis des Vektorraums F(v).
128
9. Erweiterungsk¨ orper
Beweis a) Es existiert F ∈ F[X] mit A = F ·M +A0 , also ist wegen M (v) = 0
A(v) = (F · M + A0 )(v) = F (v)M (v) + A0 (v) = A0 (v) . b) Nach a) ist jedes a ∈ F(v) eine Linearkombination der Elemente 1, v, . . . , v m−1 . Sie bilden eine Basis, wenn sie linear unabh¨angig sind. Andernfalls existiert eine Linearkombination a0 · 1 + a1 v + · · · + am−1 v m−1 = 0 , dabei sind die Koeffizienten a0 , . . . , am−1 aus F, nicht alle = 0. Dies bedeutet A(v) = 0
f¨ ur
A=
m−1
ai X i ,
A = 0 ,
grad A < m ,
i=0
und widerspricht der Minimalit¨ at von M = Mv .
Da M irreduzibel in F[X] ist, k¨ onnen wir den K¨orper FM bilden. Als Vektorraum u orper F ist FM = Fm [X], die Multiplikation ist ¨ber dem K¨ A ·M B = M (A · B) . Die Abbildung η : FM → F(v) mit a0 + a1 X + · · · + am−1 X m−1 → a0 + a1 v + · · · + am−1 v m−1 ist linear und bildet nach 9.6 die Basis 1, X, . . . , X m−1 von FM auf die Basis 1, v, . . . , v m−1 von F(v) ab, es handelt sich also um einen VektorraumIsomorphismus. Seien A, B ∈ F[X]. Nach 9.6.a ist in F(v) A(v)B(v) = (A · B)0 (v) . Dabei ist (A · B)0 = M (A · B), also η(A)η(B) = η(A ·M B) , die Abbildung η ist daher auch multiplikativ. Somit ist mit FM auch F(v) K¨ orper. Verm¨ oge η kann der K¨ orper FM mit F(v) identifiziert werden, man spricht von einem K¨orper-Isomorphismus.
9. Erweiterungsk¨ orper
129
Wir fassen zusammen: Satz Sei E Erweiterungsk¨ orper des K¨ orpers F und dim EF < ∞. Sei v ∈ E und M = Mv ∈ F[X] das Minimalpolynom von v, m = grad M . Dann ist F(v) K¨ orper und die Abbildung
η : FM → F(v) mit
m−1
ai X i →
i=0
m−1
9.7
ai v i
i=0
ein Isomorphismus des K¨ orpers FM auf F(v).
Korollar Sei v ∈ E, M = Mv und n = dim EF . Dann ist die Abbildung η ein
Isomorphismus von FM auf E, wenn eine der folgenden Aussagen gilt:
a) F(v) = E. In diesem Fall ist grad M = n. b) grad M = n c) E ist endlicher K¨ orper und v ist primitives Element von E.
Als Beispiel betrachten wir wieder E = GF (8); dabei ist F = Z2 und E = FN mit N = 1 + X + X3 . Nach 5.7 existiert in F[X] ein zweites irreduzibles Polynom vom Grad 3, n¨ amlich M = 1 + X2 + X3 . Sei v = x5 wie vor 8.10 auf Seite 112. Nach 8.10 ist 1 + v2 + v3 = 0 , d. h. M (v) = 0. Daher ist M das Minimalpolynom von v (9.4) und F(v) ein orper von E. Nach 9.8.b sind die K¨orper FM und zu FM isomorpher Teilk¨ E = FN zueinander isomorph. Ein solcher Sachverhalt gilt allgemein, er ist im n¨achsten Kapitel formuliert. Wir nehmen nun einen etwas anderen Standpunkt ein, halten F fest und konstruieren zu einem vorgegebenen Polynom A ∈ F[X] einen Erweiterungsk¨orper E von F, so dass A in E[X] in Linearfaktoren zerf¨allt; dabei beachte man die Inklusion F[X] ⊂ E[X]. Dazu formulieren wir 9.5 etwas anders, siehe auch 5.1.
9.8
130
9.9
9. Erweiterungsk¨ orper
Sei N ∈ F[X] irreduzibel und E = FN . Dann ist N (x) = 0, also x eine Nullstelle von N in E. Insbesondere ist X − λ, λ = x, ein Linearfaktor von N in E[X]. Einen Erweiterungsk¨ orper E von F nennen wir eine endliche Erweiterung von F, wenn dim EF < ∞. Zum Beispiel ist FN eine endliche Erweiterung von F, denn dim EF = grad N .
9.10
Gradformel Sei D eine endliche Erweiterung von F und E eine endliche Er-
weiterung von D. Dann ist dim EF = (dim ED ) · (dim DF ) . Insbesondere ist auch E eine endliche Erweiterung von F. Beweis Sei n = dim DF , m = dim ED . Die Aussage m = dim ED bedeutet,
uglich einer Basis mit dem Vektorraum Dm idendass der Vektorraum ED bez¨ tifiziert werden kann, d. h. ED ist isomorph zu Dm ; diese Identifizierung haben wir schon mehrfach herangezogen. Jedes Element a ∈ ED ist also ein Tupel a = (a(1) , . . . , a(m) ) ∈ Dm .
Genauso kann DF mit dem Vektorraum Fn identifiziert werden, also hat jede Koordinate a(i) die Form (i)
n a(i) = (a1 , . . . , a(i) n )∈ F .
Insgesamt ergibt sich, dass jedes a in eindeutiger Weise ein Tupel (1)
(2)
(m)
(2) (m) n·m a = (a1 , . . . , a(1) n , a1 , . . . , an , . . . . . . , a1 , . . . , an ) ∈ F
ist. Dies bedeutet, dass EF isomorph zum Vektorraum Fn·m ist. Es folgt dim EF = dim Fn·m = n · m .
9.11
Satz Sei A ∈ F[X] und grad A ≥ 1. Dann existiert eine endliche Erweiterung E von F, so dass A in E[X] in Linearfaktoren zerf¨allt.
9. Erweiterungsk¨ orper
131
Beweis Sei E die Gesamtheit aller endlichen Erweiterungen von F. Wir w¨ ahlen
E ∈ E so, dass A in E[X] m¨ oglichst viele Linearfaktoren besitzt.1 Ist A schon Produkt dieser Linearfaktoren, so ist E der gesuchte Kandidat. Andernfalls existiert ein irreduzibler Teiler N ∈ E[X] von A mit grad N ≥ 2. Nach 9.10 liegt der K¨ orper EN in E und nach 9.9 besitzt N in EN eine Nullstelle λ; wir haben also in EN eine Faktorisierung N = (X − λ) · F , F ∈ EN [X], siehe 5.1. Da N Teiler von A ist, besitzt nun A in EN [X] mehr Linearfaktoren als in E[X]. Dies widerspricht der maximalen Wahl von E und beweist die Behauptung.
Eine kleinste Erweiterung von E von F, in welcher A in Linearfaktoren zerf¨allt, heißt Zerf¨allungsk¨orper von A, ein solcher spielt im n¨achsten Kapitel eine zentrale Rolle. Die Gradformel 9.11 erlaubt ein weiteres Korollar zu 9.7; die Situation sei wie dort. Sei D = F(v) und m = grad Mv . Dann ist dim DF = m und m Teiler von dim EF . Wir haben in Kap. 8 den Erweiterungsk¨ orper E von F, n = dim EF , mit Fn identifiziert und die Multiplikation in E, d. h. in Fn , durch eine Strukturmatrix S beschrieben (8.11 auf Seite 114). Liegt nun ein Zwischenk¨orper F⊆D⊆E vor, so kann mit dieser Technik die Multiplikation in E auf die in D und die von D auf die in F zur¨ uckgef¨ uhrt werden. Anstatt einer großen Strukturmatrix liegen dann zwei kleinere Strukturmatrizen vor; die Rechnungen sind dann u ¨bersichtlicher und leichter zu organisieren. Dies erkl¨ aren wir an dem am Anfang des Kapitels behandelten Beispiel F = GF (2) ,
D = GF (22 ) ,
E = GF (24 ) .
uglich Sei v = x2 + x3 , siehe 9.1, und T die Strukturmatrix von D u ¨ ber F bez¨ der Basis 1, v. Bez¨ uglich dieser Basis ist 1 = 10 ,
v = 01 ,
v 2 = 1 + v = 11 ,
1 Eine solche Wahl von E aus den unendlich vielen Objekten in E ist korrekt, da grad A eine endliche Zahl ist.
9.12
132
9. Erweiterungsk¨ orper
also
T =
1 v
v 1+v
10 01
=
Die Komponenten von T sind
1 0 T1 = , 0 1
T2 =
01 11
0 1
∈ D2×2 .
1 1
∈ F2×2 .
Um eine Strukturmatrix von E u ¨ ber D zu bestimmen, nehmen wir als Basis von ED die Elemente 1, x ∈ E; sie sind linear unabh¨angig, denn 1 ∈ D, x ∈ D. Wegen dim ED = 2 bilden sie daher eine Basis. Sei S die dazugeh¨orige Strukturmatrix,
1 x S= . x x2 Bez¨ uglich der Basis 1, x ist 1 = 10 und x = 01. Wegen (v + 1)x = (1 + x2 + x3 )x = x + x3 + x4 = x + x3 + 1 + x + x2 + x3 = 1 + x2 ist x2 = 1 + (v + 1)x = 1 (v + 1). Also ist
10 01 S= 01 1 (v + 1) mit den Komponenten
1 S1 = 0
0 1
,
S2 =
0 1
1 v+1
.
Sei nun a = (a1 , a2 , a3 , a4 ) ∈ F4×4 . Mit a(1) = (a1 , a2 ) ,
a(2) = (a3 , a4 )
ist a = (a(1) , a(2) ). Wir identifizieren a(1) , a(2) mit Elementen aus D bez. der Basis 1, v (1)
(1)
a(1) = a1 + a2 v ,
(2)
(2)
a(2) = a1 + a2 v
und a als Element von E bez. der Basis 1, x von ED
2
a = a(1) + a(2) x . Sei auf diese Weise auch b ∈ E b = (b(1) , b(2) ) = b(1) + b(2) x . 2 Der Leser mache sich klar, dass 1, v, x, xv Basis von EF ist, bez. dieser Basis ist (a1 , a2 , a3 , a4 ) das Koeffiziententupel von a ∈ E.
9. Erweiterungsk¨ orper
133
Die Addition ist komponentenweise a + b = (a(1) + b(1) , a(2) + b(2) ) . F¨ ur das Produkt ab gilt nach 8.11: (ab)(1) = (a(1) , a(2) ) S1
b(1) b(2)
= a(1) b(1) + a(2) b(2)
(1) b (ab)(2) = (a(1) , a(2) ) S2 b(2)
(1) 0 1 b (1) (2) = (a , a ) b(2) 1 v+1
(1) b = (a(2) , a(1) + a(2) (v + 1)) b(2) = a(2) b(1) + a(1) b(2) + a(2) b(2) (1 + v) . Damit ist die Multiplikation in E auf die in D zur¨ uckgef¨ uhrt. Diese wird durch die Strukturmatrix T geregelt. Wir rechnen ein Beispiel, es sei a = 1011 ,
b = 1101 ,
also a(1) = 10 (= 1) ,
a(2) = 11 (= 1 + v)
b(1) = 11 (= 1 + v) ,
b(2) = 01 (= v) .
Es folgt (ab)(1) = 1 + v + (1 + v)v (ab)(2) = (1 + v)2 + v + (1 + v)v(1 + v) . Die hier vorkommenden Produkte in D lassen sich mit den Komponenten der Strukturmatrix T berechnen; nat¨ urlich ist in diesem kleinen“ Beispiel eine ” direkte Rechnung bequemer. Bez¨ uglich der Basis 1, v von DF ist 1 = 10 ,
v = 01 ,
1 + v = 11 .
Es folgt v 2 = 11, (1 + v)v = 10, (1 + v)2 = 01, (1 + v)2 v = 11. Insgesamt erh¨ alt man ab = 0111.
134
9. Erweiterungsk¨ orper
¨ Ubungen
1) Im Anschluss an die eben gemachte Rechnung zeige, dass 1, v, x, xv Basis von EF ist. Bestimme außerdem die Koeffiziententupel von a, b, c bez. der Basis 1, x, x2 , x3 . ¨ In den folgenden Ubungen sei F = Z2 ,
N = 1 + X + X 3 ∈ F[X]
und
E = FN .
2) Bestimme f¨ ur jedes v ∈ E das Minimalpolynom Mv ∈ F[X]. 3) Zeige, dass N in E[X] in Linearfaktoren zerf¨allt. 4) Sei Q = X 7 − 1 ∈ F[X]. Zeige, dass N Teiler von Q ist.
Kapitel 10 Existenz und Eindeutigkeit von endlichen K¨ orpern
10
10
10 Existenz und Eindeutigkeit von endlichen K¨ orpern In Kap. 8 haben wir im konkret vorliegenden K¨orper E = FN = GF (pn ) gerechnet; dabei war F = Zp , p Primzahl, und N ein irreduzibles Polynom aus F[X] vom Grad n. Dabei war noch nicht klar, ob f¨ ur jedes n ∈ N ein soches Polynom N existiert. Dies zeigen wir hier und beweisen zugleich die Eindeutigkeit von GF (pn ). Sei E endlicher K¨orper. Um die Ergebnisse aus dem vorigen Kapitel u ¨ bernehmen zu k¨ onnen, zeigen wir als erstes, dass die Vielfachen von 1 ∈ E in E einen Teilk¨ orper von E bilden, der isomorph zu einem K¨orper Zp ist, diesen bezeichnen wir dann mit F. Dann ist E Erweiterungsk¨orper von F. Um die Vielfachen von 1 ∈ E in E von den Vielfachen von 1 ∈ Z in Z zu unterscheiden, notieren f¨ ur den Augenblick ein solches Vielfaches von 1 mit ψ(i),1 ψ(i) = 1 + · · · + 1 ∈ E ,
i ∈ N;
i
weiter sei ψ(0) = 0 ∈ E und ψ(−i) = −ψ(i) = −(1 + · · · + 1) = −1 − 1 · · · − 1 . i
Damit wird ψ : Z → E ,
i → ψ(i)
eine Abbildung, welche vertr¨ aglich mit der Addition und Multiplikation ist, d. h. es gilt ψ(i + j) = ψ(i) + ψ(j)
und
ψ(i · j) = ψ(i)ψ(j) . Zum Beispiel ist in E ψ(2) + ψ(3) = (1 + 1) + (1 + 1 + 1) = (1 + 1 + 1 + 1 + 1) = ψ(5) = ψ(2 + 3) ,
1
In Kapitel 7 haben wir ein solches Vielfaches mit ˜i bezeichnet, siehe Seite 100.
138
10. Existenz und Eindeutigkeit von endlichen K¨ orpern
und ψ(2)ψ(3) = (1 + 1)(1 + 1 + 1) = (1 + 1 + 1) + (1 + 1 + 1) = ψ(6) = ψ(2 · 3) . Sei F = {ψ(i) | i ∈ Z}
(⊆ E)
die Menge dieser Vielfachen. Da ψ vertr¨ aglich mit der Addition und Multiplikation ist, u ¨ bertragen sich die Rechengesetze in Z auf die in F. Mit Z ist daher auch F Ring, also Unterring von E. Die additive Gruppe F(+) besteht aus den Vielfachen ψ(i) von 1 ∈ F, sie ist daher zyklisch; F(+) ist auch endlich, denn E ist endlicher K¨ orper. Damit steht uns die additive Version von 6.8 und 6.9 auf Seite 86 zur Verf¨ ugung: Die Ordnung von 1 ∈ F(+) ist die kleinste Zahl p ∈ N, so dass ψ(p) = 1 + · · · + 1 = 0 , p
p heißt die Charakteristik von E, man schreibt p = char E . Nach 6.9 ist F = {ψ(i) | i ∈ Zp } , ψ(i) + ψ(j) = ψ(i +p j) ,
|F| = p i, j ∈ Zp .
Wir behaupten, dass ψ auch vertr¨ aglich mit der Multiplikation im Ring Zp ist. Seien dazu i, j ∈ Zp und i·j = f ·p+r ,
r = p (i · j) = i ·p j .
Dann folgt ψ(i)ψ(j) = ψ(f · p) + ψ(r) = ψ(f )ψ(p) + ψ(r) = ψ(r) = ψ(i ·p j) , wie behauptet. Bezeichnen wir die Einschr¨ ankung von ψ auf die Teilmenge Zp ⊆ Z mit ψ, d. h. ψ : Zp → F
mit i → ψ(i) ,
so ist ψ eine bijektive Abbildung; wir k¨ onnen also sagen, dass die Abbildung ψ ein Ring-Isomorphismus ist.
10. Existenz und Eindeutigkeit von endlichen K¨ orpern
139
Schließlich behaupten wir noch, dass p = char E eine Primzahl ist. Andernfalls existieren a, b ∈ Zp mit p = a · b. In E gilt dann 0 = ψ(p) = ψ(a)ψ(b) , also ψ(a) = 0 oder ψ(b) = 0; dies widerspricht der Minimalit¨at von p. orper (1.8). Daher ist p Primzahl, mit Zp ist also F K¨ Wir fassen zusammen: Proposition Sei E endlicher K¨ orper und p = char E. Dann gilt:
10.1
a) p ist Primzahl. Die Vielfachen von 1 ∈ E in E bilden einen Teilk¨orper F von E, welcher isomorph zu dem K¨ orper Zp ist. i
i
i
b) (a + b)p = a p + b p f¨ ur a, b ∈ E und i ∈ N. c) F¨ ur a ∈ E :
ap = a ⇔ a ∈ F
Beweis Es ist noch b) und c) zu begr¨ unden. Genau wie 8.6 auf Seite 109 folgt (ap + bp ) = ap + bp . Iteriert man diese Beziehung, so ergibt sich b).
c) Wir k¨ onnen a = 0 annehmen. Dann ist ap = a ⇔ ap−1 = 1. Nun bedeutet p−1 = 1, dass a Nullstelle des Polynoms X p−1 − 1 ∈ E[X] ist. Nach dem a ur alle a ∈ F∗ . S¨amtliche Satz von Fermat (1.9 auf Seite 13) ist ap−1 = 1 f¨ p−1 p − 1 Nullstellen des Polynoms X − 1 liegen daher schon in F (vergleiche 5.6 auf Seite 69). Es folgt c). Der K¨ orper F heißt Primk¨ orper von E. Jeder Teilk¨orper von E enth¨alt 1 ∈ E, somit enth¨ alt er auch den Primk¨ orper F. Der Primk¨orper ist also der kleinste Teilk¨ orper von E. Wir k¨ onnen E als Vektorraum u ¨ ber F auffassen, diesen Vektorraum haben wir im vorigen Kapitel mit EF bezeichnet. Wegen |E| < ∞ ist EF endlichdimensional. Damit ist EF isomorph zu dem Vektorraum Fn , n = dim EF . Es folgt das (vergleiche 2.3 auf Seite 22): Korollar Seien E endlicher K¨ orper wie in 10.1 und n = dim EF . Dann ist
|E| = pn , also E = GF (pn ).
10.2
140
10. Existenz und Eindeutigkeit von endlichen K¨ orpern
Im Folgenden sei E endlicher K¨ orper, p = char E, mit dem Primk¨orper F. Um die Notation zu vereinfachen nehmen wir an, dass F = Zp ist. Wir bilden die Polynome i
Pi : = X p − X ∈ F[X] ,
i∈N,
diese spielen im Folgenden eine prominente Rolle. Da F Teilk¨orper von E ist, liegt Pi auch in E[X]. Es sei Di = {a ∈ E | Pi (a) = 0} ur a ∈ E die Menge der Nullstellen von Pi in E. Offenbar gilt f¨ i
a ∈ Di ⇔ ap = a und f¨ ur a = 0 i
a ∈ Di ⇔ a p 10.3
−1
=1.
Lemma Die Nullstellenmenge Di ist Teilk¨ orper von E. Zerf¨allt das Polynom
Pi in E[X] in Linearfaktoren, so ist |Di | = pi .
Beweis Di ist Teilk¨ orper, wenn mit a, b auch a ± b, ab und ab−1 in Di liegen.
Doch dies folgt aus 10.1.b und den Potenzgesetzen, z. B. gilt f¨ ur a, b ∈ Di i
i
i
(a + b)p = ap + bp = a + b
i
i
i
und (ab)p = ap bp = ab .
ochstens pi Nullstellen in E, d. h. es ist Der Grad von Pi ist pi , also hat Pi h¨ |Di | ≤ pi . ur die Behauptung Das Polynom Pi zerfalle nun in E[X] in Linearfaktoren. F¨ i |Di | = p gen¨ ugt es zu zeigen, dass Pi in E nur einfache Nullstellen besitzt. Dazu ziehen wir das Kriterium 5.9 auf Seite 72 heran. Die Ableitung von Pi ist i
Pi = ψ(pi ) X p
−1
−1;
dabei ist ψ(pi ) wie vorher ψ(pi ) = 1 + · · · + 1 . pi
10. Existenz und Eindeutigkeit von endlichen K¨ orpern
141
Da pi Vielfaches von p = char E ist, folgt ψ(pi ) = 0 und somit Pi = −1. Die Ableitung Pi besitzt daher u ¨ berhaupt keine Nullstellen, die von Pi sind also einfache Nullstellen. Sei n ∈ N. Nach Satz 9.11 existiert eine endliche Erweiterung E von F, in welcher das Polynom Pn in Linearfaktoren zerf¨allt. Dann besagt 10.3, dass orper mit pn Elementen ist. Wir k¨ onnen also feststellen Dn ein K¨ Existenzsatz Sei pn eine Potenz der Primzahl p. Dann existiert ein endlicher
K¨ orper mit pn Elementen. Seine Charakteristik ist p.
10.4
In dem eben konstruierten K¨ orper Dn = GF (pn ) ist der Primk¨orper F = Zp . Um den Isomorphiebegriff nicht zu sehr zu stapazieren, setzen wir dies weiter voraus. Eine Erg¨ anzung von 10.4 ist: Sei E endlicher K¨orper mit Primk¨ orper F = Zp und n = dim EF , also E = GF (pn ). Dann gilt:
10.5
a) E ist Zerf¨ allungsk¨ orper des Polynoms Pn , d. h. in E gilt (X − a) . Pn = a∈E
b) Sei z primitives Element von E. Ist N ∈ F[X] das Minimalpolynom von z, so ist der K¨ orper E isomorph zum K¨ orper FN . n
Beweis In der zyklischen Gruppe E∗ ist ap
−1
= 1 f¨ ur alle a ∈ E∗ .2 In E gilt ur alle a ∈ E. Es folgt a). Ist z primitiv, so ist dann a = a, also Pn (a) = 0 f¨ E = F(z). Die Aussage b) folgt also aus 9.8.c auf Seite 129. pn
Der Existenzsatz und 10.5.b ergeben das Korollar: Satz Sei F = Zp . Zu jedem n ∈ N existiert in F[X] ein irreduzibles Polynom
N vom Grad n. 2
Dazu vergleiche die Fußnote auf Seite 88.
10.6
142
10. Existenz und Eindeutigkeit von endlichen K¨ orpern
Folgende Aussage ist der Schl¨ ussel zur Eindeutigkeitsfrage.
10.7
Sei N ∈ F[X] irreduzibles Polynom vom Grad n. Dann ist N Teiler des Polynoms Pn . Beweis Der K¨ orper E := FN hat pn Elemente und die Elemente von E sind
die Nullstellen von Pn in E, siehe 10.5.a; insbesondere ist das Element x ∈ E Nullstelle von Pn . Außerdem ist N das Minimalpolynom von x (9.5 auf Seite 127). Wegen Pn (x) = 0 ist deshalb Pn ein Vielfaches von N , siehe 9.3 auf Seite 126.
10.8
Satz Seien N, M ∈ F[X] zwei irreduzible Polynome vom Grad n. Dann sind orper. die K¨ orper FN und FM isomorphe K¨
Beweis Sei E = FM . Nach 10.5.b besteht E aus den Nullstellen des Polynoms
Pn und nach 10.7 ist N Teiler von Pn . Insbesondere existiert ein v ∈ E mit N (v) = 0. Nun besagt 9.4, dass N Minimalpolynom von v ist. Die Behauptung ergibt sich somit aus 9.8.b auf Seite 129.
Aus 10.5.b und 10.8 folgt der
10.9
Eindeutigkeitssatz Sei n ∈ N und p Primzahl. Bis auf Isomorphie existiert nur ein endlicher K¨ orper mit pn Elementen.
Wir haben alles zusammen, um auch die Teilk¨orper eines endlichen K¨orpers zu bestimmen. orper F, sei m ∈ N. Nach 10.3 ist Sei wie vorher E = GF (pn ) mit Primk¨ m
Dm = {a ∈ E | ap = a} Teilk¨ orper von E. Er besteht aus den Nullstellen von Pm , die in E liegen. Es sei D = {Dm | m teilt n} .
10. Existenz und Eindeutigkeit von endlichen K¨ orpern
143
Satz D ist die Gesamtheit der Teilk¨ orper von E. F¨ ur D = Dm aus D ist
m = dim DF
10.10
und |D| = pm .
Insbesondere ist D1 = F und Dn = E. Beweis Sei D Teilk¨ orper von E. Da F auch Primk¨orper von D ist, gilt nach
10.2 |D| = pm ,
m = dim DF .
Aus 10.5.a folgt D = {a ∈ D | Pm (a) = 0} . Wegen grad Pm = pm , ist D auch die Menge der Nullstellen von Pm , welche in E liegen. Es folgt D = Dm . Die Gradformel (9.10 auf Seite 130), angewandt auf F ⊆ D ⊆ E, besagt, dass m Teiler von n ist. orper beschreibt: Die gegenseitige Lage3 der Teilk¨ Seien Dm und Dk aus D. Dann gilt Dm ⊆ Dk
⇔
10.11
m ist Teiler von k .
Beweis Sei Dm ⊆ Dk . Die Gradformel, angewandt auf F ⊆ Dm ⊆ Dk besagt,
dass m Teiler von k ist. Sei umgekehrt m Teiler von k. Wir wenden 10.10 auf Dk anstatt E an. Danach existiert ein Teilk¨ orper D von Dk , so dass m
D = {a ∈ Dk | ap = a} . Es folgt D = Dm und Dm ⊆ Dk .
3
¨ Vergleiche dazu die Ubungsaufgabe 7) auf Seite 92.
Kapitel 11 Irreduzible Polynome
11
11
11 Irreduzible Polynome Im Folgenden sei p eine Primzahl und F = Zp . Wir haben im vorigen Kapitel gesehen, dass f¨ ur jedes n ∈ N ein irreduzibles Polynom N ∈ F[X] vom Grad n existiert (10.6). Im Folgenden bestimmen wir die irreduziblen und die primitiven Polynome genauer. In diesem Kapitel ist E = GF (pn ) endlicher K¨orper mit dem Primk¨orper F, also ist p = char E. Nach 10.5.b k¨ onnen wir – wie schon in den vorigen Kapiteln – annehmen, dass E = FN ; dabei ist N ein irreduzibles Polynom vom Grad n in F[X]. Dann ist N das Minimalpolynom von x ∈ E (9.5 auf Seite 127). Nach unserer Definition ist N primitives Polynom, wenn x ein primitives Element von FN ist ( Seite 106). Theoretisch klarer ist folgende Definition“. ” Ein Polynom M ∈ F[X] ist genau dann primitives Polynom vom Grad n, wenn M Minimalpolynom eines primitiven Elements von E ist. Beweis Sei M ∈ F[X] irreduzibel vom Grad n. Dann ist FM ein zu E =
orper (10.8). Beide K¨ orper bestehen aus den Polynomen in FN isomorpher K¨ Fn [X], nur die Multiplikation ist verschieden.
Ist nun M primitiv, so ist x primitives Element von FM und M Minimalpolynom von X. Der Isomorphismus η aus 9.8 (Seite 129) u uhrt X in ein ¨berf¨ primitives Element von E mit Minimalpolynom M . Sei umgekehrt z ein primitives Element von E und M = Mz das Minimalpolynom. Dann ist M ein irreduzibles Polynom vom Grad n und η : FM → E ein Isomorphismus (9.8.c), es ist η(x) = z. Mit z ist also auch x ∈ FM primitiv, d. h. M ist primitives Polynom. Nach 10.5.b ist E Zerf¨ allungsk¨ orper von n
Pn = X p − X ∈ F[X] , d. h. Pn =
v∈E
(X − v) .
11.1
148
11. Irreduzible Polynome
Die Linearfaktoren X − v ∈ E[X] sind irreduzibel in E[X], es handelt sich also um die Primfaktorzerlegung von Pn in E[X]. Wir interessieren uns hier aber f¨ ur eine Primfaktorzerlegung von Pn in F[X]. An sich ist eine solche schnell hingeschrieben. Sei M die Menge aller normierten irreduziblen Polynome M , deren Grad Teiler von n ist. 11.2
Satz a)
Pn =
M
M∈M
b) M ist die Menge aller Minimalpolynome Mv , v ∈ E. Beweis Sei M ∈ F[X] ein normierter, irreduzibler Teiler von Pn . Dann exis-
tiert ein v ∈ E mit M (v) = 0; nach 9.4 ist daher M das Minimalpolynom Mv . Dabei ist nach 9.12 grad M Teiler von n, also M ∈ M.
Sei M ∈ M, m = grad M . Wir zeigen, dass M Teiler von Pn ist, nach dem eben Gesagten ist dann M ein Minimalpolynom Mv . Nach 10.10 existiert ein Teilk¨ orper D von E mit m = dim DF , dabei ist D Zerf¨allungsk¨orper von m Pm = X p − X = (X − v) . v∈D
Aus 10.7 folgt mit D, M anstatt E, N , dass M Teiler von Pm ist. Dies ist die Behauptung, denn Pm ist Teiler von Pn .
Wir f¨ ugen hinzu:
11.3
Sei M ∈ M, m = grad M . Dann zerf¨ allt M in E[X] in Linearfaktoren. Sei etwa m (X − vi ) , v1 , . . . , vm ∈ E . M= i=1
Dann gilt: a) Die Nullstellen v1 , . . . , vm von M in E sind verschieden. b) F¨ ur jede Nullstelle vi , i = 1, . . . , m, ist M das Minimalpolynom Mvi .
11. Irreduzible Polynome
149
c) Ist M = a0 + a1 X + · · · + am−1 X m−1 + X m , ai ∈ F, so ist am−1 = −(v1 + v2 + · · · + vm ) = − vi , 1≤i≤m
am−2 = v1 v2 + v1 v3 + · · · + vm−1 vm =
vi1 vi2 ,
1≤i1
.. .
am−j = (−1)j
vi1 vi2 . . . vij ,
1≤i1
.. .
a0 = (−1)m v1 v2 . . . vm .
Die Formeln in 11.3.c verifiziert man durch Ausmultipliziern des Polynoms m M = i=1 (X − vi ), sie heißen die Wurzelformeln von Vieta. Aus den Nullstellen von M in E lassen sich also die Koeffizienten von M berechnen. Wir machen gleich ein Beispiel. Wir zeigen im Folgenden, dass aus einer einzigen Nullstelle v von M alle anderen durch Potenzieren von v gewonnen werden k¨onnen. Grundlegend daf¨ ur ist erstens die Rechenregel (a + b)p = ap + bp
und (ab)p = ap bp ,
( )
in E, die wir schon dauernd benutzt haben (10.1.b auf Seite 139), und zweitens die Beziehung (a ∈ E) ap = a ⇔ a ∈ F .
(
)
Diese steht in 10.1.c. Bevor wir weiter argumentieren, rechnen wir ein Beispiel im K¨orper E = GF (23 ), siehe Seite 34. Hier ist F = Z2 , p = 2 und n = 3, sei v = 1 + x + x2 = x5 ∈ E . Wir bilden in E[X] das Polynom M = (X − v)(X − v 2 )(X − v 4 ) .
150
11. Irreduzible Polynome
Sei M = a0 + a1 X + a2 X 2 + a3 X 3 , ai ∈ E. Durch Ausmultiplizieren wie in 11.3.c erh¨ alt man a3 = 1 ,
a2 = (v + v 2 + v 4 ) ,
a1 = (vv 2 + vv 4 + v 2 v 4 ) ,
a0 = vv 2 v 4 .
In E ist v 7 = 1, also v 8 = v; mit ( ) folgt: a22 = (v + v 2 + v 4 )2 = v 2 + v 4 + v 8 = a2 , a21 = (vv 2 + vv 4 + v 2 v 4 )2 = v 2 v 4 + v 2 v + v 4 v = a1 , a20 = (vv 2 v 4 )2 = v 2 v 4 v = a0 Nun besagt (
), dass die Koeffizienten ai im Primk¨orper F liegen, d. h. M ∈ F[X]. Da die Nullstellen v, v 2 , v 4 von M nicht in F liegen, ist M nach 5.5 irreduzibel in F[X], es folgt M = Mv , vergleiche 9.4. F¨ ur die Rechnung im allgemeinen Fall ist es zweckm¨aßig, die Regel (
) auf den Polynomring E[X] zu u ¨bertragen. Wir ordnen einem Polynom A = i ai X i ∈ E[X] das Polynom p Aπ = ai X i ∈ E[X] i
zu. Aus (
) folgt:
11.4
F¨ ur A ∈ E[X] gilt:
Aπ = A ⇔ A ∈ F[X]
Setzt man v ∈ E in A ein, bildet also A(v), so folgt mit ( ) p p (A(v))p = ai v i = (ai v i )p = ai (v p )i = Aπ (v p ) . i
i
i
Mit 11.4 folgt:
11.5
Sei v ∈ E Nullstelle von A ∈ F[X]. Dann ist auch v p Nullstelle von A.
Aus ( ) ergibt sich außerdem, dass die Abbildung A → Aπ vertr¨aglich mit der Addition und Multiplikation in E[X] ist, d. h. (A + B)π = Aπ + B π
und
(A · B)π = Aπ · B π .
11. Irreduzible Polynome
151
Ist z. B. A = a0 + a1 X, B = b0 + b1 X + b2 X 2 , so folgt (A · B)π = ((a0 b0 ) + (a0 b1 + a1 b0 )X + (a0 b2 + a1 b1 )X 2 + a1 b2 X 3 )π = (a0 b0 )p + (a0 b1 + a1 b0 )p X + (a0 b2 + a1 b1 )p X 2 + (a1 b2 )p X 3 () p p = a0 b 0 π
+ (ap0 bp1 + ap1 bp0 )X + (ap0 bp2 + ap1 bp1 )X 2 + (ap1 bp2 )X 3
= A · Bπ .
Wir kommen nun wieder auf die Situation 11.2, 11.3 zur¨ uck. Das Minimalpolynom von v = 0 ist das Polynom X. Im Folgenden sei 0 = v ∈ E; nach n 7.2 ist v p −1 = 1, also n
vp = v . m
Satz Sei m die kleinste Zahl aus {1, . . . , n} mit v p
= v. Dann sind die verschiedenen Nullstellen des Minimalpolynoms Mv . Insv, v p , . . . , v p besondere ist m = grad Mv und m−1
m−1
Mv = (X − v) · (X − v p ) · · · (X − v p
).
Beweis Nach 11.5 ist mit v auch v p Nullstelle von Mv , und dann auch (v p )p = 2
v p , usw. Das Polynom m−1
A = (X − v) · (X − v p ) · · · (X − v p
)
ist daher Teiler von Mv in E[X]. Wir zeigen, dass A schon in F[X] liegt. Dann folgt A = Mv , denn Mv ist in F[X] irreduzibel. Zum Beweis von A ∈ F[X] ziehen wir das Kriterium 11.4 heran. Es ist i
i
i+1
(X − v p )π = X − (v p )p = X − v p
.
Insbesondere ist nach Definition von m m−1
(X − v p
m
)π = X − v p = X − v .
Da der Operator π mit der Addition und Multiplikation vertr¨aglich ist, folgt m−1
Aπ = (X − v)π · (X − v p )π · · · (X − v p Daher liegt A in F[X].
)π = A .
11.6
152
11. Irreduzible Polynome
Die Beziehung m
vp = v m
bedeutet zun¨ achst v p −1 = 1. Also ist die Ordnung o(v) von v in der multiplikativen Gruppe E∗ Teiler von pm − 1, siehe 6.8 (auf Seite 86). Sie bedeutet i aber auch, dass v und damit auch jede Potenz v p in dem Teilk¨orper m
Dm = {w ∈ E | wp = w} liegt, siehe 10.3 und 10.10. Damit ist Dm der kleinste Teilk¨orper von E, in allt, d. h. Dm ist Zerf¨allungsk¨orper von welchem Mv in Linearfaktoren zerf¨ Mv . Ist v primitives Element von Dm , so ist o(v) = pm − 1. Bemerkung Sei A ∈ F[X] und l ∈ N die kleinste Zahl, so dass A im K¨ orper allt. Dann heißt pl −1 die Ordnung des Polynoms GF (pl ) in Linearfaktoren zerf¨ A. Die Ordnung des Minimalpolynoms Mv ist also pm − 1, m = grad Mv .
Ein Korollar zu 11.6 ist: 11.7
Sei v in 11.6 ein primitives Element von E. Dann ist m = n und n−1
Mv = (X − v) · (X − v p ) · · · (X − v p
).
j
Mit v sind auch alle Potenzen v p primitiv.
Beweis Nach 9.8 ist grad Mv = n. Dies beweist m = n. Da p teilerfremd zu j
pn − 1 ist, sind mit v auch die Potenzen v p primitiv (6.11 auf Seite 88).
Das Polynom Qn =
(X − z)
z primitiv
heißt Kreisteilungspolynom zur Zahl pn − 1, es ist Teiler von n
n
Pn = X p − X = X · (X p n
also von X p
−1
−1
− 1) ,
− 1. Mit 11.6, 11.7 k¨ onnen wir feststellen:
11. Irreduzible Polynome
153
Satz Das Kreisteilungspolynom Qn ist das Produkt aller primitiven Polyno-
me aus F[X] vom Grad n. Insbesondere liegt es in F[X].
Wir machen dazu zwei Beispiele. In E = GF (23 ) ist E∗ eine zyklische Gruppe der Ordnung 7. Also ist jedes Element = 0, 1 von E primitiv (6.12). Es folgt P3 = X 8 − X = X · (X 7 − 1) = X · (X − 1) · Q3 , Q3 =
X7 − 1 = 1 + X + X2 + X3 + X4 + X5 + X6 . X −1
Die primitiven Polynome u ¨ ber E haben Grad 3, denn dim EF = 3. Nach 11.8 existieren also zwei primitive Polynome. Diese sind nat¨ urlich die irreduziblen Polynome 1 + X + X 3 und 1 + X 2 + X 3 , siehe 5.7. Sei E = GF (24 ). Die multiplikative Gruppe E∗ hat Ordnung 15, also existieren acht primitive Elemente in E (6.11), d. h. grad Q4 = 8. Die primitiven Polynome haben Grad 4, also zerlegt sich Q4 in zwei primitive Polynome. aß 11.2. Die irreduziblen Teiler von Pn Wir zerlegen nun P4 = X 16 − X gem¨ haben Grad 1, 2 oder 4. Die vom Grad 1 sind X und X + 1 und 1 + X + X 2 ist das einzige irreduzible Polynom vom Grad 2. Also ist A :=
X 16 − X X(X + 1)(1 + X + X 2 )
Produkt der irreduziblen Teiler vom Grad 4. Es ist grad A = 16 − 4 = 12. Neben den zwei primitiven Polynomen existiert also noch ein nicht primitives Polynom vom Grad 4; dieses ist 1 + X + X 2 + X 3 + X 4 , siehe Beispiel 7 auf Seite 35. ¨ Solche Uberlegungen werden u ¨ bersichtlicher, wenn man die zyklische Gruppe E∗ in Bahnen Bv unter der Operation v → v p zerlegt, siehe 6.15 auf Seite 90. Dieser Zerlegung entspricht einer Zerlegung von Zpn −1 in Kreisteilungsklassen Ki . Dies haben wir in Kap. 5 auf Seite 90 erkl¨art, siehe 6.17. Die Gruppe G := E∗ ist eine zyklische Gruppe der Ordnung k := pn − 1 , die Zahlen p und k sind teilerfremd. Wie vorher sei z ein primitives Element, also ist G = {z i | i ∈ Zk } .
11.8
154
11. Irreduzible Polynome
Seien v und m wie in 11.6 und sei v = z i . Dann ist m−1
Bv = {v, v p , . . . , v p
} = {v j | j ∈ Ki } .
Es folgt:
11.9
Satz Sei v = z i . Dann ist
Mv =
(X − a) =
a∈Bv
(X − v j ) .
j∈Ki
Insbesondere ist grad Mv = |Ki |.
Bei fester Wahl des primitiven Elements z entsprechen also die irreduziblen Teiler = X von Pn in F[X] den Kreisklassen Ki . Die primitiven Polynome vom ur welche die Zahl i teilerfremd Grad n geh¨ oren dabei zu den Kreisklassen Ki , f¨ zu k ist, siehe 6.11. In diesem Fall ist |Ki | = n (11.7) Die Anzahl der zu k teilerfremden Zahlen i ∈ Zk haben wir mit φ(k) bezeichnet (Eulersche φFunktion). Es folgt:
11.10
Die Anzahl der primitiven Polynome vom Grad n ist φ(pn − 1) . n Die Zerlegung der Polynome Pn und Qn ist i. A. sehr aufw¨andig. Es existieren allerdings Verfahren und Algorithmen, die primitive Elemente und Polynome schneller berechnen, siehe etwa [3], Kap. 2 und [4], Kap. 4. Zum Schluss dieses Kapitels betonen wir nochmal die zentrale Bedeutung der Regel (a + b)p = ap + bp ,
(ab)p = ap bp .
( )
Die zweite Identit¨ at gilt in jedem K¨ orper, die erste ist im Allgemeinen falsch; sie gilt z. B. in keinem Teilk¨ orper von C. Es existiert jedoch Ersatz! Dies sei im Folgenden kurz skizziert. Sei E Erweiterungsk¨ orper des K¨ orpers F. Eine bijektive Abbildung β : E → E heißt F-Automorphismus von E, wenn folgende beide Regeln in E gelten: β(a + b) = β(a) + β(b) und β(a) = a
f¨ ur
a∈F.
β(ab) = β(a)β(b) ,
(1) (2)
11. Irreduzible Polynome
155
Sei β F-Automorphismus. F¨ ur A = ai X i ∈ E[X] sei Aβ : = β(ai ) X i . Aus (2) folgt Aβ = A im Fall A ∈ F[X]. Satz Sei E = GF (pn ) endlicher K¨ orper mit Primk¨orper F, und β ein F-
ur alle a ∈ E Automorphismus von E. Dann existiert i ∈ Zn , so dass f¨ i
β(a) = ap .
Beweis Sei z primitives Element von E und M = Mz das Minimalpolynom
von M . Nach 11.7 hat M die Form n−1
M = (X − z) · (X − z p ) · · · (X − z p
).
Wegen M ∈ F[X] ist M = M β . Es folgt (vergleiche Beweis von 11.6) n−1
M = (X − β(z)) · (X − β(z)p ) · · · (Xi − β(z)p
),
d. h. auch β(z) ist Nullstelle von M . Es existiert also i ∈ Zn mit i
β(z) = z p . Ist 0 = a ∈ E und a = z j , so folgt i
i
i
β(a) = β(z j ) = β(z)j = (z p )j = (z j )p = ap . Dies ist die Behauptung.
Ausblick Der Ersatz“ f¨ ur die Abbildung a → ap ist also der Begriff des ” F-Automorphismus. Die Gesamtheit der F-Automorphismen einer Erweiterung E ⊆ F bildet bez. der Komposition von Abbildungen eine Gruppe; sie heißt die Galoisgruppe der Erweiterung. Sei F ⊆ E wie in 11.11. Der interessierte Leser m¨oge sich u ¨ berlegen, dass in diesem Fall die Galoisgruppe eine zyklische Gruppe der Ordnung n ist; sie wird erzeugt von dem F-Automorphismus a → ap . In der Literatur heißt diese Abbildung der Frobenius-Automorphismus. Die Galoisgruppe spielt in der K¨ orpertheorie eine fundamentale Rolle, man spricht sogar von einer Galoistheorie. In dieser ist die Theorie der endlichen K¨ orper ein sch¨ ones und besonders einfaches Beispiel.
11.11
156
11. Irreduzible Polynome
¨ Ubungen
1) Man berechne die zwei primitiven Polynome u ¨ ber F = Z2 vom Grad 4. Sei E = GF (28 ). 2) Wieviele primitive Elemente besitzt E? 3) Wieviele primitive Polynome vom Grad 8 gibt es u ¨ ber F = Z2 ? 4) Wieviele irreduzible Polynome vom Grad 8 gibt es u ¨ ber F = Z2 ?
Kapitel 12 Reed–Solomon Codes
12
12
12 Reed–Solomon Codes In der sogenannten Kanalcodierung spielen endliche K¨orper eine zentrale Rolle. Wir erkl¨ aren dies an einem konkreten Beispiel, und zwar codieren und decodieren wir in einem Reed-Solomon Code zun¨achst mit den Parametern n = 6, k = 2 und dann mit den Parametern n = 7, k = 3. Sei F K¨ orper und seien n, k ∈ N, 1 ≤ k < n. Ein k-Tupel a = (a0 , . . . , ak−1 ) ∈ Fk heißt Information und diese soll von einem Sender an einen Empf¨anger verschickt werden. Dazu wird die Information a vom Sender in ein n-Tupel y = (y1 , . . . , yn ) ∈ Fn umgewandelt. Diese Umwandlung heißt Codierung, y heißt Codewort und die Menge aller so gebildeten Codew¨ orter y bilden einen Code (⊆ Fn ); gleich erkl¨ aren wir dies an einem Beispiel. ¨ Das Codewort y wandert durch einen fehlerbehafteten Ubertragungskanal, an dessen Ende erh¨ alt der Empf¨ anger anstatt y ein eventuell verst¨ ummeltes y˜ = (˜ y1 , . . . , y˜n ) ∈ Fn . Es sei
F = {i ∈ {1, . . . , n} | yi = y˜i }
¨ die Fehlerstellenmenge. Die Voraussetzung an den Ubertragungskanal ist die Existenz einer Fehlerschranke t, so dass stets |F | ≤ t . Die Aufgabe des Empf¨ angers bzw. des Decodierers ist es, aus y˜ zun¨achst y und dann die Information a zu gewinnen. Wir beschr¨ anken uns zun¨ achst auf den Fall k=2,
n=6.
Das einfachste Beispiel ist der Wiederholungscode: Die Information a = (a0 , a1 ) wird dreimal wiederholt, also ist y = (a0 , a1 , a0 , a1 , a0 , a1 ) . Es sei t = 1 angenommen. Der Empf¨ anger erh¨ alt etwa y˜ = (a0 , a1 , b, a1 , a0 , a1 ) ,
b = a0 .
160
12. Reed–Solomon Codes
Obwohl der Decodierer die Fehlerstelle 3 nicht kennt, ist klar, wie aus y˜ das Codewort y und die Information a zur¨ uckgewonnen werden kann – es ist gen¨ ugend Redundanz vorhanden. Man mache sich klar, dass unter der Voraussetzung t = 2 im Fall n = 6 keine Chance besteht, y˜ zu decodieren, wohl aber bei f¨ unffacher Wiederholung der Information a, also im Fall n = 10. Wir stellen nun eine andere Codierung von a vor, die eine Decodierung von y˜ ∈ F6 im Fall t = 2 erlaubt. Sei zun¨ achst F = R der K¨ orper der reellen Zahlen. Wir identifizieren die Information a = (a0 , a1 ) ∈ R2 mit der linearen Funktion y(x) = a0 + a1 x . Wir codieren a, indem wir die sechs Werte y(1), . . . , y(6) bilden, also ist y = ( y(1), y(2), y(3), y(4), y(5), y(6) ) . Visualisiert man die Funktion y(x) = a0 +a1 x in bekannter Weise durch ihren Graphen, bildet man also die Punkte (i, y(i)) ∈ R2 , so liegt in der Tafelebene R2 folgendes Bild vor:
1
2
3
4
5
6
Entscheidend ist, dass durch zwei verschiedene Punkte in der Tafelebene genau eine Gerade geht; daher ist in je zwei der gezeichneten sechs Punkte die Information a codiert. ¨ Nach der Ubertragung liege nun y˜ ∈ F6 vor. Ist etwa F = {2, 4}, so sieht der Decodierer etwa folgende Punkte (i, y˜i ):
12. Reed–Solomon Codes
161
1
2
3
4
5
6
Offenbar ist hier die Gerade y(x) die einzige Gerade, auf der vier der angezeichneten sechs Punkte liegen, die Decodierung ist also m¨oglich. Nun interpretiert der Computer keine Bilder, sondern er rechnet. Sei etwa a = (2, 5) ,
also y(x) = 2 + 5x .
Dann ist y = ( 7 , 12 , 17 , 22 , 27 , 32 ) . Um etwa die Gerade durch die zwei richtigen Punkte (3, 17) und (5, 27) zu bestimmen, hat der Decodierer folgendes Gleichungssystem a0 + 3a1 = 17 a0 + 5a1 = 27 zu l¨ osen. Dies ist hier fast trivial, in einem allgemeineren Kontext (große Zahlen k und n) tauchen dabei gr¨ oßere Zahlen und vor allem Br¨ uche auf, die eine schnelle“ L¨ osung erschweren. ” Deswegen nimmt man anstelle R einen endlichen K¨orper F. In unserem Beispiel sei F = Z7 = { 0 , 1 , 2 , 3 , 4 , 5 , 6 } . Die Gerade“ y(x) = a0 + a1 x hat nun die Form (a = (2, 5) ∈ F2 ) ” y(x) = 2 +7 5 ·7 x . Also ist y = ( 0 , 5 , 3, 1, 6, 4 ) .
162
12. Reed–Solomon Codes
Das Bild schaut nun so aus:
6 5 4 3 2 1
1
2
3
4
5
6
Es enth¨ alt keinerlei Information, nur Rechnung f¨ uhrt weiter! Auch in dieser Situation ist die Information a = (2, 5) in je zwei der sechs Punkte codiert: Statt (3, 17) und (5, 27) hat man nun die Punkte (3, 3) und (5, 6). Wir l¨osen das lineare Gleichungssystem a0 +7 3 ·7 a1 = 3 a0 +7 5 ·7 a1 = 6 Zieht man von der 2-ten Gleichung die 1-te ab, so erh¨alt man 2 ·7 a1 = 3, also a1 = 32 = 5. Dies in die 1-te eingesetzt ergibt a0 +7 3 ·7 5 = 3, also a0 = 3 −7 3 ·7 5 = 3 − 1 = 2. Im Folgenden lassen wir die alberne 7 unter + und · weg, rechnen aber weiter in F = Z7 . Außerdem identifizieren wir die Funktion y(x) = a0 + a1 x mit dem Polynom A = a0 + a1 X ∈ F[X] . Wir werden nachher bei der Decodierung die diskrete Fouriertransformation einsetzen, dazu ist es zweckm¨ aßig die Elemente x ∈ F6 umzunumerieren. Anstatt x = (x1 , . . . , x6 ) schreiben wir x = (x0 , . . . , x5 ). Sei z = 3 ∈ F. Die Potenzen von z in F sind ( z 0 , z 1, z 2 , z 3, z 4 , z 5 ) = ( 1 , 3 , 2 , 6 , 4 , 5 ) ,
12. Reed–Solomon Codes
163
z = 3 ist also primitives Element von F. Wir setzen nun yi = A(z i ) ,
i = 0, . . . , 5 ,
(12.1)
in unserem Beispiel a = (2, 5), A = 2 + 5X ist y = (0, 3, 5, 4, 1, 6) . ¨ Am Ende des Ubertragungskanals steht y˜, sei beispielsweise y˜ = ( 0 , 3 , 1 , 4 , 6 , 6 ) . Hier liegen nun die Fehler auf der 3-ten und 5-ten Stelle; aufgrund unserer Umnumerierung bleibt aber F = {2, 4} . Die Information a ist immer noch in zwei Komponenten y˜i , y˜j mit i, j ∈ F codiert, der Empf¨ anger kennt jedoch nicht F . Da gen¨ ugend viel Redundanz vorliegt, kann durch langwieriges Ausprobieren der verschiedenen M¨oglichkeiten i, j sicherlich y aus y˜ gewonnen werden, die Praxis erfordert jedoch ein schnelles Verfahren. Eine solche Decodierung von y˜ beschreiben wir im Folgenden. Mit der diskreten Fouriertransformation (7.7 auf Seite 101) berechnet der Decodierer zun¨ achst ein Polynom S = s0 + s1 X + s2 X 2 + s3 X 3 + s4 X 4 + s5 X 5 ∈ F6 [X] , so dass S(z i ) = y˜i ,
i = 0, . . . , 5 ,
(12.2)
man spricht vom Empfangspolynom. Wir werden gleich sehen, dass man von S otigt; diese heißen Syndrom von y˜. nur die vier Koeffizienten s2 , s3 , s4 , s5 ben¨ Nach 7.7 auf Seite 101 haben die Koeffizienten si die Form si = B(z −i ) ,
i = 0, 1, . . . , 5 .
Dabei ist B=n −1 (b0 + b1 X + · · · + b5 X 5 ) ∈ F[X] bi = S(z i ) = y˜i ,
i = 0, 1, . . . , 5
n = 1 + · · · + 1 = 6 = −1 (∈ F) . 6
164
12. Reed–Solomon Codes
Also ist B = −
5
y˜i X i .
i=0
In unserem Beispiel ist B = −(3X + X 2 + 4X 3 + 6X 4 + 6X 5 ) = 4X + 6X 2 + 3X 3 + X 4 + X 5 . Es ist (z −2 , z −3 , z −4 , z −5 ) = (z 4 , z 3 , z 2 , z) = ( 4 , 6 , 2 , 3 ) , also (s2 , s3 , s4 , s5 ) = ( B(4), B(6), B(2), B(3) ) . Die Werte B(i) berechnet man am schnellsten mit dem Hornerschema (5.11 auf Seite 74), wir bestimmen B(4) in F: h0 = 1 h1 = 4 + 1 = 5 h2 = 4 · 5 + 3 = 2 h3 = 4 · 2 + 6 = 0 h4 = 4 · 0 + 4 = 4 h5 = 4 · 4 + 0 = 2 Also ist B(4) = 2. Genauso ergeben sich die anderen Werte, es ist (s2 , s3 , s4 , s5 ) = ( 2 , 6 , 6 , 2 ) . Der Empf¨ anger kann S berechnen, er kennt aber nicht das Polynom E := S − A .
(12.3)
Es heißt Fehlerpolynom; wegen grad A ≤ 1 hat es die Form E = (s0 − a0 ) + (s1 − a1 )X +
5
si X i .
(12.4)
i=2
Das Syndrom liefert also die letzten vier Koeffizienten von E, und dies ist entscheidend. F¨ ur i = 0, . . . , 5 ist E(z i ) = S(z i ) − A(z i ) = y˜i − yi .
(12.5)
12. Reed–Solomon Codes
165
Mit 5.1 auf Seite 67 folgt: i ∈ F
⇔
⇔
E(z i ) = 0
X − zi
teilt
E.
(12.6)
F¨ ur jedes a = z i ∈ F∗ gilt a6 = 1, d. h. a ist Nullstelle von N := X 6 − 1 .
(12.7)
Nach 5.6 (Seite 69) ist N=
5
(X − z i ) .
(12.8)
i=1
Sei G = ggT(E, N ) . Aus (12.6) und (12.8) folgt G=
(X − z i ) .
(12.9)
i∈F
Das Polynom Q :=
N = (X − z i ) G
(12.10)
i∈F
heißt Fehlerstellenpolynom, denn seine Nullstellen sind die Potenzen z i mit i ∈ F. In unserem Beispiel ist Q = (X − z 2 ) · (X − z 4 ) = (X − 2) · (X − 4) = 1 + X + X 2 . Wir zeigen gleich anhand des Beispiels, wie der Decodierer, ausgehend vom Syndrom (s3 , s4 , s5 , s6 ), das Fehlerstellenpolynom Q, sowie das Polynom P :=
E G
(12.11)
berechnet. Zusammen mit (12.10) besagt 3.9 (Seite 48) Q · E = P · N = kgV(E, N ) .
(12.12)
Wir haben in Kap. 4 erkl¨ art (siehe 4.6 auf Seite 61, setze dort E = A), wie der erweiterte Euklidische Algorithmus eEA die Polynome Q, P berechnet, und so gehen wir nun in unserem Beispiel vor. Wesentlich dabei ist die Voraussetzung |F | ≤ 2 = t, aus ihr folgt grad Q ≤ 2 und mit 12.10 grad G ≥ (grad N ) − 2 = 4 .
(12.13)
166
12. Reed–Solomon Codes
Daher wissen wir, dass nach sp¨ atestens zwei Divisionen des eEA der Rest = 0 wird (4.2 auf Seite 58). Wie schon in Kap. 2 schreiben wir ein Polynom als Koeffiziententupel, beginnend mit dem h¨ ochsten Koeffizient = 0. Also ist nach 12.7 und 12.4 N = 1000006 ,
E = s5 s4 s3 s2 (s1 − a1 )(s0 − a0 ) .
Die im Folgenden uninteressanten Koeffizienten bezeichnen wir mit ∗i , dabei gibt der Index i an, f¨ ur wieviele Stellen der Stern steht, z. B. ist N = 10000∗2 und in unserem Beispiel . E = 2662∗2 Wir f¨ uhren nun die Divisionen D1 , D2 des eEA explizit durch, die Rekursionen f¨ ur die Polynme C1 , D1 und C2 , D2 entnehme man 4.1 auf Seite 57. START R0 := N , R1 := E D−1 := 0, D0 := 1 C−1 := 1 , C0 := 0 D1
Teile R0 durch R1 : (10000∗2) : (2662∗2) = 42 (= F1 ) − 1331∗3 446∗3 − 455∗3 61∗3 (= R2 )
Es ist C1 = 1 , D2
D1 = F1 = 4X + 2 .
Teile E durch R: (2662∗2 ) : (61∗3 ) = 56 (= F2 ) − 25∗4 1∗4 − 1∗4 0∗4
12. Reed–Solomon Codes
167
Wegen 12.13 wissen wir, dass diese Division aufgeht, also ist ∗4 = 0 und C2 = 5X + 6 ,
D2 = (5X + 6) · (4X + 2) + 1 = 6X 2 + 6X + 6 .
Aus 4.6 (Seite 61) folgt mit P = C2 , Q = D2 P · N = Q · E = kgV(N, E) , dies ist Gleichung (12.12). Der Decodierer bestimmt nun die Nullstellen λ von Q, indem er Q(λ) f¨ ur alle λ ∈ F∗ berechnet. In unserem Fall findet er die Nullstelle 2 = z 2 und 4 = z 4 , also ist F = {2, 4} und deshalb yi = y˜i
f¨ ur
i = 2, 4 .
Da in je zwei Werten yi , yj die Information a = (a1 , a2 ) codiert ist, nimmt der Decodierer etwa y1 = y˜1 = 3 und y3 = y˜3 = 4 und hat folgendes Gleichungssystem (z 1 = 3, z 3 = 6) a0 + 3a1 = 3 , a0 + 6a1 = 4 ¨ zu l¨ osen. Es ist 3a1 = 1, also a1 = 5, und dann a0 = 2, in Ubereinstimmung mit der Ausgangsinformation. Im letzten Schritt dieser Decodierung ist ein lineares Gleichungssystem zu l¨ osen. Die Praxis ist anders und zwar rechnet man mit dem Polynom P in 12.12 weiter. So gehen wir im n¨ achsten Beispiel vor. Wir verallgemeinern zun¨ achst die Sachlage und definieren in jedem endlichen K¨ orper F = GF (q) einen Reed-Solomon Code. Die Informationen sind Tupel (a0 , a1 , . . . , ak−1 ) ∈ Fk , die wir mit den Polynomen A = a0 + a1 X + · · · + ak−1 X k−1 ∈ Fk [X] identifizieren. Es sei z ein primitives Element von F und n=q−1. Der dazugeh¨ orige Reed–Solomon Code besteht aus allen n-Tupeln y der Form y = ( A(z 0 ), A(z 1 ), A(z 2 ), . . . , A(z n−1 ) ) ∈ Fn ,
A ∈ Fk [X] .
168
12. Reed–Solomon Codes
Diesen Code bezeichnen wir mit RS z (n, k). Die Aussagen (12.1)–(12.12) bleiben in dieser allgemeinen Situation richtig, wenn man (6, 2) durch (n, k) ersetzt. In der Praxis ist immer q eine 2-Potenz, also F = GF (2m ). Hier ist 1+1=0, vergleiche 10.1 auf Seite 139. Da n = 2m − 1 ungerade ist, folgt n = 1 + ···+ 1 = 1
(∈ F) .
n
Die Addition in einem solchen K¨ orper ist sehr einfach – darauf haben wir schon ¨ ofters hingewiesen. Der dazu n¨ otige Aufwand kann daher gegen¨ uber einer Multiplikation vernachl¨ assigt werden. Um den Rechenaufwand f¨ ur die Codierung und Decodierung abzusch¨ atzen, z¨ahlen wir deshalb nur die Anzahl der erforderlichen Multiplikationen; wir vernachl¨assigen auch die Anzahl der shifts“, die in der Polynommultiplikation und Polynomdivision auftreten, ” siehe die Rechnungen auf Seite 63. Konkret nehmen wir den K¨ orper F = GF (8), den wir auf Seite 34 tabelliert haben. Es sei z = x = 010 , die Potenzen z i = xi sind (z 0 , z 1 , z 2 , z 3 , z 4 , z 5 , z 6 ) = ( 100 , 010 , 001 , 110 , 011 , 111 , 101 ) . Wir rechnen im Code RS z (7, 3); anstatt (7, 3) schreiben wir im Folgenden auch gern (n, k), um auch den allgemeinen Sachverhalt zu erkl¨aren. Die Information a = (a0 , a1 , a2 ) ist mit dem Polynom A = a0 + a1 X + a2 X 2 ∈ F3 [X] identifiziert, sie wird in y = ( A(z 0 ), A(z 1 ), . . . , A(z 6 ) ) codiert. Geometrisch betrachtet liegen die Punkte“ (zi , yi ) = (z i , A(z i ) ∈ F2 ” auf einer Parabel“; wir schließen hier die Ausartungsf¨alle a2 = 0, a1 = a2 = 0 ” und a = 0 ein. Da durch drei Punkte h¨ ochstens eine solche Parabel geht, ist die Information in je drei dieser sieben Punkte (z i , yi ) codiert, die Redundanz ist also 4. Setzt man die Fehlerschranke t = 2, so existiert eine Parabel, die durch 5 der 7 Punkte (z i , y˜i ) geht, und diese enth¨alt mindestens 3 richtige Punkte, ist“ also die Information a. ”
12. Reed–Solomon Codes
169
Bemerkung Allgemein hat der Code RS z (n, k) die Fehlerschranke t =
(wenn n − k eine gerade Zahl ist).
n−k 2
Die Codierung y = (A(z i ))i=0,...,6 ist, außer im Fall A(z 0 ) = A(1) = a0 + a1 + · · · + ak−1 rechenaufw¨ andig. Wertet man A(z i ), i > 0, mit dem Hornerschema aus, so sind k −1 Multiplikationen in F erforderlich. Dies geschieht (n−1) mal, insgesamt sind also (k − 1) · (n − 1) Multiplikationen durchzuf¨ uhren, im konkreten Fall sind dies 2 · 6 = 12 Multiplikationen. In der Praxis wird deswegen eine andere Codierung gew¨ahlt, also der Information A ein anderes y ∈ Fn zugeordnet; dies erkl¨aren wir im Folgenden. Wir setzen D =
n−1
(X − z −i ) ,
es ist grad D = n − k .
i=k
In unserem Fall ist z −3 = x4 , z −4 = x3 , z −5 = x2 , z −6 = x, also D = (X − 011)(X − 110)(X − 001)(X − 010) = 110 + 010 X + X 2 + 110 X 3 + X 4 . Diese Koeffizienten geh¨ oren zum Code und sind im entsprechenden Chip fest installiert. Das Polynom D heißt Generatorpolynom des Codes RS z (n, k), denn es erzeugt den Code im folgenden Sinn. Der Codierer multipliziert A mit X n−k (shift) und teilt durch D: X n−k · A = F · D + R ,
grad R < n − k .
Es sei B := F · D = X n−k · A − R . Wegen grad (X n−k · A) < n − k + k = n hat B die Form B=
n−1
yi X i ,
yi ∈ F .
i=0
Mit diesen Koeffizienten yi bilden wir y = (y0 , y1 , . . . , yn−1 ) ∈ Fn ,
(12.14)
170
12. Reed–Solomon Codes
und behaupten, dass y in RS z (n, k) liegt. Zun¨achst halten wir aber fest: y = (y0 , . . . , yn−k−1 , a0 , a1 , . . . , ak−1 ) .
(12.15)
Dies ist wegen (12.14) klar, denn grad R < n−k. Die Information a belegt also die k oberen Stellen von y; man spricht von einer systematischen Codierung. die Fouriertransformierte von B. Nach 7.7 (auf Seite 101) ist Sei A = A
k−1
B(z −i )X i +
i=0
n−1
B(z −i )X i
und
i ) = yi , A(z
i=k
man beachte n = 1. Da D Teiler von B ist (12.14), sind die Nullstellen < k und z −i , i = k, . . . , n − 1, von D auch Nullstellen von B. Es folgt grad A darum y ∈ RS z (n, k) .
(12.16)
Ersetzt man in allen vorher gemachten Aussagen (12.1) bis (12.13) die Zahlen (2, 6) durch (k, n), so bleiben sie mit denselben Begr¨ undungen richtig, wenn ersetzt. man das Polynom A durch A In unserem Beispiel (F = GF (8)), auf das wir nun zur¨ uckkommen, ist (k, n) = (3, 7). Die Information sei a = ( 011 , 101 , 100 ) ∈ F3 . uher Wir bilden X 4 · A und teilen durch D, dabei schreiben wir wie schon fr¨ 4 die Koeffiziententupel von X · A und D in umgekehrter Reihenfolge; also ist X 4 · A = (100, 101, 011, 000, 000, 000, 000) , D=
(100, 110, 100, 010, 110) .
Wir dividieren (X 4 · A) durch D: (100, 101, 011, 000, 000, 000, 000) : (100, 110, 100, 010, 110) = (100, 011, 011) 100, 110, 100, 010, 110, 000, 000 011, 111, 010, 110, 000, 000 011, 100, 011, 111, 100, 000 011, 001, 001, 100, 000 011, 100, 011, 111, 100 101, 010, 011, 100
12. Reed–Solomon Codes
171
Nach 12.15 ist (wir drehen wieder um) y = ( 100 , 011 , 010 , 101 , 011 , 101 , 100 ) . Da D ein normiertes Polynom ist, sind hier 2 · 4 = 8 Multiplikationen auszuf¨ uhren – die entsprechende Zahl war vorher 12. Sei nun y˜ = ( 100 , 000 , 010 , 101 , 011 , 111 , 100 ) . Die Fehler liegen auf der zweiten und sechsten Stelle; infolge der Umnumerierung ist F = {1, 5) . Das Fehlerstellenpolynom ist M = (X − z)(X − z 5 ) = (X − 010)(X − 111) = 101 + 101 X + X 2 . Der Decodierer (der M noch nicht kennt) berechnet zun¨achst das Syndrom (s3 , s4 , s5 , s6 ) mit Hilfe der Fouriertransformation – wie im vorigen Beispiel. Dazu bildet er das Polynom 6
y˜i xi = 100 + 010X 2 + 101X 3 + 011X 4 + 111X 5 + 100X 6
i=0
und wertet es mit dem Hornerschema an den Stellen x−3 = x4 , x−4 = x3 , x−5 = x2 , x−6 = x aus. Beispielsweise lautet das Hornerschema an der Stelle x = 010: h0 = 100 h1 = xh0 + 111 = 010 + 111 = 101 h2 = xh1 + 011 = 100 + 011 = 111 h3 = xh2 + 101 = 101 + 101 = 000 h4 = xh3 + 010 = 000 + 010 = 010 h5 = xh4 + 000 = 001 + 000 = 001 h6 = xh5 + 100 = 110 + 100 = 010 = s6 Genauso ergeben sich die u ¨ brigen Werte, man erh¨alt (s3 , s4 , s5 , s6 ) = ( 110 , 101 , 110 , 010 ) .
172
12. Reed–Solomon Codes
Mit diesem Syndrom startet der Decodierer den eEA. Wir schreiben die Koeffiziententupel wieder in umgekehrter Reihenfolge. Nach (12.4) ist E = (010, 110, 101, 110, ∗3) und nach 12.7 ist N = X 7 − 1, also N = (100, 000, 000, 000, 000, ∗2) . Wegen grad G ≥ n − t = 7 − 2 = 5, siehe (12.13), ist der eEA, nach sp¨atestens zwei (= t) Divisionen beendet – wie im vorigen Beispiel. START R0 := N , R1 := E D−1 := 0, D0 := 1 C−1 := 1 , C0 := 0
D1
(100, 000, 000, 000, 000, ∗3) : (010, 110, 101, 110, ∗3) = (101, 010) 100, 001, 111, 001, ∗4 001, 111, 001, ∗4 001, 011, 100, ∗4 100, 101, ∗4 (= R2 ) Also ist C1 = 1 ,
D1 = F1 = 101X + 010 .
D2 (010, 110, 101, 110, ∗3) : (100, 101, ∗4) = (010, 010) (= F2 ) 010, 100, ∗5 010, ∗5 010, ∗5 000, ∗5 (= R3 = 0) Es folgt C2 = 010 X + 010 , D2 = D1 · F2 + D0 = (101 X + 010)(010 X + 010) + 100 = X 2 + 101 X + 101 .
12. Reed–Solomon Codes
173
Mit P := C2 = 010 + 010 X
und Q := D2 = 101 + 101 X + X 2
folgt aus 4.6 P · N = Q · E = kgV(N, E) ; dies ist (12.12). Die Nullstellen von Q sind z und z 5 , also die Fehlerstellen. Dies bedeutet yi = y˜i
f¨ ur
i = 0, 2, 3, 4, 6 .
Da nach (12.15) systematisch codiert wurde, folgt a0 = y˜4 = 011 a2 = y˜6 = 100 . Es fehlt a1 = y5 . Nach (12.5) ist E(z 5 ) = y˜5 − y5 = 111 − y5 . Es gen¨ ugt also E(z 5 ) zu berechnen. Dies geschieht, indem man in der Formel (12.12) die Ableitung bildet und die Produktregel 5.8 (Seite 72) anwendet: (P · N ) = (Q · E) , P · N + P · N = Q · E + Q · E . Wir werten an der Stelle z 5 aus und beachten 12.8
N (z 5 ) = 0 = Q(z 5 ) . Also ist P (z 5 ) · N (z 5 ) = Q (z 5 ) · E(z 5 ) . Da das Fehlerstellenpolynom Q nur einfache Nullstellen hat (12.10), ist Q (z 5 ) = 0, siehe 5.9 auf Seite 72. Es folgt E(z 5 ) =
P (z 5 )N (z 5 ) Q (z 5 )
und y5 = y˜5 −
P (z 5 )N (z 5 ) . Q (z 5 )
174
12. Reed–Solomon Codes
Es ist N = X 7 − 1, N = 7X 6 = X 6 und Q = 101 + ˜2X = 101, also a1 = y5 = 111 +
111 · 001 (010 + 010z 5)(z 5 )6 = 111 + 101 101
= 111 + 010 = 101 .
Bemerkung Wir haben in diesen Rechnungen die Addition in F = GF (8) als eine dem Computer gem¨ aße Operation in den Vordergrund gestellt; die Multiplikation musste dann jeweils der Multiplikationstafel entnommen werden. Man kann umgekehrt die Multiplikation in den Vordergrund stellen, diese unstiger, wenn man per Hand ist modulo 7, d. h. z i z j = z 7 (i+j) . Dies ist g¨ ¨ rechnet. Allerdings muss nun die Addition aus einer Ubersetzungstabelle u uglichen Ausf¨ uhrungen in Kapitel ¨ bernommen werden; vergleiche die diesbez¨ 8, etwa auf Seite 107 und auf Seite 112.
Literatur An sich kann hier eine Vielzahl von B¨ uchern genannt werden, wir beschr¨anken uns auf eine ganz kleine Auswahl. Grundlegend f¨ ur den vorliegenden Text sind Begriffe aus der linearen Algebra. Diese werden an sich erkl¨ art, ein vergleichender Blick in ein Lehrbuch ist trotzdem empfehlenswert, ein relativ kurzer und elementarer Text ist [1]. Jedes Lehrbuch der Algebra behandelt auch endliche K¨orper. Zum Beispiel ist [2] ein solches, es ist sehr ausf¨ uhrlich geschrieben und behandelt auch die lineare Algebra. Wesentlich mehr u orper und ihre Anwendungen findet man in ¨ ber endliche K¨ den Monographien [3] und [4]. Ein relativ schmales, in der Stoffauswahl originelles B¨ uchlein ist [5]; in ihm sind die endlichen K¨ orper ein zentrales Thema. Es ist etwas mathematisch straffer als der vorliegende Text geschrieben, sehr empfehlenswert zum Parallel- bzw. Weiterlesen! Zwei B¨ ucher zur Codierungstheorie, [6] und [7], seien genannt, das erste ist mehr mathematisch und das zweite mehr technisch ausgerichtet. [1] J¨ anich, K.: Lineare Algebra, 6. Auflage, Springer 1998 [2] Artin, M.: Algebra, Birkh¨ auser 1993 [3] Jungnickel, D.: Finite Fields, BI Wissenschaftsverlage 1993 [4] Lidl, R., Niederreiter, H.: Introduction to finite fields and their applications, Cambridge University Press 1986 [5] L¨ uneburg, H.: Galoisfelder, Kreisteilungsk¨ orper und Schieberegister, BI Wissenschaftsverlag 1979 [6] Willems, W.: Codierungstheorie, de Gruyter 1999 [7] Blahut, R.E.: Algebraic Codes for Data Transmission, Cambridge University Press 2003
Sachverzeichnis Ableitung 71, 72 Automorphismus 154
hardware 112 Hornerschema 74
Bahn 90 Basis 106 Begleitmatrix
Ideal 43 Interpolationspolynom irreduzibel 42
117
Charakteristik 138 Chinesischer Restsatz
K¨ orper 10 K¨ urzregel 5 kongruent modulo 8, 28 Kreisteilungsklasse 90 Kreisteilungspolynom 152
99
Dervation 71 direktes Produkt 98 diskrete Fouriertransformation 162 diskreter Logarithmus 107 Division mit Rest 6, 23
99,
einfache Nullstelle 71 Einheiten 41 Einheitengruppe 80 Einheitswurzel 100 Einsetzungsregeln 18 Empfangspolynom 163 endliche Erweiterung 130 endliche Gruppe 84 erweiterter Euklidischer Algorithmus 57 Erweiterungsk¨ orper 105, 123 Euklidischer Algorithmus 48, 50 Euklidischer Ring 41 Eulersche φ-Funktion 47, 89, 98, 154 Exponent einer Gruppe 95 Fehlerpolynom 164 Fouriertransformierte 102 Frobenius-Automorphismus Galoisfeld 13 Generatorpolynom 169 Grad 21 Gradformel 130 Gruppe 79 Gruppe, abelsche 4
101
155
Lagrange, Satz von Leitkoeffizient 21
86
Minimalpolynom 126, 147 multiplikative Gruppe, K¨ orper
11
Nebenklasse 85 normiert 21 Normierung 21 Nullteiler 4 nullteilerfrei 4 Ordnung einer Gruppe 84 Ordnung eines Elements 86 Ordnung eines Polynoms 152 Polynom 17 Potenzgesetze 5, 81 Primfaktorzerlegung 51, 69, 148 primitive m-te Einheitswurzel 100 primitives Element, Gruppe 83 primitives Element, K¨ orper 13, 35, 106 primitives Polynom 106 Primk¨ orper 139 Primzahl 11 Produktregel 72 Rest modulo N 27 Rest modulo n 7 Restklasse modulo n
6
178
Sachverzeichnis
Ring
3
shift 63 Strukturkonstanten 113 Strukturmatrix 113 Syndrom 163 Teiler 41 teilerfremd 42 Teilk¨ orper 105, 123 Untergruppe
82
Unterraum 22 Unterring 22 unzerlegbar 42 Vektorraum 19 Vielfaches 41 Wurzelformeln von Vieta Zech-Logarithmus 108 zyklische Gruppe 35, 83
149