... Der Laie: Dann lügen Sie eben ein bisschen. Der Mathematiker: Das liegt mir aber nich t. Der Laie: Warum nicht? Alle anderen lügen doch auch. Der Mathematiker (nahe daran, der Versuchung nachzugeben, aber im Widerstreit mit einer lebenslangen Ge wöhnung): Aber ich muss doch bei der Wahrheit bleiben! Der Laie: Sicher. Aber Sie könnten sie ein bisschen v erbiegen, wenn dadurch verständlicher wird, was Sie eigentlich treiben. Der Mathematiker (skeptisch, aber von seinem eigenen Wagemut bef lügelt): Meinetwegen. Es käme auf einen Versuch an. ... Ian Stewart. Übersetzung: H.-M. Enz ensberger Zahlentheorie und fehlerk orrigierende Nachrichtenüber tragung - curiosit y driven research'' und mögliche An wendungen von Ernst-Ulrich Gekeler und Rainer Schulze-Pillot-Ziemen Abstrakte Algebra hat heute in je dem Haushalt ihren Platz. Wer einen CD-Player, Satellitenfernsehen, einen PC oder ein Handy benutzt, verlässt sich (meist ohne es zu wis sen) darauf, dass fehlerkorrigierende Codes für das zuv erlässige Arbeiten dieser Geräte sor gen. Die etwa auf der CD digital, also in Form von Folgen von Nullen und Einsen, gespeicher te Information ist schon bei einer fabrikneuen CD nicht fehlerfrei (man spricht von bis zu 500000 Bitfehlern bei der Pressung). Wenn dann noch Kratzer und Staub hinzukommen, so wäre das Ergebnis beim Abspielen w ohl kaum besser als bei einer Schall platte von 1920 (oder der Lesekopf geriete ganz aus der Spur), w enn die Information nicht in einer Weise gespeichert und gelesen würde, die dafür sorgt, dass Fehler erkannt und korrigiert werden. Das gleiche Problem hat man bei der Über tragung von Signalen über gestör te Kanäle wie etwa Funkstrecken. Und was die Computer angeh t, so war 24 Die Theorie der fehlerkorrigierenden Codes ist ein Gebiet im Schnitt v on Informationstheorie und Mathematik. Sie hängt mit vielen T eilgebieten der Mathematik zusammen, unter ander em Kombinatorik, Algebr a, Geometrie und Zahlentheorie. Die A utoren stellen hier einige Aspekte dar , die mit ihren in der Zahlentheorie angesiedelten F orschungsgebieten in Zusammenhang stehen und in ihr en Arbeitsgruppen F orschungsprojekte angeregt haben. die Unvermeidbarkeit von Bitfehlern anfangs ein ernsthaftes Ar gument dafür, dass längere Rechnungen mit digitalen Computern pr aktisch nicht durchführbar seien. Man löst das Problem dadurch, dass man die zu speichernden oder zu übertragenden Signale in r edundanter Weise codiert, das heißt so, dass auch bei Verlust oder Verfälschung einiger Informationssymbo le die verbleibenden richtigen Symbole ausreichen, um die Nachrich t noch richtig zu erkennen. Redundanz kostet leider Zeit und Platz. Die einfachste (und in dieser Hin sicht teuerste) Methode wär e es, alle Signale doppelt oder mehr fach zu speichern oder zu über tragen. In unseren Beispielen ist es aber notwendig, die Codierung und De codierung der Signale ef fizient durchzuführen: Der Speicherplatz beziehungsweise die Über tragungszeit ist knapp oder teuer , und es kommt darauf an, den Lese- oder Übertragungsvorgang in Echtzeit durchzuführen, also etwa bei einem Telefongespräch die Wör ter in der gleichen Zeit zu über tragen, in der sie geprochen werden. Die zur Fehlerkorrektur nötige Redundanz darf deshalb die Länge der zu über tragenden Nachricht nur so wenig wie möglich erhöhen, und Codie rung und Decodierung des Signals müssen schnell gehen. Universität des Saarlandes Ein einfaches Beispiel für eine spar same Verwendung von Redundanz finden Sie in jedem neuer en Buch: den ISBN-Code des Bu ches. Die ursprüngliche Information über das Buch wird hier zunächst in eine (im Dezimalsystem) 9-stellige Zahl ge speichert: eine Länderkennziffer, eine 3-stellige Verlagsnummer und eine 5-stellige Buchnummer (3-540 ® Springer-Verlag, 3-528 ® Vieweg-Verlag etc.). Die zehnte Ziffer a10 wird aus den ersten 9 Zif fern a1,..., a9 dann so berechnet: Man bildet die Summe b = a1 + 2a2 + 3a3 + ... + 9a9 und teilt dann b mit Rest durch 11, schreibt also b = 11* c + r mit 0 £ r £ 10. Der Rest r ist das zehnte Symbol des ISBNCodes des Buches; ein Rest r = 10 wird dabei durch den Buchstaben X wiedergegeben. Dieses z ehnte Symbol nennt man die Prüfzif fer. Die erfahrungsgemäß häuf igsten Fehlertypen sind die falsche Übermittlung einer einzelnen Ziffer (sogenannter Einzelfehler) und das Vertauschen nebeneinanderstehender Zif fern (Nachbar vertauschung). Sie werden (wenn nur ein Fehler aufgetreten ist) entdeckt, da bei jedem derartigen Fehler (wie man sich leicht überlegen kann) die Prüfziffer nicht mit dem nachge rechneten Ergebnis übereinstimmt. Eine Fehlerkorrektur wird hier noch nicht erreicht, ein Fehler vom beschriebenen Typ wird aber entdeckt und führ t etwa bei der Aufnahme einer Buchbestellung zu einer Rückfrage. danten) Nummern von Geldscheinen11), 12). Die mathematischen Methoden, die bei der fehlerkorrigierenden Übertragung oder Speicherung in unse ren zu Anfang genannten Beispielen der elektronischen Speicherung oder Übermittlung von Nachrichten eingesetzt werden, sind deutlich komplizierter. Wir wollen ein paar der mathematischen Grundideen im Folgenden erklären; sie stammen vor allem aus der Algebr a und der Kombinatorik und benut zen Ergebnisse, die Studier ende der Mathematik meistens ber eits im Grundstudium lernen. Bei der Su che nach weiteren Möglichkeiten, die Effizienz der Codierungsv erfahren zu steigern, ist man aber in den letzten Jahren darauf aufmerksam geworden, dass Ergebnisse neuester Forschungen der Zahlentheo rie und der Algebraischen Geometrie die Möglichkeit für erhebliche Fortschritte bei diesem technischen Problem in sich bergen. Es handelt sich dabei um Ergebnisse, die ohne jeden Bezug zu Anwendungen aus purer mathematischer Neugier ge funden worden sind. Eine (no twendig sehr grobe: vergleiche das Eingangsmotto) Beschreibung dieser Methoden und Resultate und der Verbindungen, die F orschungsarbeiten unserer Arbeitsgruppen da mit haben, bildet den Hauptteil die ses Artikels. Codes und Vektorräume Wir wollen davon ausgehen, dass die zu speichernde oder zu über tragende Nachricht bereits auf irgendeine Weise in eine Folge von Zahlen verwandelt worden ist, die genau die zu übermittelnde Inf or- Andere populäre Beispiele sind die Strichcodes der Waren (wird ein Fehler erkannt, so bleibt der bestätigende Piepston des Scanners an der Kasse aus und es wird ein erneuter Leseversuch Codierung Kanal Decodierung gemacht) wahrscheinlich und die (in wird f erkannt, a wird im Fehler f wird zu der Tat auf Botschaft a Codewort x x x hinzugefügt x x zu x korri® x= x + f ® giert und zu a recht trick- ® umgewandelt zurückgerechnet reiche Weise redunmagazin forschung 2/1999 a ® mation beschreiben (siehe 8) für die interessante Frage, wie man das etwa bei Musik macht). Unser Problem soll jetzt nur sein, wie man diese nicht redundante primär e Information in möglichst geschickter Weise redundant codier t und wie man beim Decodier en der Nachricht am anderen Ende eines ge störten Übertragungskanals die Redundanz dazu ausnutzt, die Über tragungsfehler zu korrigieren (der Einfachheit halber reden wir jetzt nur noch von Übertragung der Information und sehen Speicherung und späteren Abruf quasi als Über tragung durch die Zeit statt dur ch den Raum an). Jede dieser zu über mittelnden Zahlen wollen wir für die Übertragung in eine ( 01)-Folge einer festen Länge n verwandeln (codieren).* Da es genau 2n verschiedene (01)-Folgen der festen Länge n gibt, ist das sicher möglich, wenn die Anzahl M der insgesamt benutzten Zahlen nich t größer ist als 2n. Je größer die Länge n der benutzten (01)-Folgen bei festem M ist, desto größer wir d die Redundanz, desto mehr steigt aber auch der Aufwand bei der Über tragung. Die Menge C der bei der Codierung benutzten ( 01)-Folgen der Länge n nennen wir den Code, er hat wieder M Elemente. Ist M=2k, k so heißt das Verhältnis n die Rate unseres Codes. Je größer die Rate ist, desto geringer sind unser e Übertragungskosten. Wollen wir etwa nur eine 0 oder 1 über tragen und codieren 0 als (0,0,0,0,0) und 1 als (1,1,1,1,1), so hat der Code (der 5-fache Wiederholungscode) die Rate 15 . In diesem F all ist außerdem klar: Decodier en wir eine am Ende des Kanals empfangene Folge als 0, falls sie mehr Nullen als Ein sen enthält und andernf alls als 1, so erhalten wir am Ende die rich tige Nachricht, wenn nicht mehr als 2 Folgenglieder bei der Über tragung --------------------------------------------------------------*Man nennt das Block-Codierung. A uf die ebenfalls häuf ig verwendeten convolutional codes'' gehen wir hier nich t ein. 25 verfälscht worden sind: Dieser Code korrigiert (bis zu) 2 Fehler. Die Aufgabe der Codierungstheo rie ist jetzt klar: Wir w ollen bei gegebenem M einen Code C finden, der möglichst viele F ehler korrigiert und dennoch eine möglichst hohe Rate hat, der also bei gegebener Korrekturqualität die Kosten für die Übertragung minimier t. Dass hierfür im Prinzip sehr gute Lösungen möglich sind, f olgt aus dem informationstheor etischen Satz von Shannon (1948): Danach gibt es für jede Rate, die kleiner ist als die Kapazität des Übertragungskanals, eine Folge von Codes wachsender Länge n und Elementan zahl, für die die Wahrscheinlichkeit eines nicht korrigierten Übertragungsfehlers mit gegen strebendem n gegen 0 strebt. Die Kapazität ist dabei eine Größe, die v on der Wahrscheinlichkeit eines Übertragungsfehlers abhängt; sie hat beispielsweise für die Über tragung von Nullen und Einsen mit F ehlerwahrscheinlichkeit 1/10000 ungefähr den Wert 0,99898.* Der Satz liefert aber keinen Hinweis darauf, wie man solche Codes f indet, sondern sichert nur deren Existenz. ¥ Sowohl für den Codierungs- als auch für den Decodierungsv organg wird es zweckmäßig sein, mit den (01)-Folgen zu rechnen. Das grundlegende Hilfsmittel hier für ist das Rechnen in der Menge F2, die nur aus 0 und 1 besteht. Die Addition und die Multiplikation sind so erklärt: 0 + 1 = 1 + 0 = 1, 1 + 1 = 0 + 0 = 0, 0 . 1= 1 . 0 = 0 . 0 = 0, 1 . 1 = 1. Diese Addition und Multi plikation erfüllen vernünftige Rechengesetze, etwa Kommutativität, Assoziativität, Distributivität, Exis tenz einer Negativ en (1 = -1, denn 1 + 1= 0, 0= -0) und Möglichkeit _________________________________ *Allgemein ist die Kapazität 1+p log2(p)+ (1-p) log2 (1-p) bei Fehlerwahrscheinlichkeit p; log 2 bezeichnet dabei den Logarithmus zur Basis 2. 26 Abb. 1: Die ebene K urve V1 mit Gleichung y2=x3-3x2+2x der Division** dur ch Elemente ungleich 0 (1/1=1). Man sagt dazu, die Menge F2 bilde einen Körper und nennt die genannten Rechengesetze die Körperaxiome***. Die Addition können wir auf die n mit F2 bezeichnete Menge der ( 01)Folgen der Länge n übertragen: Man kann zwei solche Folgen addieren, indem man die Einträge, die an der gleichen Stelle stehen, zueinan der addier t, also etwa (n=4): (1,0,1,1)+(1,1,0,1)=(0,1,1,0). Auch diese Addition von Folgen erfüllt vernünftige Rechengesetze wie _________________________________ ** Kommutativität: a + b = b + a, a . b = b . a, Assoziativität: (a+b) + c = a + (b+ c) und a . (b . c) = (a . b) . c, Distributivität: a . (b+c) = a . b + a . c, Existenz einer Negativ en: Zu a gibt es - a mit a + (-a) = 0, Möglichkeit der Division: Zu a ¹ 0 gibt es ein Element 1 / a mit a . 1 / a=1. *** Körper sind etwa auch die Menge Q der rationalen Zahlen (Quotienten a/b von ganzen Zahlen), R der reellen Zahlen (endliche oder unendliche Dezi malbrüche) oder C der komplexen Zahlen (Zahlen der Form a+bi mit reellen a, b und i2 = -1). Dagegen bildet die Menge Z = {0, ±1, ±2, ...} der ganzen Zahlen nur einen Ring, da Divisionen hier im allgemeinen nich t durchführbar sind. Im nächsten Abschnitt werden weitere Körper mit endlich vielen Elementen eingeführ t. Kommutativität, Asso ziativität und Existenz einer Negativ en zu einer beliebigen Folge (x = -x). Man sagt, n die Menge der Folgen in F2 mit die ser Addition sei ein Vektorraum über dem Körper F2 und definiert n noch für x aus F2 die Multiplik ation mit Elementen a des Grundkörpers F2 durch a . (x1, ... ,xn) = (a . x1, ..., a . xn); damit gilt dann auch das Distributivgesetz.**** Die Elemen te x = (x1, ..., xn) dieses Vektorraums heißen dann au ch Vektoren (Zeilenvektoren der Länge n). Besonders einfach zu handhaben n sind nun Codes C in F2 , die unter der Addition und der Multiplik ation mit Elementen des Grundkörpers F2 abgeschlossen sind, für die also die Summe x + y zweier beliebiger Codeworte x, y aus C wieder in C liegt (trivialer weise ist dann mit a aus dem Grundkörper F2 auch a × x in C ). Einen solchen Code nennt man linear (oder Unterraum n des Vektorraums F2 ). Ist C linear, so ist die Anzahl der Elemente v on C gleich 2k mit einer ganzen Zahl k zwischen 0 und n; diese Zahl heißt die Dimension von C. Man hat ferner zwei einfache Möglichkeiten, C _________________________________ ****Genauso ist auch Rn ein Vektorraum über dem Körper R, etc. Universität des Saarlandes darzustellen, ohne alle Elemente aufzählen zu müssen: Einmal k ann man k Codeworte c1, ..., ck angeben mit der Eigenschaft, dass sich jedes beliebige Code wort c aus C (in eindeutiger Weise) als Linearkombination a1 c1+ ... +akck mit Koeffizienten a1, ... , ak aus dem Körper F2 schreiben lässt. Ein sol ches System c1, ..., ck von Elementen von C nennt man eine Basis* von C. Schreiben wir c1=c11, ..., c1n),..., ck=(ck1,...,ckn), so kann man die dabei vorkommenden cij zur Erzeugermatrix (generator matrix) æ c11 ... c1n ö ÷ ç G = ç ... ... ... ÷ ÷ çc è k 1 ... ckn ø aus k Zeilen und n Spalten anordnen. Zum Anderen kann man ein lineares Gleichungssystem a11x1 + ... + a1nxn = 0 ... = 0 an - k,1x1+...+an - k,nxn = 0 aus n - k Gleichungen in n Unbekannten x1,...,xn angeben, so dass C genau aus den Folgen (x1,...,xn) besteht, für die x1,...,xn Lösung des Gleichungssystems ist (das heißt, alle n - k Gleichungen er füllt). Die Koeffizienten aij (i zwischen 1 und n - k, j zwischen 1 und n) sind dabei wieder aus F2, also gleich 0 oder 1. Auch diese Koeffizienten ordnet man zu einer Matrix an, der Kontrollmatrix æ a11 ... a1n ö ç ÷ ... ... ÷ H = ç ... ça ÷ è n - k ,1 ... a n - k ,n ø aus n-k Zeilen und n Spalten. Für ein beliebiges x = (x1,...,xn) aus n F2 hat man das Matrizenprodukt x . Ht = ((a11x1+...+a1nxn), ... , (an-k,1x1+...+an-k,nxn)), _________________________________ * Auf die gleiche Weise ist eine Basis für einen Vektorraum über einem beliebi gen Körper K (etwa K=R) definiert; die Dimension k des Vektorraums ist also die Anzahl der frei wählbaren Koeffizienten a1, ... , ak (der Freiheitsgrade). magazin forschung 2/1999 einen Vektor der Länge n - k. Der Code C besteht dann aus genau n den Vektoren x aus F2 , für die dieses Produkt s = x . Ht der Nullvektor (0, ... , 0) ist. Sendet man das Codewort x über einen gestör ten Übertragungskanal, so empfängt man am Ende einen Vektor x', der im Allgemeinen nich t gleich x ist und meist auch nicht mehr zu dem Code C gehört. Das Syndrom s = x' . Ht liefert einen Hinweis darauf, welcher Fehlervektor f = x' - x bei der Über tragung aufgetreten ist: Man macht die (optimistische) Annahme, dass nur w enige Fehler auftreten und dass daher f der Vektor mit den w enigsten Einsen als Einträgen und dem Syndrom s = x' . Ht = f . Ht ist; der empfangene Vektor x' wird dann als das Codewort x = x' - f decodiert. Für das Ausrechnen des Syndroms und das Aufsuchen des Fehlervektors mit diesem Syndrom gibt es sehr effiziente Prozeduren beim Decodieren macht sich damit die Eigenschaft des Codes, linear zu sein, bereits bezahlt. Auch die Codierung erfolgt in effizienter Weise durch eine Matrizenmultiplikation, diesmal mit der Erzeugermatrix. Als ein Beispiel für diese Begrif fe betrachten wir den Hamming-Code der Länge 7 über F2 (nach R. W. Hamming, einem der Begründer der Codierungstheorie). Seine K ontrollmatrix ist die Matrix æ 0 0 1 0 1 1 1ö H = ç 0 1 0 1 0 1 1÷ ÷ ç ç 1 0 0 1 1 0 1÷ , ø è deren Spalten alle von (0,0,0) ver3 schiedenen Vektoren aus F2 sind. Seine Erzeugermatrix ist æ1 ç 0 G= ç ç0 ç è0 0 0 0 1 1 0ö ÷ 1 0 0 0 1 1÷ 0 1 0 1 1 1÷ ÷ 0 0 1 1 0 1ø . Der Code hat die Dimension 4, al so 16 Elemente, und die Rate 4/7. Zählt man die Code worte auf, so findet man, dass je zw ei von ihnen sich in wenigstens 3 Positionen unterscheiden. Man nennt die Anzahl der Positionen, in denen sich zw ei Vektoren unterscheiden, der en Hamming-Abstand und die Anzahl der Einträge ¹ 0 eines Vektors dessen Hamming-Gewicht (oder einfach Gewicht). Der Hamming-Code ent hält 7 Vektoren vom Gewicht 3 und 7 Vektoren vom Gewicht 4 sowie den Nullvektor und den Vektor, dessen Einträge alle 1 sind; der mi nimale Abstand von 2 Worten des Hamming-Codes (der Minimalabstand des Codes) ist ebenso wie das minimale Gewicht d eines von 0 verschiedenen Code wortes (das Minimalgewicht des Codes) gleich 3 (bei jedem linear en Code ist zwangsläuf ig der Minimalabstand gleich dem Minimalge wicht). Ein solcher Code der Länge 7, der Dimension 4 und des Minimalge wichts 3 heißt kurz ein [7, 4, 3]Code. Wird bei der Über tragung eines Codewortes x nur einer der Einträ ge verfälscht und der Vektor x' im Hamming-Abstand 1 empf angen, so ist (weil je zwei Codeworte wenigstens Abstand 3 haben) x das einzige Codewort im Abstand 1 von x'. Decodiert man wieder x' als das am nächsten bei x' gelegene Codewort (minimum distance Decodierung), so wird in diesem Fall der Übertragungsfehler korrigiert. Allgemein gilt: Hat ein linear er Code das Minimalgewicht 2e + 1, so kann er e Fehler korrigieren. Umformuliert lautet die Aufgabe der Codie rungstheorie daher jetzt: Finde (li neare) Codes mit möglichst hoher Rate und gleichzeitig möglichst ho hem Minimalgewicht. Beim Satz von Shannon haben wir ber eits gesehen, dass man die Länge des Codes anwachsen lassen muss, wenn man bei gegebener Rate die Fehlerwahrscheinlichkeit klein machen will. Wir sagen jetzt, eine Serie von Codes Cj sei asymptotisch gut, wenn die Längen nj der Cj für wachsendes j gegen ¥ streben und 27 gleichzeitig die Raten Rj und die relativen Minimalabstände dj =dj / nj gegen Grenzwerte R, d streben, die von 0 verschieden sind. Man k ann (ähnlich wie beim Satz v on Shannon) zeigen, dass es asympto tisch gute Serien von Codes gibt. In einer solchen Serie strebt die Fehlerwahrscheinlichkeit gegen 0. Auch dieser Beweis ist aber nicht konstruktiv und liefert keine Möglichkeit, solche Folgen explizit anzugeben. Den besten möglichen Wert* für R bei gegebenem d bezeichnet man mit a (d). Endliche Körper und Reed-Solomon-Codes Das nächste Beispiel soll der ReedSolomon-Code sein, der die Grundla ge der bei CD-Playern üblichen Co dierung bildet (CIR, cr oss interleaved Reed-Solomon-Code 8)). Dafür benötigen wir aller dings einen etwas allgemeineren Typ von Körper als den bisher betr achteten Körper F2. Wir wählen zunächst eine für das Folgende festgehaltene Primzahl** p. Sind a, b ganze Zahlen, so schreiben wir a = b (in Worten: a und b haben dieselbe Restklasse modulo p), falls a und b bei Teilen durch p denselben Rest lassen (äquivalent: falls a - b durch p teilbar ist). Die Menge Fp aller möglichen Restklassen ist also {0,1, 2 ,...,( p - 1 )}. Definiert man in Fpdie Addition'' und Multiplikation'' durch a + b : = ( a + b ) und a × b : = ( a × b ), so gel ten wie im vorigen Abschnitt die üblichen Rechenregeln (Körperaxiome, siehe Fußno te 2 auf S. 26). Insbesondere existiert für jede von 0 verschiedene Restklasse a (also die Klasse einer nich t durch p teil___________________________ * Genauer: Das Supremum der möglichen Werte. **Eine ganze Zahl p heißt prim, wenn sie größer ist als eins und nur sich selbst und die Eins als Teiler besitzt. Die ersten Primzahlen sind 2,3,5,7,11,13, ... . 28 baren Zahl a) ein multiplikativ 1 Inverses b =: (a ) , d.h. der Rest b einer ganzen Zahl b mit a b = 1 (oder: ab - 1 ist durch p teilbar).*** Oft lässt man die B alken _ in a weg, wenn vom Kontext her klar ist, dass mit Restklassen und nicht mit Zahlen gerechnet wird. Für p=2 erhalten wir so das bisherige F2= {0,1} = {0,1}. Etwas weniger trivial ist das Rechnen z.B. in F13. Die Inversen von 1, 2, ..., 12 modulo 13 sind durch die folgende Tabelle 1 gegeben. - -1 Dabei drückt etwa 11 = 6 aus, dass 11 × 6 - 1 = 66 - 1 = 5 × 13dur ch p = 13 teilbar ist. Byte, d.h. einer Folge von 8 Bits entsprechen. Die Konstruktion der Körper Fq mit nicht primem q ist recht technisch**** und soll hier nicht durchgeführt werden. Um einen Eindruck zu vermitteln, beschreiben wir den Körper F8. Als Menge besteht F8 aus allen Ausdrücken a0 + a1x + a2x2 mit a0, a1, a2 Î F2, wobei a0 aus F2 mit dem Element a0 + 0 . x + 0 . x2 von F8 identifiziert wird. Zwei solche Ausdrücke a0 + a1 + a2x2 und b0 + b1x + b2x2 stimmen überein, wenn a0 = b0, a1 = b1 und a2 = b2 ist; addiert werden sie komponentenweise. Die Multiplikation in F8 Tab. 1: Multiplikative Inversen in F13. Tab. 2: Multiplikationstafel v on F8 Die Menge Fp mit der oben gege benen Addition und Multiplik ation ist also ein Körper im Sinne des v origen Abschnitts, und zw ar ein endlicher Körper mit p Elementen. Allgemeiner gilt: Ist K ein endlicher Körper mit q Elementen, so ist q Potenz einer Primzahl p. Umgekehrt existiert zu jeder Primzahlpo tenz q ein Körper mit genau q Elementen, und je zwei solcher Körper haben dieselbe Struktur , können also miteinander identif iziert werden. Sie werden mit Fq bezeichnet. Für die Codierungstheo rie sind hauptsächlich die Körper Fq mit q = 2, 4, 8, ... wichtig, da z.B. die Elemente von F2 einem Bit und die von F256 (256 = 2 8) einem _________________________________ ***Für diese letzte Eigenschaft ist w esentlich, dass p prim gewählt wurde! ist durch Tabelle 2 gegeben, wobei die der 0 entsprechende Zeile bzw. Spalte weggelassen wurde. In ähnlicher Weise könnten auch die Additions- und Multiplik ationstafeln für größere endliche Körper, z.B. für F256 angegeben werden. Wegen der für Codierung und De codierung er forderlichen astronomischen Zahl von Rechenoperationen liegen diese Tabellen für die entsprechenden Körper Fq in Form eigens konzipierter Computerchips vor. Viele Aspekte der ge wöhnlichen'' Arithmetik können auf die K oeffizi_________________________________ ****Der naheliegende Ansatz, mit R estklassen modulo q zu rechnen, führt nicht zu einem Körper, sondern nur zu einem Ring mit q Elementen. Universität des Saarlandes entenbereiche Fq übertragen werden. Für unsere Zwecke sind dies neben der Polynomarithmetik die Lineare Algebra (Theorie der Vektorräume, der linear en Gleichungssysteme und Determinanten) und die Algebraische Geometrie (Theo rie der nichtlinearen Gleichungssysteme). Für einen gegebenen endlichen Körper Fq und eine natürliche Zahl n n sei wie oben Fq die Menge aller n-Vektoren'' x:= (x1,x2,...,xn) mit Koordinaten x1,...,xn in Fq. Wie im vorigen Abschnitt ist Fqn mit der komponentenweisen Addition und Multiplikation mit einem Sk alar a Î Fq ein Vektorraum über Fq der Dimension n. Ebenfalls wie im vorigen Abschnitt können wir Unterräume (linear e Codes) C in Fqn betrachten; jeder solche Unterraum hat eine Dimen sion dim C= k £ n; er enthält qk Elemente und besitzt eine B asis mit k = dim C Elementen. Auch die Erzeugermatrix und die Kontrollmatrix für C können wir genau wie im vorigen Abschnitt als Matriz en mit Einträgen aus Fq hinschreiben. Über jedem solchen endlichen Kör per Fq kann man daher linear e Codes genauso betrachten, wie es im vorigen Abschnitt über F2 geschehen ist. Insbesonder e sucht man auch asympto tisch gute Serien von Codes über dem Körper Fq und versucht, die (von q abhängige) Schranke a lin q ( d ) für die (bei wachsender Länge n der Codeworte) asympto tisch mögliche Rate eines linearen Codes über Fq bei gegebenem relativen Minimalabstand d zu bestimmen. Es gib t hierfür eine Reihe von Abschätzungen nach unten und nach oben. Für uns relevant ist hier vor allem die Gilbert-Varshamov-Schranke: Es gilt lin a q ( d ) ³ 1 - H q ( d) falls q-1 0£d £ . q Dabei ist die Funktion Hq(x) durch Hq(x) = x logq(q -1) - x logq x - (1magazin forschung 2/1999 Abb. 2: Die Fläche V2 mit Gleichung x5+y3+z2=0. Der Knoten entspricht dem Punkt (x,y,z)=(0,0,0) x) logq (1 - x) gegeben (log q ist der Logarithmus zur Basis q). Diese Abschätzung sicher t also ähnlich wie der Satz von Shannon die Exis tenz sehr guter Serien v on linearen Codes wachsender Länge. Ihr Be weis gibt aber keinen Hinweis auf mögliche Konstruktionen solcher Serien; in der Tat sind die ersten Serien, die diese Schr anke realisieren bzw. übertreffen, erst 1982 mit Hilfe von Methoden der Algebr aischen Geometrie konstruiert worden, auf die wir in der F olge noch eingehen werden (Modulkur ven). Wir können jetzt den angekündig ten Reed-Solomon-Code def inieren. Es sei q = pr eine Primzahlpo tenz. Für eine natürliche Zahl t sei Lt die Menge der Polynome f (X)= a0 + a1X + a2X2+...+atXt vom Grad £ t mit Koeffizienten a0 ,... , at aus dem Körper Fq. Ist n = q - 1 und sind z1,...,zn die von 0 verschie- denen Elemente von Fq, so liefert jedes Polynom f Î Lt durch Auswerten in den Punkten z1,...,zn ein n-Tupel cf = (f(z1),...,f(zn)) in Fqn (für z in Fq und ein Polynom f wie oben liegt f(z)= a0 + a1z + a2z2 + ...+ atzt auch in Fq). Da ein Polynom in Lt nicht in mehr als t verschiedenen Punkten den Wert 0 annehmen kann, kann man leicht zeigen, dass der Code CRS(q, t), der aus allen cf für die f Î Lt besteht, ein linearer Code der Dimension t +1 vom Minimalabstand n - t, also ein [n,t+ 1,n - t]-Code ist. Er heißt der R eedSolomon-Code mit diesen P arametern. Dieser Code ist in ge wisser Weise optimal: Bei gegebener Di mension k kann ein Code der Län ge n keinen größeren Minimalabstand als n - k + 1 haben; Codes, die diese Schranke erreichen, heißen maximum distance separable (MDS-Codes). Die Länge des Co des ist aber durch q begrenzt, so 29 dass sich diese Konstruktion nicht zur Erzeugung asympto tisch guter Serien von Codes eignet (bei diesen wächst die Länge der Codes bei festem q über alle Grenzen). Ist q = 2r eine Potenz von 2, so kann man aus einem Code über dem Körper Fq auch einen Code über F2 gewinnen, denn man k ann die Elemente von Fq auch als Vektoren der Länge r über F2 auffassen. Setzt man diese D arstellung der Einträge eines Vektors x = n (x1,...,xn) aus Fq in jeden seiner Einträge x1,...,xn ein, so erhält man Vektoren der Länge nr über F2. Aus einem Code mit den P arametern [n,k,d] über Fq wird dadurch einer mit den Parametern [nr, kr, d' ³ d] über F2. Auch der Code über F2, den man auf diese Weise aus dem Reed-Solomon-Code über Fq gewinnt, heißt ein Reed-SolomonCode; er ist kein MDS-Code mehr. Er hat aber die für pr aktische Zwecke interessante Eigenschaft, dass Verfälschung mehrerer nebeneinanderliegender Bits (etw a durch einen Kratzer oder ein Staubkorn auf der CD) meist nur ein oder zwei Codeworte des Codes über Fq betrifft und daher korrigiert werden kann. Die Reed-Solomon-Codes sind der einfachste Fall einer sehr weit reichenden Konstruktionsmethode, die auf V. D. Goppa zurückgeht. Die Idee ist dabei, die Polynome in Lt durch beliebige Funktionen f mit Werten in Fq auf irgendeinem mathematischen Objekt X mit n Elementen zu ersetzen. Statt die Polynome aus Lt in Elementen aus Fq auszuwerten, wertet man dann die se Funktionen f in den Elementen x1,...,xn von X aus und erhält wie derum Vektoren der Form (f(x1), n ..., f(xn)) aus Fq . Wenn man genug über X und die zu betrachtenden Funktionen auf X weiß, so kann man hoffen, auf diese Weise gute (lineare) Codes zu f inden. Ein reicher Vorrat von geeigneten Ob jekten und Funktionen f indet sich 30 im Grenzgebiet zweier mathematischer Teildisziplinen, die scheinbar weit entfernt von allen Anwendungen sind und de ren wesentliche Entwicklungslinien von völlig ande ren, rein innermathematischen Ge dankengängen geprägt sind: der Al gebraischen Geometrie und der Algebraischen Zahlentheorie. Algebraische Kurven und rationale Funktionen Prof. Dr. Ernst-Ulrich Gekeler, geb. 1951, studierte als Stipendiat der Studienstif tung des Deutschen Volkes Mathematik und Physik in Tübingen und Bonn. Nach dem Diplom in Mathematik (1974), der anschließenden Zivildienstzeit und der Promotion in Mathematik (1979) war er an verschiedenen Insti tutionen (Sonder forschungsbereich der DFG, Universität Bonn, MPI für Mathematik) in der mathemati schen Forschung tätig. Auf die Habilitation (1986) folgten längere Forschungsaufenthalte am Institute f or Advanced Study in Princeton und am Institut des Hautes Etudes Scientif iques in Bures-sur-Yvette. Von 1988 bis 1991 war er Heisenberg-Stipendiat der DFG. Der Schwerpunkt seiner wissenschaftlichen Inter essen liegt im Bereich der Zahlentheorie, der arithmetischen Geometrie, der Kombinatorik und der ComputerAlgebra. Seit 1991 ist er Professor für Mathematik an der Universität des Saarlandes. Wir benötigen jetzt einige K onzepte der Algebraischen Geometrie. Eine algebraische Varietät (zunächst über dem Körper R der reellen Zahlen) ist das Nullstellengebilde, d.h. die Menge der gemeinsamen Nullstellen im reellen Vektorraum Rn, einer Menge {j1 (X1, X2,...,Xn) ,..., jr (X1,X2,...,Xn)} von Polynomen in den n Variablen X1,X2,...,Xn. Jede Varietät besitzt eine Dimension, die Anzahl der freien Parameter''. Varietäten der Dimension eins heißen (algebr aische) Kurven, Varietäten der Di mension zwei Flächen. Schreiben wir einfacher X, Y, Z für X1, X2, X3, so ist z.B. (siehe Abbildungen 1-3) V1 = {(x,y)Î R2| y2 = x3-3x2+2x} eine Kurve in R2; V2 = {(x,y,z) Î R3 | x5+y3+z2=0} eine Fläche in R3; V3 = {(x,y,z) Î R3|x + y + z = 0, z2 - xy + y(z-1)=0} eine Kurve in R3. Für i=1,2,3 ist Vi das Nullstellengebilde von j (X, Y)=Y2 -X3+ 3X2 -2X (i=1) j (X, Y, Z) = X5+Y3 + Z2 (i=2) j1(X,Y,Z)=X+Y+Z,j2(X,Y,Z)=Z2XY + Y(Z-1) ( i=3). Die Einbettungsdimension n, die Dimension dim(V) und die Zahl r der polynomialen Gleichungen für V sind durch die Ungleichung dim(V) ³ n - r verknüpft; in einfachen Fällen wie oben gilt sogar Gleichheit. Eine Kurve V besitzt eine wichtige Invariante, ihr Geschlecht g(V). Dies ist eine nichtnegative ganze Zahl, die anschaulich die Komplexität von V beschreibt. Das Geschlecht kann auf verschiedene Weisen def iniert werden (geometrisch-topolo gisch, funktionentheor etisch, algebraisch; wir gehen hier nich t näher darauf ein) und in konkreten Fällen auch leicht berechnet werden. Ist z.B. V die ebene algebraische Kurve, die durch die Gleichung i j a X Y å f(X,Y) = i , j ij = 0 vom Grad d ³ 1 definiert wird (der höchste auftretende Exponent i + j ist d), so ist g(V) = ½ (d-1)(d-2).* Dementsprechend hat unsere Kurve V1 das Geschlecht 1, während sich für _________________________________ * Wenn V als Kurve über dem Körper C singularitätenfrei ist. Andernfalls muss die Formel noch leicht korrigiert werden. Universität des Saarlandes V3 mit einer kleinen Zusatzüber legung das Geschlech t 0 ergibt. Im Folgenden sei V eine Kurve in Rn, die durch die Polynome j1(X1,...,Xn),..., jr(X1,...,Xn) beschrieben wird.* Wir fassen die Xi (i=1,2,...,n) als Funktionen auf V auf: Dem Punkt x = (x1,...,xn) von V wird durch Xi der Wert xi zugeordnet. Eine rationale Funktion auf V ist eine Funktion f(X1,...,Xn), die sich als Quotient g(X1,...,Xn) / h(x1,...,Xn) von Polynomfunktionen g(X1,...,X n) und h(X1,...,X n) darstellen lässt, wobei wir nur verlangen, dass der Nenner h(X1,...,X n) auf V nicht die Nullfunktion ist. Der Wertebereich einer rationalen Funktion ist R È{¥}, wobei der Wert ¥ = unendlich'' in x angenommen wird, wenn h(x) = 0, aber g(x) ¹ 0 ist. Solche Funktionen können bei Gültigkeit der üblichen Rechenregeln addiert, subtrahiert, multipliziert und dividier t werden. Sie bilden deshalb einen Körper R(V). Für jede rationale Funktion f auf V und x Î V ist die Verschwindungsordnung ordx(f) von f in x definiert**: Dies ist eine ganz e Zahl, die größer als 0 ist, falls f(x) = 0 ist (f verschwindet in x); gleich 0 ist, falls f(x) ¹ 0, ¥ ist; kleiner als 0 ist, falls f(x) = ¥ ist (f hat an x einen Pol der Ordnung -ord x(f )''). Wie wir sehen werden, ist für die Codierungstheorie wich tig, ob wir Nullstellen und Pole rationaler Funktionen auf V willkürlich vorgeben können, und wie viele'' rationale Funktionen ggf. die v orgegebenen Nullstellen und Pole besitzen. Um dies etwas genauer zu formulieren, führen wir einige weitere Begriffe ein. _________________________________ * Zusätzlich machen wir einige technische Annahmen: V soll irreduzibel und singu laritätenfrei sein. ** Hier geht die Voraussetzung der Singu laritätenfreiheit von V ein. Außerdem verlangen wir, dass f nicht identisch verschwindet. magazin forschung 1/1999 Ein Divisor D auf V ist eine endliche Menge {x1,..., xs} von Punkten von V, versehen mit Multiplizitäten'' m1 ,..., ms (beliebigen ganzen Zahlen). Wir schreiben s D=m1x1+...+ Der msxs oder kurz D= å mixi.*** s i =1 Grad von D ist grad (D)= å mi. Jei =1 de rationale Funktion f ¹ 0 hat auf V höchstens endlich viele Nullstel len und Pole; deshalb besitzt die Summe div (f ) = å ordx(f )x, die sich formal über alle Punkte x von V erstreckt, nur endlich viele Terme, ist also ein Divisor. Divisoren dieser Form heißen Hauptdivisoren. s Für einen Divisor D = å mixi seti =1 zen wir L(D):= { } rationale Funktionen f ¹ 0 È 0 . {} mit div ( f ) ³ -D Eine Funktion f ¹ 0 gehört demnach zu L(D), wenn gilt: f (x) ist endlich, falls x ¹ x1,...,xs ist, und ordxi (f ) ³ -mi für i = 1, 2,..., s. Ist mi positiv, so darf f an xi also einen Pol der Ordnung höchstens mi besitzen, ist mi negativ, so muss f an xi eine Nullstelle mindestens der Ordnung -mi besitzen.**** Offensichtlich ist L(D) abgeschlossen un ter Addition und Multiplik ation mit Konstanten und bildet deshalb einen Vektorraum über R. Als Beispiel diene die Kurve V3. Mittels der ersten Gleichung x + y + z =0 eliminieren wir die Koordinate z. Die zweite Gleichung wird dann äquivalent zu (-x -y)2 - xy + y (-x-y-1) = 0, d.h. zu y = x2. Auf V3 stimmt also die Funktion Y mit X2 und Z mit - X - X2 überein. Deshalb ist der Körper R(V3) der rationalen Funktionen die Menge der A us_________________________________ *** Die Summen dienen hier lediglich da zu, die verschiedenen Terme zusammenzufassen; sie haben keine Bedeutung als Rechenvorschrift. **** Genauer gesagt, müssen wir statt der affinen'' Kurve V die entsprechende projektive'' Kurve V betrachten, die aus V durch Hinzufügen von Punkten p1,...,pt im Unendlichen'' entsteh t. Wir erhalten dann zusätzliche Bedin gungen für das Verhalten von f an den p1,...,pt. drücke g(X) / h(X), wobei g(X) und h(X) Polynome sind, h(X) nicht das Nullpolynom. Ein Punkt x = (x, y, z) auf V3 ist durch seine x-Koordinate s gegeben, ein Divisor D = å mixi i =1 durch die Multiplizitäten mi Î Z und die xi in xi = (xi,yi,zi). Die zugehörige projektive Kurve V ist V È {p}, wobei p ein Punkt ist mit ordp(X) = -1, d.h. X besitzt an p einen Pol erster Ordnung. Machen wir die vereinfachende Annahme, dass alle Multiplizitäten mi in D positiv sind und der unendlich f erne Punkt'' p nicht in D auftaucht, so besteht L(D) aus denjenigen rationalen Funktionen f (X) = g(X) / h(X), die (a) f (X) hat Pole höchstens an den xi, höchstens der Or dnung mi, und (b) grad g (X) £ grad h (X) erfüllen. Dabei ist (b) hier die ange sprochene zusätzliche Bedingung für das Verhalten von f(X) im Unendlichen''. Beide Bedingungen zu sammen sind äquivalent zu (a') h(X) = (X-x1)m1 (X-x2) m2 ... (X-xs)ms, (b') grad g(X) £ grad h(X)= grad(D). Jedes f (X) in L(D) ist bei festgehaltenem Nenner h(X) eindeutig durch seinen Zähler g(X) bestimmt; deshalb ist dim (L(D)) = dim (Vektorraum der Polynome des Grades £ grad (D)) = grad (D) + 1 (jeder der grad (D) + 1 Koeffizienten von g(X) kann frei gewählt werden). Insbesondere hängt die Dimension von L(D) nur vom Grad des Divisors D ab, nicht jedoch von der Position der einzelnen Punkte xi in D. Goppa-Codes und Satz von Riemann-Roch Alle im vorigen Abschnitt einge führten Begriffe: Varietäten, Kurven, Flächen, rationale Funktionen, Divisoren, die Räume L(D), ... geben auch Sinn, wenn man den Koef31 fizientenbereich R durch einen beliebigen Körper K ersetzt, etwa einen der endlichen Körper Fq. Zum Beispiel liefert die Gleichung der Kurve V1 eine Kurve'' V1/F5 über dem Körper F5, wenn wir ihre Koeffizienten nicht als ganze Zahlen, sondern als Elemente von F5 interpretieren. Diese Kurve besitzt als rationale Punkte'' die Paare (x,y) ÎF52, die der Gleichung y2 = x3-3x22x in F5 genügen.* Verloren geht nur'' die sinnliche Anschauung, Kurven, Flächen etc. als geometri sche Gebilde im dr eidimensionalen physikalischen Raum aufzuf assen, erhalten bleiben die (rich tig definierten) algebraischen Eigenschaf ten und Beziehungen. Die r ationalen Funktionen werden dann genauso wie die beim Reed-SolomonCode betrachteten Polynomfunktionen über Fq zu Funktionen, de ren Werte in Fq liegen. Wir können daher jetzt an die Be merkung über Goppa-Codes am Ende des vorletzten Abschnitts an knüpfen und die dor tige Idee konkretisieren, indem wir Funktionen aus einem geeigneten Vektorraum L(D) in Punkten der zugrunde lie genden algebraischen Kurve über einem endlichen Körper Fq auswerten, in denen sie keinen Pol haben. Es sei also V eine (irreduzible, singularitätenfreie und projektive) algebraische Kurve über Fq, x1,..., xn seien Punkte von V, G = x1 + ... + xn der aus x1, ..., xn gebildete Divisor. Ferner sei D ein Divisor, in dem keines der xi mit einem Koeffizienten ¹ 0 vorkommt (der Träger von G ist disjunkt zu dem von D''). Der durch G und D gegebene Goppa-Code C (G,,D) ist dann die Menge aller Vektoren (f (x1) ,..., n f (xn)) in Fq , die man mit f aus L(D) erhält. ________________________________ * Es sind dies die 7 Punkte (0,0), (1,0) (2,0), (3,1), (3,4), (4,2), (4,3). Betrachtet man statt V1/F5 die entsprechende projektive Kurve V 1 /F5, so kommt ein weiterer Punkt hinzu. 32 Abb. 3: Die Raumkur ve mit Gleichungen x+y+z=0 und z2-xy+y(z-1) = 0. Sie liegt auf dem elliptischen K egelmantel, der durch die zw eite Gleichung gegeben ist. Es gilt: (a) der Minimalabstand d von C (G, D) erfüllt d ³ grad (D), (b) die Dimension von C(G,D) ist dim C(G,D)=dim L(D)-dimL(D-G). Will man wissen, w elche Dimension und damit welche Rate ein Goppa-Code hat, so muss man also die Dimensionen von Vektorräumen vom Typ L(D) berechnen. Wie das in einem Spezialf all geht, haben wir (über dem Körper R) am Ende des vorigen Abschnitts ge sehen. Einer der berühmtesten (und in sei ner verschärften Fassung 4),1) auch tiefsten und folgenreichsten) Sätze der Algebraischen Geometrie v erallgemeinert den dort gefundenen Sachverhalt auf algebraische Kurven V beliebigen Geschlech ts. Satz von Riemann und Roch Ist V eine Kurve vom Geschlecht g = g(V) ³ 0 und D ein Divisor auf V, so ist L(D) = {0} für grad (D) < 0. Ist grad (D) ³ 0, so gilt für die Dimension von L(D): dim L(D)=1 - g + grad (D)+h1(D), wobei der Fehler term h1(D) den Ungleichungen 0 £ h1(D) £ g genügt. Weiter ist h1(D) = 0 für grad (D) > 2g - 2. Der Satz liefert also (in vielen Fällen scharfe) obere und untere Schranken für die gesuchte Dimension. Diese Schranken sind umso besser, je kleiner das Geschlech t g ist. Wenden wir den Satz von Riemann-Roch auf Goppa-Codes zu ei ner Kurve vom Geschlecht g an, so erhalten wir (mit den früher en BeUniversität des Saarlandes zeichnungen) folgende Abschätzun gen: Ist grad (D) < n, so ist C (G, D) ein [n,k,d] - Code mit Dimension k ³ grad (D) + 1 - g (mit Gleichheit, falls grad (G) > 2g - 2 gilt) und mit Minimalabstand d ³ n - grad (D). Kurven mit vielen rationa len Punkten Die Länge n der Worte eines Goppa-Codes ist höchstens die Anzahl der rationalen Punkte auf der zu grunde liegenden Kurve. Wir sind damit bei einem klassischen Pr oblem der Algebraischen Geometrie angekommen, nämlich bei der Fr age: Wieviele Fq - rationale Punkte kann eine Kurve V/Fq maximal besitzen?* Ist V eben, d. h. in der pr ojektiven Ebene über Fq durch eine Gleichung gegeben, so hat V höchstens q2 + q + 1 rationale Punkte. Entsprechend hat die zugehörige 2 affine Kurve als Teilmenge von Fq höchstens q2 Punkte. Jedoch lassen sich die meisten Kurven nur durch viele Gleichungen in einem hochdi mensionalen Koordinatenraum beschreiben. Solche Kurven V können in Abhängigkeit von ihrem Geschlecht g (V) sehr viel mehr Punkte besitzen. Die Bestimmung der Maximalzahl Nq(g) rationaler Punkte von Kurven V über Fq vom Geschlecht g und die Konstruktion entsprechender Kurven sind trotz vieler Einzelergebnisse weitgehend offene Fragen. An ihnen wird auch in Saarbrücken intensiv gearbeitet. Eine erste Aussage wird durch den folgenden Satz gegeben, der für g = 1 auf H. Hasse zurück geht und für beliebige g von A. Weil bewiesen wurde. Eine Verallgemeinerung auf Varietäten höher er Dimension wurde von Weil vermutet und schließlich 1973 von P. Deligne bewiesen. _________________________________ * Wie üblich, soll V/ Fq wieder projektiv, singularitätenfrei und irreduzibel sein. magazin forschung 2/1999 Satz von A. Weil Die Zahl N der rationalen Punkte einer Kurve V vom Geschlecht g über Fq unterscheidet sich von q + 1 um höchstens 2g × q . Insbesondere ist bei f ixiertem g die Anzahl der rationalen Punkte auf einer Kurve vom Geschlecht g über Fq beschränkt. Um Goppa-Codes von unbegrenzt wachsender Länge zu konstruieren, müssen wir des halb Folgen von Kurven betrachten, deren Geschlecht ebenfalls unbegrenzt wächst. Wir nehmen nun an, man habe eine solche F olge von Kurven Vj wachsenden Geschlech ts gj über Fq mit (ebenfalls wachsender) Punktanzahl Nj gefunden, für die der Quo tient Nj / gj den Grenzwert A > 0 hat. Dann kann man (wie eine relativ einfache Überlegung zeigt) zu gegebenem d > 0 eine Serie Cj von Goppa-Codes der wachsenden Länge nj zu den Kurven Vj konstruieren, für die die Ra te Rj von Cj gegen einen Grenz1 wert R ³ 1 - - d und der relatiA ve Minimalabstand dj gegen d Satz von Drinfeld und Vladut Ist Vj (j = 1,2,3,...) eine Folge von Kurven vom Geschlecht gj (g1 < g2 < g3 < ...) über Fq mit Nj rationalen Punkten, so ist der Grenzw ert lim N j / g j £ q - 1 . ** j®¥ Der letzte Satz mach t jedoch keine Aussagen über Schranken für Nq(g) bei festen Werten von q und g. Solche Schranken, die diejenigen aus Weils Satz verschärfen, können mit einem Verfahren hergeleitet werden, das auf J. Oesterlé und J-P. Serre zurückgeht. Es liefert keine geschlossene Formel in q und g, sondern nur einen Algorithmus zur Berechnung einer ober en Schranke OSq(g) für Nq(g). Dafür muss eine komplizierte Funktion fq,g(x1,x2,...) von vielen reellen Variablen x1,x2,... minimiert werden, was mit den Methoden der Optimierungstheorie und der Praktischen Mathematik durchgeführt werden kann 13) ***. Die folgende Tabelle 3 (loc. cit.) zeigt einige Werte der OesterléSerre-Schranke für q = 2. Numerische Experimente lassen er war- Tab. 3: Obere Schranke OS2(g) für die Ma ximalzahl N2(g) rationaler Punkte von Kurven vom Geschlecht g über F2. strebt. Um große Rate bei gegebe nem relativem Minimalabstand zu erreichen, müssen wir also v ersuchen, Kurven wachsenden Ge schlechts g zu konstruieren, für die der Quotient aus Punktanzahl N und Geschlecht g einen möglichst großen Wert annimmt. Ist g sehr groß gegenüber q, so ergibt sich aus dem Satz von Weil für den Quotienten N / g die Abschätzung q +1 N / g£2 q+ » 2 q. g Derart große Punktezahlen lassen sich aber asympto tisch (d.h. für sehr große g) nicht realisieren. Ein Ergebnis von Drinfeld und Vladut besagt nämlich: ten, dass der Quo tient OS2 (g) / g für g ® ¥ gegen 2 - 1 = 0.4142 ... konvergiert, was auch durch den Satz von Drinfeld und Vladut nahe gelegt wird. Ganz anders gelager t ist die Frage nach unteren Schranken für Nq(g). Hier müssen Kurven V/Fq vom Ge_________________________________ **Genauer: Der Limes superior über alle derartigen Folgen limN j / g j ist £ q - 1. Ist q ein Quadrat, so gilt sogar Gleichheit. Ob Gleichheit für alle Primzahlpotenzen q gilt, z.B. für q = 2, ist nicht bekannt. *** Verwendung eines Standar d-Computeralgebrapakets wie MAPLE oder MATHEMATICA zur Bestimmung v on OSq(g) ist wegen der Komplexität von fq,g (x1,x2,...) ausgeschlossen. 33 schlecht g mit möglichst vielen Punkten (damit letztlich au ch optimale Goppa-Codes) e xplizit konstruiert werden. Zum Beispiel r ealisiert die Kurve Y2 + Y = X3 + X vom Geschlecht 1 über F2 die Oesterlé-Serre-Schranke. Für sie nimmt N2(1) den maximal mögli chen Wert 5 an.* Für q=2 und g £ 10 sowie einige weitere Geschlechter g sind die genauen Werte von N2(g) bekannt; bis auf N2(7) = 10 stimmen sie mit OS2(g) überein. Die zugrundeliegenden Kurven sind hier schon so kompliziert, dass sie nicht mehr ohne weiteres niedergeschrieben werden können, sondern indirekt charakterisier t werden müssen. Für g = 11 kennt man bis heute nur die Ungleichungen 13 £ N2(11) £ 14; Entsprechendes gilt für die meisten größer en Werte von g. Die Konstruktion solcher Kurven ist ein brandaktuelles Gebiet der ange wandten Zahlentheorie, w obei neben allgemein wissenschaftlicher Neugier und der Hof fnung auf effiziente Codes sicher au ch sportliche Gesichtspunkte eine Rolle spielen. Für einige Werte von g hält gegenwärtig die Saarbrücker Gruppe die Weltrekorde. So werden in 5) z.B. für g = 38, 66 und 81 (Rekord-) Kurven über F2 mit 30, 48, 56 Punkten konstruiert. Die OesterléSerre-Schranken liegen hier bei 33, 50 bzw. 59. Die Schwierigkeit liegt hauptsäch lich darin, dass es keinen direkten Zusammenhang zwischen der Ge stalt der Gleichungen, die eine al gebraische Kurve definieren, und der Anzahl der Punkte auf dieser Kurve gibt. Aussagen über die Punktezahl auf einzelnen Kurven und erst recht auf Serien von Kurven werden daher vor allem in solchen Fällen möglich, in denen man sehr viel mehr über die Struktur _________________________________ * Auf ihr liegen nämlich die vier P unkte 2 (0,0),(0,1),(1,0),(1,1) aus F2 sowie der unendlich ferne Punkt, d.h. es ist N=5. 34 und die Eigenschaften der Kurve weiß, als ihre Gleichungen unmittelbar verraten, in denen die Kurve also aus dem ei nen oder ande ren Grund, der mit der jetzt be absichtigten Anwendung nichts zu tun hat, das Interesse der Forschung auf sich gezogen hat. Prof. Dr. Rainer SchulzePillot-Ziemen , geb. 1951, studierte Mathematik in Heidelber g und Göttingen. Nach der Pr omotion in Göttingen 1979 war er an den Universitäten Berlin (FU), Bielefeld und Köln tätig so wie zu mehreren Gastaufenthalten in den USA. Zur Zeit bef indet er sich zu einem Forschungsaufenthalt am Institute for Advanced Study in Princeton, US A. Er wurde 1995 an die Universität des Saarlandes beru fen. Seine Hauptforschungsgebiete sind die Theorie der Modulformen und die Theorie der quadr atischen Formen, zwei Teilgebiete der Zahlentheorie. Besonders viele der artige Kurven gehen aus Konstruktionen her vor, die ihren Ursprung in der Zahlen theorie haben. Zu nennen sind hier insbesondere: Die Klassenkörper theorie - etwa in 5) benutzt -, der en Formulierung und Beweis einen großen Teil der zahlentheor etischen Forschung in der ersten Hälfte die ses Jahrhunder ts einnahm. Sie beschreibt die Erweiterungen von in der Natur auftr etenden'' Körpern, etwa des Körpers Q der rationalen Zahlen. Die Theorie der Modulf ormen und Modulkur ven9), 10), 6) , deren Anfänge in Arbeiten von Klein und Poincaré am Ende des vorigen Jahrhunder ts liegen. Diese Theorie hat in der zw eiten Hälfte dieses Jahrhunder ts einen stürmischen Aufschwung genommen; unter anderem verdanken wir ihr auch den Beweis des Satzes von Fermat durch Andrew Wiles. Sie ist ein Querschnittsgebiet der Ma thematik mit Bezügen zur k omplexen Funktionentheorie, zur Darstellungstheorie, zur algebr aischen und analytischen Zah lentheorie und zur Kombinatorik. Sie ist untrennbar verwoben mit der Theorie der elliptischen K urven, einem traditionellen Schwer- punkt der Saarbrücker Mathematik (vgl. etwa 14)). Die Theorie der Drinf eld-Moduln. Dieses ziemlich junge Ge biet3) beschäftigt sich mit v erschiedenen Aspekten des R echnens mit endlichen Körpern Fq. Es ist aus einer Modif ikation der Theorie der Modulkur ven und der elliptischen Kurven hervorgegangen. Nachdem der Nachweis erbracht worden ist, dass mittels der Zahlen theorie/Algebraischen Geometrie sehr gute Codes konstruiert werden können, steht nun neben dem Ausbau des theoretischen Fundaments die praktische Implementie rung auf der Tagesordnung. Enorme Schwierigkeiten (auch theoretischer Natur) bereiten vor allem die Codierung und Decodierung, für die effiziente Rechenverfahren entwickelt werden müssen. Bis zur praktischen Nutzung von Codes, die auf die beschriebene Weise konstruiert wurden, wird daher sicher noch einige Zeit v ergehen. Die Anzahl der Arbeiten, die zu diesem Thema in den letzten Jahr en in der Zeitschrift Institute of Electrical and Electronics Engineers (IEEE), Transactions on Information Theo ry'' und anderen technischen Fachzeitschriften erschienen sind (siehe etwa 2) und die dor t zitierte Literatur), ist aber ein Indiz dafür , dass an Universität des Saarlandes den Problemen der Umsetzung die ser theoretischen Fortschritte in die Praxis intensiv gearbeitet wir d. Es mag bemerkenswert erscheinen, dass hier Gebiete als Grundlage möglicher technischer An wendungen auftreten, die sich ohne jeden Bezug zu solchen Anwendungen entwickelt haben und gelegentlich sogar als weltfremde Spielerei angesehen werden. Für Leser/innen dieser Zeitschrift ist dies keineswegs überraschend: Greift angewandte Wissenschaft doch stets auf das ganze Reservoir des Wissens zu, das die Grundlagenf orschung aus ihrer eigenen Mo tivation heraus entwickelt hat. Literatur 1) P. Berthelot et al. (Hrsg.): Théorie des Intersections et Théorème de RiemannRoch (SGA 6). Springer-Verlag 1971. 2) I. Blake, C. Heegard, T. Hoholdt, V. Wei: Algebraic-geometr y codes. Information theory: 1948--1998. IEEE Trans. Inform. Theory 44 (1998), no. 6, 2596--2618. 3) E.-U. Gekeler et al. (Hrsg.): Drinf eld Modules, Modular Schemes, and Appli cations. World Scientif ic 1997. 4) F. Hirzebruch: New Topological Methods in Algebraic Geometr y. Springer-Verlag 1956. 5) A. Keller: Extremaleigenschaften von Kreisteilungser weiterungen rationaler Funktionenkörper. Diplomarbeit, Saarbrü cken 1999. 6) M. Klein: Modulkur ven und Codes, Diplomarbeit, Saarbrücken 1999 (in Vorbereitung). 7) J.H. van Lint: Introduction to Coding Theory, 3. Aufl., Springer-Verlag 1998. 8) J.H. van Lint: Mathematics and the Compact Disc. Nieuw Ar chief voor Wiskunde 16 (1988), 191-197. 9) M. Pfeifer: Relationen von Funktionen auf X0(l) und zahlentheor etische Anwendungen. Disser tation, Saarbrücken 1998. 10) M. Schöpfer: Weierstraß-Punkte und extremale Modulformen. Diplomarbeit, Saarbrücken 1998. 11) R.-H. Schulz: Codierungstheorie. Vie weg-Verlag 1991. 12) R. Schulze-Pillot: Algebraische Codierungstheorie. Vorlesungsausarbeitung, Saarbrücken 1999. 13) J. Seibert: Obere Schranken für die Punktezahl algebraischer Kurven über endlichen Körpern. Staatse xamensarbeit, Saar brücken 1998. 14) H.G. Zimmer: Basic Algorithms for Elliptic Curves. In: Number Theor y'', Diophantine, Computational, and Algebr aic Aspects. K. Györ y et al. (Hrsg.), de Gruyter-Verlag 1998. SaarLB Wissenschaf tspreis Zum ersten Mal schr eibt die SaarLB in diesem Jahr einen mit 5 0.000.- DM do tierten Wissenschaftspr eis aus. Er soll für eine hervorragende wissenschaftliche Abhandlung v ergeben werden, die an einer Hochschule oder einem F orschungsinstitut des Saarlandes abgeschlossen wur de. Insbesondere sollen Disser tationen, Habilitationen oder ander e wissenschaftlichen Arbeiten gewürdigt werden, die neue Erkenntnisse und Ergebnisse beinhalten, der en Anwendung zu einer wir tschaftlichen Stärkung des Standortes Saarland beitragen. Vorschläge aus der Univ ersität sind bei Vizepräsident Professor Raimund Seidel einzur eichen. Anzeige SaarLB Wissenschaftspreis magazin forschung 2/1999 35