Codierungstheorie. Ruprecht-Karls-Universität Heidelberg Interdisziplinäres Zentrum für Wissenschaftliches Rechnen



Ähnliche Dokumente
Einführung in die Kodierungstheorie

7 Rechnen mit Polynomen

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester gehalten von Harald Baum

Lineare Gleichungssysteme

Einführung in die Algebra

Primzahlen und RSA-Verschlüsselung

Theoretische Grundlagen der Informatik WS 09/10

Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Übungen zum Ferienkurs Lineare Algebra WS 14/15

Höhere Mathematik 3. Apl. Prof. Dr. Norbert Knarr. Wintersemester 2015/16. FB Mathematik

Minimale Darstellungen, Kommutator- und Fixräume, projektive Geometrie

Eigenwerte und Eigenvektoren von Matrizen

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Lineare Gleichungssysteme

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

3 Der Hamming-Code. Hamming-Codes

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

BONUS MALUS SYSTEME UND MARKOV KETTEN

Die reellen Lösungen der kubischen Gleichung

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Musterlösungen zur Linearen Algebra II Blatt 5

Lineare Gleichungssysteme

Kapitel 15. Lösung linearer Gleichungssysteme

Frohe Weihnachten und ein gutes neues Jahr!

3.3 Eigenwerte und Eigenräume, Diagonalisierung

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

Mathematischer Vorbereitungskurs für Ökonomen

0, v 6 = , v 4 = span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 )

Codierungsverfahren SS Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

8. Quadratische Reste. Reziprozitätsgesetz

Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist.

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

4. Versicherungsangebot

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Der Zwei-Quadrate-Satz von Fermat

6.2 Perfekte Sicherheit

Algorithmen II Vorlesung am

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Bestimmung einer ersten

Absolute Stetigkeit von Maßen

Lösungen zum 3. Aufgabenblatt

u + v = v + u. u + (v + w) = (u + v) + w. 0 V + v = v + 0 V = v v + u = u + v = 0 V. t (u + v) = t u + t v, (t + s) u = t u + s u.

DIFFERENTIALGLEICHUNGEN

Expander Graphen und Ihre Anwendungen

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Das Briefträgerproblem

Die Optimalität von Randomisationstests

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

5 Eigenwerte und die Jordansche Normalform

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

15 Optimales Kodieren

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

TECHNISCHE UNIVERSITÄT MÜNCHEN

Einführung in die Vektor- und Matrizenrechnung. Matrizen

Lineare Gleichungssysteme I (Matrixgleichungen)

Beispiel Zusammengesetzte Zufallsvariablen

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

6 Allgemeine Theorie des elektromagnetischen Feldes im Vakuum

Betragsgleichungen und die Methode der Fallunterscheidungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Aufgabe 1. Zunächst wird die allgemeine Tangentengleichung in Abhängigkeit von a aufgestellt:

Universität Bonn, Institut für Angewandte Mathematik. WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

1 Mathematische Grundlagen

3.1. Die komplexen Zahlen

Algebraische Kurven. Vorlesung 26. Die Schnittmultiplizität

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Codierungstheorie Rudolf Scharlau, SoSe

Probleme beim Arbeiten mit Variablen, Termen und Gleichungen

Mathematik 1. Lösungsvorschläge zum 2. Übungsblatt

Das Mathematik-Abitur im Saarland

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Lösungen zu Kapitel 7

4 Vorlesung: Matrix und Determinante

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

Informationsblatt Induktionsbeweis

1. Kennlinien. 2. Stabilisierung der Emitterschaltung. Schaltungstechnik 2 Übung 4

R ist freie Software und kann von der Website.

Kevin Caldwell. 18.April 2012

( ) als den Punkt mit der gleichen x-koordinate wie A und der

Grundlagen der Theoretischen Informatik, SoSe 2008

7 Die Determinante einer Matrix

Anmerkungen zur Übergangsprüfung

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

Mathematik für Informatiker II. Beispiellösungen zur Probeklausur. Aufgabe 1. Aufgabe 2 (5+5 Punkte) Christoph Eisinger Sommersemester 2011

Zusatztutorium,

Definition 3.1: Ein Differentialgleichungssystem 1. Ordnung

Lineare Differentialgleichungen erster Ordnung erkennen

Beweisbar sichere Verschlüsselung

Korrelation (II) Korrelation und Kausalität

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

2. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 7 Saison 1962/1963 Aufgaben und Lösungen

Transkript:

Ruprecht-Karls-Universität Heidelberg Interdisziplinäres Zentrum für Wissenschaftliches Rechnen Codierungstheorie Bernd Heinrich Matzat Ausarbeitung von Thorsten Lagemann

Vorwort Vorliegendes Skriptum enthält die Ausarbeitung meiner Vorlesung Codierungstheorie aus dem Wintersemester 2003/2004 an der Universität Heidelberg. Neben den vorliegenden Kapiteln enthält diese zusätzlich einen Abschnitt über Algebraische Funktionenkörper. Da hierzu mit dem Buch von H. Stichtenoth bereits sehr gutes und preiswertes Lehrmaterial zur Verfügung steht, werden hier die wichtigsten Resultate dieses Zwischenkapitels im Anhang ohne Beweise zusammengestellt. Der Inhalt der Vorlesungsausarbeitung gliedert sich grob in zwei Teile, deren erster ohne Kenntnisse aus der algebraischen Geometrie auskommt und daher mit Elementare Codierungstheorie überschrieben ist. Er enthält eine Einführung in die Grundfragen und Grundlagen der Theorie der linearen Codes. Daneben werden nach strukturellen Gesichtspunkten geordnet gängige Klassen von Codes samt zugehöriger Decodieralgorithmen vorgestellt. Zu diesen gehören u. a. Reed-Solomon-Codes, Hamming-Codes, Golay-Codes, BCH-Codes, quadratische Reste-Codes, Reed-Muller- Codes sowie die klassischen Goppa-Codes. Daneben werden einige der asymptotischen Schranken für die Informationsrate von Codes bewiesen. Insbesondere wird auch gezeigt, dass die Gilbert-Varshomov-Schranke, welche eine asymptotische untere Schranke für die Informationsrate darstellt, durch die klassischen Goppa-Codes erreicht wird. Das zweite Kapitel ist den geometrischen Goppa-Codes gewidmet, die hier kurz Arithmetische Codes genannt werden. Dieses sind lineare Codes, die aus Riemann- Roch-Räumen bzw. Vektorräumen von Dierentialen algebraischen Kurven gewonnen werden. Dabei werden insbesondere Codes auf rationalen, elliptischen und hyperelliptischen und auch Fermat-Kurven, die sogenannten Hermiteschen Codes, studiert und mit der MDS-Vermutung verglichen. Zudem werden Algorithmen zu deren Decodierung besprochen. Gegen Ende der Vorlesung wird das Verhalten von Codes in Türmen von Artin-Schreier-Erweiterungen untersucht. Dabei wird unter anderen auch ein Beweis für das Resultat von Garcia und Stichtenoth vorgeführt, dass es Codes über dem Norm-Spur-Turm gibt, welche die Gilbert-Varshomov-Schranke sogar übertreen. Zur Abrundung wird abschlieÿend gezeigt, dass jeder lineare Code als Teilkörpercode eines arithmetischen Codes (über dem gewöhnlichen Spurturm) gewonnen werden kann, womit eine in beide Richtungen begehbare Brücke zum ersten Teil geschlagen ist.

ii Zum Schluss dieses Vorworts möchte ich noch Herrn T. Lagemann für die geduldige und sorgfältige Ausarbeitung des Skriptums danken. Trotzdem ist nicht auszuschlieÿen, dass sich hier und da noch eine kleine Ungenauigkeit oder ein kleiner Fehler eingeschlichen hat. Für entsprechende Hinweise bzw. Korrekturvorschläge wären wir beide sehr dankbar. B. H. Matzat Heidelberg, den 31. Mai 2007

Inhaltsverzeichnis Inhalt iii I Elementare Codierungstheorie 1 1 Einführung 3 1.1 Das Problem der Codierungstheorie................... 3 1.2 Übertragungswahrscheinlichkeit..................... 5 1.3 Der Satz von Shannon.......................... 8 2 Lineare Codes 11 2.1 Einführung linearer Codes........................ 11 2.2 Duale Codes................................ 13 2.3 Das Gewichtspolynom.......................... 16 3 Pseudorationale Codes 21 3.1 Gewichtsverteilung pseudorationaler Codes............... 21 3.2 Reed-Solomon-Codes........................... 24 3.3 Projektive Reed-Solomon-Codes..................... 26 3.4 Decodierung von Reed-Solomon-Codes................. 27 4 Variationen von Codes 31 4.1 Einige elementare lineare Konstruktionen................ 31 4.2 Spreizung und Verkettung........................ 33 4.3 Teilkörpercodes.............................. 34 5 Perfekte Codes 39 5.1 Hamming-Codes.............................. 39 5.2 Konstruktion binärer Golay-Codes.................... 41 5.3 Charakterisierung binärer Golay-Codes................. 46 5.4 Ternäre Golay-Codes........................... 49

