Algorithmen der Computeralgebra -...

113
Algorithmen der Computeralgebra M.Sieveking 1 FB Mathematik J.W.Goethe-Universit¨ at Frankfurt a. M. ss 2003 1 e-mail: [email protected]

Transcript of Algorithmen der Computeralgebra -...

Page 1: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Algorithmen der Computeralgebra

M.Sieveking1

FB Mathematik

J.W.Goethe-UniversitatFrankfurt a. M.

ss 2003

1e-mail: [email protected]

Page 2: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

1 Inhalt

1 Literatur

2 Vorwort

3 Euklids Algorithmus3.1 Euklids Algorithmus . . . . . . . . . . . . . . . . . . . . . . .3.2 Teilbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.3 Die axiomatische Methode . . . . . . . . . . . . . . . . . . . .

4 Ein probabilistischer Primzahltest4.1 Das Interesse an Primzahlen . . . . . . . . . . . . . . . . . . .4.1 Der Fermat-Test . . . . . . . . . . . . . . . . . . . . . . . . .4.2 “Primes is in P” . . . . . . . . . . . . . . . . . . . . . . . . .

5 Grobner- Basen5.1 Buchbergers Algorithmus . . . . . . . . . . . . . . . . . . . . .5.2 Automatisches Beweisen . . . . . . . . . . . . . . . . . . . . .5.3 Losen von Polynomgleichungen . . . . . . . . . . . . . . . . .5.4 Implizitation . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Symbolische Integration

7 Kurze Vektoren in Gittern7.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . .7.2 Minkowskis Gittersatz . . . . . . . . . . . . . . . . . . . . . .7.3 LLL- Reduktion . . . . . . . . . . . . . . . . . . . . . . . . . .7.4 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . .

8 Konvolution8.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . .8.2 Karatsubas Methode . . . . . . . . . . . . . . . . . . . . . . .8.3 Die schnelle Fourier- Transformation . . . . . . . . . . . . . .8.4 Die Methode von Schonhage und Strassen . . . . . . . . . . .8.5 Die stetige Fourier- Transformation . . . . . . . . . . . . . . .

9 Lineare Algebra9.1 Strassens Matrixmultiplikation . . . . . . . . . . . . . . . . . .9.2 Wiedemanns Algorithmus . . . . . . . . . . . . . . . . . . . .9.3 Pade- Approximation . . . . . . . . . . . . . . . . . . . . . . .

1

Page 3: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

10 Der Euklidische Algorithmus. Fortsetzung10.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . .10.2 Schnelle Ggt- Berechnung . . . . . . . . . . . . . . . . . . . .10.3 Subresultanten . . . . . . . . . . . . . . . . . . . . . . . . . .10.4 Mignotte- Schranke . . . . . . . . . . . . . . . . . . . . . . .10.5 Ubergang zum Quotientenkorper . . . . . . . . . . . . . . . .10.5 Modulare Ggt-Berechnung . . . . . . . . . . . . . . . . . . . .

2

Page 4: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

2 Literatur

A.V. Aho, J.E. Hopcroft, J.O. Ullmann(1975): The design and Analysis ofComputer Algorithms, Addison WesleyA. Borodin,I. Munro (1975) The computationel Complexity of Algebraic andNumeric Problems, ElsevierM. Bronstein(1997) Symbolische Integration I (Transzendaental Functions),Springer.L. Blum, F. Cucker, M. Shub, S. Smale (1998) Complexity And Real Com-putation, Springer;B. Buchberger,Ed. Journal of Symbolic Computation, Academic PressP. Burgisser, M.Clausen, M.A. Shokrollahi(1997): Algebraic ComplexityTheory, Springer.A.M. Cohen,Ed. (1993) Computer Algebra in Industry. Problem Solving inPractice, Wiley.D. Cox, J. Little, D. O’Shea(1997): Ideals, Varieties and Algorithms, sec ed.,Springer.D.Cox, J.Little, D. O’Shea (1998): Using Algebraic Geometry, SpringerJ.v.z. Gathen, J. Gerhard(1999): Modern Computer Algebra, CambridgeUniv. Press.H.F.de Groote (1987) Lectures on the Complexity of Bilinear Problems, Lec-ture Notes in Computer Science 245, SpringerM. Grotschel, L. Lovasz, A. Schrijver(1988) : Geometric Algorithms andCombinatorial Optimization, Springer.W. Hackbusch (1998) From Classical Numerical Mathematics To ScientificComputing; Proc. of the International Congress of Mathematicians Berlin1998, VOL. I: Plenary Lectures, Documenta MathematicaP. Lorenzen (1984) Elementargeometrie, B.I. WissenschaftsverlagR. Motwani, P. Raghavan(1995): Randomized Algorithms, Cambridge Univ.Press.A. Prestel, C.N. Delzell(2001) Positive Polynomials, Springer.W. Scharlau, H. Opolka(1980) Von Fermat bis Minkowski, Springer.A. Schrijver(1998): Theory of linear and integer Programming, Wiley.E. Specker, V. Strassen(1976) Komplexitat von Entscheidungsproblemen,Lecture Notes in Computer Science 43, Springer.E. Tournier,Ed. (1989) Computer Algebra and Differential Equations, Aca-demic Press.B.L. van der Waerden(1983) Geometry and Algebra in Ancient Civilizations,Springer.F. Winkler(1996)Polynomial Algorithms in Computer Algebra, Springer.

3

Page 5: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

3 Vorwort

1. Die Vorlesung richtet sich an Studenten, die sich gleichermaßen furAlgebra, wie fur Algorithmen interessieren und setzt Vorkenntnisse inlinearer Algebra und diskreter Mathematik vorraus, die es erlaubenz.B. den Sinn von Cramers Regel zu verstehen, oder einfache Manipu-lationen in endlichen Korpern vorzunehmen.

2. Der Stoff ist zum großten Teil eine Auswahl aus v.z. Gathen, Ger-hard(1999), um deneuklidischen Algorithmus zentriert, aber im ubri-gen einigermaßen willkurlich. Es fehlen einige “ kleine”Algorithmen,wie Newton Iteration, oder der schnelle chinesische Restalgorithmus,aber auch die wichtigen großen: zur linearen Programmierung, linearenganzzahligen Programmierung, nichtlinearen Optimierung, Zerlegungin Primfaktoren.

3. Die Algorithmen sind ausgewahlt auch unter dem Gesichtspunkt asym-ptotisch geringer benotigter Anzahl arithmetischer Operationen. Z.B.benotigt Strassens Matrixmultiplikation zur Multiplikation zweier n×nMatrizen O(nlog7) arithmetische Operationen,- im Vergleich zu O(n3)beim “Zeile mal Spalte” Algorithmus. Der Leser wird jedoch weder dieDefinition eines Algorithmus noch die Diskussion verschiedener Kom-plexittsmaße - parallel, sequentiell, . . . - finden, und somit auch keineKomplexitatstheorie und keine unteren Schranken. Diese Dinge sindzwar interessant und auch fur die Entwicklung neuer Algorithmen wich-tig, aber fur das Vestandnis der Algorithmen sind sie nicht notig. Sokann der Leser die Funktionsweise des LLL- Algorithmus zur Gitter-basisreduktion verstehen, sobald er weiß, was euklidische Norm undOrthogonalitat im Rn bedeuten; und doch handelt es sich bei diesemAlgorithmus um einen der bedeutendsten mathematischen Fortschritteder letzten 30 Jahre. Algorithmen konnen, wenn man sie an den Anfangstellt, einen einfachen Zugang zu einem Gebiet verschaffen, und Lernen-den entgegenkommen, die nicht primar durch Strukturfragen motiviertsind. Nicht ohne Grund gehort Cox, Little, O’Shea(1997) zu den beson-ders abgegriffenen Buchern unserer Bibliothek: dieses Buch bietet einenalgorithmischen (Buchberger - Algorithmus) Zugang zur algebraischenGeometrie- einem Gebiet, das wegen seiner begrifflichen Schwierigkeitgefurchtet ist.

4. Sind die hier beschriebenen Algorithmen nutzlich? Das soll heißen: sindsie “implementiert”, oder werden sie in absehbarer Zeit so implemen-tiert werden, dass man mit ihnen Satellitenumlaufbahnen, Marktgleich-

4

Page 6: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

gewichte, und andere wichtige Dinge aus Naturwissenschaft und Tech-nik effktiv wird berechnen konnen? Die Antwort - mit Belegen- vonv.z. Gathen Gerhard(1999) ist ein entschiedenes Ja. (Die Antwort mußsnaturlich fur einen Algorithmus wie den von Buchberger, anders ausfal-len, als etwa fur die Matrixmultiplikation von Strassen, denn der ersterelost eine Aufgabe, bei der jeder Algorithmus nachweisbar absturzt, unddas schon bei moderaten Eingaben.)Es gibt aber auch eine Kritik - von Seiten der numerischen Mathematik-der zu Folge die schnellen Algorithmen der computer science (zu derrechne ich die angegebene Literatur) fur gewisse Zwecke des scientificcomputing untauglich seien. Ich sehe zwei Grnde fur diese Divergenz,kenne aber keine grundliche Diskussion dieses Themas :Erstens stellt sich scientific computing spezielle Augaben, wie dieLosung von großen Gleichungssystemen, die von Randwertaufgaben el-liptischer Differentialoperatoren herkommen (siehe Hackbusch(1998),wahrend ein Algorithmus der Computeralgebra zunachst den Zweckhat, alle linearen Gleichungssysteme zu losen bez. ihre Unlosbarkeitfestzustellen.Zweitens ist scientific computing gewohnt mit reellen Zahlen in Gleit-kommadarstellung zu rechnen; entsprechend nimmt man einen Fehler εin Kauf, mochte dafur aber (bei den speziellen, dunn besetzten Syste-men) mit linearen Kosten (O(n)) auskommen. Computerscience hinge-gen ist gewohnt exakt zu rechnen, sei es mit ganzen (oder rationalen)Zahlen, sei es in einem endlichen Korper.L.Blum et al. (1998) bauen eine theoretische Brucke zwischen Numerik= scientific computing und computer science indem sie das Modell einerTuring- Maschine zu eine Maschine verallgemeinern, die (per Axiom)exakt mit reellen Zahlen rechnen kann, und anschließend eine Theoriedes Genauigkeitsverlustes (Kondition) entwickeln.

5. Ich erinnere einen Gymnasiallehrer mit folgendem Spruch: “Differenzie-ren ist eine Technik, Integrieren ist eine Kunst”. Vielleicht war er derMeinung, es gebe keinen Algorithmus, der zu einer gegebenen Funk-tion (aus einer gewissen Klasse von Funktionen) eine Stammfunktionfindet, und es zeuge eben darum von Kunstfertigkeit, wenn der Schulergleichwohl eine solche findet. (Nebenbei ist es herrlich einfach, einelosbare, korrekturfreundliche Aufgabe zu finden: man nehme irgendei-ne Funktion und ubergebe dem Schuler die Ableitung.) Demnach wurdedas Auffinden einer Stammfunktion aufhoren eine Kunst zu sein, undsehr an didaktischem Wert verlieren, stunde dem Schuler zu diesemZwecke ein Algorithmus, womoglich ein Befehl der Computeralgebra

5

Page 7: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

zur Verfugung. Er konnte dann namlich nach Schema F verfahren, dassheißt gedankenlos, statt: ??? Wahrscheinlich mit Hilfe von erinnertenStammfunktionen, partieller Integration und Substitution und fleißi-gem Probieren, aber ansonsten ohne Verstandnis der Sache vorzugehen.Denn wie soll man verstehen, warum und wieso man zu einer Losunggelangt, wenn man nicht nach einem Algorithmus vorgeht? Man kannalso der Meinung sein, dass erst ein Algorithmus ein Verstandnis furdie losung einer Aufgabe ermoglicht. Zudem muss es dabei mit derKunst noch kein Ende haben; es kann Kunstfertigkeit erfordern mitdem Ergebnis auf dem Bildschirm etwas vernunftiges anzufangen. Pro-biere :int(f(x), x); f(x) = x/sin(x), . . . .

6

Page 8: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

4 Der Euklidische Algorithmus

“ Vereinfache einen Bruch m/n :Wenn m und n halbiert werden konnen, werden sie halbiert. Wenn nicht, legesie auf das Zahlbrett. Dann vermindere sie durch wechselseitiges Abziehen,bis Du gleiche erhaltst. Dividiere schließlich durch diese gleichen Zahlen.”Beispiel; 49/91 :

49 49 7 7 7 7 7 7

91 42 42 35 28 21 14 7

So zu lesen in der chinesischen Sammlung” neun Kapitel uber die mathema-tische Kunst” (Chin Chang Suan Shu), 206 B.C - 221 A.D, nach einer alterenSammlung, die 221 - 206 B.C, verbrannte.Aus B.L. van der Waerden “ Geometry and Algebra in Ancient Civilizati-ons”, Springer 1983.( Van der Waerden propagiert in diesem Buch die These,dass grundlegende Entdeckungen nur einmal gemacht werden, und nicht et-wa unabhangig voneinander an verschiedenen Stellen.)Euklid lebte um 300 B.C. und schrieb in Alexandria, der multikulturellenMetropole der hellenistischen Zeit. Satz 2 im Buch 7 seiner Elemente fragtnach dem ggt zweier nicht teilerfremder Zahlen:“ Seien AB, CD die beiden gegebenen, nicht teilerfremden Zahlen[ . . . ].Wenn CD nicht AB mißt, dann wird, wenn die kleinere stets von der große-ren abgezogen wird eine Zahl ubrig bleiben, die die vorangegangene mißt.”

In der “ modernen” Auffasung werden die wiederholten Subtraktionenzur “Division mit Rest“ zusammengefaßt.a(rem)b bedeutet den Rest von Abei Division durch b. Dabei nimmt man allerdings zusatzlich zur Addition dieStruktur einer Multiplikation als gegeben an. Siehe unten die axiomatischeEinfuhrung der Begriffe.

Algorithmus 4.1 (Euklidischer Algorithmus))Input: f, g ∈ R, euklidischer Ring mit Restfunktion remOutput: h = ggt(f, g) , großter gemeinsamer Teiler von f und g;

1. r0 ← f, r1 ← g

2. i← 1; while ri 6= 0 do ri+1 ← ri−1(rem)ri, i← i+ 1

3. gib ri−1 aus

Noch nutzlicher ist der erweiterte Euklidische Algorithmus,EEA, weiler den ggt(f, g) als Linearkombination von f und g liefert: ggt(f, g) = af+bg.In der folgenden Version wird der i-te Rest ri sowie die sogenannten Bezout-

7

Page 9: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Koeffizienten normalisiert, d.h. durch den “ fuhrenden Koeffizienten” lc(ri)dividiert. Im Falle von ganzen Zahlen nimmt man lc(f) = signum(f), imFalle von Polynomen in einer Variablen f = f0 + . . . + fnx

n, fn 6= 0 nimmtman lc(f) = fn.

Algorithmus 4.2 (EEA)Input : f, g ∈ R , euklidischer Ring mit Normalform nrmal;Output: l ∈ N, ρi, ri, si, ti ∈ R, 0 ≤ i ≤ l wie unten berechnet.

1. ρ0 ← lc(f), r0 ← normal(f), s0 ← r−10 , t0 ← ;

ρ1 ← lc(g), r1 ← normal(g), s1 ← 0, t1 ← ρ−11

2. i← 1While ri 6= 0doqi ← ri−1(quo)ri

ρi+1 ← lc(ri−1(rem)ri)ri+1 ← normal(ri−1(rem)ri)si−1 ← (si − qisi)/ρi+1

ti+1 ← (ti−1 − qiti)/ρi+1

i← i+ 1

3. l ← i− 1 Ausgabe: l, ρi, ri, si, ti, fur 0 ≤ i ≤ l+ 1, und qi fur 1 ≤ i ≤ l.

Man kann den EEA moglicherweise besser auffassen, wenn man ihn als Glei-chungssystem schreibt:

ρ0r0 = g ρ0s0 = 1 t0 = 0

ρ1r1 = f s1 = 0 ρ1t1 = 1

ρ2r2 = r0 − q1r1 ρ2s2 = s0 − q1s1 ρ2t2 = t0 − q1t1...

......

ρi+1ri+1 = ri−1 − qiri ρi+1si+1 = si−1 − qisi ρi+1ti+1 = ti−1 − qitiq...

......

0 = rl−1 − qlrl ρl+1sl+1 = sl−1 − qlsl ρl+1tl+1 = tl−1 − qltl

Hierbei ist ρi+1 = lc(ri−1remri), und ri+1 = normal(ri−1remri). Die Analyseder Kosten des erweiterten Euklidischen Algorithmus (EEA) sei auf einenspateren Abschnitt verschoben. Hier geht es zunachst um eine theoretischeFolgerung: die eindeutige Zerlegbarkeit in Primfaktoren:

8

Page 10: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

4.1 Teilbarkeit

Definition 4.1 Sei R eine Menge mit zwei binaren Operationen, ·, + :R ×R→ R mit folgenden Eigeschaften

1. Mit + ist R eine kommutative Gruppe mit Einheit 0.

2. · ist assoziativ

3. R hat fur · eine Einheit 1.

4. a(b+ c) = (ab) + (ac), (b+ c)a = (ba) + (ca) fur a, b, c ∈ R.

(R, ·,+) heißt dann Ring. Der Ring heißt kommutativ, wenn noch ab = bafur alle a, b ∈ R. In dieser Vorlesung sind alle Ringe kommutativ, wennnichts anderes gesagt. Eine Teilmenge I eines Ringes heißt Ideal, wenn

1. a + b ∈ R fur a, b ∈ R.

2. r · a ∈ R fura ∈ I, r ∈ R.

Die Mengen a+I heißen Restklassen modulo I und bilden den Restklas-

senring modulo I : R/I vermoge

(a+ I) + (b+ I) = a + b+ I; (a+ I)(b+ I) = ab+ I

Man sagt, das Ideal

I =< a1r1, . . . , as >= {a1 + . . . asrs|ri ∈ R}

sei von den a1, . . . as erzeugt, und nennt {a1, . . . as} eine Basis von I. Idea-le der Form < a > heißen Hauptideale. Wenn alle Ideale Hauptideale sind,heißt der Ring Hauptidealring. r ∈ R heißt Einheit, wenn es ein s ∈ Rgibt, so daß rs = 1. Die Einheiten eines Ringes R bilden eine multiplikativeGruppe, die mit R∗ bezeichnet wird. Man sagt, a, b ∈ R seien assoziiert,wenn a ∈ R∗. Assoziiertheit ist eine Aquivalenzrelation. Wenn R∗ = R\{0},heißt R Korper. a ∈ R heißt Nullteiler, wenn es b ∈ R \ {0} gibt mitab = 0. R heißt Integritatsbereich, wenn R außer 0 keine Nullteiler be-sitzt. In einem Integritatsbereich kann man kurzen: aus ab = ac a 6= 0 folgtb = c. Ist R ein Integritatsbereich, so kann man den zugehorigen Quotien-

tenkorper k = {ab|a, b ∈ R, b 6= 0} bilden. Im Falle eines Polynomrin-

ges k[x] uber einem Korper k schreibt man fur den Quotientenkorper k(x)und nennt die Elemente rationale Funktionen- in der Variablen x. Wennax = b gilt, sagt man: a teilt b und schreibt a|b. a heißt Teiler von b.a ∈ R \ ({0} ∪ R∗) heißt irreduzibel, wenn jeder Teiler von a in R∗ ∪ aR∗

9

Page 11: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

liegt. a ∈ R \ ({0} ∪ R∗) heißt prim, wenn a|bc nur gilt, falls a|b, oder a|c.Ein Ideal I heist prim, wenn ab ∈ I nur gilt, wenn a ∈ I oder b ∈ I.Ein Ideal heißt maximal, wenn fur jedes Ideal J in R mit I ⊂ J entwederI = J oder J = R. Ein Integritatsbereich R heißt faktoriell, wenn sichjedes Element a ∈ R \ {0} ∪ R∗ als Produkt von irreduziblen schreiben laßt:a = p1 . . . ps, und die pi dabei bis auf Reihenfolge und Assoziiertheit eindeutigbestimmt sind. g heißt großter gemeinsamer Teiler eine Teilmenge Mvon R, abgekurzt ggt(M), wenn g jedes Element von M teilt, und wenn g vonjedem anderen Element geteilt wird, das alle Elemente von M teilt. Sind g1

und g2 ggt’s einer Menge M, und ist R ein Integritatsbereich, so sind sie sieassoziiert, wegen g1x = g2, g2y = g1, xy = 1. Um zu einer eindeutigen ggt-Funktion zu kommen betrachtet man Funktionen normal : R → R die ausjeder Assoziiertheitsklasse ein Element normal(a) ∈ R∗ auswahlen und ausverschiedenen Klassen verschiedene Elemente. Außerdem fordert man nochMultiplikativitat: normal(ab) = normal(a)normal(b). a heißt dann norma-

lisiert, wenn a = normal(a). Man schreibt a = lu(a)normal(a) und nenntlu(a) = lc(a) fuhrende Einheit oder fuhrender Koeffizient. Ein Inte-gritatsbereich R heißt euklidischer Ring, wenn eine euklidische Funk-

tion d existiert, das ist eine Funktion d : R → N ∪ {∞} mit der folgen-den Divisionseigenschaft: zu a ∈ R, b ∈ R \ {0} existieren q, r ∈ R mita = qb+ r, d(r) < d(b). q heißt Quotient von a und b , abgekurzt aquob; rheißt Rest, abgekurzt: a(rem)b.

Beispiele 4.1 1. R = Z , die ganzen Zahlen. Seien a, b ∈ Z, b 6=0, |a| ≤ |b|. Dann gibt es genau eine ganze Zahl q mit q ≤ a

b≤ q+1. Es

gilt dann a = qb+(a−qb) = (q+1)b+a−(q+1)b, und |(q+1)b−a| < |b|,außer, wenn q = a

b, |qb − a| < |b|, außer wenn q + 1 = a

b. Man kann

also a = qb+ r mit q, r ∈ Z, |r| < |b| schreiben und dies geht auf genauzwei Weisen, außer im Fall a ∈ bZ. q ist dann ein “ganzer Nachbar”von a

b. Es ist also d(a) = |a| eine euklidische Funktion auf Z, und eine

Normalisierung zudem. Z∗ = {1,−1}.

2. Q = {ab|a, b ∈ Z} , der Quotientenkorper von Z, Korper der rationa-

len Zahlen.

3. R = C = {a + ib|, a, b ∈ R}, der Korper der komplexen Zahlen, mit(a1+ib1)(a2+ib2) = a1a2−b1b2+i(a1b2+a2b1), a+ ib = a−ib, |a+ib|2 =a2 + b2. Es ist |xy| = |x||y|, und

(a + ib)(a− ib)a2 + b2

= 1

10

Page 12: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

4. R = C ∩ Z2, der Ring der Gaussschen Zahlen. Als Teilring der kom-plexen Zahlen ist er ein Integritatsbereich. Aus |xy| = |x||y| folgtR∗ = {1,−1, i,−i}. d(x) = |x|2 ist eine euklidische Funktion: sinda, b ∈ R, so wahle man als q ∈ R einen nachsten Nachbarn von a

b.

Die maximale Entfernung zum nachsten Nachbarn wird im Mittelpunkteines Vierecks mit ganzzahligen Eckpunkten erreicht, und betragt 1

2

√2.

Darum ist a = qb+ r mit r = b(ab− q) ∈ R, |r| ≤

12|b|.

5. R = O−5 = Z + i√

5Z = {a + i√

5b|a, b ∈ Z}.(Dirichlet: Zahlentheorie(1863) Seite 451) Dieser Teilring von C ist nicht faktoriell. Zum Beweisbetrachtet man die Gleichung

(1 +√−5)(1−

√−5) = 6 = 2 · 3.

Zum Beweis, dass R nicht faktoriell ist, genugt es z.z.,dass 2, 3, 1 +√−5, 1 −

√−5 irreduzibel sind. Wir zeigen dies am Beisiel z =

1 +√−5 : Sei z = bc. Dann gilt |z|2 = 6 = |b|2|c|2. Nun ist aber

|α−β√−5|2 = α2 + 5β2 ≡ 0, 1, 4mod(5). Also ist |b|2 /∈ {2, 3}. Also ist

|b|2 = 1, oder |c|2 = 1, also ist 1+√−5 irreduzibel. Ebenso folgt die Irre-

duzibilitat der anderen drei Zahlen. Weil 4x2 = |2x|2 = |1±√−5|2 = 6

falsch ist, ist 2 irreduzibel, aber nicht prim. Es ist aber jedes r ∈ R Pro-dukt von irreduziblen, da jede absteigende Folge von Zahlen der Form|z|2 mit z ∈ R konstant wird und R∗ = {1,−1}. 6 und 2 + 2

√2 haben

keinen ggt in R. (Aufgabe)

6. R = Z[x], der Polynomring in einer Variablen x uber Z. Dies ist einIntegritatsbereich, der faktoriell ist, wie unten gezeigt wird. Er ist aberkein Hauptidealring, weil < 2, x > kein Hauptideal ist.(Aufgabe)

7. R = k[x], der Polynomring uber einem Korper k. sei f ∈ k[x], f =f0 + . . . + fnx

n, fn ∈ K \ {0}. Man setzt degf = n. Dann ist deg eineeuklidische Funktion und normal(f) = f−1

0 f eine Normalisierung. Esist R∗ = k∗.

8. Der Restklassenring Z/nZ = Zn von Z nach dem Ideal nZ der Viel-fachen von n ist offenbar genau dann ein Integritatsbereich, wenn nprim ist. Anderenfalls ist n = n1n2 mit ganzen von +1,−1 verschiede-nen Zahlen, und die ni + Z sind Nullteiler. Ein endlicher Integritatsbe-reich ist aber stets ein Korper (warum? ) und daher sind die Zn genaudann Korper, wenn n prim ist. Sei g = am + bn ggt von m,n. Wenng ∈ {+1,−1} ist, dann ist a Inverses von m modulo n. Anderenfalls istm Nullteiler in Zn. Also besteht Z∗ aus den zu n teilerfremden Rest-klassen.

11

Page 13: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Es soll nun gezeigt werden, dass euklidische Ringe faktoriell sind.

Satz 4.1 Jeder euklidische Ring ist Hauptidealring.

Beweis: Sei I Ideal, und d euklidische Funktion. Sei d0 = Min{d(x)|x ∈I \ {0}}. Es gibt dann ein b ∈ I mit d(b) = d0. Ist nun a ∈ I, so ergibt dieDivisionseigenschaft q, r ∈ R, mit a = qb + r, d(r) < d(b) = d0. Also istr = 0, und I =< b > .

Satz 4.2 Ist der Integritatsbereich R Hauptidealring, so wird jede aufstei-gende Kette I1 ⊂ I2 ⊂ . . . von Idealen Ij konstant.

Beweis: Setze I = ∪Ij .I ist Ideal, also: I =< b >, mit b ∈ Ij , also I = Ij.

Satz 4.3 In einem Hauptidealring ist jedes a ∈ R \ (R∗ ∪ {0}) Produkt vonirreduziblen.

Beweis: Sei M die Menge der b ∈ R\R∗∪{0}, die nicht Produkt irreduziblersind. Wenn nun a ∈ M ist, dann ist a = a1b1 mit einer Nichteinheit a1, undb1 ∈ M. Also ist b1 = a2b2 mit einer Nichteinheit a2 und b2 ∈ M, u.s.w.Man erhalt eine Teilerkette b1, b2, b3, . . . wo immer bi = ai+1bi+1, mit einerNichteinheit ai+1, also < bi >⊂< bi+1 >. Ware nun < bi >=< bi+1 >, so warebi+1 = biy, also aibiy = bi, also, da R Integritatsbereich ist, aiy = 1, ai ∈ R∗,was wir aber ausgeschlossen haben. Man erhalt also eine aufsteigende Kettevon Idealen, die nicht konstant wird, im Widerspruch zum vorangegangenSatz. Also ist M leer.

Satz 4.4 Sei R Integritatsbereich und p1 . . . pr = q1 . . . qs mit primen pi undirreduziblen qj . Dann ist r = s, und, nach eventuellem Umordnen: pi ∈ R∗qi.

Beweis: Es gilt p1|q2 oder p1|q2 . . . qs. Im zweiten Fall gilt p1|q2 oderp1|q3 . . . qs. Auf diese Weise fortfahrend findet man eine Relation p1|qi, alsoO.B.d.A. p1|q1, p1x = q1, und da R Integritatsbereich: p2 . . . pr = xq2 . . . qs.Weil q1 irreduzibel ist, ist x Einheit, p1 ∈ R∗, und xq2 irreduzibel. Man kannalso die Betrachtung wiederholen und erhalt nach endlich vielen Reduktions-schritten die Behauptung.

Satz 4.5 Jedes maximale Ideal ist prim.

Beweis: Sei I maximales Ideal und ab ∈ I, b /∈ I. Sei J =< I ∪ {b} > dasvon I und b erzeugte Ideal. Da b nicht Element von I ist, ist I 6= J. Da Imaximal ist, ist I = R, also 1 = x + rb, a = ax + arb, mit x ∈ I. Also ista ∈ I, (hier wird die Kommutativitat von R benutzt) und I prim.

12

Page 14: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Satz 4.6 Ist R Hauptidealring und a ∈ R irreduzibel, so ist < a > maximal,und a prim.

Beweis: Sei J ein Ideal mit < a >⊂ J. Da R Hauptidealring ist, istJ =< b >, also a = bx. Da a ireduzibel ist, ist x Einheit, also b ∈ I, d.h.J = I. Also ist < a > , nach dem vorangegangenen Satz prim, und damitauch a. (a ist genau dann prim, wenn < a > prim ist.)Aus den vorangegangenen Satzen folgt:

Theorem 4.1 Ist der Integrittsbereich R Hauptidealring, so ist er faktoriell.

Korollar 4.1 Jeder euklidische Ring ist faktoriell.

Theorem 4.2 (Gauss) Mit R ist auch R[x] faktoriell.

Der Beweis wird einfacher bei Verwendung einer Normalform:

Satz 4.7 Sei R faktoriell. Dann besitzt jede nichtleere Teilmenge M von Reinen ggt. Ferner existiert eine Normalform.

Beweis: Es sei P eine Menge von primen Elementen derart, dass P furjedes prime p genau ein Element aus pR∗ enthalt. Dann hat jedes Elementa ∈ R \ {0} die Form a = uq, wo q ein Produkt von Elementen von P ist,und u ∈ R∗. Setze normal(a) = q. Es ist leicht zu sehen, dass normal eineNormalform ist. Sei M eine nichtleere Teilmenge von R, und a ∈ R. Dannist a = up1 . . . ps. p

νi

i teile jedes r ∈M, aber pνi+1i nicht. Dann ist

pν11 . . . pνs

s

ggt von M.In der folgenden Definition sei ggt(M) immer der normalisierte .

Definition 4.2 Sei R faktoriell und f = f0 + f1x+ . . .+ fnxn ∈ R[x], fn ∈

R \ {0}. Setze contf = ggt(f0, . . . fn), und contf = ggt(f0) = normalf0 furn = 0. contf heißt Inhalt von f und f primitiv, falls contf = 1. Derprimitive Teil ppf wird durch f = contf · ppf. definiert.

Lemma 4.1 (Gauss-Lemma) Sei r faktoriell. Dann gilt

cont(fg) = (contf)(contg); pp(fg) = (ppf)(ppg)

