Algebraische Codierungstheorie 1. Lineare Codes und projektive Geometrie Wir betrachten eine Quelle, die Symbole aus einem Alphabet W = {w ,...,w } ausgibt. 1 m Definition 1.1. Eine Codierung ist eine Abbildung f : W −→ Σ∗, wo Σ eine beliebige Menge (ein Alphabet) ist und Σ∗ die Menge aller endlichen Folgen von Elementen aus Σ. Eine Nachricht m ist eine end- liche Folge w ,...,w ∈ W∗ von Elementen aus W, sie wird als die i1 ik Aneinanderreihung f(m) = f(w ),...,f(w ) der zu den w geh¨origen i1 ik j Zeichenketten in Σ∗ codiert, f also zu einer (ebenfalls mit f bezeich- neten) Abbildung f : W∗ −→ Σ∗ Dief(w),w ∈ W heißendiebeiderCodierungverwendetenCodew¨orter, die Menge f(W) ⊆ Σ∗ der Codew¨orter heißt der Code C. Sind fu¨r ein n ∈ N alle Codew¨orter Elemente von Σn, so heißt C ein Block-Code der L¨ange n (mit Alphabet Σ). Wir betrachten jetzt Block-Codes der L¨ange n u¨ber dem Alphabet Σ = F = F, wo F = F der K¨orper mit q = pf Elementen ist. q q Definition und Lemma 1.2. Sei C ⊆ Σn ein Block-Code. Fu¨r x = (x ,...,x ), y = (y ,...,y ) aus Σn 1 n 1 n ist der Hamming-Abstand d(x,y) = |{j | x 6= y }|. j j Der Hamming-Abstand ist eine Metrik, d.h., es gilt fu¨r alle x,y,z ∈ Σn: a) d(x,y) ≥ 0, mit d(x,y) = 0 genau dann, wenn x = y gilt. b) (Symmetrie) d(x,y) = d(y,x). c) (Dreiecksungleichung) d(x,z) ≥ d(x,y)+d(y,z). Beweis. Klar. (cid:3) Definition 1.3. a) Fu¨r einen Code C ⊆ Fn ist die logarithmische q Kardinalit¨at (oder Dimension) k := k(C) = log |C|. Die Rate q von C ist R = k. Der Minimalabstand von C ist d := d(C) = n min{d(x,y) | x,y ∈ C, x 6= y}. n, k und d heißen die Parame- ter des Codes; man sagt C sei ein [n,k,d]-Code. Fu¨r x ∈ C ist w(x) = #{i | x 6= 0} das Gewicht von x. i b) Ist C ⊆ Fn ein Untervektorraum von Fn, so heißt C ein linearer q q Code. Der Minimalabstand d(C) ist dann gleich min{w(x) | x 6= 0} und heißt auch Minimalgewicht w(C) des Codes. c) Falls es fu¨r t ∈ N zu jedem y ∈ Fn h¨ochstens ein x ∈ C mit q d(x,y) ≤ t gibt, so sagt man, C korrigiere t Fehler. 1 2 Bemerkung. a) Die Bezeichnung [n,k,d]-Code wird h¨aufig fu¨r li- neare Codes reserviert (bei denen k = dim C automatisch eine natu¨rliche Zahl ist), w¨ahrend fu¨r beliebige Codes die Bezeich- nung (n,|C|,d)-Code verwendet wird. b) Die Rate des Codes misst, welcher Anteil an den zur U¨bermitt- lung eines Wortes benutzten n Symbolen auch fu¨r rauschfreie Codierung ben¨otigt wu¨rde, und misst daher die Effizienz. Definition 1.4. Eine Decodierung(sregel) des Block-Codes C u¨ber F q ist eine Abbildung g : Fn −→ C ∪{F} (wobei das Symbol F fu¨r Feh- q ” ler“(failure) steht). Die minimum distance Decodierungsregel ist: Gibt es zu y ∈ Fn genau ein x ∈ C, fu¨r das d(x,y) minimal ist, so q setze g(y) = x (decodiere y als x), andernfalls setze g(y) = F (erkl¨are einen Fehler). Bemerkung. FallstFehlervonC korrigiertwerden,sowirdbeiminimum- distance-Decodierung jedes Wort richtig decodiert, das bei der U¨bert- ragung in h¨ochstens t Positionen ver¨andert wurde. Lemma 1.5. Es werden genau dann t Fehler von C korrigiert, wenn d(C) > 2t ist. Beweis. Falls d(C) > 2t ist, so sei y ∈ Fn beliebig mit d(x,y) ≤ t ≥ q d(x0,y) fu¨r Elemente x,x0 von C. Da fu¨r d die Dreiecksungleichung gilt, ist dann d(x,x0) ≤ 2t < d(C), also x = x0, d.h., C korrigiert t Fehler. Falls umgekehrt t Fehler von C korrigiert werden, so seien x,x0 ∈ C mit d(x,x0) ≤ 2t. Man ersetze dann [d(x,x0)] Eintr¨age x von x, fu¨r die x 6= 2 j j x0 gilt, durch x0 und erhalte so ein y ∈ Fn mit d(x,y) = [d(x,x0)] ≤ t j j q 2 und d(x0,y) = d(x,x0)−[d(x,x0)] ≤ t. 2 Nach Voraussetzung muß dann x = x0 sein. (cid:3) Definition 1.6. Fu¨r σ ∈ S sei σ˜ ∈ Fn der durch (x ,...,x ) 7−→ n q 1 n (x ,...,x ) gegebene lineare Automorphismus σ˜ von Fn, fu¨r α ∈ σ(1) σ(n) q F× sei α˜ der durch (x ,...,x ) 7−→ (x ,...,αx ,...,x ) gegebene li- q i 1 n 1 i n neare Automorphismus α˜ von F . i q Sei A die von den σ˜ mit σ ∈ S und den α˜ mit α ∈ F×, 1 ≤ i ≤ n n i q erzeugte Untergruppe von Aut(Fn). q Die Codes C, C0 ⊆ Fn heißen ¨aquivalent, wenn es ein ϕ ∈ A gibt mit q ϕ(C) = C0. Bemerkung. Bei nichtlinearen Codes werden h¨aufig zus¨atzlich noch fu¨r Permutationen π ∈ S die Bijektionen π˜ : Fn −→ Fn zugelassen, q i q q die durch π˜ (x ,...,x ) = (x ,...,π(x ),...,x ) gegeben sind. Die von i 1 n 1 i n A und den π˜ erzeugte Gruppe von Bijektionen Fn −→ Fn ist natu¨rlich i q q nicht mehr in Aut(Fn) enthalten und fu¨hrt lineare Codes nicht notwen- q dig in lineare Codes u¨ber. Die Elemente von A werden bezu¨glich der 3 Standardbasis von Fn durch Monomialmatrizen repr¨asentiert (Matri- q zen, bei denen in jeder Zeile und jeder Spalte genau ein Eintrag 6= 0 steht). A ist semidirektes Produkt der von den α˜ erzeugten Untergruppe i M ∼= (F×)n und der zu S isomorphen Untergruppe der σ˜, wobei q n die Operation von S auf dem Normalteiler M gegeben ist durch n σ˜α σ˜−1 = α˜ . Insbesondere ist |A| = (q −1)n ·n!. i σ(i) Bevor wir lineare Codes weiter untersuchen, schieben wir eine Zusam- menstellung der wichtigsten Grundbegriffe der projektiven Geometrie ein; diese werden wir anschließend ben¨otigen. Definition 1.7. Ist r ∈ N und K K¨orper, so heißt die Menge der 1-dimensionalen Untervektorr¨aume von Kr+1 der r-dimensionale pro- jektive Raum Pr(K) u¨ber K. Ist U ⊆ Kr+1 ein (k + 1)-dimensionaler Unterraum, so heißt P = U U˜ = {L ∈ Pr(K) | L ⊆ U} ein k-dimensionaler (oder (r − k)- codimensionaler) Unterraum von Pr(K). Insbesondere sind die P fu¨r U Hyperebenen U ⊆ Kr+1 die Hyperebenen in Pr(K), und die P fu¨r u dim U = 2 die Geraden in Pr(K). Die Unterr¨aume P und P von Pr(K) heißen inzident (schneiden U W sich), wenn U ∩W 6= {0} ist. Bezeichnet man in (Kr+1 \ {0})/K× die Klasse von (x ,...,x ) 6= 0 0 r mit [x ,...,x ] (homogene Koordinaten), so wird durch 0 r [x ,...,x ] 7−→ K ·(x ,...,x ) 0 r 0 r eine Bijektion (Kr+1 \{0}/K× −→ Pr(K) gegeben. Bemerkung. a) Durch(x ,...,x ) 7−→ [1,x ,...,x ]wirdeineBi- 1 r 1 r jektion Kr −→ U := {[x ,...,x ] ∈ Pr(K) | x 6= 0} 0 0 r 0 gegeben. Analog stehen auch die U := {[x ,...,x ] | x 6= 0} in Bijek- i 0 r i tion zu Kr, und wir haben eine U¨berdeckung Pr(K) = Sr U i=0 i von Pr(K) durch (r+1) Teilmengen, die in natu¨rlicher Bijektion zum gew¨ohnlichen r-dimensionalen (affinen) Raum stehen. Fu¨r die Bijektionen ϕ : Kr −→ U gilt offenbar: j j – Ist x˜ ∈ Kr und W ⊆ Kr ein k-dimensionaler Unterraum von Kr, so ist W0(x˜) := {(x ,...,x ) ∈ Kr+1 | (x ,...,x ) ∈ x x˜ +W} 0 r 1 r 0 ein k +1-dimensionaler Unterraum von Kr+1. Fu¨rdiesengilt:ϕ (x˜+W) = P ∩U istderDurchschnitt 0 W0(x˜) 0 des k-dimensionalen Unterraums P mit U . W0(x˜) 0 4 – ϕ ist vertr¨aglich mit Durchschnitten und bildet den von 0 x˜ + W und x˜ + W aufgespannten affinen Unterraum 1 1 2 2 in (P ∨ P ) ∩ U ab; dabei bezeichnet P ∨ P W10(=x˜1)P W20(x˜2) de0nkleinstenUnterraumvoWn10P(x˜r1()K), W20(x˜2) W10(x˜1)+W20(x˜2) der P und P enth¨alt (den von diesen Unterr¨aum- W10(x˜1) W20(x˜2) en aufgespannten Unterraum oder ihre Verbindung). Analog formuliert man diese Eigenschaften fu¨r ϕ (1 ≤ j ≤ r). j Die Punkte von P , die nicht in ϕ (x˜+W) liegen, nennt man W0(x˜) j unendlich ferne Punkte von ϕ (x˜+W) und P0 (x˜) die projektive j W Abschließung oder Komplettierung von ϕ (x˜ +W). j b) Als U¨bung zeige man, dass sich in P2(K) je zwei verschiedene Geraden in genau einem Punkt schneiden. Genauer bestimme man fu¨r die Schar paralleler Geraden g ⊆ K2, die durch die b Gleichung x = mx +b mit festem m und variablem b gegeben 2 1 sind, den (bezu¨glich ϕ unendlich fernen) Punkt des P2(K), in 0 dem sich s¨amtliche Geraden der Schar schneiden. Man zeige fer- ner, dass die bezu¨glich ϕ unendlich fernen Punkte des P2(K) 0 eine Gerade in P2(K) bilden. c) Der projektive Raum l¨asst sich auch koordinatenfrei behandeln. Man betrachtet dann fu¨r einen beliebigen K-Vektorraum V den Raum P(V) := {U ⊆ V | U ist Untervektorraum, dim U = 1} K und verf¨ahrt ansonsten wie oben. d) Ist f ∈ K[X ,...,X ] ein homogenes Polynom u¨ber K von ir- 0 r gendeinem Grad d (also f = Pi0,...,ir∈Nr0 ai0...irX0i0...Xrir mit al- len a ∈ K), so ist fu¨r [x ,.i.0.+,··x·+i]r=∈d Pr(K) die Antwort auf i0...ir 0 r die Frage, ob f(x ,...,x ) = 0 gilt, unabh¨angig von der Auswahl 0 r des Rrepr¨asentanten (x ,...,x ) ∈ Kr+1. 0 r Fu¨r eine Menge F von solchen homogenen Polynomen in den Variablen X ,...,X nennt man 0 r V(F) = {[x ,...,x ] | f(x ,...,x ) = 0 fu¨r alle f ∈ F} ⊆ Pr(K) 0 r 0 r die durch F definierte projektive algebraische Menge. Analog nennt man fu¨r eine Menge G ⊆ K[X ,...,X ] von (beliebigen) 1 r Polynomen in den Variablen X ,...,X die Menge 1 r V(G) = {(x ,...,x ) ∈ Kr | g(x ,...,x ) = 0 fu¨r alle g ∈ G} ⊆ Kr 1 r 1 r die durch G definierte affine algebraische Menge. Als U¨bung zei- ge man: Ist g ∈ K[X ,...,X ] ein Polynom vom Grad d (d.h. 1 r max{i + ··· + i | a 6= 0} = d), so gibt es genau ein 1 r i1...ir homogenes Polynom f ∈ K[X ,...,X ] vom Grad d, so dass 0 r f(1,X ,...,X ) = g gilt (man sagt, f entstehe aus g durch Ho- 0 r mogenisieren). Es gilt dann V(f)∩U = ϕ (V(g)). 0 0 Proposition 1.8. Fu¨r einen Teilraum W ⊆ Kr+1 = V der Dimension k +1 sei Wˆ = Ann(W) = {f ∈ V∗ | f| = 0} ⊆ V∗ W 5 der Annullator von W. Fu¨r den Unterraum P ⊆ Pr(K) der Dimen- W sion k heiße δ(P ) := P ⊆ P(V∗) W Wˆ der zu W duale Teilraum von P(V∗). a) δ(P ) ist ein (r−k −1)-dimensionaler Unterraum von P(V∗). W b) DurchP 7−→ δ(P )wirdeineBijektionzwischendenk-dimensiona- W W len Unterr¨aumen von Pr(K) und den (r−k−1)-dimensionalen Unterr¨aumen von P(V∗) ∼= Pr(K) gegeben. Mit der kanonischen Identifikation V ∼= V∗∗ wird δ2 = Id. c) Es gilt δ(P ∩P ) = δ(P )∨δ(P ) W1 W2 W1 W2 δ(P ∨P ) = δ(P )∩δ(P ) W1 W2 W1 W2 δ(P ) ⊆ δ(P ) ⇔ P ⊆ P W1 W2 W2 W1 d) (Dualit¨atsprinzip) Fu¨r jeden Satz der projektiven Geometrie u¨ber Unterr¨aume von Pr(K), der in Termen von ∩, ∨, ⊆ und dim formuliert ist, gilt der duale Satz, in dem jeder Unterraum P W durch δ(P ) ersetzt wird, ∩ und ∨ sowie ⊆ und ⊇ vertauscht W und die Dimension k durch die Dimension r−k−1 ersetzt wird. Insbesondere erh¨alt man fu¨r r = 2 ein Dualit¨atsprinzip, in dem die Rollen von Punkten und Geraden vertauscht werden. Beweis. a)-c) sind eine einfache U¨bung in linearer Algebra. d)isteinMetatheorem,dessenBeweisentsprechendmu¨hsamzuformu- lieren ist. Jeder Einzelfall ist aber leicht einzusehen. Wer mehr wissen will, schlage etwa im Buch von Fischer (Analytische Geometrie) nach und fu¨hre ein paar Dualisierungen in der ebenen projektiven Geometrie als U¨bung durch. (cid:3) Wir kehren jetzt zu den linearen Codes zuru¨ck. Definition und Lemma 1.9. Sei C ⊆ Fn ein linearer Code mit Basis q c = t(g ,...,g ),...,c = t(g ,...,g ). 1 11 1n k k1 kn Dann heißt die Matrix G = (g ) ∈ M (F ) eine Erzeugermatrix des ij k,n q Codes C (generator matrix) und durch k X t(x ,...,x ) 7−→ x c = tGx 1 k i i i=1 wird eine lineare Einbettung C : Fk −→ Fn gegeben. q q Eine Matrix H ∈ M (F ), fu¨r die C der L¨osungsraum des linea- n−k,n q ren Gleichungssystems Hx = 0 ist, heißt eine Kontrollmatrix (check matrix, parity check matrix) von C. Bemerkung. InderCodierungstheoriewerdenVektorenmeistens(ent- gegen der in den meisten Lehrbu¨chern und Vorlesungen u¨ber Linea- re Algebra benutzten Konvention) als Zeilenvektoren geschrieben; wir 6 werden diese Zeilenvektoren an Stellen, wo es (etwa durch Multiplika- tion mit Matrizen) zu Unklarheiten kommen k¨onnte, als Transponierte der gewohnten Spaltenvektoren schreiben. Natu¨rlich ist das im Grunde genommen ein Streit um des Kaisers Bart. Lemma 1.10. Fu¨r eine Kontrollmatrix H gilt rgH = n−k und H · Gt = 0 fu¨r jede Erzeugermatrix G von C. Beweis. Klar. (cid:3) Bemerkung. a) W¨ahlt man eine andere Basis c˜ = Pk t c von j i=1 ij i C, so gilt (mit T = (t ) ∈ GL (F )): ij k q G˜ = Tt ·G. ˜ G geht also aus G durch Multiplikation von links mit einer (be- liebigen) invertierbaren k ×k- Matrix hervor. ˆ Ist C ein zu C ¨aquivalenter Code und wird die Transformati- ˆ on ϕ aus A, die C in C u¨berfu¨hrt, durch die Monomialmatrix M ∈ GL (F ) dargestellt (mit cˆ = ϕ(c )), so hat die zu den cˆ n q j j j ˆ geh¨orige Erzeugermatrix die Gestalt G = G·M. Ist H Kontroll- matrix zu G, so ist H ·(Mt)−1 Kontrollmatrix zu Gˆ. b) Gelegentlich werden auch Matrizen H ∈ M (F ) mit r > n−k, r,n q rgH = n−k und H·Gt = 0 als Kontrollmatrix zu C bezeichnet. Definition 1.11. Fu¨r C ⊆ Fn ist der duale (oder orthogonale) Code q C⊥ definiert als n X C⊥ = {y ∈ Fn | hx,yi := x y = 0 fu¨r alle x ∈ C}. q i i i=1 Ist C = C⊥, so heißt C selbstdual. Lemma 1.12. a) Ist dim C = k, so ist dim C⊥ = n−k. b) H ist genau dann Kontrollmatrix von C, wenn H Erzeugermatrix von C⊥ ist. c) Durch y −→ L ∈ (Fn)∗ mit L (x) := hx,yi wird ein Isomor- y q y phismus L von Fn auf den Dualraum (Fn)∗ gegeben, der C⊥ auf q q den Annullator von C abbildet. Beweis. Dies sind Standardaussagen der linearen Algebra. Man beach- te, dass durch (x,y) 7−→ hx,yi eine nichtausgeartete symmetrische Bilinearform auf Fn gegeben wird. (cid:3) q Definition 1.13. Der lineare Code C hat genau dann Minimalgewicht w(C) > d, wenn gilt: Je d Spalten einer Kontrollmatrix H von C sind linear unabh¨angig. Beweis. Klar: Sind h ,...,h die Spalten von H, so ist x ∈ C ¨aquiva- 1 n lent zu Pn x h = 0. (cid:3) i=1 i i 7 Beispiel. Wir betrachten den Code C := {x ∈ F6 | x +x = x , x +x = x , x +x = x }. 6 2 2 3 4 1 3 5 1 2 6 Dieser Code hat 8 Worte (Er hat Dimension 3 als Vektorraum u¨ber F ). 2 Wir sehen: C hat Kontrollmatrix 6 0 1 1 1 0 0 H = 1 0 1 0 1 0 1 1 0 0 0 1 DajezweiSpaltenderKontrollmatrixlinearunabh¨angigsind,istd(C ) ≥ 6 3, wir werden gleich sehen, dass d(C ) = 3 ist. C ist also ein [6,3,3]- 6 6 Code. Eine Erzeugermatrix ist 1 0 0 0 1 1 G = 0 1 0 1 0 1 0 0 1 1 1 0 also sicher d(C) ≤ 3, damit ist d(C) = 3. Beispiel. Fu¨r Codes mit Minimalabstand d ≥ 3 u¨ber F suchen wir q eine Kontrollmatrix, fu¨r die keine 2 Spalten linear abh¨angig, d.h. Viel- fache voneinander sind. Bei gegebener Codimension r = n−k besteht ein H m¨oglichst großer SpaltenzahlnalsoausRepr¨asentantenaller1-dimensionalenUnterr¨aume (Geraden) von Fn als Spalten. Wir haben dann also q qr −1 n = = 1+···+qr−1. q −1 Definition 1.14. Fu¨r r ≥ 2 sei n = qr−1. Der [n,n − r,3]-Code mit q−1 Kontrollmatrix H, deren Spalten Repr¨asentanten der 1-dimensionalen Unterr¨aume von Fr sind, heißt der [n,n−r]-Hamming-Code u¨ber F . q q Beispiel. q = 2, r = 3, n = 7. 0 0 1 0 1 1 1 H = 0 1 0 1 0 1 1 1 0 0 1 1 0 1 Der Code hat 16 Elemente und (wie alle Hamming-Codes) Minimalab- stand 3, korrigiert also einen Fehler. Der duale Code ist der Code mit Erzeugermatrix H. Der Code C aus dem vorigen Beispiel ist die Projektion auf F6 des 6 2 [7,4,3]-Hamming-Codes u¨ber F . 2 Definition und Lemma 1.15. Sei G ∈ M (F ) Erzeugermatrix des k,n q Codes C ⊆ Fn. q a) G ist in Standardform, wenn G = (E ,P) mit P ∈ M (F ) k k,n−k q gilt (E die (k ×k)-Einheitsmatrix). k 8 b) Ist die aus den Spalten mit den Nummern i < ··· < i gebildete 1 k Teilmatrix von G die k × k-Einheitsmatrix, so sagt man, C sei systematisch in i ,...,i . 1 k A¨quivalent ist: Die durch x 7−→ (x ,...,x ) gegebene Projek- i1 ik tion p = p : Fn −→ Fk liefert einen Isomorphismus p| : i1,...,ik q q C C −→ Fk. q Bemerkung. a) Ist G Erzeugermatrix von C, so k¨onnen wir durch U¨bergang zu einer anderen Basis G durch TG mit beliebigem T ∈ GL (F ) ersetzen. T kann so gew¨ahlt werden, dass TG in k q Zeilenstufenform ist, wobei jeweils in der j-ten Zeile in der Po- sition i der erste Eintrag 6= 0 steht. C ist daher systematisch j in den Positionen i ,...,i . Multipliziert man G von rechts mit 1 k einer geeigneten Permutationsmatrix, so geht G in Standardform u¨ber; C geht dabei in einen ¨aquivalenten Code u¨ber. Jeder lineare Code ist also ¨aquivalent zu einem Code mit Erzeugermatrix in Standardform. b) IstG = (E ,P)inStandardform,soistoffenbarH = (−tP,E ) k n−k eine Kontrollmatrix fu¨r G, denn man sieht: (cid:18) (cid:19) E H ·Gt = (−tP,E ) k = 0. n−k tP Definition 1.16. Sei C linearer Code mit Erzeugermatrix G und Kon- trollmatrix H. a) Fu¨r y ∈ Fn heißt s = s (y) := Hy =∈ Fn−k das Syndrom von q H q y (bezu¨glich H). b) Fu¨r s ∈ Fn−k heißt ein Element e = e (s) minimalen Gewichts q H in der Nebenklasse K = {y ∈ Fn | Hy = s} ∈ Fn/C ein coset s q q leader (Nebenklassen-Fu¨hrer) von s; man hat dann K = e+C. s Bemerkung. a) U¨bergang zu einer anderen Kontrollmatrix ¨andert zwar die Syndrome, aber nicht die Einteilung von Fn in Neben- q klassen aus Vektoren gleichen Syndroms; insbesondere ¨andert es nichts an den coset leaders, sondern nur ihre Zuordnung zu den einzelnen Syndromen. b) Minimum-distance-Decodierung decodiert y als y − e (s), wo H s = s (y) = Hy das Syndrom von y bezu¨glich H ist. Ist der H coset leader von y + C nicht eindeutig, so erkl¨art man, es sei- en r = w(e (s)) Fehler erkannt worden. Decodierung erfolgt H hier also nach Durchfu¨hrung der Matrixmultiplikation y 7−→ Hy durch Nachschlagen in einer Tabelle (table-lookup) der Gr¨oße |F /C| = qn−k. Das ist natu¨rlich (zumal fu¨r großes k) besser als q in einer Tabelle der vollen Gr¨oße qn nachschlagen zu mu¨ssen. Bei Codes mit viel Struktur verfu¨gt man u¨ber Methoden, die Zu- ordnung des coset leaders zum ermittelten Syndrom effizienter vorzunehmen. 9 Die Codierung, aufgefasst als Abbildung C : Fk −→ C, ist q natu¨rlich als Multiplikation mit der Erzeugermatrix (bzw. de- ren transponierter Matrix, je nach benutzter Konvention u¨ber Zeilen- und Spaltenvektoren) ebenfalls leicht effizient zu imple- mentieren. Beispiel. Fu¨r unseren Code C ⊆ F6 sind die m¨oglichen Syndrome die 6 2 Elemente von F3. Wir haben die triviale Nebenklasse C, 6 Nebenklas- 2 sen, die von den Vektoren in F mit genau einer 1 repr¨asentiert werden, 2 unddieNebenklassezumSyndrom(1,1,1),dievon(1,0,0,1,0,0),aber auch von (0,1,0,0,1,0) oder (0,0,1,0,0,1) repr¨asentiert wird: Diese Nebenklasse hat keinen eindeutigen coset leader. Die Decodierung in unserem Beispiel erfolgt also so: Ist das Syndrom s von y nicht (1,1,1), so decodiere y als y − e (s) ∈ C, ist es gleich H (1,1,1), so decodiere als y −(1,0,0,1,0,0) (willku¨rliche Auswahl des coset leaders) oder erkl¨are, dass bei der U¨bermittlung wenigstens zwei Fehler aufgetreten sind (failure). U¨bung. a) Diese Decodierung ist in der Tat so, wie bei der Diskussion des Beispiels behauptet. b) Finde Kontrollmatrix, Syndrome und coset leaders fu¨r den im Beispiel benutzten Code C ⊆ F6. 6 2 c) Zeige: Ist d(C) = 2t+1, so ist in jeder Nebenklasse von C h¨ochs- tens ein Codewort vom Gewicht ≤ t, und letztere Eigenschaft ist ¨aquivalent dazu, dass t Fehler von C korrigiert werden. Ist d(C) = 2t, so werden t−1 Fehler korrigiert und t Fehler erkannt, aber nicht mehr notwendig korrigiert. Es gibt dann Nebenklas- sen von C, in denen alle coset leaders Gewicht t haben, der coset leader aber nicht eindeutig ist. Bemerkung. Der Code C ⊆ Fn hat Minimalabstand d(C) ≥ r+1, falls q in der Kontrollmatrix H ∈ M (F ) je r Spalten linear unabh¨angig n−k,n q sind. Projektiv gesehen heißt das: Fu¨r die von den Spalten repr¨asentierten Punkte des Pn−k−1(F ) gilt: Je q r dieser Punkte liegen nicht gemeinsam in einem r −2-dimensionalen Teilraum (also fu¨r r = 2: Je 2 Punkte sind verschieden, fu¨r r = 3: Je drei Punkte sind nicht kollinear, fu¨r r = 4: Je 4 Punkte sind nicht koplanar, etc.). Offenbar geht das nur fu¨r r − 2 ≤ n − k − 2 oder r ≤ n − k, d(C) = r+1 ≤ n−k +1. Wir haben also gezeigt: Lemma 1.17 (Singleton-Schranke). Ist C ein linearer [n,k,d]-Code, so ist d ≤ n−k +1. 10 Bemerkung. a) (U¨bung) Die Schranke gilt auch fu¨r nichtlineare Codes (Hinweis: Die Projektion des Codes auf Fn−d+1 ist injek- q tiv). b) Gilt n−k +1 = d, so heißt C ein maximum-distance-separable Code (MDS-Code) oder auch ein Code vom Geschlecht (genus) 0 (letztere Sprechweise wird sp¨ater verst¨andlich). Gilt d ≥ n−k+1−g und d(C⊥) ≥ n+1−g−(n−k) = k+1−g, so sagt man allgemeiner C sei ein Code vom Geschlecht ≤ g (Ist d = n − k + 1, sind also je n − k Spalten der Kontrollma- trix linear unabh¨angig, so ist d(C⊥) = k + 1, also je k Spalten der Erzeugermatrix von C linear unabh¨angig. G¨abe es n¨amlich k Spalten in der Erzeugermatrix, die linear abh¨angig w¨aren (o.E. die ersten k Spalten), so g¨abe es (Zeilenrang = Spaltenrang) x ,...,x ∈ F , so dass (mit Zeilen c ,...,c der Erzeugerma- 1 k q 1 k trix) 0 6= Pk x c in den ersten k Spalten alle Eintr¨age gleich i=1 i i 0 hat. Dieses Codewort h¨atte dann Gewicht ≤ n−k = d(C)−1, was unm¨oglich ist). Definition 1.18. Sei V ein k-dimensionaler F -Vektorraum. Ein n- q Tupel P = (P ,...,P ) von n Punkten aus V, fu¨r die 1 n d(P) := n− max |P ∩H| ≥ 1 H Hyperebene gilt (fu¨r die es also keine Hyperebene H ⊆ V gibt mit P ⊆ H), heißt ein [n,k,d(P)] -System. q Zwei [n,k,d] -Systeme P,P0 in V bzw. V0 heißen ¨aquivalent, wenn es q einen Isomorphismus ϕ : V −→ V0 gibt mit ϕ(P) = P0. Proposition1.19. EsgibteineBijektionzwischenKlassenvon[n,k,d] - q Systemen und linearen [n,k,d]-Codes u¨ber F . q Beweis. Sei P = (P ,...,P ) ⊆ V. Definiere 1 n ϕ : V∗ −→ Fn durch q f 7−→ (f(P ),...,f(P )). 1 n ϕ ist nach der Voraussetzung u¨ber P injektiv, setze C = ϕ(V∗). Dann ist dim C = k. Ferner ist d(C) = d, denn w(ϕ(f)) ist gerade die Anzahl der P ∈ P, die nicht in der Hyperebene Ker ϕ von V liegen. i Ist umgekehrt C ⊆ Fn, f die j-te Koordinatenfunktion auf Fn, so sei q j q V = C∗ und P = (f | ,...,f | ). 1 C n C Die Elemente von P liegen offenbar in keiner gemeinsamen Hyperebene (jede Linearform auf C l¨asst sich zu einer auf Fn fortsetzen), und die q obige Konstruktion bildet x ∈ V∗∗ = C auf ϕ(x) = (x ,...,x ) ∈ Fn 1 n q ab, also ϕ(V∗) = C (und umgekehrt). Die beiden Abbildungen sind also invers zueinander und fu¨hren die Parameter ineinander u¨ber. (cid:3)