iv INHALTSVERZEICHNIS 6 Zyklische Codes 51 6.1 Polynomdarstellung zyklischer Codes.................. 51 6.2 Nullstellen zyklischer Codes....................... 54 6.3 BCH - Codes............................... 56 6.4 Decodierung von BCH - Codes...................... 59 7 Quadratische Reste-Codes 63 7.1 Quadratische Reste-Codes........................ 63 7.2 Dualität bei quadratischen Reste-Codes................. 65 7.3 Symmetrien quadratischer Reste-Codes................. 68 8 Gruppen-Codes 71 8.1 Codes und Gruppenalgebren....................... 71 8.2 Gruppenalgebren zu elementarabelschen Gruppen........... 73 8.3 Reed-Muller-Codes............................ 77 8.4 Symmetrien von Reed-Muller-Codes................... 81 9 Schranken für Codes 83 9.1 Singleton- und Plotkin- Schranke.................... 83 9.2 Hamming- und Elias- Schranke..................... 86 9.3 Gilbert-Varshomov-Schranke....................... 88 10 Klassische Goppa-Codes 91 10.1 Goppa-Codes............................... 91 10.2 Asymtotisches Verhalten von Goppa-Codes............... 93 10.3 Decodierung mit Euklidischem Algorithmus.............. 97 II Arithmetische Codes 101 11 Geometrische Goppa-Codes 103 11.1 Konstruktion arithmetischer Codes................... 103 11.2 Duale arithmetische Codes........................ 107 11.3 Duale Goppa-Divisoren.......................... 110 12 Rationale Codes und Symmetrien 113 12.1 Rationale Codes.............................. 113 12.2 Symmetrien arithmetischer Codes.................... 116 12.3 Symmetrien rationaler Codes...................... 118 13 Elliptische und hyperelliptische Codes 123 13.1 Elliptische Funktionenkörper und Codes................ 123 13.2 Hyperelliptische Funktionenkörper.................... 130 13.3 Hyperelliptische Codes.......................... 133

14 Selbstduale arithmetische Codes 137 14.1 Quasiselbstduale Codes.......................... 137 14.2 Ein Kriterium für Selbstdualität..................... 138 14.3 Ein Existenzsatz für selbstduale Codes in Charakteristik 2...... 140 15 Decodierung arithmetischer Codes 143 15.1 Der Basis-Decodieralgorithmus...................... 143 15.2 Der modizierte Decodieralgorithmus.................. 147 15.3 Decodierung elliptischer und hyperelliptischer Codes.......... 149 16 Arithmetische Teilkörpercodes 151 16.1 Dimension arithmetischer Teilkörpercodes............... 151 16.2 Distanz arithmetischer Teilkörpercodes................. 154 16.3 Parameter klassischer Goppa-Codes*.................. 156 17 Hermitesche Codes 161 17.1 Hermitesche Funktionenkörper...................... 161 17.2 Hermitesche Codes und Dualisierung.................. 164 17.3 Dimension und Distanz Hermitescher Codes.............. 166 18 Artin-Schreier-Türme 169 18.1 Artin-Schreier-Erweiterungen...................... 169 18.2 Verzweigung im Norm-Spur-Turm.................... 173 18.3 Rationale Punkte im Norm-Spur-Turm................. 179 19 Asymptotische Schranken für arithmetische Codes 183 19.1 Serre-Schranke.............................. 183 19.2 Der Satz von Drinfeld-Vladut...................... 185 19.3 Vergleich mit der Gilbert-Varshomov Schranke............. 187 20 Lineare Codes als arithmetische Codes 191 20.1 Der gewöhnliche Spurturm........................ 191 20.2 Lineare Standardräume im Spurturm.................. 193 20.3 Darstellung linearer Codes als arithmetische Codes.......... 196 20.4 Standardcodes im gewöhnlichen Spurturm............... 198 A Sätze über algebraische Funktionenkörper 203 A.1 Grundlagen und Satz von Riemann-Roch................ 203 A.2 Erweiterungen algebraischer Funktionenkörper............. 205 A.3 Kongruenzfunktionenkörper....................... 207 Index 209 Bibliographie 211 v

Teil I Elementare Codierungstheorie

Kapitel 1 Einführung 1.1 Das Problem der Codierungstheorie Die Codierungstheorie ist eine recht junge mathematische Theorie, die in den 40er Jahren entstanden ist und einige mathematische Disziplinen wie die Informatik, Stochastik und Algebra vereint. Ihre Problemstellung stammt aus der Nachrichtenübermittlung: Das Übertragen von (binären) Informationen über Telefonleitungen, Funk oder Satelliten verläuft oft nicht ungestört, da diese Informationen durch äuÿere Einüsse wie schlechtes Wetter und Blitzeinschläge etc. möglicherweise zerstört oder verändert werden. Auch das Auslesen von Speichermedien ist sehr fehleranfällig, da viele Bits durch hohe Auslesegeschwindigkeit oder auch diversen Verunreinigungen der Disketten verloren gehen können. Abhilfe dagegen verschat man sich durch Einbau von Redundanzen, die ein oder mehrere Fehler auangen können. Zum Beispiel hat man die Möglichkeit, den Text mehrfach hintereinander zu senden, damit der Empfänger durch Vergleich der einzelnen Versionen auf die ursprüngliche schlieÿen kann. Das Erweitern der Information mit Redundanzen nennt man Codierung, die Rückübersetzung der empfangenen Nachricht in den Klartext Decodierung. Sender Codierer Kanal Decodierer Empfänger Beispielsweise kann man jedem Buchstaben des deutschen Alphabets einen binären 5-Tupel zuordnen vermöge A 00000, B 00001, C 00010,.... Fügt man ein sechstes Bit als Quersumme hinzu, so läÿt sich beim Empfang überprüfen, ob während der Übertragung ein Bit des Buchstabens verändert wurde.

4 Einführung Konvention. Es bezeichne A ein Alphabet, das wir ohne Einschränkung als Teilmenge eines endlichen Körpers F q betrachten können. Die k-tupel (a 1,..., a k ) von Buchstaben aus A nennen wir Codewörter oder Blöcke, die Menge aller Codewörter bezeichnen wir mit B Fq k. Ein Code oder Codierer der Länge n ist eine injektive Abbildung C : B Fq n von B auf C = C(B) Fq n. Wir werden einen Code C je nach Bedarf als injektive Abbildung oder als Bildmenge dieser betrachten. Zu jedem Code gibt es einen Decodierer D : Fq n B mit D C = id B. Denition 1.1. (Hamming-Abstand, Minimaldistanz, Informationsrate) Für zwei Elemente x = (x 1,..., x n ) und y = (y 1,..., y n ) aus Fq n denieren wir den Hamming-Abstand von x und y durch d(x, y) := #{1 i n : x i y i }. Bei einen Code C Fq n nennen wir den kleinsten aller Hamming-Abstände von Paaren verschiedener Codewörter, d.h. die Zahl d = d(c) := min{d(x, y) : (x, y) C C, x y} Minimaldistanz (oder kürzer Distanz) von C. Ein Code C Fq n der Kardinalität c und Minimaldistanz d heiÿt auch (n, c) q bzw. (n, c, d) q Code. Das Verhältnis nennen wir Informationsrate von C. r(c) := log q(c) n Bemerkung 1.2. (a) Der Hamming-Abstand genügt der Dreiecksungleichung, d.h für alle x, y, z Fq n gilt d(x, z) d(x, y) + d(y, z). (b) Über F 2 ist der Hamming-Abstand das Quadrat des Euklidischen Abstandes, d.h. für zwei Elemente x = (x 1,..., x n ) und y = (y 1,..., y n ) aus F n 2 gilt d(x, y) = n (x i y i ) 2 = x, y 2. i=1 Korollar 1.3. Der Decodierer eines Codes C kann bis zu d(c) Fehler (über das 2 nächstgelegene Codewort) korrigieren.

1.2 Übertragungswahrscheinlichkeit 5 1.2 Übertragungswahrscheinlichkeit Denition 1.4. (Binärer symmetrischer Kanal, Kapazität, Fehlerwahrscheinlichkeit eines Codes) Ein (Nachrichtenübertragungs-)Kanal heiÿt binär, falls der Kanal nur zwei Zustände - 0 und 1 - übertragen kann. Ein binärer Kanal heiÿt symmetrisch, falls die Fehlerwahrscheinlichkeit beim Übertragen eines Bits unabhängig vom Wert (0 oder 1) des Bits ist. Ist diese Fehlerwahrscheinlichkeit p [0, 1] R, so bezeichnet K p := 1 + p log 2 (p) + (1 p) log 2 (1 p) die Kapazität eines binären symmetrischen Kanals. Für ein Wort a B sei P (a) die Wahrscheinlichkeit, daÿ a mit dem Codierer C und Decodierer D in diesen Kanal fehlerhaft übertragen und falsch decodiert wird. Dann bezeichnet P (C, D) := 1 #C P (a) a B die Fehlerwahrscheinlichkeit des Codes C. Desweiteren sei P (c, n, p) := min{p (C, D) : B C F2 n D B, D C = id B, #C = c} die minimale Fehlerwahrscheinlichkeit eines binären Codes der Länge n und Kardinalität c bei Verwendung eines binären symmetrischen Kanals mit Übertragungsfehlerwahrscheinlichkeit p. Ziel dieses Kapitels ist der Beweis des Satzes von Shannon, der besagt, daÿ zu jedem binären symmetrischen Kanal mit Kapazität K p 0 (das ist äquivalent zu p 1 2 ) fehlerarme Codes gibt. Genauer wird gezeigt werden: lim P (c n, n, p) = 0. n Dazu benötigen wir einiges an elementarem stochastischen Instrumentarium, was wir im folgenden kurz wiederholen möchten. Die Beweise können in jedem einführenden Lehrbuch (z.b. [Kre02]) nachgelesen werden. Es seien X eine Zufallsvariable auf einer abzählbaren Menge M = {x i : i N}. Die Wahrscheinlichkeit, daÿ X den Wert x i annimmt, sei p i, d.h. es gelte P (X = x i ) = p i. Dann heiÿen µ(x) = i N x i p i der Mittelwert, σ 2 (X) = i N x 2 i p i µ(x) 2 die Varianz,