fur alle f, g ∈ R[x].

13

Page 15: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beweis: Seien f, g ∈ R[x] primitiv und p prim. Dann ist D = R/ < p >nullteilerfrei, und D[x] auch. Nach An)nahme sind f(modp) und g(modp) 6=0, also auch fg(modp. Also ist p kein Teiler von cont(fg), also ist cont(fg) =1. Damit ergeben sich die behaupteten Gleichungen fur primitive f, g. Denallgemeinen Fall ersieht man aus der Gleichung:

fg = (contf)(contg)(ppf)(ppg)

Beweis des Theorems: Wir zeigen zunachst die Zerlegbarkeit in irreduzi-ble, und dann die Eindeutigkeit. Sei f ∈ R[x]. Schreibe f = (contf)(ppf).Da R faktoriell ist, folgt hieraus, dass es genugt, die Zerlegbarkeit fur pri-mitive f zu zeigen. Wenn aber f pimitiv, und f = gh, mit Nichteinheiteng, h ∈ R[x], dann ist nach obigem Lemma 1 = (conth)(contg), also g, h pri-mitiv, und wegen deg(gh) = degg + degh von kleinerem Grad als f . Alsobricht die Zerlegung von f nach endlich vielen Schritten mit einer Zerlegungin Irreduzible ab.Nun zur Eindeutigkeit: sei

r1 . . . rnp1 . . . pk = s1 . . . smq1 . . . ql

mit irreuziblen pri, sj ∈ R und irreduziblen primitiven pi, qj ∈ R[x]. Nachdem vorangegangenen Lemma gilt dann p1 . . . pl = q1 . . . qk. Sei K derQuotientenkorper von R. Dann sind die pi, qj auch irreduzibel in K[x]. DaK[x] euklidisch ist, ist k = l und nach umnumerieren pi = eiqi mit ei ∈ K.Hochmultiplizieren der Nenner ergibt: uipi = viqi, mit ui, vi ∈ R, und dapi, qi pimitiv sind: pi = qi. Da R faktoriell ist, folgt die Eindeutigkeit nunaus r1 . . . rn = s1 . . . sm.

4.2 Die axiomatische Methode

Zum euklidischen Algorithmus hat man auch “ Wechselwegnahme” gesagt:sind gewisse Großen a1, a2, . . . gegeben so zieht man eine , etwa a1 so oft vonden anderen ab, bis diese anderen alle kleiner als die eine, a1 sind. Dann wech-selt man zu einer dieser verkleinerten Großen und wiederholt das Spiel. DieWechselwegnahme wird in den Abschnitten uber Grobnerbasen und kurzeVektoren in Gittern wiederum eine zentrale Rolle spielen. In diesen Abschni-ten wird die Frage , was “klein” heißen soll, und wie ein Abbruchkriterium zuformulieren ist, so dass eine vertretbare Laufzeit herauskommt, entscheidendsein.Wahrscheinlich hat Euklid den nach ihm benannten Algorithmus nicht erfun-den. Es ist auch nicht erwiesen, dass er irgend einen anderen mathematischen

14

Page 16: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Sachverhalt entdeckt hat, - außer diesem: dass man alles aus wenigen An-nahmen ableiten kann, nach einigermaßen klaren Schlussweisen. NachDavid Hilbert, der nach 2000 Jahren in seinen “Grundlagen der Geometrie”ein “up date” von Euklids Elementen geschrieben hat, spricht man von der“Axiomatischen Methode.” Hilbert war der Meinung dass jede Wissenschaft,z.B. die Mechanik, fruher oder spater in ein Stadium kommt indem sie sichgemaß der axiomatischen Methode, also wie die Elemente von Euklid dar-stellt. Dabei ist unsere, von Hilbert gepragte Auffassung von Axiomen die von“ impliziten Definitionen”: man sagt z.B., Gruppen seien implizit durch dieGruppenaxiome definiert. Wahrscheinlich war diese Auffassung von Axiomenin der Antike unbekannt. Daruber, wie Euklid seine Annahmen aufgefaßt ha-ben konnte, hat sich P.Lorenzen(1984) Gedanken gemacht. Ein Beispiel furdie Wirksamkeit der axiomatischen Methode findet sich in dem Abschnitt“Symbolische Integration“.Wenn man es mit Hilfe der axiomatischen Methode einmal dahin gebrachthat, endlich viele Annahmen und Schlussweisen -fur einen Fragenkreis- her-auszupraparieren, dann kann man einen Computer Mathematik treiben las-sen. In der Tat gibt es “Automatisches Beweisen”, ein mathematisches Ge-biet, wo es darum geht, mit Hilfe des Computers neue Beweise zu finden.Siehe den Abschnitt uber Grobner - Basen.

15

Page 17: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

5 Ein probabilistischer Primtest

5.1 Das Interesse an Primzahlen

C.F.Gauss schrieb in seinen “ Disquisitiones Arithmeticae (1789):“ Problema, numeros primos a compositis dignoscendi, hosque in factoressuos primos resolvendi, ad gravissima ac utilitarissima totius arithmeticaepertinere[ . . . ] tam notum est, ut de hac re copiose loqui superfluum foret.[. . . ]Praeteraeque scientiae dignitas requirere videtur, ut omnia subsidia adsolutionem problemas tam elegantis ac celebris sedulo excolantur.”D.Hilbert (1930)” Die reine Zahlentheorie ist dasjenige Gebiet der Mathema-tik, das noch nie Anwendungen gefunden hat.”Gauss mochte den algorithmischen Nutzen von Primzahlen pi im Sinn gehabthaben, zum Zwecke des modulo pi - Rechnens mit dem chinesischen Rest-satze. Heutzutage wird die Frage nach dem praktischen Nutzen von Prim-zahlen gern mit Kryptographie beantwortet: verpackt in ihre Produkte sinddie Primzahlen geschutzte Geheimnisse, da nach heutigem Wissen die Zer-legung einer Zahl in iher Primfaktoren nicht efektiv, d.h. polynomiell zubewerkstelligen ist. Anders verhalt es sich mit der Eigenschaft, Primzahl zusein. Hier hat die Suche nach einem polynomiellen Test zunachst in den 70ger Jahren zu polynomiellen , probabilistischen Tests gefuhrt (Miller-Rabin,Solovay-Strassen). Erst 2001 erschien der sensationelle polynomielle, deter-ministische Test von Agrawal, Kayal Saxena. Sind damit die probabilisti-schen Primzahltests out? Vermutlich nicht. Aber selbst wenn deterministi-sche Primzahltests sich als genauso schnell wie die probabilistischen Testserweisen, und damit als diesen uberlegen, so bleibt doch das Konzept einesprobabilistischen Beweises als solches interessant- vielleicht mehr noch als dieFrage wie schnell sich Primzahlen erkennen lassen.(Siehe Motwani, Ragha-van (1995)) Schließlich sei noch auf die sogenannten “ challenges” hingewie-sen. Es handelt sich um gewisse große Zahlen, auf deren Faktorisierung bez.Primalitatsnachweis Preise ausgesetzt sind. Diese challenges haben zu Pio-nierleistungen im Internet- Rechnen gefuhrt; (Th.R.Caron, R.D.Silvermann(1988) Dabei wird nicht auf einem Computer gerechnet, sondern ansonstenungenutzte Rechenkapazitat beliebiger Rechner im Internet genutzt.

5.2 Der Fermat- Test

Algorithmus 5.1 Fermat-Test:Input: 3 ≤ N ungerade, ganz;Output: “ Zusammengesetzt” oder “ moglicherweise prim”

1. Wahle a ∈ {2, . . . , N − 2} zufallig, gleichverteilt;

16

Page 18: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

2. Berechne b = aN−1remN mit wiederholtem Quadrieren (siehe unten)

3. Wenn b 6= 1, gib “ zus.” aus, sonst “ mog.prim”

Algorithmus 5.2 (Wiederholtes Quadrieren)Input: a ∈ R, Ring mit 1, n ∈ N;Output: an.

1. Binare Darstellung von n : Schreibe n = 2k + nk−12k−1 + . . . n12 + n0

mit ni ∈ {0, 1}; bk ← a.

2. for i = k−1, k−2, . . . 0 do : falls ni = 1 : bi ← b2i−1a, sonst bi ← b2i−1 ←;

3. gib b0 aus.

Dieser Algorithmus ist das Bild bei j → aj der Horner -Regel:

f = f0 + f1x+ . . .+ fnxn = . . . (fk−2 + (fk−1 + fkx)x)x . . .

zur Evaluation eines Polynoms f, angewandt auf die Binardarstellung vonn, als Polynom in x = 2, mit Koeffizienten fi = ni. Daraus ergibt sich auchdie Korrektheit des Algorithmus. Er benotigt blog2nc Quadrate und nocheinmal w(n)− 1 ≤ blog2nc Multiplikationen in R. Dabei ist w(n) die Anzahlder 1 en in der Binardarstellung von n. (Hamming- Gewicht). Insgesamtbraucht er also hochstens 2log2n Multiplikatonen in R. Ein Algorithmus,der n, ausgehend von 1, nur mit Additionen (vorangegangener Resultate)berechnet, heißt Additionskette. Obiger Algorithmus ist also Bild einerAdditionskette. Die Additionsketten standen am Anfang der algebraischenKomplexitatstheorie.Es geht jetzt um die Analyse des Fermat- Testes.

Definition 5.1 Sei G endliche Gruppe, g ∈ G; die kleinste Zahl n ∈{1, 2 . . .} mit gn = 1 heißt Ordnung von g und wird mit ordg = ordGgbezeichnet. Allgemein heißt die Kardinalitat der Gruppe G ihre Ordnung:

]G = ordG. Es ist auch ordg die Ordnung der von g erzeugten Untergruppein G. Die Funktion ϕ, die durch ϕ(N) = ]Z∗

n definiert wird, heißt Euler-

Funktion. Ist N prim, so ist ϕN = N − 1. Ist N = pe Primzahlpotenz, soist ϕ(N) = pe−1(p − 1). Ist H Untergruppe von G, so heißen die MengengH = {gh|h ∈ H} Rechtsnebenklassen von H.

Die Rechtsnebenklassen haben alle gleich viele Elemente, wie aus der Bijek-tion x → g2g

−11 : g1H → g2H hervorgeht, und verschiedene Nebenklassen

sind disjunkt, denn aus x = g1h1 = g2h2 folgt g2 = g1h1h−12 , und damit

g1H = g2H. Also gilt

17

Page 19: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Satz 5.1 (Lagrange)

]G = ]H · ]{gH|g ∈ G}

Korollar 5.1 (Euler)

aϕ(N) ≡ 1(modN) falls ggt(a, n) = 1

Korollar 5.2 (Fermat)

aN−1 ≡ 1(modN) falls ggt(a,N) = 1, N prim

Wenn also aN−1 6≡ 1, dann gibt der Fermat- Test korrekterweise “ zus. “ aus.Wir betrachten jetzt die Zahlen, deren Zusammengesetztheit der Fermat-Test nicht erkennen kann.

Definition 5.2 Sei λ(N) kleinste naturliche Zahl λ, fur die

xλ = 1, x ∈ Z∗N

Λ heißt Carmichel-Funktion. N heißt Carmichel-Zahl(C.Z.), wenn Nzusammengesetzt ist, und λ(N)|N − 1. Wir bezeichnen mit

EN−1 = {a ∈ Z∗N |aN−1 = 1}

die N − 1− ten Einheitswurzeln in Z∗N .

Beispiele 5.1 Die ersten drei C.Z. sind

561 = 3 · 11 · 17, 1105 = 5 · 13 · 17, 1729 = 7 · 13 · 19.

Es wurde erst 1994 gezeigt, von Alford, Granville, Pomerance, dass es un-endlich viele C.Z. gibt.

Satz 5.2 Aquivalent sind:

1. N ist C.Z.

2. EN−1 = Z∗N ;

3. N = p1p1p2 . . . pk, k ≥ 3, pi − 1|N − 1, pi paarweise verschieden,ungerade, prim.

18

Page 20: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beweis: Es sei

N = pe11 . . . pek

k

Die Zerlegung von N mit paarweise verschiedenen primen pi. Aus dem chi-nesischen Restsatz(CRS) folgt

Z∗N = Z∗

pe11× . . .Z∗

pekk

Fur die Euler -Funktion ϕ gilt

ϕ(pei

i ) = ord(Z∗p

eii

) = pei−1i (pi − 1)

Wenn nun al = 1 fur alle a ∈ Z∗N dann gilt al ≡ 1(modpei

i ), und daherl| pei−1

i (pi − 1). Hieraus folgt, dass

λ(N) = kgv(pei−1i (pi − 1))

Wenn N C.Z., dann folgt zunachst EN−1 = Z∗N . Sodann: ei = 1, denn sonst

galte pi|N−1, pi|N, was unmoglich ist, weil 1 nicht Vielfaches von pi ist. Fer-ner ist pi ungerade, denn sonst ware N gerade, N−1 ungerade, pi−1 gerade,aber pi−1|N −1. Also sind die pi ungerade. Schließlich ist k ≥ 3, denn sonstware N = p1p2 mit p1 < p2, und P2−1|N−1 = p1p2−1 = (p2−1)p1 +p1−1,, d.h. p2 − 1|p1 − 1, was unmoglich ist. Damit ist die Aquivalenz der dreiAussagen klar.

Satz 5.3 Sei N keine Carmichelzahl. Wenn N prim ist, gibt der Fermat-Test “moglicherweise prim“ aus. Wenn N zusammengesetzt ist, gibt er mitWahrscheinlichkeit ≥ 1

2“ zus.” aus . Er benotigt O(log2N ·M(log2N)) Wor-

toperationen.

Beweis: Sei N prim. Dann ist ggt(a,N) = 1. Nach Fermat gibt der Alg.“ mog. prim” aus. Ist ggt(a,N) > 1 so gibt der Alg. “ zus.” aus. Sei alsoggt(a,N) = 1, und N zusammengesetzt, aber keine C.Z..Die N − 1 tenEinheitswurzeln modulo N bilden dann eine echte Untergruppe

EN = {a ∈ Z∗N |aN−1 = 1}

von Z∗N . Nach Lagrange ist daher

](Z∗N \ EN)

]Z∗N

≥ 1

2

19

Page 21: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Also gibt der Alg. mit WS ≥ 12

“ zus.” aus.Der folgende Algorithmus wahlt zufallig und gleichverteilt

a ∈ {2, . . .N − 2}

bei N−1 = 2km, m ungerade. Wenn N C.Z. findet er ein l ∈ {0, 1, . . . k−1},so dass fur mindestens die Halfte aller a der g = ggt(a2lm + 1, N) ein echterTeiler von N ist. Dies ergibt sich aus dem folgenden Lemma:

Lemma 5.1 Sei N C.Z., P die Menge der Primteiler von N, N − 1 =2km, m ungerade. Es gibt ein l ∈ {0, . . . k − 1}, so dass fur mindestensdie Halfte aller a ∈ Z∗

N : g = ggt(a2l

+ 1, N) echter Teiler von N ist.

Beweis: Weil N C.Z. ist, gilt fur alle a ∈ Z∗N : a2k

= 1. Es gibt aber einb ∈ Z∗

N mit bm 6= 1, denn sonst galte λ(N)|m, was unmoglich ist, da λ(N)gerade, aber m ungerade. Aso gibt es ein l ∈ {0, . . . , k − 1} so dass fur allea ∈ Z∗

N : a2l+1m = 1, aber fur ein b : b2lm 6= 1. Nach C.R.S. gibt es ein

p ∈ P mit b 6≡ 1(modp). Wiederum mit dem C.R.S erhalt man c ∈ ZN

mit c ≡ b(modp), c ≡ 1(modN/p). Es ist dann sogar c ∈ Z∗N . Ferner ist

c2lm ≡ ±1(modp) fur alle p ∈ P, da das Quadrat dieser Zahl 1 ist in Zp und

dies ein Korper ist. Schließlich ist p → c2l

(rem)p nicht konstant. Da aberdie c′s mit konstanter Funktion p → c2

lm(rem)p eine Untergruppe von Z∗N

bilden, machen die restlichen nach Lagrange mindestens die Halfte von Z∗N

aus. Fur ein solches c ist aber

g = ggt(c2lm + 1, N) =∏

{p ∈ P | p|c2lm + 1}

ein echter Teiler von N. q.e.d.

Algorithmus 5.3 (Fermat- Pseudo- Primtest)Input: N ≥ 3, ganz, ungerade;Output: “ zus” oder “wahr.prim” oder g , ein echter Faktor von N.

1. Wahle a ∈ {2, . . .N − 2} zufallig, gleichverteilt;

2. g ← ggt(a,N); falls 1 < g gib g aus;

3. Schreibe N − 1 = 2km mit ungeradem k und berechne b0 = amremN,mit wiederholtem Quadrieren. wenn b0 = 1 gib “ wahr. prim “ aus.

4. for 1 ≤ i ≤ k do bi ← b2i−1remN ;

5. wenn bk = 1, dann j ← min{0 ≤ i < |bi+k = 1}; sonst gib “ zus.” aus.

20

Page 22: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

6. g ← ggt(bj+1, N) ; Wenn g = 1, oder g = N, gib “ wahrsch. prim” aus;sonst : g.

Satz 5.4 Wenn N prim ist, gibt der Alg. “ wahrsch. prim” aus. Wenn Nzusammengesetzt, aber keine Carmichel- Zahl ist, gibt der Alg. “ zus. “ mitWahrsch. ≥ 1

2aus; Wenn N C.Z. ist, gibt der Alg. mit Wahrscheinlichkeit

≥ 12

einen echten Teiler von N aus. Der Alg. benotigt O(logN ·M(logN))Wortoperationen.

Beweis: Sei N zusammengesetzt, und keine C.Z. Dann ist die WS einesFermat- Zeugen

](Z∗N \ EN )

]Z∗N

≥ 1

2.

Es wird also mit WS ≥ 11

entweder in Schritt 2. ein Faktor von N gefunden ,

oder in Schritt 5. wegen 1 6= bk = aN−1 = a2km(modN) “ zus. “ ausgegeben.Sei nun N prim. Dann ist bk = 1. Wenn b0 = 1, wird im dritten Schritt”wahrsch. prim “ ausgegeben. Sonst gibt es j mit bj+1 = b2j = 1 ∈ Z∗

N . DaZ∗

N Korper ist, hat x2 − 1 = 0 in ZN genau zwei Losungen: ±1. Da bj 6= 1,ist bj + 1 = N, also g = N im Schritt 6. und es wird “ wahrsch. prim “ausgegeben.Man kann den Pseudo-Primzahl-Test benutzen, um “ Pseudo-Primzahlen”mit gewissen Zusatzeigenschaften zu erzeugen:

Algorithmus 5.4 (Pseudo-Primzahlen)Input: naturliche Zahlen B, k;Output: eine Pseudo- Primzahl p.

1. wahle zufallig gleichverteilt p ∈ {B,B + 1, . . . 2B};

2. Fuhre den Pseudo-Primzahl-Test fur p k mal durch; falls jedesmal“wahrsch. prim“ ausgegeben wird, gib p aus; sonst goto 1.

Fur die Analyse dieses Algorithmus benotigt man den beruhmte Primzahl-satz. Gauss schrieb 1849, er habe den Sachverhalt schon 1792 (unter zu Hilfe-nahme von Tabellen) gefunden. Bewiesen wurde er erst 1896 von de la ValleePoussin und unabhangig Hadamard.(siehe z.B.Bundschuh: Einfuhrung in dieZahlentheorie, 2te Auflage Springer 1992)

Satz 5.5 (Primzahlsatz) Sei

π(x) = ]{p ∈ N, p ≤ x, p prim}

21

Page 23: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Dann gilt

x

lnx(1 +

1

2lnx) < π(x) <

1

lnx(1 +

3

2lnx); x ≥ 59

Satz 5.6 Der Algorithmus “ Pseudo-Primzahl” gibt mit Wahrscheinlichkeit≥ 1 − 2−k+1lnB eine Primzahl aus. Er benotigt eine erwartete Anzahl vonO(k(log2B)M(logB)) Wortoperationen.

Beweis: Sei P die Menge der Primzahlen zwischen B und 2B. Nach Prim-zahlsatz gilt:

]P = π(2B)− π(B) ≥ B

lnB(1− 3

lnB) ≥ B

2lnB

falls lnB ≥ 6. Also ist eine zufallig gewahlte Zahl in {B + 1, . . . , 2B} primmit Wahrscheinlichkeit

]P

B≥ 1

2lnB.

Es bezeichne Z das Ereignis, dass die zufallig gewahlte Zahl zusammengesetztist, und T das Ereignis, dass alle k Tests die Ausgabe “ wahrsch. prim”produziert haben. MitWSBA bezeichnen wir die bedingte Wahrscheinlichkeitvon A unter der Bedingung B. Es gilt dann

(2lnB)−1WSTZ ≥ WS(pprim)WSTZ ≥WS(Z ∩ T )

= WS(Z)WSZT ≥WSZ(T ) ≥ 2−k

Hieraus ergibt sich die Wahrscheinlichkeitsabschatzung. Auf Grund derAbschatzung fur ]P erwartet man hochstens 2lnB Wahlen. Bei jeder Wahlentstehen nach dem vorangegangenen Satz O(klog2BM(logB)) Wortopera-tionen. Daraus folgt die Behauptung.

5.3 Primes is in P

So der Titel des Artikels vonM. Agrawal, N. Kayal, N. Saxena, in welchemzum ersten mal ein polynomieller, deterministischer Primzahltest vorgestelltwird. Zunachst die Idee:

Lemma 5.2 Seien a, p ∈ N, ggt(a, p) = 1. p ist genau dann prim, wenn

(x− a)p ≡ (xp − a)(modp)

22

Page 24: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beweis: Wegen

(x− a)p =∑

0≤i≤p

(−1)i

(

p

i

)

ap−i,

(

p

i

)

≡ 0(modp)

gilt die Kongruenz fur alle Primzahlen p. Wenn aber q ein Primfaktor vonp 6= q ist und qk|p, dann ist qk kein Teiler von

(

pq

)

, und teilerfremd zu ap−q.

Also ist der Koeffizient von xq in (x − a)p kein Vielfaches von p, d.h. dieKongruenz gilt nicht.Diese Identitat fuhrt jedoch noch nicht unmittelbar zu einem Test, der poly-nomiell in logp ist, weil das Polynom (x− a)p genau p+ 1 Koeffizienten hat.Der Algorithmus konstruiert eine “ geeignete” Primzahl r = O(log6p) undpruft dann fur kleine a(O(

√rlogp)) :

(x− a)p ≡ xp − a(modxr − 1, p)

Algorithmus 5.5 (AKS-Test)Input: 1 < n ∈ N;Output: zus., falls n zusammengesetzt; prim, falls n prim.

1. gib zus. aus, falls n = ab mit a, b ∈ N, 1 < b.

2. r ← 2.

3. while r < n

4. wenn ggt(n, r) 6= 1 gib zus. aus;

5. wenn r prim ist

6. sei q der großte Primfaktor von r − 1;

