Modulare lineare Algebra uber algebraischen Zahlkorpern Wissenschaftliche Hausarbeit zur Ersten Wissenschaftlichen Staatsprufung fur das Amt des Studienrats Vorgelegt von: Harald Bartel Cecilienstrae 14 12307 Berlin Berlin, den 1. Juli 1997 2 Inhaltsverzeichnis Kapitel 1. Einleitung 5 Kapitel 2. Grundlagen 9 1. Homomorphe Bilder und der chinesische Restsatz 9 2. Das modulare Verfahren fur spezielle Ringe 15 2.1. Der Ring Z 2.2. Verallgemeinerung auf freie kommutative Algebren uber Z 3. Algebraische Zahlkorper und Ordnungen 24 3.1. Absolute Erweiterungen 3.2. Relative Erweiterungen 4. Zeitaufwand und Komplexitat 36 Kapitel 3. Anwendung des modularen Verfahrens 39 3 4 INHALTSVERZEICHNIS 1. Determinantenberechnung 39 1.1. Der nichtmodulare Algorithmus 1.2. Der modulare Algorithmus 1.3. Vergleich 2. Multiplikation algebraischer Zahlen 53 2.1. Der nichtmodulare Algorithmus 2.2. Der modulare Algorithmus 2.3. Vergleich Bezeichnungen 79 Literaturverzeichnis 81 KAPITEL 1 Einleitung Zunachst wollen wir den Begri "modulares Verfahren der linearen Algebra\ festlegen. Bei dem modularen Verfahren wird die Berechnung eines Wertes uber einer algebraischen Struktur zuruckgefuhrt auf Berechnungen in einem oder mehreren homomorphen Bildern dieser Struktur. Das modulare Verfahren besteht entsprechend aus drei Hauptschritten. Erstens wird das Problem auf die homomorphen Bilder abgebildet (Hintransformation), zweitens ndet die Berechnung in dem bzw. den homomorphen Bildern statt. Rechnet man in mehreren homomorphen Bildern, so werden vor der Rucktransformation die Ergebnisse mit Hilfe des chinesischen Restsatzes zu einem Ergebnis in einem geeigneten homomorphen Bild zusammengesetzt. Drittens wird unter Ausnutzung der sogenannten Schrankenbedingung der ursprunglich gesuchte Wert in der ursprunglichen Struktur berechnet (Rucktransformation). Trotz der fur die Hin- und Rucktransformation benotigten Zeit kann das modulare Verfahren eine Zeitersparnis gegenuber der direkten Berechnung liefern, da das Rechnen in den homomorphen Bilder oft schneller durchgefuhrt werden kann als in der ursprunglichen Struktur. Wie im ersten Abschnitt von Kapitel 2 dargestellt wird, ist ein homomorphes Bild nichts anderes als eine Faktorstruktur nach einer Kongruenz. Historisch wurde die Bedeutung des Kongruenzbegris fur die Zahlentheorie zuerst von 5 6 1. EINLEITUNG Gauss (1777{1855) voll erkannt, der ihn ganz an den Anfang seiner "Disquisitiones Arithmeticae\ [Gau] stellte. Daran anschlieend entwickelte er eine sehr weitgehende und reichhaltige Theorie der Kongruenzen, die sofort allgemein akzeptiert und zu einem bleibenden Bestandteil der Zahlentheorie wurde. Abgesehen vom Kongruenzbegri der Geometrie wurde hier, historisch erstmalig, rein formal mit einer A quivalenzrelation operiert. Da Kongruenzrelationen vertraglich bezuglich der Verknupfungen der algebraischen Struktur sind, kann man mit ihnen weitgehend so rechnen, wie man es mit Gleichungen gewohnt ist. Wegen dieser starken Analogie hat Gauss das Zeichen "\ fur "kongruent\ in Anlehnung an das Gleichheitszeichen gewahlt. Es soll jedoch nicht unerwahnt bleiben, da sich der zahlentheoretische Begri der Kongruenz vor Gauss bereits ab 1730 in Briefen ndet, die Goldbach (1690{ 1764) an Euler (1707{1783) geschrieben hat. Goldbach verwendet anstelle des Symbols "\ das Symbol "\, allerdings blieb bei ihm im Vergleich zu Gauss der Kongruenzkalkul noch ganz in den Anfangen stecken. Eine Gleichung der Form a b (mod m) liest man als \a ist kongruent b modulo m\, eine Sprechweise, der das modulare Verfahren seinen Namen verdankt. Diese Gleichung ist aquivalent mit der Gleichung a + (m) = b + (m) im homomorphen Bild. Lipson bezeichnet das modulare Verfahren als "Methode der homomorphen Bilder\ [Lip81]. Mit Hilfe des chinesischen Restsatzes kann man simultane lineare Kongruenzen losen. Da Fragestellungen, die auf Probleme dieses Typs rekurrieren, nach heutigem Wissen erstmals im Suan-ching (Handbuch der Arithmetik) des Chinesen Sun-Tsu ca. im ersten Jahrhundert nach Christus Erwahnung nden [Dic52, S. 57], spricht man vom "chinesischen Restsatz\. Dicson [Dic52] erwahnt weitere Mathematiker, u.a. Euler, im Zusammenhang mit dem Problem der simultanen Kongruenzen. Jedoch ist es wiederum Gauss, der zweifelsohne dieses Problem am pragnantesten in algorithmischer Darstellung in Disquisitiones Arithmeticae, Art. 32, 36 behandelt hat. Ziel dieser Arbeit ist es, die Verwendbarkeit modularer Algorithmen bei Problemen der linearen Algebra uber algebraischen Zahlkorpern zu untersuchen, deren Korrektheit zu zeigen und das Laufzeitverhalten der modularen Algorithmen mit 1. EINLEITUNG 7 dem der nichtmodularen zu vergleichen. Dies geschieht exemplarisch anhand der Determinantenberechnung uber algebraischen Zahlkorpern und Multiplikation algebraischer Zahlen. Ein Schwerpunkt dieser Arbeit ist die Implementierung der neuen modularen Algorithmen in dem Computeralgebrasystem KANT-V4 [DFK+96], welches bereits die entsprechenden nichtmodularen Algorithmen enthalt. Beim Laufzeitvergleich dienen die nichtmodularen Algorithmen von KANT-V4 als Referenz. Die Beispielrechnungen fur den Laufzeitvergleich wurden mit dem Computeralgebrasystem KANT-V4 in der Oberache KASH ausgefuhrt. In Kapitel 2 wird zunachst die Grundidee des allgemeinen modularen Verfahrens sowie der chinesische Restsatz thematisiert. Im zweiten Abschnitt wird das modulare Verfahren fur spezielle Ringe dargestellt. Diese Ringe sind Z und kommutative freie Algebren uber Z. Der dritte Abschnitt stellt Grundlagen uber algebraische Zahlkorper und Ordnungen zusammen. Fur das Rechnen in algebraischen Zahlkorpern sind Ordnungen wichtige Strukturen. Es wird gezeigt, da Ordnungen geeignete Strukturen fur das modulare Verfahren sind. Im letzten Abschnitt des Kapitels wird darauf eingegangen, wie wir das Laufzeitverhalten von Algorithmen beschreiben konnen. Kapitel 3 teilt sich in zwei Abschnitte. Jeder Abschnitt befat sich mit einer Aufgabenstellung der linearen Algebra uber algebraischen Zahlkorpern. Diese beiden Abschnitte sind gleich gegliedert. Zunachst wird der nichtmodulare Algorithmus dargestellt. Anschlieend wird der neue modulare Algorithmus beschrieben und seine Korrektheit bewiesen. Im dritten Unterabschnitt werden jeweils die Laufzeiten der Varianten verglichen. Bei der Nummerierung von Satzen, Denitionen, Abbildungen und Tabellen wird die Kapitelnummer vorangestellt. Innerhalb der Kapitel ist die Nummerierung fortlaufend. Das Literaturverzeichnis und eine Liste der verwendeten Bezeichnungen mit deren Bedeutung benden sich am Ende der Arbeit. 8 1. EINLEITUNG KAPITEL 2 Grundlagen 1. Homomorphe Bilder und der chinesische Restsatz Eine algebraische Struktur schreiben wir als Paar (A; ), wobei A eine Menge und eine Menge von inneren Verknupfungen auf A ist. Die Menge der -Terme bezeichnen wir mit T ( ). Zunachst werden einige elementare jedoch fur das modulare Verfahren grundlegende Satze und Denitionen aus [Mey80a], [Lip81] aufgefuhrt. Definition 2.1. Seien (A; ) und (H; ) algebraische Strukturen. Dann heit eine Funkion : A ! H Homomorphismus von (A; ) nach (H; ), falls fur alle ! 2 und alle a1 ; : : : ; ad 2 A (!(a1 ; : : : ; ad)) = !((a1 ); : : : ; (ad )) gilt. Dabei sei d die Stelligkeit von ! . Obwohl die Verknupfungen der Strukturen (A; ) und (H; ) gleich bezeichnet werden, konnen keine Zweideutigkeiten auftreten, da die Argumente die Bedeutung eindeutig festlegen. Bezeichnung 2.2. Fur einen Homomorphismus : A ! H von (A; ) nach (H; ) ist die Menge (A) zusammen mit der Menge #(A) ,der auf (A) einge9 10 2. GRUNDLAGEN schrankten Vernupfungen aus , bildet eine algebraische Struktur ((A); #(A) ). Diese nennen wir homomorphes Bild von (A; ) unter . Ist : A ! H ein surjektiver Homomorphismus von (A; ) nach (H; ), so ist nach Bezeichnung 2.2 (H; ) homomorphes Bild von (A; ). Fur einen Homomorphismus gilt die obige Vertraglichkeitsbedingung nicht nur fur alle Verknupfungen ! 2 , sondern sogar fur alle -Terme. Satz 2.3. (Homomorphismus-Theorem) Sei : A ! H ein Homomorphismus von (A; ) nach (H; ). Sei t(x) := t(x1 ; : : : ; xd ) ein -Term. Dann gilt fur alle a := (a1; : : : ; ad) 2 Ad (t(a)) = t((a)): Dabei ist (a) := ((a1 ); : : : ; (ad )). Dies entspricht folgendem kommutativen Diagramm: Auswertung uber A a - t(a) d ? (a) Auswertung uber H - t((?a)) Abbildung 2.1. Kommutatives Diagramm zum Homomorphismus- Theorem (Satz 2.3) Die Grundidee des modularen Verfahrens besteht darin, Rechenoperationen in einer algebraischen Struktur (A; ) durch Rechenoperationen in einfacheren Strukturen zu ersetzen. Die hierfur geeigneten Strukturen sind nach Satz 2.3 die homomorphen Bilder von (A; ). 1. HOMOMORPHE BILDER UND DER CHINESISCHE RESTSATZ 11 Nun ist es interessant zu wissen, welche Gestalt homomorphe Bilder annehmen konnen. Eine Charakterisierung der homomorphen Bilder bis auf Isomorphie liefern die beiden folgenden Satze. Satz 2.4. Sei (A; ) eine algebraische Struktur und E eine Kongruenzrelation auf (A; ). Sei A=E := f[a]E j a 2 Ag die Menge der Aquivalenzklassen von A und seien fur alle ! 2 Verknupfungen auf A=E (bezeichnet durch dasselbe Symbol) deniert durch !([a1]E ; : : : ; [ad ]E ) := [!(a1; : : : ; ad)]E : Dann ist (A=E; ) eine algebraische Struktur und heit Quotientenstruktur von (A; ) nach E . Quotientenstrukturen nach Kongruenzrelationen sind somit homomorphe Bilder. Satz 2.7 besagt, da jedes homomorphe Bild isomorph zu einer Quotientenstruktur nach einer Kongruenzrelation ist. Bezeichnung 2.5. Sei : A ! H ein Homomorphismus von (A; ) nach (H; ). Dann bezeichne E die von mittels a1E a2 , (a1 ) = (a2 ) induzierte Relation auf A. Satz 2.6. Sei : A ! H ein Homomorphismusvon (A; ) nach (H; ). Dann ist E eine Kongruenzrelation auf A. Satz 2.7. (Isomorphie-Satz) Sei (A; ) algebraische Struktur und (H; ) ein ho- momorphes Bild von (A; ) unter dem Homomorphismus . Dann gilt H = A=E. Nach den Satzen 2.4, 2.7 sind die homomorphen Bilder einer algebraischen Struktur bis auf Isomorphie die Quotientenstrukturen nach Kongruenzrelationen. 12 2. GRUNDLAGEN Im folgenden werden wir als spezielle algebraische Strukturen Ringe (R; f+; g) betrachten. Die Anwendbarkeit des modularen Verfahrens auf Gruppen, Korper und Vektorraume wird am Ende des Abschnitts diskutiert. Generalvoraussetzung: (R; f+; g) bezeichne fur den Rest des Kapitels stets einen kommutativen Ring mit Einselement 1. Bezeichnung 2.8. Sei a ein Ideal von R. Dann bezeichne Ea die von dem Ideal a mittels induzierte Relation auf R. r1Ear2 , r1 r2 2 a Satz 2.9. Sei a ein Ideal von R. Dann ist Ea eine Kongruenzrelation auf R. Bezeichnung 2.10. Statt R=Ea schreiben wir kurz R=a. Satz 2.11. Sei a ein Ideal von R. Dann gilt (1) Die Quotientenstruktur R=a ist ein Ring, genannt Restklassenring. Die Elemente [r] 2 R=a haben die Form [r] = r + a; r 2 R. (2) R=a ist homomorphes Bild von R unter : R ! R=a; r 7! r + a. ! H ein Homomorphismus von (R; ) nach (H; ) und sei R~ homomorphes Bild von R unter . Dann ist Ker() ein Ideal in R und R~ = R= Ker(). Satz 2.12. Sei : R Nach den Satzen 2.11,2.12 sind die homomorphen Bilder von R bis auf Isomorphie genau die Restklassenringe von R. a ein Ideal von R und r1; r2 2 R. Dann schreiben wir fur die Gleichung r1 + a = r2 + a in R=a auch r1 r2 (mod a). Bezeichnung 2.13. Sei 1. HOMOMORPHE BILDER UND DER CHINESISCHE RESTSATZ 13 Fur einen kommutativen Ring mit Einselement ist es moglich, das kommutative Diagramm aus Abb. 1 auf mehrere homomorphe Bilder zu verallgemeinern. Zentrales Hilfsmittel hierfur ist der chinesische Restsatz. Definition 2.14. Seien a1 ; a2 Ideale von R. Dann heien a1 und a2 komaximal genau dann, wenn a1 + a2 = R. Satz 2.15. (Chinesischer Restsatz) Seien a1 ; : : : ; as paarweise komaximale Ideale von R. Dann ist : R= Q aj ! R=a1 R=as s j =1 Qs r+ j =1 aj 7! (r + a1 ; : : : ; r + as) ein Isomorphismus. Bezeichnung 2.16. Sei a ein Ideal von R. Dann bezeichnen wir den oensicht- lich surjektiven Homomorphismus von dem Ring R auf den Restklassenring R=a : R ! R=a r 7! r + a. als den kanonischen Epimorphismus zu a. Satz 2.17. bezeichne den Isomorphismus aus Satz 2.15. Seien a1 ; : : : ; as paar- weise komaximale Ideale von R und r := (r1 ; : : : ; rd) 2 Rd . Fur 1 i s sei i der kanonische Epimorphismus zu ai . Weiterhin sei i (r) := (i(r1 ); : : : ; i (rs )) fur 1 i s und t ein f+; ; g-Term der Stelligkeit d. Dann gilt folgendes kommutatives Diagramm: 14 2. GRUNDLAGEN Auswertung uber R r s r 7! r + Q aj (d1 ; :::; ds) ? (1 (r); :::; s(r)) j =1 - (t(1(r)); :::; t(s(r))) Auswertung uber R=a1; :::; R=as - t(r) ?s 1t(r)+ Q aj j =1 chinesischer Restsatz Abbildung 2.2. Kommutatives Diagramm fur mehrere homo- morphe Bilder Beweis: 1 ist bijektiv. Daher genugt es, die folgende Aussage zu zeigen: (2-1) 0 1 s Y (t(1 (r)) + a1; : : : ; t(s(r)) + as) = @t(r) + aj A : j =1 Nach Satz 2.3 (Homomorphismus-Theorem) gilt fur 1 j s: t(j (r)) + aj = t(r) + aj : Somit folgt (2-1) nach Denition von in Satz 2.15. Sei a = Qaj=1 aj und der kanonische Epimorphismus zu a. Um das modulare Verfahren anwenden zu konnen, fehlt uns nun nur noch die Moglichkeit, aus der berechneten Nebenklasse t((r)) = t(r)+a den gesuchten Wert t(r) zu berechnen. Diese Berechnung nennen wir Rucktransformation. Im ersten Teil des nachsten Abschnitts wird gezeigt, wie die Rucktransformation fur den Ring der ganzen Zahlen Z durchzufuhren ist. Fur Gruppen und Vektorraume gibt es kein Analogon zum chinesischen Restsatz. Das modulare Verfahren fur mehrere homomorphe Bilder ist somit weder fur 2. DAS MODULARE VERFAHREN FU R SPEZIELLE RINGE 15 Gruppen noch fur Vektorraume durchfuhrbar. Korper F sind einfache Ringe, besitzen somit nur die trivialen Ideale f0g bzw. F . Nach Satz 2.12 sind F=f0g = f0g bis auf Isomorphie die einzigen = F bzw. F=F homomorphen Bilder von F . Somit ist das modulare Verfahren fur Korper nicht geeignet. 2. Das modulare Verfahren fur spezielle Ringe Zunachst wollen wir das modulare Verfahren fur ein homomorphes Bild in Form eines kommutativen Diagrammes darstellen. Sei a ein Ideal von R, der kanonische Epimorphismus zu a und t ein f+; ; g-Term der Stelligkeit d. Weiterhin sei r := (r1; : : : ; rd) 2 Rd und (r) := ((r1 ); : : : ; (rs)). Dann gilt folgendes kommutatives Diagramm: Auswertung uber R - t(r) r 6 Rucktransformation d ? (r) Auswertung uber R=a - t((r)) Abbildung 2.3. Modulares Verfahren fur ein homomorphes Bild ist zwar surjektiv, jedoch fur a 6= f0g nicht injektiv. Deshalb wird fur die Rucktransformation zusatzliche Information benotigt. Wir zeigen nun, da diese Information fur den Ring Z1 eine geeignete Schranke fur den Absolutbetrag von 1 Die Betrachtungen in Unterabschnitt 2.1 und die Verallgemeinerung in Unterabschnitt 2.2 sind analog zum euklidischen Ring Z auch fur den euklidischen Ring F [x] durchfuhrbar [Lip81, Kapitel 8]. Dabei sei F ein Korper. 16 2. GRUNDLAGEN t((r)) kann. 2.1. Der Ring Z. Z ist ein euklidischer Ring. Mit Hilfe der Division mit Rest kann man in jeder Nebenklasse l + (m) (l; m 2 Z) eines Ideals (m) = 6 f0g ein Element r 2 Z auszeichnen. Satz 2.18. Sei l 2 Z und m 2 N n f0g. Dann gilt (1) Es gibt eindeutig bestimmte r; s 2 Z mit l = sm + r und 0 r < m. (2) Fur m ungerade gibt es eindeutig bestimmte r; s 2 Z mit l = sm + r und jrj < m2 . Korollar 2.19. Seien l 2 Z und m 2 N n f0g. Dann gilt (1) In jeder Nebenklasse l + (m) gibt es genau ein Element r mit 0 r < m. (2) Fur m ungerade gibt es in jeder Nebenklasse l + (m) genau ein Element r mit jrj < m2 . Beweis: Direkte Folgerung aus Satz 2.18. Bezeichnung 2.20. Das nach Korollar 2.19 Teil (1) eindeutig bestimmte Element bezeichnen wir auch als r = l mod m und nennen es den positiven kanonischen Reprasentanten von l + (m). Das nach Korollar 2.19 Teil (2) eindeutig bestimmte Element bezeichnen wir auch als r = l mods m und nennen es den symmetrischen kanonischen Reprasentanten von l + (m). Sei r := (r1; : : : ; rd) 2 Rd und f+; ; g-Term der Stelligkeit d. Wenn wir eine Schranke S 2 Z mit 0 t(r) < S bzw. jt(r)j < S kennen, so konnen wir ein Ideal (m) von Z derart wahlen, da m S bzw. m 2S fur m ungerade. Haben wir dann im Restklassenring Z=(m) den Wert t(r) + (m) berechnet, so besteht die Rucktransformation nur in der Bestimmung des positiven bzw. symmetrischen Wir beschranken uns auf den Ring Z und die freien kommutativen Algebren uber Z, da wir nur diese fur die Anwendungen in Kapitel 3 benotigen. 2. DAS MODULARE VERFAHREN FU R SPEZIELLE RINGE 17 kanonischen Reprasentanten von t(r) + (m). Dies wird sofort klar, wenn man beachtet, da t(r) 2 t(r) + (m) die Bedingung 0 t(r) < S < m bzw. jt(r)j < S < m2 erfullt und somit nach Satz 2.19 Teil (1) bzw. Teil (2) der positive bzw. symmetrische kanonische Reprasentant von t(r) + (m) ist. Beim modularen Verfahren fur mehrere homomorphe Bilder R=(m1); : : : ; R=(ms) kann man die Rucktransformation bei gegebener Schranke 0Q t(r) < S Qs (m )S=mit s m) bzw. jt(r)j < S Q naturlich auf die Restklasse t ( r ) + t ( r ) + ( j =1 j j =1 j Q anwenden, falls sj=1 mj > S bzw. sj=1 mj > 2S erfullt ist. Seien a1 ; : : : ; as paarweise komaximale Ideale von Z und r := (r1; : : : ; rd) 2 Zd. Fur 1 i s sei i der kanonische Epimorphismus zu ai. Weiterhin sei i (r) := (i (r1); : : : ; i (rs)) fur 1 i s und t ein f+; ; g-Term der Stelligkeit d. Dann gilt folgendes kommutatives Diagramm: Auswertung uber R r Rucktransformation (d1 ; :::; ds ) ? (1(r); :::; s(r)) - t(r) 6 - (t(1 (r)); :::; t(s(r))) Auswertung uber R=a1; :::; R=as 1 - t(r)+ Qs a j j =1 chinesischer Restsatz Abbildung 2.4. Modulares Verfahren fur mehrere homomorphe Bilder Die Erzeuger mj der Ideale aj := (mj ), 1 j s werden wir auch als Moduli bezeichnen. Der Algorithmus des modularen Verfahrens fur Z wird im folgenden beschrieben [Lip81]. 18 2. GRUNDLAGEN Algorithmus 2.21. (modulares Verfahren fur Z) f+; ; g-Term t(x1 ; : : : ; xd) := t(x) und und Argumente (r1; : : : ; rd) := r 2 Zn . Output: v = t(r) 2 Z. Input: Schritt 1: (Bestimmung der Schranke und Wahl der Moduli) Version 1: Bestimme eine Schranke S mit 0 t(r) < S und paarQ s weise teilerfremde positive m1 ; : : : ; ms mit j =1 mj S . Version 2: Bestimme eine Schranke S mit jt(Q r)j < S und paarweise teilerfremde ungerade positive m1 ; : : : ; ms mit sj=1 mj 2S . Schritt 2: (Abbilden in die Restklassenringe) Fur j = 1; : : : ; s: Berechne wi(j ) = ri mod mj , 1 i d. Schritt 3: (Auswerten in den Restklassenringen) Fur j = 1; : : : ; s: Berechne j = t(w1(j ) ; : : : ; (wd(j )) (uber Z=(mj )). Schritt 4: (Chinesischer Restsatz) Berechne mit Hilfe des chinesischen Restsatzes ein u 2 Z mit u j mod mj fur 1 j s. Schritt 5: (Rucktransformation) VersionQ1: Bestimme den positiven kanonischen Reprasentanten v von u + ( sj=1 mj ) und gib v zuruck. ENDE. Version 2: Bestimme den symmetrischen kanonischen ReprasentanQ s ten v von u + ( j =1 mj ) und gib v zuruck. ENDE. Satz 2.22. (Korrektheit von Algorithmus 2.21) Der Algorithmus 2.21 berechnet v = t(r). Beweis: Wir verwenden die Bezeichnungen aus dem Algorithmus 2.21. Nach Satz 2.17 gilt 0s 1 0s 1 Y Y u + @ mj A = t(r) + @ mj A : j =1 j =1 2. DAS MODULARE VERFAHREN FU R SPEZIELLE RINGE Hieraus folgt (2-2) 19 0s 1 Y t(r) 2 u + @ mj A : j =1 Version 1: In Schritt 5 wird der positive kanonische Reprasentant v von u + Q s ( j=1 mj ) bestimmt. Nach Bezeichnung 2.20 gilt somit (2-3) Ys Ys v 2 u + ( mj ) und 0 v < mj : Weiterhin gilt nach Voraussetzung (2-4) j =1 j =1 0 t(r) < S Ys j =1 mj : Mit (2-2), (2-3) und (2-4) folgt aus Korollar 2.19 Teil (1) v = t(r). Version 2: In Schritt 5 wird der symmetrische kanonische Reprasentant v von Q s u + ( j=1 mj ) bestimmt. Nach Bezeichnung 2.20 gilt somit s Ys 1Y v 2 u + ( mj ) und jvj < 2 mj : (2-5) j =1 j =1 Weiterhin gilt nach Voraussetzung Ys jt(r)j < S 21 mj : (2-6) j =1 Mit (2-2), (2-5) und (2-6) folgt aus Korollar 2.19 Teil (2) v = t(r). Die homomorphen Bilder Z=(mj ) = Zmj sind endliche Ringe mit mj Elementen. Die Ideale (mj ) sind genau dann komaximal, wenn die Moduli mj teilerfremd sind. Sind die Moduli Primzahlen, so sind die Restklassenringe endliche Korper. Rechnungen in Restklassenringen werden durchgefuhrt, indem man mit Reprasentanten der Nebenklassen rechnet. Wahlt man als Reprasentanten einer Nebenklasse die kanonischen Reprasentanten, so sind wahrend der Auswertung eines Termes die Reprasentanten stets beschrankt und man hat nur Operationen 20 2. GRUNDLAGEN in Z mit beschrankten ganzen Zahlen auszufuhren. Dies kann die erwunschte Zeitersparnis bringen. 2.2. Verallgemeinerung auf freie kommutative Algebren uber Z. In die- sem Abschnitt verallgemeinern wir das modulare Verfahren fur den Ring Z auf auf freie kommutative Algebren uber Z. In Abschnitt 3.1 dieses Kapitels werden wir zeigen, da die fur uns wichtigen Ordnungen von algebraischen Zahlkorpern freie kommutative Algebren uber Z sind. Definition 2.23. Unter einer Algebra uber R verstehen wir einen Ring (A; f+; g) mit folgenden Eigenschaften: (1) (A; f+g) ist unitarer R-Modul. (2) Fur r 2 R und a1 ; a2 2 A gilt r(a1 a2 ) = a1(ra2 ) = (ra1)a2 Dabei heit eine Algebra A kommutativ, falls (A; f+; g) als Ring kommutativ ist. Eine Algebra A uber R heit frei, falls (A; f+g) als R-Modul frei ist. Satz 2.24. Sei A eine freie kommutative Algebra uber R. A habe als R-Modul die Basis fb1 ; : : : ; bn g. Dann gelten: (1) Seien a1; : : : ; as verschiedene nichttriviale, paarweise komaximale Ideale in R, so sind (a1 A); : : : ; (as A) verschiedene nichttriviale paarweise komaximale Ideale in A. (2) Sei R = Z; a = (m) Ideal in Z; m 2 Z. Dann gibt P es in jeder Nebenklasse a + (a A) 2 A=(a A) genau ein Element k = ni=1 zi bi mit 0 zi < m fur i 2 f1; : : : ; ng. (3) Sei R = Z; a = (m) Ideal in Z und m 2 Z ungerade. Dann gibt es in jeder Nebenklasse a + (a A) 2 A=(a A) genau ein Element k = P n z b mit jz j < m fur i 2 f1; : : : ; ng. i i=1 i i 2 Beweis: (1) Aus der Darstellung (ai A) = fPnj=1 rj bj jrj 2 aig folgt sofort, da die Ideale nichttrivial und paarweise verschieden sind. Seien l; k mit 1 k; l n und k 6= l fest. Wir setzen ak + al = R voraus und 2. DAS MODULARE VERFAHREN FU R SPEZIELLE RINGE 21 zeigen (ak A) + (al A) = A. Sei a 2 A beliebig. a habe die Darstellung a= (2-7) n X i=1 ribi mit ri 2 R; 1 i n. Nach der Voraussetzung ak + al = R folgt, da es ai;k 2 ak und ai;l 2 al gibt mit (2-8) ri = ai;k + ai;l fur 1 i n: Aus (2-7) und (2-8) folgt: a= n X i=1 (ai;k + ai;l )bi = n X i=1 ! ai;k bi + n X i=1 ! ai;l bi 2 (ak A) + (al A) Es folgt (ak A) + (al A) = A. Somit sind die Ideale (ai A), 1 i n paarweise komaximal. Aussagen (2) und (3) folgen aus (a A) = fPni=1 ribi jri 2 ag und Satz 2.19. Bezeichnung 2.25. Das nach Satz 2.24 Teil (2) eindeutige Element bezeichnen wir auch als k = a mod m und nennen es den positiven kanonischen Reprasentanten von a + (m A). Das nach Satz 2.24 Teil (3) eindeutige Element bezeichnen wir auch als k = a mods m und nennen es den symmetrischen kanonischen Reprasentanten von a + (m A). Bezeichnung 2.26. Sei A eine freie kommutative Algebra uber Z mit Z-Basis b1 ; : : : ; bn und sei = Pni=1 ai bi 2 A. Dann bezeichnen wir das Maximum der Betrage der Koezienten von bezuglich der Basis von A als MAX() := 1max (ja j) in i Nach Satz 2.24 konnen wir das modulare Verfahren von Z sofort auf freie kommutative Algebren uber Z erweitern. Wir mussen dazu nur eine gemeinsame Schranke S fur die Koezienten von t(r) bzw. bezuglich der Basis b1; : : : ; bn bestimmen. Damit erhalten wir fur eine freie kommutative Algebra uber Z mit 22 2. GRUNDLAGEN der Basis b1 ; : : : ; bn den folgenden Algorithmus, der den Kern der in Kapitel 3 beschriebenen Programme darstellt. Algorithmus 2.27. (modulares Verfahren fur eine freie kommutative Algebra A mit Basis fb1 ; : : : ; bng uber Z) f+; ; g-Term t(x1 ; : : : ; xd) := t(x) und Argumente (r1; : : : ; rd) := Input: r 2 Ad . Output: v = t(r) 2 A. Schritt 1: (Bestimmung der Schranke und Wahl der Moduli) P n Sei t(r) = k=1 zk bk ; zk 2 Z fur k 2 f1; : : : ; ng. Version 1: Bestimme eine Schranke S mit 0 zk < S fur k 2 f1; : : : ; ng und paarweise teilerfremde positive m1 ; : : : ; ms mit Qsj=1 mj S. Version 2: Bestimme eine Schranke S mit jzk j < S fur k 2 Q f1; : : : ; ng und paarweise teilerfremde positive ungerade m1 ; : : : ; ms mit sj=1 mj 2S . Schritt 2: (AbbildenPin die Restklassenringe) Sei ri = nk=1 ri;k bk fur i 2 f1; : : : ; dg: Fur j = 1; : : : ; s: Berechne wi(j ) = ri mod mj , 1 i d (Bezeichnung 2.25). Schritt 3: (Auswerten in den Restklassenringen) Fur j = 1; : : : ; s: Berechne j = t(w1(j ) ; : : : ; (wd(j )) (uber A=(mj A)). Schritt 4: (Chinesischer Restsatz) Berechne u = 1 (1 ; : : : ; s). Schritt 5: (Rucktransformation) Version 1: Bestimme den positiven kanonischen Reprasentanten P Q n s v= v b von u + (A( m )) und gib v zuruck. ENDE. k=1 k k j =1 j VersionP2: Bestimme den symmetrischen kanonischen ReprasentanQ ten v = n v b k=1 k k von u + (A( s m )) j =1 j und gib v zuruck. ENDE. Satz 2.28. (Korrektheit von Algorithmus 2.27) Der Algorithmus 2.21 berechnet v = t(r). 2. DAS MODULARE VERFAHREN FU R SPEZIELLE RINGE 23 Beweis: Wir verwenden die Bezeichnungen aus dem Algorithmus 2.27. Im Q Q s s folgenden verwenden wir die Identitat j=1(Amj ) = A( j=1 mj ) . Nach Satz 2.17 gilt 0 0 11 0 0 11 Ys Ys u + @A @ mj AA = t(r) + @A @ mj AA : Hieraus folgt (2-9) j =1 j =1 0 0 s 11 Y t(r) 2 u + @A @ mj AA : j =1 Version 1: In Schritt 5 wird der positive kanonische Reprasentant v von u + Q s (A( j=1 mj )) bestimmt. Nach Bezeichnung 2.25 gilt somit (2-10) 0 0 s 11 Ys Y v 2 u + @A @ mj AA und 0 vk < mj fur 1 k n: j =1 j =1 Weiterhin gilt nach Voraussetzung fur die Koezienten zk von t(r) (2-11) 0 zk < S Ys j =1 mj fur 1 k n: Mit (2-9), (2-10) und (2-11) folgt aus Korollar 2.19 Teil (1) v = t(r). Version Q2: In Schritt 5 wird der symmetrische kanonische Reprasentant v von u + (A( sj=1 mj )) bestimmt. Nach Bezeichnung 2.25 gilt somit (2-12) 0 0 s 11 Ys Y v 2 u + @A @ mj AA und jvk j < 21 mj fur 1 k n: j =1 j =1 Weiterhin gilt nach Voraussetzung fur die Koezienten zk von t(r) Ys (2-13) jzk j < S 12 mj fur 1 k n: j =1 Mit (2-9), (2-12) und (2-13) folgt aus Korollar 2.19 Teil (2) v = t(r). Insgesamt halten wir als Ergebnis dieses Kapitels: 24 2. GRUNDLAGEN Satz 2.29. Die freien kommutativen Algebren uber Z sind prinzipiell fur das mo- dulare Verfahren geeignet. Der Algorithmus 2.27 ist anwendbar. 3. Algebraische Zahlkorper und Ordnungen Bezeichnung 2.30. Sei F2 =F1 eine Korpererweiterung. Dann konnen wir F2 als F1 -Vektorraum auassen. Eine Vektorraumbasis des F1 -Vektorraums F2 bezeichnen wir auch einfach als F1 -Basis des Korpers F2 . Die Anzahl n der Elemente einer solchen Basis nennen wir den Grad n = [F2 : F1 ] der Korpererweiterung F2 =F1. Zunachst fuhren wir den Begri des algebraischen Zahlkorpers ein. Definition 2.31. Ein algebraischer Zahlkorper K ist eine Korpererweiterung von Q , dessen Grad n = [K : Q ] endlich ist. Satz 2.32. Sei K ein algebraischer Zahlkorper vom Grad n. Dann gilt: (1) Es gibt ein % 2 C und ein normiertes (uber Q ) irreduzibles Polynom f (x) 2 Z[x] mit f (%) = 0, so da K = Q (%) = Q [%] = Q [x]=(f (x)): % heit primitives Element, f(x) heit erzeugendes Polynom und es gilt deg(f (x)) = n. (2) Fur das Element % aus (1) gilt: f1; %; %2 ; : : : ; %n 1g ist eine Q -Basis von K. Die Elemente von K nennen wir algebraische Zahlen. Zunachst werden fur das weitere Verstandnis wichtige Ergebnisse aus [Mar95], [Poh93] und [PZ89] zusammengefat. 3.1. Absolute Erweiterungen. Zunachst betrachten wir den Fall, da der al- gebraische Zahlkorper K als Korpererweiterung K=Q gegeben ist, d.h. durch ein erzeugendes Polynom f (x) 2 Z[x]. In diesem Fall bezeichnen wir die Korpererweiterung K=Q als absolute Erweiterung. 3. ALGEBRAISCHE ZAHLKORPER UND ORDNUNGEN 25 Generalvoraussetzung: K bezeichne stets einen algebraischen Zahlkorper K = Q [%] einer absoluten Erweiterung K=Q , f (x) 2 Z das erzeugende Polynom von K , % ein primitives Element und n := [K : Q ] den Grad der Korpererweiterung. K = Q [%] n Q Abbildung 2.5. Absolute Erweiterung Fur das Rechnen in einem algebraischen Zahlkorper benotigen wir die Verallgemeinerung der ganzen Zahlen aus Q . Definition 2.33. 2 C heit ganze algebraische Zahl genau dann, wenn es ein normiertes Polynom f (x) 2 Z[x] gibt mit f () = 0. Die Menge der ganzen algebraischen Zahlen bezeichnen wir mit A . Satz 2.34. Die Menge oK := A \ K , der ganzen algebraischen Zahlen eines algebraischen Zahlkorpers K , ist ein Ring. Weiterhin ist oK ein freier Z-Modul von Rang n = [K : Q ] . Bezeichnung 2.35. Wir nennen oK := A \ K den Ring der ganzen Zahlen von K oder Maximalordnung von K . Eine Z-Basis von oK nennen wir Ganzheitsbasis von K . Definition 2.36. Sei K ein algebraischer Zahlkorper vom Grad n und oK die Maximalordnung von K . Einen unitaren Teilring o von oK , der gleichzeitig ein freier Z-Modul vom Rang n ist, heit eine Ordnung des Zahlkorpers K . Mit Hilfe des folgenden Satzes konnen wir zeigen, da das modulare Verfahren prinzipiell auf Ordnungen anwendbar ist. 26 2. GRUNDLAGEN Satz 2.37. Sei K ein algebraischer Zahlkorper und o eine Ordnung von K . Dann ist o eine freie kommutative Algebra uber Z. Beweis: Z ist eine Teilmenge von o . Somit gilt (2) von Denition 2.23. Der Rest folgt aus der Denition 2.36. Nach Satz 2.29 sind Ordnungen eines algebraischen Zahlkorpers prinzipiell fur das modulare Verfahren geeignete Strukturen. Algorithmus 2.27 aus dem vorherigen Abschnitt ist anwendbar. Da das modulare Verfahren auf Korper direkt nicht anwendbar ist, werden wir Probleme uber Zahlkorpern auf Probleme uber Ordnungen zuruckfuhren. Ob die Verwendung des modularen Verfahrens bei konkreten Problemen die gewunschte Beschleunigung gegenuber dem nichtmodularen Verfahren bringt, wird exemplarisch in Kapitel 3 untersucht. Voraussetzung: Wir betrachten in K eine feste Ordnung o mit Z-Basis 1 ; : : : ; n. Jede Ordnung o von K besitzt per Denition eine Z-Basis 1 ; : : : ; n. Dabei ist 1 ; : : : ; n auch eine Q -Basis von K . Jedes Element k 2 K lat sich eindeutig schreiben als Pn z k = i=1d i i (2-14) mit d 2 N ; zi 2 Z(1 i n) und ggT (z1; : : : ; zn; d) = 1. Der Zahler Pni=1 zii ist oensichtlich aus o. Es ist 2-14 die von uns verwendete Standarddarstellung von algebraischen Zahlen. Die Multiplikationstabelle von K=Q bezuglich der Basis 1 ; : : : ; n wird festgelegt mittels n X K : ij = i;j;k k k=1 Da wir jedoch in K eine feste Ordnung mit einer festen Z-Basis betrachten, sprechen wir auch kurz von der Multiplikationstabelle von K=Q und bezeichnen sie mit ( Ki;j;k )i;j;k2f1;:::;ng. 3. ALGEBRAISCHE ZAHLKORPER UND ORDNUNGEN Bemerkung 2.38. Es gilt L L ( K ) i;j;k i;j;k2f1;:::;ng 27 2 Znnn; da i j 2 o = Z1 Zn. Definition 2.39. Ein Dedekindring R ist ein Integritatsring mit folgenden Eigenschaften: (1) R ist noethersch. (2) R ist ganz abgeschlossen (in seinem Quotientenkorper). (3) Jedes vom Nullideal verschiedene Primideal von R ist maximal. Satz 2.40. Sei R ein Dedekindring. Dann ist jedes Ideal a (a 2= ff0g; Rg) ein bis auf die Reihenfolge eindeutiges Produkt von Primidealen: (2-15) a = p1 : : : pr ; pi Primideal von R, (1 i r). Bezeichnung 2.41. Es gelten die Bezeichnungen aus Satz 2.40. Wir sagen, da das Primideal p ein Teiler von a ist genau dann, wenn es in der Primidealzerlegung (2-15) von a vorkommt und schreiben dafur pja. Satz 2.42. Die Maximalordung oK eines algebraischen Zahlkorpers K ist ein Dedekindring. Fur beliebige Ordnungen ist eine Zerlegung eines Ideals in ein Produkt von Primidealen im allgemeinen nicht moglich. Nun werden wir einige wichtige Eigenschaften von Primidealen in Ringen ganzer Zahlen betrachten. Sei im folgenden p 2 Z eine Primzahl. Satz 2.43. Sei p ein Primideal von oK . Dann sind die folgenden Bedingungen aquivalent: (1) pjpoK (2) p poK 28 2. GRUNDLAGEN (3) p pZ (4) p \ oK = pZ (5) p \ K = pZ Falls eine der Bedingungen (1); : : : ; (5) erfullt ist, so sagen wir auch p liegt uber pZ oder pZ liegt unter p. Diejenigen Primideale von oK , die uber pZ liegen sind genau die Primideale, welche in der Primidealzerlegung von poK in oK auftreten. Fur die Betrachtung von Primidealzerlegungen benotigen wir noch zwei wichtige Begrie. Definition 2.44. Fur ein Primideal pZ in Z betrachten wir die Primidealzerlegung von poK in oK in paarweise verschiedene Primideale poK = pe11 : : : pegg Wir denieren e(pi =pZ) := ei , (1 i g) als den Verzweigungsindex von pi uber pZ. Ist e(pi=pZ) > 1 fur mindestens ein i, so nennen wir pZ verzweigt in oK , sonst unverzweigt in oK . pZ ist ein maximales Ideal in Z. Nach Satz 2.42 und Denition 2.39 ist ein Primideal p von oK ein maximales Ideal in oK . Somit sind Z=pZ und oK =pi Korper. Nach [Lip81, S. 64] sind Z=pZ und oK =pi sogar endliche Korper. Mit Hilfe des injektiven Homomorphismus : =pZ ! oK =pi z + pZ 7! z + pi Z identiziert man die Korper Z=pZ und (Z=pZ) und erhalt somit Z=pZ als Teilkorper von oK =pi [Lip81, S. 64]. Definition 2.45. Es gelten die Bezeichnungen aus 2.44. Als den Tragheitsgrad f (pi=pZ) von pi uber pZ bezeichnen wir den Korpergrad [(oK =pi) : (Z=pZ)]. Korollar 2.46. Sei p ein Primideal in oK , welches uber pZ liegt und f := f (p=pZ). Dann ist oK =p = F q , wobei F q ein Korper mit q = pf Elementen ist. 3. ALGEBRAISCHE ZAHLKORPER UND ORDNUNGEN 29 Fur die unten angegebenen Satze stellen wir grundlegende Ergebnisse aus [Mar95, Anhang 2] zusammen. Nach Satz 2.32 gilt deg(f (x)) = [K : Q ]. Im Zerfallungskorper hat f (x) n paarweise verschiedene Nullstellen. Diese nennt man die Konjugierten von % und bezeichnet sie mit %(1) ; %(n) , wobei o.B.d.A %(1) = %. Diese Konjugierten induzieren Abbildungen 1 ; : : : ; n : i : K ! P C P n j 1 = j=1 qj % 7! nj=1 qj %(i) j 1 1 i n: Die Abbildungen 1 ; : : : ; n sind genau die Einbettungen von K in C , die Q punktweise festlassen. Bezeichnung 2.47. Die Einbettungen von K in C , die Q punktweise festlassen bezeichnen wir mit 1 ; : : : ; n. Sei 2 K . Fur i () schreiben wir auch (i) fur 1 i n. Schlielich konnen wir die Diskriminante eines algebraischen Zahlkorpers einfuhren und ein Kriterium angeben, wann ein Primideal pZ in oK verzweigt. Definition 2.48. Fur 1 ; : : : ; n 2 K deniere die Diskriminante als 2 1 (1) 1 (2) 1 (n) .. .. disc(1 ; : : : ; n) := ... ( ) . ( ) . ( ) n 1 n 2 n n Fur 1 ; : : : ; n 2 oK gilt disc(1; : : : ; n) 2 Z. Bezeichnung 2.49. Sei 1 ; : : : ; n eine Z-Basis von oK , so denieren wir dK := disc(1; : : : ; n) als die Diskriminante von oK bzw. K . dK ist wohldeniert, da je zwei Z-Basen von oK dieselbe Diskriminante besitzen. Satz 2.50. Bezeichne oK die Maximalordnung und und dK die Diskriminante von K . Sei p 2 Z eine Primzahl. Dann sind folgende Aussagen aquivalent: (1) pZ ist verzweigt in oK . 30 2. GRUNDLAGEN (2) pjdK (in Z). Insbesondere sind stets nur endlich viele Primideale in einer Maximalordnung verzweigt. Definition 2.51. Fur eine von den Elementen 1 ; : : : ; n 2 K erzeugte additive Untergruppe G von K deniert man disc(G) := disc(1 ; : : : ; n): Nach [Mar95, S. 45] gilt Satz 2.52. Seien G und H zwei freie abelsche Untergruppen vom Rang n in K mit H G. Dann gelten (1) G=H ist eine endliche Gruppe, insbesondere ist der Gruppenindex jG : H j endlich und (2) disc(H ) = jG : H j2 disc(G). Definition 2.53. Fur 2 K denieren wir die absolute Norm TK :Q () und die absolute Spur NK :Q () TK :Q () = n X i=1 i () und NK :Q () = n Y i=1 i (): Wir schreiben auch T fur TK :Q und N fur NK :Q . Satz 2.54. Fur ; 2 K gelten: (1) (2) (3) (4) T ( ); N ( ) 2 Q , T ( + ) = T ( ) + T ( ), N ( ) = N ()N ( ) und T (r) = rT (); N (r) = rn fur r 2 Q . Nun geben wir noch eine Formel zur Bestimmung der Diskriminante eines nTupels an, falls dieses Tupel aus Potenzen von % besteht. 3. ALGEBRAISCHE ZAHLKORPER UND ORDNUNGEN 31 Satz 2.55. Sei K = Q [%] und seien 1 (%); : : : ; n (%) die Konjugierten von % uber Q. Dann gilt: disc(1; %; : : : ; %n 1) = Y (%r %s)2 = NQK (f 0(%)): 1r<sn Das Zeichen + gilt genau dann, wenn n 0 oder 1(mod 4). Fur die Bestimmung von Schranken bei der Determinantenberechnung benotigen wir den Begri der Dualbasis. Satz 2.56. Sei 1 ; : : : ; n eine Basis von K uber Q . Dann gibt es 1 ; : : : ; n 2 K , so da T (ij ) = ij , i; j 2 f1; : : : ; ng. 1 ; : : : ; n ist dann ebenfalls eine Basis von K uber Q und wird Dualbasis zu 1; : : : ; n genannt. 3.2. Relative Erweiterungen. Wir haben oben den Fall behandelt, da der betrachtete algebraische Zahlkorper K als absolute Erweiterung K=Q gegeben ist. Nun betrachten wir den Fall, da ein algebraischer Zahlkorper K1 als relative Erweiterung K1 =K0 gegeben ist. Nach [Mey80b] und [Fri97, S. 14] gilt der folgende Satz. Satz 2.57. Seien K0 =Q und K1 =K0 endliche Korpererweiterungen mit [K0 : = n0; [K1 : K0] = n1, dann ist K1 : Q eine endliche Korpererweiterung vom Grad [K1 : Q ] = n0 n1 und K1 somit ein algebraischer Zahlkorper. Analog zum absoluten Fall existiert ein normiertes uber K0 irreduzibles Polynom f1 (x) vom Grad n1 mit Koezienten aus der Maximalordnung von K0 , so da fur eine Nullstelle von f1 (x) gilt: K1 = K0 [ ] Q] Bezeichnung 2.58. Die Korpererweiterung K1 =K0 nennen wir eine relative Er- weiterung, falls der Grundkorper K0 von Q verschieden ist. 32 2. GRUNDLAGEN Generalvoraussetzung: K0 bezeichne stets einen algebraischen Zahlkorper der absoluten Erweiterung K0 =Q mit n0 = [K0 : Q ]. o0 sei eine Ordnung von K0 mit (0) Z-Basis b1 ; : : : ; b(0) no . Weiterhin bezeichne K1 einen algebraischen Zahlkorper der relativen Erweiterung K1=K0 mit n1 = [K1 : K0]. K1 = K0[ ] n1 K0 = Q [%] n0 Q Abbildung 2.6. Einfach relative Erweiterung (0) (1) (1) Satz 2.59. Sei b(1) 1 ; : : : ; bn1 eine K0 -Basis von K1 . Dann ist fbi bj g 11jinn0 eine Q -Basis 1 von K1. Die Multiplikationstabelle einer relativen Erweiterung K1 =K0 bezuglich einer K0(1) Basis b(1) 1 ; : : : ; bn1 wird festgelegt mittels (1) b(1) i bj = n1 X k=1 K1 b(1) : i;j;k k (1) Da wir jedoch in K1 stets eine feste K0-Basis b(1) 1 ; : : : ; bn1 von K1 betrachten, sprechen wir auch kurz von der Multiplikationstabelle von K1=K0 und bezeichnen 1 ) sie mit ( Ki;j;k i;j;k2f1;:::;n1 g . 3. ALGEBRAISCHE ZAHLKORPER UND ORDNUNGEN 33 Die oben erwahnte relative Erweiterung K1=K0 bezeichnen wir auch als einfache relative Erweiterung, da K0 eine absolute Erweiterung ist. Unter einer mehrfachen relativen Erweiterung verstehen wir die relative Erweiterung einer relativen Erweiterung. Es seien Ki, 0 i r algebraische Zahlkorper und die Erweiterung Ki=Ki 1 habe den Grad ni, 1 i r. In jedem algebraischen Zahlkorper Ki, 1 i r betrachten wir eine feste Ki 1-Basis b(1i) ; : : : ; bn(i1) von Ki fur , 1 i r. Definition 2.60. Als Produktbasis von Kr bezeichnen wir: (2-16) (r) fb(0) i0 bir j ij 2 f1; : : : ; nj g fur 0 j rg: Bemerkung 2.61. Durch eine Induktion uber r erhalten wir aus Satz 2.59, da die Produktbasis (2-16) von Kr eine Q -Basis von Kr . Der von der Produktbasis erzeugte Z-Modul zusammen mit der Multiplikation in Kr ist im allgemeinen nicht multiplikativ abgeschlossen und somit kein Ring und erst recht keine Algebra. Auf diese Struktur ist das modulare Verfahren nicht anwendbar. Unser Ziel ist es, eine freie kommutative Algebra anzugeben, auf die wir im relativen Fall das modulare Verfahren anwenden konnen. Diese Struktur werden wir bei der Multiplikation von algebraischen Zahlen in Kapitel 3.2 verwenden. Die Basis (2-16) bezeichnen wir im folgenden mit b1 ; : : : ; bt. Jedes Element 2 Kr kann man bezuglich der Produktbasis b1 ; : : : ; bt von Kr in der Form Pt z b = i=1d i i darstellen, wobei zi 2 Z fur 1 i t, d 2 N und ggT(z1; : : : ; zt; d) = 1. Definition 2.62. Den Nenner d in obiger Darstellung bezeichnen wir auch als d = Nen() Definition 2.63. Als den Nenner N (Kr ) von Kr bezeichnen wir das kleinste gemeinsame Vielfache der Nenner der Eintrage der Multiplikationstabelle von 34 Kr : 2. GRUNDLAGEN N (Kr ) := kgV(fNen( Kr ) j i; j; k 2 f1; : : : i;j;k ; nr gg) Schlielich denieren wir noch zu Kr die Groe N(Kr ), mit deren Hilfe die gewunschte Algebra deniert werden kann. Definition 2.64. Mit den obigen Bezeichnungen denieren wir Yr N(Kr ) := N (Ki)2r i 2 N : i=0 Bemerkung 2.65. Fur eine absolute Erweiterung K0 =Q gilt nach 2.38 N(K0 ) = 1. Definition 2.66. Den von der Produktbasis b1 ; : : : ; bt (Denition 2.60) von Kr erzeugten Z-Modul (A; +) A= versehen wir mit der Multiplikation : t M i=1 b Z i : M M ! M x y 7! N(Kr ) x y Auf der rechten Seite steht dabei die normale Multiplikation in Kr . Die Struktur (A; +; ) nennen wir die zu Kr gehorige Algebra und bezeichnen sie mit A(Kr ). b1 ; : : : ; bt nennen wir die zu A(Kr ) gehorige Z-Basis. (Hier wird b1 ; : : : ; bt als Z-Basis des Z-Moduls A(Kr ) aufgefat.) Satz 2.67. Die Struktur (A; +; ) := A(Kr ) ist eine freie kommutative Algebra uber Z. Beweis: Wir fuhren eine Induktion uber r durch. Fur r = 0 liegt der Fall einer absoluten Erweiterung vor und mit Bemerkung 2.65 erhalten wir, da (A; +; ) mit der Struktur (o0; +; ) ubereinstimmt und somit eine Ordnung ist. Nach Satz 2.37 ist A(K0 ) eine freie kommutative Algebra uber Z. Dies ist die Behauptung fur r = 0. 3. ALGEBRAISCHE ZAHLKORPER UND ORDNUNGEN 35 Nun fuhren wir den Induktionsschritt durch. Es ist zu zeigen, da A(Kr+1) bezuglich abgeschlossen ist. Dann ist A(Kr+1) oensichtlich ein Ring und sogar eine freie kommutative Algebra uber Z. Seien ; 2 A(Kr+1 ) mit = nX r+1 i=1 i b(ir+1) und = nX r+1 i=1 ib(ir+1) : Dabei sind i; i 2 A(Kr ) fur 1 i nr+1 . Dann gilt: = N(Kr+1) 0 1 nX r+1 r+1 nX K r+1 A b(r+1) = N(Kr+1) @ ij i;j;k k k=1 0i;j =1 1 nr+1 nr+1 N ( K r+1 ) X @ X K r+1 A b(r+1) (i j ) i;j;k = 2 k N (Kr ) k=1 0 i;j=1 1 nX r+1 r+1 nX r+1 A b(r+1) = N (Kr+1) @ (i j ) Ki;j;k k k=1 i;j =1 1 0 nX r+1 r+1 nX @ (i j ) N (Kr+1) Ki;j;kr+1 A b(kr+1) . = k=1 i;j =1 Dabei ist nach Denition 2.62 N (Kr+1) Kr+1 i;j;k 2 A(Kr ) fur 1 i; j; k nr+1 : Weiterhin gilt nach Induktionsvoraussetzung (i j ) N (Kr+1) Kr+1 2 A(K ) r i;j;k fur 1 i; j; k nr+1: Da die Z-Basis von A(Kr+1) nach Denition 2.66 die Produktbasis von Kr+1 ist, folgt die Behauptung 2 A(Kr+1): 36 2. GRUNDLAGEN 4. Zeitaufwand und Komplexitat In diesem Abschnitt legen wir die Grundlagen dafur, den Zeitbedarf eines Algorithmus abzuschatzen. Die fur die Ausfuhrung des Algorithmus auf einem Computersystem benotigte Zeit ist vom Computersystem abhangig. Deshalb werden wir stattdessen nur die Anzahl der auszufuhrenden zeitaufwendigsten Grundoperationen des Algorithmus angeben. Die Anzahl wird in der Regel von den Eingabedaten abhangen, nicht jedoch von dem verwendeten Computersystem und ist somit charakteristisch fur den verwendeten Algorithmus. Oft werden wir sogar nur eine asymptotische obere Schranke fur diese Anzahlfunktion angeben. Dies geschieht mit Hilfe des Landau-Symbols O. Definition 2.68. Sei g : N r Dg ! R ; (n1 ; : : : ; nr ) 7! g (n1; : : : ; nr ), so da es ein n 2 N derart gibt, fur das g(n1 ; : : : ; nr ) deniert und positiv ist fur alle ni > n. Dann denieren wir: O(g) = ff : N r Df ! R j es existieren n 2 N und c 2 R , so da f (n1; : : : ; nr ), g(n1; : : : ; nr ) deniert und positiv und f (n1 ; : : : ; nr ) c g(n1 ; : : : ; nr ) fur alle ni > ng. Wenn f 2 O(g), so sagen wir auch, da f ist durch g beschrankt ist. Bezeichnung 2.69. Anstatt f 2 O(g ) werden wir die ubliche Schreibweise f = O(g) verwenden. Mit Hilfe des Landau-Symbols O geben wir fur eine Funktion f unter Ignorieren konstanter Faktoren eine asymptotische obere Schranke an. Fur f1 = O(g1) und f2 = O(g2) gilt f1 + f2 = O(g1 + g2 ) und f1 f2 = O(g1 g2). Wir schatzen den Zeitaufwand ab, indem wir die Anzahl der benotigten Bitoperationen [Kob87] mit Hilfe des Landau-Symbols beschreiben. Als erstes Beispiel betrachten wir Addition, Subtraktion, Multiplikation und Division von ganzen Zahlen in Binardarstellung mit Hilfe der Schulmethode. Die Anzahl der Bitoperationen fur die Addition und Subtraktion zweier n-Bit 4. ZEITAUFWAND UND KOMPLEXITA T 37 Zahlen ist jeweils O(n). Fur die Multiplikation zweier n-Bit Zahlen werden O(n2) Bitoperationen, fur die Division mit Rest von einer n-Bit Zahl durch eine m-Bit Zahl O(nm) Bitoperationen benotigt [Kob87]. In den in Kapitel 3 verwendeten Ringen ist in der von uns verwendeten Darstellung der Ringelemente die Multiplikation ebenfalls zeitaufwendiger als die Addition. Bei den endlichen Korpern F q sind Addition, Subtraktion, Multiplikation und Division nach [Coh93, S. 5] in nur O(log22(q)) Bitoperation durchfuhrbar. Bei der Determinantenberechnung werden wir endliche Korper als homomorphe Bilder wahlen. 38 2. GRUNDLAGEN KAPITEL 3 Anwendung des modularen Verfahrens In diesem Kapitel werden zwei Anwendungen des modularen Verfahrens fur algebraische Zahlkorper vorgestellt und mit nichtmodularen Verfahren verglichen. Diese Anwendungen sind die Berechnung von Determinanten uber algebraischen Zahlkorpern und die Multiplikation von algebraischen Zahlen. 1. Determinantenberechnung Generalvoraussetzung: In diesem Kapitel sei K=Q stets ein algebraischer Zahlkorper vom Grad n. oK sei die Maximalordnung von K und f!1; : : : ; !ng eine Z-Basis von oK . Weiterhin bezeichne dK die Diskriminante von K . Mit m 2 Z; 2 oK schreiben wir entsprechend Bezeichnung 2.25 mod p fur den positiven kanonischen Reprasentanten von + (moK ) und mods p fur den symmetrischen kanonischen Reprasentanten von + (moK ) . 1.1. Der nichtmodulare Algorithmus. Sei M = (mij )1i;jr 2 K rr eine quadratische Matrix mit Eintragen aus dem algebraischen Zahlkorper K . Die Berechnung von Det(M ) geschieht mit Hilfe der Gauss-Elimination. Die Matrix M wird durch die beiden elementaren Zeilenumformungen (1) Subtraktion des Vielfachen einer Zeile von einer anderen, 39 40 3. ANWENDUNG DES MODULAREN VERFAHRENS (2) Vertauschen zweier Zeilen in obere Dreiecksgestalt gebracht. Dabei wird berucksichtigt, da durch das die elementare Zeilenumformung (2) das Vorzeichen der Determinante geandert wird. Durch die elementare Zeilenumformung (1) andert sich die Determinante nicht. Die Determinante einer Matrix in Dreiecksgestalt erhalt man als Produkt der Hauptdiagonalelemente. Der folgende Algorithmus arbeitet nach diesem Verfahren und ist fur beliebige Korper gultig [Coh93, S. 49]. Algorithmus 3.1. (DetGauss: Determinantenberechnung mit Gauss-Elimination) Input: Output: Schritt 1: (1) (2) Schritt 2: (3) (4) Schritt 3: (5) (6) Schritt 4: (7) (8) (9) (10) Schritt 5: (11) (12) (13) (14) M = (mi;j ), 1 i; j r d = det(M ) (Initialisierung) j 0 d 1 (Fertig?) j j+1 Wenn j > r dann gib d aus. ENDE. (Finde Element ungleich Null) Wenn mi;j = 0 fur alle i j dann gib 0 aus. ENDE. Sonst sei i ein Index i j mit mi;j 6= 0. (Vertauschen) Wenn i > j Fur l = j; : : : ; r: Vertausche mi;l mit mj;l . d d (Elimination) c~ mj;j1 Fur k = j + 1; : : : ; r: ck c~mk;j Fur l = j + 1; : : : ; r: 1. DETERMINANTENBERECHNUNG (15) (16) (17) d 41 mk;l mk;l ck mj;l dmj;j Gehe zu Schritt 2 Satz 3.2. Fur die Berechnung der Determinante einer r r-Matrix mit Algo- rithmus 3.1 werden 13 r3 + O(r2) Multiplikationen bzw. Divisionen im Korper benotigt. Beweis: Zeile (11) wird hochstens r mal durchlaufen, Zeile (13) hochstens P r j 1 = (r 1)r mal, Zeile (15) hochstens Pr (j 1)2 = (r 1)r(2r 1) mal j =1 j =1 2 6 und Zeile (16) hochstens r mal. In jeder dieser Zeilen wird eine Multiplikation oder Invertierung (Division) im Korper durchgefuhrt. Insgesamt sind dies 13 r3 + 35 r Multiplikationen bzw. Divisionen. Diese Abschatzung gilt fur alle Korper. Dennoch ist das Laufzeitverhalten dieses Algorithmus stark von dem verwendeten Korper abhangig. Dieses werden wir uns zunutze machen. Bei der nichtmodularen Methode wird der Algorithmus 3.1 direkt auf den algebraischen Zahlkorper K angewendet. In diesem Fall tritt durch die Multiplikationen und Invertierungen in Schritt 5 (Elimination) eine Koezientenexplosion auf. Um ein Element n X k 2 K; k = d1 ki!i mit k1 ; : : : ; kn; dk 2 Z k i=1 in die gekurzte Darstellung n X k = ~1 k~i!i mit ggT(k~1; : : : ; k~n; d~k ) = 1 dk i=1 zu uberfuhren, werden zeitaufwendige ggT-Berechnungen notwendig. Diese verlangsamen den Algorithmus weiter. 1.2. Der modulare Algorithmus. Bei der modularen Methode werden wir in endlichen Korpern isomorph zu F q ; q = pf , wobei p Primzahl und f 2 N , rechnen. Dort treten die oben geschilderten Probleme nicht auf. Nach Kapitel 1.4 sind Addition, Subtraktion, Multiplikation und Division in F q schnell ausfuhrbar. 42 3. ANWENDUNG DES MODULAREN VERFAHRENS Zu Beginn mussen wir das Problem der Determinantenberechnung einer Matrix P n 1 r r M = (mi;j ) 2 K mit mi;j = dmi;j k=1 i;j;k!k in gekurzter Darstellung auf Berechnungen uber oK zuruckfuhren. Sei t := kgV1i;jr (dmi;j ). Wir wenden das modulare Verfahren auf die Matrix A := t M 2 oKrr an. Sei im folgenden A = (i;j )1i;jr . Die Maximalordnung ist nach Satz 2.29 fur das modulare Verfahren geeignet. Das gesuchte Ergebnis d = Det(M ) erhalt man mittels A) d = Det( r t wegen der Linearitat der Determinante in den Zeilen bzw. Spalten. 1.2.1. Bestimmung der Schranke Sei !1; : : : ; !n die Dualbasis von !1; : : : ; !n. Ziel ist die Berechnung einer obere Schranke S (A) fur den Betrag der Koezienten von := Det(A), wobei A 2 oKrr bezuglich der Ganzheitsbasis !1; : : : ; !n. Sei (3-1) = n X i=1 i !i; i 2 Z fur 1 i n; dann ist eine Schranke S (A) mit max j j < S (A) 1in i gesucht. Folgende Ungleichung ist in [Hup90, S. 185] bewiesen. Satz 3.3. (Ungleichung von Hadamard) Sei M = (mi;j )1i;jn 2 C nn . Dann gilt v ! u n X n Y u jDet(M )j t jmi;j j2 : j =1 i=1 1. DETERMINANTENBERECHNUNG 43 Nach der Denition der Dualbasis und der Spur T = TK=Q gilt: (3-2) T (!j) = n X k=1 (k)!j(k) = n X i;k=1 i(k)!i(k)!j(k) = n X i=1 i T (!i!j) = j : Dabei sind (k) bzw. !(k) , 1 k n die Konjugierten von bzw. !. Mit Hilfe der Dreiecksungleichung und der Ungleichung von Cauchy-Schwarz ergibt sich aus (3-2) und (3-1): jj j = (3-3) X X jT (!)j = j (k)!(k)j j(k)!(k) j n j k=1 v u n uX j v uX n t j(k)j2t j!j(k)j2 u k=1 n k=1 j k=1 Fur den Betrag j(k)j der Konjugierten von erhalten wir mit der Ungleichung von Hadamard (Satz 3.3) folgende Abschatzung: (3-4) v ! u n n X Y u (k) ( k ) ( k ) t j j = j (Det(A)) j ji;j j j =1 i=1 Insgesamt erhalten wir aus (3-3) und (3-4) folgenden Satz: P Satz 3.4. Fur A = (i;j ) 2 oKrr ; = Det(A), wobei = ni=1 i !i ist, gilt: v 0n 0n n u !11 X ! n u X X Y u ( k ) ( k ) 2 2 @ A A @ ji;j j j!j j : jj j t k=1 j =1 i=1 k=1 P Korollar 3.5. Fur A = (i;j ) 2 oKrr ; = Det(A), wobei = ni=1 i !i ist, gilt: v 0n 0n n u !11 ! u n X Y X X u ( k ) ( k ) 2 2 @ @ A A jmi;j j S (A) := t max j!j j + 1 1j n k=1 j =1 i=1 k=1 ist eine obere Schranke fur die Betrage der Koezienten von , d.h. max (jij) < S (A): 1in 44 3. ANWENDUNG DES MODULAREN VERFAHRENS 1.2.2. Wahl der Moduli Um das modulare Verfahren korrekt anwenden zu konnen, wahlen wir, bei der Primzahl 2 beginnend, s aufeinander folgende geeignete Primzahlen p1; : : : ; ps mit Ys pi 2S ( A ) : i=1 Dabei ist eine Primzahl p genau dann fur uns geeignet, wenn p kein Diskriminantenteiler ist, d.h. es soll (3-5) p 6 jdK gelten. Dahinter steckt die folgende U berlegung: Fur eine Primzahl p ist (poK ), das von p in oK erzeugte Ideal, i.a. kein Primideal und somit erst recht kein maximales Ideal in oK . Da oK ein Dedekindring ist, besitzt das Ideal (poK ) nach Satz 2.40 eine bis auf Reihenfolge eindeutige Zerlegung in paarweise verschiedene Primideale: (poK ) = pe1 perr Die Restklassenringe oK =pj , 1 j r sind sogar Korper, da in Dedekindringen jedes Primideal auch maximales Ideal ist (Denition 2.39). Wenn e1 = = er = 1 gelten wurde, d.h. pZ in oK unverzweigt ware, so konnte man nach der Berechnung von i = mod pj Q in den Korpern oK =pj , 1 j r mit Hilfe des chinesischen Restsatzes mod( rj=1 pj ) = mod poK berechnen. QFalls pZ verzweigt, so ist die Berechnung von mod(poK ) nicht moglich, da rj=1 pj 6= (poK ). Nach Satz 2.50 ist eine Primzahl genau dann fur uns geeignet, wenn p 6 jdK . Falls die Diskriminante dK nicht bereits berechnet ist, so konnen wir das folgende hinreiche Kriterium fur die Unverzweigtheit von pZ verwenden, falls ein % 2 oK mit K = Q [%] bekannt ist. Satz 3.6. Sei p eine Primzahl und K = Q [%] ein algebraischer Zahlkorper. Dann gilt: p 6 j disc(Z[%]) ) pok unverzweigt: Dabei gilt Z[%] = Z Z% Z%n 1. 1. DETERMINANTENBERECHNUNG 45 Beweis: Nach Voraussetzung gilt % 2 oK . Somit gilt fur die beiden freien abelschen Untergruppen Z[%] und oK von K vom Rang n die Inklusion Z[%] oK . Aus Satz 2.52 folgt die Behauptung mit Satz 2.50. In KANT ist meistens ein % 2 oK mit K = Q [%] bekannt. Daher ist disc(Z[%]) mit Hilfe von Satz 2.55 schneller zu berechnen als dK . Im folgenden werden wir dK als bekannt voraussetzen und das gunstigere Kriterium (3-5) verwenden. Bei der Wahl von p nach Satz 3.6 sind wir nicht stark eingeschrankt, da naturlich nur endlich viele Primzahlen dK teilen. Wir wahlen, mit 2 beginnend, aufeinanderfolgende Primzahlen p1 ; : : : ; ps, so da Q s pi6 jdK , 1 i s und i=1 2S . Der folgende Satz nach [Mu94, S. 55] gibt uns erstens eine gemeinsame obere Schranke fur die Primzahlen pi, 1 i s und zweitens eine obere Schranke fur die Anzahl s der Primzahlen. Satz 3.7. Fur m; C 2 N mit C 2 sei P 2 N deniert als P := maxf43; d2 log2 (mC )eg: Dann gilt die Ungleichung Y pP; p -m p Primzahl Korollar 3.8. Sei p C: P := maxf43; d2 log2 (dK 2S (A))eg: Dann gilt mit obigen Bezeichnungen: (1) ps P und (2) s (P ) < 1; 26 log(PP ) . Dabei ist (P ) die Anzahl der Primzahlen kleiner oder gleich P . 46 3. ANWENDUNG DES MODULAREN VERFAHRENS Beweis: Teil (1) folgt aus Satz 3.7. Teil (2) folgt aus der Denition von und aus [RS62, S.69 Korollar 1]. 1.2.3. Abbilden in die Restklassenringe Sei p eine der Primzahlen p1 ; : : : ; ps. pZ habe folgende Primidealzerlegung in oK (poK ) = p1; : : : ; p: Die Eintrage der Matrix A = (k;l)1k;lr werden mit Hilfe des kanonischen Epimorphismus j : oK ! oK =pj 7! + pj abgebildet. Die zugehorige Matrix und ihre Determinante bezeichnen wir mit Aj := (j (k;l))1k;lr und j := Det(Aj ): 1.2.4. Auswerten in den Restklassenringen Nach Korollar 2.46 ist oK =pj ein endlicher Korper mit pf Elementen, wobei f = f (pj =pZ) und somit isomorph zu F q ; q = pf . Die Berechnung von Det(Aj ) erfolgt mit Algorithmus 3.1 uber dem endlichen Korper oK =pj . Die Verwendung von endlichen Korpern ist ein groer Vorteil des modularen Verfahrens gegenuber der direkten Berechnung im algebraischen Zahlkorper. In endlichen Korpern kann keine Koezientenexplosion auftreten, und die zeitaufwendige ggT-Berechnung entfallt ebenfalls. Nach Kapitel 1.4 sind Addition, Subtraktion, Multiplikation und Division in F q in O(log22(q)) Bitoperationen ausfuhrbar. 1.2.5. Chinesischer Restsatz 1. DETERMINANTENBERECHNUNG 47 In KANT steht uns ein chinesischer Restsatz "ChinRem\ zur Verfugung, der fur 1; 2 2 oK und zwei Ideale a1; a2 von oK als Ruckgabewert = ChinRem(1; 2; a1; a2) liefert, wobei 1 mod a1 und 2 mod a2 : In Schritt 3 von Algorithmus 3.9 wird ChinRem innerhalb einer geschachtelten Schleife aufgerufen. Die auere durchlauft die Primzahlen p1 ; : : : ; ps. Fur jedes p 2 fp1; : : : ; psg wird in der inneren Schleife fur alle uber pZ liegende Primideale von oK ChinRem einmal derart aufgerufen, da nach dem ersten vollstandigen Durchlauf der inneren Schleife 0 den Wert Det((i;j )1i;jr ) mod p1 , nach dem zweiten vollstandigen Durchlauf der inneren Schleife 0 den Wert Det((i;j )1i;jr ) mod p1 p2 ... und am Ende von Schritt 3 0 den Wert Det((i;j )1i;jr ) mod Qsi=1 pi besitzt. Naturlich wurde man dieses Ergebnis auch bei einer anderen Reihenfolge der Primideale erhalten. Jedoch hat sich herausgestellt, da der Zeitaufwand am geringsten ist, falls man wie oben beschrieben vorgeht, d.h. zuerst die uber einer Primzahl liegenden Primideale sukzessive zusammensetzt und anschlieend die von den Primzahlen p1; : : : ; ps in oK erzeugten Ideale. 1.2.6. Rucktransformation Die Rucktransformation entspricht der Bestimmung des symmetrischen kanoniQ s schen Reprasentanten modulo i=1 pi. 1.2.7. Der Algorithmus MatDetMod Algorithmus 3.9. (MatDetMod) M = (mi;j ), 1 i; j r. Dabei sei mi;j = Input: vollstandig gekurzt und dmij 2 N . 1 dmi;j Pr ! , k=1 i;j;k k 48 3. ANWENDUNG DES MODULAREN VERFAHRENS Output: d = Det(M ) Schritt 1: t kgV1i;jr (dmi;j ) i;j tmi;j fur 1 i; j r den tr der Schranke und Wahl der Moduli) Schritt 2: (Bestimmung v S 3-6) u !! u t Pn Qn Pn jm(i;jk)j2 max1jn Pn j!j(k)j2 +1 (Korollar k=1 j =1 i=1 k=1 Bestimme s aufeinander folgende QPrimzahlen p1; : : : ; ps, so da pi 6 jdK fur 1 i s und si=1 2S . Schritt 3: (Hauptteil) Fur i = 1; : : : ; s: Bestimme alle Primidealfaktoren p1; : : : pri von (pi oK ). Fur j = 1; : : : ; ri: k;l j (k;l) fur 1 k; l r (j ist kanonischer Epimorphis mus zu pj ) j DetGauss (k;l)1k;lr (Algorithmus 3.1 uber dem Korper oK =pj ) Fur j = ri; : : : ; 1: Wenn i > 1 oder j > 1 pj pj pj j Sonst 1 ChinRem(j ; j 1; pj ; pj 1) p0 p1 0 1 1 Schritt 4: (Rucktransformation) 0 mods Qsi=1 pi Schritt 5: d den Gib d aus. ENDE. 1.2.8. Korrektheit 1. DETERMINANTENBERECHNUNG 49 Da der obige Algorithmus 3.9 etwas von der Vorgehensweise von Algorithmus 2.27 abweicht, gehen wir nun auf diese Abweichungen ein, um die Korrektheit von Algorithmus 3.9 zu zeigen. Die Abweichung besteht darin, da wir in Algorithmus 3.9 nicht den f+; ; gTerm X sign()x1;(1) ; : : : ; xr;(r) 2Sr uber dem Restklassenring K =(pi K ), 1 i s auswerten und somit direkt den Wert Det((i;j )1i;jr ) mod pi erhalten, sondern stattdessen den Algorithmus o o DetGauss auf bestimmte endliche Korper anwenden. Diese Korper sind die Restklassenringe, die durch Faktorisierung nach den uber piZ liegenden Primidealen von oK entstehen. Da wir erstens nach Voraussetzung nur unverzweigte Primzahlen verwenden und zweitens der Algorithmus DetGauss korrekt ist, erhalten wir nach Anwendung des chinesischen Restsatzes (nach vollstandigem Durchlaufen der inneren Schleife) gerade den Wert Det((i;j )1i;jr ) mod pi in der Variablen 1 . Die restlichen Schritte entsprechen dem Schema 2.27. Der Algorithmus 3.9 ist somit nach Satz 2.28 korrekt. 50 3. ANWENDUNG DES MODULAREN VERFAHRENS 1.3. Vergleich. In diesem Abschnitt werden einige Beispielrechnungen aufgefuhrt, die mit dem Computeralgebrasystem KANT V4 in der Oberache KASH berechnet wurden. Alle Rechnungen wurden auf einem HP9000/735s mit 160MB Speicher unter dem Betriebssystem HP{UX 9.04 ausgefuhrt. In den Tabellenkopfen werden die folgenden Bezeichnungen verwendet: N fur die maximale Groe der Betrage der Koezienten der Matrixeintrage (Koezienten bzgl. der fest gewahlten Ganzheitsbasis) und r fur die Anzahl der Zeilen und Spalten der Matrix In der oberen Halfte jedes Tabellenfeldes steht die von Algorithmus MatDetMod (Algorithmus 3.9 ) fur die Berechnung der Determinante benotigte Zeit. Diese Zeilen sind mit dem Hinweis "modular\ in der Spalte "Algorithmus\ gekennzeichnet. In der unteren Halfte steht die von dem nichtmodularen Algorithmus DetGauss (Algorithmus 3.1 ) benotigte Zeit. Die Berechnung der Determinante mit der nichtmodularen Methode ist bei groen Beispielen sehr zeitintensiv. Deshalb ist teilweise nur die von dem modularen Algorithmus MatDetMod benotigte Zeit angegeben. 1. DETERMINANTENBERECHNUNG 51 Sei % eine Nullstelle des Polynoms f (x) = x2 + 1. Wir betrachten den Zahlkorper K := Q [%]. r N 4 8 12 16 10 104 108 1016 Algorithmus 0,26 s 0,00 s 0,49 s 0,05 s 1,19 s 6,36 s 2,40 s 20,7 min 0,42 s 0,00 s 1,15 s 0,74 s 3,39 s 180 s 8,66 s 1,20 s 0,02 s 3,91 s 2,88 s 7,78 s 12,6 min 14,1 s 3,02 s 0,03 s 6,89 s 4,22 s 9,82 s 19,1 min 19.9 s modular modular modular modular Sei % eine Nullstelle des Polynoms f (x) = x4 3x3 + 2x + 1. Wir betrachten den Zahlkorper K := Q [%]. r N 4 8 12 16 10 104 108 1016 Algorithmus 0,60 s 0,03 s 1,73 s 3,68 s 4,18 s 24,3 min 6,47 s 1.02 s 0,15 s 3,05 s 60,2 s 8,95 s 302 min 15,7 s 2,32 s 0,43 s 8,08 s 209 s 13,8 s 6,54 s 1,67 s 16,0 s 266 s 20.2 s modular 22,1 s 32,9 s modular modular modular 52 3. ANWENDUNG DES MODULAREN VERFAHRENS Sei % eine Nullstelle des Polynoms f (x) =x24 + 18x20 + 6x19 + 56x18 49x17 94x16 1292x15 1005x14 + 865x13 + 1583x12 +4309x11 +5423x10 +2630x9 1015x8 3463x7 1747x6 651x5 + 789x4 + 303x3 + 40x2 7x + 1. Wir betrachten den Zahlkorper K := Q [%]. r N 2 4 6 8 10 10 108 Algorithmus 29,4 min 0,4 min 39,6 min 2,5 min 52,2 min 12,3 min 56,1 min 92,7 min 75,9 min 21,53 h 38,3 min 1,3 min 49,6 min 10,1 min 62,5 min 51,9 min 67,2 min 408 min 87,5 min modular modular modular modular modular Bei kleinen Beispielen benotigt der Algorithmus MatDetMod einen groen Teil der Gesamtlaufzeit fur die Berechnung der Schranke. Deshalb ist in diesem Fall der nichtmodulare Algorithmus schneller. Ab etwa r = 8 ist der modulare Algorithmus MatDetMod schneller. Schon ab r = 12 ist der modulare Algorithmus um ein Vielfaches ezienter als der nichtmodulare. Teilweise liegen die Laufzeiten des modularen Algorithmus im Sekundenbereich, wahrend die entsprechenden Laufzeiten des nichtmodularen Algorithmus im Minuten- und Stundenbereich liegen. Bei Fehlen von Vergleichswerten wurde die Berechnung mit dem nichtmodularen Algorithmus nach fruhestens zwei Stunden abgebrochen. 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN 53 2. Multiplikation algebraischer Zahlen Generalvoraussetzung: Es seien Ki, 0 i r algebraische Zahlkorper und die Erweiterung Ki=Ki 1 habe den Grad ni, 1 i r. In jedem algebraischen Zahlkorper Ki, 1 i r betrachten wir eine feste Ki 1 -Basis b1(i) ; : : : ; b(nii) von Ki fur 1 i r. K0 sei eine absolute Erweiterung vom Grad n0 und o0 sei eine Ordnung von K0 (0) mit Z-Basis b(0) 1 ; : : : ; bn0 . Weiterhin sei A(Kr ) die nach Denition 2.66 zu Kr gehorige Algebra und b1 ; : : : ; bt die Qr zun .A(Kr ) gehorende Z-Basis. Nach Denition von A(Kr ) gilt dabei t = i=0 i 2.1. Der nichtmodulare Algorithmus. Hier sind zwei Algorithmen angege- ben, die das Produkt zweier Elemente aus Kr berechnen. Der erst Algorithmus gilt allgemein. Der zweite Algorithmus gilt, falls die Basis b(1r) ; : : : ; b(nrr) eine Potenzbasis ist. Der erste Algorithmus benutzt die Multiplikationstabelle ( ; 2 Kr . Das Produkt = 2 Kr , wobei = nr X i=1 ib(ir) und = nr X i=1 Kr ) i;j;k i;j;k2f1;:::;ng . Seien ib(ir) ist, wird mit Hilfe der Multiplikationstabelle berechnet: = nr X i;j;k=1 i j (r) i;j;k bk or r b = . Der folgende Algorithmus berechnet . Dabei nutzen Sei = Pni=1 i i r = Kr gilt. wir die Tatsache aus, da Ki;j;k j;i;k Algorithmus 3.10. (Mult: Multiplikation zweier algebraischer Zahlen) r b = Pnr b 1 ; : : : ; nr und P1 ; : : : ; nr , wobei = Pni=1 Input: i i i=1 i i r b = Output: 1; : : : ; nr mit nk=1 k k (1) Fur i = 1; : : : ; nr : (2) i 0 54 (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) 3. ANWENDUNG DES MODULAREN VERFAHRENS Fur i = 1; : : : ; nr : Fur j = 1; : : : ; i 1 : temp1 ij temp2 j i temp3 temp1 + temp2 Fur k = 1; : : : ; nr : r k k + temp3 oi;j;k temp4 ii Fur k = 1; : : : ; nr : r k P k + temp4 oi;i;k r b aus. ENDE. Gib = ni=1 i i Satz 3.11. Algorithmus 3.10 benotigt fur die Multiplikation zweier Elemente aus 3 K0 21 n3r + 23 n2r = nr 2 + O(n2r ) Multiplikationen in Q und fur die Multiplikation zweier Elemente aus Kr die gleiche Anzahl Multiplikationen in Kr 1 fur r 1 . Beweis: Die Zeilen (5) und (6) werden jeweils nr (n2r 1) , Zeile (9) wird Zeile (10) wird nr mal und Zeile (11) wird n2r mal durchlaufen. n2r (nr 1) , 2 Ist die Basis b(1r) ; : : : ; b(nrr) eine Potenzbasis, d.h. b(ir) = %i 1 fur 1 i nr , so sollte die Multiplikation mit Hilfe des unten angegebenen Algorithmus ausgefuhrt werden. Er ist schneller als Algorithmus 3.10, da wir die einfache Gestalt der Multiplikationstabelle ausnutzen. Dies zeigt auch ein Vergleich von Satz 3.11 und Satz 3.13. Die Multiplikation mit Algorithmus 3.12 entspricht einer Multiplikation von Polynomen mit einer Reduktion modulo dem Minimalpolynom von %. Algorithmus 3.12. (Multiplikation zweier algebraischer Zahlen aus Kr . Dabei P n 1 n 1 r r ist 1; % ; : : : ; % eine Kr 1-Basis von Kr und das p(x) = i=0 pixi Minimalpolynom von %) r 1 %i = Pnr 1 %i Input: 0 ; : : : ; nr 1 und P0; : : : ; nr 1, wobei = Pin=0 i i=0 i r 1 %k = Output: 0; : : : ; nr 1 mit nk=0 k (1) Fur i = 0; : : : ; nr 1 : (2) ci 0 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) 55 l nr 1 bound nr Fur k = 2nr 2; : : : ; nr : bound bound 1 Fur i = nr 1; : : : ; bound : l l + ik i mult l m nr 1 Fur i = nr 1; : : : ; 1 : l l 1 + pm mult l l 1 m m 1 cl pmmult l l + nr 1 Fur k = nr 1; : : : ; 0 : Fur i = k; : : : ; 0 : l l + ik i l l P1 Gib = nr 1 % aus. ENDE. i=0 i i Satz 3.13. Algorithmus 3.12 benotigt fur die Multiplikation zweier Elemente aus K0 2n2r nr = 2n2r + O(nr ) Multiplikationen in Q und fur die Multiplikation zweier Elemente aus Kr die gleiche Anzahl Multiplikationen in Kr 1 fur r 1 . Beweis: Zeile (8) wird nr (n2r 1) mal, Zeile (12) wird (nr 1)2 mal, Zeile (15) wird nr 1 mal und Zeile (19) wird nr (n2r +1) mal durchlaufen. 2.2. Der modulare Algorithmus. Der Kern des hier vorgestellten modularen Algorithmus entspricht dem Schema von Algorithmus 2.27 in Version 2. Dabei wird das modulare Verfahren auf die zu Kr gehorige Algebra angewendet (siehe Denition 2.66). A. Schonhage beschaftigte sich in [Sch66] mit der Multiplikation von groen ganzen Zahlen aus Z. Den dort beschriebenen Algorithmus werden wir auf alge- 56 3. ANWENDUNG DES MODULAREN VERFAHRENS braische Zahlen ubertragen. Ebenfalls werden wir die rekursive Schachtelung des modularen Verfahren ubernehmen. Voraussetzung: Die zu Kr gehorende Algebra A(Kr ) schreiben wir auch als (A; +; ). Bezeichnung 3.14. Wir sagen, da 2 A(Kr ) ein l-Bit Element ist, falls MAX() < 2l. Seien a; b 2 Kr zwei Elemente, welche wir multiplizieren wollen. Das modulare Verfahren wenden wir auf (A; +; ) an. Satz 3.15. Seien da = Nen(a); db = Nen(b) 2 N die nach 2.62 denierten Nenner von a bzw. b. Dann gilt fur := daa; := db b: (1) ; 2 A(Kr ) und (2) ab = d dN (K ) : a b r Zur Denition von N(Kr ) siehe Denition 2.64. Beweis: Aussage (1) ist klar nach der Denition von Nen in Denition 2.62 und der Denition von A(Kr ) in Denition 2.66. Aussage (2) gilt nach der Denition von in Denition 2.66: ab = dd = d dN (K ) a b a b r Nun werden die einzelnen Teilschritte des Verfahrens beschrieben. Diese entsprechen den Teilschritten im Schema 2.27. Das Hauptproblem besteht darin, eine Variante des chinesischen Restsatzes zu nden, die mit moglichst wenig Multiplikationen auskommt. Sonst wird die Zeitersparnis, die durch die Berechnung in den Restklassenringen erzielt wurde, durch die Anwendung des chinesischen Restsatzes zunichte gemacht. Durch eine geschickte Wahl der Moduli konnen wir die einzelnen Teilschritte schnell ausfuhren. 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN 57 2.2.1. Bestimmung der Schranke Eine gemeinsame obere Schranke S fur den Betrag der Koezienten ck von = bezuglich der Basis b1 ; : : : ; bt von A erhalten wir aus dem folgendem Satz. Voraussetzung: Fur den Rest des Kapitels sei n o l cl := max MAX N (Kl) oi;j;k j 1 i; j; k nl 2 Z fur 0 l r: Zur Denition von N (Kl ) siehe Denition 2.63. Satz 3.16. Seien ; 2 A = A(Kr ). Dann ist Yr Sr (; ) := MAX()MAX( ) (cl n2l )2r l l=0 eine obere Schranke fur die Koezienten von = bezuglich der Basis von A(Kr ) , d.h. MAX( ) Sr (; ) Beweis: Der Beweis erfolgt mittels Induktion uber r. Fur r = 0 liegt der Fall einer absoluten Erweiterung vor und es gilt A(o0) = o0, und die zu A gehorende (0) Basis ist die Z-Basis b(0) 1 ; : : : ; bn von o0 . Nach Denition 2.66, Bemerkung 2.65 und der Denition der Multiplikationstabelle gilt = N(K0 ) = = Daraus folgt n0 X n0 X ( k=1 i;j =1 ij K0 )b : i;j;k k MAX( ) MAX()MAX( )c0n20 Dies ist die Behauptung fur r = 0. Nun fuhren wir den Induktionsschritt durch. Seien ; 2 A(Kr+1) mit = nX r+1 i=1 i b(ir+1) und = nX r+1 i=1 ib(ir+1) : Dabei sind i; i 2 A(Kr ) fur 1 i nr+1 . Dann gilt: 58 3. ANWENDUNG DES MODULAREN VERFAHRENS = N(Kr+1) 0 1 nX r+1 r+1 nX r+1 A b(r+1) = N(Kr+1) @ i j Ki;j;k k k=1 0i;j =1 1 nX r+1 r+1 nX N ( K ) @ (i j ) Ki;j;kr+1 A b(kr+1) = 2 r+1 N (Kr ) k=1 0 i;j=1 1 nX r+1 r+1 nX r+1 A b(r+1) = N (Kr+1) @ (i j ) Ki;j;k k k=1 i;j =1 1 0 nX r+1 r+1 nX @ (i j ) N (Kr+1) Ki;j;kr+1 A b(kr+1) = k=1 i;j =1 Hieraus folgt mit Hilfe der Induktionsvoraussetzung: n MAX( ) max Sr i j ; N (Kr+1) n max MAX(i j )MAX N (Kr+1) Yr Kr+1 j 1 i; j; k n o n2 r+1 r+1 i;j;k Kr+1 j 1 i; j; k n o n2 r+1 r+1 i;j;k (cln2l )2r l l=0 max fMAX(i j ) j 1 i; j nr+1 g n o 2 Yr 2 2r r+1 j 1 i; j; k n max MAX N (Kr+1) Ki;j;k r+1 nr+1 (cl nl ) Yr 2 2r 2 max fSr (i ; j ) j 1 i; j nr+1 g cr+1nr+1 (cl nl ) l=0 max fMAX(i)MAX(j ) j 1 i; j nr+1g cr+1n2r+1 rY +1 MAX()MAX( ) (cl n2l )2r l = Sr+1(; ): l=0 l l l=0 Yr (cl n2l )2r l !2 l=0 2.2.2. Wahl der Moduli Fur die Implementierung auf einem Computer bieten sich als Moduli Ideale von 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN 59 A der Form (m1A); : : : ; (msA) an, wobei mj = 2ej 1, ej 2 N , j 2 f1; : : : ; sg gilt. Wir benotigen zunachst ein Kriterium fur die Komaximalitat der Ideale (m1 ); : : : ; (ms) in Z, also ein Kriterium fur die Teilerfremdheit der m1 ; : : : ; ms 2 N. Satz 3.17. Seien e; f; g 2 Z. Dann gilt 2e 2g mod(2f 1) , e g mod f: Beweis: ")\: Wenn 2e 2g mod(2f 1), dann 2e mod f 2g mod f mod(2f 1). Dabei gilt 0 < 2e mod f ; 2g mod f < 2f 1. Dies geht nur fur e mod f = g mod f . e = 2g (2f )k 2g 1k mod(2f 1). ( \: Aus e = g + kf folgt 2 " Als Folgerung aus Satz 3.17 erhalten wir das folgende Korollar: Korollar 3.18. Seien e; f 2 Z. Dann gilt (2e 1) mod(2f 1) = 2e mod f 1: Satz 3.19. Seien e; f 2 Z. Dann gilt ggT(2e 1; 2f 1) = 2ggT(e;f ) 1: Beweis: Die Aussage erhalten wir mit dem Euklidischen Algorithmus und Satz 3.18. Korollar 3.20. Seien e; f 2 Z. Dann gilt ggT(2e 1; 2f 1) = 1 , ggT(e; f ) = 1 Beweis: Direkte Konsequenz aus Satz 3.19. Wir werden als Exponenten ej paarweise verschiedene Primzahlen pj nehmen, welche aufeinanderfolgen: mj = 2pj 1, j 2 f1; : : : ; sg Dann sind nach dem Korollar 3.20 die Ideale (m1); : : : ; (ms) in Z paarweise komaximal und somit nach Satz 2.24 die Ideale (m1A); : : : ; (msA) in A nichttrivial und paarweise komaximal. 60 3. ANWENDUNG DES MODULAREN VERFAHRENS Dabei halten wir die Anzahl s der Moduli fest. Die Wahl des Parameters s wird unten besprochen. Voraussetzung: Fur den Rest des Kapitels gelte mj := 2pj 1 fur 1 j s. Nach Algorithmus 2.27 Version 2 genugt es, die Bedingung Ys (3-6) i=1 mi > 2Sr (; ) zu erfullen. Nach Satz 3.16 gilt Yr Sr (; ) = MAX()MAX( ) (cl n2l )2r l : (3-7) l=0 Wir wahlen s aufeinanderfolgende Primzahlen p1; : : : ; ps minimal, so da (3-8) s X i=1 r X pi ]bit(MAX()) + ]bit(MAX( )) + 1 + ( 2r l ]bit(cl n2l )) + s l=0 erfullt ist. Dabei bezeichnet ]bit(z) die Anzahl der fur die Darstellung von z 2 N in Binardarstellung benotigten (Binar-) Stellen. Es gilt dlog2 (z)e ]bit(z) = blog2(z)c + 1. Nach dem folgenden Lemma haben wir somit die Schrankenbedingung (3-6) erfullt. Lemma 3.21. Es gilt: Ungleichung (3-8) impliziert Ungleichung (3-6): 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN Beweis: Mit (3-8) sowie mi = 2pi 1, 1 i s erhalten wir s X 61 s ! X pi s Ys pi 2pi 1 i=1 pi s 1) = 2 2 = 2 i=1 mi = pi > 2 2 i =1 i =1 i=1 r X ]bit(MAX()) + ]bit(MAX( )) + 1 + ( 2r l ]bit(cl n2l )) Ys Ys (2pi 2 2dlog2 2Sr (; )e 2Sr (; ) l=0 (3-8) ist die Bedingung, die beim ersten Aufruf von MultMod erfullt wird. Bei dem von uns verwendeten rekursiven Verfahren ruft MultMod sich jedoch selber auf. Betrachten wir den Rekursionsschritt k. Wir haben bereits die Primzahlen p(1k) ; : : : ; p(sk) gewahlt und rufen dann im folgenden Rekursionsschritt k 1 erneut fur jedes p(ik), 1 i j einmal MultMod auf. Dabei werden nun Elemente ; ubergeben, die vorher modulo p(ik) fur ein p(ik) 2 fp(1k) ; : : : ; p(sk)g reduziert wurden. Von diesen Elementen wissen wir, da es ps-Bit Elemente sind, d.h. ]bit(MAX())+ ]bit(MAX( )) 2ps. Somit genugt es, im Falle eines rekursiven Aufrufes s aufeinanderfolgende Primzahlen p1; : : : ; ps minimal zu wahlen , so da (3-9) s X i=1 p(ik 1) r X 2p(sk) + 1 + ( 2r l ]bit(cl n2l )) + s: l=0 erfullt ist. (1) (2) Bei diesem rekursiven Verfahren erhalten wir eine Folge p(0) s ; ps ; ps ; : : : , wobei p(sk) die grote Primzahl aus Rekursionsschritt k ist. Fur die Laufzeitabschatzung stellen wir bereits hier zwei Aussagen uber das Wachstum der Folge (p(sk) )k2N0 zusammen. Satz 3.22. Es gilt p(sk) = O k s 2 : 62 3. ANWENDUNG DES MODULAREN VERFAHRENS Beweis: Mit s X i=1 folgt aus (3-9) p(ik 1) sp(sk 1) r X p(sk) 2s p(sk 1) 21 (1 + ( 2r l ]bit(cl n2l )) + s) l=0 s (3-10) 2 p(sk 1): Hieraus folgt die Behauptung. Nachdem wir in Satz 3.22 eine obere Abschatzung von p(sk) angegeben haben, geben wir nun eine untere Abschatzung an. Satz 3.23. Fur alle > 0 gibt es ein d(= d()) > 0 mit s k ( k ) ps > d 2 : Beim Beweis benutzen wir die folgende Aussage uber Primzahlen aus [Bun92, S. 283]: Satz 3.24. Sei p eine Primzahl und p^ die kleinste Primzahl echt groer als p (p^ folgt auf p). Dann gilt p^ p = O(p 85 ): Korollar 3.25. Es gibt eine positive Konstante C 2 R , so da fur alle Primzahlen p die Ungleichung p^ p < C p^85 gilt. Hier nun der Beweis von Satz 3.23: Da in (3-9) p(1k) ; : : : ; p(sk) minimal gewahlt wurden, gilt (3-11) sX1 i=0 p(ik 1) r X 2p(sk) + 1 + ( 2r l ]bit(cl n2l )) + s: l=0 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN Dabei ist p(0k 1) 63 die grote Primzahl kleiner als p(1k 1) . Korollar 3.25 liefert 5 (3-12) p(ik 1) p(0k 1) Cs p(sk) 8 fur 0 i s 1: Aus (3-11) und (3-12) erhalten wir ! r (k) 85 X 1 ( k 1) 2 r l 2 ( k ) Cs ps (3-13) ps sps 1 ( 2 ]bit(cl nl )) s : 2 l=0 ( k ) ( k 1) Es gilt ps > ps , da andernfalls das rekursive Verfahren keinen weiteren Rekursionsschritt eingeleitet hatte. Aus (3-13) erhalten wir somit p(sk+1) = s : lim k!1 p(sk) 2 Hieraus folgt die Behauptung. 2.2.3. Abbilden in die Restklassenringe Das IdealP(mj A) hat die Gestalt (mj A) = fPti=1 zi bi jzi 2 (mj )g. Das Abbilden von = ti=1 i bi 2 A nach A=(mj A) entspricht der Bestimmung des symmetrischen kanonischen Reprasentanten mods mj . Hierbei wurde Bezeichnung 2.25 verwendet. Sei = Pti=1 ; ibi i 2 Z fur 1 i t. Die Bestimmung des symmetrischen kanonischen Reprasentanten von konnen wir zuruck fuhren auf die Bestimmung von t symmetrischen kanonischen Reprasentanten der ganzen Zahlen i. Fur die Bestimmung des symmetrischen kanonischen Reprasentanten i mods mj einer b-Bit Zahl i werden O(b) Bitoperationen benotigt [Sch66, S. 190, Hilfssatz 3]. Dabei wird ein Verfahren benutzt, welches Schonhage als zyklische Addition bezeichnet. Es nutzt die Form der Moduli mj = 2pj 1 aus beruht auf dem folgenden Satz. Satz 3.26. z 2 Z habe die Gestalt z = at B t + at 1 B t 1 + + a1 B + a0 mit B = 2pj und 0 ai < 2pj fur i 2 f1; : : : ; tg. Dann gilt z at + at 1 + + a1 + a0 mod(2pj 1): 64 3. ANWENDUNG DES MODULAREN VERFAHRENS Beweis: Es gilt B = 2pj 1 mod(2pj 1) Wir verwenden den Algorithmus Mods zur Berechnung des symmetrischen kanonischen Reprasentanten eines b-Bit Elementes 2 A. Mods geht nach dem oben beschriebenen Verfahren vor und benotigt somit O(tb) Bitoperationen zur Bestimmung von mods mj . Betrachten wir nun den Rekursionsschritt k des rekursiven Algorithmus MultMod. Sei ein p(jk+1) -Bit Element. Die Bestimmung von mods mi fur ein i mit 1 i s benotigt O(p(jk+1)t) Bitoperationen. Nach (3-10) gilt p(jk+1) p(sk+1) 2s p(sk) . Somit erhalten wir den folgenden Satz. Bemerkung 3.27. Sei 2 A(Kr ) ein p(jk+1) -Bit Element. Mods benotigt O(ps(k)t) Bitoperationen fur die Bestimmung von mods mj . 2.2.4. Auswerten in den Restklassenringen Seien ; 2 A(Kr ). Zur Berechnung von mods mj wird der Algorithmus MultRR benutzt. MultRR(; ; mj ) liefert das Ergebnis mods mj fur 1 j s und benutzt dabei Varianten der Algorithmen 3.10 bzw. 3.12. Diese Varianten unterscheiden sich von Algorithmus 3.10 bzw. 3.12 nur dadurch, da (1) nach jeder erfolgten Multiplikation das Ergebnis mittels Mods(:; mj ) reduziert wird und r ) (2) statt der Multiplikationstabelle ( Ki;j;k die Tabelle 1i;j;knr K r (N(Kr ) i;j;k)1i;j;k;nr verwendet wird. Durch die Anwendung von Mods werden die Koezienten betragsmaig klein gehalten. Somit sind die nachfolgenden Multiplikationen schneller ausfuhrbar. Sei b(ir) = %i 1 fur 1 i nr . Die Variante von Algorithmus 3.12 wird nur verwendet, falls die Koezienten des Minimalpolynoms von % Elemente aus A(Kr 1) sind. Erstens sind die Koezienten von ; bezuglich b(1r) ; : : : ; b(nrr) Elemente aus A(Kr 1); r 1. Zweitens ist N(Kr ) so gewahlt, da die Koezienten der 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN 65 r ) Eintrage der Tabelle (N(Kr ) Ki;j;k ur r 1. 1i;j;k;nr Elemente aus A(Kr 1 ) sind f Wir erhalten somit aus Satz 3.11 den folgenden Satz. Satz 3.28. Der Algorithmus MultRR benotigt fur die Multiplikation zweier Ele3r n 3 1 3 2 mente aus A(K0) 2 nr + 2 nr = 2 + O(n2r ) Multiplikationen in Z und fur die Multiplikation zweier Elemente aus A(Kr ) die gleiche Anzahl Multiplikationen in A(Kr 1) fur r 1. Korollar 3.29. Der Algorithmus MultRR benotigt fur die Multiplikation zweier Elemente aus A(Kr ) O(t3 ) Multiplikationen in Z. Beweis: QMit Hilfe einer Induktion uber r folgt die Behauptung aus Satz 3.28 und t = ri=1 ni. 2.2.5. Chinesischer Restsatz Der hier aufgefuhrte chinesische Restsatz wurde in seiner ursprunglichen Form 1958 von H.L. Garner [Gar58] fur ganze Zahlen aus Z vorgeschlagen und auch von A. Schonhage in [Sch66] fur die schnelle Multiplikation von ganzen Zahlen verwendet. Hier wird die verallgemeinerte Version fur A(Kr ) vorgestellt und anschlieend die Korrektheit bewiesen. DabeiQ verwenden wir die Schreibweise aus Bezeichnung 2.25. Sei im folgenden m := sj=1 mj . Algorithmus 3.30. (CR: Chinesischer Restsatz) 1 ; : : : ; s 2 A(Kr ) und paarweise teilerfremde m1 ; : : : ; ms 2 Z Input: Output: mit i mod mi fur i 2 f1; ::; sg und MAX() < m2 Schritt 1: (Bestimmung der j ) (1) 1 1 (2) Fur j = 1; : : : ; s : (3) Fur i = 2; : : : ; j : (4) j Multc((j i 1 ); i 1; j ) (5) j Mods(j ; mj ) Schritt 2: (Zusammensetzen) (6) s (7) Fur j = s 1; : : : ; 1 : 66 (8) (9) 3. ANWENDUNG DES MODULAREN VERFAHRENS Multm(; j ) + j Gib aus. ENDE. Dabei liefert Multc(; i; j ) als Ergebnis ci;j mods mj , wobei cij das Inverse von mi modulo mj ist. Das Inverse ci;j existiert, da die mi, i 2 f1; : : : ; sg nach Voraussetzung paarweise teilerfremd sind. Multm(; j ) liefert als Ergebnis das Produkt von mit der ganzen Zahl mj . Diese beiden unten beschriebenen Prozeduren nutzen die spezielle Form der Moduli mj aus, um eine Beschleunigung bezuglich der normalen Multiplikation zu erzielen. Wir beweisen nun die Korrektheit von Algorithmus 3.30 unter der Voraussetzung, da die Algorithmen Multc und Multm korrekt sind. Satz 3.31. (Korrektheit von Algorithmus 3.30) Das Ergebnis von Algorithmus 3.30 erfullt (1) j mod mj fur 1 j s und (2) MAX() < 21 m. Beweis: Wir betrachten die Werte von j zu Beginn von Schritt 2. (1) Es gilt: mj 1 m1 j mj 1 m1 ( ((j 1)c1;j 2 )c2;j j 1) cj 1;j mj 2 m1 ( (i 1)c1;i j 2)cj 2;j j 1mj 2 m1 ... j 1 2 m1 j 1mj 2 m1 (mod mj ) Dabei haben wir mi cij 1 mod mj verwendet. Es folgt i 1 + 2m1 + 3 m2 m1 + + imi 1 m1 (mod mj ): 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN (2) Es gilt: MAX(j ) Wir erhalten mj 1 , 2 da zuvor j 67 Mods(j ; mj ) ausgefuhrt wurde. 3 2 j jY1 jY1 jY1 s m s s X Y X X 1 1 j mi = 2 4( mi) ( mi )5 MAX() = MAX( j mi ) 2 = s 1Y 2 i=1 j =1 j =1 i=1 1 1 < m: 2 i=1 j =1 i=1 i=1 Sei mj = 2pj 1 fur j 2 f1; ::; sg mit pi < pj fur i < j . Wurden wir in Zeile (4) von Algorithmus 3.30 eine normale Multiplikation eines ps-Bit Elementes mit einer ps-Bit Zahl ausfuhren, so wurden wir O(p2s nr ) Bitoperationen benotigen. Wir zeigen unten, da Multc mit O(pslog(ps)nr ) Bitoperationen auskommt. Zeile (4) wird s(s2 1) = O(s2) mal durchlaufen. Fur die Ausfuhrung von Schritt 1 benotigt Algorithmus 3.30 somit O(s2pslog(ps)nr ) Bitoperationen. Zeile (8) wird s 1 mal durchlaufen. Der Algorithmus Multm liefert das Ergebnis Multm(; j ) = mj = (2pj 1) = 2pj . Die Multiplikation von mit 2pj geschieht, indem wir in der Binardarstellung der n Koezienten von eine Verschiebung um pj Bit nach links vornehmen. Wir konnen damit den Aufwand fur Teil 2 grozugig mit O(s2psnr ) Bitoperationen abschatzen. Damit erhalten wir: 1 fur j 2 f1; ::; sg mit pi < pj fur i < j . Dann benotigt Algorithmus 3.30 O(s2pslog (ps)nr ) Bitoperationen. Satz 3.32. Sei mj = 2pj Der Kern von Algorithmus Multc ist der folgende Satz. Satz 3.33. Sei c 2 Z das Inverse von 2e 1 modulo 2f 1. Dann gilt 0 1 X c=@ 2ieA mod(2f 1): 0i<b Dabei ist b 2 Z die kleinste positive Zahl mit be 1 mod f . 68 3. ANWENDUNG DES MODULAREN VERFAHRENS Beweis: Sei b 2 Z die kleinste positive Zahl mit be 1 mod f . Es gilt: (1 + 2e + + 2(b 1)e )(2e 1) 2eb 1 21 1 = 1 mod(2f 1): Das erste Kongruenzzeichen gilt nach der Formel fur die geometrische Reihe, das zweite nach Satz 3.17. Algorithmus 3.34. (Multc) 2 A(Kr ); e; f 2 Z Input: Output: = cef , wobei cef (2e 1) 1 mod(2f 1); 0 < cef < 2e 1 (1) Bestimme minimales b > 0 mit be 1 mod f . Sei b = (bt : : : b1 b0 )2 die Binardarstellung. (2) a0 e (3) d0 b0e (4) 0 (5) 0 b0 (6) Fur i = 1; : : : ; t (7) ai 2ai 1 mod f (8) di (di 1 + biai ) mod f (9) i (i 1 + 2ai 1 i 1 ) mod(2f 1) (10) i (i 1 + bi 2di 1 i) mod(2f 1) (11) t (12) Gib aus. ENDE. Mit Hilfe von Satz 3.33 folgt die Korrektheit mittels Induktion uber t [Knu81, S. 289]. Die Bestimmung von b benotigt O(log2(f )2) Bitoperationen [Coh93, S. 13]. Die Schleife wird t = log2 (b) = O(log2(f )) mal durchlaufen. Ein Schleifendurchlauf benotigt fur Zeile (7) O(log2(f )), fur Zeile (8) O(log2(f )), fur Zeile (9) O(nr f ), fur Zeile (10) O(nr f ) und somit insgesamt O(nr f ) Bitoperationen. Mit O((log2 (f ))2 )+ O(nr f )O(log2 (f )) = O(f log2(f )nr ). erhalten wir: Satz 3.35. Algorithmus 3.34 benotigt O(f log2 (f )nr ) Bitoperationen. 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN 69 2.2.6. Rucktransformation Die Rucktransformation entspricht der Bestimmung des symmetrischen kanonischen Reprasentanten. Da der chinesische Restsatz nach Satz 3.31 bereits den symmetrischen kanonischen Reprasentanten zuruckliefert, ist in diesem Falle nichts mehr zu tun. 2.2.7. Der Algorithmus MultMod Nun geben wir den rekursiven Algorithmus an. Ein rekursiver Aufruf ndet in Schritt 3 nur dann statt, wenn die in Schritt 1 berechnete Schranke S die Bedingung S > bound erfullt. Der rekursive Aufruf von MultMod soll nur dann erfolgen, wenn MultMod schneller als die nichtmodulare Multiplikation ist. In den Beispielrechnungen im nachsten Abschnitt wurde stets der Wert bound = 4000 gewahlt. Algorithmus 3.36. (MultMod: Multiplikation von algebraischen Zahlen mit Hilfe der modularen Methode ) a; b, wobei a = d1a Ptj=1 j bj ; b = d1b Ptj=1 j bj Input: Bei einem rekursiven Aufruf sind a; b p~s -Bit Elemente und p~s wird ubergeben. Output: c = ab Schritt 0: Ptj=1 j bj ; Ptj=1 j bj dc dadbN(or ) Schritt 1: (Bestimmung der Schranke und Wahl der Moduli) Beim ersten Aufruf: B ]bit(MAX()) + ]bit(MAX( )) + 1 + (Prl=0 2r l ]bit(cl n2l )) + s Sonst (rekursiver Aufruf): B 2p~s + 1 + (Prl=0 2r l ]bit(cl n2l )) + s Wahle s aufeinander folgende ungerade Primzahlen p1 ; : : : ; ps; so da P s p B. i=1 i Fur j = 1; : : : ; s: mj 2pj 1 Schritt 2: (Abbilden in die Restklassenringe) 70 3. ANWENDUNG DES MODULAREN VERFAHRENS Fur j = 1; : : : ; s: w1;j Mods(; mj ) w2;j Mods(; mj ) Schritt 3: (Auswerten in den Restklassenringen) Fur j = 1; : : : ; s: wenn B > bound, dann j MultMod(w1;j ; w2;j ; ps) (Bei rekursivem Aufruf wird aktuelles ps als dritter Parameter ubergeben) j Mods(j ; mj ) sonst j MultRR(w1;j ; w2;j ; mj ) Schritte 4,5: (Chinesischer Restsatz, Rucktransformation) Berechne CR(1; : : : ; s; m1 ; : : : ; ms). Schritt 6: c dc Gib c aus. ENDE. 2.2.8. Korrektheit Der Algorithmus 3.36 entspricht der Vorgehensweise von Algorithmus 2.27 und ist somit nach Satz 2.28 korrekt. 2.2.9. Laufzeitverhalten Wir bezeichnen mit time(b) die Anzahl der Bitoperationen, die hochstens notwendig sind, um mit MultMod zwei b-Bit-Elemente aus Kr zu multiplizieren. Wir nehmen an, da wir insgesamt k~ Rekursionsschritte benotigen. Der Algorithmus MultMod ruft in Schritt 3 sich selbst s mal auf, falls S > bound. Diese Aufrufe benotigen s time(p(sk~)) Bitoperationen. Fur Schritt 4 und 5 reichen nach Satz 3.32 O(p(sk~) log2 (p(sk~))s2 t) Bitoperationen. Schritt 2 benotigt nach Bemerkung 3.27 O(sp(sk~)) Bitoperationen. Mit Hilfe von 3.22 erhalten wir mit 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN geeignetem positivem c 2 R : time(b) s time(p(sk~)) + O(p(sk~) log2(p(sk~) )s2t) s time(p(sk~)) + c 71 s k~ 2 k~s2 t: Es folgt 1 k time(b) time(p(sk~) ) + ck~s2t time(p(0) ) + cs2t X s k =: c~(t): 2 sk~ s(k~ 1) 2k~ k=1 Dabei ist die unendliche Summe konvergent. Nach Korollar 3.29 gilt c~(t) = O(t3). Satz 3.23 liefert uns blog 2s s dlog 2s ssk~ . Unter Verwendung dieser Ungleichung erhalten wir time(b) c~(t)sk~ logc~(st) s blog 2s s: d 2 Wir erhalten somit als Ergebnis: Satz 3.37. Fur die Multiplikation zweier b-Bit Elemente aus Kr benotigt Algorithmus MultMod (Algorithmus 3.36) bei Verwendung von s Moduli time(b) = O(t3blog 2s s) Bitoperationen. Dabei ist > 0 beliebig. Asymptotisch ware eine groe Anzahl s von Moduli wunschenswert. In der Praxis jedoch steigt mit s nach Satz 3.32 die fur den chinesischen Restsatz benotigte Zeit an. Dies hat zur Folge, da das modulare Verfahren erst bei sehr groen Koezienten schneller als das nichtmodulare Verfahren wird. In MultMod wurde s = 10 fest gewahlt. Mit dieser Wahl sind auch die im nachsten Abschnitt aufgefuhrten Beispielrechnungen durchgefuhrt. Fur s = 10 gilt log 2s s 1; 43. 72 3. ANWENDUNG DES MODULAREN VERFAHRENS 2.3. Vergleich. In diesem Abschnitt werden einige Beispielrechnungen aufgefuhrt, die mit dem Computeralgebrasystem KANT V4 in der Oberache KASH berechnet wurden. Alle Rechnungen wurden auf einem HP9000/735s mit 160MB Speicher unter dem Betriebssystem HP{UX 9.04 ausgefuhrt. In den Tabellenkopfen werden die folgenden Bezeichnungen verwendet: N fur die maximale Anzahl der Dezimalstellen der Koezienten der beiden Faktoren, T(MultMod) fur die von MultMod benotigte Zeit zur Multiplikation der beiden Faktoren und T(Mult) fur die von den (nichtmodularen) in KANT implementierten Algorithmus 3.10 bzw. 3.12 benotigte Zeit zur Multiplikation der beiden Faktoren. Sei % eine Nullstelle des Polynoms f0(x) = x4 + 95147171x3 + 73416722x2 + 58392756x + 28295709. Wir betrachten den Zahlkorper K0 := Q [%] mit der Q -Basis 1; %; : : : ; %3 . N 1187 1472 1672 T(MultMod) in s 0,16 0,19 0,24 T(Mult) in s 0,16 0,23 0,32 5550 7004 9428 1,43 2,21 3,30 3,45 5,48 9,94 2157 2642 3369 3853 4580 0,35 0,46 0,67 0,79 1,02 0,52 0,78 1,28 1,76 2,39 11851 4,19 15,95 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN 73 Sei % eine Nullstelle des Polynoms f0(x) =x6 + 91943121x5 + 92603883x4 + 57293488x3 + 2945097x2 + 42904848x + 3091119. Wir betrachten den Zahlkorper K0 := Q [%] mit der Q -Basis 1; %; : : : ; %5 . N 761 T(MultMod) in s 0,16 T(Mult) in s 0,16 8785 5,06 20,25 1162 0,29 0,37 10390 6,32 28,30 1563 0,43 0,66 11994 7,69 37,74 2366 0,76 1,49 14000 9,61 51,35 3569 1,51 3,83 16006 11,52 67,47 4773 5977 7180 2,37 3,14 3,92 5,97 9,41 13,51 18012 13,17 84,98 Sei % eine Nullstelle des Polynoms f0(x) =x8 +35546019x7 +37900717x6 +80836557x5 +89917871x4 +73888743x3 + 19567104x2 + 74437689x + 94466888. Wir betrachten den Zahlkorper K0 := Q [%] mit der Q -Basis 1; %; : : : ; %7 . N 479 T(MultMod) in s 0,12 T(Mult) in s 0,12 4200 3,02 8,47 745 0,26 0,28 4997 3,92 11,96 1011 0,37 0,50 5795 4,76 16,17 1542 0,71 1,15 6592 5,76 20,96 2074 1,03 2,10 7389 6,39 26,04 2605 1,48 3,29 8453 7,53 34,09 3137 2,05 4,73 9516 8,93 43,29 3669 2,69 6,54 10579 10,31 53,75 74 3. ANWENDUNG DES MODULAREN VERFAHRENS Sei % eine Nullstelle des Polynoms f0(x) =x10 +32062788x9 +53232120x8 +25063586x7 +76311955x6 +36966596x5 + 63305947x4 + 91303332x3 + 29329255x2 + 21453819x + 58218522. Wir betrachten den Zahlkorper K0 := Q [%] mit der Q -Basis 1; %; : : : ; %9 . N 476 T(MultMod) in s 0,19 T(Mult) in s 0,18 2783 2,52 5,89 611 0,29 0,30 3190 3,17 7,75 747 1018 1290 1561 1968 2375 0,36 0,57 0,80 1,09 1,41 1,93 0,44 0,81 1,29 1,87 2,96 4,38 5795 4,76 16,17 Sei % eine Nullstelle des Polynoms f0(x) =x20 + 75761676x19 + 53902747x18 + 19078359x17 4286451x16 + 72831383x15 + 89381336x14 + 88199690x13 + 7606977x12 + 53330311x11 + 5967468x10 + 39897517x9 + 45295734x8 + 52125328x7 + 20901972x6 + 70952768x5 + 46849766x4 + 16566973x3 + 61837857x2 + 67981289x + 33943048. Wir betrachten den Zahlkorper K0 := Q [%] mit der Q -Basis 1; %; : : : ; %19 . N 450 600 750 1050 1500 1950 2400 2850 T(MultMod) in s 0,66 1,01 1,39 2,08 3,72 4,68 6,93 9,44 T(Mult) in s 0,66 1,12 1,72 3,37 6,69 11,29 17,03 24,02 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN 75 Sei % eine Nullstelle des Polynoms f0(x) =x40 + 11861152x39 + 32590607x38 + 74838005x37 + 49725069x36 + 40901085x35 + 49049917x34 7504920x33 + 64106306x32 + 1127091x31 + 96422312x30 + 17453796x29 449903x28 + 45934193x27 + 73260956x26 + 52842614x25 + 98200583x24 + 65216447x23 + 66447992x22 + 8853485x21 + 27686323x20 + 6484844x19 + 35726599x18 + 97548393x17 + 8380737x16 + 6328040x15 + 74653396x14 + 28070125x13 + 84788656x12 + 17213040x11 + 96016513x10 + 65801028x9 + 55409637x8 + 40456346x7 + 17876130x6 + 85672318x5 +85311774x4 163061x3 7660685x2 +58556164x+71031965. Wir betrachten den Zahlkorper K0 := Q [%] mit der Q -Basis 1; %; : : : ; %39 . N 553 830 1106 1658 2211 2763 3315 3868 T(MultMod) in s 4,00 6,16 9,34 18,01 24,02 35,75 51,89 60,20 T(Mult) in s 3,95 8,59 15,01 33,08 59,09 91,05 131,3 178,7 Sei % eine Nullstelle des Polynoms f0(x) =x80 + 2x79 + 2x78 4x77 + 9x76 4x75 + 8x74 + 5x72 x71 + 8x69 8x68 + 8x67 + 4x66 9x65 + 6x64 + 7x63 10x62 2x61 4x60 + 3x59 10x58 4x57 + 7x56 + x55 + 7x54 2x53 2x52 9x51 x50 x49 2x48 8x47 + 4x46 6x45 5x44 4x43 +3x42 5x41 +9x40 +2x39 3x38 5x37 +2x36 + 2x35 +5x34 +8x33 4x32 +6x31 +4x30 5x29 9x27 9x26 6x25 10x24 + 4x23 10x22 8x21 + x20 7x19 8x18 +10x17 3x16 8x15 6x14 3x13 5x11 + 7x10 + 4x9 8x8 + 7x7 8x6 + 2x5 8x4 8x3 3x2 7910x + 1. Wir betrachten den Zahlkorper K0 := Q [%] mit der Q -Basis 1; %; : : : ; % . N 156 T(MultMod) in s 1,66 T(Mult) in s 1,65 1658 51,72 134,3 344 532 719 907 1095 1283 1471 5,17 10,00 16,50 20,80 31,21 37,7 45,11 6,54 14,47 26.03 41,09 59,11 81,05 105,5 1846 56,60 165,7 76 3. ANWENDUNG DES MODULAREN VERFAHRENS Sei % eine Nullstelle des Polynoms f0(x) = x4 + 95147171x3 + 73416722x2 + 58392756x + 28295709. Wir betrachten den Zahlkorper K0 := Q [%] mit einer in KANT berechneten Ganzheitsbasis von K0 . N 1187 1472 1672 T(MultMod) in s 0,16 0,19 0,22 T(Mult) in s 0,16 0,22 0,30 5550 7004 9428 1,32 1,98 3,16 3,29 5,20 9,35 2157 2642 3369 3853 4580 0,33 0,46 0,64 0,73 0,97 0,50 0,74 1,24 1,57 2,22 11851 3,95 14,91 Sei % eine Nullstelle des Polynoms f0(x) = x10 3x9 + 2x8 + 4x7 + 5x6 + 4x5 4x4 + 12x2 2x + 5. In K0 := Q [%] betrachten wir die Q -Basis 1; %; : : : ; %9. Sei eine Nullstelle des Polynoms f1(x) =x10 + (10%0 8%1 9%2 5%3 20%4 6%5 4%6 + 4%7 6%8 6%9)x9 + ( 14%0 7%1 + 7%3 + 18%4 7%5 3%6 + 11%7 + 2%8 11%9 )x8 + ( 14%0 10%1 14%23%3 + %4 + 9%5 + 20%6 + 15%7 + 8%8 + 10%9)x7 + ( 8%0 + 10%1 + 6%3 + %4 8%5 + %6 8%7 + 8%8 + 12%9)x6 + ( 19%1 10%2 14%3 + 2%4 18%5 +20%6 +14%8 4%9 )x5 +(8%0 +2%1 +10%2 +14%3 11%4 +7%5 +9%6 + 12%7 +4%8 10%9)x4 +( 1%0 +20%1 +18%2 +13%3 1%4 16%6 +13%7 +2%8 + 10%9)x3 + (13%0 12%1 5%2 + 14%3 + 16%4 16%5 12%6 + 15%7 13%8 + 9%9 )x2 +( 14%0 +16%1 +7%2 +8%3 17%4 2%5 18%6 8%7 +13%8 +14%9)x+ ( 13%0 + 19%1 13%2 + 20%3 + 16%4 11%5 3%6 + 14%7 12%8 + 17%9). Wir betrachten den Zahlkorper K1 := K0 [ ] mit der K1 -Basis 1; ; : : : ; 9 . N 223 357 490 622 757 890 1024 1157 T(MultMod) in s 5,77 10,24 15,10 20,57 27,44 33,49 42,47 51,84 T(Mult) in s 5,81 12,13 21,27 33,08 47,25 64,05 85,37 106,6 2. MULTIPLIKATION ALGEBRAISCHER ZAHLEN 77 Sei % eine Nullstelle des Polynoms f0(x) = x3 + x2 13x + 36. In K0 := Q [%] betrachten wir die Q -Basis 1; %; %2. Sei eine Nullstelle des Polynoms f1(x) =x12 + ( 108%0 + 270%1 + 24%2)x10 + ( 14624%0 24744%1 4372%2)x9 + ( 631344%0 421176%1 48369%2)x8 + ( 174101760%0 3142080%1 + 6298560%2)x7 + ( 1051170392%0 + 732746246%1 + 186322312%2)x6 + ( 85808920416%0 + 10746990552%1 + 5544877344%2)x5 + (4717709430588%0 + 2145887127201%1 + 240342270672%2)x4 + (160143514883280%0 + 14458229480636%1 3476213893676%2)x3 + (10741252484644056%0 1619403263824086%1 +749027789533920%2)x2 + ( 62344580730746400%0 18875348023315080%1 1285873363213020%2)x1+ ( 179237747831041548%0+81710865349088363%1+23394835280694410%2). Wir betrachten den Zahlkorper K1 := K0 [ ] mit der K1 -Basis 1; ; : : : ; 11 . N T(MultMod) in s T(Mult) in s 328 1,34 1,33 1736 15,91 31,59 411 2,06 1,98 2067 17,76 44,62 494 2,41 2,78 2398 23,09 59,84 576 3,01 3,69 2728 28,92 77,55 824 991 1156 1405 5,21 6,12 7,93 10,84 7,45 10,53 14,24 20,93 3060 33,14 96,85 Der modulare Algorithmus MultMod zur Multiplikation algebraischer Zahlen liefert erst ab einigen tausend Dezimalstellen der Koezienten der Faktoren eine deutliche Laufzeitverbesserung gegenuber dem nichtmodularen Algorithmus. Bei absoluten Erweiterungen von groem Grad und bei relativen Erweiterungen ist der modulare Algorithmus teilweise schon bei einigen hundert Dezimalstellen der Koezienten der Faktoren schneller als der nichtmodulare, da in diesen Fallen der Anteil der vom chinesischen Restsatz verwendeten Zeit an der Gesamtlaufzeit gering ist. 78 3. ANWENDUNG DES MODULAREN VERFAHRENS Bezeichnungen In der vorliegenden Arbeit gelten die folgenden Bezeichnungen: R Ring Menge von inneren Verknupfungen T ( ) Menge der -Terme (A; ); (H; ) algebraische Strukturen Homomorphismus E die von induzierte Kongruenzrelation (Bezeichnung 2.5) Ea die von dem Ideal a induzierte Kongruenzrelation (Bezeichnung 2.8) R=a Restklassenring von R nach dem Ideal a : mod : positiver kanonischer Reprasentant (Bezeichnungen 2.20, 2.25) : mods : symmetrischer kanonischer Reprasentant (Bezeichnungen 2.20, 2.25) MAX(:) Maximum der Betrage der Koezienten (Bezeichnung 2.26) a Ideal p Primideal p Primzahl ggT groter gemeinsamer Teiler kgV kleinstes gemeinsamen Vielfaches O Landau-Symbol 79 80 A K; K0 Ki oK o0 n ni b(1i) ; :::; b(nii) A(Kr ) b1; :::; bt Nen(:) N (:) N e(p=pZ) f (p=pZ) i dK TK :Q NK :Q BEZEICHNUNGEN Menge der ganzen algebraischen Zahlen algebraische Zahlkorper, gegeben als absolute Erweiterungen algebraische Zahlkorper, gegeben als reative Erweiterungen fur i1 Maximalordnung von K Ordnung von K0 Grad der Korpererweiterung K=Q Grad der Korpererweiterung Ki=Ki 1 fur i 1 eine Ki 1-Basis von Ki fur i 1 die zu Kr gehorende Algebra (Denition 2.66) Basis von A(Kr ) (Denition 2.66) Nenner eines Elementes aus A(Kr ) bzgl. fester Basis (Denition 2.62) Nenner einer Ordnung (Denition 2.63) siehe Denition 2.64 Verzweigungsindex von p uber pZ Tragheitsgrad von p uber pZ Konjugierten-Abbildungen Diskriminante von K absolute Spur absolute Norm Literaturverzeichnis [Bun92] P. Bundschuh. Einfuhrung in die Zahlentheorie. Springer, Berlin{Heidelberg{New York, 2 Auage, 1992. [Coh93] H. Cohen. A Course in Computational Algebraic Number Theory. Springer, 1993. [DFK+ 96] Mario Daberkow, Claus Fieker, Jurgen Kluners, Michael Pohst, Katherine Roegner, und Klaus Wildanger. KANT V4. to appear in J. Symb. Comput., 1996. [Dic52] L.E. Dickson. History of the Theory of Numbers. Chealsea, New York, 1952. [Fri97] C. Friedrichs. Berechnungen relativer Ganzheitsbasen mit dem Round-2Algorithmus. Diplomarbeit, Technische Universitat Berlin, 1997. [Gar58] H.L. Garner. The residue number system. IRE Transactions, EC{8 (1958), 140{ 147. [Gau] C.F. Gauss. Werke, Band 1 (Disquisitiones Arithmeticae). Deutsche U bersetzung der Disquisitiones Arithmeticae, G. Fleischer Jun., Leipzig 1801; hiervon Nachdruck: Springer, Berlin, 1986. [Hup90] B. Huppert. Angewandte lineare Algebra. de Gruyter, Berlin{New York, 1990. [Knu81] D.E. Knuth. The Art of Computer Programming, Band 2. Addison{Wesley Publishing Company, 1981. [Kob87] N. Koblitz. A Course in Number Theory and Cryptography. Springer, New York, 1987. [Lip81] J.D. Lipson. Elements of Algebra and Algebraic Computing. Benjamin/Cummings Publishing Company, Menlo Park, California{Reading, Massachusetts{Don Mills, Ontario, 1981. [Mar95] D. A. Marcus. Number Fields. Springer{Verlag, New York{Berlin{Heidelberg, 1995. [Mey80a] K. Meyberg. Algebra 1. Hanser, Munchen{Wien, 1980. [Mey80b] K. Meyberg. Algebra 2. Hanser, Munchen{Wien, 1980. 81 82 [Mu94] [Poh93] [PZ89] [RS62] [Sch66] LITERATURVERZEICHNIS A. Muller. Eziente Algorithmen fur Probleme der linearen Algebra uber Z. Diplomarbeit, Universitat des Saarlandes, 1994. M.E. Pohst. Computational Algebraic Number Theory. Birkhauser, 1993. M.E. Pohst und H. Zassenhaus. Algorithmic Algebraic Number Theory. Encyclopaedia of mathematics and its applications. Cambridge University Press, 1989. J.B. Rosser und L. Schoenfeld. Approximate formulas for some functions of prime numbers. Illinois Journal of Mathematics, 6 (1962). A. Schonhage. Multiplikation groer Zahlen. Computing, 1 (1966), 182{196. Erklarung Ich versichere, da ich die vorliegende Arbeit uber das Thema 'Modulare lineare Algebra uber algebraischen Zahlkorpern' in der gesetzten Frist selbstandig verfat und keine anderen Hilfsmittel als die angegebenen verwendet habe. Alle Stellen der Arbeit, die anderen Werken wortlich oder sinngema entnommen sind, sind unter Angabe der Quelle als Entlehnung kenntlich gemacht. Die Abbildungen 84 LITERATURVERZEICHNIS sind von mir verfat, soweit nicht als Entlehnung gekennzeichnet. Berlin, 1. Juli 1997 Harald Bartel