6 Einführung und σ = + σ 2 die Standardabweichung der Zufallsvariablen X. Für eine Abbildung g : M R deniert E(g X) = i N g(x i )p i den Erwartungswert von g X. Somit gelten µ(x) = E(X) und σ 2 (X) = E((X µ(x)) 2 ). Beispiel 1.5. ((p, q)-binomialverteilung) Es sei X die Anzahl der Fehler, die beim Übertragen eines binären Wortes der Länge n über einem binären symmetrischen Kanals mit bitweiser Fehlerwahrscheinlichkeit p entstehen. Es ist also X deniert auf M = {0,..., n}. Mit q = 1 p gilt p i = P (X = i) = Der Erwartungswert von X ist also n ( n E(X) = µ(x) = i i i=0 n 1 ( n 1 = n i Die Varianz von X beträgt σ 2 (X) = i=0 ) p i q n i = n ( n i ) p i q n i. n i=1 ( ) n 1 p i q n i i 1 ) p i+1 q n i 1 = np (p + q) n 1 = n p n ( ) n n 1 ( ) n 1 i 2 p i q n i µ(x) 2 = np (i + 1) p i q n i 1 n 2 p 2 i i i=0 i=0 = np(1 + p(n 1)) n 2 p 2 = np np 2 = npq. Bemerkung 1.6. (Tschebyschevsche Ungleichung) Es sei X eine Zufallsvariable mit Mittelwert µ und Varianz σ 2. Dann ist die Wahrscheinlichkeit, daÿ die Abweichung von X zu µ mehr als ε beträgt, nicht gröÿer als σ2. Es gilt also ε 2 P ( X µ > ε) σ2 ε 2. Ohne Beweis. (siehe z.b. [Kre02, Satz 3.15]) Denition 1.7. (Binäre Entropiefunktion) Die auf [ ) 0, 1 denierte Funktion 2 R H(x) := { x log2 (X) (1 x) log 2 (1 x) : für 0 < x < 1 2 0 : x = 0

1.2 Übertragungswahrscheinlichkeit 7 heiÿt binäre Entropiefunktion. Für x 0 F n 2 bezeichnet B n r (x 0 ) = {x F n 2 : d(x, x 0 ) r} die Kugel vom Radius r in F n 2 bezüglich des Hamming-Abstands. Die Kugel B n r (0) um 0 = (0,..., 0) bezeichnen wir kürzer auch mit B n r Bemerkung 1.8. Für δ [ 0, 1 2] gelten: (a) Die Anzahl der Gitterpunkte in der Kugel B n δn vom Radius δn beträgt δn ( ) n #B n δn = 2 nh(δ). i i=0 (b) Beim Grenzübergang n wird aus der Abschätzung in (a) eine Gleichung ( ) 1 lim n n log 2(#B n δn) = H(δ). Beweis. Wir beweisen lediglich die Aussage (a), da wir Aussage (b) in diesen Kapitel nicht benötigen und später allgemeiner beweisen werden (Lemma 9.8). Die Gleichheit von #B n δn und δn ( n ) ( i=0 i ist oensichtlich, da n ) i die Anzahl der binären Wörter x F2 n mit Gewicht i bzw. mit Hamming-Abstand d(x, 0) = i ist. Nach Voraussetzung gilt δ 1 1 δ. Daraus ergibt sich die Abschätzung 2 n ( ) n n ( ) ( ) i n δ 1 = (δ + 1 δ) n = δ i (1 δ) n i = (1 δ) n i i 1 δ i=0 i=0 δn ( ) ( ) i ( ) δn δn n δ δ ( ) n (1 δ) n (1 δ) n. i 1 δ 1 δ i i=0 Aufgrund ( ) δn ( ) δ δ log 2 (1 δ) n = n (log 1 δ 2 (1 δ) + δ log 2 ) 1 δ i=0 = n (δ log 2 (δ) + (1 δ) log 2 (1 δ)) = n H(δ) folgt hieraus die gewünschte Ungleichung δn ( ) n 1 2 n H(δ). i Bemerkung 1.9. Für zwei (stochastisch) unabhängige Zufallsvariablen X und Y gelten: (a) E(X + Y ) = E(X) + E(Y ). (b) E(X Y ) = E(X) E(Y ). Ohne Beweis. (siehe z.b. [Kre02, Satz 3.7]) i=0

8 Einführung 1.3 Der Satz von Shannon Satz 1.10. (Shannon 1948) Es sei K p die Kapazität eines binären symmetrischen Kanals mit K p 0. Desweiteren seien 0 < R < K p und c n := 2 Rn. Dann gilt lim P (c n, n, p) = 0. n Für hinreichend groÿe Wortlängen n gibt es also fehlerarme Codes. Beweis. Ohne Einschränkung kann p 1 angenommen werden, da man andernfalls 2 die Interpretation der empfangenen Daten anpaÿt, d.h. eine empfangene 1 wird als 0 interpretiert. Desweiteren ist p 1 aufgrund K 2 p 0. Es sei C = {x 1,..., x c } F n 2 ein binärer Code der Länge n und Kardinalität c. Die Zufallsvariable Y bezeichne die Anzahl der Fehler beim Übertragen und Decodieren eines Codewortes x C. Da zur Übermittlung ein binärer symmetrischen Kanal mit bitweiser Fehlerwahrscheinlichkeit p verwendet wird, ist Y wie in Beispiel 1.5 (p, q)-binomialverteilt. Somit ist µ = E(Y ) = np der Erwartungswert und σ 2 (Y ) = npq die Varianz von Y. Für ε > 0 und s := 2 ε npq gilt nach der Ungleichung von Tschebyschev P ( Y µ s) npq s 2 = ε 2. Wir setzen ρ := np + s. Wegen p < 1 gilt ρ < n für groÿe n. Nach Bemerkung 1.8 2 2 hat dies ρ ( ) n #B n ρ = 2 n H( ρ n ) i zur Folge. Für zwei Elemente x, y F2 n denieren wir { 0 bei d(x, y) > ρ f(x, y) := 1 bei d(x, y) ρ i=0 und g i (y) := 1 f(y, x i ) + j i f(y, x j ). Der Wert g i (y) verschwindet genau dann, wenn x i das einzige Codewort in der Kugel B n ρ(y) ist und sonst gilt g i (y) 1. Wir decodieren vermöge { x D(y) := i falls g i (y) = 0, sonst. x 1

1.3 Der Satz von Shannon 9 Bezeichnen nun P (x i ) die Wahrscheinlichkeit, daÿ x i falsch decodiert wird und P (y x i ) die bedingte Wahrscheinlichkeit, daÿ beim Senden von x i das Wort y empfangen wird und nicht als x i decodiert wird, so gilt P (x i ) P (y x i )g i (y) = P (y x i )(1 f(y, x i ))+ P (y x i ) f(y, x j ). j i y F n 2 y F n 2 y F n 2 Der erste Summand nach dem Gleichheitszeichen entspricht der Wahrscheinlichkeit, daÿ beim Übertragen von x i mehr als ρ Fehler passieren und somit x i nicht richtig decodiert wird. Es gilt wie oben nach der Tschebyschevschen Ungleichung P (y x i )(1 f(y, x i )) = P (Y > ρ) ε 2. y F n 2 Die Fehlerwahrscheinlichkeit von C kann also durch P (C, D) = 1 c P (x i ) ε c 2 + 1 c P (y, x i )f(y, x j ) c i=1 i=1 y F n 2 abgeschätzt werden. Der Grundgedanke des Beweises ist nun, daÿ der Minimalwert P (c, n, p) kleiner oder gleich dem Erwartungswert der Fehlerwahrscheinlichkeit P (C, D) von allen Codes C F2 n der Mächtigkeit c und der Decodierregel D ist. Aufgrund der stochastischen Unabhängigkeit der Variablen P (y x i ) und f(y, x i ) gilt dann nach Bemerkung 1.9 P (c, n, p) ε 2 + 1 c = ε 2 + 1 c c i=1 c i=1 = ε 2 + c 1 c y F n 2 y F n 2 #Bn ρ 2 n j i E(P (y, x i )) E(f(y, x j )) j i j i c i=1 = ε 2 + (c 1)#Bn ρ 1 2 n c ε 2 + (c 1)#Bn ρ 2 n. Hieraus folgt nun aus Bemerkung 1.8 1 ( n log 2 P (c, n, p) ε ) 2 E(P (y, x i )) #Bn ρ(y) #F n 2 y F n 2 i=1 E(P (y, x i )) c E P (y, x i ) y F n 2 #B n ρ 1 n log 2(c 1) + 1 n log 2 2 n 1 n log 2(c) + 1 ( ρ ) n (n H n). n

10 Einführung Wegen ρ n log 2( ρ n ) = p log 2(p) + O( n 1 ) und ( 1 ρ ) ( log n 2 1 ρ ) = q log n 2 (q) + O( n 1 ) gilt dann H ( ρ n) = p log2 (p) q log 2 (q) und somit 1 ( n log 2 P (c, n, p) ε ) 1 2 n log 2(c) (1 + p log 2 (p) + q log 2 (q)) + O( n 1 ) = 1 n log 2(c) K p + O( n 1 ). Durch Substitution von c durch c n = 2 Rn erhält man wegen R < K p 1 ( n log 2 P (c n, n, p) ε ) R K p + O( n 1 ) = γ < 0 2 für ein positives γ und hinreichend groÿe n. Somit ist P (n, c n, p) ε 2 + 1 2 γn, was für n gegen ε strebt. Da ε beliebig klein gewählt werden kann, folgt 2 hieraus der Satz von Shannon.

Kapitel 2 Lineare Codes 2.1 Einführung linearer Codes Allgemeine Codes C Fq n sind meist unübersichtlich und i.a. schwierig zu codieren und zu decodieren. Besser wird es mit einer zusätzlichen Vektorraumstruktur. Denition 2.1. (Linearer Code, Gewicht von Codewörtern) Einen Code C Fq n Lineare Codes in F n q nennen wir linear, falls C ein Untervektorraum von Fq n ist. der Dimension k bezeichnen wir als [n, k] q Code bzw. als [n, k, d] q Code, wenn d die Minimaldistanz des Codes ist. Für ein Codewort x C heiÿt die natürliche Zahl w(x ) := d(x, 0) das Gewicht (bzw. die Hamming-Norm) von x. Anmerkung 2.2. Die Informationsrate eines (linearen) [n, k] q Code C ist der Quotient aus Dimension und Länge von C, d.h. es ist r(c) = log q(#c) n = k n. Bemerkung 2.3. Für einen linearen Code C F n q gelten: (a) Der Hamming-Abstand zweier Codewörter x, y aus C ist identisch mit dem Gewicht ihrer Dierenz, d.h. es gilt d(x, y) = w(x y). (b) Die Minimaldistanz von C entspricht den minimalem Gewicht nichtverschwindender Codewörter aus C, d.h. es ist d(c) = min{w(x) : 0 x C}.

12 Lineare Codes Beweis. Man beachte, daÿ lineare Codes stets die Dierenz ihrer Codewörter sowie auch das Nullwort 0 = (0,..., 0) enthalten. Daher folgen die Aussagen (a) und (b) aus d(x, y) = d(x y, 0) = w(x y) für x, y C. Als Codierer eines linearen Codes fungiert die sogenannte Erzeugermatrix. Dazu die Denition 2.4. (Erzeugermatrix, Symmetriegruppe) Es sei C ein [n, k] q Code mit Basis x 1 = (x 11,..., x 1n ), x 2,..., x k heiÿt die k n Matrix x 11 x 1n G =..... x k1 x kn F n q. Dann eine Erzeuger- bzw. eine Generatormatrix von C. Eine Erzeugermatrix G von C nennen wir reduziert, falls G die Gestalt 1 0 G = (I k P ) =... P 0 1 mit P Fq k (n k) hat. Dann sagen wir auch, daÿ G in Standardform vorliegt. Zwei Codes C, C aus Fq n heiÿen äquivalent, wenn es eine Permutation σ von n Elementen gibt, sodaÿ gilt: (x 1,..., x n ) C (x σ(1),..., x σ(n) ) C. Ist C = C, so nennen wir σ eine Symmetrie von C. Die Menge aller Symmetrien des Codes C Sym(C) := {σ S n : σ ist Symmetrie von C} heiÿt Symmetriegruppe von C. Anmerkung 2.5. (a) Betrachtet man eine Erzeugermatrix G eines Codes C als lineare Abbildung von Fq k in Fq n, so ist C das Bild von Fq k unter G, d.h es gilt C = {a G : a F k q }. Oensichtlich ist G injektiv und dient somit als Codierer von C. (b) Ist G in Standardform, so bilden die ersten k Koordinaten x 1,..., x k eines Codewortes x die Informationssymbole (information symbols) und die letzten n k Koordinaten x k+1,..., x n die Kontrollsymbole (parity check symbols) von x. Bemerkung 2.6. Zu jedem linearen Code gibt es einen äquivalenten Code mit reduzierter Erzeugermatrix.

2.2 Duale Codes 13 Beweis. Es seien C ein (linearer) [n, k] q Code und G eine Erzeugermatrix von C. Dann gibt es eine Permutationsmatrix Q GL n (F q ), sodaÿ die ersten k Spalten von G := G Q linear unabhängig sind. Also hat G die Gestalt ( J P ) mit J GL k (F q ). Unter der Basistransformation J 1 besitzt der Code C := Fq k G eine reduzierte Erzeugermatrix und ist wegen C Q = C äquivalent zu C. Beispiel 2.7. (1) Der n-fache Wiederholungscode C = {x Fq n : x 1 =... = x n } besitzt die Erzeugermatrix G 1 = (1,..., 1). (2) Es sei C F2 4 ein linearer [4, 3] 2 Code mit der Bedingung 4 i=1 x i = 0 an ein Codewort x C. Dann besitzt C die Erzeugermatrix 1 1 G 2 = (I 3 P 2 ) = 1 1. 1 1 Allgemein heiÿen solche [n, n 1, 2] q Codes parity check Codes (der Länge n). (3) Betrachten wir nun den [6, 3] 2 Code C mit den Bedingungen x 4 = x 2 + x 3, x 5 = x 1 + x 3 und x 6 = x 1 + x 2 für ein Codewort (x 1,..., x 6 ) C. Dann sind die Koezienten x 1, x 2, x 3 F 2 die Informationssymbole und x 4, x 5, x 6 die Kontrollsymbole von C, und es ist 1 1 1 G 3 = (I 3 P 3 ) = 1 1 1 1 1 1 eine Erzeugermatrix von C. 2.2 Duale Codes Die Codierer linearer Code sind lineare Einbettungen F k q F n q, die durch die Erzeugermatrizen leicht beschrieben werden können. Zur Decodierung verwendet man sogenannte Kontrollmatrizen, die in diesen Abschnitt deniert und untersucht werden. Denition 2.8. (Dualer Code, Kontrollmatrix, selbstdualer Code) Für zwei Elemente x, y Fq n bezeichnet x, y := n x i y i das Standardskalarprodukt in Fq n. Für einen linearen Code C Fq n heiÿt C := {y F n q : x, y = 0 für alle Codewörter x C} der zu C duale Code. Im Falle C = C nennen wir C selbstdual. Die Erzeugermatrix H von C heiÿt Kontrollmatrix zu C. i=1

14 Lineare Codes Bemerkung 2.9. Für einen [n, k] q Code C gelten: (a) Der zu C duale Code C ist ein [n, n k] q Code. (b) Die Dualisierung ( ) von linearen Codes wirkt involutiv, d.h. es ist ( C ) = C. Beweis. Es ist C der zu C orthogonale Raum in F n q. Aus der linearen Algebra ist bekannt, daÿ sich dann die Dimensionen von C und C zu n aufsummieren. Also hat C die Dimension n k. Mit der Denition 2.8 gilt unmittelbar C ( C ). Aus Dimensionsgründen folgt dann die Gleichheit. Korollar 2.10. Ein selbstdualer Code der Länge n hat Dimension n und Informationsrate 1. 2 2 Korollar 2.11. (Kontrollgleichung) Für einen linearen Code C Fq n mit Kontrollmatrix H gilt die Gleichheit C = {x F n q : H x T = 0}. Bemerkung 2.12. Es sei G = (I k P ) die reduzierte Erzeugermatrix eines [n, k] q Codes C. Dann hat die Kontrollmatrix von C die Gestalt H = ( P T I n k ). Beweis. Die Zeilen der Erzeugermatrix G bilden eine Basis von C. Wegen ( ) ( P T Ik I n k ) P T = 0 folgt die Behauptung aus Korollar 2.11. Beispiel 2.13. Wir betrachten die dualen Codes zu Beispiel 2.7. (1) und (2): Man sieht leicht, daÿ der n-fache Wiederholungscode und der parity check Code der Länge n dual zueinander sind. Somit bildet 1 0 H 1 =... 1. 0 1 1 eine Kontrollmatrix zum n-fachen Wiederholungscode (und ist gleichzeitig eine Erzeugermatrix des parity check Codes). Weiter ist H 2 = (1, 1, 1, 1) die Kontrollmatrix des in (2) denierten parity check Code (der Länge 4). (3) Die Kontrollmatrix dieses Codes hat die Gestalt 1 1 1 H 3 = 1 1 1 1 1 1

2.2 Duale Codes 15 Decodieralgorithmus 2.14. Sender und Empfänger einigen sich auf einen linearen Code C mit Erzeugermatrix G und Kontrollmatrix H. Es sei y Fq n die empfangene Nachricht. (1) Bilde das sogenannte Syndrom z = H y T F n k q zu y. (2) Ermittle ein Element e F n q vom minimalem Gewicht mit H e T = z. (3) Das Element ỹ := y e ist dann ein Codewort aus C mit minimalen Hamming- Abstand zu y. (4) Ist G reduziert, so ist (ỹ 1,..., ỹ k ) die decodierte Nachricht (ohne die Kontrollsymbole). Anmerkung 2.15. Das Element e nennt man als Nebenklassenführer der Klasse y + C Fq n /C auch Fehlervektor. Die Komplexität beim Erstellen der Tabelle von Fehlervektoren steigt bei groÿen Codes erheblich an. Daher ist der Decodieragorithmus 2.14 in der Regel nicht optimal. Bemerkung 2.16. Für die Minimaldistanz eines linearen Codes mit Kontrollmatrix H gelten: d(c) = min{l 1 : es gibt l linear abhängige Spalten in H} = max{l 1 : jeweils (l 1) Spalten von H sind linear unabhängig}. Beweis. Die zweite Gleichheit ist klar. Für den Nachweis der ersten Gleichung bezeichnen wir die Spalten von H mit s 1,..., s n. Die Codewörter x 0 aus C liefert mit der Kontrollgleichung n x i s i = H x T = 0 i=1 eine nichttriviale Linearkombination von 0. Ist also x ein Codewort von minimalem Gewicht d, so gibt es Indices i 1,..., i d mit x i1,..., x id 0 (und x i = 0 bei i i j für 1 j d). Mit der Kontrollgleichung folgt dann die lineare Abhängig der Spalten s i1,..., s id. Das zeigt d(c) min{l 1 : es gibt l linear abhängige Spalten in H}. Seien umgekehrt die Spalten s i1,..., s il linear abhängig. Dann gibt es eine nichttriviale Linearkombination l x ij s j = 0 j=1 mit Koezienten x ij F q für 1 j l. Das Codewort x = (x 1,..., x n ) deniert durch { xij : falls i = i x i = j für 1 j l 0 : sonst erfüllt dann die Kontrollgleichung H x T = 0 und ist somit ein Codewort aus C vom Gewicht l. Das schlieÿt unseren Beweis.

16 Lineare Codes Beispiel 2.17. Wir untersuchen nun die Minimaldistanz der in den Beispielen 2.7 und 2.13 behandelten Codes. (1) Die Minimaldistanz n-facher Wiederholungscodes ist (natürlich) n. Daher hat dieser Code die Parameter [n, 1, n] q. (2) Die Parameter der parity check Codes sind [n, n 1, 2] q. Diese Codes können also lediglich 1 Fehler erkennen. Im Fall q = 2 und somit in unserem konkreten Beispiel ist dies sogar nur bei ungerader Fehleranzahl bei der Nachrichtenübermittlung möglich. (3) Die Minimaldistanz dieses Codes ist 3. Dieser Code ermöglicht also dem Nutzer das Erkennen und Korrigieren eines Fehlers. (4) Die Matrix 1 1 1 1 1 1 1 1 G = 1 1 1 1 1 1 1 1 1 1 1 1 erzeugt einen [8, 4] 2 Code C. Wegen G G T = 0 ist C selbstdual. Mit einen kritischen Blick kann man sich davon überzeugen, daÿ G jeweils drei linear unabhängige Spalten besitzt. Somit gilt für die Minimaldistanz d(c) 1 + 3 = 4. Da C Codewörter vom Gewicht 4 enthält (z.b. der dritte Zeilenvektor von G) folgt d(c) = 4. Somit ist C ein selbstdualer [8, 4, 4] 2 Code. 2.3 Das Gewichtspolynom Denition 2.18. (Gewichtspolynom, Spektrum, erzeugende Funktion) Es sei C ein linearer Code über F q der Länge n. Die Anzahl aller Codewörter vom Gewicht r bezeichnen wir mit w r (C) := #{x C : w(x ) = r}. Das Spektrum eines Codes ist die Menge {w r (C) : 0 r n}. Das ganzzahlige homogene Polynom n W C (X, Y ) := w r (C)X n r Y r r=0 nennen wir Gewichtspolynom von C. Die erzeugende Funktion des Codes C ist durch n W C (X) := W C (X, 1) = w n s (C)X s deniert. Anmerkung 2.19. Das Gewichtspolynom eines linearen Codes C der Länge n und Minimaldistanz d hat die Gestalt n W C (X, Y ) = X n + w r (C)X n r Y r. r=d s=0

2.3 Das Gewichtspolynom 17 Lemma 2.20. Es seien G eine endliche Gruppe und χ ein Charakter von G, d.h. ein Gruppenhomorphismus von G in C. Dann gilt { #G für χ = 1 χ(g) = 0 sonst. g G Beweis. Die Aussage für χ = 1 ist trivial. Im Fall χ 1 gibt es ein Gruppenelement h G mit χ(h) 1. Aufgrund der Homomorphieeigenschaft von χ und der Transitivität der Linkstranslation von Gruppenelementen folgt dann (χ(h) 1) χ(g) = χ(h) χ(g) χ(g) = χ(h g) χ(g) = 0 g G g G g G h g G g G und somit g G χ(g) = 0. Satz 2.21. (MacWilliams - Identität) Die Gewichtspolynome eines linearen [n, k] q Code C und dessen dualem Code C erfüllen die Gleichheit W C (X, Y ) = 1 q k W C(X + (q 1)Y, X Y ). Beweis. Wir setzen V := Fq n. Es sei χ : F q W m C ein nichttrivialer additiver Charakter von F q, wobei W m die Menge der m-ten Einheitswurzeln in C bezeichne. Für einen Vektor x V deniert { V C χ x : y χ( x, y ) einen additiven Charakter von V. Man beachte, daÿ wegen der Symmetrie des Skalarproduktes stets χ x (y) = χ y (x ) gilt. Die Einschränkung von χ x auf C deniert ebenfalls einen Charakter. Für einen Z[W m ]-Modul M und eine Abbildung f : V M setzen wir ˆf : { V M x y V χ x (y)f(y). Die Summation der Bilder aller Codewörter unter ˆf ergibt dann nach Lemma 2.20 ˆf(x ) = χ x (y)f(y) = f(y) χ x (y) x C x C y V y V x C = f(y) χ y (x ) = f(y) #C, y V x C y C da der Charakter χ y von C genau dann konstant 1 ist, wenn y ein Codewort des dualen Codes C ist.

18 Lineare Codes Nun verwenden wir für M den Modul C[X, Y ] n der komplexwertigen homogenen Polynome vom Grad n. M ist dann ein Z[W m ]-Modul via Linksmultiplikation. Zudem setzen wir { V C[X, Y ]n f : x X n w(x ) Y w(x ). Dann erfüllt das Gewichtspolynom des dualen Codes C die Gleichungen W C (X, Y ) = f(x ) = 1 #C x C x C Die Behauptung des Satzes folgt also mit dem Nachweis von ˆf(x ). ˆf(x ) = (X + (q 1)Y ) n w(x ) (X Y ) w(x ). Per Denition von ˆf und χ x gelten die beiden Gleichungen ˆf(x ) = y V = y V χ x (y)x n w(y) Y w(y) ( n ) χ x iy i X n w(y) Y w(y). i=1 Unter Verwendung der Homomorphieeigenschaft von χ erhalten wir dann wobei man beachte, daÿ y q 1 i X 1 yq 1 i wir auf in n ˆf(x ) = y V i=1 n = χ(x i y i )X 1 y i=1 y i F q χ(x i y i )X 1 yq 1 i Y yq 1 i q 1 i Y yq 1 = 1 im Falle y i 0 gilt und somit das Produkt der tatsächlich X n w(y) ergibt. Die Summe über alle Körperelemente y i teilen y i F q χ(x i y i )X 1 y q 1 i Y yq 1 i = X + Y y i F q i, χ(x i y i ) = X Y + Y y i F q χ(x i y i ). Dieser Faktor ist nach Lemma 2.20 im Fall x i = 0 gleich X Y + Y #F q = X + (q 1)Y, und sonst X Y. Das ergibt schlieÿlich was zu zeigen war. ˆf(x ) = n i=1 (X Y ) xq 1 i (X + (q 1)Y ) xq 1 i = (X Y ) w(x ) (X + (q 1)Y ) n w(x ),

2.3 Das Gewichtspolynom 19 Satz 2.22. Es sei C ein linearer [n, k] q Code mit Minimaldistanz d(c) d und der erzeugenden Funktion n d W C (X) = X n + v l (X 1) l. Der duale Code C habe Minimaldistanz d(c ) d. Dann gelten: (a) Für 0 l d 1 ist v l = l=0 ( ) n (q k l 1). l (b) Für d l n d gilt mit a = min{n d l + 1, k d + 1} { ( ) } ( ) n n max 0, (q k l 1) v l l (q a 1). l Beweis. Durch Koezientenvergleich bei n d n d W C (X) = X n + w n s X s = X n + v l (X 1) l l=s s=0 erhält man die Relationen n d ( ) l n l ( ) n j w n s = ( 1) l s v l und v l = w j s l zwischen dem Gewichtsspektrum w d,..., w n von C und den Koezienten v l. Für eine Indexteilmenge I {1,..., n} mit Elementanzahl #I = l ist l=0 j=d C I := {x C : x i = 0 für alle i I} ein Teilcode von C, dessen Wörter höchstens Gewicht n l besitzen. Zudem ist jedes Codewort x C vom Gewicht w(x ) = j n l in genau ( ) n j l Teilcodes CI C mit #I = l enthalten. Das zeigt n l ( ) n j v l = w j = #C I \{0} = (q dim(ci) 1). l j=d #I=l #I=l Für eine Indexteilmenge I hat der zu C I duale Code C I C I = C + (F n q ) I, die Gestalt wobei (Fq n ) I den Vektorraum {y Fq n : y i = 0 für alle i I} der Dimension #I = l bezeichne. Hieraus erhalten wir vermöge der Dimensionsformeln für Summen und duale Räume dim(c I ) = dim(c) #I + dim(c (F n q ) I ) = k l + dim(c (F n q ) I ).

20 Lineare Codes Der Raum C (Fq n ) I enthält ausschlieÿlich Wörter y vom Gewicht w(y) l. Im Fall 0 l d 1 ist er daher leer und es folgt Aussage (a). Auÿerdem erhalten wir die untere Ungleichung von Aussage (b), da sowohl v l als auch dim(c (Fq n ) I ) nach unten durch 0 abschätzbar sind. Für die obere Ungleichung müssen wir auf die Singleton-Schranke vorweggreifen, deren Formulierung und Beweis sich auf der nächsten Seite bendet. Der Code C I kann als Code der Länge n l betrachtet werden und seine Distanz d I ist durch d d I n l beschränkt. Nach der Singleton- Schranke ergibt sich dim(c I ) (n l) d I + 1 n d l + 1. Der Code C (Fq n ) I kann als Code der Länge l betrachtet werden. Seine Distanz d I ist durch d d I l beschränkt und wie oben gilt dim(c (F n q ) I ) l d I + 1 l d + 1. Daher läÿt sich dim(c I ) durch min{n d l + 1, k d + 1} abschätzen und es folgt Aussage (b).

Kapitel 3 Pseudorationale Codes 3.1 Gewichtsverteilung pseudorationaler Codes Die einfachste obere Schranke für die Distanz eines Codes ist die Singleton-Schranke. Satz 3.1. (Singleton - Schranke) Für einen Code C über F q der Länge n und Minimaldistanz d gelten: (a) Die Anzahl der Codewörter ist durch q n d+1 beschränkt. (b) Ist C ein linearer Code der Dimension k, so gilt die Abschätzung k + d n + 1. Beweis. Zum Beweis genügt die Feststellung, daÿ sich zwei Codewörter aus C notwendigerweise schon in den ersten n (d 1) Komponenten unterscheiden. Also ist die Anzahl aller Codewörter durch q n (d 1) beschränkt. Denition 3.2. (Pseudorationaler Code, Singletondefekt) Ein Code C heiÿt pseudorational, falls die Anzahl seiner Codewörter die Singleton- Schranke annimmt oder C = {0} gilt. Es gilt dann c = q n d+1 für einen (n, c, d) q Code C {0} bzw. d = n k + 1, falls C linear mit den Parametern [n, k, d] q ist. Pseudorationale Codes heiÿen auch MDS - Codes, was für maximum distance separable steht. Bei einem linearen Code C nennen wir die Dierenz zwischen n k+1 und d Singletondefekt oder (in Hinblick auf die AG-Schranke in Teil II) auch Pseudogeschlecht von C. Beispiel und Deniton 3.3. Die Singleton-Schranke ist für alle Codewortlängen n scharf. Die n-fachen Wiederholungscodes, die Parity-Check-Codes sowie der gesamte Raum Fq n geben Beispiele für pseudorationale Codes (vgl. 2.7, 2.13, 2.17). Zusammen mit dem Nullcode {0} nennen wir diese Typen von Codes, d.h. pseudorationale Codes der Länge n und Dimension 0, 1, n 1 oder n, auch triviale Codes.

22 Pseudorationale Codes Bemerkung 3.4. Ein linearer Code C ist genau pseudorational, wenn sein dualer Code C pseudorational ist. Die Klasse pseudorationaler linearer Codes ist also abgeschlossen bezüglich der Dualisierung ( ). Beweis. Es sei C ein pseudorationaler [n, k, d] q Code mit dualem [n, k, d ] q Code C. Nach Bemerkung 2.9 gilt k = n k und somit folgt aus der Singleton-Schranke d n k + 1 = k + 1. Der duale Code ist also genau dann pseudorational, falls d k + 1 gilt. Wir nehmen also an, C besitze ein nichttriviales Codewort x 0 vom Gewicht w(x ) k. Dann verschwinden mindestens n k Einträge von x; es seien etwa x i1 =... = x in k = 0. Wir bezeichnen mit s 1,..., s n die Spalten der Kontrollmatrix H von C. Da H die Erzeugermatrix von C ist, können wir ohne Einschränkung annehmen, daÿ x eine Zeile von H bildet. Dann hat der von den Spalten s i1,..., s in k aufgespannte Unterraum höchstens Dimension n k 1. Nach Bemerkung 2.16 sind aber jeweils d 1 = n k Spalten von H linear unabhängig. Somit führt unsere Annahme 0 < w(x ) k zum Widerspruch und es folgt d k + 1. Bei pseudorationalen Codes ist das Gewichtspolynom und damit die Verteilung der Codewörter mit gegebenem Gewicht vollständig festgelegt. Satz 3.5. (Gewichtsverteilung pseudorationaler Codes) Für einen pseudorationalen [n, k, d] q Code C gelten: (a) C hat die erzeugende Funktion n d ( ) n W C (X) = X n + (q k l 1)(X 1) l. l (b) Die Anzahl der Codewörter vom Gewicht r 0 ist w r (C) = l=0 ( ) n (q 1) r r d i=0 ( ) r 1 ( 1) i q r d i. i Beweis. Die Aussage (a) folgt aus Bemerkung 2.22, wobei man beachte, daÿ C Minimaldistanz d > n d besitzt. Ebenfalls unter Verwendung von Bemerkung 2.22 führen wir zum Beweis von (b) einen Koezientenvergleich bei W C (X) durch. Dies ergibt bei X s n d ( ) l n d ( )( ) l n w n s (C) = ( 1) s l v l = ( 1) s l (q k l 1) s s l l=s l=s ( ) ( n n d ( ) ) n s = ( 1) s l (q k l 1). s n l l=s

3.1 Gewichtsverteilung pseudorationaler Codes 23 Für r = n s erhalten wir ( ) ( n n d ( ) ) r w r (C) = ( 1) n r l (q k l 1) r n l l=n r ( ) ( n r d ( ) ) r = ( 1) j (q r+k n j 1). r r j j=0 Die rechte Seite ist durch q 1 teilbar und der Faktor w r (C) ( n 1(q r) 1) 1 hat die Gestalt r d ( r ( 1) j r j j=0 ) r d j i=0 r d q i = Man beachte dabei, daÿ n k = d 1 gilt. Mit folgt hieraus schlieÿlich r d i j=0 i=0 r d i q i j=0 ( ) ( ) r r 1 ( 1) j = ( 1) i j r d i ( 1) j ( r j ( ) n r d ( ) r 1 w r (C) = (q 1) ( 1) i r r d i i=0 ( ) n r d ( ) r 1 = (q 1) ( 1) i r i i=0 q i q r d i Korollar 3.6. Pseudorationale Codes der Dimension 2 über F q sowie die dazu dualen Codes haben maximal Länge q + 1. Beweis. Es sei C ein (pseudorationaler) [n, 2, n 1] q Code. Dann gilt nach 3.5(b) und somit 0 q + 1 n. 0 w n (C) = (q 1)(q (n 1)) ). MDS-Vermutung. Nichttriviale pseudorationale Codes der Dimension k über F q besitzen höchstens die Länge { q + 2 falls q 0 (mod 2) und k {3, q 1} q + 1 sonst. Diese Schranken sind scharf. Im Abschnitt 3.3 lernen wir die sogenannten projektiven Reed-Solomon-Codes kennen. Dies sind pseudorationale Codes der Länge q + 1.

24 Pseudorationale Codes Beispiel 3.7. Für die Konstruktion eines nichttrivialen pseudorationalen Code der Länge q + 2 betrachten wir den Fall q = 4. Es sei F 4 = {0, 1, a, b}. Die Matrix 1 0 0 1 1 1 0 1 0 1 a b 0 0 1 1 b a ist dann Erzeugermatrix eines [6, 3, 4] 4 bzw. Kontrollmatrix eines [6, 4, 3] 4 Codes, da jeweils drei Spalten der Matrix linear unabhängig sind (vgl. Bemerkung 2.16). Dieser Code wird auch Hexacode genannt. Die MDS-Vermutung konnte bisher für q 29 oder k 5 bestätigt werden. Wir beschäftigen uns näher mit der Vermutung in den Kapiteln 12 und 13, in denen wir die Vermutung für die arithmetischen Codeklassen der sogenannten rationalen, elliptischen und hyperelliptischen Codes beweisen. 3.2 Reed-Solomon-Codes Die Klasse der Reed-Solomon-Codes ist die wichtigste und meistverwandte Klasse von (pseudorationalen) Codes. Zum Beispiel werden diese Codes in variierter Form als sogenannte CIRC - Codes bei Audio und Compact Discs verwendet. Darauf gehen wir im nächsten Kapitel ein. Zudem werden wir in Abschnitt 12.1 eine arithmetische Beschreibung der Reed-Solomon-Codes geben. Denition 3.8. (Reed-Solomon-Code) Es seien q n k 0. Wir bezeichnen mit P k := F q [X] <k den Vektorraum der F q - Polynome vom Grad < k. Für paarweise verschiedene Körperelemente a 1,..., a n F q und beliebige b 1,..., b n F q seien a := (a 1,..., a n ) und b := (b 1,..., b n ). Dann ist der (verallgemeinerte) Reed-Solomon-Codes RS k (a, b) deniert durch den Codierer { Pk Fq C : n f (b 1 f(a 1 ),..., b n f(a n )). Man nennt a daher auch Auswertungsvektor. RS k (a, b) heiÿt gewöhnlich, falls b = (1,..., 1) und a = (u i ) 1 i n mit einer primitiven n-ten Einheitswurzel u F q gelten. Anmerkung 3.9. Gewöhnliche Reed-Solomon-Codes liefern auch Beispiele für die sogenannte BCH - Codes, die wir in Abschnitt 6.3 studieren. Bemerkung 3.10. (Parameter und Erzeugermatrix von RS k (a, b)) Für einen Reed-Solomon-Code RS k (a, b) der Länge n über F q gelten: (a) RS k (a, b) ist pseudorational mit Dimension k, d.h. RS k (a, b) bildet einen [n, k, n k + 1] q Code. (b) Die Matrix (b i a j i ) 0 j k 1,1 i n ist eine Erzeugermatrix von RS k (a, b).

3.2 Reed-Solomon-Codes 25 Beweis. (a) Der Raum P k wird durch den Codierer C in Fq n linear eingebettet, da das Bild eines Polynoms f unter C nur dann verschwindet, falls f für die Argumente a 1,..., a n verschwindet. In diesen Fall hat f nämlich mindestens n Nullstellen und nach Voraussetzung höchstens Grad k 1. Wegen n k ist also C(f) = 0 nur im Fall f = 0 möglich, d.h. C ist injektiv. Über F q besitzt P k Dimension k, woraus dim(rs k (a, b)) = k folgt. Da f 0 aus P k höchstens k 1 Nullstellen hat, sind mindestens n (k 1) Einträge des Codewortes C(f) ungleich 0. Es gilt also d n k + 1. Aus der Singleton-Schranke erhält man die Gleichheit, was die Pseudorationalität von RS k (a, b) beweist. (b) Die Polynome 1, X,..., X k 1 bilden eine Basis von P k und somit sind auch ihre Bilder C(x j ) = (b 1 a j 1,..., b n a j n) unter C eine Basis von RS k (a, b). Aus Bemerkung 3.4 wissen wir bereits, daÿ die Klasse der pseudorationalen Codes abgeschlossen bezüglich Dualisierung ist. Die Unterklasse der Reed-Solomon-Codes ist ebenfalls ( ) - invariant und ihre Parameter sind sogar uniform. Satz 3.11. (Dualer Reed-Solomon-Code) Es seien die Vektoren a = (a 1,..., a n ) mit paarweise verschiedenen Einträgen a i aus F q und b (F q ) n gegeben. Dann gibt es ein c (F q ) n, sodaÿ für 0 k n 1 gilt. RS k (a, b) = RS n k (a, c) Beweis. Wir betrachten zunächst den Reed-Solomon-Code C = RS n 1 (a, b) der Dimension n 1. Dann ist sein dualer Code C nach Bemerkung 3.4 ebenfalls pseudorational und besitzt die Parameter [n, 1, n] q. Folglich wird C erzeugt von einen einzigen Wort c = (c 1,..., c n ) vom Gewicht n, das dann auch die Kontrollmatrix von RS n 1 (a, b) bildet. Mit der Kontrollgleichung für RS n 1 (a, b) erhalten wir also n c i b i h(a i ) = 0 für h P n 1. i=1 Für k N mit 0 k n 1 wählen wir beliebige Polynome f P k und g P n k. Dann ist h := f g Element von P n 1 und es gilt nach obigem die Orthogonalitätsrelation (b 1 f(a 1 ),..., b n f(a n )), (c 1 g(a 1 ),..., c n g(a n )) = n c i b i h(a i ) = 0 i=1 zwischen den Worten (b 1 f(a 1 ),..., b n f(a n )) aus RS k (a, b) und (c 1 g(a 1 ),..., c n g(a n )) aus RS n k (a, c). Da f und g beliebig wählbar sind, folgt RS k (a, b) RS n k (a, c) und aus Dimensionsgründen schlieÿlich die behauptete Gleichheit.

26 Pseudorationale Codes 3.3 Projektive Reed-Solomon-Codes Reed-Solomon-Codes können unter Beibehaltung des Singleton-Defekts 0 um ein Symbol verlängert werden. Dies liefert unteren anderem pseudorationale Codes über F q der Länge q + 1. Denition 3.12. (Projektiver Reed-Solomon-Code) Es seien RS k (a, b) ein Reed-Solomon-Code über F q der Länge n q und b n+1 F q. Dann heiÿt der durch die Matrix Ĝ := b 1 b n 0 b 1 a 1 b n a n 0... b 1 a1 k 1 b n a k 1 n 0 b 1 a k 1 b n a k n b n+1 denierte [n + 1, k + 1] q Code projektiver Reed-Solomon-Code über F q. Satz 3.13. Projektive Reed-Solomon-Codes sind pseudorational. Beweis. In der Situation von Denition 3.12 seien C = RS k (a, b) und Ĉ der durch C und b n+1 denierte projektive Reed-Solomon-Code der Länge n + 1 und Dimension k + 1. Für den Nachweis, daÿ Ĉ pseudorational ist, müssen wir gemäÿ der Singleton-Schranke nur d(ĉ) n k + 1 zeigen. Sei dazu c = (c 1,..., c n ) der Dualitätsvektor von C (aus Satz 3.11) mit C = RS n k (a, c). Es sei c n+1 F q mit n i=1 c i b i a n 1 i + c n+1 b n+1 = 0. Wir nehmen zunächst an, daÿ c n+1 = 0 ist. Es gilt dann n i=1 c ib i a n 1 i = 0 und somit n 1 i=0 c ib i h(a i ) = 0 für alle h P n nach Konstruktion von c. So aber ist c als nichtverschwindender Vektor orthogonal zu allen Vektoren aus F n q. Aufgrund diesen Widerspruchs ist c n+1 F q. Wir bilden die Matrix c 1 c n 0 c 1 a 1 c n a n 0 Ĥ :=... = c 1 a n k 2 1 c n a n k 2 n 0 c 1 a n k 1 1 c n a n k 1 n c n+1 H c 1 a n k 1 1 c n a n k 1 n u die ebenfalls einen projektiven Reed-Solomon-Code erzeugt. Wegen ĤĜT = 0 ist dieser dual zu Ĉ und Ĥ wirkt als Kontrollmatrix auf Ĉ. Wir zeigen nun, daÿ jeweils n k Spalten von Ĥ linear unabhängig sind und untersuchen dazu die quadratischen n k - Teilmatrizen M von Ĥ.,

3.4 Decodierung von Reed-Solomon-Codes 27 1.Fall: Es ist u nicht in M enthalten. Dann hat M die Gestalt M = V (a i1,..., a in k ) diag(c i1,..., c in k ), wobei V (a i1,..., a in k ) die Vandermonde-Matrix bedeutet. Da die a ij paarweise verschieden und die c ij invertierbar sind, ergibt sich det(m) 0. 2.Fall: Im zweiten Fall hat M die Spalten s i1,..., s in k 1, u. Dabei sind s i1,..., s in k 1 linear unabhängig, da H Kontrollmatrix von C ist und somit nach Bemerkung 2.16 jeweils d(c) 1 = n k Spalten von H linear unabhängig sind. Das hat aber auch die lineare Unabhängigkeit von u zu s i1,..., s in k 1 und damit die Regularität von M zur Folge. In beiden Fällen sind also jeweils n k Spalten von Ĥ linear unabhängig. Folglich gilt d(ĉ) n k + 1. Der Beweis zeigt zusätzlich, daÿ die Kontrollmatrix eines projektiven Reed-Solomom- Code wieder einen projektiven Reed-Solomon-Code erzeugt. Dies impliziert Korollar 3.14. Die Klasse der projektiven Reed-Solomon-Codes ist abgeschlossen bezüglich der Dualisierung und enthält ausschlieÿlich pseudorationale Codes. 3.4 Decodierung von Reed-Solomon-Codes Im gesamten Abschnitt sei C = RS k (a, b) = RS n k (a, c) ein Reed-Solomon-Code über F q mit Auswertungsvektor a = (a 1,..., a n ). Desweiteren sei e = n k+1 der Fehlerkorrekturparameter von C, d.h. die maximal mögliche 2 Anzahl von korrigierbaren Fehlern bei der Decodierung von C. Gesucht wird für eine empfangene Nachricht y ein Codewort x mit Abstand d(x, y) e. Denition 3.15. (Fehlervektor, Fehlerpolynom) Gibt es zu y Fq n ein Codewort x C mit d(x, y) e, so nennen wir x y = (e 1,..., e n ) Fehlervektor. Die Indexmenge I y = {i : e i 0} heiÿt Menge der Fehlerpositionen. Das Fehlerpolynom ist deniert durch σ(x) = e (X a i ) = z s X s. i I y s=0 Wir nennen σ auch fehlerlokalisierende Funktion. Die Syndrome zu y sind die Elemente n s j (y) = y i c i a j i i=1 (0 j n k). Oenbar gilt s j (y 1 + y 2 ) = s j (y 1 ) + s j (y 2 ) sowie s j (x ) = 0 für Codewörter x C. Folglich stimmen die Syndrome s j (y) mit s j (e) überein. Daraus folgt

28 Pseudorationale Codes Lemma 3.16. Die Koezienten z 0,..., z e des Fehlerpolynoms σ(x) erfüllen das Gleichungssystem e z l s j+l (y) = 0 (0 j e 1) (3.17) l=0 und es ist (z 0,..., z e ) durch (3.17) bis auf skalare Multiplikation eindeutig bestimmt. Beweis. Wegen e i = 0 für i / I y und σ(a i ) = 0 für i I y gilt e z l s j+l (y) = l=0 e l=0 z l n i=1 e i c i a j+l i = n e i c i a j i i=1 = i I y e i c i a j i σ(a i) = 0. e z l a l i l=0 Ist (ẑ 0,..., ẑ e ) eine weitere Lösung von (3.17), so denieren wir ˆσ(X) := e l=0 ẑ l X l und σ j (X) := i I i j e 1 (X a i ) = z l,j X l. l=0 Dann gilt für eine beliebige Fehlerposition j I y e j c j σ j (a j )ˆσ(a j ) = i I y e i c i σ j (a i )ˆσ(a i ), da σ j (a i ) im Falle i j verschwindet. Diese Summe kann weiter umgeformt werden zu ( e 1 e e 1 e ) e i c i z k,j a k i ẑ l a l i = z k,j ẑ l s k+l (y). i I k=0 l=0 k=0 l=0 Als Lösung von (3.17) erfüllen ẑ 0,..., ẑ e die Gleichungen e l=0 ẑls k+l (y) = 0 für alle Indices 0 k e 1. Das Produkt e j c j σ j (a j )ˆσ(a j ) verschwindet also, und wegen e j c j σ j (a j ) 0 ist ˆσ(a j ) = 0 für alle Fehlerpositionen j I y. Folglich ist das Fehlerpolynom σ(x) ein Teiler von ˆσ(X). Da die Polynomgrade übereinstimmen folgt nun die Existenz eines Skalars a F q mit σ(x) = a ˆσ(X). Decodieralgorithmus 3.18. Es sei y F n q gegeben. (1) Bestimme für 0 j n k die Syndrome s j (y) = n i=1 y ic i a j i zu y. (2) Finde eine Lösung z = (z 0,..., z l ) des Gleichungssystems (3.17). (3) Faktorisiere das Polynom ˆσ(X) := e l=0 z lx l. Die Indexmenge der Fehlerpositionen ist dann I = {i : ˆσ(a i ) = 0}.

3.4 Decodierung von Reed-Solomon-Codes 29 (4) Für i / I setze e i := 0. Bestimme die restliche Koezienten des Fehlervektors e = (e 1,..., e n ) mit Hilfe des Gleichungssystem e i c i a j i = s j(y) (0 j n k). (3.19) i I (5) Das Codewort x = y e C ist dann die decodierte Nachricht. ter- Bemerkung 3.20. Der Decodieralgorithmus 3.18 mit dem Startvektor y Fq n miniert, falls es ein Codewort x C mit Distanz d(x, y) e gibt. Beweis. Aus Lemma 3.16 folgt, daÿ ˆσ aus Schritt 3 ein skalares Vielfaches der fehlerlokalisierenden Funktion σ von y ist. Somit ist I die tatsächliche Indexmenge I y der Fehlerpositionen. Es ist nur noch zu zeigen, daÿ eine Lösung des Gleichungssystem (3.19) eindeutig bestimmt ist. Dazu sei e mit e i = 0 für i / I eine Lösung von (3.19). Dann verschwinden die Syndrome s j (e e ) = n (e i e i)c i a j i für 0 j n k und somit ist e e ein Codewort aus C vom Gewicht Das ist nur für e = e möglich. i=1 w(e e ) 2e < d(c).

Kapitel 4 Variationen von Codes 4.1 Einige elementare lineare Konstruktionen Bemerkung 4.1. (Erweiterung mit Paritätsbit) Es sei C ein [n, k, d] q Code mit Erzeugermatrix G. Dann erzeugt x 11 x 1n n i=1 Ĝ = (G p) =.... x 1i.. x k1 x kn n i=1 x ki einen [n + 1, k, ˆd] q Code mit Minimaldistanz d oder d + 1. Bemerkung 4.2. (Punktierung) Es sei C ein [n, k, d] q Code. Der durch Weglasssen des i-ten Symbols erzeugte Code C i = {(x 1,..., x i 1, x i+1,..., x n ) : x C} ist ein [n 1, k, d ] q Code mit Dimension k {k 1, k} und Distanz d {d 1, d}. Bemerkung 4.3. (Direkte Summe) Es seien C 1 und C 2 lineare Codes mit den Paramtern [n i, k i, d i ] q für i = 1, 2. Dann gelten: (a) Der Code C 1 C 2 = {(x 1, x 2 ) : x i C i } ist ein [n 1 + n 2, k 1 + k 2, d] q Code mit Minimaldistanz d = min{d 1, d 2 }. (b) Im Fall n 1 = n 2 deniert C := {(x 1, x 1 + x 2 ) : x i C i } einen [2n 1, k 1 + k 2, d] q Code mit Distanz d = min{2d 1, d 2 }.

32 Variationen von Codes Bemerkung 4.4. (Verklebung) Es seien C 1 : Fq k F n 1 q und C 2 : Fq k F n 2 q [n 2, k, d 2 ] q Codes. Dann gelten: Codierer von [n 1, k, d 1 ] q bzw. (a) Der Codierer (C 1 C 2 ) : { F k q F n 1 q F n 2 q x (C 1 (x), C 2 (x)) erzeugt einen [n 1 + n 2, k, d] q Code mit Minimaldistanz d d 1 + d 2. (b) (C 1 C 1 ) : F k q F ln q ist ein [ln, k, ld] q Wiederholungscode. Bemerkung 4.5. (Tensorprodukt, Cross Interleaving) Es seien C 1 und C 2 lineare Codes mit den Parametern [n i, k i, d i ] q für i = 1, 2. Dann deniert mit C 1 C 2 = { x (1) x (2) : x (i) C i } F n 1 n 2 q = F n 1 q F n 2 q x (1) x (2) = (x (1) 1 x (2) 1,..., x (1) n 1 x (2) 1, x (1) 1 x (2) 2,..., x (1) n 1 x (2) 2,......, x (1) 1 x (2) n 2,..., x (1) n 1 x (2) n 2 ) einen [n 1 n 2, k 1 k 2, d 1 d 2 ] q Code. Dabei heiÿen C 1 innerer und C 2 äuÿerer Code von C 1 C 2. Beweis. Oensichtlich hat C 1 C 2 die Länge n 1 n 2. Ein Codewort besitzt das Gewicht w(x (1) x (2) ) = w(x (1) ) w(x (2) ). Daher sind die Produkte von Minimalwörtern je aus C 1 und C 2 Minimalwörter in C 1 C 2 und es folgt die Aussage über die Distanz von C 1 C 2. Für den Rest des Beweises zeigen wir, daÿ C 1 C 2 tatsächlich ein Tensorprodukt ist und als solches Dimension k 1 k 2 besitzt. Das (existierende) Tensorprodukt von C 1 und C 2 bezeichnen wir dabei mit V. Die Abbildung (x (1), x (2) ) x (1) x (2) von C 1 C 2 nach C 1 C 2 ist oensichtlich bilinear und surjektiv. Nach der universellen Abbildungseigenschaft von Tensorprodukten gibt es daher einen surjektiven Homomorphismus von V nach C 1 C 2 und es gilt dim(c 1 C 2 ) dim(v ) = k 1 k 2. Dieser Homomorphismus ist auch injektiv, da die Produkte x (1) i x (2) j von Basen in C 1 und C 2 linear unabhängig sind. Eine Linearkombination a ij x (1) i x (2) j = 0 läÿt sich auf k 2 n 2 Linearkombinationen k1 i=1 a ijx (2) jl x (1) i = 0 mit 1 j k 2, 1 l n 2 zurückführen. Diese liefern die Gleichungen a ij x (2) j = 0 für 1 i k 1, 1 j k 2 und somit schlieÿlich a ij = 0 für alle Doppelindizes ij. Das beweist unsere Aussage über die Dimension und zeigt, daÿ C 1 C 2 ein Tensorprodukt von C 1 und C 2 ist. Aufgabe 4.6. Führen Sie die Beweise der Bemerkungen 4.1-4.4 durch.