7. wenn (q ≥ 4√rlogn) und (n

r−1q 6≡ 1(modr)

8. stop

9. r ← r + 1

10. fur 1 ≤ a ≤ 2√rlogn

11. wenn (x− a)n 6≡ (xn − a)(modxr − 1, n) gib zus. aus

12. gib prim aus.

23

Page 25: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

6 Grobner Basen

6.1 Buchbergers Algorithmus

In diesem Abschnitt wird zunachst die bekannte Division mit Rest in Q[x]verallgemeinert, und zwar zu einer Division mit Rest in Q[x1, . . . xn] bezuglichvorgegebener Divisoren f1, . . . fs, und einer vorgegebenen Ordnung auf derMenge der Monome in den x1, . . . xn. Dann wird der euklidische Algorith-mus verallgemeinert zum Buchberger -Algorithmus. Berechnet der euklidi-sche Algorithmus aus Erzeugenden f1, . . . fn eines Ideals I ⊂ Q[x] eing = ggt(f1, . . . fs) mit der Eigenschaft, dass

f ∈ I,⇔ fremg = 0,

so berechnet der Buchberger Algorithmus zu vorgegebenen Polynomenf1, . . . fs ∈ Q[x1, . . . xn] eine endliche Menge G von Polynomen so dass gilt

f ∈ (f1, . . . fs)⇔ fremG = 0

dabei ist fremG der vom Divisionsalgorithmus berechnete Rest. Einsolches G heißt Grobner - Basis. Der Buchberger - Algorithmus hat vieleAnwendungen, theoretische wie praktische. Man wird jedoch feststellen, dassder Buchberger - Algoithmus schon bei wenigen Variablen “absturzt”. In derTat hat Mayr 1989 bewiesen, dass jeder Algorithmus, der Grobner - Basenberechnet exponentiell viel Speicherplatz benotigt. Empfohlene Lekture:Cox et al (1997)

Definition 6.1 Eine Relation ≺ auf einer Menge S heißt partielle Ord-

nung, wenn gilt

1. nicht α ≺ α

2. α ≺ β ≺ γ ⇒ α ≺ γ (α, β, γ ∈ S).

Eine partielle Ordnung heißt total, wenn

α = β oder α ≺ βoder β ≺ α.

Eine partielle Ordnung heißt Wohlordnung, wenn jede nichtleere TeilmengeT ein kleinstes Element besitzt, d.h. ein Element α, so dass fur kein β ∈ T :β ≺ α. Wir schreiben α � β fur (α = β oder α ≺ β), und α � β fur(β ≺ α), sowie α � β fur (β � α). Fur α = (α1, . . . , αn) ∈ Nn setzt man

xα = xα11 x

α22 . . . xαn

n

Eine partielle Ordnung ≺ auf Nn heißt monomiale Ordnung,falls

24

Page 26: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

1. ≺ total;

2. α ≺ β → α + γ <≺ β + γ ;

3. ≺ ist Wohlordnung

Beispiele 6.1 1. “lexikographisch”:α ≺lex β ⇔ der erste von Null ver-schiedene Eintrag von α− β ist negativ

2. “gradiert lexikographisch”: α ≺grlex β ⇔ (∑

αi <∑

βi) oder (∑

αi =∑

β1 und α ≺lex β)

3. “ gradiert umgekehrt lexikographisch”: α ≺grevlex β ⇔ (∑

αi <∑

βi)oder

αi =∑

βi und der letzte von Null verschiedene Eintrag vonα− β ist positiv.

Sei nun ≺ monomiale Ordnung und

f =∑

α∈Nn

cαxα; cα ∈ F

1. Die cαxα ca 6= 0, heißen Terme

’von f.

2. mdeg(f) = max≺{α ∈ Nn; cα 6= 0} heißt Multigrad von f bez. ≺ .

3. lc(f) = cmdeg(f) ∈ F \ {0} heißt Leitkoeffizient von f ;

4. lm(f) = xmdeg(f) ∈ R heißt Leitmonom von f ;

5. lt(f) = lc(f)lm(f) ∈ R heißt Leitterm von f.

Ein Ideal I ⊂ R = F [x1, . . . , xn] heißt monomial, wenn es von Monomenerzeugt wird; es gibt dann A ⊂ Nn, so dass I =< xA >=< {xα|α ∈ A} > .

Es sei nun eine monomiale Ordnung ≺ gegeben. Der Beweis des folgendenLemmas sei dem Leser uberlassen.

Lemma 6.1 1. mdeg(fg) = mdeg(f) +mdeg(g);

2. mdeg(f + g) ≤ max(mdeg(f), mdeg(g)) mit = falls mdeg(f) 6=mdeg(g).

Lemma 6.2 Sei I =< xA > monomiales Ideal, β ∈ Nn Dann gilt

xβ ∈ I ⇔ ∃α ∈ A : xα|xβ

25

Page 27: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Zum Beweis schreibt man:

xβ =∑

i

qixαi = xβjxαj

Lemma 6.3 Ist I ein monomiales Ideal und f ∈ R, so sind die folgendenAussagen aquivalent:

1. f ∈ I;2. Jeder Term von f liegt in I.

3. f ist Linearkombination uber F von Monomen in I.

Der Beweis sei dem Leser uberlassen.

Korollar 6.1 Zwei monomiale Ideale sind genau dann gleich, wenn sie diegleichen Monome enthalten.

Theorem 6.1 (Dixons Lemma) Jedes monomiale Ideal wird von einer end-lichen Menge von Monomen erzeugt: fur jedes A ⊂ Nn gibt es ein endlichesB ⊂ A mit < xA >=< xB > .

Zum Beweis bemerkt man, dass

xα|xβ ⇔ α ≤ β

wenn dabei α ≤ β komponentenweise definiert ist:

α ≤ β ⇔ ∀i : αi ≤ βi

Definiert man nun eine partielle Ordnung < auf Nn durch α < β ⇔ α ≤β (und nicht α = β) so gilt - und das beweist das Theorem-

Lemma 6.4 Sei A ⊂ Nn, und B die Menge der minimalen Elemente von A.Dann ist B endlich, und zu jedem α ∈ A gibt es ein β ∈ B mit β ≤ α.

Beweis: O.B.d.A.: A 6= ∅. Jede absteigende Folge in A wird konstant, da Nmit der ublichen Ordnung wohlgeordnet ist,- und zwar mit einem minimalenElement von A. Es bleibt zu zeigen, dass B endlich ist. Wenn n = 1, ist dieEndlichkeit klar. Sie sei nun schon bis n− 1 bewiesen. Setze π(α1, . . . αn) =(α1, . . . αn−1). Dann ist die Menge C der minimalen Elemente von π(A) end-lich. Sei β ∈ B, β = (β1, . . . βn−1, βn). Es gibt dann γ = (γ1, . . . , γn−1) ∈ Cmit γ ≤ π(β). Fur jedes γ = (γ1, . . . , γn−1) ∈ C gibt es aber ein cn(γ) ∈ N,so dass (γ1, . . . , γn−1, cn(γ)) ∈ A. Die Menge dieser cn(γ) ist endlich, da Ces ist, und besitzt daher eine obere Schranke s. Es gilt nun βn ≤ s, dennanderenfalls ware (γ1, . . . , γn−1, cn(γ)) ≤ (γ1, . . . γn−1, s) < (β1, . . . , βn), imWiderspruch zur Minimalitat von β. Dies bedeutet aber, dass die n− tenKomponenten von B beschrankt sind. Mit Umnumerieren folgt, dass alleKomponenten von B beschrankt sind. Also ist B beschrankt, also endlich.

26

Page 28: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Algorithmus 6.1 (≺ − Division mit Rest)Input: f, f1, . . . , fs ∈ R \ {0}, R = F [x1, . . . , xn], F Korper.Output: q1, . . . , qs, r ∈ R, mit f = q1f1 + . . . + qsfs + r, so dass keines derlt(f1), . . . lt(fs) eines der Monome in r teilt.

1. r ← 0, p← f ;for i = 1 . . . s do qi ← o;

2. While p 6= 0 do

3. Wenn lt(fi)|lt(p) fur ein i ∈ {1, . . . , s}, wahle ein solches i ;

qi ← qi +lt(p)

lt(fi); p← p− lt(p)

lt(fi)

sonst r ← r + lt(p); p← p− lt(p).

4. gib q1, . . . qs, r aus.

Jedesmal, wenn im Algorithmus 3. durchlaufen wird, gilt

f = p+ q1f1 + . . .+ qsfs + r.

Ferner wird mdeg(p) vermindert, falls noch nicht p = 0 ist. Also halt derAlgorithmus mit p = 0. Ferner wird in 3. zu r allenfalls ein Term addiert, derdurch keines der lt(fi) teilbar ist. Also ist t am Ende durch keines der lt(fi)teilbar:

Satz 6.1 Der Divisionsalgorithmus arbeitet korrekt.

Korollar 6.2 Sei I ⊂ R = F [x1, . . . , xn] ein Ideal, G ⊂ I endlich und< lt(G) >=< lt(I) > . Dann gilt I =< G > .

Beweis: Division von f ∈ I mit Rest ergibt : f = f1g1 + . . . fkgk +r, mit gj ∈G, fj ∈ R, r ∈ I, lt(g) - lt(r) (g ∈ G). Weil r in I liegt, ist lt(r) =

rilt(gi),weswhalb lt(r) = xαlt(gj), also lt(r) = 0.

Korollar 6.3 (Aufsteigende Idealketten) Jede aufsteigende Kette von Idea-len in R : I1 ⊂ I2 ⊂ . . . wird konstant: es gibt ein j so dass Ij = Ij+1 =. . . = I.

Korollar 6.4 (Hilberts Basissatz (1890)) Jedes Ideal I ⊂ R =F [x1, . . . , xn] ist endlich erzeugt. Genauer: es gibt ein endliches G ⊂ I, sodass < lt(G) >=< lt(I) >, und I =< G > .

27

Page 29: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Definition 6.2 Sei ≺ monomiale Ordnung, I ⊂ R ein Ideal, und G ⊂I.G heißt Grobner Basis von I bezuglich ≺ , wenn G endlich ist, und< lt(G) >=< lt(I) > .

Korollar 6.5 Jedes Ideal in F [x1, . . . , xn] besitzt eine Grobner Basis.

Lemma 6.5 Sei G eine Grobner Basis, I ⊂ R Ideal, f ∈ R. Dann existiertgenau ein r ∈ R mit

1. f − r ∈ R

2. keines der Monome in lt(G) teilt einen Term von r.

Beweis: Division mit Rest ergibt die Existenz von r. Es sei f = h1 + r1 =h2 +r2, also h1−h2 = r2−r1 ∈ I. Also ist lt(r1−r2) ∈< lt(I) >=< lt(G) > .Also ist (fruheres Lemma) lt(r1 − r2) teilbar durch ein lt(g) mit g ∈ G. Aus(2) folgt dann : r1 − r2 = 0.Notation:

r = fremG

Korollar 6.6 (f ∈ I - Test) Sei G Grobner- Basis des Ideals I ⊂ R, undf ∈ R. Dann gilt

f ∈ I ⇔ fremG = 0.

Wir steuern jetzt die Berechnung von Grobner Basen an.

Definition 6.3 Seien

g, h ∈ R \ {0}, mdeg(g) =α = (α1, . . . , αn);

mdeg(h) =β = (β1, . . . , bn),

γ = (max(α1, β1), . . . , max(αn, βn))

Dann wird das S- Polynom S(g, h) von g, h definiert durch

S(g, h) =xγ

lt(g)g − xγ

lt(h)h

Lemma 6.6 Seien g1, . . . gs ∈ R; α1, . . . αs ∈ Nn; c1, . . . , cs ∈ F \ {0},

f =∑

i

cixαigi ∈ R

28

Page 30: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

δ ∈ Nn, αi + mdeg(gi) = δ, (1 ≤ i ≤ s), mdeg(f) ≺ δ; xγij =kgv(lmgi, lmgj). Dann gibt es cij ∈ F so dass

f =∑

1≤i<j≤s

cijxδ−γijs(gi, gj)

und

mdegxδ−γijS(gi, gj) ≺ δ; (1 ≤ i < j ≤ s)

Der Beweis mit Induktion nach s sei dem Leser uberlassen. Wir betrachtender Einfachheit halber den Fall s = 2 : f = c1x

α1g1 + c2xα2g2, δ = α1 +

mdegg1 = α2 +mdegg2; mdegf ≺ δ. O.B.d.A kann noch lc(g1) = lc(g2) = 1vorrausgesetzt werden. Sei

S(g1, g2) =xγ

lt(g1)g1 −

ltg2

g2; g = f − xδ−γS(g1, g2)

Dann gilt:

g = c1xα1g1 + c2x

α2g2 − c1xδ−γ(xγ

lt(g1)g1 −

lt(g2)g2)

= c1(xα1 − xα1)g1 + (c2 + c1)x

α2g2

Wegen mdeg(g) � max((mdeg(f), mdeg(xδ−γ(S(g1, g2)) ≺ δ ist c2 + c1 = 0.q.e.d.

Theorem 6.2 (S- Test) Sei G = {g1, . . . , gs} ⊂ R. Dann gilt

G Grobner- Basis ⇔ S(gi, gj)remG = 0

Beweis: “⇐′′ gilt trivialerweise.“⇒′′ : sei f ∈< G > . Unter allen Darstellungen

f =∑

i

qigi

sei eine gewahlt, fur die δ = max≺{mdeg(qigi)} minimal ist. Das geht, weil≺ eine Wohlordnung ist. Wenn mdeg(f) = δ, dann ist lm(f) = lmqjgj, alsolt(f) ∈< lt(G) > .Angenommen: mdeg(f) ≺ δ, und f ∗ =

lt(qi)gi. ⇒

mdeg(f ∗) ≺ max{mdeg(lt(qigi)}

29

Page 31: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Aus dem vorangegangenen Lemma folgt nun

f ∗ =∑

cijxαijS(gi, gj); δij = mdeg(xαijS(gi, gj)) ≺ δ

Division mit Rest durch G ergibt

f ∗ =∑

q∗i gi mit mdeg(q∗i gi) � maxδij ≺ δ

Also ist

f − f ∗ =∑

(qi − lt(qi))gi; mdeg(qi − lt(qi)) ≺ mdeg(qigi) � δ

Schließlich ist

f =∑

(qi − lt(qi) + q∗i )gi, und

max{mdeg(qi − ltqi + q∗i )gi} ≺ δ

Widerspruch.q.e.d.Dieser Satz enthalt im wesentlichen schon die Korrektheit des folgenden Al-gorithmus zur Berechnung von Grobner - Basen.

Algorithmus 6.2 (Buchberger)Input : f1, . . . fs ∈ R, monomiale Ordnung ≺;Output: Grobner- Basis G ⊂ R fur I =< f1, . . . , fs > mit fi ∈ G.

1. G← {f1, . . . , fs}2. Wiederhole

3. S ← ∅ordne die Elemente von G als g1, . . . gt;for 1 ≤ i < j ≤ t do

4. r ← S(gi, gj)rem(gi, . . . , gt)if r 6= 0, then S ← S ∪ {r}

5. if S = ∅, gib G aus, sonst G← G ∪ S.Korrektheit: Angenommen, der Algorithmus halt; dann ist die Aus-gabe G, da sie {f1, . . . , fs} enthalt, nach dem obigen Theorem eineGrobner - Basis. Um zu zeigen, dass der Algorithmus halt, betrachtenwir die Folge G1 ⊂ G2 ⊂ . . . der Basen, die in 5. entstehen. Es giltdann : < lt(G1) >⊂< lt(G2) >⊂ . . . Diese Folge wird konstant nachDixons Lemma : < lt(Gi) >=< lt(Gi+1) >= . . . . Ist dann f, g ∈ Gi

und r = S(f, g)remGi, so ist r ∈ Gi+1, also lt(r) ∈< lt(Gi) >, alsolt(r) = 0, r = 0, S(f, g) ∈ Gi = Gi+1. q.e.d.

30

Page 32: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beispiele 6.2

f1 = x3 − 2xy; f2 = x2y − 2y2 + x ∈ Q[x, y], ≺=≺grlex; y ≺ x

S(f1, f2) =x3y

x3f1 −

x3y

x2yf2 = −x2 = f3

S(f1, f3) = 1f1 − (−x)f3 = −2xy = f4

S(f1, f4) = yf1 − (−1

2x2)f4 = yf4

S(f2, f3) = 1f2 − (−y)f3 = −2y2 + x = f5

S(f1, f5) = 2xy − 2x2y2 = −f4 + 2y2f2

S(f2, f4) = −2y2 − x = f5; S(f2, f5) = −y2 + x+ xy3 = f5 −1

2y2f4

S(f3, f4) = 0;S(f3f5) = −xy2 = −yf4

S(f4, f5) = −4y3 = 2yf2 + f4 +1

2f 2

4

{f1, f2, f3, f4, f5}Grobner− Basis von < f1, f2 >

Unter zusatzlichen Bedingungen existiert - zu vorgegebener Ordnung≺ genaueine Grobner Basis G . Zunachst kann man namlich uberflussige Elementeweglassen auf Grund des folgenden Lemmas

Lemma 6.7 Ist G G.B. von I ⊂ R, g ∈ G, und lt(g) ∈< lt(G \ {g} >, soist G \ {g} G.B.von I.

Um zu zeigen, dass G\{g} G.B. von < G > ist, hat man ja nur zu zeigen, dasslt(G) ⊂< lt(G \ {g} >, d.h. lt(g) ∈< lt(G \ {g} >, was aber Vorraussetzungist.

31

Page 33: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Definition 6.4 G ⊂ R heißt minimale Grobner Basis, wenn fur alle g ∈G : lc(g) = 1, und lt(g) /∈< lt(G ⊂ {g} > . Ein Element g einer G.B. Gheißt reduziert bezuglich G, wenn kein Monom von g in < lt(G \ {g}) >vorkommt. Eine minimale G.B. G heißt reduziert, wenn alle ihre Elementebez. G reduziert sind.

Theorem 6.3 (Reduktion)Jedes Ideal in F [x1, . . . , xn] besitzt genau eine reduzierte G.B..(≺ vorgege-ben.)

Beweis:Existenz: Sei I ⊂ R ein Ideal. Wir wissen, dass eine G.B fur I existiert.(Siekann nach Buchberger berechnet werden.) Auf Grund des obigen Lemmaskann sogar angenommen werden, dass G minimal ist - man lasse eventuelluberflussige Elemente weg, und teile durch lc(g). Sei also G = {g1, . . . , gs}minimale G.B.. Definiere induktiv

h1 = g1rem{g2, . . . , gs} ; G1 = {g1, . . . , gs}hi = girem{h1, . . . , hi−1, gi+1, . . . , gs} ; Gi = {h1, . . . , hi, gi+1, . . . , gs}

Mit Induktion nach i kann man nun zeigen, dass lt(hj) = lt(gj), dass die Gj

minimale G.B.’s sind, und die h1, . . . , hj reduziert sind bezuglich Gj . Fur j =s erhalt man damit die Existenz einer reduzierten G.B. Der Induktionsanfangsei dem Leser uberlassen. Beim Schritt von i auf i+ 1 hat man den Rest

gi+1 =i

j=1

qjhj +s

j=i+2

qjgj + hi+1

Aus der Definition des Restes folgt, dass lt(hi+1) unter den Monomen vongi+1 vorkommt. Weil G minimal ist, und lt(hj) = lt(gj) (1 ≤ j ≤ i), kommtaber auch lt(gi+1) unter den Monomen von hi+1 vor. Also ist lt(gi+1) =lt(hi+1). Also ist lt(G) = lt(Gi+1), und Gi+1 minimale G.B..Sei nun 1 ≤j ≤ i + 1. Dann ist hj reduziert bez. Gi+1. Fur j ≤ i folgt dies aus derInduktionsannahme und fur j = i+ 1 aus der Definition eines Restes.Eindeutigkeit: Seien G,G∗ reduzierte G.B.’s. Wir zeigen zunachst lt(G) =lt(G∗). Sei dazu g ∈ G. Dann ist lt(g) ∈< lt(G∗ >, und deswegen gibt esein g∗ ∈ G∗ mit lt(g∗)|lt(g). Mit dem gleichen Argument erhalt man aberauch ein h ∈ G mit lt(h)|lt(g∗). Dies bedeutet aber lt(h)|lt(g). Ware nunh 6= g , so ware lt(h) ∈< lt(G \ {g}) > im Widerspruch zur Minimalitat vonG. Also ist g = h und lt(g) = lt(h) = lt(g∗) ∈< lt(G∗) > . Dies bedeutetlt(G) ⊂ lt(G∗), und lt(G) = lt(G∗).

32

Page 34: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Nun folgtG = G∗ : Sei namlich g ∈ G.Dann gibt es g∗inG∗ mit lt(g) = lt(g∗).Ware g−g∗ 6= 0, so gabe es ein Monom m in g−g∗. Dieses Monom kame etwain g vor, ware aber nicht durch lt(g) teilbar, da lt(g) = lt(g∗). Da G reduziertist, ware m durch kein lt(h); h ∈ G \ {g} teilbar. Also m /∈< lt(G) >= I.Andererseits ist aber g−g∗ ∈ I, und daher lt(g−g∗) ∈< lt(I) >=< lt(G) > .Also ist g − g∗ = 0, was G ⊂ G∗ bedeutet und per Rollentausch G = G∗.

6.2 Automatisches Beweisen

Als Anwendung soll der folgende Satz der Euklidischen Dreieckslehre mitBuchbergers Algorithmus bewiesen werden:

Satz 6.2 Die drei Seitenhalbierenden eines Dreiecks schneiden sich in einemPunkt S, genannt Schwerpunkt, und dieser teilt die Seitenhalbierenden imVerhaltnis 1 : 3.

Zunachst wird der Satz “algebraisiert”. Da er invariant ist gegenuber Trans-lation, Rotation und Skalierung, kann angenommen werden, dass A =(0, 0), B = (1, 0) , C = (x, y) die Ecken des Dreiecks sind, und daher dieMittelpunkte der Seiten

AB : R = (1

2, 0); BC : p = (

x+ 1

2,1

2); AC : Q =

x

2,y

2)

Sei s = (u, v) der Schnittpunkt von AP und BQ. Dann gilt: ( S liegt aufAP )⇔ (AS und AP haben gleiche Steigung ) ⇔

u

v=x+ 1

y; f1 = uv − v(x− 2) = 0

Analog gilt (S liegt auf BQ) ⇔ (f2 = (u − 1)y − v(x − 2) = 0, ) und ( Sliegt auf BC)⇔ (g1 = y(2u− 1)− v(2x− 1) = 2uy − 2xv − y + v = 0.) DieBehauptung uber die Dreiteilung ist die folgende

(u, v) = AS = 2SP = (x+ 1− 2u, y − 2v)

(u− 1, v) = BS − 2SQ = (x− 2u, y − 2v)

(u− x, v − y) = CS = 2SR = (2u− 1, 2v)

Die erste Zeile ist gleichbedeutend mit den dreien und bedeutet

g2 = 3u− x− 1 = 0; g3 = 3v − y = 0

Nun folgt g1+f1+f2 = 0. Also folgt g1 = 0 aus f1 = f2 = 0. Der geometrischeSatz kann wie folgt algebraisiert werden:

(f1 = 0 ∧ f2 = 0)⇒ (g1 = ∧g2 = 0 ∧ g3 = 0)

33

Page 35: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

(Diese Algebraisierung erfolgte uber Koordinaten. Die Einfuhrung von Koor-dinaten durch Descartes(1596 - 1650) erscheint uns heute selbstverstandlich,war aber den Griechen zur Zeit vonEuklid unbekannt)Sei I =< f1, f2 > das von f1, f2erzeugte Ideal. Wir wissen bereits : g1 ∈ I.Wir berechnen nun eine Grobner - Basis fur < f1, f2 > . bezuglich ≺=≺lex

; u ≺ v ≺ x ≺ y. Wegen f1 = uy − vx− v, f2 = uy − vx+ 2v − y ist

S(f1, f2) = f1 − f2 = 3v + y = −g3 = −g3rem(f1, f2)

Man erhalt also eine neue Basis {f1, f2, g3}. Wegen

S(f1, g3)rem(f1, f2, g3) = S(f2, g3)rem(f1, f2, g3) = 0

ist (f1, f2, g3) Grobner - Basis. Nach vorangegangenem Lemma kann man f2

weglassen: (f1, g3) ist Grobner - Basis. Zum Zwecke der Reduktion bilden wir

f3 = f1remg3 = uy − vx− v +1

3g3x = uy − 1

3xy − 1

3y

Es ist dann G{uy− 13xy − 1

3y, v− 1

3y} eindeutige, reduzierte Grobner - Basis

von I. Sei nun f1 = 0 = f2. Wegen f3, g1, g2 ∈ I ist dann f3 = 0 = g1 = g2.Zwar ist wegen g2remG = g2 6= 0, d.h. g2 kein Element von I ; aber wegenf3 = 1

3yg2 ist g2 = 0, falls f1 = 0 = f2 und y 6= 0. Aus Stetigkeitsgrunden

folgt

(f1 = 0 ∧ f2 = 0)⇒ (g1 = 0 ∧ g2 = 0 ∧ g3 = 0)

q.e.d.

6.3 Losen von Polynomgleichungen

(Coxet al.(1997),(1998)) Grobner - Basen wurden erfunden, um Gleichungs-systeme der Form

f1 = 0, . . . fn = 0

zu losen mit Polynomen f1, . . . , fn ∈ F [x1, . . . , xs] = R, F Korper. Mannennt

V (f1, . . . , fn) = {a ∈ F s|f1(a) = . . . = fn(a)}die Varietat, oder das Nullstellengebilde der f1, . . . , fn - uberF . Ist V einebeliebige Teilmenge des F s, so ist das zugehorige Ideal- auch Verschwin-dungsideal genannt - definiert durch

IV = {g ∈ R|g(V ) = {0}}F heißt algebraisch abgeschlossen, wenn jedes f ∈ F [x] eine Nullstellea ∈ F hat. Es gilt

34

Page 36: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Theorem 6.4 (Hilberts Nullstellensatz) Sei F algebraisch abgeschlossen.Dann gilt

(g ∈ IV (f1, . . . , fn))⇔ (∃e ∈ N : ge ∈< f1, . . . , fn >)

Ein wichtiger Spezialfall liegt vor, wenn V (f1, . . . , fn) nulldimensional, sollheißen : endlich ist.

Beispiele 6.3 1. Wir wollen das Gleichungssystem

x2 + y + z − 1 = 0; x+ y2 + z − 1 = 0; x+ y + z2 − 1 = 0

losen. Ware es ein lineares Gleichungssystem, so konnte man es durchelementare Zeilenoperationen auf Dreiecksform bringen, und dann “vonunten aufrollen”, d.h. die Variablen eine nach der anderen bestimmen.Im polynomiellen Fall leistet der Buchberger Algorithmus haufig ahn-liches: es ist G = {g1, g2, g3} Grobner - Basis des Ideals

I =< x2 + y + z − 1, x+ y2 + z − 1, x+ y + z2 − 1 >

mit g1 = x+ y+ z2 − 1, g2 = y2− y− z2 + z, g3 = 2yz2 + z4− z2, und

g4 = z6 − 4z4 + 4z3 − z2 = z2(z − 1)2(z2 + 2z − 1)

(Verifikation mit S-Test) Hier hat man insofern “ Dreiecksform”, alsg4 nur von z abhangt - man sagt: g4 eliminiert x, y - und g3, g2 nichtvon x abhangen - man sagt : g2, g3 eliminieren x. Nullstellen von g4

sind

0, 1, −1 +√

2, −1−√

2

Diese sogenannten partiellen Nullstellen lassen sich fortsetzen zuNullstellen (y, z) von g2, g3, wie man durch Einsetzen feststellt. Schließ-lich setzt man die sogewonnenen Nullstellen zu Nullstellen von I fort,was problemlos ist, da x linear in g1 vorkommt: V (I) besteht aus(1, 0, 0), (0, 1, 0), (0, 0, 1) , (−1 +

√2,−1 +

√2,−1 +

√2), und

(−1−√

2,−1−√

2,−1−√

2)

2. Welches Sind die gemeinsamen Nullstellen von I =< xy−1, xz−1 > ?Eine Grobner- Basis bez. lex ist {xy−1, xz−1, y−z}. y−z eliminiertx. ( I2 = {0} im Sinne des Eliminationstheorems unten.) Nullstellensind (a, a) ∈ k2. Die partielle Nullstelle (a, a) ist genau dann zu einerNullstelle von I, namlich ( 1

a, a, a) fortsetzbar, wenn a 6= 0. Dies ist

gerade die Bedingung im Fortsetzungssatz weiter unten.

35

Page 37: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

3. Eine Grobner-Basis G fur das Ideal I =< x2 +y2 +z2−1 >, xyz−1 >ist

g1 = y4z2 + y2z4 − y2z2 + 1, g2 = x+ y3z + yz3 − yz

(Mit S-Test nachprufen.) Dabei ist die Ordnung lex mit x � y � zzugrunde gelegt. Es ist in G kein Polynom, das x und y eliminiert,m.a.W. I2 = 0. (siehe unten) Dies bedeutet aber, dass jedes c ∈ Cpartielle Nullstelle ist. g1 eliminiert x , oder : I1 =< g1 > . Setzt manc in g1 ein, so erhalt man ein Polynom g1(y, c) ∈ C[y], welches, da Calgebraisch abgeschlossen ist, genau dann eine Nullstelle b hat, wennc 6= 0. (Siehe Fortsezungssatz unten) Setzt man nun (b, c) in g2 einso erhalt man, da g2 linear in x ist eine Nullstelle (a, b, c) von I mita = −b3c− bc3 + bc. Damit ist V (I) bestimmt. Ubrigens erhalt man mity2 = u fur b die Formel

b = ±

−c2 − 1

(c2 − 1

2)2 − c−2

Es ist klar, dass sich die Nullstellen eines allgemeinen Polynoms in einerVariablen z nicht so einfach handhaben lassen wie die von g4. Was benotigtwird, ist vor allem eine Kodierung die - bei dem anschließenden Einsetzen -Addition und Multiplikation erlaubt.Wenn es eliminierende Polynome in I gibt, - das sagt das folgende Theorem- dann findet man sie in einer Grobner - Basis. (Beachte die Abhangigkeitvon einer Ordnung)

Theorem 6.5 (Elimination)Sei I ein Ideal in k[x1, . . . , xn] und G eineGrobner- Basis von I bez. der lexikographischen Ordnung lex. mit x1 �x2 . . . � xn. Dann ist fur jedes 0 ≤ l ≤ n

Gl = G ∩ k[x1, . . . , xn]

eine Grobner- Basis des l-ten Eliminationsideals

Il = I ∩ k[x1, . . . , xn]

Der Einfache Beweis sei dem Leser uberlassen.

Theorem 6.6 (Fortsetzungssatz) Sei I =< f1, . . . , fs >⊂ C[x1, . . . , xn] undI1 das erste Eliminationsideal von I :

I1 = I ∩ C[x2, . . . , xn]

36

Page 38: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Es sei fi = gi(x2, . . . , xn)xN11 + ri mit einem Polynom giC[x2, . . . , xn] \ {0}

und ri ∈ C[x1, . . . , xn] mit degx1ri < Ni . Sei (a2, . . . , an) ∈ V (I1) partielleNullstelle. Wenn (a2, . . . , an) 6∈ V (g1, . . . , gs), dann gibt es ein a1 ∈ C mit(a1, . . . , an) ∈ V (I).

Fur den Beweis ( mit Resultanten ) sei auf Cox e.a.(1997) verwiesen.

6.4 Implizitation

Man sagt, eine Varietat, oder allgemeiner eine Teilmenge V des kn sei ex-plizit oder parametrisch gegeben, wenn

V = f(km)

fur eine surjektive Abbildung f : km → kn . Die Elemente von km heißen indiesem Zusammenhang Parameter. z.B. ist

t→ eit

eine parametrische Darstellung des Kreises V , wahrend

V = {(x, y) ∈ k2|x2 + y2 − 1 = 0}

eine implizite Darstellung von V ist. In einer impliziten Darstellung von Vist V die Losungsmenge einer Menge von Gleichungen, oder das Nullstellen-gebilde eines Ideals I von Funktionen. In einer expliziten Darstellung trittein Existenzquantor auf:

V = {x ∈ kn|∃y ∈ km, x = f(y)}

In einer impliziten Darstellung ist es ein Allquantor:

V = {x ∈ kn|∀f ∈ I : f(x) = 0}

Die verschiedenen Darstellungen sind in veschiedenen Situationen nutzlich:z.B. ist fur die Elementfrage, ob v ∈ V i.A. eine implizite Darstellung effek-tiver als eine explizite, insbesondere wenn es sich um endlich viele (wie nachHilberts Basissatz) einfache Gleichungen handelt. Hingegen ist zum Zweckeder Bezeichnung, Steuerung u.s.w. eines Elementes aus V eine parametrischeDarstellung vorteilhaft.Bekanntlich sorgt der Satz von der implizit definierten Funktion fur “Explizi-tation” . Das Problem der polynomiellen “ Implizitation” wird von Grobner -Basen im Zusammenhang mit dem Eliminationssatz gelost:

37

Page 39: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Theorem 6.7 (Polynomielle Implizitation) Sei k ein unendlicher Korper,f1, . . . , fn ∈ k[t1, . . . , tm], F = (f1, . . . , fn), V = F (km),

I =< x1 − f1, . . . , xn − fn >⊂ k[t1, . . . , tm, x1, . . . , xn]

Sei Im = I∩k[x1, . . . , xn] das m-te Eliminations Ideal (bez. einer Ordnung ≺, fur welche alle ti großer sind als alle xj). Dann gilt I(V ) = Im und V (Im)ist dei kleinste Varietat, die V enthalt, d.h.

V IV = V Im

Siehe Cox et al.(1997) fur einen Beweis.

Beispiele 6.4 1. Welche Polynome sind Quadrate?Sei f = f0 + f1x + f2x

2 ∈ k[x]. Gibt es g = g0 + g1x ∈ k[x] mitf = g2 = g2

0 + 2g0g1x + g21x

2 ? Offenbar mussen die fi die Gleichung4f0f2 − f 2

1 = 0 erfullen. Zusatzlich mussen f0, f1 Quadrate sein. FurK = C gibt es keine Probleme: Wahlt man g0 =

√f0, g1 =

√f1, so ist

f = (g0 + g1x)2, falls 4f0f2 − f 2

1 = 0. (Man hat 4 Losungen.)

2. Die Frage nach Gleichungen fur die Koeffizienten

Fk =∑

i+j=k

fifj

von Quadraten f 2 = (f0 + f1x+ . . .+ fnxn)2 ist ein Implizitationspro-

blem: sei F = (F0, . . . , F2n). Dann ist die Menge V der Quadrate vomGrad ≤ 2n parametrisch gegeben durch V = F (kn). Es ist eine Ba-sis von IV gesucht. Der Implizitationssatz legt folgenden Algorithmusnahe: Setze

J =< F0 − x0, F1 − x1, . . . , F2n − x2n >

Die Elemente einer Grobner- Basis von J , die nur von den x0, . . . , x2n

abhangen, beantworten die Frage. Der Einfachheit halber wahlen wirn = 2 und betrachten nur monische Polynome, d.h. fn = 1. Wieder-holtes Bilden von S− Polynomen,- oder Probieren- ergibt die beidenfolgenden Elemente von J, die die fj eliminiweren:

g1 = x23x0 − x2

1, g2 = x33 − 4x3x2 + 8x1

Weil V zwei Freiheitsgrade hat, und (f0, f1, f2, f3) ∈ k4 kann man aufdie Idee kommen, dass diese beiden Gleichungen ausreichen, um V

38

Page 40: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

zu beschreiben. Inder Tat: wenn F0, . . . , F3 die Gleichungen g1(Fi) =g2(Fi) = 0 erfullen, dann ist

F0 + F1x+ F2x2 + F3x

3 + x4 = (√

F0 +1

2F3x+ x2)2

falls die geeignete Wurzel gewahlt wird. Dass in diesem Fall die gefun-denen Gleichungen notwendig und hinreichend fur die Zugehorigkeit zuV sind, d.h V = V IV, liegt daran, dass die Fi, wenn man die Bedingungfn = 1 fallen laßt, homogene Polynome in den fj sind.

39

Page 41: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

7 Symbolische Integration

In diesem Abschnitt geht es um einen Algorithmus, der bei Eingabe einer“elementaren” Funktion u entscheidet, ob u eine elementare Stammfunktionv d.h. u = v′ besitzt, und falls dies der Fall ist, ein solches v ausgibt. Die ersteHalfte eines solchen Algorithmus ist in Buchform erschienen: M. Bronstein1997 Der vorliergende Abschnitt ist diesem Buch entnommen und behandeltrationale Eingaben u ∈ C(x).

Beispiele 7.1 1.∫

1x

= logx, d.h. (logx)′ = 1x;

2.∫

1x2−2

=√

24log(x−

√2

4)−

√2

4log(x+

√2)

3.∫

1x3+x

= logx− 12log(x2 + 1).

4.∫

5x4+1x5+x+1

= log(x5 + x+ 1)

Das Gebiet gehort zur sogenannten Differentialalgebra, wo es darum geht,Differentilagleichungen mit algebraischen Methoden zu losen. In der Tat kom-men keine Grenzprozesse vor: die Ableitung ist eine lineare Abbildung f → f ′

mit der definierenden Eigenschaft (fg)′ = fg′ + f ′g. f ist Exponential von g,wenn f ′ = gg′, und f ist Logarithmus von g wenn f ′ = 1/g.

Definition 7.1 Sei R ein Ring (kommutativ, mit 1);D : R→ R heißt De-

rivation, wenn

1. D(f + g) = D(f) +D(g),

2. D(fg) = (Df)g + f(Dg)

(R,D) heißt dann Differentialalgebra R0 = {r ∈ R|Dr = 0} heißt Ringder Konstanten f heißt Integral von g , wenn Df = g. Man schreibtf =

g, obwohl f durch Df = g nur bis auf eine Konstante bestimmt ist.Ferner schreibt man f ′ = Df.

Beispiele 7.2 1. R = F [x]; D(f0 + f1x+ . . .+ fnxn) = f1 +2f2x+ . . .+

nfnxn−1

2. R = Ring der unendlich oft differenzierbaren Funktionen f : Rn →R, D ein Vektorfeld, d.h.Df =

i vi∂f∂xi

; vi ∈ R.

3. Sind D1, D2 Derivationen, so ist auch D1 +D2, definiert durch (D1 +D2)f = D1f+D2f ein solcher, ebenso wie rD1, r ∈ R, definiert durch(rD1)(f) = r(D(f)).

40

Page 42: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Der Beweis des folgenden Lemmas sei dem Leser uberlassen.

Lemma 7.1 1. D1 = 0

2. D(af + bg) = aDf + bDg; a, b ∈ R0, f, g ∈ R,

3. D(fg) = (Df)g−f(Dg)

g2 ,

4. D(fn) = nfn−1(Df)

Im folgenden sei R ein faktorieller Integritatsbereich mit einer Leiteinheit-funktion lc, und einem normalisierten ggt. (siehe Abschnitt 1) und einerDerivation D. Wir betrachten den Ringhomomorphismus ϕ : Z → R, derdurch ϕ(1) = 1 gegeben wird. Dann ist ϕ−1(0) = (p) ein Hauptideal ( da Zein Hauptidealring ist), und p eine Primzahl, da R Integritatsbereich ist.

Definition 7.2 p = char(R) heißt Charakteristik von R. Sei f =f e1

1 . . . f err die Primfaktorzerlegung von f ∈ R mit lc(f) = lc(fi) = 1. f1 . . . fr

heißt der quadratfreie Teil von f. Wenn e1 = . . . = er = 1, heißt f qua-

dratfrei. (g1, . . . gm) ∈ Rm heißt quadratfreie Zerlegung von f , wenn diegi quadratfrei und paarweise teilerfremd sind, (ggt(gi, gj) = 1, i 6= j, und

f = g1g22 . . . g

mm

Annahme: charR = 0; alle f ∈ R \ {0} sind normal, d.h. ggt(f, f ′) = 1.

Lemma 7.2 Sei f = f e11 . . . f ek

k die Primfaktorzerlegung von f ∈ R, mitlc(f) = 1. Dann gilt

ggt(f, f ′) = f e1−11 . . . f ek−1

k

und f ist genau dann quadratfrei, wenn ggt(f, f ′) = 1.

Beweis: Es gilt f ′ =∑

eif′i

ffi. Hier teilt fi jeden Summanden außer eventuell

den i-ten. Dieser ist

eifei−1i f ′

i

j 6=i

fej

j

Also gilt f ei−1i | f ′, f ei

i - f ′.Die quadratfreie Zerlegung kann, im Gegensatz zur Primfaktorzerlegung,schnell berechnet werden:

Algorithmus 7.1 (Yun’s quadratfreie Zerlegung fur charR = 0. )Input: f ∈ R mit lc(f) = 1Output: quadratfreie Zerlegung von f .

41

Page 43: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

1. u← ggt(f, f ′), v ← fu, w ← f ′

f

2. i← 1; repeat

hi ← ggt(vi, wi − v′i); vi+1 ← vi

hi; wi+1 ← wi−v′i

hi; i← i+ 1;

until vi = 1;k ← i− 1.

3. return (h1, . . . , hk).

Beispiele 7.3 Sei f = a2b2c3d4 , a,b,c,d paarweise verschieden, prim.

f ′ = 2aa′b2c3d4 + a22bb′c3d4 + a2b23c′c2d4 + a2b2c34d′d3

u = ggt(f, f ′) = abc2d3, v1 =f

u= abcd; v′1 = a′bcd+ ab′cd+ abc′d+ abcd′

w1 =f ′

u= 2a′bcd+ 2ab′cd+ 3abc′d+ 4abcd′; h1 = ggt(v1, w1 − v′1) = 1

v2 = v1, w2 = w1 − v′1 = a′bcd+ ab′cd+ 2abc′d+ 3adcd′

h2 = ggt(v2, w2 − v′2) = ggt(abcd, abc′d+ 2abcd′) = ab

w3 =w2 − v′2ab

= c′d+ 2cd′;w3 − v′3 = c′d+ 2cd′ − c′d− cd′ = cd′;

h3 = ggt(v3, w3 − v′3) = ggt(cd, cd′) = c

v4 =cd

h3= d, w4 = d′;w4 − v′4 = 0;

h4 = ggt(v4, w4 − v′4) = d; (h1, h2, h3, h4) = (1, ab, c, d)

Satz 7.1 Yun’s Algorithmus ist korrekt. Im Fall von R = F [x], degf = n ≥ 1benotigt er O(M(n)logn) Operationen in F.

Beweis: Sei (g1, . . . , gm) die quadratfreie Zerlegung von f = g1g22 . . . g

mm.

Dann ist u = g1g23 . . . g

m−1m , v1 = g1 . . . gm,

w1 =∑

1≤j≤m

g′jgjv1; w1 − v′1 =

(j − 1)g′jgjv1, ggt(v1, w1 − v′1) = g1 = h1.

Sei nun schon gezeigt, dass

hi = gi, vi

i≤j≤m

gi, wi =∑

i≤j≤m

(j − i+ 1)g′jgjvi

dann gilt offenbar

vi+1 =∏

i+1≤j≤m

gj; wi − v′i =∑

i≤j≤m

(j − i)g′j

gj

vi

42

Page 44: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Also gilt

wi+1 =wi − v′ihi

=∑

1+i≤j≤m

(j − i)g′jgjvi+1

Damit folgt hi+1 = ggt(vi+1, wi+1 − vi+1′) = gi+1 q.e.d.

Algorithmus 7.2 (Hermite-Reduktion) Input: f, g1 . . . gm ∈ R,R eukli-disch mit Derivation ′, (g1, . . . , gm) quadratfreie Zerlegung von g;Output: a, b ∈ R mit

f

g= (

a

gm−1m

)′ +bgm

g

1. Berechne mit dem EEA a, c ∈ R, so dass

agg−mm g′m + cgm =

f

1−m

2. b← −gg−mm a′ − (1−m)c

3. gib a, b aus.

Satz 7.2 Der Algorithmus arbeitet korrekt.

Zum Beweis setzt man in die zu verifizierende Gleichung fur f und b ein undleitet den mittleren Term ab.Um nun fur f

gf, g ∈ F [x] eine Stammfunktion zu finden, geht man so vor

1. Division mit Rest: f = qg + h, degh < degg; fg

= q + hg;

2. Quadratfreie Zerlegung: g = g1g22 . . . g

mm;

3. Wiederholte Hermite- Reduktion.

Man erhalt auf diese Weise als Zwischenergebnis das folgende Theorem:

Theorem 7.1 Seien f, g ∈ F [x], degf ≤ n; degg ≤ n. Dann gibt es v, w, g ∈R so dass g quadratfrei, und

f

g= v′ − w

g

Diese Polynome konnen mit O(M(n)logn) Operationen in F berechnet wer-den.

43

Page 45: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Was ubrig bleibt, wird mit dem Algorithmus von Rothstein und Trager be-handelt. Hierzu wird die Resultante res(f, g) zweier Polynome benotigt, diejetzt erklart werden soll:Sei R ein Ring, f, g ∈ R[x],

f =∑

o≤j≤n

fjxj , g =

0≤j≤m

gjxj

Diese Polynome definieren eine lineare Abbildung :R[x]× R[x] → R[x] defi-niert durch (s, t) → sf + tg. Sei Pd = {f ∈ F [x]|degf < d}. Schrankt mandie lineare Abbildung auf Pm×Pn ein, so erhalt man eine lineare Abbildungϕn,m(f, g) : Pm × Pn → Pn+m.

Definition 7.3 resx(f, g) = resn,m(f, g) = detϕn,m(f, g) heißt Resultante

von (f, g) zum formalen Grad (n,m).

Man fuhrt hier den Formalen Grad an, weil nicht vorrausgesetzt wird, dassfn 6= 0, oder gm 6= 0. Sollte fn = 0 = gm sein, so ist resn,m(f, g) = 0,wie man aus der folgenden Matrixdarstellung sieht. Bezuglich der Basis der(xi, 0); 0 ≤ i < m, (xj , 0), 0 ≤ j < n in Pm × Pn, und (xn+m−1, . . . x, 1) inPn+m hat ϕ4,3 die folgende Matrix, genannt Sylvester-Matrix

Sylv(f, g) =

f4 0 0 g3 0 0 0f3 f4 0 g2 g3 0 0f2 f3 f4 g1 g2 g3 0f1 f2 f3 g0 g1 g2 g3

f0 f1 f2 0 g0 g1 g2

0 f0 f1 0 0 g0 g1

0 0 f0 0 0 0 g0

Die Resultante ist ein Polynom mit ganzzahligen Koeffizienten in den fi, gj.Ihre Bedeutung kommt am besten in einem Erweiterungsring zum Ausdruck,in welchem f und g in Linearfaktoren zerfallen.

Theorem 7.2 Sei R ein Ring,a, b, α1, . . . αn, β1, . . . , bm ∈ R, A = a(x −α1) . . . (x− αn), B = b(x− β1) . . . (x− βm. Dann gilt

res(A,B) = ambnn

i=1

m∏

j=1

(αi − βj)

= amn

i=1

B(αi)

= (−1)nmbnm∏

j=1

A(βj)

44

Page 46: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Einen Beweis findet man z.B. in S.Lang’s Algebra.(letzte Auflage) Als Ko-rollar erhalt man eine Gleichung, auf der man einen Algorithmus aufbauenkann, den sogenannten “Subresultanten- Algorithmus.”(siehe Lemma 10.3 )

Korollar 7.1 Sei c ∈ R,Q, S ∈ R[x], und cB = QA +R. Dann gilt

cnres(A,B) = res(A, S)

Wenn hier degS < degA, handelt es sich um eine Pseudodivision

Satz 7.3 (Pseudodivision) Sei D Integritatsbereich,a, a ∈ D[x], degb < dega.Dann gibt es eindeutig bestimmte q, r ∈ D[x] mit

lc(b)1+dega−degba = qb+ r; degr < degb

q = a(pquo)b heißt Pseudoquotient,r = a(prem)b heißt Pseudorest vona bei Division durch b.

Beweis: mit Induktion nach dega.

Algorithmus 7.3 (Pseudodivision)Inputa, b ∈ D[x], D Integritatsbereich, b 6= 0,Output q = a(pquo)b, r = a(prem)b

1. β ← lcb, N ← dega− degb+ 1, q ← o, r ← a, δ ← degr − degb

2. while r 6= 0 and δ ≥ 0 doT ← lc(r)xδ, N ← N − 1, q ← βq + T, r ← bR− Tb

3. return βNq, βNr)

Man kann nun die Resultante mit einer “ Pseudorestfolge” berechnen:

Definition 7.4 Sei D ein Integritatsbereich, a, b ∈ D[x], b 6= 0, dega ≥degb. Eine Folge (r0, r1, . . . ) von Polynomen in D[x] heißt Ppolynomrest-

sequenz, PRS,wenn

1. r0 = a, r1 = b

45

Page 47: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

2. Es gibt βi ∈ D \ {0} so dass

βiri+1 =

{

0, falls ri = 0

ri−1 premri sonst

PRS’s sind Verallgemeinerungen des euklidischen Algorithmus. Sie entspre-chen dem Wunsch, im Koeffizientenbereich D zu bleiben, und nicht in des-sen Quotientenkorper zu gehen. Dies ist besonders interessant, wenn man esmit mehreren Variablen zu tun hat, und D = k[x1, . . . , xn−1]. Wahlt manβi = 1 so erhalt man die euklidische PRS: Wahlt man βi den ganzen Teilvon Ri−1premRi, so erhalt man die primitive PRS. Ein Beispiel ist die vonCollins und Brown entdeckte “Subresultanten”PSR:

Satz 7.4 Definiert man rekursiv

R0 = A,R1 = B, γ1 = −1, β1 = (−1)δ1+1, δ1 = degR0 − degR1

βiRi+ = Ri−1premRi

γi+1 = (−lc(Ri)δiγ1−δi

i

βi+1 = −lc(Ri)γδi+1

i+1

δi+1 = degRi − degRi+1

so ist (R0, R1, . . . ) eine PRS.

Theorem 7.3 (Rothstein - Trager Algorithmus)Es sei F ein Korper der Charakteristik 0. a, b ∈ F [x] seien teilerfremde Poly-nome mit dega < degb, und b monisch, quadratfrei, und r(y) = resx(b, a−vb′)die Resultante von b und a− yb, wo y eine neue Unbestimmte. E sei ein Er-weiterungskorper von F , indem r zerfallt. Dann gilt

1.∫

a

b=

i

cilog(ggt(b, a− cib′))

wobei {c1, . . . , cl} die Nullstellenmenge von r. Die vi = ggt(b, a− cib′)sind monisch, quadratfrei und teilerfremd.

2. Es gelte∫

ab

=∑

i dilogwi mit paarweise verschieden d1, . . . , dl ∈ E,und teilerfremden, monischen, quadratfreien wi ∈ F [x]. Dann gilt wi =ggt(b, a− dib

′), {d1, . . . , dl} = r−1(0).

46

Page 48: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beispiele 7.4 a = 1, b = x3 + x, r = resx(x3 + x, 1− y(3x2 + 1)) =

det

1 0 −3y 0 00 1 0 −3y 01 0 1− y 0 −3y0 1 0 1− y 00 0 0 0 1− y

= −4y3 + 3y + 1 = −(y − 1)(2y + 1). Die Nullstellen von r sind 1,−12, und

daher

v1 = ggt(x3 + x, 1 +1

2(3x2 + 1)) = x2 + 1

v2 = ggt(x3 + x, 1− (3x2 + 1)) = x

⇒∫

a

b= −1

2log(x2 + 1) + logx

Beweis des Theorems:Wir beginnen mit dem Beweis der zweiten Aussage, weil diese als Heuristikfur die erste Aussage aufgefaßt werden kann: Ableiten der vorrausgesetztenGleichung ergibt :

a

b=

diw′

i

wi

Nach Multiplikation mit b∏

wj erhalt man

a∏

i

wi = b∑

diuiw′i, ui =

j 6=i

wj

Hieraus folgt b =∏

wj, denn wegen der Teilerfremdheit von a, b gilt b|∏wj.Aus wi|b

djujw′j und wi|djujw

′j fur j 6= i folgt wi|bdiuiw

′i. Da aber die wj

paarweise teilerfremd und quadratfrei sind, geht das nur, wenn wi|b. Die Tei-lerfremdheit der wj hat deshalb

wj|b, b =∏

wj, und damit a =∑

djujw′j

zur Folge. Setzt man dies fur a, b ein, so verifiziert man leicht, dass

ggt(b, a− cb′) =

{

wj, falls c = dj ∈ {d1, . . . , dl}1 sonst

Nun gilt aber

r(c) = 0⇔ resx(b, a− cb′) = 0⇔ ggt(b, a− cb′) 6= 1 ⇔ c ∈ {d1, . . . dl}

47

Page 49: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

damit ist die zweite Aussage bewiesen.Nun beweisen wir die erste Aussage, also die Korrektheit des Trager- Roth-stein Algorithmus. Man setze vj = ggt(b, a− cjb′). Dann ist nur

b =∏

vj, a =∑

cjujv′j ; uj =

i6=j

vi

zu zeigen. Sei dazu b =∏

(x−λk) die Zerlegung in Linearfaktoren von b ubereinem Zerfallungskorper von b. Da b nach Annahme quadratfrei ist, sind dieλk paarweise verschieden. Setzt man

c =a(λk)

b′(λk)

so gilt (a− cb′)(λk) = 0, d.h. (x− λk)|a− cb′, also x− λk|ggt(b, a− cb′). Diesbedeutet aber, dass r(c) = 0, d.h. c = cj fur ein j ∈ {1, . . . l}, und damitx − λk|vj , b|

vi. Hatten nun vi und vj einen gemeinsamen nichttrivialenTeiler, so ware ein x− λk ein solcher. Dann ware aber

ci =a(λk)

b′(λk)= cj

d.h. i = j. Also sind die vj teilerfremd. Da trivialerweise vj |b, hat man∏

vj |b,und damit, da die Polynome monisch sind, b =

vj. Offenbar sind die vj

auch quadratfrei. Nun die Gleichung fur a. Weil vj |a− cjb′, und

b′ =∑

v′iuj; uj =∏

k 6=j

vk

gilt vj|a− cjv′juj. Setze

a =∑

cjv′juj

Dann gilt vj |a−a, und da die vj teilerfremd sind: b =∏

vj|a−a. Andererseitsist dega ≤ dega < degb, nach Annahme. Daher ist a = a. q.e.d.Es soll nun die Aufgabe, eine Stammfunktion zu finden von den rationalenFunktionen auf eine großere Klasse von Funktionen erweitert werden.

Definition 7.5 Sei (F,D) ein Differentialkorper. Eine Diffrerentialer-

weiterung ist ein Differerentialkorper (K,DK) so dass F ein Unterkorpervon K ist, und Df = DKf fur f ∈ F. f ∈ K heißt algebraisch uberF , wenn es ein p ∈ F [x] \ {0} gibt, so dass p(f) = 0. Anderenfalls heißtf transzendent uber F. f heißt elementares Monom uber F , wenn ftranszendent ist, wenn F (f)0 = F0 (Konstantenkorper) und entweder

48

Page 50: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

1. ∃η ∈ F : f ′ = η′

η; (in diesem Fall heißt f logarithmisch uber F ) ;

oder

2. ∃η ∈ F : f ′ = η′f ; (in diesem Fall heißt f exponentiell uber F.)

K heißt elementare Erweiterung von F , wenn θ1, . . . , θm ∈ K existieren,so dass K = F (θ1, . . . , θm) und entwederθi algebraisch uber F (θ1, . . . , θi−1) oderθi elementares Monom uber F (θ1, . . . , θi−1).Wir bezeichnen mit F einen algebraischen Abschluss von f.

Theorem 7.4 (Liouville, Risch) Sei F Differentialkorper der CharakteristikNull, und α ∈ F. Wenn es ein y in einer elementaren Erweiterung K vonF gibt mit y′ = α, dann gibt es v ∈ F, c1, . . . , cn ∈ F0, u1, . . . , un ∈ F0K, sodass

α = v′ +∑

ciu′iui

49

Page 51: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

8 Kurze Vektoren in Gittern

8.1 Zusammenfassung

Gitter im Rn bestehen aus den ganzzahligen Linearkombinationen einer Ba-sis. Anders ausgedruckt: es sind die diskreten, additiven Untergruppen desRn vom Rang n. Die Quotienten Rn/Gitter sind Tori, und spielen in derMechanik eine Rolle als “ Phasenraume”.7.2 ist dem “ Gittersatz von Minkowski gewidmet und soll auf die Bedeutungvon kurzen Gittervektoren bei scheinbar weit auseinanderliegenden Fragenhinweisen, z.B. bei der Darstellung ganzer Zahlen als Summe von Quadra-ten.7.3 handelt von dem algorithmischen Problem, effektiv kurze Gittervektorenzu berechnen. Diese Problem gehort zu denjenigen, die durch die moderneKryptographie (siehe Arbeiten und Vorlesungen von C.P.Schnorr)besondersinteressant geworden sind. Weil namlich die Berechnung von kurzesten Git-tervektoren “ NP” - vollstandig ist, kann man diese als geschutzte Geheim-nisse ansehen. Wegen dieser Schwierigkeit war der LLL- Algorithmus vonLenstra, Lenstra, Lovasz (1982), der relativ kurze Gittervektoren polynomiellberechnet ein “ Durchbruch”. Er ist heutzutage die erfolgreichste Methode,kryptographische Systeme zu brechen. Weitere Anwendungen in7.4: ganzzahlige Programmierung und Faktorisieren von Polynomen in einerVariablen mit ganzzahligen Koeffizienten.

8.2 Minkowskis Gittersatz

Definition 8.1 Seien n ∈ N, f1, . . . , fn ∈ Rn linear unabhangig. Dann heißt

L =∑

Zfi = {∑

rifi|ri ∈ R}

das von {f1, . . . , fn} erzeugte Gitter, und {f1, . . . , fn} Basis von L. Istf die durch f(ei) = fi definierte lineare Abbildung f : Rn → Rn, so hangt|detf | nicht von der Wahl der Basis (f1, . . . , fn) ab, wie unten gezeigt wird,und wird Norm von L genannt: |L| = |detf |.

Beispiele 8.1 n = 2; f1 = (12, 2); f2 = (13, 4);L = Zf1 + Zf2;

|L| = |det(

12 213 4

)

| = 48− 26 = 22

g1 = f2− f1 = (1, 2); f1− g1 = (11, 0) = g2 ergibt ebenfalls eine Basis von L.Offenbar ist g1 der kurzeste Vektor in L.

50

Page 52: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Satz 8.1 Seien g1, . . . , gn ∈ L und die lineare Abbildung g : Rn → Rn

definiert durch gei = ei. Dann gibt es eine ganze Zahl z, so dass detg = zdetf.Es gilt

Zgi =∑

Zfi genau dann, wenn |detf | = |detg|.

Bekanntlich handelt es sich bei |detf | um das Volumen des von den f1, . . . , fn

aufgespannten Parallelepipeds.Beweis: Es gibt γij ∈ Z, so dass gi =

γikfk ⇒ gi =∑

gijej =∑

γikfk =∑

γikfkjej → detg = det(gij) = det(γik)det(fkj) = zdetf. Wennnun

Zgi =∑

Zfi, dann gilt ebenfalls detf = z′detg = zz′detf, zz′ =1, |z| = 1. Dann ist aber auch det(γij) = ±1. Nach Cramers Regel gilt furdas Inverse von (γij)

(γij)−1kl =

det(γij)kl

det(γij

Hieraus ersieht man, dass (γij)−1) ganzzahlige Eintrage hat, was bedeutet,

dass sich auch die fi ganzzahlig aus den gi kombinieren lassen :∑

Zgi =∑

Zfi.Offenbar bilden die Elemente eines Gitters eine additive Untergruppe desRn, deren lineare Hulle uber R der ganze Rn ist . Wir werden die folgendenBezeichnungen verwenden

< L >R= {∑

rili|ri ∈ R; li ∈ L}; < L >Z= {∑

zili|zi ∈ Z; li ∈ L}

Ein Gitter ist eine diskrete Teilmenge von Rn in folgendem Sinne

Definition 8.2 Eine Teilmenge T eines topologischen Raumes X heißt dis-

kret, wenn jedes Element t ∈ T eine Umgebung V besitzt, so dass V ∩ T ={t}.Wir werden jetzt zeigen, dass jede diskrete additive Untergruppe des Rn einGitter ist.Sei B eine abgeschlossene Teilmenge des Rn und a ∈ Rn. Dann gibt es einb ∈ B, das den Abstand zu a minimiert:

d(a,B) = d(a, b) = Min{‖a− c‖|c ∈ B}

(Weil der Durchschnitt einer abgeschlossenen Kugel mit B kompakt ist.) Istnun B kompakt und A ⊂ Rn abgeschlossen, so gibt es ein a1 ∈ A, mit

d(a1, B) = Min{d(a,B)||a ∈ A}

Beispiele 8.2 Sei

n = 2, B = {(x1, 0)|x1 ∈ R}, A = {(x1, x2) ∈ R2|x1x2 = 1}.

51

Page 53: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

A und B sind abgeschlossen, B nicht kompakt. Entsprechend istInf{d(a,B)|a ∈ A} = 0, und es gibt kein Min{d(a,B)|a ∈ A}.

Lemma 8.1 Sei A eine diskrete additive Untergruppe des Rn, a1, . . . , ak ∈A, B =< a1, . . . , ak >R, und A \B 6= ∅. Dann gibt es a ∈ A \B mit

d(a,B) = Min{d(a′, B)|a′ ∈ A \B} = d(A \B,B)

Beweis: Wahle eine R− Basis (b1, . . . , bk) von B. Sei Q der zugehorige ab-geschlossene Einheitswurfel:

Q = {x1b1 + . . .+ xkbk|0 ≤ xi ≤ 1}

Q ist kompakt. Ist a ∈ A \ B, b ∈ B, b = x1b1 + . . . + xkbk, so gibt es a′ ∈A\B, q ∈ Q mit a−b = a′−q, namlich : a′ = a−∑bxicbi, q =

(xi−bxic)bi.Also existiert

Min{d(a,B)|a ∈ A} = Min{d(a,Q)|a ∈ A} = d(A,B)

nach obigem. Damit erhalt man den schon erwahnten Satz:

Satz 8.2 Sei A additive, diskrete Untergruppe von Rn, undk = dimR < A >R . Man definiere ai, Ai , 1 ≤ i ≤ k induktiv durch

‖a1‖ = Min{‖a‖|a ∈ A \ {0}} , A0 = {0},

Ai =< {ai, . . . ai} >R, ai+1 ∈ A \ Ai, d(ai+1, Ai) = d(A \ Ai, Ai)

Dann gilt : A =∑

Zai.

Beweis: Es ist klar, dass die ai R− linear unabhangig sind und deswegeneine R− Basis von < A >R bilden. Zu gegebenem a ∈ A gibt es daher reellexi so dass a = x1a1 + . . . , xlal. Zu zeigen: xi ∈ Z. Wegen

a =∑

bxicai +∑

(xi − bxic)ai

kann angenommen werden, dass |xi| < 1. Dann genugt es zu zeigen, dassxl = 0. Es sei al = b + c, wo b ∈ Al−1, und c senkrecht auf Al−1 d.h.< c, ai >= 0, 1 ≤ i ≤ l − 1. Der Abstand von al zu Al−1 ist ‖c‖, der von azu Al−1 ist |xl|‖c‖ < ‖c‖. Auf Grund der Definition von al ist nun xl = 0.q.e.d.

52

Page 54: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Definition 8.3 Sei (f1, . . . , fn) eine Basis des Rn. Die f ∗i seien induktiv

definiert durch

f ∗1 = f1; f

∗i = fi −

1≤j<i

µijf∗j ;µij =

< fi, f∗j >

< f ∗j , f

∗j >

, 1 ≤ j < i.

(f ∗1 , . . . f

∗n, µij) heißt Gram-Schmidt-Ortogonalisierung, GSO von

(f1, . . . , fn).

Der einfache Beweis des folgenden Satzes sei dem Leser uberlassen.

Satz 8.3 1. Die GSO kann mit O(n3) arithmetischen Operationen in Rbez. in Q falls die fi ∈ Qn, aus den f1, . . . , fn berechnet werden.

2. < f ∗i , f

∗j >= 0; i < j. (Orthogonalitat)

3.

f1...fn

=

1 . . . 0...

. . .

µn1 . . . 1

f ∗1...f ∗

n

4.

1≤i≤k

Rfi =∑

1≤i≤k

Rf ∗i = Uk

5. f ∗k ist die Projektion auf das orthogonale Komplement von Uk−1; (mitU⊥

k−1 bezeichnet)

6. ‖f ∗k‖ ≤ ‖fk‖;

7.

det

f1...fn

= det

f ∗1...f ∗

n

Satz 8.4 (Hadamard)

|det(f1, . . . , fn| = ‖f1‖‖f2‖ . . . ‖fn‖

53

Page 55: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Zum Beweis sei an den Begriff einer orthogonalen Matrix O erinnert: eineMatrix O heißt orthogonal, wenn ihre Spaltenvektoren die Norm 1 haben,und verschiedene aufeinander senkrecht stehen. Gleichbedeutend damit ist,dass O eine Isometrie ist: < Ox,Oy >=< x, y > fur alle x, y ∈ Rn. Gleich-bedeutend damit ist O∗O = Id, wobei die Adjungierte M∗ einer Matrix Mdadurch definiert ist, dass fur alle x, y ∈ Rn : < Mx, y >=< x,M∗y > . Dastets detM = detM∗ folgt hieraus

detO∗O = detOdetO∗ = 1; detO = ±1.

Was fur Spaltenvektoren gilt, gilt auch fur Zeilenvektoren. Nun gilt nach demvorangegangenen Satz:

det(f1, . . . fn) = det(f ∗1 , . . . , f

∗n) =

‖f ∗i ‖det(

f ∗1

‖f ∗1‖, . . . ,

f ∗n

‖f ∗n‖

) =∏

‖f ∗i ‖

Also folgt die Behauptung aus ‖f ∗i ‖ ≤ ‖f‖.

Satz 8.5 Sei f ∈ L \ {0}. Dann gilt

‖f‖ ≥Min(‖f ∗1 ‖, . . . , ‖f ∗

n)‖Beweis: f =

∑kj=1 λjfj ; λk 6= 0; ⇒

f =

k∑

i=1

1≤j≤j

µijf∗j = λkf

∗k +

1≤j<k

vjf∗j

Nimmt man das Skalarprodukt von f mit sich selbst, und beachtet die Or-thogonalitat der f ∗

i , so ergibt sich

‖f‖2 = λ2k‖f ∗

k‖2 +∑

1≤j<k

ν2j ‖f ∗

j ‖2 ≥ λ2k‖f ∗

k‖2 ≥ ‖f ∗k‖ ≥Min∗‖(‖f ∗

1‖ . . .‖f ∗n‖)

Theorem 8.1 (Minkowskis Gittersatz) Sei L ein Gitter im Rn und K abge-schlossen, sowie symmetrisch und konvex, d.h.

∀x, y ∈ K : −x, 12(x− y) ∈ K.

Ist dann vol(K) ≥ 2n|L|, so existiert ein x ∈ K mit x ∈ L \ {0}.Korollar 8.1 Sei ω(n) das Volumen der Einheitskugel im Rn :

ω(1) = 1, ω(2) = π, ω(n) = ω(n− 2)2π

n

Fur den kurzesten Gittervektor f ∈ L gilt dann

‖f‖ ≤ 2(|L|ω(n)

)1n

54

Page 56: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beweis: Es sei (K + x)∩K = ∅ fur alle x ∈ L \ {0}. Wahle eine Gitterbasisf1, . . . , fn von L und definiere den Einheitswurfel Q durch

Q = {x1f1 + . . . xnfn|0 ≤ xi < 1}Dann bilden die K ∩ (Q + z) fur z ∈ L eine disjunkte Uberdeckung von K,und es ist vol(K) = |L|. Folglich ist vol(K) =

vol(K ∩ (Q+ z) . Nun sindaber die (K ∩ (Q + z)) − z nach Annahme paarweise disjunkte Teilmengenvon Q . Ferner gilt vol(K ∩ (Q + z)) = vol((K ∩ (Q + z)) − z), weil dasLebesguemaß auf dem Rn translationsinvariant ist. Folglich ist vol(K) ≤ |L|.Es sei

1

2K = {1

2x|x ∈ K}

Dann ist vol(12K) = 2−nvol(K). Wenn also vol(K) > 2n|L| ist, dann gibt es

verschiedene z1, z2 ∈ L so dass

(1

2K + z1) ∩ (

1

2K + z2) 6= ∅.

Also gibt es x, y ∈ K, so dass 12x+z1 = 1

2y+z2, d.h.1

2(x−y) = z1−z2 ∈ L\{0}.

Weil K symmetrisch und konvex ist, ist z = z1 − z2 ∈ K ∩ (L \ {0}.Wir haben aber nur vol(K) ≥ 2n|L|. Daher betrachten wir fur ε > 0 die ε−“Aufdickung “ von K :

Kε = K + εB = {x+ εy|x ∈ K, ‖y‖ ≤ 1}Weil mit K auch Kε symmetrisch und konvex ist, und offenbarvol(Kε) > vol(K), existiert zε ∈ Ke ∩ (L \ {0}. Da mit K auch jedesKε kompakt ist, kann man aus z1/n eine konvergente Teilfolge auswahlen.Der Limes einer solchen Teilfolge liegt dann im Durchschnitt aller Kε∩L\{0},d.h.in K ∩ L \ {0}.

Uber diesen Satz sagte Hilbert in seiner Gedachtnisrede uber den mit 38Jahren an einer Blinddarmentzundung verstorbenen Hermann Minkowski“ Dieser Beweis eines tiefliegenden zahlentheoretischen Satzes ohne rechne-rische Hilfsmittel wesentlich auf Grund einer geometrisch anschaulichen Be-trachtung ist eine Perle Minkowkischer Erfindungskunst. . . . Noch wichtigeraber war es, dass der wesentliche Gedanke des Minkowskischen Schlussver-fahrens nur die Eigenschaft des Ellipsoides, dass dasselbe eine konvexe Figurist und einen Mittelpunkt besitzt, benutzte, und daher auf beliebige konvexeFiguren mit Mittelpunkt ubertragen werden konnte. Dieser Umstand fuhrteMinkowski zum ersten Mal zu der Erkenntnis, dass der Begriff des konvexenKorpers ein fundamentaler Begriff in unserer Wissenschaft ist, und zu derenfruchtbarsten Forschungsmitteln gehort.”

55

Page 57: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Korollar 8.2 (Fermat, Euler) Jede Primzahl p = 4k+1 ist Summe von zweiQuadraten ganzer Zahlen.

Beweis Es sei p prim und u eine ganze Zahl mit u2 ≡ −1(modp). Wirbetrachten das Gitter

L = {(x, y) ∈ Z2|y ≡ ux(modp)}

Es gilt

|L| = |det(

1 u0 p

)

| = p

fur einen kurzesten Gittervektor (x, y) gilt dann

kp = x2 + y2 ≤ 4|L|ω2

=4p

π< 2p

Also x2 + y2 = p.Wir haben im Beweis das folgende Lemma benutzt

Lemma 8.2 Sei p Primzahl. Genau dann gibt es ein u ∈ Z, mit u2 ≡−1(modp), wenn p = 4k + 1.

Beweis: Die Einheitengruppe von Zp ist zyklisch von der Ordnung p − 1.Also gibt es ein e der Ordnung p − 1. Ist nun p− 1 = 4k, so hat u = ek dieOrdnung 4. Also gilt u2 = −1. Hieraus folgt umgekehrt, dass u die Ordnung4 hat, also p− 1 von 4 geteilt wird.q.e.d. Zum Beweis des nachsten Korollarsbenotigen wir noch

Lemma 8.3 sei K ein Korper mit endlich vielen Elementen, a, b, c ∈ K\{0}.Dann existieren x, y ∈ K mit ax2 + by2 = c.

Beweis: K habe q Elemente. q − 1 davon sind Einheiten, und davon q−12

Quadrate. Also gibt es q−12

+ 1 = q+12

Quadrate. Folglich ist

]{ax2|x ∈ K} =q + 1

2= ]{c− by2|y ∈ K}.

Diese beiden Mengen konnen nicht disjunkt sein, denn sonst hatte K minde-stens q+ 1 Elemente. Also gibt es ein Element ax2 = c− by2 in beiden.q.e.d.Wegen der “zwei Quadrate Formel”

(x2 + y2)(u2 + v2) = (xu− yv)2 + (xv + yu)2

56

Page 58: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

bilden die naturlichen Zahlen, welche Summe von zwei Quadraten sind, ei-ne multiplikative Halbgruppe. Wir werden im Beweis des “ Vier Quadrate-Satzes” die folgende ” vier Quadrate- Formel” benutzen:

(∑

1≤i≤4

x2i )(

1≤i≤4

y2i ) = (

1≤i≤4

xiyi)2 + u2 + v2 + w2

u = −x1y2 + x2y1 − x3y4 + x2y4, v = −x1y3 + x3y1 − x4y2 + x2y4,

w = −x1y4 + x4y1 − x2y3 + x3y2

Korollar 8.3 (Fermat, Lagrange)Jede naturliche Zahl ist Summe von vierQuadraten.

Beweis: Nach obiger Formel braucht man die Behauptung nur fur Primzah-len zu beweisen. Sei also p eine ungerade Primzahl. Seien ferner u, v ganzeZahlen mit u2 + v2 + 1 ≡ 0(modp). Solche gibt es nach obigem Lemma. WirDefinieren ein Gitter L durch

L = {(a, b, c, d) ∈ Z4|c ≡ ua+ vb(modp), d ≡ ub− va(modp)}

Dann gilt

|L| = |det

1 0 u −v1 0 u+ p −v0 1 u −v0 1 u −v + p

| = p2

Fur einen kurzesten Gittervektor gilt dann

a2 + b2 + c2 + d2 == kp ≤ 2(|L|ω(4)

)12

= 2√

p22π2 =4√

2

πp < 2p

Also ist a2 + b2 + c2 + d2 = p.In der folgenden Anwendung des Gittersatzes wird die Euklidische Normdurch die Maximumnorm ersetzt. Darum zunachst eine Definition:

Definition 8.4 N : Rn → R heißt Norm, wenn

1. N(x) < 0; x 6= 0;

57

Page 59: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

2. N(rx) = |r|N(x); r ∈ R, x ∈ Rn;

3. N(x+ y) ≤ N(x) +N(y); x, y ∈ Rn.

Beispiele 8.3 1. Np(x) = (∑ |xi|p)

1p

2. N∞(x) = Max|xi|

3. NA(x) = N2(Ax);A : Rn → Rn linear, nichtausgeartet.

Satz 8.6 Sei N Norm und

KN(r) = {x ∈ Rn|N(x) ≤ r}

die N - Kugel mir Radius r und Mittelpunkt 0. Dann gilt

1. KN(r) = rKN(1);

2. vol(KN(r)) = rnvol(KN(1));

3. KN(r) ist symmetrisch und konvex.

4. KN ist kompakt.

Von diesen Aussagen ist nur die letzte nicht offensichtlich. Diese ergibt sichaber leicht aus der Tatsache, dass die euklidische abgeschlossene Einheitsku-gel kompakt ist, und je zwei Normen auf dem Rn aquivalent sind. (Fur einenBeweis siehe etwa S.Lang : Undergraduate Analysis, Springer) dabei heißenzwei NormenN1, N2 aquivalent, wenn c > 0 existiert, so dass

1

cN1 ≤ N2 ≤ cN2

Beispiele 8.4 1. N∞ ≤ N2 ≤√nN∞

2. λ1N2 ≤ NA ≤ λ − nN∞ wobei λ1 der kleinste, und λn der großteEigenwert von A∗A.

Korollar 8.4 Sei N Norm und L Gitter. Dann existiert z ∈ L \ {0} mit

N(z) ≤ 2(|L|

vol(KN(1))

1n

Theorem 8.2 (Dirichlet, 1842) Seien α1, . . . , αn, ε ∈ R, 0 < ε < 1. Danngibt es p1, . . . , pn, qZ, so dass

|αi −pi

q| < ε

q; 1 ≤ i ≤ n; 1 ≤ q ≤ ε−n

58

Page 60: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

q−1(p1, . . . , pn) heißt “ simultane Diophantische Approximation” vona = (α1, . . . , αn).

Beweis: Setze

ei = (o, . . . .0, 1, 0, . . . , 0) ∈ Rn+1; 1 ≤ i ≤ n, a = (α1, . . . , αn, εn+1),

L =< {e1, . . . , en, a} >Z

Dann gilt

|L| = |det

1 . . . 0 0...

. . ....

...0 . . . 1 0α1 . . . αn en+1

| = εn+1

Mit N(x) = Max|xi|; vol(KN(1) = 2n folgt aus dem Gittersatz, dass einz ∈ L \ {0} existiert, so dass

N(z) ≤ 2(|L|

vol(KN(1))

1n = ε

Nun ist z = p1e1 + . . .+ pnen − qa, und N(z) < 1, also O.E. q > 0. Es folgt

|pi − qαi| < ε; εn+1q < ε, 0 < q < ε−n

Der LLL-Algorithmus ist ein polynomielles Verfahren, das einen Gitter-vektor z ∈ L \ {0} berechnet mit

‖z‖ ≤ βn|L|1n

Ein solches Verfahren liefert eine schlechtere Approximation: Man andere imvorangegangenen Beweis die Definition von L dahingehend ab, dass die letzteKomponente von a

β−n−1n+1 εn+1

wird. Es gilt dann

Korollar 8.5 Das Verfahren berechnet p1, . . . , pn, q ∈ Z, mit

|pi − αiq| < ε, i ≤ i ≤ n; 0 < q ≤ βn+1n+1ε

−n

59

Page 61: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

8.3 LLL - Reduktion

In diesem Abschnitt wird eine Variante des beruhmten LLL- Algorithmus- nach A.K. Lenstra, H.W. Lenstra, L. Lovasz (1982) - beschrieben. Die-ser Algorithmus produziert bei Eingabe einer Gitterbasis {f1, . . . , fn} eine“LLL-reduzierte” Gitterbasis. Er funktioniert wieder mit Wechselwegnahme,wie der euklidische . Die geniale Idee hierbei ist der Reduktionsbegriff, der dasHaltekriterium fur den Algorithmus liefert. Hier ist eine heuristische Uberle-gung:Man sucht eine “ kleine “ Gitterbasis. “ klein “ bedeutet aber “nahezu” or-thogonal. Ist g1 = g∗1, . . . gn = g∗n orthogonal so kann man durch umordnen‖g∗1‖2 ≤ ‖g∗2‖2 ≤ . . . ≤ ‖g∗n‖2 erreichen. Folglich ist die Eigenschaft von{g1, . . . gn} dass

‖gi‖2 ≤ ‖gi+1‖2

eine Abschwachung der Orthogonalitat und damit eine Definition vonKleinheit. Dies wird hier als Definition von LLL-Reduziertheit genom-men. Entspechend besteht der Algorithmus aus “ abgeschwachtem” d.h.ganzzahligem orthogonalisieren und umordnen. Die Abschatzung einer LLL-reduzierten Basis gegenuber kurzesten Gittervektoren weist einen Faktor von2n auf. Dennoch ergeben sich effektive Anwendungen auf Faktorisieren vonganzzahligen Polynomen- in einer Variablen - ganzzahlige Programmierungund Brechen von Kryptosystemen, und zwar deswegen, weil der Algorithmusmit O(n4logA); A = max‖fi‖ arithmetischen Operationen auskommt.( Einlanglicher Beweis findet sich weiter unten.) Es ist eine “approximative”Losung eines NP - vollstandigen Problems, namlich eine kurzeste Gitterbasiszu finden.

Definition 8.5 Eine Gitterbasis (f1, . . . fn) heist reduziert, wenn

‖f ∗i ‖2 ≤ 2‖f ∗

i+1‖2

Korollar 8.6 Ist (f1, . . . , fn) reduzierte Gitterbasis von L , so gilt fur allef ∈ L \ {0} :

‖f1‖ ≤ 2n−1

2 ‖f‖

Beweis:

‖f‖2 ≥Min(‖f ∗1 ‖2, . . . , ‖f ∗

n‖2) ≥ ‖f ∗k‖2 ≥

1

2‖f ∗

k−1‖2 ≥ 2k−1‖f ∗1‖2 = 2k−1‖f1‖2

60

Page 62: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Definition 8.6 Man definiert den “nachsten ganzen Nachbarn” einer reellenZahl a als dac = ba + 1

2c.

Algorithmus 8.1 (LLL-Basis-Reduktion)Input: Linear unabhangige Zeilenvektoren f1, . . . fn ∈ Zn.Output : eine reduzierte Basis (g1, . . . gn) von

Zfi.

1. for i = 1, . . . , n do gi ← fi; berechne die GSO (g∗1, . . . , g∗n, µij) von

(g1, . . . gn); I ← 2

2. while i ≤ n do

3. for j = i− 1, i− 2, . . . 1 do

4. gi ← gi − dµijcgj; update GSO ;

5. if i > 1 and ‖g∗i−1‖2 > 2‖g∗i ‖2, then exchange gi−1 and update GSO; i←i− 1 ;else i← i+ 1;

6. return (g1, . . . , gn).

Theorem 8.3 (Lenstra, Lenstra, Lovasz)Der LLL Algorithmus arbeitet korrekt, und benotigt O(n4logA) Operationenin Z auf ganzen Zahlen der Lange O(nlogA) mit A = maxi‖fi‖.

Beweis : Die Kernuberlegung findet im Schritt 6. weiter unten statt: eskommt darauf an, die Anzahl der Iterationen der Schleife in Schritt 2. desAlgorithmus abzuschatzen,- was ein Problem ist, da in diesem Schritt derIndex i abwechselnd herauf und herunter gesetzt werden kann.

1. Wir betrachten Schritt 4. des Alg.. Es sei abkurzend λ = dµijc, und esseien G,G∗,M, bez. H,H∗, N die Matrizen der gk, g

∗k, µkl vor bez. nach

der Ersetzung, und E(ekl) ∈ Zn×n die Matrix mit ekk = 1, eij = λ, undekl = 0 sonst. Offenbar gilt H = EG. Weil die g1, . . . , gk den gleichenlinearen Teilraum aufspannen wie die h1, . . . , hk gilt auch H∗ = G∗.Folglich gilt EMG∗ = EG = H = NH∗ = NG∗, und weil G∗ inver-tierbar ist: EM = N. Dies bedeutet, dass N dadurch entsteht, dassµij durch µij − λµij ersetzt wird. Hierdurch wird µil fur i < l nichtverandert, da fur solche l µil = 0. Das neue µij erfullt |µij| ≤ 1

2. Am

Ende der Schleife von Schritt 3. hat man also

|µil| ≤1

2; 1 ≤ l ≤ i− 1

61

Page 63: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

2. Nehmen wir an, in Schritt 5. werden gi−1 und gi vertauscht. Es seien hk

bez h∗k die Basisvektoren nach der Vertauschung bez. die zugehorigenorthogonalisierten. Offenbar gilt h∗k = g∗k fur k ∈ {1, . . . , n} \ {i, i− 1}.Wir zeigen nun

‖h∗i−1‖2 <3

4‖g∗i−1‖2, sowie ‖h∗i ‖ ≤ ‖g∗i−1‖

Es ist namlich h∗i−1 diejenige Komponente von gi die orthogonal zu∑

1≤l<i−1 Rgl ist. Da aber gi = g∗i +∑

1≤l≤i−1 µilg∗l , ist h∗i−1 = g∗i +

µi,i−1g∗i−1. Folglich ist

‖h∗i−1‖2 = ‖g∗i ‖2 + |µi,i−1|2‖g∗i−1‖2 ≤1

2‖gi−1‖2 +

1

4‖gi−1‖2 =

3

4‖gi−1‖2

Es sei nun

u =∑

1≤l≤i−2

µi−1,lg∗l , U =

1≤l≤i−2

Rgl

Dann ist h∗i die Komponente von gi−1 = g∗i−1 + u, die orthogonal zuU+Rgi ist . Nun ist aber u ∈ U+Rgi, und daher ist h∗i die Komponentevon g∗i−1, die orthogonal zu U + Rgi ist. Folglich ist ‖h∗i ‖ ≤ ‖g∗i−1‖.

3. Zu Beginn jeder Schleife von Schritt 2. hat man

|µkl| ≤1

2fur 1 ≤ l < k < i; ‖g∗k−1‖2 ≤ 2‖g∗k‖2

Dies ist trivial fur den Anfang des Algorithmus. Nehmen wir an, dieUngleichungen gelten zu Beginn der Schleife in Schritt 3., und zeigenwir, dass sie dann auch am Ende von Schritt 5. gelten. Nach obigemgilt der erste Satz von Ungleichungen bis k = i bis unmittelbar vorSchritt 5. Da ein Austausch µkl fur k < i − 1 nicht andert, aber denIndex i um eins vermindert, gilt der erste Satz von Ungleichungen beiAustausch und auch sonst unmittelbar nach Schritt 5. Da die g∗k sichbei Schritt 3.,4. nicht andern gilt der zweite Satz von Ungleichungenauch bis unmittelbar vor Schritt 5. Bei Austausch andern sich die g∗knicht fur k /∈ {i, i− 1}, aber i wird zuruckgesetzt. Bei Nichtaustauschwird zwar i heraufgesetzt, aber es kommt eine neue Ungleichung hinzu,auf Grund der Nichtaustauschbedingung. Also gilt auch der zweite Satzvon Ungleichungen in jedem Fall.

4. Wenn der Algorithmus terminiert, ist die jeweilige Basis LLL-reduziert.

62

Page 64: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

5. ist g1, . . . , gn die zu einem Zeitpunkt vorliegende Basis, so Sei Gk dieganzzahlige k × n -Matrix (g1, . . . , gk)

T , GkGTk = (< gj, gl >) die zu-

gehorige Gramsche Matrix, und dk = det(GkGTk ) die zugehorige Gram-

sche Determinante. Es gilt

gk =∏

1≤l≤k

‖g∗l ‖2 > 0.

Inder Tat: sei fur 1 ≤ k ≤ n Mk die linke obere Teilmatrix von Mk

und G∗k = (g∗1, . . . , g

∗k)

T . Dann ist detMk = 1, und G∗k(G

∗k)

∗ ist aufGrund der Orthogonalitat eine Diagonalmatrix mit Diagonalelementeng

/ast1 ‖2, . . . , ‖g∗k‖2. Ferner ist Gk = Mkg

∗k, und daher

dk = det(GkGTk ) = det(G∗

k(G∗k)

T ) =∏

1≤l≤k

‖k∗l ‖2

In Folge dessen andern sich die dk vin den Schritten 3., 4. nicht. Wennim Schritt 5. gi−1, gi ausgetauscht werden, und d∗k die neuen Werte vondk bedeuten, dann andert sich die Matrix Gk fur k 6= i − 1 durchMultiplikation von links mit einer k × k Permutationsmatrix, derenDeterminante ±1 ist. Also ist dk = d∗k fur k 6= i− 1. Nach obigem hatman zudem

di−1 =∏

1≤l<i

‖g∗l ‖2 ⇒ d∗i−1 ≤3

4di−1

also dk = d∗k fur k 6= i− 1; d∗i−1 ≤ 34di−1

6. Mit diesem Resultat kann die Anzahl der arithmetischen Operationendes Alg. abgeschatzt werden, und insbesondere gezeigt werden, dass erterminiert. Schritt 1. (GSO) benotigt O(n3) Z Operationen. In Schritt4. Hat man Matrizenprodukte EG,EM zu berechnen, was O(n) Z−Operationen erfordert. Also erfordert eine Schleife in Schritt 3.O(n2 Z−Operationen. Die Anzahl der Iterationen der Schleife in Schritt 2.iste+e∗ wobei e die Anzahl der Austauschschritte in 5. und e∗ die Anzahlder “sonst”- Verzweigungen in 5. zahlt. Weil i beim Austauschschrittum eins vermindert wird, und sonst um eins erhoht wird, andert sichi+ e− e∗ nicht. Da i+ e− e∗ anfanglich 2 ist, ist diese Große konstant2. Andereseits nimmt die Große

D =∏

1≤k<n

dk

63

Page 65: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

beim Austausch nach obigem mindestens um den Faktor 34

ab, wahrendsie sich ansonsten nicht andert. Zu Beginn hat man fur A = max‖fl‖ :

D = ‖f ∗1‖n−1‖f ∗

2‖2 . . . ‖f ∗n−1‖ ≤ ‖f1‖n−1‖f2‖n−2 . . . .‖fn−1‖ ≤ A

n(n−1)2

Folglich ist e∗ ≤ log4/3D0 = (n2logA) und damit e = 2 + e∗ − i =O(n2logA), und man hat O(n4logA) Z− Operationen.

7. Abschatzung der g∗k, dk, µkl : Nach Vorraussetzung hat man fur dieanfangliche Basis: ‖fk‖ ≤ A, also auch ‖f ∗

k‖ ≤ A. Wie bereits festge-stellt, konnen d die ‖g∗k‖ im Laufe des Algorithmus allenfalls abnehmen:‖g∗k‖ ≤ A. Also gilt auch

dk =∏

1≤l≤k

‖g∗l ‖2 ≤ A2k

Nun gilt g∗k = gk −∑

1≤<k λklgl; < g∗k, gj >= 0 fur j < k.⇒< gk, gj >=

1≤l<k λkl < gl, gj > . Also losen die λk,1, . . . λk,k−1 ein

lineares Gleichungssystem mit Koeffizientenmatrix Gk−1GTk−1 und De-

terminante dk−1. Aus Cramers Regel folgt dk−1λkl ∈ Z.⇒

dlµkl = dl< gk, g

∗l >

‖g∗l ‖2=dl < gk, g

∗l > dl−1

dl=< gk, dl−1g

∗l >

|µkl| =< gk, g

∗l >

‖g∗l ‖2≤ ‖gk‖‖g∗l ‖‖g∗l ‖2

=‖gk‖‖g∗l ‖

≤ d1/2l−1‖gk‖

weilg∗l ‖2 = dl/dl−1 ≥ 1/dl−1.

8. Abschatzung der gk. Wir haben bereits |µkl| abgeschatzt. Daraus ergibtsich

mi ≤ max{d1/2l−1|1 ≤ l ≤}‖gi‖ ≤ An−2n1/2A = n1/2An−1

Wie andert sich nun µil bei j-ten Ersetzungsschritt in 4.?

|neuesµil| = |µil − dµijcµil| ≤ µil|+ |dµijc||µil| ≤ mi + (mi +1

2)1

2≤ 2mi

Fur l = j ist |µij| ≤ 1/2, ebnso wie fur l > j. Also kann sich der Wertvon mi fur jedes j in der Schritt 3. Schleife hochstens verdoppeln, d.h.insgesamt hochstens um den Faktor 2i−1 ≤ 2n−1 wachsen. Es gilt alsozu jedem Zeitpunkt mi ≤ n1/2(2A)n−1 und damit

‖gi‖ ≤ n1/2miA ≤ n(2A)n

64

Page 66: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

9. Schluss des Beweises: Wie man oben gesehen hat, sind die Nenner samt-licher gk, g

∗k, µkl durch dk ≤ A2n beschrankt; fur die Zahler gilt

|Zahler von gk| ≤ ‖gk‖∞ ≤ n(2A)n

|Zahler von g∗k| ≤ ‖dkg∗k‖∞ ≤ A2k−2A ≤ A2n

|Zahler vonµkl| ≤ |dlµkl| ≤ dld1/2l−1‖gl‖ ≤ A2lAl−1n(2A)n ≤ n(2A4)n

Also ist die Lange samtlicher Zahler und Nenner O(nlogA).

8.4 Anwendungen

In diesem Abschnitt soll die Idee einiger der beruhmten Anwendun-gen der LLL-Reduktion beschrieben werden. Es ist in jedem Fall einegescheite Definition eines Gitters.

Knappsack-Kryptosysteme(Merkle-Helman(1978))brechenAlice publiziert ihren offentlichen Schlussel(a1, . . . , an) ∈ Zn. Bobmochte ihr geheim die Nachricht (x1, . . . , xn) ∈ {0, 1}n senden. Ko-dierung:

C(x1, . . . , xn) = s =∑

1≤i≤n

aixi

Das Dekodierungsproblem -fur beliebige ai - ist NP - vollstandig. Umselber dekodieren zu konnen, benutzt Alice einen geheimen Schlussel,d.h. spezielle ai. Wahlt man bi <

1≤j≤i−1 bj , z.B. bi = 2i, so ist(x1, . . . , xn)→∑

xibi eindeutig, und effektiv decodierbar. Alice wahltnun C,M ∈ Z zufallig und setzt

ai ≡ cbi(modm)

Alice kann dann dank ihres geheimen Schlussels mit c−1(modm) multi-plizieren und dann muhelos dekodieren. Allerdings hat man, - entgegender Hoffnung der Autoren des Kryptosystems - auch ohne den gehei-men Schlussel gute Chancen, wie Shamir(1988) gezeigt hat: Sei L dasGitter, das von den Zeilen ri der Matrix

1 0 . . . 0 −a1

0 1 . . . 0 −a2...

.... . .

......

0 0 . . . 1 −an

0 0 . . . 0 s

65

Page 67: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Ist dann s =∑

i aixi, so ist

v =∑

1≤i≤n

xi = (x1, . . . , xn, 0) ∈ L

und extrem kurz, da ‖v‖2 ≤√n und die ai sehr groß. Wende

LLL-Reduktion an, um kurze Vektoren zu erhalten, eventuell v odereinen “Verwandten”. Auf diese Weise ist das Merkle-Helman-Schemagebrochen worden.

Polynome in Z[x] faktorisieren. (C. P. Schnorr hat die LLL-Reduktion auch zum Faktorisieren ganzer Zahlen zu Hilfe genom-men.) Wir betrachten den Fall eines quadratfreien primitiven Polynomsf ∈ Z[x]. Sei f = g1 . . . gl die Zerlegung in irreduzible. Dann gilt auchf ≡ g1 . . . gl(modm) fur jedes m ∈ N. Die gi aber sind nicht notwen-digerweise irreduzibel modulo m. Wenn man daher zunachst moduloeiner Primzahlpotenz m in irreduzible Faktoren zerlegt, - weil es dafureffektive Algorithmen gibt,- so hat man das Problem der Kombina-tion von modulo p irreduziblen Faktoren zu irreduziblen Faktoren inZ[x]. Alle Moglichkeiten auszuprobieren ist zu kostspielig,- aber LLL-Reduktion hilft. Und zwar auf Grund des folgenden Lemmas (Beweisinv.z.Gathen, Gerhard(1999), Lemma16.20, mit Subresultanten)

Lemma 8.4 Seien f, g, u ∈ Z[x] von positivem Grad , degf =n, degg = k, u monisch. Wenn ‖f‖k‖g‖n < m und u sowohl f alsauch g modulo m teilt, dann ist ggt(f, g) ∈ Z[x] nicht konstant.

Sei also f ∈ Z[x| und u ∈ Z[x] ein Teiler von f in Zm mit degu = d <n = degf. Um einen Faktor g von f in Z[x] mit degg < j zu findenerzeugt man ein Gitter L ⊂ Zj durch die Koeffizientenvektoren von

{uxi : 0 ≤ i < j − d} ∪ {mxi : 0 ≤ i < d}

Ein Element g ∈ L hat dann die Form g = qu + rm mit q, r ∈Z[x], degq < j − d, degr < d. Ist andererseits g ∈ Z[x] modulo mein Teiler von f, so gilt g = q∗u + r∗m mit q∗, r∗ ∈ Z[x]. Division mitRest ergibt r∗ = q∗∗u + r∗∗m, so dass mit q = q∗ + q∗∗m, r = r∗∗ wieoben g = qu+ rm, degq < j − d, degr < d. Also

g ∈ L⇔ degg < j, u|g(modm)

66

Page 68: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Nun enthalt L - bei geeigneter Wahl von j - einen irreduziblen Faktorf1 von f , der modulo m von u geteilt wird. Mignottes Schranke (sieheAbschnitt 10.4) ergibt

‖f1‖ ≤ 2degf‖f‖

LLL- Reduktion findet nun - mit wenig Aufwand; darauf kommt es hieran - ein g ∈ L mit ‖g‖ ≤ 2

j−12 ‖f1‖. Dann gilt

‖f‖degg‖f‖degf ≤ ‖f‖degfg2(degf)2+degf j−12 ≤ ‖f‖2n23n2−n2

Mit dem obigen Lemma erhalt man dann den gewunschten Faktor vonf sofern man m großer als die rechte Seite dieser Ungleichung gewahlthat.

Lineare ganzzahlige Programmierung(Siehe Schrijver(1986))Die Aufgabe lautet: gegeben eine n × m Matix A ∈ Qn×m sowie c ∈Qn, b ∈ Qm, berechne

max{cx|Ax ≤ b, x ∈ Zn}

(Dabei ist max{} = −∞, falls {} = ∅.) Dieses Problem - mit LIPbezeichnet - ist NP - vollstandig. Lenstra hat aber 1983 gezeigt, dassman mit Gitterbasisreduktion einen Algorithmus fur LIP bekommt, derbei festgehaltener Variablenzahl n polynomiell ist. Nach Lovasz wirdLIP auf die folgende Aufgabe LIG reduziert:Berechne y ∈ Zn mit mitAy ≤ b oder c ∈ Zn mit

max{cx|Ax ≤ b} −min{cx|Ax ≤ b} ≤ 2n(n+ 1)2n(n−1)

4

Wir skizzieren zunachst die Reduktion -in zwei Schritten- und dannden Algorithmus fur LIG.1. Ein LIG- Algorithmus liefert einen LIF = LIF (Ax ≤ b) Algorith-mus fur das folgende ProblemLIF (Ax ≤ b) : berechne y ∈ {x ∈ Zn|Ax ≤ b}, falls diese Men-ge nicht leer ist und ∅ sonst. Mit einem LIG- Alg. genugt es namlichLIF (Ax ≤ b; cx = t} zu losen fur

t = dµe, . . . , dµ+ 2n(n+ 1)2n(n−1)

4 e; µ = min{cx|Ax ≤ b, x ∈ Rn}

(Das sind zwar in n exponentiell viele Aufgaben, aber n ist ja fest.)Jedes dieser LIF- Probleme hat, wegen cx = t nur n − 1 Variable;

67

Page 69: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

daher kann man Induktion nach n fuhren.2. Mit einem polynomiellen Algorithmus fur LIF hat man auch einenfur LIP: man hat namlich fur µ die a priori Abschatzung

|µ| ≤ 211n3ϕ

wobei ϕ die sogenannte “ Facettenkomplexitat” von {x ∈ Rn|Ax ≤ b}.Man pruft nun mit LIF, ob [Ax ≤ b, |cx| ≤ T ] ∩ Zn = ∅. Wenn nicht,wird das Intervall halbiert (binary search): man pruft, ob [Ax ≤ b; 0 ≤cx ≤ T ] ∩ Zn = ∅; ist dies der Fall so betrachtet man das Intervall[−T

2, 0]; ansonsten das Intervall [T

2, T ]. Auf diese Weise fortfahrend fin-

det man - o.E. ist c ganzzahlig - nach 11n3ϕ LIF- Schleifen das gesuchteElement.3. Es sei ell(z,D) = {y ∈ Rn|(y − z)TD−1(y − z) ≤ 1} die Kugel mitRadius 1 um z fur die Norm ‖x‖2 = xTD−1x. Wir betrachten nur denFall, dass P = [Ax ≤ b] beschrankt ist und einen inneren Punkt hat. Esgibt einen polynomiellen sogenannten “Rundungsalgorithmus”, der indiesem Fall ein z ∈ Qn und eine positiv definite symmetrische MatrixD produziert, so dass

ell(z,1

(n+ 1)2D) ⊂ [Ax ≤ b] ⊂ ell(z,D)

Man beachte nun, dass man wahlweise ein Gitter∑

i Zgi mit der Eu-klidischen Norm ‖x‖2 =< x, x > oder das Gitter Z2 mit der Norm‖x‖2 =< GGTx, x >=< Gx,Gx > betrachten kann. Man erhalt alsomit

‖x‖ =< D−1x, x >

durch die LLL-Reduktion eine Basis b1, . . . , bn von Zn derart, dass

‖b1‖ . . . ‖bn‖ ≤ 2n(n−1)

4

√detD−1

O.B.d.A. ist ‖b1‖ ≤ . . . ≤ ‖bn‖. Sei

z = λ1b1 + . . .+ λnbn; y = bλ1cb1 + . . .+ bλncbnEntweder ist Ay ≤ b; dann ist man fertig; oder es ist y 6∈ ell(z, 1

(n+1)2D).

In diesem Fall wahlt man c ∈ Zn so dass

c1b1 = . . . = cnbn = 0; c 6= 0; ggt(c1, . . . cn) = 1

c leistet das Verlangte,- wie eine nicht ganz einfache Abschatzungzeigt.(Der Leser mache sich die Losbarkeit von LIG plausibel)

68

Page 70: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

9 Konvolution

9.1 Zusammenfassung

Die Multiplikation zweier Polynome

f = f0 + f1x+ . . .+ fnxn, g = g0 + g1x+ . . . gnx

n ∈ R[x]

gemaß der Formel

fg = g0f0 + (g1f0 + g0f1)x+ . . .+ (∑

i+j=k

figj)xk + . . .+ gnfnx

n+n

erfordert mindestens n2 Multiplikationen in R und O(n2) Ringoperationenin R. Kann der Exponent 2 durch einen sparsameren Algorithmus vermin-dert werden? Eine positive Antwort gab Karatsuba 1962. Sein Algorithmusbraucht weniger als 9nlog3 Ringoperationen, und ist auch auf ganze Zah-len in d− adischer Darstellung anwendbar. Karatsubas Algorithmus ist inSystemen wie MAPLE eingebaut. Eine noch großere Beschleunigung wirderreicht, wenn man ein Polynom durch seine Werte an n + 1 Stutzstellendarstellt. Dann braucht man zur Multiplikation namlich nur n+ 1 Multipli-kationen in R. Die Darstellung, die als Stutzstellen 2k− te Einheitswurzelnbenutzt, heißt “Diskrete Fourier - Transformation”. Sie eignet sich zu einerrekusiven Berechnung, der sogenannten “ schnellen Fourier - Transformati-on” (FFT = Fast Fourier Transformation). Auf diese Weise kammt man beider Multiplikation in R[x] mit O(nlogn) Ringoperationen aus. Wenn R keinegeeigneten Einheitswurzeln enthalt, muss man welche adjungieren, oder - imFall von R = Z etwa- erst nach Zp1 × Zp2 × . . . gehen, und dann wiederzusammensetzen, - nach dem chinesischen Restsatz. Schonhage und Strassenhaben 1971 mit der FFT einen Algorithmus zur Multiplikation ganzer Zah-len konstruiert, der mit O(nlognloglogn) Ringoperatinen auskommt. DieserBedarf ist bis heute nicht unterboten worden. Der Algorithmus vereinfachtsich bei Polynomen. Darum wird er hier nur fur Polynome dargestellt.

9.2 Karatsubas Methode

Algorithmus 9.1 (Karatsubas Polynommultiplikation)Input: f, g ∈ R[x], degf < n, degg < n; n = 2k, R kommutativer Ring mit1.Output: fg ∈ R[x]

1. Wenn n = 1, gib fg ∈ R aus;

69

Page 71: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

2. Schreibe f = F1xn/2 + F0, g = G1x

n/2 + G0; F0, F1, G0, G1 ∈ R[x]vom Grad < Nn2.

3. Berechne rekursiv F0G0, F1G1, (F0 + F1)(G0 +G1);

4. Gib aus: F1G1xn + ((F0 + F1)(G0 +G1)− F0G0 − F1G1)x

n/2 + F0G0

Satz 9.1 Karatsubas Algorithmus benotigt weniger als 9nlog3 Ringoperatio-nen.

Beweis: Die “divide and conquer” Idee besteht darin, f und g in Polynomehalber Lange zu zerlegen:

f = F1xm + F0; g = G1x

m +G0;m =n

2, degFj < m, degGj < m

und die Polynommultiplikation gemaß

fg = F1G1xn + (F0G1 + F1G0)x

m + F0G0

rekursiv fur die FjGk aufzurufen. Dies allein wurde allerdings noch nicht zueiner Verbesserung fuhren, denn man hatte , abgesehen von Additionen

4T (2i−1) ≤ 42T (2i−2) ≤ . . . ≤ 4iT (1) = n2

Ringoperationen. Nun schreibt man aber

F0G1 + F1G0 = (F0 + F1)(G0 +G1)− F0G0 − F0G1

und spaart damit, durch Wiederverwendung von FjGj eine Multiplikation(halber Lange); genauer: ist T (n) die Anzahl der benotigten Ringoperationen,so hat man,- weil die Berechnung von F1G1x

n + F0G0 in Schritt 4 nichtskostet-,in Schritt 3, 4 : außer den rekursiven 3T (m) noch 4n Additionen bez.Subtraktionen, d.h.

T (n) ≤ 3T (n

2) + 4n

Darum ergibt sich die Behauptung aus dem folgenden Lemma

Lemma 9.1 Seien b, d ∈ N, b > 0;S, T : N → N, ; 2S(n) ≤ S(2n); n ≤S(n), T (1) = d und fur gerade n

T (n) ≤ bT (n

2) + S(n)

Dann gilt fur n = 2i

T (n) ≤

(2− 2n)S(n) + d ∈ O(S(n)); b = 1

S(n)logn+ dn ∈ O(nlogn); b = 22

b−2(nlogb−1 − 1)S(n) + dnlogb ∈ O(S(n)nlogb−1; b ≥ 3

70

Page 72: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beweis:

T (2i) ≤ bT (2i−1) + S(2i) ≤ b(b(T (2i−1) + S(2i−1) = b2T (2i−2) + bS(2i−1) + s(2i) ≤ . . .

≤ biT (1) +∑

0≤j<i

bjS(2i−j)

≤ bid+∑

0≤j<i

bj2−jS(2i)

= dnlogb + S(n)∑

0≤j<i

(b

2)j

Fur b = 2 bekommt man in der Tat : T (n) ≤ dn + S(n). Fur b 6= 2 erhaltman

T (n) ≤ dnlogb + S(n)( b

2)i − 1

b2− 1

= dnlogb + S(n)nlogb−1 − 1

b2− 1

Will man diese Methode auf ganze Zahlen anwenden, so schreibt man

a = a0 + a1r + a2r2 + . . .

und z.B. r = 264. Die ai sind dann “Worter”uber {0, 1} der Lange 63 . Mit

n

2= m, a = A12

64m + A0, b = B1264m +B0; Aj , Bj < 264m

schreibt man wieder

ab = A1B1264n + ((A0 + A1)(B0 +B1)−A0B0 −A1B1)2

64m + A0B0

Im Gegensatz zu den Polynomen hat man bei den ganzen Zahlen jedochden “Ubertrag” zu beachten: es kann passieren, dass A0 + A1 ≥ 264m, oderB0+B1 ≥ 264m, was die Rekursion stort. In einem solchen Fall kann man aberA0B1 + A1B0 anders berechnen, und zwar so, dass kein Ubertrag entsteht,z.B.

A0B1 + A1B0 = A0B0 + A1B1 − (A0 − A1)(B0 −B1)

Auf diese Weise zeigt man:

Satz 9.2 (Karatsuba)Multiplikation zweier ganzer Zahlen von hochstens n“Wortern “ kann mit O(8nlog3) Wortoperationen bewerkstelligt werden.

71

Page 73: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

9.3 Die schnelle Fourier- Transformation

(Fur Verallgemeinerungen der diskreten Fourier-Transformation in der Grup-pentheorie - und untere Schranken - siehe Kap. 13 in Burgisser et al.) Wirwollen nun einen Algorithmus konstruieren, der zwei Polynome f, g an gewis-sen Stutzstellen auswertet, die Werte miteinander multipliziert und aus denso erhaltenen Werten fg interpoliert. Ist n hinreichend groß, so kann manmodulo xn − 1 rechnen. Wir betrachten also den Ring R[x]/ < xn − 1 > .Daneben betrachten wir den Ring Rn, d.h. die n−fache direkte Summe vonR. Stellt man Elemente r ∈ Rn als Zeilenvektoren dar, stellt sich Additionund Multiplikation komponentenweise dar:

(r1, . . . rn) + (s1, . . . , sn) = (r1 + s1, . . . , rn + sn);

(r1, . . . , rn) · (s1, . . . , sn) = (r1s1, . . . , rnsn)

Jedes Element des Restklassenringes R[x]/ < xn − 1 > wird reprasentiertdurch ein Polynom f ∈ R[x] mit degf < n. Indem wir das Element durch denKoeffizientenvektor von f darstellen stellen wir den Restklassenring ebenfallsdurch Rn dar. Die zugehorige Multiplikation heißt zyklische Konvolutionund wird mit f ∗n g = f ∗ g bezeichnet. Fur

f = f0 + . . . fn−1xn−1; g = g0 + . . .+ gn−1x

n−1

folgt mit xn+i ≡ 1mod(xn − 1) :

f ∗n g =∑

0≤k<n

hkxk; hk =

i+j≡k(modn)

figj

Definiert man nun D : R[x]→ Rn durch

Df = (f(ω0), . . . , f(ωn−1))

fur irgendwelche ωj ∈ R, so ist D ein Ringhomomorphismus - , d.h.D(f + g) = Df + Dg; D(fg) = DfDg, aber dieser induziert nur danneinen Ringhomomorphismus auf dem Restklassenring R[x]/ < xn − 1 >,wenn ωn

j = 1, d.h. wenn die Stutzstellen n− te Einheitswurzeln sind.

Definition 9.1 ω ∈ R heißt n− teEinheitswurzel, wenn ωn = 1. ω heißtprimitive n− te Einheitswurzel, wenn ωn = 1, n kein Nullteiler in R undωn/t 6= 1 fur jeden echten Primteiler 6= 1 von n. Ist ω primitive n− te Ein-heitswurzel so definiert man die Abbildung DFTω : R[x]/ < xn − 1 >→ Rn

durch

DFTωf = (f(1), f(ω), . . . , f(ωn−1))

DFTω heißt diskrete Fourier-Transformation.

72

Page 74: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beispiele 9.1 1. ω = ei2π8 ist offenbar 8− te EW. Wegen eiπ = −1 sogar

primitive.

2. Einzige Nichtnullteiler in Z8 sind 1, 3, 5, 7. Alle diese sind 2− te EW’n.Also gibt es keine weiteren.

3. nach Euler ist 316 ≡ 1(mod17). Ferner ist

32 = 9; 34 = 81 ≡ −4(mod17); 38 ≡ 16(mod17).

Also ist 3 primitive 16− te EW modulo 17. Ferner sind alle Quadrate8− te EW’n also keine Primitiven 16− ten EW’n. Also sind genau die8 Nichtquadrate in Z17 primitive 16− te EW’n.

Bezuglich der Basis 1, x, . . . xn−1 hat DfTω die Matrix

Vω =

1 1 1 . . . 11 ω ω2 . . . ωn−1

1 ω2 ω4 . . . ω2(n−1)

......

.... . .

...1 ωn−1 ω2(n−1) . . . ω(n−1)(n−1)

Satz 9.3 Mit ω ist auch ω−1 primitive n−te EW. Es gilt: VωVω−1 = nId.

Beweis:

(VωVω)ik =∑

0≤j<n

ωijω−jk =∑

0≤j<n

ω(i−k)j

Wenn i = k kommt n heraus. Sonst 0 nach dem folgenden Lemma.

Lemma 9.2 Sei R Ring,l, n ∈ N, l, n ≥ 1, 1 < l < n, ω primitive n−te EW.Dann gilt:

1. ωl − 1 ist kein Nullteiler in R.

2.∑

0≤j<n ωlj = 0;

Beweis: Wir benutzen die Gleichung

(c− 1)∑

0≤j<m

cj = cm − 1

Damit folgt die zweite Behauptung aus der ersten. Um die erste zu zeigen seig = ggt(l, n). Es gibt einen Primteiler t von n sowie m ∈ N, so dass gm = n

t.

Dann gilt

(ωg − 1)a = ωgm − 1 = ωn/t − 1

73

Page 75: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Da die letzte Zahl nach Annahme kein Nullteiler ist, ist ωg − 1 auch keiner.Mit dem EEA findet man nun Zahlen u, v so dass g = ul + vn. Dann giltaber

ωul − 1 = ωul+vn − 1 = ωg − 1

Also ist ωul − 1 kein Nullteiler, und wegen (ωl − 1)a = ωul − 1 auch ωl − 1keiner.

Algorithmus 9.2 (FFT)Input: n = 2k, k ∈ N; f =

0≤i<n fixi, ω, ω2, . . . , ωn−1, ω ∈ R primitive,

n− te EW; R kommutativer Ring mit EinsOutput: DFTωf = (f(1), f(ω), . . . , f(ωn−1)

1. Wenn n = 1 gib (fo) aus

2. r0 ←∑

0≤j<n/2(fj + fj+n/2)xj , r∗1 ←

0≤j<n/2(fj − fj+n/2)ωjxj

3. Berechne rekursiv DFTω2r0, DFTω2r∗1

4. Gib aus: (r0(1), r∗1(1), r0(ω2), r∗1(ω

2, . . . , r0(ωn−2, r∗1(ω

n−2))

Satz 9.4 FFT arbeitet korrekt und benotigt nlogn Additionen in R undn2logn Multiplikationen mit Potenzen von ω, also 3

2nlogn Ringoperationen.

Beweis: Es ist ω2 primitive n2− te EW: Ferner ist ωn/2 = −1, weil 0 =

ωn − 1 = (ωn/2 − 1)(ωn/2 + 1) und der erste Faktor ist nach Annahme keinNullteiler. Wir schreiben:

f = F1xn/2 + F0 = F1(x

n/2 − 1) + F0 + F1 = F1(xn/2 + 1) + F0 − F1

mit gegFi < n/2. Wir setzen r0 = F0 + F1, r1 = F0 − F1, r∗1(x) = r1(ωx).

Dann gilt

f(ω2i) = F1(ω2i)(ωni − 1) + r0(ω

2i) = r0(ω2i)

f(ω2i) = F1(ω2i+1)(ωniωn/2 − 1) + r1(ω

2i+1 = r∗1ω2i)

Also arbeitet FFT korrekt.Sei S(n) bez. T (n) die Anzahl der Additionen bez. Multiplikationen, die derAlgorithmus bei Eingabe eines Polynoms vom Grad < n benotigt. Dann gilt

S(n) = n+ 2S(n

2); S(1) = 0. T (n) =

n

2+ 2T (

n

2); T (1) = 1

74

Page 76: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Hieraus folgt durch Auswickeln

S(n) = nlogn; T (n) =n

2logn.

Jetzt kommt die schnelle Mutiplikation von Polynomen uber Ringen, die 2k−te EW’s besitzen. Man nennt

f ∗ g =∑

k

(∑

i+j=k

figj)xk

auch Konvolution von f und g.

Algorithmus 9.3 (Schnelle Konvolutin)Input: f, g ∈ R[x]degf, degg < n = 2k, ω primitive, n− te EW in R, Ringmit n ∈ R∗

Output : f ∗ g ∈ R[x].

1. Berechne ω, ω2, . . . , ωn−1.

2. α← DFTωf, β ← DFTωg

3. γ ← α · β (komponentenweise)

4. Gib aus: 1nDFTω−1(γ)

Satz 9.5 ” Schnelle Konvolution” arbeitet korrekt, und benotigt fur polyno-me f, g mit degfg < n : 9

2nlogn+O(n) Ringoperationen.

Der Beweis sei dem Leser uberlassen.Hier sind einige Aufgaben zu primitiven Einheitswurzeln:

Aufgaben 9.1 1. Sei G eine endliche abelsche Gruppe, a, b ∈ G ,undg = ggt(orda, ordb); k = kgv(orda, ordb). Dann gilt ord(abg) = k.

2. (Satz vom primitiven Element) Sei G eine endliche Untergruppe derEinheitengruppe R∗ eines Integritatsbereiches R. Dann ist G zyklisch,d.h. von einem Element erzeugt.(Hinweis: wenn a1 ∈ G,< a1 > 6= G,wahle b1 ∈ G \ {a1}, und a2 = a1b

g1. Dann ist nach obiger Aufgabe

orda2 < orda1, usw.)

3. Sei Fq Korper mit q Elementen. Wenn u|q−1, dann ist die Gruppe deru ten E.W. zyklisch von der Ordnung u, und es gibt ϕ(u) primitive.( ϕ(u) = ]Zu.)

75

Page 77: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

4. Sei q − 1 = 2ku. Dann ist die Abbildung a→ au eine surjektive Abbil-dung auf die Gruppe der 2k− ten EW’ln, und von diesen ist die Halfteprimitiv.

5. Der folgende Algorithmus findet eine 2k te EW - mit einer erwartetenAnzahl von O(logq) Multiplikationen in Fq.

Algorithmus 9.4 (Finde p.EW)Input:q = 2ku+ 1, p Primzahl, FOutput: eine primitive 2k− te EW.

1. Wahle zufallig a ∈ Fq; b← au

2. Berechne {b, b2, . . . , b2k−1} = E.

3. Wenn 1 ∈ E goto 1. Sonst : gib b aus.

9.4 Die Methode von Schonhage und Strassen

Theorem 9.1 (Schonhage, Strassen 1971)Die Multiplikation zweier ganzer Zahlen der Lange n kann mit O(nlogn ·loglogn) Wortoperationen bewerkstelligt werden.

Wir werden den zugehrigen Algorithmus,- der bis heute nicht unterbotenwurde- nicht darstellen, sondern den eifacheren Fall der Multiplikation zweierPolynome in R[x], diesmal auch wenn R nicht die fur die DFT erforderlichenprimitiven Einheitswurzeln enthalt. ( Man sucht dann den Fall ganzer Zah-len auf diesen Fall zuruckzufuhren, indem man eine ganze Zahl d− adisch,d.h. als Polynom

i = zidi darstellt.) Man kann namlich Einheitswurzeln

adjungieren, indem man R zu S = R[x]/ < p > fur geeignetes p ∈ R[x]erweitert. Multiplikation in S ist aber Polynommultiplikation modulop unddamit ergibt sich die Moglichkeit einer Rekursion, vorrausgesetzt, R und Ssind von der gleichen Bauart. Man arbeitet daher mit Ringen der Form

Rn = R[x]/ < xn + 1 >; n = 2k

Mit

t =n

m= 2d

k2e ≥ √n ≥ 2b

k2e = m

ergibt sich ein kommutatives Diagramm

R2n × R2nmult.−→ R2n

α× α

y

x

β

(R2m)2t × (R2m)2tmult.−→ (R2m)2t

76

Page 78: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Um die Abbildung α : R2n → (R2m)2t zu erklaren, bezeichnen wir die Rest-klasse eines Elementes f ∈ R[x] modulo (x2m+1) mit f. (Ebensomod(x2t+1).)Sei nun 0 ≤ l < 2n. Division mit Rest durch m ergibt l = qm + r mit0 ≤ r < m. Es gibt nun genau eine R− lineare Abbildung α mit

α(xl) = α(xqm+r) = xryq

(α ist wohldefiniert!) β ist das Inverse von α :

β(xryq) = xl

Sinn und Zweck der Abbildung α wird klar, wenn man

f =∑

0≤i<2t

Fixmi

schreibt, mit Polynomen Fi vom Grad < m. Dann ist namlich

αf =∑

0≤i<2t

Fi+ < y2t + 1 >

Man kann also α(f) als Polynom in y mod(y2t + 1) mit Koeffizienten in R2m

auffassen. R2m besitzt aber 4t− te primitive Einheitswurzeln, namlich

η = x fallst = m und η = x2 fallst = 2m

Dann definiert x→ ηx einen Isomorphismus

γ : R2m[y]/ < y2t + 1 >→ R2m[y]/ < y2t − 1 >

Auf diesem Ring ist aber die diskrete Fourier - Transformation DFTη defi-niert, welche diesen Ring isomorph auf (R2m)2t abbildet. Schließlich hat manein kommutatives Diagramm

R2n × R2nmult.−→ R2n

δ × δ

y

x

ε

(R2m)2t × (R2m)2t mult.−→ (R2m)2t

Hier ist

δ = ϕ ◦ γ ◦ α, ε = β ◦ γ−1 ◦ ϕ−1, ϕ = DFTη

Sei T (n) die Anzahl der arithmetischen Operationen, die der AlgorithmusA = ε ◦mult. ◦ (δ × δ) fur zwei Polynome a, b mit degab ≤ n benotigt. Seien

77

Page 79: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

ferner E(µ) die Auswertungskosten von µ ∈ {α, β, γ, γ−1, ϕ, ϕ−1, ε, δ}. Danngilt

T (n) ≤ 2E(δ) + 2mT (t) + E(ε)

≤ 2mT (t) + 2E(α) + 2E(γ) + 2E(ϕ) + E(β) + E(γ−1) + E(ϕ−1)

zwei Elemente aus R2m zu addieren, oder ein Element aus R2m mit ei-nem xl oder einem Element des Primkorpers von R zu multiplizieren kostethochstens 2m arithmetische Operationen in R . Dies sind aber die einzigenarithmetischen Operationen, die bei der schnellen Fourier- Transformationentstehen. Folglich ist

E(ϕ) ≤ 2m3

2(2t)log(2t) = O(nlogn)

und ebenfalls E(ϕ−1) ≤ E(ϕ) + (2t)(2m) = O(nlogn). Insgesamt erhalt mandie Rekursion

T (n) ≤ 2tT (m) +O(nlogn)

die von T (n)O(n(logn)(loglogn)) gelost wird, wie man mit Induktion nachk = logn bestatigt.

Theorem 9.2 (Schonhage, Strassen) Sei R ei kommutativer Ring mit 1 undchar(R) 6= 1. Das Produkt fg zweier Polynome f, g ∈ R[x] mit deg(fg) ≤ nkann - mit dem Algorithmus ε ◦ mult. ◦ (δ × δ) - mit O(n(logn)(loglogn))arithmetischen Operationen in R berechnet werden.

9.5 Die stetige Fourier- Transformation

Die stetige Fouriertransformation f : Z→ C eines “ Signals” f : [0, 2π]→C ist gegeben durch

f(k) =

∫ 2π

0

f(t)e−ktdt

Die folgende Umkehrformel druckt dann f als Fourierreihe aus:

f(t) =1

k∈Z

f(k)eikt

Die Zahlen βk = 12πf(k) heißen Fourierkoeffizienten. Die Funktionen

t→ f(k)eikt = F (t) sind periodisch mit kleinster Periode T = 2πk

: F (t) =

78

Page 80: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

F (t + T ). T heißt auch Wellenlange. k = T2π

heißt Frequenz. Die Fre-quenzen sind verantwortlich fur die Farbe eines optischen Signals und dieTonhohe eines akustischen Signals. f(k) heißt Amplitude von F (t), und istverantwortlich fur Lautstarke eines akustischen Signals, sowie Leuchtkraft ei-nes optischen. Die Bedeutung der Fouriertransformation in der Technik liegtvor allem darin, daß sie vom Zeitbereich t in den Frequenzbereich k(als De-finitionsbereich des Signals) wechselt. f(k) ist der Beitrag der Frequenz kzum Wert f(t) des Signals zur Zeit t. Da das menschliche Ohr, oder Augehohe Frequenzen kaum wahrnimmt, kann man die entsprechenden f(k)eikt

weglassen, ohne die Empfangsqualitat zu beeintrachtigen, und erreicht da-mit Datenkompression. Wenn man die f(k) ubertragen will, man denkean Fernsehbilder, dann ist es offenbar wichtig, f schnell berechnen zu konnen,moglichst in “ realtime.”Wenn ein stetiges Sinal an diskreten Stellen ausgewertet wird, erhalt manein diskretes Signal. Wenn man z.B. ein stetiges 2π - periodisches Signalan den Stellen 2πn

N, 0 ≤ n < N “abgreift”, erhalt man ein diskretes Signal

f : Z → C mit Periode N . Dessen diskrete Fouriertransformation istdefiniert durch

f(k) =∑

0≤n<N

f(n)e2πnk

N =∑

0≤n<N

f(n)ωkn

mit der primitiven N− ten Einheitswurzel ω = e2πiN .Man kann f(k) auffassen

als f(ωk) fur das Polynom f = f0 + f1X + . . .+ fN−1XN−1.

79

Page 81: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

10 Lineare Algebra

In diesem Abschnitt geht es um das Losen linearer GleichungssystemeAx = b. Strassens Methode(1969) beruht auf einer neuartigen Weise Matri-zen miteinander zu multiplizieren. Wiedemanns Methode(1986) beruht aufeiner Berechnung des Minimalpolynoms der Folge (Aib)i, die bei speziellenn × n Matrizen vorteilhaft ist, namlich bei solchen, fur die die Auswertungy → Ay wenig kostet - im Vergleich zu n2. Dazu zahlen “ dunn besetzte”Matrizen.En passant wird die Frage erortert, wie man gunstig Funktionen durch Ratio-nale Funktionen approximiert: Cauchy- Interpolation, Pade- Approximation.Namlich mittels EEA.

10.1 Strassens Matrixmultiplikation

Algorithmus 10.1 (Strassens Matrixmultiplikation (SMM) (1969))Input: A,B ∈ F n×n, R Ring, n = 2k, k ∈ NOutput: AB ∈ F n×n

1. Wenn n = 1, A = (a), B = (b), gib (ab) aus.

2. Schreibe

A =

(

A11 A12

A21 A22

)

, B =

(

B11 B12

B21 B22

)

mit n/2× n/2− Matrizen Aij, Bij .

3. Berechne mit SMM rekursiv

P1 = (A12 −A22)(B12 − B22);

P2 = (A11 −A22)(B11 − B22);

P3 = (A11 −A21)(B11 +B12);

P4 = (A11 + A12)B22;

P5 = A11(B12 −B22);

P6 = A22(B21 −B22);

P6 = (A12 + A22)B11 :

4. Gib aus:(

P1 + P2 − P4 + P6 P4 + P5

P6 + P7 P2 − P3 + P5 − P7

)

80

Page 82: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Satz 10.1 SMM arbeitet korrekt und benotigt fur das Produkt zweier n × nMatrizen weniger als 6nlog27 Ringoperationen.

Sei ω das Infimum aller Zahlen α so dass zwei n×n Matrizen uber R mit we-niger als O(nα) Ringoperationen miteinander multipliziert werden konnen. ωheißt der Exponent der Matrixmultiplikation. Der Exponent anderer Ope-rationen, wie z.B. der Matrixinversion wird analog definiert. SMM zeigtω ≤ log7 = 2, 81 . . . . Coppersmith, Winograd zeigten 1986 : ω ≤ 2, 376.Der entsprechende Algorithmus ist sehr kompliziert. Es ist aber auch in denletzten 30 Jahren eine bewundernswerte und schone Theorie zum Exponen-ten der Matrixmultiplikation entstanden,- ohne dass es gelungen ware eineuntere Abschatzung > 2 zu zeigen. Weitere Angaben hierzu findet man inBurgiesser, Clausen, Shokrollahi(1997). Was hier interessiert, ist dass dieMatrixmultiplikation den gleichen Exponenten hat, wie eine Reihe weitererProbleme der linearen Algebra:

1. Inversion

2. Determinante

3. charakteristisches Polynom

4. Basis des Kerns

5. Diagonalisierung Symmetrischer S (OSO−1 diagonal)

Wir wollen hier beweisen, dass Matrixmultiplikation und Inversion den glei-chen Exponenten haben. Ausgangspunkt ist die folgende Formel von Strassenfur n× n Matrizen Aij :

(

A11 A12

A21 A22

)−1

=

(

A−111 + A−1

11 A12∆−1A21A

−111 , −A−1

11 A12∆−1

−∆−1A21A−111 , δ−1

)

mit ∆ = A22 − A21A−111 A12. Diese Formel kann man leicht verifizieren; aller-

dings ist sie nur gultig, wenn die Matrizen A11 und ∆ invertierbar sind, wasz.B. bei der invertierbaren Matrix

(

0 11 0

)

nicht der Fall ist. Sie gilt aber fur untere (und obere) Dreiecksmatrizen:

(

A11 0 =A21 A22

)−1

=

(

A−111 , 0

A−122 A21A

−111 , A

−122

)

81

Page 83: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Wir schildern jetzt einen Algorithmus von Bunch und Hopcroft, der eine Ma-trix in eine untere Dreiecksmatrix L , eine obere Dreiecksmatrix U und einePermutationsmatrix P zerlegt. Aus dieser Zerlegung laßt sich leicht ein Inver-sionsalgorithmus gewinnen, der ohne zusatzliche Annahmen zeigt, dass In-version und Multiplikation den selben Exponernten haben.(siehe Aho(1975)et al.

Definition 10.1 (L,U, P ) heißt LUP− Zerlegung einer (m, p)− MatrixA, wenn A = LUP, und L eine m ×m Matrix in unterer Dreiecksform, Ueine m × p Matrix in oberer Dreiecksform, und P eine Permutationsmatrixist. Dabei heißt P Permutationsmatrix, wenn jede Zeile und jede Spalteeine 1 und p− 1 Nullen enthalt.

Algorithmus 10.2 (Factor(A,m, p) )Input: eine m× p - Matrix A vom Rang m = 2k ≤ p.Output: Eine LUP− Zerlegung von A.

1. wenn m = 1 finde ein Element aij 6= 0. Sei Q die Permutationsmatrix,die bei Multiplikation von rechts mit A die erste und die j− te Zeilevertauscht. Setze L = (1), U = AQ,P = Q−1; gib (L,U, P ) aus.

2. Schreibe A =

(

BC

)

mit m/2 ×m/2 Matrizen B,C und zerlege B mit

Factor(B,m/2, p) in B = L1U1P1; berechne D = CP−11 .

3. Schreibe U1 = (E,E1), D = (F, F1) mit m/2 × m/2 Matrizen E,F.Berechne die m/2× p Matrix G = D − FE−1U1.

4. Schreibe G = (0, G1) mit einer (m/2, p−m/2)− Matrix G1. Zerlege G1

mit Factor(G1, m/2, p−m/2) in G1 = L2U2P2;

5. Schreibe

L =

(

L1 0FE−1 L2

)

, P3 =

(

Id 00 P2

)

, U3 = (0, U2); U =

(

U1P−13

U3

)

;

P = P3P1

6. Gib (L,U, P ) aus.

Satz 10.2 “Factor” arbeitet korrekt.

82

Page 84: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beweis: wir begnugen uns mit der folgenden Identitat:

A =

(

L1 00 Id

) (

U1

D

)

P1 =

(

L1 0FE−1 Id

) (

UG

)

P1

=

(

L1 0FE−1 Id

) (

Id O0 L2

) (

U1P−13

U3

) (

Id O0 P2

)

P1

Sei T (m) die Anzahl der arithmetischen Operationen, die Factor(A,m,m)benotigt, und ensprechend M(m) fur die Multiplikation von m×m− Matri-zen. Man zahlt leicht nach, dass

T (2k+1) ≤ 2T (2k) + eM(2k)

fur ein geeignetes e > 0.Sei nun ω der Exponent der Matrixmultiplikation und ω < ω1. Dann ist alsoT (2k) ≤ ee12

kω1, und es folgt mit Induktion nach k dass

T (2k) ≤ e32kω1; e3

ee12ω1 − 2

fur den Exponenten der LUP− Zerlegung ωLUP folgt

ωLUP ≤ ω

Satz 10.3 Matrixmultiplikation und Inversion haben den gleichen Exponen-ten.

Beweis: Mit A = LUP folgt A−1 = P−1U−1L−1. Sind I(m) die arithmeti-schen Kosten der Inversion einer m×m− Matrix, und ID die einer m ×mDreiecksmatrix, so folgt

I(2k) ≤ 2ID(2k) + 3M(2k)

weil die Inversion einer Permutationsmatrix keine arithmetischen Kosten ver-ursacht. Nun gilt fur die Inversion von Dreiecksmatrizen, wie man gesehenhat

ID(2k+1) ≤ 2ID(2k) + 2M(2k)

Hieraus folgt wie oben fur den Exponenten ωID der Inversion von Dreiecks-matrizen: ωID ≤ ω, und somit fur den Exponenten ωI der allgemeinen Inver-sion ebenfalls ωI ≤ ω. Schließlich folgt ω ≤ ωI und damit der Satz aus derfolgenden Identitat von Winograd :

Id A 00 Id B0 0 Id

−1

=

Id −A AB0 Id −B0 0 Id

83

Page 85: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beispiele 10.1 (LUP- Zerlegung)

Gesucht ist die LUP- Zerlegung von A =

0 0 0 10 1 0 00 0 0 11 0 0 0

Factor((0, 0, 0, 1), 1, 4)) : l1U1P1 = (1)(1, 0, 0, 0)

0 0 0 10 1 0 00 0 0 11 0 0 0

Man hat C = (0, 0, 2, 0), P1 = p−11 , D = (0, 0, 2, 0), E = (1); F = (0);

G = (0, 0, 2, 0); G1 = (0, 2, 0).

Factor(G1, 1, 3) : L2U2P2 = (1)(2, 0, 0)

0 1 01 0 00 0 1

Factor(

(

0 0 0 10 0 2 0

)

, 2, 4) :

(

1 00 1

) (

1 0 0 00 2 0 0

)

0 0 0 10 0 1 00 1 0 01 0 0 0

Nun schreibt manD = CP−11 =

(

0 3 0 04 0 0

)

0 0 0 10 0 1 00 1 0 01 0 0 0

(

0 0 300 0 4 0

)

,

E =

(

1 00 2

)

; F =

(

0 00 0

)

; G = D; G1 =

(

3 00 4

)

Factor(G1, 2, 2) :

(

1600 1

) (

3 00 4

) (

1 00 1

)

Diesmal ist P3 = id, und daher U1 =

(

1 0 0 00 2 0 0

)

Folglich ist

Factor(A, 4, 4) : Id

2 0 0 00 2 0 00 0 3 00 0 0 4

0 0 0 10 0 1 00 1 0 01 0 0 0

84

Page 86: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

10.2 Wiedemanns Algorithmus

Wir wenden uns jetzt dem zweiten Thema dieses Abschnittes zu: Glei-chungssysteme Ax = b zu losen fur den Fall, dass die Kosten c(A) fur dieOperation v → Av mit einer n× n Matrix A gering im Vergleich zu n2 sind.Hier sind wichtige Falle

Matrizenklasse c(A)allgemein 2n2 − nSylvester-Matrizen O(M(n))FFT-Matrizen DFTω O(nlogn)Vandermonde - Matrizen O(M(n)logn)dunn besetzte Matrizen mit ≤ s Nicht Nulleintragen ≤ 2s

Weiteres zu diesem wichtigen Thema der Numerik findet man in Kap.13 vonBurgisser et al.(1997)

Definition 10.2 Sei V ein Vektorraum uber einem Korper F. Eine Folgea = (ai)i∈N ∈ V N von Elementen aus V heißt linear rekurrent uber F ,wenn n ∈ N und f0, . . . , fn ∈ F existieren, mit

0 = f0ai + . . .+ fnai+n, fn 6= 0; (i ∈ N)

Das Polynom f = f0 + f1x + . . . + fnxn heißt dann charakteristisches

Polynom von a. Ein charakteristisches Polynom f mit minimalem Grad nund fn = 1 heist Minimalpolynom von a.

Der Folgenraum V N ist bezuglich komponentenweiser Addition und Skalar-multiplikation mit Elementen aus F ein F− Vektorraum. Er wird vermoge

(ga)i = g0ai + . . .+ gnai+n, g = g0 + g1x+ . . . gnxn

ein F [x]− Modul, d.h. es gilt fur alle a, b ∈ V N, f, g ∈ F [x] :

f(a+ b) = fa+ fb; (f + g)a = fa+ ga; f0 = 0; 0a = 0; 1a = a

(fg)a = f(ga) = g(fa)

Die Gultigkeit der letzten Zeile macht man sich am besten klar, indem manfeststellt, dass Multiplikation mit xj den j- fachen “ shift” nach links bedeu-tet:

(xja)i = ai+j

Offenbar bilden die charakteristischen Polynome von a ein Ideal in F [x], dasvon einem monischen Element erzeugt wird - F [x] ist ein Hauptidealring - esist das Minimalpolynom ma; degma heißt Rekursionsordnung von a.

85

Page 87: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beispiele 10.2 1. V = F ; a = 0, ma = 1.

2. V = FQ, a0 = 0, a1 = 1, ai+2 = ai+1 + ai;ma = x2 − x − 1. a heißtFibonacci- Folge.

3. V = F n×n, A ∈ V, A ist also eine n × n Matrix- a = (Ai)i∈N. a istlinear rekurrent: definiert man χA(x) = det(xId−A) ∈ F [x], so besagtder Satz von Hamilton - Caley:

χA(A) = 0

4. V = F n, A ∈ F n×n, b ∈ F n, a = (Aib)i∈N. Wieder ist χA charakteri-stisch.

5. V = F ; A ∈ F n×n, b, u ∈ F n, a = (uTAib)i. Dies ist das Beipiel,das im Algorithmus von Wiedemann weiter unten auftritt. Es ist einSpezialfall des folgenden

6. b ∈ V N, ϕ : V → W, linear,W Vektorraum uber F, a = (ϕ(ai))i. Ist fcharakteristisches Polynom von b , so ist es auch char. Polynom von a.

Dies ist die Idee von Wiedemanns Algorithmus:Sei A eine invertierbare n× n Matrix; dann ist

χA(x) = xn − (∑

i

Aii)xn−1 + . . . (−1)ndetA

Sei b ∈ F n, a = (Aib)i∈N. Dann ist

ma = m0 +m1x+ . . .+mdxd

ein Teiler von χA, und deshalb m0 6= 0. Folglich kann man schreiben

b = −m−10

1≤i≤d

Aib = A(−m−10

1≤d

Ai−1b)

Mit y = −m−10

1≤i≤dAi−1b gilt

Ay = b

Man kann also mit Hilfe des Minimalpolynoms der Folge a das lineare Glei-chungssystem Ax = b losen:

Algorithmus 10.3 (Nichtsingulare n× n Systeme nach Wiedemann)Input: Invertierbares A ∈ F n×n, b ∈ F n;Output: y = A−1b ∈ F n.

86

Page 88: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

1. Berechne m = ma fur a = (Aib)i ∈ (F n)N;

2. h← −m−m(0)m(0)x

∈ F [x]

3. Berechne nach Horner y = h(A)b

4. Gib y aus.

Es kommt nun darauf an, das Minimalpolynom so zu berechnen, dass furgewisse Klassen von Matrizen ein Vorteil gegenuber allgemeingultigen Me-thoden entsteht. Genauer: sei c(A) die Anzahl der F− Operationen, die fureine Matrix- mal- Vektor Operation v → Av benotigt werden. Dann geht esum Verfahren mit einem Rechenaufwand von O(nc(A)).Wir betrachten zunachst den skalaren Fall a ∈ FN, und dann den Vektorfalla = (Aib)i. Der skalare Fall wird auf die sogenannte Pade- Approximationzuruckgefuhrt. Pade- Approximation bedeutet Approximation von Polyno-men durch rationale Funktionen, und wird mit dem erweiterten euklidischenAlgorithmus (EEA) berechnet.

Definition 10.3 Sei f = f0 + f1x + . . . fdxd ∈ F [x]. Man setzt revdf =

xdf(x−1) = f0xd + . . . fd.

Satz 10.4 Sei a = (ai)i ∈ FN linear rekurrent mit Rekusionsordnung d ≤ n,und f = a0 +a1x+ . . . a2n−1x

2n−1. revdt ist genau dann Minimalpolynom vona, wenn es ein s ∈ F [x] gibt, mit

s

t≡ f(modx2n); x 6 | t; degt ≤ n; degs < n; ggt(s, t) = 1.

d = max{1 + degg, degr}

Beweis : Sei h =∑

i aixi ∈ F [[x]] = Ring der formalen Potenzreihen uber

F ,

γ = γ0 + . . . γdxd, r = revγ = γ0x

d + . . . γd.

Fur k ≥ d ist

(rh)k =∑

0≤j≤d

rd−jhk−d+j =∑

0≤j≤d

fjak−d+j

Also ist γ genau dann char. Pol. von a, wenn deg(rh) < d, d.h.

h =g

r≡ f(modx2n), degg < d

87

Page 89: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Offenbar ist d ≥ max{1 + degg, degr}, und degr < d genau dann, wennx|γ. Sei nun γ = ma. Ware d < max{1 + degg, degr}, so ware x Teiler vonγ = γ1x+. . .+γdx

d, also r = rev(γ/x), und γ/x char. Pol. von f entgegen derMinimalitat von γ. Also bist d = max{1 + degg, degr}; degg < d, degr ≤ d.Beachtet man d ≤ n nach Vorraussetzung, so bleibt noch ggt(g, r) = 1 zuzeigen.Sei dazu u = ggt(g, r), also uk = r = revγ, revureva = γ, revk = γ

revu=

γ∗, degγ∗ = d− degu, ru

= k = revγ∗, ruh = g

u. Es ist also γ∗ char.Pol. von

a und wegen der Minimalitat von γ degu = 0, d.h. ggt(g, r) = 1.(s, t) ist (n− n)− Pade- Approximation von f im Sinne der folgenden Defi-nition:

Definition 10.4 Sei f =∑

0≤i fixi ∈ F [[x]] eine formale Potenzreihe mit

Koeffizienten aus einem Korper F ; (s, t) ∈ F [x]2 heißt Pade- Approxima-

tion von f , wenn

x 6 |; s ≡ tfmodxn; degs < k; degt ≤ n− k; ggt(s, t) = 1

Pade Approximationen werden mit dem EEA konstruiert, wie weiter untenausfuhrt wird.

Algorithmus 10.4 (Minimalpolynom skalar)Input : Eine obere Schranke n fur die Rekursions Ordnung d und die ersten2n Eintrage a0, a1, . . . an−1 ∈ F einer linear rekurrenten Folge a ∈ FN.Output: Das Minimalpolynom ma ∈ F [x]

1. h← a2n−1x2n−1 + . . .+ a1x+ a0

2. Berechne mit dem EEA(x2n, h) eine (n, n) -Pade- Approximation(s, t) ∈ F [x]2 von h mit t(0) = 1.

3. d← max(1 + degs, degt); gib revd(t) aus

Wir wenden uns nun der Aufgabe zu, das Minimalpolynom einer vektoriellenlinear rekurrenten Folge zu bestimmen.

Lemma 10.1 Sei R Integritatsbereich,

n ∈ N, S ⊂ R, s = ]S, r ∈ R[x1, . . . , xn], degr ≤ d ∈ N.

Dann gilt

1. Ist r 6= 0 so hat r hochstens dsn−1 Nullstellen in Sn.

2. Ist r(Sn) = {0}, und d < s - so ist r = 0.

88

Page 90: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beweis: (2) folgt aus (1).(1) folgt mit Induktion nach n . Der Fall n = 0 ist trivial. Ist die Behauptungschon bis n− 1 bewiesen, und

r =∑

0≤i≤k

ri(x1, . . . , xn−1)xin, rk 6= 0

so unterscheiden wir zwei Sorten von Nullstellen y = (y1, . . . yn) ∈ Sn von r :Fur die eine ist rk(y1, . . . yn−1) = 0. Von diesen kann es nach Induktionsan-nahme hochstens (d− k)sn−2 geben. Fur die andere ist rk(y1, . . . , yn−1) 6= 0.Weil ein Polynom vom Grad k hochstens k Nullstellen aht, gibt es von derzweiten Sorte hochstens ksn−1 viele. Also gibt es insgesamt hochstens dsn−1.Das folgende Lemma dient der Laufzeitabschatzung in unserem probabilisti-schen Algorithmus.

Lemma 10.2 Sei U ⊂ F endlich,A ∈ F n×n, b ∈ F n \ {0}, a =(Aib)i∈N, f = ma, degf = d. Wahlt man u ∈ Un zufallig, gleichverteilt,so ist mit Wahrscheinlichkeit p ≥ 1 − d

]Uf das Minimalpolynom der Folge

(uTAib)i∈N.

Beweis: Sei Mf = {a|fa = 0} die Menge der Folgen, fur die f charakte-ristisch ist. Da die ersten d Eintrage einer Folge a ∈ Mf diese vostandigbestimmen, aber ihrerseits beliebig vorgegeben werden konnen, ist Mf ein d-dimensionaler F Vektorraum. Eine spezielle Basis erhalt man wie folgt: Sei

c = (0, . . . 0, 1cd, cd+1, . . . ) ∈Mf

Die cd+j sind also so gewahlt, dass fc = 0. Dann ist

{c, xc, x2c, . . . xd−1c}

eine Basis von Mf . Folglich ist jedes a ∈ Mf eindeutig von der Form gcmit einem g ∈ F [x] mit degg < d. Wenn wir ϕ∗(gc) = g + fF [x] setzen, erhalten wir eine Bijektion ϕ : Mf → F [x]/ < f > . Ordnet man jetztu ∈ Un die Folge ψ(u) = uTAib)i∈N zu so erhalt man ψ(u) ∈ Mf . Da fMinimalpolynom ist, sind die bAb, A2b, . . . , Ad−1b linear unabhangig. Hierausfolgt, dass ψ∗ : F n →Mf surjektiv ist. Setzt man nun

ψ = ϕ ◦ ψ∗

so ist ψ : F n → F [x]/ < f > eine Surjektion.Sei nun ψ(u) = g. g ist genau dann Nullteiler in F [x]/ < f >, wenn es einh ∈ F [x] \ {0} gibt, mit degh < d, und gh = ρf, d.h. wenn f nicht Minimal-polynom von gc ist. Anders ausgedruckt: f ist genau dann Minimalpolynom

89

Page 91: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

von ψ∗(u), wenn g Einheit in F [x]/ < f >, d.h. wenn ggt(ψ(u), f) = 1. Seinun ej der j− te Einheitsvektor in F n, so dass sich u ∈ F n eindeutig alsu = u1e1 + . . .+ unen schreibt. Wir betrachten das Polynom

r(y1, . . . , yn) = resx(y1ψ(e1) + . . .+ ynψ(en), f) ∈ F [y1, . . . , yn]

Auf Grund der definierenden Eigenschaft von Resultanten ist ψ(u) genaudann Einheit in F [x]/ < f >, wenn r(u1, . . . , un) = 0. Nun gibt es, weil ψSurjektion ist, u ∈ F n mit ψ(u) = 1. Also ist r 6= 0. Nach dem vorange-gangenen Lemma ist daher bei zufalliger Wahl von u ∈ Un die WS, dass fMinimalpolynom von ψ∗(u)

≥ sn − dsn−1

sn= 1− d

s= 1− d

]U

Algorithmus 10.5 (Minimalpolynom vektoriell)Input: A ∈ F n×n invertierbar,b ∈ F n;Output: Minimalpolynom ma von a = (Aib)i∈N

1. Wenn b = 0, gib 1 aus;

2. Wahle U ⊂ F endlich ;

3. Wahle u ∈ Un zufallig, gleichverteilt, und berechneuTAib ∈ F, 0 ≤ i < 2n;

4. Berechne mit “Minimalpolynom skalar“ das Minimalpolynom m ∈ F [x]der Folge (uTAib)i mit Rekursionsschranke n;

5. Wenn m(A)b = 0, gib m aus. Sonst goto 3.

10.3 Pade- Approximation

Es sei an das Gleicungssystem des EEA(g, f) erinnert:

ρ0r0 = g ρ0s0 = 1 t0 = 0

ρ1r1 = f s1 = 0 ρ1t1 = 1

ρ2r2 = r0 − q1r1 ρ2s2 = s0 − q1s1 ρ2t2 = t0 − q1t1...

......

ρi+1ri+1 = ri−1qiri ρi+1si+1 = si−1 − qisi ρi+1ti+1 = ti−1 − qitiq...

......

0 = rl−1 − qlrl ρl+1sl+1 = sl−1 − qlsl ρl+1tl+1 = tl−1 − qltl

90

Page 92: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Hierbei ist ρi+1 = lc(ri−1remri), und ri+1 = normal(ri−1remri).Der Beweis des folgenden Lemmas mittels Induktion sei dem Leser uberlas-sen:

Lemma 10.3 1. ri = sig + tig;

2. degsi = degg − ni−1 nj = degrj 2 ≤ i ≤ l + 1;

3. degti = degf − ni−1;

4. siti+1 − tisi+1 = (−1)i(ρ0 . . . ρi+1)−1;

5. ggt(si, ti) = 1;

6. ggt(ti, g) = ggt(ti, ri).

Satz 10.5 (rationale Approximation) Seien

f, g ∈ F [x], degg = n > 0, degf < n, k ∈ {0, 1, . . . , n}.

Sei j im EEA minimal mit degrj < k. Dann gilt

1. rj ≡ tjf(modg); degrj < k; degtj ≤ n− k. Wenn ggt(rj, tj) = 1, dannist ggt(g, tj) = 1.

2. Wenn r ≡ tf(modg), ggt(r, t) = 1, lc(t) = 1, degr < k, degt ≤ n− k,dann ist r = τ−1rj , t = τ−1tj mit τ = lc(tj) ∈ F ∗.((r, t) heißt rationale (n, k)− Approximation von f(modg. ))

Beweis: Nach Lemma und wegen der Minimalitat von j ist

rj ≡ tjf(modg); degtj = degg − degrj−1 < n− k

Wenn ggt(rj, tj) = 1 dann ist nach Lemma ggt(tj, g) = 1.Um die zweite Aussage zu zeigen, schreiben wir r = tf+sg. Wahle i im EEAso dass degri ≤ degr < degri−1. Dann gilt

sit = sti

Ware diese Behauptung falsch, so konnte man das System

(

si tis t

) (

fg

)

=

(

ri

r

)

91

Page 93: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

losen und erhielte nach Cramers Regel

f =

det

(

ri tir t

)

det

(

si tis t

)

Dann hatte man deg(Zahler) = deg(rit − rti) ≤ max(degri + degt, degr +gegti) ≤ (degr − degt, degr + degg − degri−1) < max(n, n) = n = degf,im Widerspruch zur Annahme. Also ist sit = sti. Weil ggt(si, ti) = 1ist t = αti, α ∈ F [x] \ {0}. Da t monisch, ist siαti = sti. Wegen (4)ist ti 6= 0, g = αri also siα = s, r = αtif + αsig = αri. Folglich :α|ggt(t, r) = 1 α ∈ F ∗, α = 1

lc(tj), τ = α−1.

Beispiele 10.3 1. EEA(12(x3 − 73x2 + 5

3x− 1

3),−12(x2 − 5

6− 1

6))

i qi qi ρi si ti0 − 12 x3 − 7

3x2 + 5

3x− 1

3112

01 x− 3

2−12 x2 − 5

6x+ 1

60 − 1

12

2 x− 12

14

x− 13

13

13x− 1

2

3 − 1 0 −13x+ 1

6−1

3x2 + 2

3x− 1

3

Resultat:

ggt(ρ0r0, ρ1r1) = (x− 1

3)ρ0r0 + (

1

3x− 1

2)ρ1r1

2. EEA(x3 + 2x2 + 2x, x2 + x+ 2); F = Z5

i qi ρi ri si ti0 − 1 x3 + 2x2 + 2x 1 01 x+ 1 3 x2 + x+ 2 0 22 x+ 4 4 x+ 2 4 2x+ 23 x+ 2 4 0 x2 + x+ 2 3x3 + x2 + x

Resultat: f = 3x2 + 3x + 1 ist das “ Interpolationspolynom”, welchesan den Stellen i die Werte 2i annimmt.(i = 0, 1, 2. ) Eine Funktion gnimmt genau dann ebenfalls diese Werte an diesen Stellen an, wenng ≡ fmod(x(x− 1)(x− 2).Aus der zweiten Zeile erhalt man eine ratio-nale Funktion

r2t2

=x+ 2

2x+ 2=

3x+ 1

x+ 1

92

Page 94: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

die das tut. Man spricht von einer (2, 1)− Cauchy- Interpolation. AusZeile 3 erhalt man eine (1, 1) Cauchy- Interpolation:

r3t3

=1

2x2 + 1=

3

x2 + 3

(bei einer (k, n−k) Interpolation rtist n die Anzahl der Stellen, degr <

k, degt ≤ n− k.)

3. EEA(x4, x3 + 2x2 + 3x+ 4); F = Z5

i qi ρi ri si ti0 − 1 x4 1 01 x+ 3 4 x3 + 2x2 + 3x+ 4 0 42 x 1 x2 + 2x+ 3 1 x+ 33 x2 + 2x+ 3 4 1 x x2 + 3x+ 14 − 1 0 4x3 + 3x2 + 2x+ 1 x4

Resultat: Zeile 1. enthalt die triviale (0, 4) Pade- Approximation von

f =∑

0≤i

(i+ 1)xi = (1

1− x)′ =1

(1− x)2

Zeile 2. enthalt die (3, 1)− P.A. x2+2x+13x+3

.

Zeile 3. enthalt die (2, 2)− P.A. 1x2+3x+1

= 1(x−1)2

= f !!

Zeile 4. enthalt keine P.A., da x|t4.

4. Sei f = x2 + 1 ∈ F [x], F = Q. Es gibt keine (2, 1) P.A. Andernfallshatte man r, t ∈ Q[x] mit degr < 2; degt ≤ 1, x 6 |t, r ≡ tf(modx3), t =ax+b, b 6= 0, also r ≡ (ax+b)(x2+1) ≡ ax+bx2+b, was unmoglich ist,wegen deg r ≤ 1 . Im EEA(x3, x2 +1) hat man zwar r2 = s2x

3 + t2f ≡t2f(modx3) aber

r2t2

= 1 6≡ x2 + 1(modx3)

i qi ρi ri si ti0 − 1 x3 1 01 x 1 x2 + 1 0 12 x −1 x −1 x3 x 1 1 x 1− x2

4 − 1 0 −1− x2 x3

93

Page 95: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

5. Es ist das Minimalpolynom der Folge (3, 0, 4, 2, 3, 0, . . . ) ∈ ZN

5 mit Re-kursionsordnung ≤ 3 zu berechnen. Folglich berechnen wir eine (3, 3)−P.A. von f = 3+4x2+2x3+3x4, also den EEA(x6, 3x4+2x3+4x2+3) :

0 qi ρi ri si ti0 − 1 x6 1 01 x2 + x+ 3 3 x4 + 4x3 + 3x2 + 1 0 22 x3 + x2 4 x+ 3 4 2x2 + 2x+ 13 x+ 3 1 1 x3 + x2 2x5 + 4x4 + 4x3 + x2

4 − 1 0 . . . . . .

Resultat: es ist r2

t2≡ f(modx6). Ferner ist ggt(r2, t2) = 1, max(degr2 +

1, degtj) = d = 2 und daher rev2t2 = x2 + 2x + 2c das gesuchte Mini-malpolynom von a.

6. Lineare Gleichungen nach Wiedemann: zu losen ist Ax = b mit

A =

1 4 44 0 31 2 4

; b =

312

;

Ab =

033

; A2b =

443

; A3b =

204

; A4b =

303

; A5b =

010

Wahlt man u = (1, 0, 0)T , so erhalt man die Folge (uTAib)i =(3, 0, 4, 2, 3, 0 . . . ), deren Minimalpolynom sich oben als x2 + 2x + 2

ergeben hat. Da aber A2b+ 2Ab+ 2b =

023

, hat man von neuem ein

u zu wahlen. Wahlt man u = (1, 2, 0)T , so erhalt man mit “ Minimal-polynom skalar” m = x2 + 3x + 1. Man pruft nach, dass in der TatA3 + 3Ab+ b = 0. Dann ist

h = −m−m(0)

m(0)x= −x2 − 3 = 4x2 + 2

und

x = h(A)b = 4A2b+ 2b =

231

94

Page 96: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

11 Der Euklidische Algorithmus. Fortset-

zung

11.1 Zusammenfassung

Die Frage nach den Kosten des erweiterten Euklidischen Algorithmus inF [x], (F Korper) stellt sich (nach der ublichen Abstraktion von der realenSituation) auf zweifache Weise:

1. Wieviel arithmetische Operationen in F werden fur gegebene f, g ∈F [x] mit degf = n, degg = m benotigt?

2. Wie groß konnen Zahler und Nenner von Koeffizienten von Zwischen-resultaten werden?

Auf die erste Frage liefert die ubliche Analyse des EEA die Antwort O(mn).(siehe v.z.Gathen, Gerhard(1999).) Der EEA liefert naturgemaß alle Zwi-schenresultate, d.h. alle Zeilen des EEA Gleichungssystems. Wenn mannur an einer einzigen Zeile interessiert ist, z.B. an der letzten, kann manden Algorithmus von Knuth, Schonhage (siehe unten) verwenden, der mitO(M(n)logn)F− Operationen auskommt. Hier bedeuten M(n) die Multipli-katonskosten in F [x] , die im Abschnitt uber Konvolution betrachtet wurden,mit dem Ergebnis M(n) = O(nlogn) - in einigen Fallen.Die zweite Frage wird gern ubersehen, wenn man sich nicht klar macht, dasssich bei Mukltiplikation oder Addition zweier rationaler Zahlen die Langeihrer Zahler und Nenner verdoppeln kann:

a1

b1

a2

b2,a1

b1+a2

b2=a1b2 + a2b1

a2b2

Sollte dies bei n aufeinanderfolgenden Operationen passieren, so wurdenZahlen der Lange 2n auftreten, - und EEA ware kein polynomieller Al-gorithmus. Zum Gluck ist dem nicht so und man sieht dies mit Hilfe von“Subresultanten” - einer Verallgemeinerung von Resultanten. Allerdingsgibt es das Phanomen des “ intermediate coefficient swell” wirklich, wieman leicht feststellt, indem man etwa MAPLE auf zwei zufallig gewahltenPolynomen arbeiten laßt. Teilweises Verstandnis fur dieses Wachstum wirddurch Mignottes Faktorschranke (siehe unten) fur den ggt(f, g) ermoglicht,welche die Abschatzung der anderen Zwischenresultate durch Subresultantenum eine Großenordnung unterbietet. Diese ist der Ausgangspunkt fur einenmodularen Algorithmus, welcher modulo einer Primzahl rechnet, die etwasgoßer ist als die Mignotte-Schranke. In der Praxis erweisen sich allerdingsAlgorithmen als wesentlich schneller, die modulo mehrer kleiner Primzahlen

95

Page 97: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

rechnen, und die gewunschten Resultate mittels chinesischem Restsatzwieder zsammensetzen.Das Studium der Subresultanten lohnt sich noch aus einem anderen Grunde:der sogenannte “ Hauptsatz” (siehe unten) zeigt, dass eine Variante desKnuth,Schonhage- Algorithmus ohne zusatzliche Kosten die Resultanteberechnet. Dies ist ein wichtiges Resultat, weil die Resultante in vielenAlgorithmen - zwecks Elemination von Variablen- auftritt.

11.2 Schnelle Ggt- Berechnung

Es sei an die Gleichungsform des EEA(f, g) erinnert:

ρ0r0 = g ρ0s0 = 1 t0 = 0

ρ1r1 = f s1 = 0 ρ1t1 = 1

ρ2r2 = r0 − q1r1 ρ2s2 = s0 − q1s1 ρ2t2 = t0 − q1t1...

......

ρi+1ri+1 = ri−1 − qiri ρi+1si+1 = si−1 − qisi ρi+1ti+1 = ti−1 − qitiq...

......

0 = rl−1 − qlrl ρl+1sl+1 = sl−1 − qlsl ρl+1tl+1 = tl−1 − qltl

Hierbei ist ρi+1 = lc(ri−1(rem)ri), und ri+1 = normal(ri−1(rem)ri). Sei ni =degri.(n0, n1, . . . nl+1) heißt Gradfolge. Man setzt mi = degqi.Mit Induktionnach i sieht man, dass

n0 − ni =∑

1≤i≤i

mi

Die Zahl η(k) wird nun dadurch definiert, dass

n0 − nη(k) ≤ k < n0 − nη(k)+1

Idee des schnellen EEA: die ersten Quotienten q1, q2, . . . hangen nur vonden hochsten Koeffizienten fn, fn−1, . . . , gm, gm−1, . . . von f = r0, g = r1 ab.Man wendet daher eine “divide and conquer“- Strategie an: man berechnet(rekursiv) den ggt der fuhrenden ersten Halften f ′, g′ von f und g und damiteine k -te Zeile in der Mitte des EEA(f, g) und dann rekursiv ggt(rk, rk+1)und damit ggt(f, g). Weil man nicht n, sondern den Algorithmus in zwei glei-che Teile teilen mochte, wahlt man k = η(bn

2c). Der fuhrende k− Abschnitt

96

Page 98: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

von f = fnxn + . . .+ f0 mit degf = n wird definiert durch

f � k = fnxk + +fn−1x

k−1 + . . . fn−k

Es ist inspirierend, die Zeilen des EEA mit Matrizen zu formulieren:

Qi =

(

0 1ρ−1

i+1 −qiρ−1i+1

)

, Ri =

(

si tisi+1 ti+1

)

, 0 ≤ i ≤ l

Es gilt dann:

Ri

(

fg

)

=

(

ri

ri+1

)

, QiRi = Ri+1, Qi

(

ri−1

ri

)

=

(

ri

ri+1

)

und damit(

rl

0

)

= Ql . . . Q1R0

(

fg

)

Die Abhangigkeit der qi, ρi+1 von den fuhrenden Abschnitten von f, g vorr-ausgesetzt (siehe Lemma weiter unten) wird durch diese Formel noch einmaleine “ Halbierungsstrategie” nahegelegt.

Algorithmus 11.1 (SEEA(r0, r1, k) )Input : r0, r1 ∈ F [x], lcr0 = lcr1 = 1, n = n0degr0 > n1 = degr1, k ∈ N, 0 ≤k ≤ n.Output : h = η(k) ∈ N, Rh ∈ F [x]2×2

1. wenn r1 = 0, oder k < n0 − n1 gib 0,

(

1 00 1

)

aus

2. d← bk/2c

3. Berechne j−1, R = Qj−1 . . . Q1 mit SEEA(r0 � 2d, r1 � 2d−(n0−n1))

4.

(

rj−1

rj

)

← R

(

r0r1

)

,

(

nj−1

nj

)

←(

degrj−1

degrj

)

5. wenn rj = 0 oder k < n0 − nj , gib (j − 1, R) aus

6. Ersetze qj ← rj−1(quo)rj, ρj+1 ← lc(rj−1(rem)rj), rj+1 ←normal(rj−1(rem)rj), nj+1 ← degrj+1

7. d∗ ← k − (n0 − nj)

97

Page 99: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

8. Berechne h − j = η(d∗), S = Qh . . . Qj+1) mit SEEA(rj � 2d∗, rj+1 �

(2d∗ − nj − nj+1), d∗);

9. Qj ←(

0 1ρ−1

j+1 −qjρ−1j+1

)

10. Gib (h, SQjR) aus.

Theorem 11.1 SEEA arbeitet korrekt und benotigt fur n ≤ 2k(24M(k) +O(k))logk Operationen in F.

Bemerkungen:

1. Der Algorithmus gibt sh, th, sh+1, th+1 aus; man kann also mit wenigenzusatzlichen Operationen ρh und rh = shf + thg berechnen.

2. Ist die Vorraussetzung lcr0 = lcr0 = 1 nicht erfullt, so dividiere mandurch die fuhrenden Koeffizienten. Ist dann die Vorraussetzung degr0 <degr1 nicht erfullt, so ersetze man r1 durch normal(r0 − r1). Fur dieLaufzeitabschatzung sei auf v.z.Gathen,Gerhard(1999) verwiesen. Manhat, um zu dieser Abschatzung zu kommen, die “ schnelle” Divisionmit Rest- via Newton- Iteration - im Algorithmus zu verwenden.

3. Man kann ohne zusatzliche arithmetische Operationen noch die ρi, ni

ausdrucken lassen. Dies ist fur die schnelle Berechnung der Resultante(weiter unten) wichtig.

4. Varianten (modulare) des Algorithmus arbeiten mit ahnlichen Laufzei-ten in Z,Z[x], F [y][x].

5. Eine Anwendung ist die schnelle Multiplikation in F [x]/ < f >, f ∈F [x]. Mit der schnellen Division mit Rest kommt man bei der Multipli-kation au 6M(n)+O(n), und bei der Division mit dem schnellen EEAauf (24M(n) +O(n))logn.

6. V.Strassen zeigte, dass im sogenannten skalaren Berechnungsmodell,wo Addition und Multiplikation (von Polynomen) mit Skalaren nichtgezahlt werden, der SEEA

O(n0H(m1/m,M2/m, . . .ml/m)); m =∑

1≤i≤l

mi

F -Operationen benotigt, wobei H(p1, . . . pl) =∑

i−p1logpi die Entro-pie von (p1, . . . pl). Er zeigte zudem, dass in diesem Modell mindestensn0H(m1/m, . . .ml/m)F− Operationen benotigt werden, um alle Quo-tienten qi zu breechnen.

98

Page 100: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Das folgende Lemma und das Korollar dazu prazisieren die unter “Idee”angefurte Beobachtung und zeigen damit die Korrektheit. Die folgende Defi-nition ist dabei nutzlich

Definition 11.1 Seien f, g, f ∗, g∗ ∈ F [x] \ {0}, degf ≥ degg, degf ∗ ≥degg∗, k ∈ Z. Man sagt, (f, g) und (f ∗, g∗) stimmen bis k uberein, wenn

f � k = f ∗ � k und

g � (k − (gegf − degg)) = g∗ � (k − (degf ∗ − degg∗))

In diesem Fall, und wenn k ≥ degf − degg, ist

degf − degg = degf ∗ − degg∗

Lemma 11.1 Es geltek ∈ Z, (f, g), (f ∗, g∗) ∈ (F [x] \ {0})2, k ≥ degf − degg ≥ 0sowie f = qg + r, degr < degg, und f ∗ = q∗g∗ + r∗, degr∗ < degg∗ .Wenn dann (f, g) und (f ∗, g∗)) bis 2k ubereinstimmen, dann gilt(q = q∗) und ( (g, r) und (g∗, r∗) stimmen bis 2(k − degq) uberein ) oder(r = 0 ) oder(k − degq < degg − degr) .

Vor dem Beweis ein Korollar, aus dem direkt die Korrektheit des SEEAfolgt. Dazu stellt man sich neben dem Gleichungssystem fur EEA(r0, r1)mit den ρi, ri, qi, si, ti noch ein Gleichungssystem fur EEA(r∗0, r

∗1) vor mit

entsprechenden ρ∗i , r∗i , q

∗i , s

∗i , t

∗i .

Korollar 11.1 Sei k ∈ N, h = η(k), h∗ = η∗(K). Wenn (r0, r1) und (r∗0, r∗1)

bis 2k ubereinstimmen, dann gilt

h = h∗, qi = q∗i , ρi = ρ∗i , 1 ≤ i ≤ h.

Beweis des Lemmas:Man kann annehmen, dass degf = degf ∗ < 2k. ( ist dies nicht gegeben,so multipliziert man (f, g), (f ∗, g∗) mit geeigneten Potenzen von x .)Aus dervorrausgesetzten Ubereistimmung folgt dann degf − degg = degf ∗ − degg∗,und damit degg = deg∗. Aus k ≥ degf − degf = degq = degf ∗ − degg∗ =degq∗ folgt dann

deg(f − f ∗) < degf − 2k ≤ degg − k ≤ degg − degqdeg(g − g∗) < degg − (2k − (degf − degg)) = degf − 2k ≤ degg − kdeg(r − r∗) ≤ max(degr, degr∗) < degg

f − f ∗ = q(g − g∗) + (q − q∗)g∗ + (r − r∗).

99

Page 101: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Die Polynome f−f ∗, q(g−g∗), und r−r∗ haben also alle einen Grad < degg.Also ist deg(q − q∗)g∗ < degg = degg∗ und daher q = q∗.Um den Rest der Behauptung zu zeigen, nehmen wir an, dass

r 6= 0, und k − degq ≥ degg − degr

Dann ist zu zeigen, dass

g � 2(k − degq) = g∗ � 2(k − degq)

r � (2(k − degq)− (degg − degr)) = r∗ � (2(k − degq)− (degg∗ − degr∗))

Die erste Gleichung folgt aber schon aus der Ubereinstimmung von (f, g) undf ∗, g∗ bis 2k , da 2(k−degq) ≤ 2k−degq = 2k−degf −degg. Um die zweitezu zeigen schreiben wir

deg(r − r∗) = max(deg(f − f ∗), degq + deg(g − g∗)degq + deg(g − g∗ < degq + degf − 2k = degg − 2(k − degq)

deg(f − f ∗ < degf − 2k ≤ degq + degf − 2k

deg(r − r∗) < degr − (2(k − degq)− (degg − degr))

Nach Vorraussetzung ist k − degq ≥ (degg − degr) > 0, und daher2(k − degq) − (degg − degr) > 0. Also ist degr = degr∗ und die behaup-tete Ubereinstimmung von r und r∗ folgt aus

deg(r − r∗) < degr − (2(k − degq)− degg − degr))

q.e.d.

11.3 Subresultanten

Wir wenden uns jetzt der Frage zu, wie lang die Koeffizienten imEEA werdenkonnen. Der Beweis des folgenden Lemmas sei dem Leser uberlassen (siehev.z.Gathen,Gerhard(1999))

Lemma 11.2

degsi =∑

2≤j<i

degqi = n1 − ni−1; 2 ≤ i ≤ l + 1

degti =∑

1≤j<i

degqj = n0 − ni−1, 1 ≤ i ≤ l + 1

100

Page 102: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Satz 11.1 Sei 0 ≤ k ≤ m ≤ n, n = degf, m = degg.(k kommt nicht in der Gradfolge vor) ⇔ ∃s, t ∈ F [x] mit deg(sf + tg) <k, t 6= 0, degs < m− k, gegt < n− k.

Beweis: “⇒′′: Es gibt 2 ≤ i ≤ l+1 mit ni < k < ni−1. Wahle s = si, t = ti.Dann gilt ri = sif + tig, degri = ni < k; degsi = n1 − ni−1 = m − ni−1 <M − k; degti = n0 − ni−1 = n− ni−1 < n− k. Aus ti = 0 folgt si = 0. Nachfruherem Lemma ist

si+1ti − ti+1si = (−1)i(ρ0 . . . ρi+1)−1

Also ist ti 6= 0.“ ⇐′′: Sei r = sf + tg. Wahle j so dass degrj ≤ degr < degrj−1. Wie imBeweis des Satzes uber rationale Approximation gezeigt, folgt die Existenzvon α ∈ F [x] mit r = αrj, s = αsj, t = αtj. ⇒ nj ≤ degr = degα+ nj <k; n− nj = degtj ≤ degt < n− k. Q.e.d.

Sei Pd = {f ∈ F [x||degf}. Wir betrachten die “ Bezout”Abbildung

ϕk : Pm−k × Pn−k → Pn+m−2k : ϕ(s, t) = sf + tg(quo)xk

Wenn also sf + tg = a0 + a1x+ . . .+ am+n−kxn+m−k,

so ist ϕ(s, t) = ak+1xk+1 + . . . an+m−kx

n+m−k.

Korollar 11.2 Sei 0 ≤ k ≤ m ≤ n und 0 ≤ i ≤ l + 1.

1. k kommt in der Gradfolge vor ⇔ ϕk ist Iso.

2. Wenn k = ni, dann ist (si, ti) eindeutig bestimmte Losung von ϕ(s, t) =1.

Wahlt man in Pm−k × Pn−k die Basis

((xm−k, 0), . . . (1, 0), (0, xm−k), . . . (0, 1))

und in Pm+n−2k : (xn+m−2k, . . . x, 1) so hat ϕk bezuglich dieser Basen dieMatrix Sk :

Sk =

fn gm...

. . ....

. . .

fn−m+k+1 fn gk+1 gm...

......

. . .

fk+1 fm gm−n+k−1 gn...

......

...f2k−m+1 fk g2k−n+1 gk

101

Page 103: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Dabei ist fj = gj = 0 gesetzt, falls j < 0. Sk entsteht also aus der Sylvester -Matrix S0 dadurch dass man von der letzteren die letzten 2k Zeilen weglaßt,sowie die letzten k f− Spalten und die letzten k g− Spalten.

Definition 11.2 detSk(f, g) = σk(f, g) heißt k − te Subresultante von(f, g).

Da ϕk nicht in offensichtlicher Weise eine Selbstabbildung eines Vektorraumesist, kann man die Subresultante nicht dieser Abbildung zuordnen, ohne diebeiden Basen zun erwahnen.

Korollar 11.3 Sei 0 ≤ k ≤ m ≤ n, und 0 ≤ i ≤ l + 1.

1. (k kommt in der Gradfolge vor) ⇔ (ϕk 6= 0);

2. Wenn k = ni und x = (ym−k−1, . . . , y0, zn−k−1, . . . 0) die eindeutig be-stimmte Losung von Skx = (0, . . . , 0, 1) ist, dann ist

si =∑

0≤j<m−k

yjxj ; ti =

0≤j<n−k

zjxj

Definition 11.3 Sei f = f0 + f1x+ . . .+ fnxn ∈ C[x]; man setzt

‖f‖∞ = max0≤j≤n|fj|, ‖f‖1 =∑

0≤j≤n

|fj|; ‖f‖2 = (∑

0≤j≤n

|fj |2)1/2

Man hat stets

‖f‖22 =∑

i

|fi|2 ≤ (∑

i

|fi|)2 = ‖f‖21 ≤ (n+ 1)2‖f‖∞

Aus der Ungleichung von Hadamard (Abschnitt uber kurze Vektoren) folgtnun

Korollar 11.4 Sei f, g ∈ C[x], degf = n ≥ m = degg ≥ 1; 0 ≤ k ≤ m.Dann gilt:

|σk| = |detSk| ≤ ‖f‖m−k2 ‖g‖n−k

2 ≤ (n+ 1)n−k‖f‖∞‖g‖n−k∞

Mit diesem Korollar ergibt sich eine Abschatzung fur Zahler und Nenner derri, qi, si, ti des EEA(f, g). Zusammen mit der Abschatzung O(mn) fur dieAnzahl der arithmetischen Operationen erhalt man:

102

Page 104: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Satz 11.2 Es gelte f, g ∈ (Z + iZ)[x] degf = n ≤ degf = m, sowiemax(‖f‖∞, ‖g‖∞) = A, δ = max{ni−1 − ni|1 ≤ i ≤ l}. Dann sind diegekurzten Zahler und Nenner der ri, si, ti ∈ (Q + iQ)[x] absolut beschranktdurch

2B = 2(n+ 1)nAn+m

Die entsprechende Schranke fur die qi, ρi ist

C = (2B)δ+2

Der EEA(f, g) benotigt O(n3mδ2log2(nA)) Wortoperationen.

Wir zeigen nur die Aussagen uber die ri, si, ti und verweisen fur den Rest aufv.z.Gathen,Gerhard(1999) Aus dem vorangegangenen Korollar folgt

|σni| ≤ ‖f‖m−ni

2 ‖g‖n−ni

2 ≤ (n+ 1)n−niAn+m−2ni ≤ B

Nun sind aber nach Vorraussetzung f und g ganzzahlig, und ϕi(si, ti) = ri.Aus Cramers Regel folgt daher, dass σni

si, σniti, σni

ri ganzzzahlig sind und(nach Hadamards Ungleichung)

σnisi‖∞ ≤ ‖f‖m−ni−1

2 ‖g‖n−ni

2 ≤ (n+ 1)n−ni−1/2An+m = B

σniti‖∞ ≤ ‖f‖m−ni

2 ‖g‖n−ni−12 ≤ (n + 1)n−ni−1/2An+m−2ni−1 = B

‖σniri‖∞ = ‖σni

sif + ‖σnitig‖∞ ≤ (ni + 1)(‖σni

si‖∞‖f‖∞ + ‖σniti‖∞‖g‖∞)

‖σniri‖∞ ≤ (ni + 1)2(n+ 1)n−ni−1/2An+m−2ni ≤ 2B

Die Faktorschranke von Mignotte, die weiter unten hergeleitet wird, ist furrl = ggt(f, g) um eine Großenordnung besser, als die des obigen Satzes. Sieeignet sich daher fur einen modularen “ große Primzahl- Algorithmus”. Auseinem solchen kann man dann den ggt(f, g) ablesen, aber nicht die restlichenri, si, ti .(intermedate coefficient swell)

Theorem 11.2 (Haupsatz uber Subresultanten (Habicht)

1.

σk = (−1)τiρm−ni

0

1≤j≤i

ρnj−1−ni

j

falls k = ni fur ein i ≤ l und σk = 0 sonst. Dabei ist

τi =∑

1≤j<i

(nj−1 − ni)(nj − ni)

103

Page 105: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

2. Rerursionsformel fur Subresultanten:

σm = ρn−m1 ; σni+1

= (−1)(ni−ni+1)(n−ni+1i+1)(ρ0 . . . ρi+1)ni−ni+1σni

Im Fall n = k hat man

Korollar 11.5 Wenn deg ggt(f, g) ≥ 1, ist res(f, g) = 0; sonst ist

res(f, g) = (−1)τρn10

1≤j≤l

ρnj−1

j ; τ =∑

1≤j≤l

nj−1nj

Der Beweis ergibt sich mit dem folgenden lemma

Lemma 11.3 Seien f, g, r ∈ F [x] monisch mit degf = n ≤ m =degg, degr = d, ρr = f(rem)g mit ρ ∈ F \ {0}, 0 ≤ k ≤ d. Dann gilt

σk(f, g) = (−1)(n−k)(m−k)ρm−kσk(g, r)

Aus diesem Lemma folgt zunachst mit Induktion uber h

σk(r0, r1) = σk(rh, rh+1)∏

1≤j≤h

(−1)(nj−1−k)(nj−k)ρnj−kj+1

Hieraus folgt die erste Frmel des Haupsatzes mit

k = ni, h = i− 1, σni(ri−1, ri) = 1, σk(f, g) = ρm−k

0 ρn−k1 σk(r0, r1)

Beweis des Lemmas: die Gleichung f = qg+ρr lautet in Matrixschreibweise

fn...f0

=

gm...

. . .

gm...

...g0...

. . ....g0

qn−m...q0

=

0...0ρrd...ρrd

In dieser Gleichung ist der zweite Term auf der linken Seite eine Linearkom-bination (mit Koeffizienten aus ρr ) von g− Spalten aus S0. Fur die MatrixS0 bedeutet dies folgendes: zieht man von der ersten f - Spalte von S0 eineLinearkombination von g -Spalten ab, so erhalt man die erste ρr - Spalte.Das selbe gilt nun fur alle weiteren f - Spalten, da diese aus der ersten durch“ shiften” entstehen. Es gilt aber auch fur Sk, da Sk aus S0 durch Streichen

104

Page 106: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

entsteht. Wir konnen also in Sk die f - Spalten durch ρr - Spalten ersetzen,ohne dass sich die Determinante andert. Schließlich konnen wir noch die soerhaltenen ρr - Spalten mit den g - Spalten vertauschen, wobei sich die De-terminante um das Vorzeichen (−1)(m−k)(n−k) andert. Wir haben es jetzt mitder folgenden Matrix zu tun:

gm...

. . .

gm ρrd...

. . ....

. . .

gm ρrd...

......

. . .

ρrd...

......

...g2k−n+1 gk ρr2k−m+1 ρ0r0

Diese Matrix hat Kastchendform wobei das Kastchen D links oben untereDreiecksform hat mit Einsen in der Diagonale, da gm = 1, und das Kastchenrechts unten von der Form von der Form Sk(g, ρr) ist, woraus die Behauptungfolgt.Mit dem SEEA -und der folgenden Bemerkung erhalt man

Korollar 11.6 Alle Subresultantenσj(r0, r1), 0 ≤ j ≤ n1 und insbesonderedie Resultante res(r0, r1) konnen mit (24M(n0) +O(n0)logn0) f− Operatio-nen berechnet werden.

11.4 Mignotte- Schranke

Wir leiten jetzt Faktorschranken ab, die dazu verwendet werden, die Ko-effizienten des ggt(f, g) durch die von f, g abzuschatzen. Sei dazu f ∈C[x], degf = n. Nach dem Hauptsatz der Algebra gibt es dann Nullstellenz1, . . . , zn ∈ C, so dass

f = fn

1≤i≤n

(x− zi)

Da fn = lc(f) und die Nullstellen bis auf Numerierung eindeutig durch ffestgelegt sind, kann man

M(f) = |fn|∏

1≤i≤n

max(1, |zi|)

105

Page 107: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

defnieren. Diese Maßzahl hat die interessante Eigenschaft, dass

M(gh) = M(g)M(h)

Theorem 11.3 Es gelte h =∑

0≤i≤m ∈ C[x] mit Grad m, und h|f ∑

0≤i≤n .Dann gilt

‖h‖2 ≤ ‖h‖1 ≤ 2mM(h) ≤ |hm||fn|

2m‖f‖2

Beweis: Mit der Ungleichung von Landau M(f) ≤ ‖f‖2 hat man fur h =hm

i≤i≤m(x− ui) ∈ C[x]

|hi| = |hm(−1)m−i∑

]S=m−i

j∈S

uj| ≤ |hm|(

m

i

)

M(h) ≤ |hm||fn|

(

m

i

)

M(f)

Hieraus folgt die Behauptung wegen∑

0≤i≤m

(

mi

)

= 2m.

Satz 11.3 (Landaus Ungleichung)

M(f) ≤ ‖f‖2 (f ∈ C[x])

Beweis: seien z1, . . . zn die Nullstellen von f mit |z1|, . . . |Zk| > 1 ≥|zk+1|, . . . , |zn|. Dann ist also M(f) = |fn||z1| . . . |zk|. Sei g ∈ C[x] definiertdurch

g = fn

1≤i≤k

(zix− 1)∏

k<i≤n

(x− zi

Wir benutzen nun die allgemein gultige Formel( siehe Lemma weiter unten)

‖(zx− 1)h‖2 = ‖(x− z)h‖2; (h ∈ C[x]

Damit folgt ‖g‖2‖f‖2, und

M(f)2 = |fnz1 . . . zk|2 = |lc(g)|2|leq‖g‖22

Q.e.d.

Lemma 11.4

‖(x− z)f‖2 = ‖zx− 1)f‖2; (f ∈ C[x], z ∈ C)

106

Page 108: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Beweis: Sei f = f0 + f1x+ . . .+ fnxn. Dann gilt mit fn+1 = f−1 = 0 :

‖(x− z)f‖22 =∑

0≤i≤n

|fi−1 − zfi|2 =∑

i

(fi−1 − zfi)( ¯fi−1 − zifi)

= ‖f‖22(1− |z|2)−∑

i

zfi¯fi−1 + zfi−1fi

und fur ‖(zx− 1)f‖22 bekommt man das selbe heraus.

Korollar 11.7 (Mignotte-Schranke)Seien f, g, h ∈ Z + iZ[x],degf = n ≥ 1, degg = m, degh = k, und gh|f in (Z + iZ)[x]. Dann gilt

1.

‖g‖∞‖h‖∞ ≤ ‖g‖2‖h‖2 ≤ ‖g‖1‖h‖1 ≤ 2m+k‖f‖2 ≤ (n + 1)1/22m+k‖f‖∞

2.

‖h‖∞ ≤ ‖h‖2 ≤ 2k‖f‖2 ≤ 2k‖f‖1; ‖h‖∞ ≤ (n+ 1)1/22k‖f‖∞

Beweis: Nach Satz ist ‖g‖1‖h‖1 ≤ 2m+kM(g)M(h) = 2m+kM(gh) ≤2m+kM(f) ≤ 2m+k‖f‖2. Fur die zweite Aussage wahle man g = 1.

11.5 Ubergang zum Quotientenkorper

Sei R ein faktorieller Ring. Dann ist auch R[x] ein faktorieller Ring undman hat fur je zwei f, g ∈ R[x] einen normalisierten ggt(f, g) = ggtR(f, g).Es ist aber z.B. Z[x] nicht Euklidisch: das von 2, x erzeugte Ideal ist keinHauptideal. Also gibt es keinen Euklidischen Algorithmus in R[x] außer inSpezialfallen, z.B. wenn der fuhrende Koeffizient von g 1 ist. ( Man kann mit“ Pseudodivisionen mit Rest” Divisionen vermeiden: Abschnitt uber Integra-tion) Sei nun K der Quotientenkorpervon R :

K = {s/r|s, r ∈ R, r 6= 0}Dann ist K[x] euklidisch und man kann den ggt von f und g in K[x] mit demEEA berechnen. Das Resultat werde mit ggtK(f, g) bezeichnet. Es hat defi-nitionsgemaß 1 als hochsten Koeffizienten. Um das Verhaltnis von ggtR(f, g)und ggtK(f, g) zu bestimmen sei an das Gauss- Lemma (Abschnitt 1.) erin-nert: ist f = f0 + . . . fnx

n ∈ R[x], fn 6= 0, dann ist

cont(f) = ggt(f0, . . . , fn), f = cont(f)pp(f), lc(f) = fn

cont(f) heißt Inhalt von f und pp(f) primitiver Teil von f . Man hat

cont(fg) = cont(f)cont(g), pp(fg) = pp(f)pp(g)

107

Page 109: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Satz 11.4 Es gilt

ggt(fg) = ggt(cont(f), cont(g))ggt(pp(f)pp(g))

ggtR(f, g) = lc(ggtR(f, g))ggtK(f, g)

Beweis: der Beweis der ersten Gleichung sei dem Leser uberlassen. ZumBeweis der zweiten sei

g = ggtK(f, g) = h0/k0 + h1/k1x+ . . .+ hl/klxl, hl = kl = 1

Es gibt dann ein γ ∈ R mit γh ∈ R[x], cont(γh) = 1. Ferner gibt esf ∗, g∗ ∈ K[x] mit hf ∗ = f, hg∗ = g, sowie α, β ∈ R mit αf ∗, βg∗ ∈ R[x].Es gilt dann cont(αf ∗) = αγcont(f), cont(βg∗) = βγcont(g), und folg-lich γ−1f ∗, γ−1g∗ ∈ R[x], also γh|f, γh|g. Also gibt es ρ ∈ R[x] mitγρh = ggt(f, g). Andererseits gilt offenbar ggtR(f, g)|h in K[x], so dassdegh = degx(ggtR(f, g)). Koeffizientenvergleich ergibt nun

γρ = lc(ggtR(f, g))

Wenn die hi/ki gekurzt sind, d.h. ggt(hi, ki) = 1, dann ist γ =kgV (k0, . . . , kn) das kleinste gemeinsame Vielfache der ki) und ρ =contggt(f, g)).

Korollar 11.8 Bei gekurzten hi/ki ist

lc(ggtR(f, g)) = kgV (k0, . . . , kl)ggt(cont(f), cont(g))

11.6 Modulare Ggt- Berechnung

Sei R faktorieller Ring. Dann ist R[x] ebenfalls faktoriell und man kann, wieoben erlautert den ggt zweier Polynome aus R[x] mit dem EEA uber demQuotientenkorper k berechnen. Allerdings fuhrt dies zu großen Koeffizientender Zwischenresultate, wie Beispiele zeigen. Man ist daher veranlaßt, moduloeiner großen Primzahl p zu rechnen. Ist die Primzahl von geeigneter Große -bei R = Z kommt hier die Mignotte- Schranke ins Spiel, bei R = F [y] kommtes auf degy an - so kann man hoffen, den ggt(f, g) aus dem Ergebnis vonEEAR/<p>(f, g) ablesen zukonnen, bei Zwischenergebnissen, deren Großedurch die von p beschrankt wird. Dieses Vorgehen heißt “große Primzahl-Methode”, im Gegensatz zur “ kleinen- Primzahl- Methode”, bei welcherparallel modulo mehrer kleiner Primzahlen gerechnet wird, und das Ergebnis

108

Page 110: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

mit dem chinesischen Restsatz zusammengesetzt wird.Es bezeichne f die Restklasse von f , also f = f + pR[x]. Man hatte nungerne

ggtR/<p>(f, g) = ggtR(f, g)

Uberraschenderweise gilt nicht einmal stets

deg(ggtR/<p>(f, g)) = deg(ggtR(f, g))

Vielmehr hangt dies von p ab, wie durch das folgende Theorem prazisiert.

Theorem 11.4 Seien f, g ∈ R[x] \ {0}, p ∈ R prim, h = ggtR(f, g), α =lc(h), e = degh, e∗ = deg(ggtR/<p>(f), g). Wenn p nicht b = ggt(lc(f), lc(g))teilt, dann gilt

1. α|b,

2. e∗ ≥ e

3. e = e∗ ⇔ αggt(f, g) = h ⇔ p 6 |res(f/h, g/h) ∈ R.

Dieses Theorem legt das folgende algorithmische Vorgehen nahe

1. wahle zufallig p ∈ R prim, so dass p 6 |res(f/h, g/h)

2. berechne ggt(fg) mit dem EEA(f, g) in R/ < p > [x];

3. teste e = e∗

4. berechne h aus αggt(fg = h.

Wir werden im Anschluss an den Beweis des Theorems die Schritte 3., 4.diskutieren. Fur die Analyse von schritt 1. siehe 4.2.

Beweis: Es gibt f1, g1 ∈ R[x] mit hf1 = f, hg1 = g. Also giltlc(h) | lc(f), lc(h) | lc(g), und deshalb lc(h) | b, d.h. α | b. Außerdem folgt

hf1 = f, hg1 = g ⇒ h | ggt(fg) e = degh = degh ≤ e∗

Es gilt aber e = e∗ genau dann’

wenn γggt(fg) = h und weil ggt(f, g)normalisiert ist, ist in diesem Falle γ = α. Fur die zweite Aquivalenz beachteman

ggt(fg) = ggt(hf1, hg1) = ggt(f1g1)h/α

109

Page 111: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Wegen p 6 | b ist h 6= 0. Also gilt

αggt(fg) = h ⇔ ggt(f1g1) = 1 ⇔ res(f1g1) 6= 0

Nun gilt aber nach dem folgenden Lemma

res(f1, g1) 6= 0 ⇔ res(f1, g1) 6= 0 ⇔ p 6 |res(f/h, g/h)

q.e.d.

Lemma 11.5 Sei R ein kommutativer Ring mit 1, f, g,∈ R[x] \ {0}, r =res(f, g) ∈ R, I ein Ideal in R und h = h + I die Restklasse modulo I vonh ∈ R[x]. Es gelte lc(f) 6= 0. Dann gilt

res(f, g) = 0 ⇔ res(fg) = 0

Beweis: Wir betrachten den Fall degf ≥ 1, g 6= 0. Es sei

f =∑

0≤i≤n

fixi, g =

0≤i≤m

gixi

Sei m − i der großte Index j derart, dass gj 6= 0. Es gilt dann res(f, g) =

f inres(f, g). Dies ergibt sich aus der zugehorigen Sylvester - Matrix

fn gn...

. . ....

. . .

fn−i fn gm−i. . .

......

. . ....

. . . gm

f0... fn

.... . .

.... . .

...... g0 gm−i

f0...

. . ....

. . ....

. . ....

f0 g0

Es geht nun um die Korrektheit des modularen Ggt- Algorithmus fur R =F (y) weiter unten.

Lemma 11.6 Sei R = F [y] mit einem Korper F . Sei p ∈ R prim,f, g ∈ R[x] primitiv, degyf, degyg ≤ d, b = ggt(lc(f), lc(g)), d+1+degyb ≤degyp, und w, f1, g1 ∈ R[x] mit w = bggt(f, g), degyw < degyp; f1w =bf ; degyf1 < degyp, g1w = bg; degyg1 < degyp, h = ggtR(f, g), e =degxh, e

∗ = degxggt(f, g). Dann gilt

110

Page 112: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

1. e = e∗ ⇔ degyf1w = degybf und degyg1w = degybg

2. Wenn e = e∗, dann ist h = pp(w).

Beweis: Nach Theorem hat man im Fall e = e∗ : αggt(f, g) = h ⇒ w =bggt(fg) = (b/α)h. Nun ist aber degyw, degy((b/α)h) < degyp. Also istw = (b/α)h.Da f und g primitiv sind, ist es auch h. Also ist h = pp(h) = pp((b/α)h) =pp(w). Jetzt nehmen wir an, dass degyf1w = degybf, degyg1w = degybg.Dann sind die Grade < degyp und folglich ist f1w = bf, g1w = bg. ⇒w|bh, e∗ ≤ degw ≤ degw ≤ degh = e ⇒ e = e∗.Sei umgekehrt e = e∗. Setze w = (b/α)h. Es gibt dann f2, g2 ∈ R[x]mit f2h = f, g2h = g. Setze f1 = αf2, g1 = αg1. Dann gilt nachTheorem : w = bggt(fg), degyw < degyp; wf = bf ; degyf1 <degyp, wg1 = bg; degyg1 < degyp, und zudem f1w = bf ; g1w = bg,also : degyf1w = degybf ; degyg1w = degybg. q.e.d.

Der Leser wird bemerken, dass dies die Korrektheit des folgenden Algo-rithmus bedeutet:

Algorithmus 11.2 (Große -Primzahl-Ggt fur R = F [y])Input: primitive f.g ∈ R[x], R = F [y], F Korper degxf = n ≥ degxg = m ≥1; degyg ≥ dOutput: ggtR(f, g)

1. b← ggt(lcx(f), lcx(g))

2. wiederhole

3. wahle p zufallig prim aus R mit degyp > d+ 1 + degyb

4. berechne mit dem EEA(f, g) i R/ < p > [x] ein monisches v ∈ R[x]mit degyv < degyp und v = ggt(fg)

5. berechne w, f1, g1 ∈ R[x] mit degy < degyp; w = bv; f1w = bf ; g1w =bg

6. bis degy(f1w) = degy(bf); degy(g1w) = degybg;

7. Gib ppxw aus.

Satz 11.5 Der Algorithmus arbeitet korrekt und benotigt fur eine IterationO(n2d2)F− Operationen, und eine erwartete Anzahl von 2 Iterationen.

111

Page 113: Algorithmen der Computeralgebra - math.uni-frankfurt.deismi/sieveking/lecturenotes/Algorithmen.pdf · L.Blum et al. (1998) bauen eine theoretische Br¨ucke zwischen Numerik = scientific

Der folgende Algorithmus zeigt, wie die Mignotte- Schranke ins Spiel kommt,namlich in der Wahl von B. Wir schreiben wieder f fur die Restklasse f +pZ[x] von f ∈ Z[x].

Algorithmus 11.3 (Große-Primzahl-Ggt fur R = Z )Input: f, g ∈ Z[x], degf = n ≥ degg ≥ 1; ‖f‖∞, ‖g‖∞ ≤ A.output: h = ggt(f, g) ∈ Z[x].

1. b← ggt(lc(f), lc(g)), B ← (n+ 1)1/22nAb

2. wiederhole

3. wahle zufallig p ∈ N mit 2B < p ≤ 4B

4. berechne mit EEA(f, g) in Zp[x] ein monisches v ∈ Z[x] mit ‖v‖∞ <p/2 und v = ggt(f, g) ∈ Zp[x]

5. berechne w, f1, g1 ∈ Z[x] mit max-Norm < p/2 so dass w = bv; f1w =bf ; g1w = bg ;

6. bis ‖f1‖1, ‖w‖1 ≤ B, ‖g1‖1‖w‖1 ≤ B;

7. gib pp(w) aus.

Satz 11.6 Der Algorithmus arbeitet korrekt und benotigt fur eine IterationO(n2(n2 + log2A)) Wortoperationen, und eine erwatete Anzahl von 2 Itera-tionen.

112