Modulare lineare Algebra über algebraischen Zahlkörpern

Werbung
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
Herunterladen